aboutsummaryrefslogtreecommitdiffstats
path: root/make
Commit message (Collapse)AuthorAgeFilesLines
* Implement Bug #598 - JOGL ALL JAR File Change incl. it's Native Jar URL ↵Sven Gothel2012-06-263-12/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Derivation +++ JNILibLoaderBase.addNativeJarLibs(..): Add API doc JNILibLoaderBase: "addNativeJarLibs(Class<?> classFromJavaJar, String allNativeJarBaseName, String[] atomicNativeJarBaseNames)" -> "addNativeJarLibs(Class<?>[] classesFromJavaJars, String singleJarMarker, String[] stripBasenameSuffixes)" Derive the 'all' (1st choice) native JAR URL solely on the given class's JAR URL. Examples: JOCL: // only: jocl.jar -> jocl-natives-'os.and.arch'.jar addNativeJarLibs(new Class<?>[] { JOCLJNILibLoader.class }, null, null ); JOGL: final ClassLoader cl = GLProfile.class.getClassLoader(); // either: [jogl-all.jar, jogl-all-noawt.jar, jogl-all-mobile.jar] -> jogl-all-natives-<os.and.arch>.jar // or: nativewindow-core.jar -> nativewindow-natives-<os.and.arch>.jar, // jogl-core.jar -> jogl-natives-<os.and.arch>.jar, // (newt-core.jar -> newt-natives-<os.and.arch>.jar)? (if available) final String newtFactoryClassName = "com.jogamp.newt.NewtFactory"; final Class<?>[] classesFromJavaJars = new Class<?>[] { NWJNILibLoader.class, GLProfile.class, null }; if( ReflectionUtil.isClassAvailable(newtFactoryClassName, cl) ) { classesFromJavaJars[2] = ReflectionUtil.getClass(newtFactoryClassName, false, cl); } JNILibLoaderBase.addNativeJarLibs(classesFromJavaJars, "-all", new String[] { "-noawt", "-mobile", "-core" } ); Efficiency / Performance: - Reduced JAR URL lookup calls JarUtil.getJarURL(..) - JNILibLoaderBase, Platform, JarUtil - Attempt loading Jar files (native, class, ..) only once - TempJarCache Code Cleanup (IOUtil, JarUtil, : - IOException if not found - IllegalArgumentException if null argument +++ jogamp.android-launcher.jar -> jogamp-android-launcher.jar +++
* Fix Platform static initialization interdependencies w/ GlueGen native ↵Sven Gothel2012-06-181-3/+3
| | | | | | | | | | | | library loading Some Platform field declarations and it's static initialization has been delegated to it's new abstract super class PlatformPropsImpl to solve static initialization interdependencies w/ the GlueGen native library loading and it's derived information {@link #getMachineDescription()}, {@link #is32Bit()}, ..<br> This mechanism is preferred in this case to avoid synchronization and locking and allow better performance accessing the mentioned fields/methods.
* Fix Bug 587: Use alternative storage location if platform's temp directory ↵Sven Gothel2012-06-161-3/+4
| | | | | | | | | | | | | | | | | | | | | is mounted w/ noexec ; IOUtil API change! Test whether executable files can be launched in temporary folder by trying to run an empty executable file - if !( WINDOWS | OPENKODE ) TempDir: 1) ${java.io.tmpdir}/jogamp 2) $XDG_CACHE_HOME/jogamp - if !( ANDROID | MACOS | WINDOWS | OPENKODE ) 3) $HOME/.jogamp $XDG_CACHE_HOME defaults to $HOME/.cache - TempFileCache: ${TempDir}/file_cache -> ${java.io.tmpdir}/jogamp/file_cache - LauncherTempFileCache: ${TempDir}/file_cache -> ${java.io.tmpdir}/jogamp/file_cache +++ AndroidUtils*.getTempRoot(): Remove unused AccessControlContext param
* Fix Android Remote Test: gluegen-rt.apk -> gluegen-rt-android-${android.abi}.apkSven Gothel2012-06-151-1/+1
|
* Fix Bug 583 (2): Remove Android compile-time dependencies and exclude ↵Sven Gothel2012-06-155-31/+90
| | | | | | | | | | | | | | Android specific classes for non Android platforms Ensure same Java JAR content regardless of build target (fix). Separate Android compilation results to gluegen-rt-android.jar, avoiding generating different content of gluegen-rt.jar w/ non android builds. aapt.signed: @{android.abi} argument is 'generic' by default. Adding ${android.abi} to APK target name (gluegen-rt-android-armeabi-v7a.apk) if not generic.
* Fix Bug 583: Remove Android compile-time dependencies and exclude Android ↵Sven Gothel2012-06-041-20/+44
| | | | | | | | | | | | | specific classes for non Android platforms. Android specifics are delegated via class AndroidUtils, which uses reflection to call AndroidUtilsImpl if platform is Android. Android code is confined to the packages: jogamp.common.os.android.* jogamp.android.launcher.* and only included when compiled for the Android platform.
* Android: Bump version.code: 914010Sven Gothel2012-05-091-1/+1
|
* Android: Bump version.code to 0914009Sven Gothel2012-05-091-1/+1
|
* Fix Android AAPT Task/Macro: Put temp src/classes folder (R.java) aside ↵Sven Gothel2012-05-091-6/+6
| | | | | | | image folder .. .. so they are not included in the APK. Including them in the APK causes Google market/play to use both as platform filters (0 devices if no native folder is present).
* Android: Add xhdpi iconSven Gothel2012-05-091-0/+0
|
* Android: aapt no debug, gluegen: proper version.code and launcher manifestSven Gothel2012-05-042-8/+8
|
* Android: Cleanup Manifest - remove commented out tags, don't require ↵Sven Gothel2012-05-043-10/+12
| | | | touchscreen ..
* Android: 'android.jar' -> android-015.jar', 'android-min.jar' (9); ↵Sven Gothel2012-05-042-5/+6
| | | | version.code: 4
* Android version.code: 3Sven Gothel2012-05-041-1/+1
|
* Fix Android JogAmp Launcher: AssetsSven Gothel2012-05-042-1/+4
|
* Fix Android Launcher: Add permission Internet access (commit ↵Sven Gothel2012-05-041-2/+2
| | | | 85ba9e60dfd1828c6f8cc327715b420e10c29ebf was broken, too late)
* Android Launcher: Add permission Internet accessSven Gothel2012-05-041-2/+2
|
* Bump Android version.code: 2Sven Gothel2012-05-041-1/+1
|
* Android Launcher: Add dummy version activity (recognized by market), remove ↵Sven Gothel2012-05-041-2/+14
| | | | permissions: inet and write-sd
* APK version code = 1Sven Gothel2012-05-031-1/+1
|
* Reduce APK version name to 30 charsSven Gothel2012-05-031-1/+1
|
* AndroidLauncher: Add 'MainLauncher'; ClassLoaderUtil adds list of direct ↵Sven Gothel2012-05-031-0/+15
| | | | | | | | | | APKs to add to classpath MainLauncher is capable of launching a traditional static main method from a activity. TODO: - parametrize the APK list (junit, ..) - pass-through the activity instance to be used w/ NEWT AndroidWindow
* Partially revert commit 5efbe805c553a2ac21a79386c3e2147858d4308b - Linux / ↵v2.0-rc6Sven Gothel2012-04-192-32/+0
| | | | Solaris x86* requires stdlib.
* Relaxed Unix linker flags for Linux + Solaris ; Refined Linux Armv4 flagsSven Gothel2012-04-193-15/+52
| | | | | | | | | | | | | | 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.
* Linux ARMel eabi: Use armv6t, soft-float - low profile to target more ↵Sven Gothel2012-04-183-1/+61
| | | | devices. Our ARMhf build is high profile.
* Solaris manual build setup - check default install location for 64bit jvmSven Gothel2012-04-181-1/+8
|
* Fix IOUtil: Handle all '../' and './' cases by reducing the path.Sven Gothel2012-04-023-3/+6
|
* Android: Compile agains API Level 15 for AV package, we don't require it though.Sven Gothel2012-04-021-1/+2
|
* Add Android API 15 (Ice Cream Sandwich) for it's MediaPlayer capabilities ↵Sven Gothel2012-04-025-0/+213
| | | | | | | (OMX AL decode to texture via libstagefright) Even though we don't require API level 15, we may utilize it in JOGL for it's AV package.
* Fix EABI Armel/Armhf selection incl. os.and.archSven Gothel2012-03-281-25/+53
|
* gluegen-cpptasks-android-armv7.xml: Add missing isAbiEabiGnuArmel propertySven Gothel2012-03-281-1/+1
|
* Dump Local Info on build machine during junit.compileSven Gothel2012-03-281-1/+7
|
* Test: Add dump of environment varsSven Gothel2012-03-281-2/+2
|
* 7z Archive: Add all APK's - Was missing Android Launcher.Sven Gothel2012-03-281-1/+1
|
* Add support for armhf/gnueabihf resulting in new 'os.and.arch' := [ ↵Sven Gothel2012-03-289-6/+120
| | | | | | | | | | | | | | | | '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
* Add *.apk files to the 7z archive [for deployment]Sven Gothel2012-03-272-0/+2
|
* Platform: Add AWT_AVAILABLE 'knowledge'; RunnableExecutor: Add AWTEDT impl. ↵Sven Gothel2012-03-261-0/+1
| | | | / API doc cleanup; DynamicLibraryBundle: Add getDefaultRunnableExecutor()
* Fix 'NIOOnly' impl ; Use 'final' in gen. Java stubs ;Sven Gothel2012-03-221-3/+3
| | | | | | | | | | | | | | | | | | - Fix 'NIOOnly' impl - Use 'final' in gen. Java stubs ; - No null check for Buffers.isDirect(arrayArg) [required] - Clarify Buffer arg API doc (NIOOnly or NIODirectOnly) - cleaned up loop / branch (CMethodBindingEmitter) - remove unsued vars/code - Tests: - covers normal/NIOOnly/NIODirectOnly - covers passing null for array and NIO
* Added adb install filesSven Gothel2012-03-182-0/+7
|
* Adding missing file .. oopsSven Gothel2012-03-181-0/+13
|
* Add 'asset' URLConnection; IOUtil uses URLConnection / incr. effeciency; ↵Sven Gothel2012-03-1711-8/+62
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-149-51/+160
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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].
* Fix rel GLUEGEN_CPPTASKS_FILE commit e617834dcabdb83f383a2d2a82fcd2d9d987c154Sven Gothel2012-03-101-5/+7
|
* Allow GLUEGEN_CPPTASKS_FILE to be relative to gluegen.root ; Load ↵Sven Gothel2012-03-103-11/+19
| | | | gluegen-cpptasks-base.xml in custom files w/ gluegen.root.abs-path.
* android remote test script: panda02 is my default test machineSven Gothel2012-03-101-2/+2
|
* android remote adb test fixes: (1) Add connect; (2) Remove overriding ↵Sven Gothel2012-03-101-1/+3
| | | | | | | | | | explicit BOOTCLASSPATH, use default. (2) Android 4.0.3 LEB 12.02 / Pandaboard requires the original BOOTCLASSPATH, otherwise dependencies are broken and dalvikvm crashes. Adding 'our' ant-junit-all.apk to 'complete' the set of our required junit/ant classes seems to work well on V. 2.3.6 (Samsung Galaxy S) and V. 4.0.3.
* gluegen-cpptasks-android-armv7: Add 'gluegen.cpptasks.detect.os.custom' ↵Sven Gothel2012-03-072-15/+25
| | | | | | | | target which makes it self-contained build script and jenkins-node startup-script solely use env-vars. Remove env. TARGET_ARCH, which was same as TARGET_TRIPPLE.
* Don't build and use gluegen.apk (compile time only) ; Don't test classloader ↵Sven Gothel2012-03-073-8/+9
| | | | | | -> JarURL on Android All [remaining] tests passed on Android!
* android test: Specify 'java.io.tempdir' and add TestJarsInJar.apk / Disable ↵Sven Gothel2012-03-072-1/+3
| | | | most of tests in TestJarUtil
* build: Move c.compiler.debug, c.compiler.use-debug and c.compiler.optimise ↵Sven Gothel2012-03-072-7/+7
| | | | | | | from build.xml -> gluegen-cpptasks-base.xml - unifies definition - echo values