New JNI library (Now including libusbx 1.0.14) and also added 32 bit
linux lib
This commit is contained in:
parent
0f0292eda9
commit
f347f4770d
1
src/main/c/.gitignore
vendored
Normal file
1
src/main/c/.gitignore
vendored
Normal file
@ -0,0 +1 @@
|
||||
/downloads
|
||||
@ -12,27 +12,49 @@
|
||||
# library.
|
||||
|
||||
set -e
|
||||
cd $(dirname $0)/..
|
||||
cd "$(dirname $0)/.."
|
||||
|
||||
OS=linux
|
||||
ARCH=x86
|
||||
TMPDIR=$(pwd)/tmp
|
||||
DISTDIR=$(pwd)/../resources/de/ailis/usb4java/jni/${OS}-${ARCH}
|
||||
OS="linux"
|
||||
ARCH="x86"
|
||||
LIBUSBX_VERSION="1.0.14"
|
||||
LIBUSBX_ARCHIVE="libusbx-$LIBUSBX_VERSION.tar.bz2"
|
||||
TMPDIR="$(pwd)/tmp"
|
||||
DOWNLOADS="$(pwd)/downloads"
|
||||
DISTDIR="$(pwd)/../resources/de/ailis/usb4java/libusb/${OS}-${ARCH}"
|
||||
|
||||
# Clean up
|
||||
rm -rf $TMPDIR
|
||||
rm -rf $DISTDIR
|
||||
rm -rf "$TMPDIR"
|
||||
rm -rf "$DISTDIR"
|
||||
|
||||
# Build autoconf stuff if needed
|
||||
# Download libusbx if necessary
|
||||
mkdir -p "$DOWNLOADS"
|
||||
if [ ! -e "$DOWNLOADS/$LIBUSBX_ARCHIVE" ]
|
||||
then
|
||||
wget -O "$DOWNLOADS/$LIBUSBX_ARCHIVE" "http://downloads.sourceforge.net/project/libusbx/releases/$LIBUSBX_VERSION/source/$LIBUSBX_ARCHIVE"
|
||||
fi
|
||||
|
||||
# Unpack and compile libusbx
|
||||
mkdir -p "$TMPDIR"
|
||||
cd "$TMPDIR"
|
||||
tar xfj "$DOWNLOADS/$LIBUSBX_ARCHIVE"
|
||||
cd "libusbx-$LIBUSBX_VERSION"
|
||||
CFLAGS="-m32" ./configure "--prefix=$TMPDIR" --disable-shared --with-pic
|
||||
make
|
||||
make install
|
||||
|
||||
# Build autoconf stuff of usb4java if needed
|
||||
cd "$TMPDIR/.."
|
||||
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/
|
||||
chmod -x $DISTDIR/libusb4java.so
|
||||
PKG_CONFIG_PATH="$TMPDIR/lib/pkgconfig" CFLAGS="-m32" ./configure --prefix=/
|
||||
make clean install-strip DESTDIR="$TMPDIR"
|
||||
mkdir -p "$DISTDIR"
|
||||
cp -faL "$TMPDIR/lib/libusb4java.so" "$DISTDIR/"
|
||||
chmod -x "$DISTDIR/libusb4java.so"
|
||||
|
||||
# Cleanup
|
||||
rm -rf $TMPDIR
|
||||
|
||||
@ -1,31 +1,60 @@
|
||||
#!/bin/sh
|
||||
#
|
||||
# Builds libusb4java for 64 bit linux.
|
||||
# Must be executed on 64 bit linux machine and must have libusb-1.0-0-dev
|
||||
# installed.
|
||||
# Builds libusb4java for 32 bit linux.
|
||||
#
|
||||
# If running on 32 bit linux you just need libusb-1.0-0-dev.
|
||||
#
|
||||
# If running on 64 bit linux you need ia32-libs-dev and libc6-dev-i386
|
||||
# or gcc-multilib and libusb-1.0-0:i386 or something like that on newer
|
||||
# systems. Depending on your multilib installation it may be required to
|
||||
# create a manual symlink libusb.so in /lib/i386-linux-gnu or otherwise
|
||||
# compilation will fail because the compiler can't find the 32 bit
|
||||
# library.
|
||||
|
||||
set -e
|
||||
cd $(dirname $0)/..
|
||||
cd "$(dirname $0)/.."
|
||||
|
||||
OS=linux
|
||||
ARCH=x86_64
|
||||
TMPDIR=$(pwd)/tmp
|
||||
DISTDIR=$(pwd)/../resources/de/ailis/usb4java/libusb/${OS}-${ARCH}
|
||||
OS="linux"
|
||||
ARCH="x86_64"
|
||||
LIBUSBX_VERSION="1.0.14"
|
||||
LIBUSBX_ARCHIVE="libusbx-$LIBUSBX_VERSION.tar.bz2"
|
||||
TMPDIR="$(pwd)/tmp"
|
||||
DOWNLOADS="$(pwd)/downloads"
|
||||
DISTDIR="$(pwd)/../resources/de/ailis/usb4java/libusb/${OS}-${ARCH}"
|
||||
|
||||
# Clean up
|
||||
rm -rf $TMPDIR
|
||||
rm -rf $DISTDIR/libusb4java.so
|
||||
rm -rf "$TMPDIR"
|
||||
rm -rf "$DISTDIR"
|
||||
|
||||
# Build autoconf stuff if needed
|
||||
# Download libusbx if necessary
|
||||
mkdir -p "$DOWNLOADS"
|
||||
if [ ! -e "$DOWNLOADS/$LIBUSBX_ARCHIVE" ]
|
||||
then
|
||||
wget -O "$DOWNLOADS/$LIBUSBX_ARCHIVE" "http://downloads.sourceforge.net/project/libusbx/releases/$LIBUSBX_VERSION/source/$LIBUSBX_ARCHIVE"
|
||||
fi
|
||||
|
||||
# Unpack and compile libusbx
|
||||
mkdir -p "$TMPDIR"
|
||||
cd "$TMPDIR"
|
||||
tar xfj "$DOWNLOADS/$LIBUSBX_ARCHIVE"
|
||||
cd "libusbx-$LIBUSBX_VERSION"
|
||||
./configure "--prefix=$TMPDIR" --disable-shared --with-pic
|
||||
make
|
||||
make install
|
||||
|
||||
# Build autoconf stuff of usb4java if needed
|
||||
cd "$TMPDIR/.."
|
||||
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/
|
||||
chmod -x $DISTDIR/libusb4java.so
|
||||
PKG_CONFIG_PATH="$TMPDIR/lib/pkgconfig" ./configure --prefix=/
|
||||
make clean install-strip DESTDIR="$TMPDIR"
|
||||
mkdir -p "$DISTDIR"
|
||||
cp -faL "$TMPDIR/lib/libusb4java.so" "$DISTDIR/"
|
||||
chmod -x "$DISTDIR/libusb4java.so"
|
||||
|
||||
# Cleanup
|
||||
rm -rf $TMPDIR
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
lib_LTLIBRARIES = libusb4java.la
|
||||
libusb4java_la_CFLAGS = -Wall -Werror $(LIBUSB_CFLAGS)
|
||||
libusb4java_la_LIBADD = $(LIBUSB_LIBS)
|
||||
libusb4java_la_LIBADD = $(LIBUSB_LIBS) -lrt
|
||||
libusb4java_la_LDFLAGS = -version-info 1:0:0 -no-undefined
|
||||
EXTRA_DIST = *.h
|
||||
libusb4java_la_SOURCES = \
|
||||
|
||||
@ -191,7 +191,7 @@ public final class Loader
|
||||
private static String getExtraLibName()
|
||||
{
|
||||
final String os = getOS();
|
||||
if (os.equals(OS_LINUX)) return "libusb-1.0." + EXT_SO;
|
||||
if (os.equals(OS_LINUX)) return null;
|
||||
if (os.equals(OS_WINDOWS)) return "libusb0." + EXT_DLL;
|
||||
if (os.equals(OS_MACOSX)) return "libusb." + EXT_DYLIB;
|
||||
return null;
|
||||
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Loading…
Reference in New Issue
Block a user