summaryrefslogtreecommitdiffstats
path: root/make/gluegen-cpptasks-base.xml
Commit message (Collapse)AuthorAgeFilesLines
* Bug 1122: Add AArch64 support (Android, GNU/Linux and in general)Sven Gothel2015-01-301-3/+66
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - 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
* gluegen-cpptasks's compiler.cfg.linux.*: always "-include ↵Sven Gothel2014-07-301-0/+8
| | | | make/stub_includes/platform/glibc-compat-symbols.h" ensuring using low versioned GLIBC symbols
* Bug 1024: Add fallback for native-jar-file location via classpathSven Gothel2014-07-111-1/+63
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In situations, where the native-jar file is not located within the same parent URI as it's java-jar file, our location mechanism fails. This patch adds a classloader based native-jar file location mechanism as a fallback, requiring the native jar file to be included in the users CLASSPATH. Classloader based location algorithm in JNILibLoaderBase.addNativeJarLibsImpl(..): - Extract the 'module-name' from the given classFromJavaJar's package name, i.e. the last package-part: 'jogamp.common.Debug' -> 'common' Hence it is important to pass a 'classFromJavaJar', which last package segment reflects the module-name! - <os.and.arch> -> <os_and_arch_dot>, e.g. linux-amd64 -> linux.amd64 (linux/amd64) - Locate class 'jogamp.nativetag.<module-name>.<os_and_arch_dot>.TAG', e.g. 'jogamp.nativetag.common.linux.amd64.TAG' - Use located class's JarFile URI .. continue as usual Injection of above mentioned TAG class via gluegen-cpptasks-base.xml macro 'native.tag.jar': - Creates dummy TAG.java code - Compiles TAG.java - Creates the native-jar file Example: <native.tag.jar objdir="${build}/obj" nativejarfile="${build}/gluegen-rt-natives-${os.and.arch}.jar" manifestfile="${build}/Manifest-rt-natives.temp" module="common" includelibs="*gluegen-rt.${native.library.suffix}" /> Note that the manifest file uses a matching Extension-Name: Extension-Name: jogamp.nativetag.common
* Use 'gluegen-clang.properties' for generic clang and ↵Sven Gothel2013-11-171-2/+2
| | | | | | | | 'gluegen-xcode_clang.properties' for OSX xcode-clang ; Add GNU/Linux LLVM/clang build scripts Use 'gluegen-clang.properties' for generic clang and 'gluegen-xcode_clang.properties' for OSX xcode-clang. Add GNU/Linux LLVM/clang build scripts
* Bug 871 - Add optional xcode.clang support for all modules: Fix 'isCLANG' ↵Sven Gothel2013-10-251-1/+5
| | | | detection ; echo 'gcc.compat.compiler'
* Fix Bug 871 - Add optional xcode.clang support for all modules (Extends Bug ↵Sven Gothel2013-10-241-0/+1
| | | | | | | | | | 837 w/ xcode's xcrun) Bump make/lib/cpptasks.jar to a65cc99054a5a6684784bf9a9e8c13fe866b81ad make/lib/gluegen-clang.properties: Defaults to xcode.clang make/jogamp-env.xml: Show env. SDKROOT
* Bug 800 - Add Windows 8 Touch Event Support / Enable Win 7 definitions via ↵Sven Gothel2013-10-131-4/+4
| | | | WINVER/_WIN32_NT 0x0601
* Add clang support: 'gluegen.properties' adds 'gcc.compat.compiler' = ['gcc', ↵Sven Gothel2013-09-131-45/+55
| | | | 'clang']; Use 'gcc.compat.compiler' for all gcc based compiler/linker definitions.
* Fix Bug 650: Use toolchain default arch & float options for default arm ↵Sven Gothel2013-04-231-6/+8
| | | | | | | | cc/ld target in make/gluegen-cpptasks-base.xml Specialized arch & float arm options are defined in - lib/gluegen-cpptasks-linux-armv6.xml (armv5te + softfp), or - lib/gluegen-cpptasks-linux-armv6hf.xml (armv6 + hardfp)
* make/gluegen-cpptasks-base.xml: Expose evaluated 'isI386' and 'isAMD64' ↵Sven Gothel2013-04-201-26/+24
| | | | property, allowing to trigger x86_64 -> x86_32 crosscompilation.
* OSX/Java7 darwin/jawt_md.h Workaround ; Disable OSX/i386 if compiled w/ ↵Sven Gothel2013-02-171-4/+20
| | | | | | | | | | | | | | Java7 [1.7 - 2.0]; Valid Java range [1.6 - 2.0]. - OSX/Java7 darwin/jawt_md.h Workaround Include JOGL's JNI MacOSX platform headers, since Oracle's Java7 darwin/jawt_md.h has X11 dependencies and does not define JAWT_SurfaceLayers. - Disable OSX/i386 if compiled w/ Java7 [1.7 - 2.0] Set macosx32 depending on 'ant.java.version' - Valid Java range [1.6 - 2.0] Foresee new Java versions 1.9 and 2.0 :)
* OSX Java6/Java7: Adapt to used JDK (Apple's Java6 or Oracle's Java7)Sven Gothel2013-02-171-16/+31
| | | | | | | | | | | | - Pick-up OSX Java7 locations if setup via ${java.home} and files available - host.rt.jar, target.rt.jar - java.home.dir - java.includes.dir - java.includes.dir.platform - java.lib.dir.platform - Remove 'very old' Java4/5 OSX locations - Remove java.osx.frameworks.dir, since JavaNativeFoundation.h dependencies are removed
* Adding gcc linker cfg: '-static-libgcc' for all def. build platforms:Sven Gothel2012-10-131-0/+12
| | | | | | | | | | | | | | | | | | | | | | | | | - linker.cfg.linux - linker.cfg.linux.x86 - linker.cfg.linux.amd64 - linker.cfg.linux.armv6 - linker.cfg.solaris - linker.cfg.solaris.spacv9 - linker.cfg.solaris.amd64 - linker.cfg.macosx - linker.cfg.linux64.mingw64 - linker.cfg.linux64.mingw32 - linker.cfg.win32.mingw32 - linker.cfg.win32.mingw64 - android.armv6 - android.armv7 - linux.armv6 - linux.armv6hf These flags shall now go through autobuild and results will be validated, i.e.: - working - memory footprint
* Change/Lower ARM Requierements for GNU/Linux & Android-GNU/Linux ARM: ↵Sven Gothel2012-08-161-44/+56
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ARMv7hf -> ARMv6hf, ARMv7-soft -> ARMv5te/ARMV6 (soft) platform build config files: lib/gluegen-cpptasks-linux-armv7.xml -> lib/gluegen-cpptasks-linux-armv6.xml lib/gluegen-cpptasks-linux-armv7hf.xml -> lib/gluegen-cpptasks-linux-armv6hf.xml properties: isLinuxARMv7 -> isLinuxARMv6 isLinuxARMv7Armel -> isLinuxARMv6Armel isLinuxARMv7Armhf -> isLinuxARMv6Armhf isAndroidARMv7 -> isAndroidARMv6 isAndroidARMv7Armel -> isAndroidARMv6Armel isAndroidARMv7Armhf -> isAndroidARMv6Armhf targets: compiler.cfg.linux.armv7 -> compiler.cfg.linux.armv6 linker.cfg.linux.armv7 -> linker.cfg.linux.armv6 compiler.cfg.linux.armv6: <compilerarg value="-fpic" /> <compilerarg value="-march=armv5te" /> <compilerarg value="-marm" /> <compilerarg value="-mfloat-abi=softfp" /> <linkerarg value="-fpic" /> <linkerarg value="-march=armv5te" /> <linkerarg value="-marm" /> <linkerarg value="-mfloat-abi=softfp" /> <linkerarg value="-nostdlib" /> <linkerarg value="-Bdynamic" /> compiler.cfg.linux.armv6hf: <compilerarg value="-fpic" /> <compilerarg value="-march=armv6" /> <compilerarg value="-marm" /> <compilerarg value="-mfloat-abi=hard" /> <linkerarg value="-fpic" /> <linkerarg value="-march=armv6" /> <linkerarg value="-marm" /> <linkerarg value="-mfloat-abi=hard" /> <linkerarg value="-nostdlib" /> <linkerarg value="-Bdynamic" /> gluegen-cpptasks-android-armv6.xml: <compilerarg value="-fpic" /> <compilerarg value="-march=armv6" /> <compilerarg value="-mfloat-abi=softfp" /> <compilerarg value="-marm" /> <linkerarg value="-march=armv6" /> <linkerarg value="-mfloat-abi=softfp" /> <linkerarg value="-marm" /> <linkerarg value="-nostdlib" /> <linkerarg value="-Bdynamic" />
* Partially revert commit 5efbe805c553a2ac21a79386c3e2147858d4308b - Linux / ↵v2.0-rc6Sven Gothel2012-04-191-30/+0
| | | | Solaris x86* requires stdlib.
* Relaxed Unix linker flags for Linux + Solaris ; Refined Linux Armv4 flagsSven Gothel2012-04-191-14/+44
| | | | | | | | | | | | | | 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.
* Fix EABI Armel/Armhf selection incl. os.and.archSven Gothel2012-03-281-25/+53
|
* Add support for armhf/gnueabihf resulting in new 'os.and.arch' := [ ↵Sven Gothel2012-03-281-2/+30
| | | | | | | | | | | | | | | | 'android-armv7hf' and 'linux-armv7hf' ] - Platform gets new ABIType [ GENERIC, ARMEL, ARMHF ] - Platform impl. needs to guess ABIType in case of ARM, since no Java system property ('os.arch' ..) reflects the new EABI. I consider this a bug, since this will also hinder JNLP to work. The latter also uses 'os.arch' sys property to determine the nativelib resource! (See Platform.guessABITypeImpl(..) for details how we guess the type.) - Adding symbolic links to ubuntu's gnueabihf cross tool chain - Adding armhf crossbuild script
* build: Move c.compiler.debug, c.compiler.use-debug and c.compiler.optimise ↵Sven Gothel2012-03-071-0/+7
| | | | | | | from build.xml -> gluegen-cpptasks-base.xml - unifies definition - echo values
* Exposing custom gluegen-cpptask.file for crosscompilation presets, adding ↵Sven Gothel2012-02-241-1/+12
| | | | | | gluegen-cpptasks-linux-armv7.xml Env: GLUEGEN_CPPTASKS_FILE -> property: gluegen-cpptasks.file
* Fix [linux] armv7 cross build (regression of commit ↵Sven Gothel2012-02-191-1/+10
| | | | 196c325aa3dddb0d775e8fb80e26333208fe6c7e) - generalize env. TARGET_JAVA_LIBS
* Fix Bug 545: Provide more information about the systemSylvestre Ledru2012-01-091-1/+4
|
* Fix Bug 488: Enable others architectures under GNU/LinuxSylvestre Ledru2012-01-091-3/+224
|
* cpptasks MacOSX 10.5 support (bug 528): Use '-mmacosx-version-min=10.5' flag ↵Sven Gothel2011-11-261-0/+2
| | | | | | | | for compiler/linker. As Wade Walker suggests, use '-mmacosx-version-min=10.5' compiler/linker flag, which doesn't break 10.6 nor 10.7 builds, still need confirmation whether it works on 10.5!
* gluegen/OSX: Add property java.osx.frameworks.dirSven Gothel2011-11-051-0/+5
|
* Generalize jvm-data-model-arg 'jvmDataModel.arg', set do -d64, -d32 or ↵Sven Gothel2011-10-181-16/+39
| | | | dummy-value properly
* Fix Solaris gcc args ; Adding JVM arch flags (-d32/-d64)Sven Gothel2011-10-181-5/+25
|
* Add define '__X11__', is isX11 ; Android attach system include folders via ↵Sven Gothel2011-08-041-0/+19
| | | | -isystem (which come after -I)
* Remove linux-armv7 native platform libraries (compile time only),Sven Gothel2011-08-021-1/+1
| | | | reducing the burden to add a license file etc.
* Add Ubuntu 11.04 arm-linux-gnueabi library folder for build time linker ↵Sven Gothel2011-07-281-1/+1
| | | | resolution
* Android integration / cross-test ; Enhance PlatformSven Gothel2011-07-241-1/+5
| | | | | | | | | | | - android minor build fix - started dex'ing (gluegen-rt.apk, more to come for full junit tests) - android remote dalvikvm launch works (crosstest-java-android-armv7-rel.sh) - android detection, incl version (reflection) - Platform: - Add JAVA_VM_NAME and JAVA_VM_RUNIME - OSType maybe ANDROID, where the OS name (String) is Linux ! (ok ?)
* Adding Sylvestre Ledru's bug #487 verbosity patchSven Gothel2011-07-231-0/+1
|
* Add missing defines (__unix__, DEBUG) for solaris, etcSven Gothel2011-07-231-0/+12
|
* Cleanup [cross] compile propertiesSven Gothel2011-07-221-2/+2
| | | | | | | | | | | | | - linux-armv7 (ubuntu) - added scripts/make.gluegen.all.linux-armv7-cross.sh - added symbolic links to cross toolchain (gcc, ld, ..) allowing gluegen's cpptask to pick it up - android-armv7 (android) - we have scripts/make.gluegen.all.android-armv7-cross.sh
* add props compiler.cfg.linux.x86, linker.cfg.linux.x86 for proper ↵Sven Gothel2011-07-221-37/+24
| | | | linux-x86_32 spec. removed android props, we use custom xml files
* refined Android ARMv7 targets (android still dummy)Sven Gothel2011-07-201-18/+72
|
* Cleanup: Platform CPU enum, MachineDescription,Sven Gothel2011-07-201-16/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Platform: - enum CPUFamily is part of CPUType - DALVIK -> ANDROID - ARM: ARM + ARMv[567] MachineDescription - self contained - static size/alignment Config (enum) for unix32, unix64, win32, win64 and armeabi - add 'long double' - Removed MachineDescription32Bit, MachineDescription64Bit - createStatic(..) uses OS/CPU to fetch best match if not at runtime FIXES: JavaEmitter's struct-emit: Proper 32/64 struct sizes TODO: StructAccessor's mapping to <Type>Buffer w/ index os sizeof(<Type>) doesn't work, since offset may not be multiple of sizeof(<Type>)! i.e. typedef struct { int8_t bits1; // +1 - 0 // +3 (p32) int32_t id; // +4 - 4 int8_t bits2; // +1 - 8 // +3 (p32) - int64_t long0; // +8 - 12 so "longBuffer.get(<type-sized index>)" is invalid, but "byteBuffer.getLong(<byte index>)" must be done. The actual impl. doesn't matter, hence dropping the other nio type mappings is good.
* GlueGen proper size / alignment of primitive and compound types usage [1/2] ↵Sven Gothel2011-07-171-2/+39
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Preparation. Currently GlueGen fails for type long (size) and some alignments (see package.html). - The size and alignment values shall be queried at runtime. - Compound alignment needs to follow the described natural alignment (also @runtime). - - Build - add Linux Arm7 (EABI) - junit test - added compound/struct tests, pointing out the shortcomings of current impl. - package.html - Added alignment documentation - remove intptr.cfg - add GluGen types int8_t, int16_t, uint8_t, uint16_t - move MachineDescription* into runtime - Platform - has runtime MachineDescription - moved size, .. to MachineDescription - use enums for OSType, CPUArch and CPUType defined by os.name/os.arch, triggering exception if os/arch is not supported. This avoids Java String comparison and conscious os/arch detection. - MachineDescription: - compile time instances MachineDescription32Bits, MachineDescription64Bits - runtime queried instance MachineDescriptionRuntime - correct size, alignment, page size, ..
* osx fix: query availability of JVM header, ieSven Gothel2011-04-201-1/+6
| | | | | - /System/Library/Frameworks/JavaVM.framework/Headers/ Java 10.6 Update 4 - /System/Library/Frameworks/JavaVM.framework/Versions/CurrentJDK/Headers/ Prev. Version
* use.macosx32 and use.macosx64 are only true when I run Mac OS XSylvestre Ledru2011-03-201-0/+6
|
* Remove CDCSven Gothel2011-02-091-3/+0
|
* Expand tabs to 4 spacesSven Gothel2011-02-091-1/+1
|
* Fixing build scripts for Solaris systems.Barcsik Attila2011-02-051-39/+33
|
* Sort compiler/linker configs and add __unix__ and DEBUG defines as ↵Sven Gothel2010-11-051-85/+126
| | | | appropriate for all.
* Declare x86 and amd64 compilers for FreeBSDMark Rothwell2010-06-261-4/+14
|
* New linker definitions for FreeBSD (do not reuse Linux definitions for the ↵Mark Rothwell2010-06-261-0/+8
| | | | sake of clarity)
* Set os.and.arch for FreeBSDMark Rothwell2010-06-261-1/+7
|
* Split FreeBSD in the same manner as Linux: isFreeBSD, isFreeBSDX86, ↵Mark Rothwell2010-06-261-2/+26
| | | | isFreeBSDAMD64
* GlueGen/JOGL Windows x86 x86_64 MingW BuildsSven Gothel2010-05-161-3/+4
| | | | | | | | | mingw linker option: --enable-stdcall-fixup mingw x86: link against JVM lib file, due to unresolved symbol: JAWT.dll x32: _JAWT_GetAWT@8 (stdcall) JAWT.dll x64: JAWT_GetAWT (clean) Looks like the stdcall fixup doesn't work ..
* GlueGen/JOGL Windows x86 x86_64 MingW BuildsSven Gothel2010-05-161-0/+4
| | | | | | | | | | | | | | | - mingw linker option: --enable-auto-import - mingw now links against DLLs not libs, due to a runtime error while linking against JAWT x86: Using mingw 20100514, gcc 4.5.0 - clean - passed all junit.run tests x86_64: Using mingw-w64-bin_x86_64-mingw_20100515_sezero.zip, gcc 4.4.5 20100513 - clean - passed all junit.run tests