On 2015-04-15 11:24, Erik Joelsson wrote:
The macro SetupNativeCompilation handles various overrides of the compiler and linker used for compilation. There is also a LANG option, which implies that it needs to be told if it's compiling C or C++ when in reality, this is handled automatically. The real purpose of the LANG option is just to decide which executable to use for linking in certain conditions/platforms.

I would like to put some more structure around this by introducing a new macro, DefineNativeToolchain. There s a default and a couple of others, extending the default, for linking with the C++ compiler, building for the build platform etc. These definitions will help ensure that all the necessary executables and options are overridden for each of these usecases.

In general, I'm very happy with this. It's a nice encapsulation!

However, I do have a bunch of issues/questions:

* AR is missing from the documentation of DefineNativeToolchain.

* LDCXX is mentioned in the documentation of DefineNativeToolchain, but not used. It seems that it should not be used there, but it should be removed from the documentation.

* DefineNativeToolchain seems to do nothing if EXTENDS is not set. This is since all the "magic" is done by NamedParamsMacroTemplate. Maybe this should be explained in a comment.

* The comment "LANG C or C++" should be removed for SetupNativeCompilation.

* The call to $(CC) when processing RC files, should (perhaps?) be $1_CC now.

* $1_MT should be in VARDEPS. (Maybe not really a regression, but it would be nice to fix it now)

* I can't find that $1_CC is in VARDEPS either, should probably go in somewhere. In general, all the TOOLCHAIN variables should go in VARDEPS.

* BUILD_LIBJAWT seems to have lost a LANG := C++ but not gained a TOOLCHAIN := TOOLCHAIN_LINK_CXX. The same goes for LIBAWT_LANG, BUILD_LIBSUNMSCAPI, BUILD_LIBJSOUNDDS and the accessbridge stuff in Lib-jdk.accessibility.gmk.

Is there some reason that the change here does not change the resulting link behavior? Or is this an oversight?

/Magnus

Reply via email to