129 lines
4.5 KiB
Diff
129 lines
4.5 KiB
Diff
--- jna-3.0.2.default/build.xml 2008-02-28 14:34:44.000000000 -0500
|
|
+++ jna-3.0.2/build.xml 2008-04-03 23:20:07.000000000 -0400
|
|
@@ -17,6 +17,8 @@
|
|
<property name="jar" value="${name}.jar"/>
|
|
<property name="debug" value="true"/>
|
|
<property name="debug.native" value="false"/>
|
|
+ <property name="cflags_extra.native" value=""/>
|
|
+ <property name="dynlink.native" value="false"/>
|
|
<property name="native" location="native"/>
|
|
<property name="src" location="src"/>
|
|
<property name="dist" location="dist"/>
|
|
@@ -311,6 +313,8 @@
|
|
<arg value="JAVA_HOME=${jdk.home}"/>
|
|
<arg value="JAVAH=${build.native}"/>
|
|
<arg value="DEBUG=${debug.native}"/>
|
|
+ <arg value="CFLAGS_EXTRA=${cflags_extra.native}"/>
|
|
+ <arg value="DYNAMIC_LINK=${dynlink.native}"/>
|
|
<arg value="${make.CC}"/>
|
|
<arg value="${make.BUILD}"/>
|
|
<arg value="${make.SDKROOT}"/>
|
|
@@ -319,6 +323,19 @@
|
|
<arg value="VERSION=${jni.version}"/>
|
|
<arg value="CHECKSUM=${jni.md5}"/>
|
|
</exec>
|
|
+ <antcall target="native-mixedjar"/>
|
|
+ <!-- For web start, native libraries may be provided in the root of -->
|
|
+ <!-- an included jar file -->
|
|
+ <jar jarfile="${build}/${native.jar}">
|
|
+ <fileset dir="${build.native}" includes="jnidispatch.dll,libjnidispatch.*"/>
|
|
+ <manifest>
|
|
+ <attribute name="Implementation-Version" value="${jni.version} b${jni.build}"/>
|
|
+ <attribute name="Specification-Version" value="${jni.version}"/>
|
|
+ </manifest>
|
|
+ </jar>
|
|
+ </target>
|
|
+
|
|
+ <target name="native-mixedjar" unless="nomixedjar.native">
|
|
<mkdir dir="${classes}/com/sun/jna/${os.prefix}"/>
|
|
<copy todir="${classes}/com/sun/jna/${os.prefix}">
|
|
<fileset dir="${build.native}"
|
|
@@ -330,15 +347,6 @@
|
|
<fileset dir="${build.native}"
|
|
includes="jnidispatch.dll,libjnidispatch.*"/>
|
|
</copy>
|
|
- <!-- For web start, native libraries may be provided in the root of -->
|
|
- <!-- an included jar file -->
|
|
- <jar jarfile="${build}/${native.jar}">
|
|
- <fileset dir="${build.native}" includes="jnidispatch.dll,libjnidispatch.*"/>
|
|
- <manifest>
|
|
- <attribute name="Implementation-Version" value="${jni.version} b${jni.build}"/>
|
|
- <attribute name="Specification-Version" value="${jni.version}"/>
|
|
- </manifest>
|
|
- </jar>
|
|
</target>
|
|
|
|
<target name="compile-tests" depends="compile,native"
|
|
--- jna-3.0.2.default/native/Makefile 2008-02-27 23:28:13.000000000 -0500
|
|
+++ jna-3.0.2/native/Makefile 2008-04-03 21:45:21.000000000 -0400
|
|
@@ -38,10 +38,12 @@
|
|
INSTALLDIR=../build/$(OS)
|
|
JNIDISPATCH_OBJS=$(BUILD)/dispatch.o $(BUILD)/callback.o $(EXTRAOBJS)
|
|
RSRC=$(BUILD)/rsrc.o
|
|
+ifneq ($(DYNAMIC_LINK),true)
|
|
FFI_SRC=$(shell pwd)/libffi
|
|
FFI_BUILD=$(BUILD)/libffi
|
|
FFI_LIB=$(FFI_BUILD)/.libs/libffi_convenience.a
|
|
FFI_CONFIG=--disable-static --with-pic=yes
|
|
+endif
|
|
LIBRARY=$(BUILD)/$(LIBPFX)jnidispatch$(JNISFX)
|
|
TESTLIB=$(BUILD)/$(LIBPFX)testlib$(LIBSFX)
|
|
|
|
@@ -51,6 +53,7 @@
|
|
JNISFX=$(LIBSFX)
|
|
CC=gcc
|
|
LD=gcc
|
|
+LIBS=
|
|
# Default to Sun recommendations for JNI compilation
|
|
#COPT=-O2 -fomit-frame-pointer
|
|
COPT=-fno-omit-frame-pointer -fno-strict-aliasing
|
|
@@ -58,14 +61,22 @@
|
|
ifeq ($(DEBUG),true)
|
|
CDEBUG=-g
|
|
endif
|
|
+CFLAGS_EXTRA=
|
|
COUT=-o $@
|
|
CINCLUDES=$(JAVA_INCLUDES) -I"$(JAVAH)" -I$(FFI_BUILD)/include
|
|
CDEFINES=-D_REENTRANT
|
|
PCFLAGS=-W -Wall -Wno-unused -Wno-parentheses
|
|
-CFLAGS=$(PCFLAGS) $(COPT) $(CDEBUG) $(CDEFINES) $(CINCLUDES) \
|
|
+CFLAGS=$(PCFLAGS) $(CFLAGS_EXTRA) $(COPT) $(CDEBUG) $(CDEFINES) $(CINCLUDES) \
|
|
-DVERSION='"$(VERSION)"' -DCHECKSUM='"$(CHECKSUM)"'
|
|
+ifeq ($(DYNAMIC_LINK),true)
|
|
+CFLAGS += `pkg-config --cflags libffi`
|
|
+LIBS += `pkg-config --libs libffi`
|
|
+endif
|
|
+LDFLAGS=-o $@ -shared -Wl,-soname,$@
|
|
+ifneq ($(DYNAMIC_LINK),true)
|
|
# -static-libgcc avoids gcc library incompatibilities across linux systems
|
|
-LDFLAGS=-o $@ -shared -Wl,-soname,$@ -static-libgcc
|
|
+LDFLAGS += -static-libgcc
|
|
+endif
|
|
# Avoid bug in X11-based 1.5/1.6 VMs; dynamically load instead of linking
|
|
# See http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6539705
|
|
#LIBS=-L"$(LIBDIR)" -ljawt
|
|
@@ -187,6 +198,7 @@
|
|
$(CC) $(CFLAGS) -c $< $(COUT)
|
|
endif
|
|
|
|
+
|
|
all: $(LIBRARY) $(TESTLIB)
|
|
|
|
install:
|
|
@@ -202,6 +214,7 @@
|
|
$(TESTLIB): $(BUILD)/testlib.o
|
|
$(LD) $(LDFLAGS) $< $(TESTDEF)
|
|
|
|
+ifneq ($(DYNAMIC_LINK),true)
|
|
$(FFI_LIB):
|
|
@mkdir -p $(FFI_BUILD)
|
|
@if [ ! -f $(FFI_BUILD)/Makefile ]; then \
|
|
@@ -225,6 +238,7 @@
|
|
/usr/bin/libtool -static -o $@.tmp $(FFI_BUILD)/.libs/${@F} $(BUILD)/libffi.*/.libs/${@F}
|
|
mv $@.tmp $@
|
|
endif
|
|
+endif
|
|
|
|
clean:
|
|
$(RM) -rf $(BUILD)
|