Re: [PATCH v2] Get rid of `with_multisrctop`, and `MULTISRCTOP`

Brian Inglis <[email protected]>
Newsgroups gmane.comp.lib.newlib
Organization Systematic Software
Message-ID <[email protected]>
Check that nothing breaks Mike Frysinger's flattened make structure?

On 2025-08-21 14:26, Jeff Johnston wrote:
> According to your comment below, you don't have it working for multilib newlib.
> 
> Regarding a test - you can try and build aarch64-none-elf.  That will build a 
> default newlib and one in an ilp32 multilib directory.
> 
> -- Jeff J.
> 
> On Thu, Aug 21, 2025 at 2:29 PM John Ericson wrote:
>     Any further feedback on this? Should I just go ahead and remake the patch to
>     GCC likewise, too?
> 
>     John
> 
>     On Wed, Aug 13, 2025, at 4:07 PM, John Ericson wrote:
>>     See the new comment in `config-ml.in <http://config-ml.in>`, and the email
>>     chain starting with
>>     [1].
>>
>>     The short story is that I am trying to do a bunch of build system
>>     improvements to GCC to make it easier to build GCC's runtime libraries
>>     separately (see [1] for why). As part of this, I started looking at the
>>     current multilib implementation, with a hunch that things could be
>>     simpler, and with those simplifications, we could refine the idiomatic
>>     division of labor between the outer and inner build systems in a way
>>     that I think would be just better, and also would make the separate or
>>     "per component" builds I want to do more maintainable.
>>
>>     In that linked thread I found variable/mechanism that looked unused, and
>>     after some back and forth with Joseph Myers, we came to an agreement
>>     that since GNU Make was mandatory now, and thus VPATH support was
>>     assumed, there was no need to do these convoluted symlink tree things to
>>     unnaturally allow multilib to get away with `srcdir = objdir` building.
>>     (When indeed, `srcdir != objdir_for_machine1 != objdir_for_machine2` is
>>     multilib in a nutshell.)
>>
>>     The last (as of this patch) email in the chain is Joseph writing:
>>
>>     > I think it's reasonable to eliminate such a workaround, but I don't know
>>     > how the newlib community feels, should they wish to update the shared
>>     > toplevel build infrastructure with changes from GCC.
>>
>>     This email is thus me submitting the multilib version of this change
>>     first, to ask you all that question.
>>
>>     If our reasoning looks correct, and you see no reason to support these
>>     no-VPATH workarounds either, then we have our concensus! I think we can
>>     land this change in both repos (GCC, newlib-cygwin), in either order (no
>>     repo need wait on the other repo).
>>
>>     N.B. I am not exactly sure how to test this. I have tested that it
>>     doesn't break the a non-multilib build of newlib. But when I try to do a
>>     multilib build in this repo with the toplevel makefile, it doesn't want
>>     build anything.
>>
>>     config/ChangeLog:
>>
>>     * multi.m4: Simplify, no more srcdir = . special case needed.
>>
>>     ChangeLog:
>>
>>     * newlib/acinclude.m4: Simplify, no more srcdir = . special case needed.
>>     * symlink-tree: Removed. It is no longer needed by anything.
>>     * MAINTAINERS: Remove symlink-tree entry.
>>     * etc/update-copyright.py: Remove symlink-tree entry.
>>     * src-release: Remove symlink-tree entry.
>>     * config-ml.in <http://config-ml.in>: Simplify a bunch, and reword docs to
>>     explain
>>       status quo: It's simpler than past, but can't yet forget about past
>>       until tech debt is gone.
>>     * libgloss/configure: Regenerate.
>>     * newlib/configure: Regenerate.
>>
>>     [1]: https://sourceware.org/pipermail/gcc-patches/2025-August/691963.html
>>     <https://sourceware.org/pipermail/gcc-patches/2025-August/691963.html>
>>     [2]: https://blog.obsidian.systems/compiler-bootstrapping-in-nixpkgs/
>>     <https://blog.obsidian.systems/compiler-bootstrapping-in-nixpkgs/>
>>     [3]: https://sourceware.org/pipermail/gcc-patches/2025-August/692233.html
>>     <https://sourceware.org/pipermail/gcc-patches/2025-August/692233.html>
>>
>>     Signed-off-by: John Ericson 
>>     ---
>>     MAINTAINERS             |   4 --
>>     config-ml.in <http://config-ml.in>            | 110 +++++++++++
>>     +----------------------------
>>     config/multi.m4         |  13 +----
>>     etc/update-copyright.py |   1 -
>>     libgloss/Makefile.in    |   1 -
>>     libgloss/configure      |  13 +----
>>     multilib.am <http://multilib.am>             |   1 -
>>     newlib/Makefile.in      |   1 -
>>     newlib/acinclude.m4     |  12 +----
>>     newlib/configure        |  23 ++-------
>>     src-release             |   2 +-
>>     symlink-tree            |  78 ----------------------------
>>     12 files changed, 42 insertions(+), 217 deletions(-)
>>     delete mode 100755 symlink-tree
-- 
Take care. Thanks, Brian Inglis              Calgary, Alberta, Canada

La perfection est atteinte                   Perfection is achieved
non pas lorsqu'il n'y a plus rien à ajouter  not when there is no more to add
mais lorsqu'il n'y a plus rien à retrancher  but when there is no more to cut
                                 -- Antoine de Saint-Exupéry
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.