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.

Bug: https://bugs.openjdk.java.net/browse/JDK-8077824

Webrevs:

The implementation is in NativeCompilation.gmk. I took the liberty of cleaning out some unused compiler/linker variables.
Top: http://cr.openjdk.java.net/~erikj/8077824/webrev.root.01/

The jdk changes are mostly just removing "LANG:=" and replacing it when necessary with "TOOLCHAIN:=TOOLCHAIN_LINK_CXX". Note that this is not needed for Windows only configurations.
Jdk: http://cr.openjdk.java.net/~erikj/8077824/webrev.jdk.01/

/Erik

Reply via email to