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

Reply via email to