summaryrefslogtreecommitdiffstats
path: root/make/build.xml
Commit message (Collapse)AuthorAgeFilesLines
* Add 'asset' URLConnection; IOUtil uses URLConnection / incr. effeciency; ↵Sven Gothel2012-03-171-1/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Android ClassLoaderUtil cleanup; - Add 'asset' URLConnection - Please read API doc 'PiggybackURLConnection' and 'AssetURLConnection' - Solves generic resource handling where platform locations may differ, ie ClassLoader lookup on Android in the 'assets/' subfolder. - New Android 'AssetDexClassLoader' uses 'assets/' folder for findResource(..) - aapt.signed (our APK ant task) - uses 'assets/' folder - adds the 'assetsdir' attribute allowing to copy other assets into the APK - IOUtil uses URLConnection / incr. effeciency - using URLConnection on all getResource(..) since URL is connected anyways for validation and URLConnection can be used by caller right away - String getRelativeOf(URL, String) -> URL getRelativeOf(URL, String) - preserves scheme, authority, etc - simple parentOf handling, more efficient - reusing new 'asset' protocol impl. - Android ClassLoaderUtil cleanup; - Use createClassLoader(..) impl for build-in static jogamp and user APKs, which removes code redundancy Tests: New code path, especially 'assets' are covered by new unit tests, no regressions on Linux.
* Android: New ActivityLauncher (jogamp.android-launcher.apk)Sven Gothel2012-03-141-18/+67
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ActivityLauncher provides delegating Activities, allowing the user to: - daisy chain custom APK classes and native libraries to the classpath - name one custom activity which gets delegated to, the downstream activity Overview: [User:a1] -- (usr-data) --> [Launcher] -> [User:a2] + using [other packages..] [User APK] - The user provided APK [JogAmp APK] - JogAmp APKs [User:a1] - The initial user activity, which starts the [Launcher]. Providing data to [Launcher]: [User:a2], [User APK] Resides in [User APK] [User:a2] - The actual downstream 'real' activity, spoiled w/ full fledged ClassLoader having access to all packages as requested, ie. [User APK], .. Resides in [User APK] [Launcher] - The launcher activity. Gets called by [User:a1]. Creates a new ClassLoader, daisy chainging all requested APKs. Instantiates [User:a2] w/ new ClassLoader. Delegates all calls to [User:a2]. Resides in [JogAmp APK].
* Don't build and use gluegen.apk (compile time only) ; Don't test classloader ↵Sven Gothel2012-03-071-7/+7
| | | | | | -> JarURL on Android All [remaining] tests passed on Android!
* build: Move c.compiler.debug, c.compiler.use-debug and c.compiler.optimise ↵Sven Gothel2012-03-071-7/+0
| | | | | | | from build.xml -> gluegen-cpptasks-base.xml - unifies definition - echo values
* Changes to make gluegen build with NDK r7Edwin Vane2012-02-281-2/+6
| | | | | | | | | | | | | | | | | | | | - A bug in cpptasks was getting in the way of a working build with NDK r7. A local patch to cpptasks fixed the bug. - The patch is added as make/lib/cpptasks_gcclinker.patch and applies cleanly to cpptasts @ revision 177. - The result of building cpptasks r177 with this patch is part of the commit as well. - Cleaned up and simplified the android cross-compile script in make/scripts. - Cleaned up arguments passed to gcc for compiling and linking to look more like the command lines used for building NDK samples. - Some differences are necessary as cpptasks won't let us specify any binary other than 'gcc' for building. See gluegen-cpptasks-android-armv7.xml for comments on the matter. - Thinking forward to x86 support, generalized jogamp-androidtasks.xml to install the gluegen shared library in a subdirectory of image/lib named for the targetted ABI for packaging with aapt. This file is no-longer ARM-specific.
* javac - setup encoding to UTF-8Sven Gothel2012-01-231-0/+3
|
* Fix Bug 516 (Determine Java Version); Minor fixes (jogamp/common/** ..)Sven Gothel2012-01-221-24/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Current minimum requirements are: - Java 1.6 (Level 6.0) - Android SDK API Level 9 (Version 2.3 Gingerbread) Official production builds are performed w/ Java 1.6. - Java 1.6 (Level 6.0) - Android SDK API Level 9 (Version 2.3 Gingerbread) Android supports Java language level 6.0. Nevertheless, it cannot be guaranteed whether the Android API supports all classes and methods of Java 1.6. It is required for JogAmp developers to validate Android compatibility by an Android crosscompilation build. Current GlueGen code utilizes some minor Java 1.6 features which could be replaced, however it's not desired at this point since we have no mode hard Java 1.5 constraints. Notes: - On OS X 10.5.8, only the 64bit version of Java6 is available and hence the only supported one on Leopard. +++ Pushing determination of host (compiletime) and target (runtime) Java version to 'jogamp-env.xml'. jogamp-env.xml uses: env: SOURCE_LEVEL -> propery: target.sourcelevel def.: ${ant.java.version} >=1.6 (!) env: TARGET_LEVEL -> propery: target.targetlevel def.: ${ant.java.version} >=1.6 (!) env: TARGET_RT_JAR -> propery: target.rt.jar def.: ${java.home}/lib/rt.jar Either all above values are set, or none at all (default), otherwise a build error is being thrown. Further more we have the compiletime properties: host.sourcelevel def.: ${ant.java.version} >= 1.6 (!) host.targetlevel def.: ${ant.java.version} >= 1.6 (!) host.rt.jar def.: ${java.home}/lib/rt.jar +++ - 'javac.memorymax' defaults to 1024m now.
* Fix Bug 488: Enable others architectures under GNU/LinuxSylvestre Ledru2012-01-091-1/+49
|
* Moved JVMUtil to private package; Invoke JVMUtil.initSingleton() from ↵Sven Gothel2011-09-231-1/+1
| | | | Platform static init after loading native library.
* ant target base.compile w/o tampering artifacts.propertiesSven Gothel2011-09-141-7/+8
|
* aapt build check fix ; DynamicLibraryBundle.isGlueLibComplete() == true if ↵Sven Gothel2011-08-051-1/+11
| | | | | | | | | | | | | last entry is loaded aapt build check fix - exe aapt if source are newer than apk DynamicLibraryBundle.isGlueLibComplete() == true if last entry is loaded - fix long standing bug, where GlueLib was not complete if preload dependencies were missing. this even lead to JOGL specific handling of this case .. duh. - added debug info
* aapt.signed: add androidresources.path argument ; sdk >= 9 ; test ↵Sven Gothel2011-08-051-1/+3
| | | | uses-library com.jogamp.common
* Hide DynamicLinker impl.; Remove public AndroidPackageUtil ; ↵Sven Gothel2011-08-031-3/+3
| | | | | | | GluegenVersionActivity uses ApplicationContext Hide DynamicLinker impl.: - com.jogamp.common.os.*DynamicLinkerImpl -> jogamp.common.os
* Remove android excludes (compilation), ensuring 1:1 jar filesSven Gothel2011-08-021-6/+2
|
* Android: Drop android.jar ; Simplify 'aapt.signed' ; Move our android ↵Sven Gothel2011-08-021-6/+2
| | | | | | | | | | | | | | | | resources -> make/resources Drop android.jar - version 8 and 9 - license: apache v2 (NOTICE.txt included) - allows compilation using Android API on all platforms Simplify 'aapt.signed' - removed 'jarclasspathrefid', seems to be not needed (commented out) Move our android resources make/lib/android -> make/resources/android - make/lib is for 3rd party stuff only
* Fix Android apk activity; Add apk VersionName; Add jar manifest to apkSven Gothel2011-07-281-23/+37
| | | | | | | | | | | | | | | | - build: - exclude android packages if !isAndroid - aapt: - Use individual AndroidManifest xml files - optional: incl. our JAR manifest file to support detailed version info - use def. GluegenVersionActivity - APK VersionName: Retrieve and show - package/extension names: - gluegen.jar/apk: com.jogamp.gluegen - gluegen-rt.jar/apk: com.jogamp.common
* Fix android build/unit-test ; Generalize aapt packaging (macro) ; Use jogamp ↵Sven Gothel2011-07-281-97/+22
| | | | | | | | | | | | | | | | icons make/scripts/make.gluegen.all.android-armv7-cross.sh - make Rami and me happy :) - 3 default locations plus recognize user provided android toolkit path - fixes using ant targets as arguments make/jogamp-androidtasks.xml - macro aapt.signed: create signed apk file from jar - incl. adding native libraries - see macro doc. adding generic jogamp icons/images
* Merge branch 'wip_mobile' of git://github.com/sgothel/gluegen into wip_mobileRami Santina2011-07-261-1/+1
|\
| * Cross JUnit Tests - All Passed: Android+Linux armv7Sven Gothel2011-07-251-1/+1
| | | | | | | | | | | | | | | | | | | | | | - junit.cross targets: - use scripting to save time, ie write all target commands to script, xfer, exec - junit: delete result folder just before junit.run - Test BuildEnvironment.java: Simplify path config via properties (for android) - AndroidVersion: No annoying exception dump if Build$VERSION* is not found (not android) - launch scripts: use absolute TARGET_ROOT path for dynamic linker env.
* | Added android packaging for android gluegen-rt.apkRami Santina2011-07-261-12/+87
|/ | | | | | | | | the apk package can be installed on android device using adb install gluegen-rt.apk reference package on device is com.jogamp.gluegen gerenic icons is added to be replaced by jogamp logo changes to apk can be controled thru manifest lib/android/AndroidManifest.xml
* Add native lib in apk, needs work to be installed (manifest ...)Sven Gothel2011-07-241-2/+10
|
* Cleaned up android build ; Cross junit/java android test/script; Fix ↵Sven Gothel2011-07-241-1/+5
| | | | | | | | | | | | | | | | | | | Test1p2ProcAddressEmitter Fix Test1p2ProcAddressEmitter - 3 tests used the wrong binding instance, where no native lib was loaded for - duh :) Cleaned up android build - add unix src (UnixDynamicLinkerImpl_JNI.c) - remove linker cmds in compile arguments Cross junit/java android test works via script - target command scrip is written to file, pushed and executed Status: com.jogamp.gluegen.test.junit.generation.Test1p2ProcAddressEmitter - passed - on par w/ linux-armv7
* Complete android apk creation and cont. unit test launch. Need to write unit ↵Sven Gothel2011-07-241-13/+7
| | | | test commands to file - too long for single adb shell command
* Android integration / cross-test ; Enhance PlatformSven Gothel2011-07-241-2/+25
| | | | | | | | | | | - 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 ?)
* add props compiler.cfg.linux.x86, linker.cfg.linux.x86 for proper ↵Sven Gothel2011-07-221-2/+2
| | | | linux-x86_32 spec. removed android props, we use custom xml files
* Fix TestStructAccessorEndianSven Gothel2011-07-211-5/+5
| | | | | | | | | | | | - StructAccessor uses byteOffset now (since 8b3057585930357bb16546f584d998953b084034) Fix linux armv7l eabi: - build.xml arm7 -> armv7 - all tests passes Adding NativeSizeAlignment-linux-armv7l_eabi from passing test OK: linux 32/64/armv7l, windows 32/64
* GlueGen proper size / alignment of primitive and compound types usage [1/2] ↵Sven Gothel2011-07-171-2/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - 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, ..
* src-zip: no compression to benefit from xz/7z compressionSven Gothel2011-06-091-1/+1
|
* build.xml: native jar shall be created in native build targetSven Gothel2011-06-081-5/+7
|
* Fix C / JNI compilation: Add/use javah, recompile if out of date,Sven Gothel2011-06-071-24/+45
|
* create source zip archives per defaultSven Gothel2011-05-221-5/+11
|
* Add all.debug targetSven Gothel2011-05-171-1/+3
|
* leave java source zip file in build folder (if BUILD_ARCHIVE=true)Sven Gothel2011-05-171-1/+2
|
* build: Query git branch/sha1 and use it if not set and tools are available; ↵Sven Gothel2011-05-161-3/+19
| | | | | | | | | | Add Java source zip file. Query git branch/sha1 and use it if not set and tools are available. This shall improve tracking of manual generated binaries/bundles. Add Java source zip file. Contains all Java source code (incl. generated ones) enhancing IDE usage, where API doc and source browsing of libs is supported (NB/Eclipse/etc).
* Remove redundant setup.java.home.dir, use proper gluegen-cpptasks-base.xml ↵Sven Gothel2011-04-201-16/+1
| | | | target gluegen.cpptasks.setup.compiler (instead of gluegen.cpptasks.detect.compiler)
* ant: using target.sourcelevel, host.sourcelevel, javacdebug and ↵Sven Gothel2011-04-201-9/+23
| | | | | | | | | javacdebuglevel for compilation ; osx fix ant: using target.sourcelevel, host.sourcelevel, javacdebug and javacdebuglevel for compilation osx fix: remove java.include.dir.platform property def, since it should be done in the gluegen-cpptasks-base.xml
* Fix archive.7z: unset property destfile.path. gluegen-archivetasks.xml -> ↵Sven Gothel2011-02-241-1/+1
| | | | jogamp-archivetasks.xml
* fix jogamp-env.xml ; uses env vars BUILD_ARCHIVE=true|yes and NODE_NAME if setSven Gothel2011-02-231-1/+2
|
* Inverse build attribute build.noarchive -> build.archiveonSven Gothel2011-02-231-1/+1
|
* Provide task 'archive.7z' and use it instead of zipSven Gothel2011-02-231-5/+5
|
* Remove CDCSven Gothel2011-02-091-76/+1
|
* Bump Java source level to 1.5 / Disable CDC buildsSven Gothel2011-02-091-20/+23
|
* Move implementation private files from com.jogamp.<module>.impl. to ↵Sven Gothel2011-02-091-1/+1
| | | | | | | | | | | | jogamp.<module> - com.jogamp.common.impl -> jogamp.common This sorts implementation details from the top level, ie skipping the public 'com', allowing a better seperation of public classes and implementation details and also reduces strings. This approach of public/private seperation is also used in the OpenJDK.
* copy gluegen-rt.jnlp with empty codebase to build folder for local testing.Michael Bien2011-02-051-0/+11
| | | | this jnlp is not used for the distribution zip file.
* run tag.build from base.compileSven Gothel2010-12-161-2/+2
|
* archive test resultsSven Gothel2010-12-151-2/+2
|
* Disabled Struct* Tests (not working on Windows .. platform; Moved ↵Sven Gothel2010-11-251-36/+1
| | | | BuffersTest and PCPP to the proper src/junit folder. All junit tests are now handled by build-junit.xml
* Fix Version test while using the JAR files in classpath; Cleanup Manifest orderSven Gothel2010-11-231-1/+1
|
* added missing end tag which got lost in merge.Michael Bien2010-11-181-1/+1
|
* seperated reuseable tasks into maven-common.xmlMichael Bien2010-11-181-2/+4
| | | | fixed typos in pom-template.xml