diff options
Diffstat (limited to 'java/build.xml')
-rw-r--r-- | java/build.xml | 122 |
1 files changed, 122 insertions, 0 deletions
diff --git a/java/build.xml b/java/build.xml new file mode 100644 index 00000000..0f1b311a --- /dev/null +++ b/java/build.xml @@ -0,0 +1,122 @@ +<project default="build" name="ZeroTierOneSDK" basedir="."> + <property environment="env"/> + + <condition property="isWindows"> + <os family="windows"/> + </condition> + + <condition property="isMac"> + <os family="mac"/> + </condition> + + <target name="clean"> + <delete dir="bin" failonerror="false"/> + <delete dir="classes" failonerror="false"/> + <delete dir="build_win32" failonerror="false"/> + <delete dir="build_win64" failonerror="false"/> + <delete dir="mac32_64" failonerror="false"/> + <delete dir="libs" failonerror="false"/> + <delete dir="obj" failonerror="false"/> + </target> + + <target name="build_java"> + <echo message="os.name = ${os.name}"/> + <echo message="os.arch = ${os.arch}"/> + <echo message="ant.java.version = ${ant.java.version}"/> + <echo message="java.version = ${java.version}"/> + <mkdir dir="bin"/> + <mkdir dir="classes"/> + <javac srcdir="src" + destdir="classes" + source="1.7" + target="1.7" + classpath="${env.ANDROID_PLATFORM}/android.jar" + includeantruntime="false"/> + </target> + + <target name="build_android"> + <exec dir="jni" executable="${env.NDK_BUILD_LOC}" failonerror="true"> + <arg value="ZT1=${user.dir}/../"/> + </exec> + <copy file="libs/armeabi/libZeroTierOneJNI.so" + tofile="${user.dir}/classes/lib/armeabi/libZeroTierOneJNI.so" + overwrite="true"/> + <copy file="libs/arm64-v8a/libZeroTierOneJNI.so" + tofile="${user.dir}/classes/lib/arm64-v8a/libZeroTierOneJNI.so" + overwrite="true"/> + <copy file="libs/armeabi-v7a/libZeroTierOneJNI.so" + tofile="${user.dir}/classes/lib/armeabi-v7a/libZeroTierOneJNI.so" + overwrite="true"/> + <copy file="libs/x86/libZeroTierOneJNI.so" + tofile="${user.dir}/classes/lib/x86/libZeroTierOneJNI.so" + overwrite="true"/> + </target> + + + <target name="windows" if="isWindows"> + <mkdir dir="build_win32"/> + <exec dir="build_win32/" executable="cmake" failonerror="true"> + <arg line=".. -G"Visual Studio 11 2012" -DCMAKE_BUILD_TYPE=Release"/> + </exec> + <exec dir="build_win32/" executable="cmake" failonerror="true"> + <arg line="--build . --config Release"/> + </exec> + <copy file="build_win32/Release/ZeroTierOneJNI.dll" + tofile="classes/lib/ZeroTierOneJNI_win32.dll" + overwrite="true"/> + + <mkdir dir="build_win64"/> + <exec dir="build_win64/" executable="cmake" failonerror="true"> + <arg line=".. -G"Visual Studio 11 2012 Win64" -DCMAKE_BUILD_TYPE=Release"/> + </exec> + <exec dir="build_win64/" executable="cmake" failonerror="true"> + <arg line="--build . --config Release"/> + </exec> + <copy file="build_win64/Release/ZeroTierOneJNI.dll" + tofile="classes/lib/ZeroTierOneJNI_win64.dll" + overwrite="true"/> + </target> + + <target name="mac" if="isMac"> + <mkdir dir="mac32_64"/> + <exec dir="mac32_64/" executable="cmake" failonerror="true"> + <arg line=".. -DCMAKE_BUILD_TYPE=Release"/> + </exec> + <exec dir="mac32_64/" executable="cmake" failonerror="true"> + <arg line="--build . --config Release"/> + </exec> + <copy file="mac32_64/libZeroTierOneJNI.jnilib" + tofile="classes/lib/libZeroTierOneJNI.jnilib" + overwrite="true"/> + </target> + + <target name="build" depends="build_java,build_android,windows,mac"> + <jar destfile="bin/ZeroTierOneSDK.jar" basedir="classes"/> + </target> + + <target name="docs"> + <echo message="Generating Javadocs"/> + <mkdir dir="doc/"/> + <javadoc sourcepath="src/" + destdir="doc/"/> + </target> + +<!-- <target name="android" depends="build"> + <echo message="OS is Android, installing..."/> + <copy file="libs/armeabi/libZeroTierOneJNI.so" + tofile="${aproj_loc}/libs/armeabi/libZeroTierOneJNI.so" + overwrite="true"/> + <copy file="libs/arm64-v8a/libZeroTierOneJNI.so" + tofile="${aproj_loc}/libs/arm64-v8a/libZeroTierOneJNI.so" + overwrite="true"/> + <copy file="libs/armeabi-v7a/libZeroTierOneJNI.so" + tofile="${aproj_loc}/libs/armeabi-v7a/libZeroTierOneJNI.so" + overwrite="true"/> + <copy file="libs/x86/libZeroTierOneJNI.so" + tofile="${aproj_loc}/libs/x86/libZeroTierOneJNI.so" + overwrite="true"/> + <copy file="bin/ZeroTierOneSDK.jar" + tofile="${aproj_loc}/libs/ZeroTierOneSDK.jar" + overwrite="true"/> + </target> --> +</project>
\ No newline at end of file |