Created
September 1, 2012 13:05
-
-
Save ericdwhite/3572794 to your computer and use it in GitHub Desktop.
libjxs MacOSX Patch
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| diff --git a/build.xml b/build.xml | |
| index ace1c13..ae15832 100644 | |
| --- a/build.xml | |
| +++ b/build.xml | |
| @@ -35,8 +35,8 @@ | |
| <property name="class.jni5" value="io.crossroads.jni.XsErrors"/> | |
| <property name="dir.xs" location="../libxs"/> | |
| <property name="dir.xs.inc" location="${dir.xs}/include"/> | |
| - <property name="dir.xs.lib" location="${dir.xs}/lib/Win32"/> | |
| - <property name="dir.xs.libname" value="libxs_d"/> | |
| + <property name="dir.xs.lib" location="${dir.xs}/lib"/> | |
| + <property name="dir.xs.libname" value="xs"/> | |
| <property name="dir.src.test" location="${dir.src}/test"/> | |
| <property name="dir.src.test.java" location="${dir.src.test}/java"/> | |
| @@ -50,15 +50,16 @@ | |
| <property name="dir.jbuild.perf" location="${dir.jbuild}/perf"/> | |
| <property name="dir.jbuild.jar" location="${dir.jbuild}/jar"/> | |
| + <property name="dir.jni.headers" location="/System/Library/Frameworks/JavaVM.framework/Headers/"/> | |
| <property name="dir.cbuild" location="${dir.build}/c"/> | |
| <property name="dir.cbuild.main" location="${dir.cbuild}/main"/> | |
| <property name="dir.cbuild.main.jni" location="${dir.cbuild}/main/jni"/> | |
| - <property name="dir.cbuild.dll" location="${dir.cbuild}/dll"/> | |
| + <property name="dir.cbuild.sharedlibrary" location="${dir.cbuild}/sharedlibrary"/> | |
| <property name="file.jar.main" value="${dir.jbuild.jar}/${project}-${version}.jar"/> | |
| <property name="file.jar.test" value="${dir.jbuild.jar}/${project}-${version}-test.jar"/> | |
| <property name="file.jar.perf" value="${dir.jbuild.jar}/${project}-${version}-perf.jar"/> | |
| - <property name="file.dll.main" value="${dir.cbuild.dll}/${project}"/> | |
| + <property name="file.sharedlibrary.main" value="${dir.cbuild.sharedlibrary}/${project}"/> | |
| <!-- CLASSPATHS --> | |
| @@ -153,7 +154,7 @@ | |
| <mkdir dir="${dir.cbuild}"/> | |
| <mkdir dir="${dir.cbuild.main}"/> | |
| <mkdir dir="${dir.cbuild.main.jni}"/> | |
| - <mkdir dir="${dir.cbuild.dll}"/> | |
| + <mkdir dir="${dir.cbuild.sharedlibrary}"/> | |
| </target> | |
| <target name="compile.main" depends="create.dirs"> | |
| @@ -182,11 +183,12 @@ | |
| <target name="jni.geno" depends="jni.genh"> | |
| <cpptasks:cc warnings="none" | |
| subsystem="console" | |
| - name="msvc" | |
| + name="gcc" | |
| objdir="${dir.cbuild.main.jni}" | |
| outtype="shared" | |
| - outfile="${file.dll.main}"> | |
| - <includepath path="${dir.cbuild.main.jni};${dir.xs.inc}"/> | |
| + outfile="${file.sharedlibrary.main}"> | |
| + <includepath path="${dir.cbuild.main.jni};${dir.xs.inc};${dir.jni.headers}"/> | |
| + <compilerarg value="-fnested-functions"/> | |
| <fileset dir="${dir.src.main.c.jni}" includes="*.c"/> | |
| <libset dir="${dir.xs.lib}" libs="${dir.xs.libname}"/> | |
| </cpptasks:cc> | |
| @@ -261,7 +263,7 @@ | |
| <target name="run" depends="jni.geno,jar.main"> | |
| <java fork="true" classname="${cn}"> | |
| - <sysproperty key="java.library.path" value="${dir.cbuild.dll}"/> | |
| + <sysproperty key="java.library.path" value="${dir.cbuild.sharedlibrary}"/> | |
| <classpath refid="cp.run-main"/> | |
| <arg line="${args}"/> | |
| </java> | |
| @@ -269,7 +271,7 @@ | |
| <target name="perf" depends="jni.geno,jar.main,jar.perf"> | |
| <java fork="true" classname="${cn}"> | |
| - <sysproperty key="java.library.path" value="${dir.cbuild.dll}"/> | |
| + <sysproperty key="java.library.path" value="${dir.cbuild.sharedlibrary}"/> | |
| <classpath refid="cp.run-perf"/> | |
| <arg line="${args}"/> | |
| </java> | |
| diff --git a/src/main/c/jni/XsOption.c b/src/main/c/jni/XsOption.c | |
| index 7dc50b5..02ee732 100644 | |
| --- a/src/main/c/jni/XsOption.c | |
| +++ b/src/main/c/jni/XsOption.c | |
| @@ -1,5 +1,5 @@ | |
| #include "XsUtil.h" | |
| - | |
| +#include <inttypes.h> | |
| #include "io_crossroads_jni_XsOption.h" | |
| JNIEXPORT jint JNICALL Java_io_crossroads_jni_XsOption_call_1getsockopt_1int(JNIEnv* env, | |
| @@ -94,7 +94,8 @@ JNIEXPORT jint JNICALL Java_io_crossroads_jni_XsOption_call_1getsockopt_1long(JN | |
| jfieldID i_socket = 0; | |
| long f_socket = 0; | |
| void* sock = 0; | |
| - unsigned __int64 oval = 0; | |
| + //unsigned __int64 oval = 0; | |
| + uint64_t oval = 0; | |
| size_t olen = sizeof(oval); | |
| // The class for the calling object | |
| @@ -263,7 +264,8 @@ JNIEXPORT jint JNICALL Java_io_crossroads_jni_XsOption_call_1setsockopt_1long(JN | |
| jfieldID i_socket = 0; | |
| long f_socket = 0; | |
| void* sock = 0; | |
| - unsigned __int64 oval = 0; | |
| + //unsigned __int64 oval = 0; | |
| + uint64_t oval = 0; | |
| size_t olen = sizeof(oval); | |
| // The class for the calling object |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment