diff options
author | Sven Gothel <[email protected]> | 2015-07-19 01:21:42 +0200 |
---|---|---|
committer | Sven Gothel <[email protected]> | 2015-07-19 01:21:42 +0200 |
commit | ad064d8dd94f44093fe196edd4a2dfb6c3a0a8fa (patch) | |
tree | b4a08a17343e3df8e789157798ac7bbb03daebcc /make | |
parent | 708a163e333e9e7786c1828d028c8ca10b584f47 (diff) |
GCC Linker Config: Add '-static-libstdc++' in case libstdc++ is being linked
Linking libstdc++ dynamically might cause issues on platforms
where a huge variation of named library exists - or none even is installed.
Diffstat (limited to 'make')
-rwxr-xr-x | make/gluegen-cpptasks-base.xml | 13 | ||||
-rw-r--r-- | make/lib/gluegen-cpptasks-android-aarch64.xml | 3 | ||||
-rw-r--r-- | make/lib/gluegen-cpptasks-android-armv6.xml | 3 | ||||
-rw-r--r-- | make/lib/gluegen-cpptasks-linux-armv6.xml | 3 | ||||
-rw-r--r-- | make/lib/gluegen-cpptasks-linux-armv6hf.xml | 3 |
5 files changed, 21 insertions, 4 deletions
diff --git a/make/gluegen-cpptasks-base.xml b/make/gluegen-cpptasks-base.xml index 03c0e38..1106241 100755 --- a/make/gluegen-cpptasks-base.xml +++ b/make/gluegen-cpptasks-base.xml @@ -1218,16 +1218,19 @@ <linker id="linker.cfg.linux" name="${gcc.compat.compiler}"> <linkerarg value="-static-libgcc" if="isGCC"/> + <linkerarg value="-static-libstdc++" if="isGCC"/> </linker> <linker id="linker.cfg.linux.x86" name="${gcc.compat.compiler}"> <linkerarg value="-m32"/> <linkerarg value="-static-libgcc" if="isGCC"/> + <linkerarg value="-static-libstdc++" if="isGCC"/> </linker> <linker id="linker.cfg.linux.amd64" name="${gcc.compat.compiler}"> <linkerarg value="-m64"/> <linkerarg value="-static-libgcc" if="isGCC"/> + <linkerarg value="-static-libstdc++" if="isGCC"/> </linker> <!-- Using default compiler settings - utilize: @@ -1239,6 +1242,7 @@ <linkerarg value="-nostdlib" /> <linkerarg value="-Bdynamic" /> <linkerarg value="-static-libgcc" if="isGCC"/> + <linkerarg value="-static-libstdc++" if="isGCC"/> </linker> <linker id="linker.cfg.linux.aarch64" name="${gcc.compat.compiler}"> @@ -1246,6 +1250,7 @@ <linkerarg value="-nostdlib" /> <linkerarg value="-Bdynamic" /> <linkerarg value="-static-libgcc" if="isGCC"/> + <linkerarg value="-static-libstdc++" if="isGCC"/> </linker> <linker id="linker.cfg.linux.alpha" name="${gcc.compat.compiler}"> @@ -1292,16 +1297,19 @@ <linker id="linker.cfg.solaris" name="${gcc.compat.compiler}"> <linkerarg value="-m32"/> <linkerarg value="-static-libgcc" if="isGCC"/> + <linkerarg value="-static-libstdc++" if="isGCC"/> </linker> <linker id="linker.cfg.solaris.sparcv9" name="${gcc.compat.compiler}"> <linkerarg value="-xarch=v9a" /> <linkerarg value="-static-libgcc" if="isGCC"/> + <linkerarg value="-static-libstdc++" if="isGCC"/> </linker> <linker id="linker.cfg.solaris.amd64" name="${gcc.compat.compiler}"> <linkerarg value="-m64"/> <linkerarg value="-static-libgcc" if="isGCC"/> + <linkerarg value="-static-libstdc++" if="isGCC"/> <!-- linkerarg value="-xarch=amd64" / --> </linker> @@ -1317,6 +1325,7 @@ <linkerarg value="x86_64" if="use.macosx64"/> <linkerarg value="-mmacosx-version-min=10.5"/> <linkerarg value="-static-libgcc" if="isGCC"/> + <linkerarg value="-static-libstdc++" if="isGCC"/> <!-- Note: Apple doesn't seem to provide ppc64 binaries on Leopard --> </linker> @@ -1326,6 +1335,7 @@ <linker id="linker.cfg.linux64.mingw64" classname="net.sf.antcontrib.cpptasks.gcc.GccLinker"> <linkerarg value="-m64"/> <linkerarg value="-static-libgcc" if="isGCC"/> + <linkerarg value="-static-libstdc++" if="isGCC"/> </linker> <!--linker id="linker.cfg.linux64.mingw32" classname="net.sf.antcontrib.cpptasks.gcc.Gcc32Linker"--> @@ -1333,6 +1343,7 @@ <linkerarg value="-m32"/> <linkerarg value="-Wl,--kill-at" /> <!-- remove @ from function names, ie no __stdcall @nn --> <linkerarg value="-static-libgcc" if="isGCC"/> + <linkerarg value="-static-libstdc++" if="isGCC"/> </linker> <linker id="linker.cfg.win32.mingw" name="${gcc.compat.compiler}" incremental="false"> @@ -1341,6 +1352,7 @@ <linkerarg value="-Wl,--enable-stdcall-fixup"/> <!-- for linking against dll directly --> <linkerarg value="-Wl,--kill-at" /> <!-- remove @ from function names, ie no __stdcall @nn --> <linkerarg value="-static-libgcc" if="isGCC"/> + <linkerarg value="-static-libstdc++" if="isGCC"/> </linker> <linker id="linker.cfg.win64.mingw" name="${gcc.compat.compiler}" incremental="false"> @@ -1349,6 +1361,7 @@ <linkerarg value="-Wl,--enable-stdcall-fixup"/> <!-- for linking against dll directly --> <linkerarg value="-Wl,--kill-at" /> <!-- remove @ from function names, ie no __stdcall @nn --> <linkerarg value="-static-libgcc" if="isGCC"/> + <linkerarg value="-static-libstdc++" if="isGCC"/> </linker> <linker id="linker.cfg.win32.msvc" name="msvc" incremental="false"> diff --git a/make/lib/gluegen-cpptasks-android-aarch64.xml b/make/lib/gluegen-cpptasks-android-aarch64.xml index de1e1da..c6956f4 100644 --- a/make/lib/gluegen-cpptasks-android-aarch64.xml +++ b/make/lib/gluegen-cpptasks-android-aarch64.xml @@ -108,7 +108,8 @@ <linkerarg value="--demangle" /> <linkerarg value="--gc-sections" /> <linkerarg value="--no-undefined" /> - <linkerarg value="-static-libgcc"/> + <linkerarg value="-static-libgcc" if="isGCC"/> + <linkerarg value="-static-libstdc++" if="isGCC"/> <!-- The gcc from $NDK_TOOLCHAIN_ROOT/$TARGET_TRIPLE/bin needs to be told where to find libgcc as the default location (gcc -print-search-dirs) is not correct. Not sure if this is a bug in the NDK or not. We also diff --git a/make/lib/gluegen-cpptasks-android-armv6.xml b/make/lib/gluegen-cpptasks-android-armv6.xml index 46b79eb..57999b2 100644 --- a/make/lib/gluegen-cpptasks-android-armv6.xml +++ b/make/lib/gluegen-cpptasks-android-armv6.xml @@ -110,7 +110,8 @@ <linkerarg value="--demangle" /> <linkerarg value="--gc-sections" /> <linkerarg value="--no-undefined" /> - <linkerarg value="-static-libgcc"/> + <linkerarg value="-static-libgcc" if="isGCC"/> + <linkerarg value="-static-libstdc++" if="isGCC"/> <!-- The gcc from $NDK_TOOLCHAIN_ROOT/$TARGET_TRIPLE/bin needs to be told where to find libgcc as the default location (gcc -print-search-dirs) is not correct. Not sure if this is a bug in the NDK or not. We also diff --git a/make/lib/gluegen-cpptasks-linux-armv6.xml b/make/lib/gluegen-cpptasks-linux-armv6.xml index 33f5891..5b65b42 100644 --- a/make/lib/gluegen-cpptasks-linux-armv6.xml +++ b/make/lib/gluegen-cpptasks-linux-armv6.xml @@ -56,7 +56,8 @@ <linkerarg value="-mfloat-abi=softfp" /> <linkerarg value="-nostdlib" /> <linkerarg value="-Bdynamic" /> - <linkerarg value="-static-libgcc"/> + <linkerarg value="-static-libgcc" if="isGCC"/> + <linkerarg value="-static-libstdc++" if="isGCC"/> </linker> </target> diff --git a/make/lib/gluegen-cpptasks-linux-armv6hf.xml b/make/lib/gluegen-cpptasks-linux-armv6hf.xml index 3e0a95a..df5a91c 100644 --- a/make/lib/gluegen-cpptasks-linux-armv6hf.xml +++ b/make/lib/gluegen-cpptasks-linux-armv6hf.xml @@ -56,7 +56,8 @@ <linkerarg value="-mfloat-abi=hard" /> <linkerarg value="-nostdlib" /> <linkerarg value="-Bdynamic" /> - <linkerarg value="-static-libgcc"/> + <linkerarg value="-static-libgcc" if="isGCC"/> + <linkerarg value="-static-libstdc++" if="isGCC"/> </linker> </target> |