#! /bin/bash
RED="\033[31m"
NORMAL="\033[0m"
if [ ! -d MacOSX ]
then
echo -e $RED
echo "ERROR!"
echo "run ./MacOSX/configure from the source top directory"
echo -e $NORMAL
exit -1
fi
PCSC_CFLAGS=${PCSC_CFLAGS:--I$(pwd)/MacOSX}
PCSC_LIBS=${PCSC_LIBS:--framework PCSC}
LIBUSB_DIR=$(pkg-config --variable=libdir libusb-1.0)
LIBUSB_ARCHIVE="$LIBUSB_DIR"/libusb-1.0.a
LIBUSB_CFLAGS=$(pkg-config --cflags --static libusb-1.0)
LIBUSB_LIBS=$(pkg-config --libs --static libusb-1.0)
if ls "$LIBUSB_DIR"/libusb-1.0*.dylib 2> /dev/null
then
echo -en $RED
echo "*****************************"
echo "Dynamic library libusb found in $LIBUSB_DIR"
echo "*****************************"
echo -en $NORMAL
echo "Rename it to force a static link"
exit -1
fi
CFLAGS="$CFLAGS -DRESPONSECODE_DEFINED_IN_WINTYPES_H"
MAC_VERSION=$(sw_vers -productVersion | awk -F '.' '{print $1 * 1000 + $2}')
if [ $MAC_VERSION -le 10009 ]
then
UB=$(file $LIBUSB_ARCHIVE | grep "Mach-O universal binary")
echo $UB
if [ -z "$UB" ]
then
echo -en $RED
echo "*************************"
echo "No Universal Binary build"
echo "*************************"
echo -en $NORMAL
else
echo "Universal Binary build"
CFLAGS="$CFLAGS -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.8.sdk -arch i386 -arch x86_64"
fi
echo
fi
CONFIGURE_ARGS="--disable-dependency-tracking"
if [ -d /System/Library/CryptoTokenKit ]
then
CONFIGURE_ARGS="$CONFIGURE_ARGS --enable-syslog"
fi
if [ 10011 -gt $MAC_VERSION ]
then
DROPDIR="/usr/libexec/SmartCardServices/drivers"
else
DROPDIR="/usr/local/libexec/SmartCardServices/drivers"
fi
CONFIGURE_ARGS="$CONFIGURE_ARGS --disable-static"
CONFIGURE_ARGS="$CONFIGURE_ARGS --disable-pcsclite"
CONFIGURE_ARGS="$CONFIGURE_ARGS --enable-composite-as-multislot"
if [ ! -z "$BUNDLE_ID" ]
then
CONFIGURE_ARGS="$CONFIGURE_ARGS --disable-class"
CONFIGURE_ARGS="$CONFIGURE_ARGS --enable-bundle=ifd-ccid-$BUNDLE_ID.bundle"
CONFIGURE_ARGS="$CONFIGURE_ARGS --prefix=/fake/$BUNDLE_ID"
fi
set -x
./configure \
CFLAGS="$CFLAGS" \
PCSC_CFLAGS="$PCSC_CFLAGS" \
PCSC_LIBS="$PCSC_LIBS" \
LIBUSB_CFLAGS="$LIBUSB_CFLAGS" \
LIBUSB_LIBS="$LIBUSB_LIBS" \
LDFLAGS="$LDFLAGS" \
--enable-usbdropdir="$DROPDIR" \
$CONFIGURE_ARGS \
"$@"
r=$?
rm -f src/Info.plist
exit $r