ensure native bits get built for 'native' target and for tests

Esse commit está contido em:
Timothy Wall
2013-07-03 07:23:53 -04:00
commit 97449288eb
2 arquivos alterados com 19 adições e 9 exclusões
+3 -2
Ver Arquivo
@@ -51,6 +51,9 @@
referenced. (not really common) referenced. (not really common)
* eliminate type conversion contexts; these are almost entirely unused and
more complicated than just wrapping a native mapping in a utility function
* direct non-primitive array arguments (String[], Pointer[], NativeMapped[])
* auto-generate direct mappings/bindings on a per-method basis (perform a * auto-generate direct mappings/bindings on a per-method basis (perform a
method register on first call to an interface-mapped function) with method register on first call to an interface-mapped function) with
@@ -64,12 +67,10 @@
and forth multiple times). This also makes it easer to perform conversions and forth multiple times). This also makes it easer to perform conversions
(no native changes required). (no native changes required).
* direct/raw non-primitive array arguments (String[], Pointer[], NativeMapped[])
* ppc64 direct/raw failures (multiple) * ppc64 direct/raw failures (multiple)
* direct calls on ppc to varargs (callbacks) with FP args fail; avoid them for * direct calls on ppc to varargs (callbacks) with FP args fail; avoid them for
now now
* Callback.PostCallWrite.write() cf PostCallRead * Callback.PostCallWrite.write() cf PostCallRead
* eliminate type conversion contexts; these are almost entirely unused
* universal GCC build w/cross-compile (needs cross compilers...) * universal GCC build w/cross-compile (needs cross compilers...)
* return Pointer.SIZE/LONG_SIZE/WCHAR_SIZE in bits (for consistency with 1.5) * return Pointer.SIZE/LONG_SIZE/WCHAR_SIZE in bits (for consistency with 1.5)
+16 -7
Ver Arquivo
@@ -12,7 +12,8 @@
(cross-compile currently only configured/tested on w32ce-arm and (cross-compile currently only configured/tested on w32ce-arm and
android-arm/-x86) android-arm/-x86)
Use ANT_OPTS=-Dskip-native to skip building native parts. Use ANT_OPTS=-Dskip-native=false to build native parts, or directly
invoke the native or test targets
Use ANT_OPTS=-Dheadless to run tests headless Use ANT_OPTS=-Dheadless to run tests headless
Use ANT_OPTS=-Drelease to stage a final, non-snapshot version Use ANT_OPTS=-Drelease to stage a final, non-snapshot version
--> -->
@@ -78,9 +79,6 @@
<property name="impl.title" value="com.sun.jna"/> <property name="impl.title" value="com.sun.jna"/>
<property name="impl.vendor" value="${spec.vendor}"/> <property name="impl.vendor" value="${spec.vendor}"/>
<property name="impl.version" value="${jna.version} (b${jna.build})"/> <property name="impl.version" value="${jna.version} (b${jna.build})"/>
<condition property="jni.valid" value="true">
<isset property="skip-native"/>
</condition>
<!-- Set up restrictions for w32ce, based on JavaME/CDC --> <!-- Set up restrictions for w32ce, based on JavaME/CDC -->
<condition property="compatibility" value="1.4"> <condition property="compatibility" value="1.4">
@@ -138,6 +136,13 @@
<target name="-dynamic-properties"> <target name="-dynamic-properties">
<condition property="-native" value="true">
<not><isset property="build-native"/></not>
</condition>
<condition property="jni.valid" value="true">
<isset property="-native"/>
</condition>
<replaceregexp match="(&lt;version&gt;).*(&lt;/version&gt;)" <replaceregexp match="(&lt;version&gt;).*(&lt;/version&gt;)"
replace="\1${jna.version}\2" replace="\1${jna.version}\2"
file="${pom}"/> file="${pom}"/>
@@ -501,7 +506,7 @@ osname=macosx;processor=x86;processor=x86-64;processor=ppc
</subant> </subant>
</target> </target>
<target name="javah" depends="compile" unless="skip-native"> <target name="javah" depends="compile" unless="-native">
<javah classpath="${classes}" destdir="${build.native}" force="yes"> <javah classpath="${classes}" destdir="${build.native}" force="yes">
<class name="com.sun.jna.Function"/> <class name="com.sun.jna.Function"/>
<class name="com.sun.jna.Native"/> <class name="com.sun.jna.Native"/>
@@ -612,7 +617,7 @@ osname=macosx;processor=x86;processor=x86-64;processor=ppc
file="${rsrc}" byline="true"/> file="${rsrc}" byline="true"/>
</target> </target>
<target name="native" depends="-setup,javah,-native-api-check,rsrc" unless="skip-native" <target name="native" depends="-enable-native,-setup,javah,-native-api-check,rsrc" unless="-native"
description="Build native libraries. Use 'ant -DCC=xxx' to build using a compiler other than gcc"> description="Build native libraries. Use 'ant -DCC=xxx' to build using a compiler other than gcc">
<property name="comment" value="# auto-generated by ant"/> <property name="comment" value="# auto-generated by ant"/>
<replaceregexp match="^JNA_JNI_VERSION=.*" <replaceregexp match="^JNA_JNI_VERSION=.*"
@@ -832,9 +837,13 @@ osname=macosx;processor=x86;processor=x86-64;processor=ppc
<chmod file="${shared}/*.dll" perm="+x"/> <chmod file="${shared}/*.dll" perm="+x"/>
</target> </target>
<target name="-enable-native" unless="-native">
<property name="build-native" value="true"/>
</target>
<!-- When running tests from an IDE, be sure to set jna.library.path --> <!-- When running tests from an IDE, be sure to set jna.library.path -->
<!-- to where the test library (testlib) is found. --> <!-- to where the test library (testlib) is found. -->
<target name="test" depends="jar,compile-tests" unless="cross-compile" <target name="test" depends="-enable-native,jar,compile-tests" unless="cross-compile"
description="Run all unit tests"> description="Run all unit tests">
<property name="test.fork" value="yes"/> <property name="test.fork" value="yes"/>
<property name="reports.junit" location="${reports}/junit"/> <property name="reports.junit" location="${reports}/junit"/>