diff options
author | Xerxes Ranby <[email protected]> | 2016-05-27 08:49:02 +0200 |
---|---|---|
committer | Xerxes RĂ„nby <[email protected]> | 2016-12-11 00:01:07 +0100 |
commit | 00ea29eb954a29aaf2fd2adffd6677e580ab2850 (patch) | |
tree | b86a1a2248f7115e7decf6de43cc43c31c19186e /make/lib | |
parent | 0ba8e7f4173c04eef40ae95baca07a8c1cedfa40 (diff) |
Bug 1295: Add linux-aarch64 GNU/Linux AArch64 support
make/build.xml: New target declare.linux.aarch64
Update target declare.linux to depend on declare.linux.aarch64
make/gluegen-cpp-tasks-base.xml: Fix aarch64 jre/lib/arm -> jre/lib/aarch64
make/lib/gluegen-cpptasks-linux-aarch64.xml: Added
make/scripts/make.gluegen.all.linux-aarch64.sh: Added
Tested on DragonBoard 410c running Linaro Debian
Platform: LINUX / Linux 4.4.8-linaro-lt-qcom (4.4.8), aarch64 (ARM64, EABI_AARCH64), 4 cores, littleEndian true
MachineDataInfo: runtimeValidated true, 32Bit false, primitive size / alignment:
int8 1 / 1, int16 2 / 2
int 4 / 4, long 8 / 8
int32 4 / 4, int64 8 / 8
float 4 / 4, double 8 / 8, ldouble 16 / 16
pointer 8 / 8, page 4096
Platform: Java Version: 1.8.0_91 (1.8.0u91), VM: OpenJDK 64-Bit Server VM, Runtime: OpenJDK Runtime Environment
Platform: Java Vendor: Oracle Corporation, http://java.oracle.com/, JavaSE: true, Java6: true, AWT enabled: true
Signed-off-by: Xerxes Ranby <[email protected]>
Diffstat (limited to 'make/lib')
-rw-r--r-- | make/lib/gluegen-cpptasks-linux-aarch64.xml | 62 |
1 files changed, 62 insertions, 0 deletions
diff --git a/make/lib/gluegen-cpptasks-linux-aarch64.xml b/make/lib/gluegen-cpptasks-linux-aarch64.xml new file mode 100644 index 0000000..45a7fdb --- /dev/null +++ b/make/lib/gluegen-cpptasks-linux-aarch64.xml @@ -0,0 +1,62 @@ +<?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="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="-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.aarch64" name="gcc"> + <linkerarg value="-fpic" /> + <linkerarg value="-march=armv8-a" /> + <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> |