This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: -mmacosx-version-min and libgcc



On 29/09/2005, at 10:49 PM, Ian Lance Taylor wrote:


Geoffrey Keating <geoffk@apple.com> writes:


For this particular case you just have to define STRIP_FOR_TARGET in
the gcc Makefile. It doesn't have to have precisely the same value as
it does at top-level; it just has to work well enough for developers,
not for users.



The problem with this is that there's no equivalent of TARGET_FLAGS_TO_PASS. Exporting to sub-makes is done via environment variables, so if you explicitly set anything in the makefile that is the setting that wins in a sub-make (for instance, in a stage of a bootstrap).


I'm not sure I understand. AR_FOR_TARGET, for example, is in BASE_FLAGS_TO_PASS in the top level Makefile. So it will be explicitly passed to the gcc Makefile, and will override any setting in the gcc Makefile.

If your concern is that there is no TARGET_FLAGS_TO_PASS in the gcc
Makefile, I don't see how that matters.  Either it will get the
setting from the top level, as passed explicitly or via MAKEFLAGS, or
it will be using the same setting anyhow since it is using the same
Makefile.

There is a potential problem is gcc calls another Makefile recursively
and that other Makefile needs to use AR_FOR_TARGET, but as far as I
know that never happens.

Can you give a clearer example of what won't work?

For instance


make bootstrap
rm gcc/libgcc.a
make quickstrap AR_FOR_TARGET=/ar/that/doesnt/exist

should fail when it tries to build libgcc.a, but it doesn't. The top- level make correctly passes down the overridden AR_FOR_TARGET, but quickstrap does '$(MAKE) $(REMAKEFLAGS) $$LAST' and $(REMAKEFLAGS) is just

REMAKEFLAGS=LANGUAGES="$(LANGUAGES)" BOOT_CFLAGS="$(BOOT_CFLAGS)"

and doesn't pass down AR_FOR_TARGET.

The settings are not passed via MAKEFLAGS. They might be passed by MAKEOVERRIDES, except that the GCC makefile says

# And this tells it not to automatically pass command-line variables
# to recursive makes.
MAKEOVERRIDES =


Attachment: smime.p7s
Description: S/MIME cryptographic signature


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]