Add support to statically build udev (eudev in this case, since it's much simpler to just get it to build libudev).
Add -O2 to CFLAGS (-Os for ARM), needed for optimization and warnings. Add appropriate HOST variables to osx-*.sh.
This commit is contained in:
parent
1b4126cc90
commit
28f693b463
@ -3,6 +3,8 @@ SRCDIR="$(pwd)/.."
|
||||
TMPDIR="$SRCDIR/tmp"
|
||||
DOWNLOADS="$SRCDIR/downloads"
|
||||
|
||||
UDEV_VERSION="1.1"
|
||||
|
||||
LIBUSB="stable"
|
||||
LIBUSB_STABLE_VERSION="1.0.16"
|
||||
LIBUSB_STABLE_RC=""
|
||||
@ -11,6 +13,10 @@ LIBUSB_BETA_RC="-rc3"
|
||||
|
||||
build()
|
||||
{
|
||||
UDEV_NAME="eudev-$UDEV_VERSION"
|
||||
UDEV_ARCHIVE="$UDEV_NAME.tar.gz"
|
||||
UDEV_URL="http://dev.gentoo.org/~blueness/eudev/$UDEV_ARCHIVE"
|
||||
|
||||
if [ "$LIBUSB" = "stable" ]
|
||||
then
|
||||
LIBUSB_NAME="libusbx-$LIBUSB_STABLE_VERSION$LIBUSB_STABLE_RC"
|
||||
@ -28,16 +34,59 @@ build()
|
||||
rm -rf "$TMPDIR"
|
||||
rm -rf "$DISTDIR"
|
||||
|
||||
# Udev available only on Linux
|
||||
if [ "$OS" = "linux" ]
|
||||
then
|
||||
|
||||
if [ "$UDEV_SUPPORT" = "yes" ]
|
||||
then
|
||||
# Download udev if necessary
|
||||
mkdir -p "$DOWNLOADS"
|
||||
if [ ! -e "$DOWNLOADS/$UDEV_ARCHIVE" ]
|
||||
then
|
||||
if type curl >/dev/null 2>&1
|
||||
then
|
||||
curl -L -o "$DOWNLOADS/$UDEV_ARCHIVE" "$UDEV_URL"
|
||||
else
|
||||
wget -O "$DOWNLOADS/$UDEV_ARCHIVE" "$UDEV_URL"
|
||||
fi
|
||||
fi
|
||||
|
||||
UDEV_CONFIG="--enable-split-usr --disable-gtk-doc --disable-manpages --disable-gudev \
|
||||
--disable-introspection --disable-keymap --disable-libkmod --disable-modules \
|
||||
--disable-selinux --disable-rule-generator --disable-blkid $UDEV_CONFIG"
|
||||
|
||||
# Unpack and compile udev
|
||||
mkdir -p "$TMPDIR"
|
||||
cd "$TMPDIR"
|
||||
tar xfz "$DOWNLOADS/$UDEV_ARCHIVE"
|
||||
cd "$UDEV_NAME"
|
||||
LIBS="$UDEV_LIBS" \
|
||||
CFLAGS="$CFLAGS $UDEV_CFLAGS" \
|
||||
./configure --prefix="$TMPDIR" --host="$HOST" --with-pic --enable-static \
|
||||
--disable-shared $UDEV_CONFIG
|
||||
make
|
||||
make install-strip
|
||||
|
||||
# Enable udev support if selected
|
||||
LIBUSB_CONFIG="--enable-udev $LIBUSB_CONFIG"
|
||||
else
|
||||
# Disable udev support if not selected
|
||||
LIBUSB_CONFIG="--disable-udev $LIBUSB_CONFIG"
|
||||
fi
|
||||
|
||||
fi
|
||||
|
||||
# Download libusb if necessary
|
||||
mkdir -p "$DOWNLOADS"
|
||||
if [ ! -e "$DOWNLOADS/$LIBUSB_ARCHIVE" ]
|
||||
then
|
||||
if type curl >/dev/null 2>&1
|
||||
then
|
||||
curl -L -o "$DOWNLOADS/$LIBUSB_ARCHIVE" "$LIBUSB_URL"
|
||||
else
|
||||
wget -O "$DOWNLOADS/$LIBUSB_ARCHIVE" "$LIBUSB_URL"
|
||||
fi
|
||||
if type curl >/dev/null 2>&1
|
||||
then
|
||||
curl -L -o "$DOWNLOADS/$LIBUSB_ARCHIVE" "$LIBUSB_URL"
|
||||
else
|
||||
wget -O "$DOWNLOADS/$LIBUSB_ARCHIVE" "$LIBUSB_URL"
|
||||
fi
|
||||
fi
|
||||
|
||||
# Unpack and compile libusb
|
||||
@ -45,8 +94,11 @@ build()
|
||||
cd "$TMPDIR"
|
||||
tar xfj "$DOWNLOADS/$LIBUSB_ARCHIVE"
|
||||
cd "$LIBUSB_NAME"
|
||||
PKG_CONFIG_PATH="$TMPDIR/lib/pkgconfig" \
|
||||
LIBS="$LIBUSB_LIBS" \
|
||||
CFLAGS="$CFLAGS $LIBUSB_CFLAGS" \
|
||||
./configure --prefix="$TMPDIR" --host="$HOST" --with-pic $LIBUSB_CONFIG
|
||||
./configure --prefix="$TMPDIR" --host="$HOST" --with-pic --enable-static \
|
||||
--disable-shared $LIBUSB_CONFIG
|
||||
make
|
||||
make install-strip
|
||||
|
||||
@ -54,7 +106,7 @@ build()
|
||||
cd "$SRCDIR"
|
||||
if [ ! -e configure ]
|
||||
then
|
||||
./autogen.sh
|
||||
./autogen.sh
|
||||
fi
|
||||
|
||||
# Build libusb4java
|
||||
|
||||
@ -9,7 +9,7 @@ set -e
|
||||
OS="linux"
|
||||
ARCH="arm"
|
||||
HOST="$ARCH-$OS-gnueabi"
|
||||
LIBUSB_CONFIG="--disable-shared"
|
||||
USB4JAVA_LIBS="-lrt"
|
||||
CFLAGS="-Os"
|
||||
UDEV_SUPPORT="yes"
|
||||
|
||||
build
|
||||
|
||||
@ -9,8 +9,7 @@ set -e
|
||||
OS="linux"
|
||||
ARCH="x86"
|
||||
HOST="$ARCH-$OS-gnu"
|
||||
CFLAGS="-m32"
|
||||
LIBUSB_CONFIG="--disable-shared --disable-udev"
|
||||
USB4JAVA_LIBS="-lrt"
|
||||
CFLAGS="-m32 -O2"
|
||||
UDEV_SUPPORT="yes"
|
||||
|
||||
build
|
||||
|
||||
@ -9,9 +9,8 @@ set -e
|
||||
OS="linux"
|
||||
ARCH="x86_64"
|
||||
HOST="$ARCH-$OS-gnu"
|
||||
CFLAGS="-m64 -Wl,--wrap=memcpy"
|
||||
LIBUSB_CONFIG="--disable-shared --disable-udev"
|
||||
USB4JAVA_LIBS="-lrt"
|
||||
USB4JAVA_CFLAGS="-DWRAP_MEMCPY"
|
||||
CFLAGS="-m64 -O2"
|
||||
UDEV_SUPPORT="yes"
|
||||
#USB4JAVA_CFLAGS="-Wl,--wrap=memcpy -DWRAP_MEMCPY"
|
||||
|
||||
build
|
||||
|
||||
@ -9,8 +9,8 @@ set -e
|
||||
|
||||
OS="osx"
|
||||
ARCH="x86"
|
||||
CFLAGS="-arch i686"
|
||||
LIBUSB_CONFIG="--disable-shared"
|
||||
HOST="i686-apple-darwin"
|
||||
CFLAGS="-arch i686 -O2"
|
||||
USB4JAVA_LIBS="-lobjc -Wl,-framework,IOKit -Wl,-framework,CoreFoundation"
|
||||
|
||||
build
|
||||
|
||||
@ -9,8 +9,8 @@ set -e
|
||||
|
||||
OS="osx"
|
||||
ARCH="x86_64"
|
||||
CFLAGS="-arch x86_64"
|
||||
LIBUSB_CONFIG="--disable-shared"
|
||||
HOST="$ARCH-apple-darwin"
|
||||
CFLAGS="-arch x86_64 -O2"
|
||||
USB4JAVA_LIBS="-lobjc -Wl,-framework,IOKit -Wl,-framework,CoreFoundation"
|
||||
|
||||
build
|
||||
|
||||
@ -9,6 +9,6 @@ set -e
|
||||
OS="windows"
|
||||
ARCH="x86"
|
||||
HOST="i686-w64-mingw32"
|
||||
CFLAGS="-m32 -Wl,--add-stdcall-alias"
|
||||
CFLAGS="-m32 -O2 -Wl,--add-stdcall-alias"
|
||||
|
||||
build
|
||||
|
||||
@ -9,6 +9,6 @@ set -e
|
||||
OS="windows"
|
||||
ARCH="x86_64"
|
||||
HOST="$ARCH-w64-mingw32"
|
||||
CFLAGS="-m64 -Wl,--add-stdcall-alias"
|
||||
CFLAGS="-m64 -O2 -Wl,--add-stdcall-alias"
|
||||
|
||||
build
|
||||
|
||||
Loading…
Reference in New Issue
Block a user