diff options
author | Sven Gothel <[email protected]> | 2019-04-07 05:15:23 +0200 |
---|---|---|
committer | Sven Gothel <[email protected]> | 2019-04-07 05:15:23 +0200 |
commit | 12047cae51b5a594b38c9e162f135352452c46fd (patch) | |
tree | e14a8fdc091219f66d6fa1e914e1c07c228dae38 | |
parent | 302599570c04bae0d96e3b20981fab1ffcaf61ae (diff) |
Bug 1190: Updating crosstools and enabling aarch64 + armv6hf 'ontarget'
Default is to crosscompile w/o testing, i.e. property 'isCrosscompilation' is set to 'true'.
'ontarget' includes testing, no crosscompilation.
Updated crosstools links to new build of jogamp-scripting commit e6692024687685d3af725555d9bb5490d85ecc8d
26 files changed, 141 insertions, 24 deletions
diff --git a/make/lib/gluegen-cpptasks-linux-aarch64-ontarget.xml b/make/lib/gluegen-cpptasks-linux-aarch64-ontarget.xml new file mode 100644 index 0000000..8606fae --- /dev/null +++ b/make/lib/gluegen-cpptasks-linux-aarch64-ontarget.xml @@ -0,0 +1,59 @@ +<?xml version="1.0" encoding="UTF-8"?> + +<!-- + This is an example of how to add custom compiler/linker + arguments for a crosscompiler. + + You can use such files with setting the property 'gluegen-cpptasks.file', ie: + + -Dgluegen-cpptasks.file=`pwd`/lib/gluegen-cpptasks-linux-aarch64.xml + + In case you want to compile for 32bit on a 64bit machine, + you might also need to set the 'os.arch' to 'x86'. + Example: gluegen/make/make.gluegen.all.linux-x86.sh + --> + +<project name="GlueGen-cpptasks-linux-aarch64" basedir="." > + +<!-- Set OS and ARCH for crosscompilation compiler configuration --> +<target name="gluegen.cpptasks.detect.os.custom"> + <property name="gluegen.cpptasks.detected.os" value="true" /> + <property name="isUnix" value="true" /> + <property name="isLinux" value="true" /> + <property name="isLinuxARM64" value="true" /> + <property name="isX11" value="true" /> + <property name="jvmDataModel.arg" value="-Djnlp.no.jvm.data.model.set=true" /> + <property name="isAbiEabiGnuArmhf" value="true" /> + <echo message="gluegen.cpptasks.detect.os.custom: GLUEGEN_CPPTASKS_FILE 'gluegen-cpptasks-linux-aarch64' done"/> +</target> + +<import file="${gluegen.root.abs-path}/make/gluegen-cpptasks-base.xml" optional="false" /> + +<target name="gluegen.cpptasks.configure.compiler" depends="setup.java.home.dir"> + <echo message="Custom forced compiler Linux aarch64 hard float" /> + + <compiler id="compiler.cfg.linux.aarch64" name="gcc"> + <defineset> + <define name="__unix__"/> + <define name="__X11__" if="isX11"/> + <define name="_DEBUG" if="c.compiler.use-debug"/> + <define name="DEBUG" if="c.compiler.use-debug"/> + <define name="NDEBUG" unless="c.compiler.use-debug"/> + </defineset> + <compilerarg value="-fpic" /> + <compilerarg value="-include"/> + <compilerarg value="${gluegen.root.abs-path}/make/stub_includes/platform/glibc-compat-symbols.h" /> + </compiler> + + <linker id="linker.cfg.linux.aarch64" name="gcc"> + <linkerarg value="-fpic" /> + <linkerarg value="-march=armv8-a" /> + <linkerarg value="-nostdlib" /> + <linkerarg value="-Bdynamic" /> + <linkerarg value="-static-libgcc" if="isGCC"/> + <linkerarg value="-static-libstdc++" if="isGCC"/> + </linker> + +</target> + +</project> diff --git a/make/lib/gluegen-cpptasks-linux-aarch64.xml b/make/lib/gluegen-cpptasks-linux-aarch64.xml index 8606fae..5e3845a 100644 --- a/make/lib/gluegen-cpptasks-linux-aarch64.xml +++ b/make/lib/gluegen-cpptasks-linux-aarch64.xml @@ -23,6 +23,7 @@ <property name="isLinuxARM64" value="true" /> <property name="isX11" value="true" /> <property name="jvmDataModel.arg" value="-Djnlp.no.jvm.data.model.set=true" /> + <property name="isCrosscompilation" value="true" /> <property name="isAbiEabiGnuArmhf" value="true" /> <echo message="gluegen.cpptasks.detect.os.custom: GLUEGEN_CPPTASKS_FILE 'gluegen-cpptasks-linux-aarch64' done"/> </target> diff --git a/make/lib/gluegen-cpptasks-linux-armv6hf-ontarget.xml b/make/lib/gluegen-cpptasks-linux-armv6hf-ontarget.xml new file mode 100644 index 0000000..03b983c --- /dev/null +++ b/make/lib/gluegen-cpptasks-linux-armv6hf-ontarget.xml @@ -0,0 +1,64 @@ +<?xml version="1.0" encoding="UTF-8"?> + +<!-- + This is an example of how to add custom compiler/linker + arguments for a crosscompiler. + + You can use such files with setting the property 'gluegen-cpptasks.file', ie: + + -Dgluegen-cpptasks.file=`pwd`/lib/gluegen-cpptasks-linux-32bit.xml + + In case you want to compile for 32bit on a 64bit machine, + you might also need to set the 'os.arch' to 'x86'. + Example: gluegen/make/make.gluegen.all.linux-x86.sh + --> + +<project name="GlueGen-cpptasks-linux-armv6hf" basedir="." > + +<!-- Set OS and ARCH for crosscompilation compiler configuration --> +<target name="gluegen.cpptasks.detect.os.custom"> + <property name="gluegen.cpptasks.detected.os" value="true" /> + <property name="isUnix" value="true" /> + <property name="isLinux" value="true" /> + <property name="isLinuxARMv6" value="true" /> + <property name="isX11" value="true" /> + <property name="jvmDataModel.arg" value="-Djnlp.no.jvm.data.model.set=true" /> + <property name="isAbiEabiGnuArmhf" value="true" /> + <echo message="gluegen.cpptasks.detect.os.custom: GLUEGEN_CPPTASKS_FILE 'gluegen-cpptasks-linux-armv6hf' done"/> +</target> + +<import file="${gluegen.root.abs-path}/make/gluegen-cpptasks-base.xml" optional="false" /> + +<target name="gluegen.cpptasks.configure.compiler" depends="setup.java.home.dir"> + <echo message="Custom forced compiler Linux ARMv6t hard float" /> + + <compiler id="compiler.cfg.linux.armv6" name="gcc"> + <defineset> + <define name="__unix__"/> + <define name="__X11__" if="isX11"/> + <define name="_DEBUG" if="c.compiler.use-debug"/> + <define name="DEBUG" if="c.compiler.use-debug"/> + <define name="NDEBUG" unless="c.compiler.use-debug"/> + </defineset> + <compilerarg value="-fpic" /> + <compilerarg value="-march=armv6" /> + <compilerarg value="-marm" /> + <compilerarg value="-mfloat-abi=hard" /> + <compilerarg value="-include"/> + <compilerarg value="${gluegen.root.abs-path}/make/stub_includes/platform/glibc-compat-symbols.h" /> + </compiler> + + <linker id="linker.cfg.linux.armv6" name="gcc"> + <linkerarg value="-fpic" /> + <linkerarg value="-march=armv6" /> + <linkerarg value="-marm" /> + <linkerarg value="-mfloat-abi=hard" /> + <linkerarg value="-nostdlib" /> + <linkerarg value="-Bdynamic" /> + <linkerarg value="-static-libgcc" if="isGCC"/> + <linkerarg value="-static-libstdc++" if="isGCC"/> + </linker> + +</target> + +</project> diff --git a/make/lib/toolchain/aarch64-linux-gnueabi/bin/c++ b/make/lib/toolchain/aarch64-linux-gnueabi/bin/c++ index 15c86f4..c920aa1 120000 --- a/make/lib/toolchain/aarch64-linux-gnueabi/bin/c++ +++ b/make/lib/toolchain/aarch64-linux-gnueabi/bin/c++ @@ -1 +1 @@ -/usr/local/x-tools/aarch64-unknown-linux-gnueabi/bin/aarch64-unknown-linux-gnueabi-c++
\ No newline at end of file +/usr/local/x-tools/aarch64-unknown-linux-gnu/bin/aarch64-unknown-linux-gnu-c++
\ No newline at end of file diff --git a/make/lib/toolchain/aarch64-linux-gnueabi/bin/cc b/make/lib/toolchain/aarch64-linux-gnueabi/bin/cc index 925bc00..dbba1df 120000 --- a/make/lib/toolchain/aarch64-linux-gnueabi/bin/cc +++ b/make/lib/toolchain/aarch64-linux-gnueabi/bin/cc @@ -1 +1 @@ -/usr/local/x-tools/aarch64-unknown-linux-gnueabi/bin/aarch64-unknown-linux-gnueabi-cc
\ No newline at end of file +/usr/local/x-tools/aarch64-unknown-linux-gnu/bin/aarch64-unknown-linux-gnu-cc
\ No newline at end of file diff --git a/make/lib/toolchain/aarch64-linux-gnueabi/bin/g++ b/make/lib/toolchain/aarch64-linux-gnueabi/bin/g++ index eabecfb..adeda86 120000 --- a/make/lib/toolchain/aarch64-linux-gnueabi/bin/g++ +++ b/make/lib/toolchain/aarch64-linux-gnueabi/bin/g++ @@ -1 +1 @@ -/usr/local/x-tools/aarch64-unknown-linux-gnueabi/bin/aarch64-unknown-linux-gnueabi-g++
\ No newline at end of file +/usr/local/x-tools/aarch64-unknown-linux-gnu/bin/aarch64-unknown-linux-gnu-g++
\ No newline at end of file diff --git a/make/lib/toolchain/aarch64-linux-gnueabi/bin/gcc b/make/lib/toolchain/aarch64-linux-gnueabi/bin/gcc index 9b6db98..655df00 120000 --- a/make/lib/toolchain/aarch64-linux-gnueabi/bin/gcc +++ b/make/lib/toolchain/aarch64-linux-gnueabi/bin/gcc @@ -1 +1 @@ -/usr/local/x-tools/aarch64-unknown-linux-gnueabi/bin/aarch64-unknown-linux-gnueabi-gcc
\ No newline at end of file +/usr/local/x-tools/aarch64-unknown-linux-gnu/bin/aarch64-unknown-linux-gnu-gcc
\ No newline at end of file diff --git a/make/lib/toolchain/aarch64-linux-gnueabi/bin/ld b/make/lib/toolchain/aarch64-linux-gnueabi/bin/ld index 38af46a..6ed6514 120000 --- a/make/lib/toolchain/aarch64-linux-gnueabi/bin/ld +++ b/make/lib/toolchain/aarch64-linux-gnueabi/bin/ld @@ -1 +1 @@ -/usr/local/x-tools/aarch64-unknown-linux-gnueabi/bin/aarch64-unknown-linux-gnueabi-ld
\ No newline at end of file +/usr/local/x-tools/aarch64-unknown-linux-gnu/bin/aarch64-unknown-linux-gnu-ld
\ No newline at end of file diff --git a/make/lib/toolchain/aarch64-linux-gnueabi/bin/objdump b/make/lib/toolchain/aarch64-linux-gnueabi/bin/objdump index 3fafc10..26f2062 120000 --- a/make/lib/toolchain/aarch64-linux-gnueabi/bin/objdump +++ b/make/lib/toolchain/aarch64-linux-gnueabi/bin/objdump @@ -1 +1 @@ -/usr/local/x-tools/aarch64-unknown-linux-gnueabi/bin/aarch64-unknown-linux-gnueabi-objdump
\ No newline at end of file +/usr/local/x-tools/aarch64-unknown-linux-gnu/bin/aarch64-unknown-linux-gnu-objdump
\ No newline at end of file diff --git a/make/lib/toolchain/aarch64-linux-gnueabi/bin/strip b/make/lib/toolchain/aarch64-linux-gnueabi/bin/strip index de7e179..2ecfa61 120000 --- a/make/lib/toolchain/aarch64-linux-gnueabi/bin/strip +++ b/make/lib/toolchain/aarch64-linux-gnueabi/bin/strip @@ -1 +1 @@ -/usr/local/x-tools/aarch64-unknown-linux-gnueabi/bin/aarch64-unknown-linux-gnueabi-strip
\ No newline at end of file +/usr/local/x-tools/aarch64-unknown-linux-gnu/bin/aarch64-unknown-linux-gnu-strip
\ No newline at end of file diff --git a/make/lib/toolchain/armhf-linux-gnueabi/bin/c++ b/make/lib/toolchain/armhf-linux-gnueabi/bin/c++ index b625efa..1c36608 120000 --- a/make/lib/toolchain/armhf-linux-gnueabi/bin/c++ +++ b/make/lib/toolchain/armhf-linux-gnueabi/bin/c++ @@ -1 +1 @@ -/usr/local/x-tools/armhf-unknown-linux-gnueabi/bin/armhf-unknown-linux-gnueabi-c++
\ No newline at end of file +/usr/local/x-tools/armv7-unknown-linux-gnueabihf/bin/armv7-unknown-linux-gnueabihf-c++
\ No newline at end of file diff --git a/make/lib/toolchain/armhf-linux-gnueabi/bin/cc b/make/lib/toolchain/armhf-linux-gnueabi/bin/cc index 6b785db..5bd6938 120000 --- a/make/lib/toolchain/armhf-linux-gnueabi/bin/cc +++ b/make/lib/toolchain/armhf-linux-gnueabi/bin/cc @@ -1 +1 @@ -/usr/local/x-tools/armhf-unknown-linux-gnueabi/bin/armhf-unknown-linux-gnueabi-cc
\ No newline at end of file +/usr/local/x-tools/armv7-unknown-linux-gnueabihf/bin/armv7-unknown-linux-gnueabihf-cc
\ No newline at end of file diff --git a/make/lib/toolchain/armhf-linux-gnueabi/bin/g++ b/make/lib/toolchain/armhf-linux-gnueabi/bin/g++ index 29bf2d3..08ee1e8 120000 --- a/make/lib/toolchain/armhf-linux-gnueabi/bin/g++ +++ b/make/lib/toolchain/armhf-linux-gnueabi/bin/g++ @@ -1 +1 @@ -/usr/local/x-tools/armhf-unknown-linux-gnueabi/bin/armhf-unknown-linux-gnueabi-g++
\ No newline at end of file +/usr/local/x-tools/armv7-unknown-linux-gnueabihf/bin/armv7-unknown-linux-gnueabihf-g++
\ No newline at end of file diff --git a/make/lib/toolchain/armhf-linux-gnueabi/bin/gcc b/make/lib/toolchain/armhf-linux-gnueabi/bin/gcc index ad74056..1bc2286 120000 --- a/make/lib/toolchain/armhf-linux-gnueabi/bin/gcc +++ b/make/lib/toolchain/armhf-linux-gnueabi/bin/gcc @@ -1 +1 @@ -/usr/local/x-tools/armhf-unknown-linux-gnueabi/bin/armhf-unknown-linux-gnueabi-gcc
\ No newline at end of file +/usr/local/x-tools/armv7-unknown-linux-gnueabihf/bin/armv7-unknown-linux-gnueabihf-gcc
\ No newline at end of file diff --git a/make/lib/toolchain/armhf-linux-gnueabi/bin/ld b/make/lib/toolchain/armhf-linux-gnueabi/bin/ld index 6d1bd13..61f84f3 120000 --- a/make/lib/toolchain/armhf-linux-gnueabi/bin/ld +++ b/make/lib/toolchain/armhf-linux-gnueabi/bin/ld @@ -1 +1 @@ -/usr/local/x-tools/armhf-unknown-linux-gnueabi/bin/armhf-unknown-linux-gnueabi-ld
\ No newline at end of file +/usr/local/x-tools/armv7-unknown-linux-gnueabihf/bin/armv7-unknown-linux-gnueabihf-ld
\ No newline at end of file diff --git a/make/lib/toolchain/armhf-linux-gnueabi/bin/objdump b/make/lib/toolchain/armhf-linux-gnueabi/bin/objdump index 9502840..dd058e0 120000 --- a/make/lib/toolchain/armhf-linux-gnueabi/bin/objdump +++ b/make/lib/toolchain/armhf-linux-gnueabi/bin/objdump @@ -1 +1 @@ -/usr/local/x-tools/armhf-unknown-linux-gnueabi/bin/armhf-unknown-linux-gnueabi-objdump
\ No newline at end of file +/usr/local/x-tools/armv7-unknown-linux-gnueabihf/bin/armv7-unknown-linux-gnueabihf-objdump
\ No newline at end of file diff --git a/make/lib/toolchain/armhf-linux-gnueabi/bin/strip b/make/lib/toolchain/armhf-linux-gnueabi/bin/strip index a4ce508..e366f85 120000 --- a/make/lib/toolchain/armhf-linux-gnueabi/bin/strip +++ b/make/lib/toolchain/armhf-linux-gnueabi/bin/strip @@ -1 +1 @@ -/usr/local/x-tools/armhf-unknown-linux-gnueabi/bin/armhf-unknown-linux-gnueabi-strip
\ No newline at end of file +/usr/local/x-tools/armv7-unknown-linux-gnueabihf/bin/armv7-unknown-linux-gnueabihf-strip
\ No newline at end of file diff --git a/make/lib/toolchain/armsf-linux-gnueabi/bin/c++ b/make/lib/toolchain/armsf-linux-gnueabi/bin/c++ deleted file mode 120000 index b13ecea..0000000 --- a/make/lib/toolchain/armsf-linux-gnueabi/bin/c++ +++ /dev/null @@ -1 +0,0 @@ -/usr/local/x-tools/armsf-unknown-linux-gnueabi/bin/armsf-unknown-linux-gnueabi-c++
\ No newline at end of file diff --git a/make/lib/toolchain/armsf-linux-gnueabi/bin/cc b/make/lib/toolchain/armsf-linux-gnueabi/bin/cc deleted file mode 120000 index 9701ec5..0000000 --- a/make/lib/toolchain/armsf-linux-gnueabi/bin/cc +++ /dev/null @@ -1 +0,0 @@ -/usr/local/x-tools/armsf-unknown-linux-gnueabi/bin/armsf-unknown-linux-gnueabi-cc
\ No newline at end of file diff --git a/make/lib/toolchain/armsf-linux-gnueabi/bin/g++ b/make/lib/toolchain/armsf-linux-gnueabi/bin/g++ deleted file mode 120000 index 5869038..0000000 --- a/make/lib/toolchain/armsf-linux-gnueabi/bin/g++ +++ /dev/null @@ -1 +0,0 @@ -/usr/local/x-tools/armsf-unknown-linux-gnueabi/bin/armsf-unknown-linux-gnueabi-g++
\ No newline at end of file diff --git a/make/lib/toolchain/armsf-linux-gnueabi/bin/gcc b/make/lib/toolchain/armsf-linux-gnueabi/bin/gcc deleted file mode 120000 index 171bfb6..0000000 --- a/make/lib/toolchain/armsf-linux-gnueabi/bin/gcc +++ /dev/null @@ -1 +0,0 @@ -/usr/local/x-tools/armsf-unknown-linux-gnueabi/bin/armsf-unknown-linux-gnueabi-gcc
\ No newline at end of file diff --git a/make/lib/toolchain/armsf-linux-gnueabi/bin/ld b/make/lib/toolchain/armsf-linux-gnueabi/bin/ld deleted file mode 120000 index f10f5b8..0000000 --- a/make/lib/toolchain/armsf-linux-gnueabi/bin/ld +++ /dev/null @@ -1 +0,0 @@ -/usr/local/x-tools/armsf-unknown-linux-gnueabi/bin/armsf-unknown-linux-gnueabi-ld
\ No newline at end of file diff --git a/make/lib/toolchain/armsf-linux-gnueabi/bin/objdump b/make/lib/toolchain/armsf-linux-gnueabi/bin/objdump deleted file mode 120000 index 8e28b95..0000000 --- a/make/lib/toolchain/armsf-linux-gnueabi/bin/objdump +++ /dev/null @@ -1 +0,0 @@ -/usr/local/x-tools/armsf-unknown-linux-gnueabi/bin/armsf-unknown-linux-gnueabi-objdump
\ No newline at end of file diff --git a/make/lib/toolchain/armsf-linux-gnueabi/bin/strip b/make/lib/toolchain/armsf-linux-gnueabi/bin/strip deleted file mode 120000 index 1e5fe91..0000000 --- a/make/lib/toolchain/armsf-linux-gnueabi/bin/strip +++ /dev/null @@ -1 +0,0 @@ -/usr/local/x-tools/armsf-unknown-linux-gnueabi/bin/armsf-unknown-linux-gnueabi-strip
\ No newline at end of file diff --git a/make/scripts/make.gluegen.all.linux-aarch64.sh b/make/scripts/make.gluegen.all.linux-aarch64.sh index 53d2851..42c9ad3 100755 --- a/make/scripts/make.gluegen.all.linux-aarch64.sh +++ b/make/scripts/make.gluegen.all.linux-aarch64.sh @@ -11,7 +11,7 @@ export TARGET_PLATFORM_LIBS=/usr/lib/aarch64-linux-gnu export TARGET_JAVA_LIBS=/usr/lib/jvm/java-8-openjdk-aarch64/jre/lib/aarch64 -export GLUEGEN_CPPTASKS_FILE="lib/gluegen-cpptasks-linux-aarch64.xml" +export GLUEGEN_CPPTASKS_FILE="lib/gluegen-cpptasks-linux-aarch64-ontarget.xml" #export JOGAMP_JAR_CODEBASE="Codebase: *.jogamp.org" export JOGAMP_JAR_CODEBASE="Codebase: *.goethel.localnet" diff --git a/make/scripts/make.gluegen.all.linux-armv6hf.sh b/make/scripts/make.gluegen.all.linux-armv6hf.sh index abf8ce1..e66f0e0 100755 --- a/make/scripts/make.gluegen.all.linux-armv6hf.sh +++ b/make/scripts/make.gluegen.all.linux-armv6hf.sh @@ -9,9 +9,9 @@ # arm-linux-gnueabihf == armhf triplet export TARGET_PLATFORM_LIBS=/usr/lib/arm-linux-gnueabihf -export TARGET_JAVA_LIBS=/usr/lib/jvm/java-6-openjdk-armhf/jre/lib/arm +export TARGET_JAVA_LIBS=/usr/lib/jvm/java-8-openjdk-armhf/jre/lib/arm -export GLUEGEN_CPPTASKS_FILE="lib/gluegen-cpptasks-linux-armv6hf.xml" +export GLUEGEN_CPPTASKS_FILE="lib/gluegen-cpptasks-linux-armv6hf-ontarget.xml" #export JOGAMP_JAR_CODEBASE="Codebase: *.jogamp.org" export JOGAMP_JAR_CODEBASE="Codebase: *.goethel.localnet" |