On Mon, 1 Feb 2021 18:35:54 GMT, Alexey Semenyuk <asemen...@openjdk.org> wrote:
>>> "common" was perfectly enough until this change. Unfortunately we cant just >>> drop new C sources in "common" dir because we don't want them to be >>> compiled with g++. That is why need new common directory >>> (applauncherlibcommon) for C sources. >> >> We pick compiler based on file suffix, not directory, so it shouldn't matter >> where you put a .c file, it should always be compiled with gcc and .cpp >> files with g++. Which compiler is used to launch the linker can however >> differ. That's configured for each SetupNativeCompilation call with the >> different TOOLCHAIN settings. > > Erik, thank you for explanation. > > The launcher on Linux should not be linked with c++ runtime, that is why > TOOLCHAIN_DEFAULT is used as a value for TOOLCHAIN property in > BUILD_JPACKAGE_APPLAUNCHEREXE target on Linux. > > Will SetupNativeCompilation work if `TOOLCHAIN=TOOLCHAIN_DEFAULT` and there > are .cpp sources are in directories passed in `SRC` property of > SetupNativeCompilation? Will it try to compile these sources? If it will > ignore them and pick only .c files, that would be perfect. Reworked the fix to avoid creation of extra source directories and file renames. ------------- PR: https://git.openjdk.java.net/jdk/pull/2320