diff --git a/base/build.gradle b/base/build.gradle
index de33e8a262c8e3875dda4a2710f063deb14a952a..869170d8b163eaf2ac92e3593e3c28e1b8bb8bb8 100644
--- a/base/build.gradle
+++ b/base/build.gradle
@@ -10,7 +10,7 @@ dependencies {
 } 
 
 tasks.withType(Test) {
-    systemProperty "java.library.path", "../libraries/unix/native/unix/amd64-Linux:../libraries/nativedata/native/nativedata/amd64-Linux:../libraries/unix/native/unix/x86_64-Mac OS X:../libraries/nativedata/native/nativedata/x86_64-Mac OS X"
+    systemProperty "java.library.path", "libs/native/unix/amd64-Linux:libs/native/nativedata/amd64-Linux:libs/native/unix/x86_64-Mac OS X:libs/native/nativedata/x86_64-Mac OS X"
 }
 
 new ByteArrayOutputStream().withStream { os ->
@@ -36,16 +36,14 @@ new ByteArrayOutputStream().withStream { os ->
 sourceSets {
   test {
     resources {
-      srcDir "../libraries"
-      include "nativedata/**"
-      include "unix/**"
+      srcDir "libs"
+      include "**"
     }
   }
 }
 
 jar {
-    from fileTree("../libraries/nativedata/")
-    from fileTree("../libraries/unix/")	
+    from fileTree("libs/")
 }
 
 task standaloneTestJar(type: Jar, dependsOn: [classes, testClasses]) {
@@ -53,8 +51,7 @@ task standaloneTestJar(type: Jar, dependsOn: [classes, testClasses]) {
     from files(sourceSets.main.output.classesDir)
     from files(sourceSets.main.output.resourcesDir)
     from files(sourceSets.test.output.classesDir)
-    from files("../libraries/nativedata")
-    from files("../libraries/unix")
+    from files("libs")
  
     from {configurations.testRuntime.collect {zipTree(it)}}
  
diff --git a/base/build/build.xml b/base/build/build.xml
index a029e57d89b5ebd5d7ad747f06128a967fc18da4..db0eae415bfb17e76056680f854258c516b5882e 100644
--- a/base/build/build.xml
+++ b/base/build/build.xml
@@ -14,8 +14,7 @@
 	<property name="src.zip.file" value="${dist}/cisd-base-src.zip" />
 	<property name="javadoc.zip.file" value="${dist}/cisd-base-javadoc.zip" />
 	<property name="original.dist" value="../${ant.project.name}/dist" />
-	<property name="nativesrc1" value="${lib}/unix/native" />
-	<property name="nativesrc2" value="${lib}/nativedata/native" />
+	<property name="nativesrc" value="libs/native" />
 	<property name="nativeroot" value="${targets}/ant" />
 	<property name="native" value="${nativeroot}/native" />
 
@@ -30,13 +29,13 @@
 		<build-info revision="revision.number" version="version.number" clean="clean.flag" />
 		<echo file="${build.info.file}">${version.number}:${revision.number}:${clean.flag}</echo>
 		<copy todir="${native}">
-			<fileset dir="${nativesrc1}">
+			<fileset dir="${nativesrc}">
 				<include name="**/libunix.so" />
 				<include name="**/libunix.jnilib" />
 			</fileset>
 		</copy>
 		<copy todir="${native}">
-			<fileset dir="${nativesrc2}">
+			<fileset dir="${nativesrc}">
 				<include name="**/libnativedata.so" />
 				<include name="**/libnativedata.jnilib" />
 				<include name="**/nativedata.dll" />
@@ -67,13 +66,13 @@
 		<build-info revision="revision.number" version="version.number" clean="clean.flag" />
 		<echo file="${build.info.file}">${version.number}:${revision.number}:${clean.flag}</echo>
 		<copy todir="${native}">
-			<fileset dir="${nativesrc1}">
+			<fileset dir="${nativesrc}">
 				<include name="**/libunix.so" />
 				<include name="**/libunix.jnilib" />
 			</fileset>
 		</copy>
 		<copy todir="${native}">
-			<fileset dir="${nativesrc2}">
+			<fileset dir="${nativesrc}">
 				<include name="**/libnativedata.so" />
 				<include name="**/libnativedata.jnilib" />
 				<include name="**/nativedata.dll" />
@@ -161,4 +160,4 @@
 		</antcall>
 	</target>
 
-</project>
\ No newline at end of file
+</project>
diff --git a/base/libs/native/nativedata/amd64-Linux/libnativedata.so b/base/libs/native/nativedata/amd64-Linux/libnativedata.so
new file mode 100755
index 0000000000000000000000000000000000000000..9b7f1b9d107365a85551ce5e5612e63234516343
Binary files /dev/null and b/base/libs/native/nativedata/amd64-Linux/libnativedata.so differ
diff --git a/base/libs/native/nativedata/amd64-SunOS/libnativedata.so b/base/libs/native/nativedata/amd64-SunOS/libnativedata.so
new file mode 100755
index 0000000000000000000000000000000000000000..1044cd13902360e29c600fcf118ddc175d7629bb
Binary files /dev/null and b/base/libs/native/nativedata/amd64-SunOS/libnativedata.so differ
diff --git a/base/libs/native/nativedata/amd64-Windows/nativedata.dll b/base/libs/native/nativedata/amd64-Windows/nativedata.dll
new file mode 100755
index 0000000000000000000000000000000000000000..5760aa37e5dc562f0eea908ea771ca212228c002
Binary files /dev/null and b/base/libs/native/nativedata/amd64-Windows/nativedata.dll differ
diff --git a/base/libs/native/nativedata/arm-Linux/libnativedata.so b/base/libs/native/nativedata/arm-Linux/libnativedata.so
new file mode 100755
index 0000000000000000000000000000000000000000..6f85efe3ff18e914f9fe543d4b89ffe0f3d85860
Binary files /dev/null and b/base/libs/native/nativedata/arm-Linux/libnativedata.so differ
diff --git a/base/libs/native/nativedata/i386-Linux/libnativedata.so b/base/libs/native/nativedata/i386-Linux/libnativedata.so
new file mode 100755
index 0000000000000000000000000000000000000000..256132f0306644d853c1682a7d456b28d5e45a2c
Binary files /dev/null and b/base/libs/native/nativedata/i386-Linux/libnativedata.so differ
diff --git a/base/libs/native/nativedata/i386-Mac OS X/libnativedata.jnilib b/base/libs/native/nativedata/i386-Mac OS X/libnativedata.jnilib
new file mode 100755
index 0000000000000000000000000000000000000000..aa204c105c12cc44ae814f527fa372448f87d162
Binary files /dev/null and b/base/libs/native/nativedata/i386-Mac OS X/libnativedata.jnilib differ
diff --git a/base/libs/native/nativedata/sparc-SunOS/libnativedata.so b/base/libs/native/nativedata/sparc-SunOS/libnativedata.so
new file mode 100755
index 0000000000000000000000000000000000000000..2a7bb7ff6ddc06502fa332c0d6b55054f058f128
Binary files /dev/null and b/base/libs/native/nativedata/sparc-SunOS/libnativedata.so differ
diff --git a/base/libs/native/nativedata/sparcv9-SunOS/libnativedata.so b/base/libs/native/nativedata/sparcv9-SunOS/libnativedata.so
new file mode 100755
index 0000000000000000000000000000000000000000..397cfdb34d5df9e80eec3dc01659dda25b88dea2
Binary files /dev/null and b/base/libs/native/nativedata/sparcv9-SunOS/libnativedata.so differ
diff --git a/base/libs/native/nativedata/x86-SunOS/libnativedata.so b/base/libs/native/nativedata/x86-SunOS/libnativedata.so
new file mode 100755
index 0000000000000000000000000000000000000000..85a7fa6f4fcb80cf514b7b12f6ff1172ff110df4
Binary files /dev/null and b/base/libs/native/nativedata/x86-SunOS/libnativedata.so differ
diff --git a/base/libs/native/nativedata/x86-Windows/nativedata.dll b/base/libs/native/nativedata/x86-Windows/nativedata.dll
new file mode 100755
index 0000000000000000000000000000000000000000..f4cdef827a04e6ffda1c9aad25e7db689e482d31
Binary files /dev/null and b/base/libs/native/nativedata/x86-Windows/nativedata.dll differ
diff --git a/base/libs/native/nativedata/x86_64-Mac OS X/libnativedata.jnilib b/base/libs/native/nativedata/x86_64-Mac OS X/libnativedata.jnilib
new file mode 100755
index 0000000000000000000000000000000000000000..60b6272cb47c07e6317d1f7b9382a9894649555a
Binary files /dev/null and b/base/libs/native/nativedata/x86_64-Mac OS X/libnativedata.jnilib differ
diff --git a/base/libs/native/unix/amd64-Linux/libunix.so b/base/libs/native/unix/amd64-Linux/libunix.so
new file mode 100755
index 0000000000000000000000000000000000000000..7c6cce3f9efa5dce78d4cdc6cc88ffc4f21b85ce
Binary files /dev/null and b/base/libs/native/unix/amd64-Linux/libunix.so differ
diff --git a/base/libs/native/unix/amd64-SunOS/libunix.so b/base/libs/native/unix/amd64-SunOS/libunix.so
new file mode 100755
index 0000000000000000000000000000000000000000..e4a0e21ccbc62c8dc15397a2eb77b6e6f4bcf638
Binary files /dev/null and b/base/libs/native/unix/amd64-SunOS/libunix.so differ
diff --git a/base/libs/native/unix/arm-Linux/libunix.so b/base/libs/native/unix/arm-Linux/libunix.so
new file mode 100755
index 0000000000000000000000000000000000000000..614fc465f854632f37dbdafa71ed3e514fc6f80f
Binary files /dev/null and b/base/libs/native/unix/arm-Linux/libunix.so differ
diff --git a/base/libs/native/unix/i386-Linux/libunix.so b/base/libs/native/unix/i386-Linux/libunix.so
new file mode 100755
index 0000000000000000000000000000000000000000..2c852cfe6c2dcaa34bf7b86e3af3ecbdf9a4e71e
Binary files /dev/null and b/base/libs/native/unix/i386-Linux/libunix.so differ
diff --git a/base/libs/native/unix/i386-Mac OS X/libunix.jnilib b/base/libs/native/unix/i386-Mac OS X/libunix.jnilib
new file mode 100755
index 0000000000000000000000000000000000000000..f3196476d1945a48d1129301dd02d5572907ea59
Binary files /dev/null and b/base/libs/native/unix/i386-Mac OS X/libunix.jnilib differ
diff --git a/base/libs/native/unix/sparc-SunOS/libunix.so b/base/libs/native/unix/sparc-SunOS/libunix.so
new file mode 100755
index 0000000000000000000000000000000000000000..6ec3d73a94ba09b3708c615da35d24976c73c809
Binary files /dev/null and b/base/libs/native/unix/sparc-SunOS/libunix.so differ
diff --git a/base/libs/native/unix/sparcv9-SunOS/libunix.so b/base/libs/native/unix/sparcv9-SunOS/libunix.so
new file mode 100755
index 0000000000000000000000000000000000000000..491a63d2316766d1b0674f8b9971dfa6f4ee7eb5
Binary files /dev/null and b/base/libs/native/unix/sparcv9-SunOS/libunix.so differ
diff --git a/base/libs/native/unix/x86-SunOS/libunix.so b/base/libs/native/unix/x86-SunOS/libunix.so
new file mode 100755
index 0000000000000000000000000000000000000000..787c37a62544eb8465b9fd5bea8ec4ff60979e81
Binary files /dev/null and b/base/libs/native/unix/x86-SunOS/libunix.so differ
diff --git a/base/libs/native/unix/x86_64-Mac OS X/libunix.jnilib b/base/libs/native/unix/x86_64-Mac OS X/libunix.jnilib
new file mode 100755
index 0000000000000000000000000000000000000000..97f1e02e2937f831dee038db47a6cbf83c65d122
Binary files /dev/null and b/base/libs/native/unix/x86_64-Mac OS X/libunix.jnilib differ
diff --git a/base/source/c/compile_linux_amd64.sh b/base/source/c/compile_linux_amd64.sh
index 6262ef9928e8512c9af209711ce21055bcfa4369..038f83a94355d54bd5b58005f6d361e77520cf18 100755
--- a/base/source/c/compile_linux_amd64.sh
+++ b/base/source/c/compile_linux_amd64.sh
@@ -1,6 +1,6 @@
 #! /bin/bash
 
-gcc -shared -O3 -fPIC unix.c -I/usr/java/jdk5/include -I/usr/java/jdk5/include/linux -o libunix.so
+gcc -shared -O3 -fPIC unix.c -I/usr/java/jdk1.6.0/include -I/usr/java/jdk1.6.0/include/linux -o libunix.so
 
 # MACHINE_BYTE_ORDER=1 corresponds to 'little endian'
-gcc -shared -O3 -fPIC -DMACHINE_BYTE_ORDER=1 copy*.c  -I/usr/java/jdk5/include -I/usr/java/jdk5/include/linux -o libnativedata.so
+gcc -shared -O3 -fPIC -DMACHINE_BYTE_ORDER=1 copy*.c  -I/usr/java/jdk1.6.0/include -I/usr/java/jdk1.6.0/include/linux -o libnativedata.so
diff --git a/base/source/c/compile_linux_arm.sh b/base/source/c/compile_linux_arm.sh
new file mode 100755
index 0000000000000000000000000000000000000000..2b57024ba736efbd4379cc7cb0ad576896ea2415
--- /dev/null
+++ b/base/source/c/compile_linux_arm.sh
@@ -0,0 +1,6 @@
+#! /bin/bash
+
+gcc -shared -O3 -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE -I/usr/java/jdk1.7.0/include -I/usr/java/jdk1.7.0/include/linux unix.c -o libunix.so
+
+# MACHINE_BYTE_ORDER=1 corresponds to 'little endian'
+gcc -shared -O3 -fPIC -DMACHINE_BYTE_ORDER=1 copy*.c  -I/usr/java/jdk1.7.0/include -I/usr/java/jdk1.7.0/include/linux -o libnativedata.so
diff --git a/base/source/c/compile_linux_i386.sh b/base/source/c/compile_linux_i386.sh
index e36b8bc91d40162971eb58753cc53a3dde82d6eb..e9cb84047aded7fb2caa021726b94df71e6d7571 100755
--- a/base/source/c/compile_linux_i386.sh
+++ b/base/source/c/compile_linux_i386.sh
@@ -1,6 +1,6 @@
 #! /bin/bash
 
-gcc -shared -O3 -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE -I/usr/java/jdk5/include -I/usr/java/jdk5/include/linux unix.c -o libunix.so
+gcc -m32 -shared -O3 -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE -I/usr/java/jdk1.6.0/include -I/usr/java/jdk1.6.0/include/linux unix.c -o libunix.so
 
 # MACHINE_BYTE_ORDER=1 corresponds to 'little endian'
-gcc -shared -O3 -fPIC -DMACHINE_BYTE_ORDER=1 copy*.c  -I/usr/java/jdk5/include -I/usr/java/jdk5/include/linux -o libnativedata.so
+gcc -m32 -shared -O3 -fPIC -DMACHINE_BYTE_ORDER=1 copy*.c  -I/usr/java/jdk1.6.0/include -I/usr/java/jdk1.6.0/include/linux -o libnativedata.so
diff --git a/base/source/c/compile_macosx_i386.sh b/base/source/c/compile_macosx_i386.sh
index a7dd7f7f4a58c9e94a6348264046f4ec3bbfc711..e8f53457bddf98aafddb451d27a80b0ed6992eb9 100755
--- a/base/source/c/compile_macosx_i386.sh
+++ b/base/source/c/compile_macosx_i386.sh
@@ -1,6 +1,6 @@
 #! /bin/bash
 
-gcc -m32 -bundle -O3 unix.c -I/System/Library/Frameworks/JavaVM.framework/Versions/Current/Headers -o libunix.jnilib
+gcc -m32 -mmacosx-version-min=10.6 -bundle -O3 unix.c -I/System/Library/Frameworks/JavaVM.framework/Versions/Current/Headers -o libunix.jnilib
 
 # MACHINE_BYTE_ORDER=1 corresponds to 'little endian'
-gcc -m32 -bundle -O3 -DMACHINE_BYTE_ORDER=1 copy*.c -I/System/Library/Frameworks/JavaVM.framework/Versions/Current/Headers -o libnativedata.jnilib
+gcc -m32 -mmacosx-version-min=10.6 -bundle -O3 -DMACHINE_BYTE_ORDER=1 copy*.c -I/System/Library/Frameworks/JavaVM.framework/Versions/Current/Headers -o libnativedata.jnilib
diff --git a/base/source/c/compile_macosx_x86_64.sh b/base/source/c/compile_macosx_x86_64.sh
index 0402b62529addc2b8e87910670da74c09a89a36b..06335b0650c794cd4ad102abb44dc9c8de527298 100755
--- a/base/source/c/compile_macosx_x86_64.sh
+++ b/base/source/c/compile_macosx_x86_64.sh
@@ -1,6 +1,6 @@
 #! /bin/bash
 
-gcc -m64 -dynamiclib -D__STAT=stat64 -D__LSTAT=lstat64 -O3 unix.c -I/System/Library/Frameworks/JavaVM.framework/Versions/Current/Headers -o libunix.jnilib
+gcc -m64 -mmacosx-version-min=10.6 -dynamiclib -D__STAT=stat64 -D__LSTAT=lstat64 -O3 unix.c -I/System/Library/Frameworks/JavaVM.framework/Versions/Current/Headers -o libunix.jnilib
 
 # MACHINE_BYTE_ORDER=1 corresponds to 'little endian'
-gcc -m64 -dynamiclib -O3 -DMACHINE_BYTE_ORDER=1 copy*.c -I/System/Library/Frameworks/JavaVM.framework/Versions/Current/Headers -o libnativedata.jnilib
+gcc -m64 -mmacosx-version-min=10.6 -dynamiclib -O3 -DMACHINE_BYTE_ORDER=1 copy*.c -I/System/Library/Frameworks/JavaVM.framework/Versions/Current/Headers -o libnativedata.jnilib
diff --git a/base/source/c/compile_windows_i386.mak b/base/source/c/compile_windows_i386.mak
index d85c9c7f75fc28ff40db1b185d98f70e99627087..8ebb900566b84eae08116fc446f920388b9a90a8 100644
--- a/base/source/c/compile_windows_i386.mak
+++ b/base/source/c/compile_windows_i386.mak
@@ -8,8 +8,8 @@
 # Visual C++ directory, for example
 VCPPDIR=C:\Program Files\Microsoft Visual Studio 9.0\VC
 
-# Directory where JDK is installed (We require JDK 1.5 or above), for example
-JAVADIR=C:\Program Files\Java\jdk1.5.0_22
+# Directory where JDK is installed (We require JDK 1.6)
+JAVADIR=C:\Program Files\Java\jdk1.6.0_37
 
 # Common parent directory
 PARENTDIR=C:\nativeData
diff --git a/base/source/c/compile_windows_x64.mak b/base/source/c/compile_windows_x64.mak
index 919e6acf036704deeaf1e08528f7ba4da930b33f..52f71d7f8911fb9d152beec7b3293aff030270d0 100644
--- a/base/source/c/compile_windows_x64.mak
+++ b/base/source/c/compile_windows_x64.mak
@@ -8,8 +8,8 @@
 # Visual C++ directory, for example
 VCPPDIR=C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC
 
-# Directory where JDK is installed (We require JDK 1.5 or above), for example
-JAVADIR=C:\Program Files\Java\jdk1.5.0_22
+# Directory where JDK is installed (We require JDK 1.6)
+JAVADIR=C:\Program Files\Java\jdk1.6.0_37
 
 # Common parent directory
 PARENTDIR=C:\nativeData