Erik:
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/
Nice cleanup. Looks good to me.
Tim