diff --git a/src/main/c/build.xml b/src/main/c/build.xml deleted file mode 100644 index 0372e4b..0000000 --- a/src/main/c/build.xml +++ /dev/null @@ -1,95 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --prefix=/ - -m32 - linux - x86 - lib/libusb4java.so - libusb4java.so - - - - - - - --prefix=/ - -m64 - linux - x86_64 - lib/libusb4java.so - libusb4java.so - - - - - - - - - - --prefix=/ --host=i586-mingw32msvc --with-libusb-includes=${tmpDir}/libusb-win32-bin-${libusbwin32.version}/include --with-libusb-libs=${tmpDir}/libusb-win32-bin-${libusbwin32.version}/lib/gcc,${tmpDir}/libusb-win32-bin-${libusbwin32.version}/bin/x86 - - windows - x86 - bin/libusb4java-0.dll - libusb4java.dll - - - - - - - - - - --prefix=/ --host=amd64-mingw32msvc --with-libusb-includes=${tmpDir}/libusb-win32-bin-${libusbwin32.version}/include --with-libusb-libs=${tmpDir}/libusb-win32-bin-${libusbwin32.version}/lib/gcc,${tmpDir}/libusb-win32-bin-${libusbwin32.version}/bin/amd64 - - windows - x86_64 - bin/libusb4java-0.dll - libusb4java.dll - - - - - Targets: - linux-x86 Compile for linux x86. - linux-x86_64 Compile for linux x86_64. - linux-windows-x86 Cross-compile on linux for windows x86. - linux-windows-x86_64 Cross-compile on linux for windows x86_64. - - - \ No newline at end of file diff --git a/src/main/c/build/linux-x86.sh b/src/main/c/build/linux-x86.sh new file mode 100755 index 0000000..0e29086 --- /dev/null +++ b/src/main/c/build/linux-x86.sh @@ -0,0 +1,30 @@ +#!/bin/sh +# +# Builds libusb4java for 32 bit linux. +# If running on 32 bit linux you need libusb-dev. +# If running on 64 bit linux you need ia32-libs-dev and libc6-dev-i386. + +set -e +cd $(dirname $0)/.. + +OS=linux +ARCH=x86 +TMPDIR=$(pwd)/tmp +DISTDIR=$(pwd)/../assembly/${OS}-${ARCH} + +# Clean up +rm -rf $TMPDIR +rm -rf $DISTDIR + +# Build autoconf stuff if needed +if [ ! -e configure ] +then + make -f Makefile.scm +fi + +# Build libusb4java +./configure --prefix=/ CFLAGS="-m32" +make clean install-strip DESTDIR=$TMPDIR +mkdir -p $DISTDIR +cp -faL $TMPDIR/lib/libusb4java.so $DISTDIR/ +rm -rf $TMPDIR diff --git a/src/main/c/build/linux-x86_64.sh b/src/main/c/build/linux-x86_64.sh new file mode 100755 index 0000000..4cd1c31 --- /dev/null +++ b/src/main/c/build/linux-x86_64.sh @@ -0,0 +1,29 @@ +#!/bin/sh +# +# Builds libusb4java for 64 bit linux. +# Must be executed on 64 bit linux machine and must have libusb-dev installed. + +set -e +cd $(dirname $0)/.. + +OS=linux +ARCH=x86_64 +TMPDIR=$(pwd)/tmp +DISTDIR=$(pwd)/../assembly/${OS}-${ARCH} + +# Clean up +rm -rf $TMPDIR +rm -rf $DISTDIR + +# Build autoconf stuff if needed +if [ ! -e configure ] +then + make -f Makefile.scm +fi + +# Build libusb4java +./configure --prefix=/ CFLAGS="-m64" +make clean install-strip DESTDIR=$TMPDIR +mkdir -p $DISTDIR +cp -faL $TMPDIR/lib/libusb4java.so $DISTDIR/ +rm -rf $TMPDIR diff --git a/src/main/c/build/mingw-windows-x86.sh b/src/main/c/build/mingw-windows-x86.sh new file mode 100755 index 0000000..ec8a5df --- /dev/null +++ b/src/main/c/build/mingw-windows-x86.sh @@ -0,0 +1,45 @@ +#!/bin/sh +# +# Cross-compiles libusb4java for 64 bit windows using mingw. +# libusb-dev is needed. + +set -e +cd $(dirname $0)/.. + +OS=windows +ARCH=x86 +TMPDIR=$(pwd)/tmp +DISTDIR=$(pwd)/../assembly/${OS}-${ARCH} + +# Clean up +rm -rf $TMPDIR +rm -rf $DISTDIR + +# Download and unpack libusb-win32 +LIBUSBWIN32_VERSION=1.2.2.0 +mkdir -p $TMPDIR +wget -O $TMPDIR/libusb-win32.zip "http://downloads.sourceforge.net/project/libusb-win32/libusb-win32-releases/$LIBUSBWIN32_VERSION/libusb-win32-bin-$LIBUSBWIN32_VERSION.zip" +cd $TMPDIR +unzip libusb-win32.zip +INCLUDES=$TMPDIR/libusb-win32-bin-$LIBUSBWIN32_VERSION/include +LIBS=$TMPDIR/libusb-win32-bin-$LIBUSBWIN32_VERSION/lib/gcc +BINS=$TMPDIR/libusb-win32-bin-$LIBUSBWIN32_VERSION/bin/x86 +cd .. + +# Create autoconf stuff if needed +if [ ! -e configure ] +then + make -f Makefile.scm +fi + +# Build libusb4java +./configure \ + --prefix=/ \ + --host=i586-mingw32msvc \ + --with-libusb-includes=$INCLUDES \ + --with-libusb-libs=$LIBS,$BINS +make clean install-strip DESTDIR=$TMPDIR +mkdir -p $DISTDIR +cp -faL $TMPDIR/bin/libusb4java-0.dll $DISTDIR/libusb4java.dll +cp -faL $BINS/libusb0_x86.dll $DISTDIR/libusb0.dll +rm -rf $TMPDIR diff --git a/src/main/c/build/mingw-windows-x86_64.sh b/src/main/c/build/mingw-windows-x86_64.sh new file mode 100755 index 0000000..9c98106 --- /dev/null +++ b/src/main/c/build/mingw-windows-x86_64.sh @@ -0,0 +1,45 @@ +#!/bin/sh +# +# Cross-compiles libusb4java for 64 bit windows using mingw. +# libusb-dev is needed. + +set -e +cd $(dirname $0)/.. + +OS=windows +ARCH=x86_64 +TMPDIR=$(pwd)/tmp +DISTDIR=$(pwd)/../assembly/${OS}-${ARCH} + +# Clean up +rm -rf $TMPDIR +rm -rf $DISTDIR + +# Download and unpack libusb-win32 +LIBUSBWIN32_VERSION=1.2.2.0 +mkdir -p $TMPDIR +wget -O $TMPDIR/libusb-win32.zip "http://downloads.sourceforge.net/project/libusb-win32/libusb-win32-releases/$LIBUSBWIN32_VERSION/libusb-win32-bin-$LIBUSBWIN32_VERSION.zip" +cd $TMPDIR +unzip libusb-win32.zip +INCLUDES=$TMPDIR/libusb-win32-bin-$LIBUSBWIN32_VERSION/include +LIBS=$TMPDIR/libusb-win32-bin-$LIBUSBWIN32_VERSION/lib/gcc +BINS=$TMPDIR/libusb-win32-bin-$LIBUSBWIN32_VERSION/bin/amd64 +cd .. + +# Create autoconf stuff if needed +if [ ! -e configure ] +then + make -f Makefile.scm +fi + +# Build libusb4java +./configure \ + --prefix=/ \ + --host=amd64-mingw32msvc \ + --with-libusb-includes=$INCLUDES \ + --with-libusb-libs=$LIBS,$BINS +make clean install-strip DESTDIR=$TMPDIR +mkdir -p $DISTDIR +cp -faL $TMPDIR/bin/libusb4java-0.dll $DISTDIR/libusb4java.dll +cp -faL $BINS/libusb0.dll $DISTDIR/libusb0.dll +rm -rf $TMPDIR