Packaging Native Libraries
Sometimes there is a need to include some native libraries in contribution. Fabric3 offers easy and efficient way how to do it. All it needs to be done is include them in sca-contribution.xml file:
sca-contribution.xml
<?xml version="1.0" encoding="UTF-8"?> <contribution xmlns="http://docs.oasis-open.org/ns/opencsa/sca/200912" xmlns:f3="urn:fabric3.org"> <f3:library path="META-INF/native/sigar-x86-winnt.lib"> <os name="Windows" processor="x86"/> </f3:library> <f3:library path="META-INF/native/sigar-x86-winnt.dll"> <os name="Windows" processor="x86"/> </f3:library> <f3:library path="META-INF/native/sigar-amd64-winnt.dll"> <os name="Windows" processor="x86-64"/> </f3:library> <f3:library path="META-INF/native/libsigar-amd64-linux.so"> <os name="Linux" processor="x86-64"/> </f3:library> <f3:library path="META-INF/native/libsigar-universal64-macosx.dylib"> <os name="Mac OS X" processor="x86-64"/> </f3:library> </contribution>
Libraries needs to be in respective directories (e.g. META-INF/native). When runtime is booted, fabric3 copy the respective libraries (depending on os, architecture, ...) to tmp/native dir in runtime directory and set the JVM library path to include those libraries.
Possible processor attribute values:
- x86_64
- x86
- 68k
- arm
- alpha
- ignite
- mips
- parisc
- powerpc
- sparc
Possible name attribute values:
- Windows
- Linux
- Mac OS
- Mac OS X
- AIX
- Digital Unix
- FreeBSD
- HP UX
- Irix
- MPE/iX
- Netware 4.11
- OS/2
- Solaris
- Windows 2000
- Windows 95
- Windows 98
- Windows NT
- Windows Vista
- Windows XP
- Windows 7
- Windows 8