Login  Register

Re: Packaging JOGL projects to be cross-platform?

Posted by Xerxes Rånby on Jan 22, 2014; 12:43pm
URL: https://forum.jogamp.org/Packaging-JOGL-projects-to-be-cross-platform-tp4031261p4031286.html

2014-01-21 21:18, KevinWorkman [via jogamp] skrev:
I agree, you guys can't support every use of JOGL. I'm actually more annoyed at Processing for hiding a lot of stuff from the users, and from what I'm learning about JOGL, you guys have done some really clever stuff. Anyway, I think I have it figured out using Xerxes's approach of having a natives/os.and.arch/ directory inside the fat jar that holds the native libs for each system.

That seems to work on my system, but I'm not sure how it works on other systems. For example, for the mac natives, should I have a natives/macosx-universal/ directory inside my fat jar, following the naming conventions I've seen so far, or is it looking for natives/ppc/ as described at this link?

macosx-universal is correct, the name is JogAmp gluegen specific and composed by the Platform.getOSAndArch function.

http://jogamp.org/git/?p=gluegen.git;a=blob;f=src/java/jogamp/common/os/PlatformPropsImpl.java;hb=HEAD#l373

Use the following names, the rule is that the folder name should match the * name of the unpacked natives-*.jar
This is the list of os.and.arch natives names that JogAmp currently provide builds for:
natives/android-armv6/
natives/linux-amd64/
natives/linux-armv6/
natives/linux-armv6hf/
natives/linux-i586/
natives/macosx-universal/
natives/solaris-amd64/
natives/solaris-i586/
natives/windows-amd64/
natives/windows-i586/


This is the full list that JogAmp gluegen know about:
natives/freebsd-i586
natives/freebsd-amd64
natives/hpux-hppa
natives/linux-amd64
natives/linux-ia64
natives/linux-i586
natives/linux-armv6
natives/linux-armv6hf
natives/android-armv6
natives/macosx-universal
natives/solaris-sparc
natives/solaris-sparcv9
natives/solaris-amd64
natives/solaris-i586
natives/windows-amd64
natives/windows-i586

Cheers
Xerxes