This is the mail archive of the gcc@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]

Deciphering flags in CXX_FOR_TARGET


In the process of unravelling the build process for gcc and src (so that
I can make a nice autoconfiscation), I've hit another confusing point.

CXX_FOR_TARGET is set to a rather complicated piece of shell code.
Some of this conditionalizes on which directory is being configured,
which is fine.

One bit, however, is quite odd.  It adds certain flags to
CXX_FOR_TARGET.  These flags are generated by
`libstdc++-v3/testsuite_flags --build-includes`.  This is only done if
'testsuite_flags' exists, which is only true if libstdc++-v3 has been
configured.

Due to the dependency structure of the Makefile, these are only
guaranteed to be used by the build of target-gperf, a program
which doesn't reside in gcc or src.  With others, it depends on make's
choice of order, which is extremely undesirable.

I presume that 'check' targets might depend on these flags, because
'check' is assumed to be run entirely after 'make all' (although the
dependencies are not explicit).  

'install' targets might, but it seems very wrong for an 'install' target
to depend on compiler flags; similarly I doubt this is an issue for dvi,
info, clean.

This little issue is the cause of an unbelievable amount of messiness.

Can someone explain to me what these flags from 'testsuite_flags' are,
in fact, for?  

(I'm guessing they're only used for 'check', and in fact
only for 'check' in certain subdirectories.  If that's the case, I can
make a much cleaner implementation for my autoconfiscation.  I'd also
want to know which subdirectories of course, though I can probably
manage without that information.)

Thanks in advance.

--Nathanael


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