| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
native windows dll-names)
Add support for Windows dynamic library target, i.e. NAME.dll instead of libNAME.dll.
This is now required when linking a GLUENAME1.dll to TOOLNAME1.dll,
where GLUENAME1.dll is loaded via System.loadLibrary() and TOOLNAME1.dll required to be found.
Might be a change in the current ming64 toolchain.
Before this change, the library name 'libTOOLNAME1.so' was written into `libGLUENAME1.so`
and hence could not be found (manually renamed to a dll name).
Now we can also drop the manual rename of libNAME1.so -> NAME1.dll, finally :)
|
|
|
|
| |
Otherwise the build won't produce dummy junit test results for jenkins etc.
|
|
|
|
| |
added for correctness)
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
STL headers (default since NDK r18)
Using LLVM's c++_shared as of NDK r18: https://developer.android.com/ndk/guides/cpp-support.html
LLVM's c++ headers must come before other system header!
Also see https://github.com/android/ndk/issues/452 and https://gitlab.kitware.com/cmake/cmake/issues/17059
Also adapt make/lib/gluegen-cpptask-android* files:
- Compiler
-- align for potential C++ usage, i.e.:
-- don't use '-sysroot' not '-isysroot'
-- IF using C++ STL, prepend ANDROID_TOOLCHAIN_SYSROOT1_INC_STL
-- just add normal sysroot headers via '-isystem'
- Linker
-- Use ANDROID_TOOLCHAIN_SYSROOT1_LIB1 and ANDROID_TOOLCHAIN_SYSROOT1_LIB2 for '-L' search path
-- where ANDROID_TOOLCHAIN_SYSROOT1_LIB2 is for 'libc++' -> 'c++_shared'
|
|
|
|
|
|
|
|
|
| |
specific includes like asm/types.h
Also adapt make/lib/gluegen-cpptask-android* files:
- Set C++ stdlib = libstdc++
- Set isysroot (same as sysroot)
- Add isystem: *_SYSROOT1_INC, *_SYSROOT1_INC_ARCH and *_SYSROOT1_INC/c++/v1
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
headers (compile)
Utilizing '-sysroot' with the linker, we require standard FS layout.
'~/Android/Sdk/ndk/20.1.5948944/platforms/android-24/arch-arm64'
contains the proper std FS layout for libraries under usr/lib,
but lacks the header files.
We call this 'ANDROID_TOOLCHAIN_SYSROOT0' and shall be used for linking.
'~/Android/Sdk/ndk/20.1.5948944/toolchains/llvm/prebuilt/linux-x86_64/sysroot'
native libraries are not under std FS layout,
but headers are under std FS layout for compilation under usr/include.
We call this 'ANDROID_TOOLCHAIN_SYSROOT1' and shall be used for compilation.
Identified while working on openal-soft Android compilation,
where we need to pass ANDROID_TOOLCHAIN_SYSROOT0
|
|
|
|
|
|
|
|
| |
scales better for all platforms.
http://jogamp.org/git/?p=ant-cpptasks.git
commit 8353e0cc85705ca8f81f8563ad975026978b6745
|
|
|
|
|
|
|
| |
http://jogamp.org/git/?p=ant-cpptasks.git
commit e1933c74b9c256332cd12c9a1094e4687b535112
Bug 1417 Android clang support: Introduce clangLinkerOption '-target <abi>'
|
|
|
|
|
|
|
|
|
| |
make/lib/gluegen-cpptask-android-<abi>.xml and scripts
All aligned now
- gluegen-cpptasks-android-aarch64.xml
- gluegen-cpptasks-android-armv6.xml (this has ld flag --no-undefined disabled, due to internal missing symbols)
- gluegen-cpptasks-android-x86.xml
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2019-12-10 (GlueGen w/ android-aarch64 patched)
Default Platform: Android 7.0 Nougat, API level 24 supports Java 1.8
Reworked gluegen/make/scripts/setenv-android-tools.sh,
following canonical environment variables and sets all
required variables for cross-compilation.
See file's comments!
ant files:
- android.version -> android.api.level (default 24)
- android.jar defaults to ${gluegen.root}/make/lib/android-sdk/24/android.jar (provided)
|
|
|
|
| |
make/lib/gluegen-cpptasks-*
|
|\ |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Current requirements are:
- Java 1.8 (Level 8.0)
- Android SDK API level 24 (Version 7.0 Nougat, released August 2016)
Official production builds are performed w/ Java 1.8.
- Java 1.8 (Level 8.0)
- Android SDK API level 24 (Version 7.0 Nougat, released August 2016)
Android 7 API level 24 supports Java 1.8,
see https://developer.android.com/studio/write/java8-support
Java 8 is chosen today, June 2019, since OpenJDK 1.8 is well supported
on desktop, mobile support is given w/ OpenJDK 9 and
Android also support these language features for almost 3 years.
++++
Current patch does require one to set the target.sourcelevel,
target.targetlevel and target.rt.jar properties or their equivalent
capital case environment variables.
Only allowed value is currently 1.8.
|
| |
| |
| |
| | |
and comment-out verbose OSX compiler/link flags, as well as removing one dead linker cfg target.
|
|/
|
|
|
|
| |
Added CC Task Option: 'usehighleveltool' to give user option to
prefer the high-level tool like gcc or clang for static linkage
where usually 'ar' is being used.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
TARGET_PLATFORM_USRLIBS for crosscompilation
Android Crosscompilation Usage:
- TARGET_PLATFORM_ROOT -> TARGET_PLATFORM_SYSROOT
General
- TARGET_PLATFORM_SYSROOT Crosscompiler and system specified 'sysroot' (as in gcc --print-sysroot)
- TARGET_PLATFORM_USRROOT Additional optional user headers and libraries for target
- TARGET_PLATFORM_USRLIBS Actual location of target user libraries within TARGET_PLATFORM_USRROOT
- TARGET_JAVA_LIBS Actual location of the Java libraries within TARGET_PLATFORM_USRROOT
|
| |
|
|
|
|
|
|
| |
- arm6hf needs the fpu to be specified, we still use the lowest armv6 hard float denominator
- aarch64 shall have the -march compiler argument as well
- glibc-compat-symbols.h Finally drop the glibc versioning on memcpy for both
|
|
|
|
|
|
|
| |
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
|
|\
| |
| | |
adding support for android x86 targets - revised
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
make/lib/gluegen-cpptasks-linux-aarch64.xml:
Add missing -DisLinux=true required when crosscompiling
Remove -marm -mfloat-abi=hard flags unrecognisable by aarch64 crosscompile toolchain
make/lib/toolchain/aarch64-linux-gnueabi/bin/*:
Symlink to /usr/local/x-tools/aarch64-unknown-linux-gnueabi/bin/aarch64-unknown-linux-gnueabi-*
make/scripts/make.gluegen.all.linux-aarch64-cross.sh:
New crosscompile script
make/stub_includes/platform/glibc-compat-symbols.h:
glibc 2.17 is the first glibc version that support aarch64
however memcpy is not versioned for aarch64
Disable versioning for linux glibc/aarch64
Signed-off-by: Xerxes Rånby <[email protected]>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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]>
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
+ Fix JLS Binary Compat: Moving methods and fields upwards for classes _and_ interfaces is OK
+
+ - We shall also travers all interfaces upwards
+ - All methods and fields found upwards must be tested for compatibility as well!
+
+ Further:
+ - Add class-name to Field- and MethodInfo via new intermediate AbstractMemberInfo.
+ The class-name is used to have allow differs to find a class move upwards!
+
+ - Pretty printing of class move binary-compatible change
|
| |
| |
| |
| |
| | |
Linking libstdc++ dynamically might cause issues on platforms
where a huge variation of named library exists - or none even is installed.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
java.includes.dir.platform)
Patch custom make/lib/gluegen-cpptasks-<OS>-<ARCH>.xml
to match using GlueGen's JNI header.
Remove 'ignored override' defs of 'java.includes.dir.platform'
in build.xml.
|
| |
| |
| |
| |
| |
| | |
properties are tested whether they are set, rarely by value
isAndroidARMv6
|
| | |
|
| |
| |
| |
| | |
CompatibilityType.BACKWARD_COMPATIBLE_BINARY
|
| | |
|
|/
|
|
| |
-> v23x
|
| |
|
|
|
|
| |
Android compilerflags
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- Add AArch64 detection via
- Elf Parser
- Android properties
- Java properties
- Android: Validate CPUType.Family _and_ ABIType
- MachineDescription
- Remove redundant Type ID and its field
- Reuse X86_64_UNIX for AArch64 (static config)
New ARCH 'aarch64' for
ant: <os arch>
armv8a
aarch64
New CPUType.ARM64 (ARM):
java: os.arch
aarch64
arm64
New CPUType.ARMv8_A (ARM):
java: os.arch
armv8-a
arm64-v8a
New ABIType:
EABI_AARCH64
|
| |
|
|
|
|
|
|
|
| |
9cdb6bbf6d3248a65aa78ced08211d609c356f91
commit 9cdb6bbf6d3248a65aa78ced08211d609c356f91 fixes the tests of the Class, Field and Method accessor bit
for compatibility.
|
| |
|
| |
|
|
|
|
| |
make/stub_includes/platform/glibc-compat-symbols.h" ensuring using low versioned GLIBC symbols
|
| |
|
|
|
|
| |
xcode.clang property files
|
|
|
|
| |
Dumper.dumpFullStats(..)
|
| |
|
|
|
|
| |
(0.9.25-SNAPSHOT)
|
|
|
|
| |
branch): Using direct regexp for excludes
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
TestVersionSemantics adds testing of semantic versioning
of 2.1.5 gluegen-rt.jar against the current version within a unit test.
Currently we expect BACKWARD_COMPATIBLE_USER
and need to toggle this to NON_BACKWARD_COMPATIBLE,
if actually perfoming non compatible major or minor version changes.
The latter is allowed right now, since we increment from 2.1 -> 2.2!
- Added https://github.com/jeluard/semantic-versioning semver.jar (Apache License Version 2.0)
|
| |
|