aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSven Gothel <[email protected]>2012-04-19 19:31:11 +0200
committerSven Gothel <[email protected]>2012-04-19 19:31:11 +0200
commit5efbe805c553a2ac21a79386c3e2147858d4308b (patch)
treed109b5b3ccc32d327baa6993928c9a04f19252a7
parentf04a677dbf7c222342b77bb29f52ecb57f8ecc83 (diff)
Relaxed Unix linker flags for Linux + Solaris ; Refined Linux Armv4 flags
Relaxed Unix linker flags for Linux + Solaris + <linkerarg value="-nostdlib" /> + <linkerarg value="-Bdynamic" /> Refined Linux Armv4 flags: - <compilerarg value="-msoft-float" /> + <compilerarg value="-marm" /> + <compilerarg value="-mfloat-abi=soft" /> Xerxes figured out these are required on pre-NEON and ARMv4 soft float boards, the latter is true for Rasperry PI at least.
-rwxr-xr-xmake/gluegen-cpptasks-base.xml58
-rw-r--r--make/lib/gluegen-cpptasks-linux-32bit.xml2
-rw-r--r--make/lib/gluegen-cpptasks-linux-armv4.xml7
3 files changed, 52 insertions, 15 deletions
diff --git a/make/gluegen-cpptasks-base.xml b/make/gluegen-cpptasks-base.xml
index 533f818..3185430 100755
--- a/make/gluegen-cpptasks-base.xml
+++ b/make/gluegen-cpptasks-base.xml
@@ -1096,45 +1096,69 @@
<!-- Unix linker configuration -->
<linker id="linker.cfg.linux" name="gcc">
+ <linkerarg value="-nostdlib" />
+ <linkerarg value="-Bdynamic" />
</linker>
<linker id="linker.cfg.linux.x86" name="gcc">
- <linkerarg value="-m32"/>
+ <linkerarg value="-m32"/>
+ <linkerarg value="-nostdlib" />
+ <linkerarg value="-Bdynamic" />
</linker>
<linker id="linker.cfg.linux.amd64" name="gcc">
- <linkerarg value="-m64"/>
+ <linkerarg value="-m64"/>
+ <linkerarg value="-nostdlib" />
+ <linkerarg value="-Bdynamic" />
</linker>
<linker id="linker.cfg.linux.armv7" name="gcc">
+ <linkerarg value="-nostdlib" />
+ <linkerarg value="-Bdynamic" />
</linker>
<linker id="linker.cfg.linux.alpha" name="gcc">
+ <linkerarg value="-nostdlib" />
+ <linkerarg value="-Bdynamic" />
</linker>
<linker id="linker.cfg.linux.hppa" name="gcc">
+ <linkerarg value="-nostdlib" />
+ <linkerarg value="-Bdynamic" />
</linker>
<linker id="linker.cfg.linux.mips" name="gcc">
+ <linkerarg value="-nostdlib" />
+ <linkerarg value="-Bdynamic" />
</linker>
<linker id="linker.cfg.linux.mipsel" name="gcc">
+ <linkerarg value="-nostdlib" />
+ <linkerarg value="-Bdynamic" />
</linker>
<linker id="linker.cfg.linux.ppc" name="gcc">
+ <linkerarg value="-nostdlib" />
+ <linkerarg value="-Bdynamic" />
</linker>
<linker id="linker.cfg.linux.s390" name="gcc">
+ <linkerarg value="-nostdlib" />
+ <linkerarg value="-Bdynamic" />
</linker>
<linker id="linker.cfg.linux.s390x" name="gcc">
+ <linkerarg value="-nostdlib" />
+ <linkerarg value="-Bdynamic" />
</linker>
<linker id="linker.cfg.linux.sparc" name="gcc">
+ <linkerarg value="-nostdlib" />
+ <linkerarg value="-Bdynamic" />
</linker>
<compiler id="linker.cfg.android" name="gcc">
- <!-- shall be defined in custom ${gluegen-cpptasks.file} ! -->
+ <!-- shall be defined in custom ${gluegen-cpptasks.file} ! -->
</compiler>
<linker id="linker.cfg.hpux" name="aCC">
@@ -1152,15 +1176,21 @@
<linker id="linker.cfg.solaris" name="gcc">
<linkerarg value="-m32"/>
+ <linkerarg value="-nostdlib" />
+ <linkerarg value="-Bdynamic" />
</linker>
<linker id="linker.cfg.solaris.sparcv9" name="gcc">
<linkerarg value="-xarch=v9a" />
+ <linkerarg value="-nostdlib" />
+ <linkerarg value="-Bdynamic" />
</linker>
<linker id="linker.cfg.solaris.amd64" name="gcc">
<linkerarg value="-m64"/>
<!-- linkerarg value="-xarch=amd64" / -->
+ <linkerarg value="-nostdlib" />
+ <linkerarg value="-Bdynamic" />
</linker>
<!-- MacOSX linker configuration -->
@@ -1181,27 +1211,27 @@
<!--linker id="linker.cfg.linux64.mingw64" classname="net.sf.antcontrib.cpptasks.gcc.Gcc64Linker"-->
<linker id="linker.cfg.linux64.mingw64" classname="net.sf.antcontrib.cpptasks.gcc.GccLinker">
- <linkerarg value="-m64"/>
+ <linkerarg value="-m64"/>
</linker>
<!--linker id="linker.cfg.linux64.mingw32" classname="net.sf.antcontrib.cpptasks.gcc.Gcc32Linker"-->
<linker id="linker.cfg.linux64.mingw32" classname="net.sf.antcontrib.cpptasks.gcc.GccLinker">
- <linkerarg value="-m32"/>
- <linkerarg value="-Wl,--kill-at" /> <!-- remove @ from function names, ie no __stdcall @nn -->
+ <linkerarg value="-m32"/>
+ <linkerarg value="-Wl,--kill-at" /> <!-- remove @ from function names, ie no __stdcall @nn -->
</linker>
<linker id="linker.cfg.win32.mingw" name="gcc" incremental="false">
- <linkerarg value="-m32"/>
- <linkerarg value="-Wl,--enable-auto-import"/> <!-- for linking against dll directly -->
- <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="-m32"/>
+ <linkerarg value="-Wl,--enable-auto-import"/> <!-- for linking against dll directly -->
+ <linkerarg value="-Wl,--enable-stdcall-fixup"/> <!-- for linking against dll directly -->
+ <linkerarg value="-Wl,--kill-at" /> <!-- remove @ from function names, ie no __stdcall @nn -->
</linker>
<linker id="linker.cfg.win64.mingw" name="gcc" incremental="false">
- <linkerarg value="-m64"/>
- <linkerarg value="-Wl,--enable-auto-import"/> <!-- for linking against dll directly -->
- <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="-m64"/>
+ <linkerarg value="-Wl,--enable-auto-import"/> <!-- for linking against dll directly -->
+ <linkerarg value="-Wl,--enable-stdcall-fixup"/> <!-- for linking against dll directly -->
+ <linkerarg value="-Wl,--kill-at" /> <!-- remove @ from function names, ie no __stdcall @nn -->
</linker>
<linker id="linker.cfg.win32.msvc" name="msvc" incremental="false">
diff --git a/make/lib/gluegen-cpptasks-linux-32bit.xml b/make/lib/gluegen-cpptasks-linux-32bit.xml
index c05033d..6a70818 100644
--- a/make/lib/gluegen-cpptasks-linux-32bit.xml
+++ b/make/lib/gluegen-cpptasks-linux-32bit.xml
@@ -29,6 +29,8 @@
<linker id="linker.cfg.linux" name="gcc">
<linkerarg value="-m32" />
+ <linkerarg value="-nostdlib" />
+ <linkerarg value="-Bdynamic" />
</linker>
</target>
diff --git a/make/lib/gluegen-cpptasks-linux-armv4.xml b/make/lib/gluegen-cpptasks-linux-armv4.xml
index 1e5f162..8911a6a 100644
--- a/make/lib/gluegen-cpptasks-linux-armv4.xml
+++ b/make/lib/gluegen-cpptasks-linux-armv4.xml
@@ -43,12 +43,17 @@
</defineset>
<compilerarg value="-fpic" />
<compilerarg value="-march=armv4t" />
- <compilerarg value="-msoft-float" />
+ <compilerarg value="-marm" />
+ <compilerarg value="-mfloat-abi=soft" />
</compiler>
<linker id="linker.cfg.linux.armv7" name="gcc">
<linkerarg value="-fpic" />
<linkerarg value="-march=armv4t" />
+ <linkerarg value="-marm" />
+ <linkerarg value="-mfloat-abi=soft" />
+ <linkerarg value="-nostdlib" />
+ <linkerarg value="-Bdynamic" />
</linker>
</target>