diff options
author | Benjamin Dobell <benjamin.dobell+github@glassechidna.com.au> | 2010-12-04 14:25:04 +0100 |
---|---|---|
committer | Benjamin Dobell <benjamin.dobell+github@glassechidna.com.au> | 2010-12-04 14:25:04 +0100 |
commit | 46f2c1134d276944fb74584a61d90cc363aee7eb (patch) | |
tree | 6fa14b7ef509a3fb84305dec013dd24bcae6c17d /libusb-1.0/autogen.sh | |
parent | Addresses: (diff) | |
download | Heimdall-46f2c1134d276944fb74584a61d90cc363aee7eb.tar Heimdall-46f2c1134d276944fb74584a61d90cc363aee7eb.tar.gz Heimdall-46f2c1134d276944fb74584a61d90cc363aee7eb.tar.bz2 Heimdall-46f2c1134d276944fb74584a61d90cc363aee7eb.tar.lz Heimdall-46f2c1134d276944fb74584a61d90cc363aee7eb.tar.xz Heimdall-46f2c1134d276944fb74584a61d90cc363aee7eb.tar.zst Heimdall-46f2c1134d276944fb74584a61d90cc363aee7eb.zip |
Diffstat (limited to 'libusb-1.0/autogen.sh')
-rw-r--r-- | libusb-1.0/autogen.sh | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/libusb-1.0/autogen.sh b/libusb-1.0/autogen.sh new file mode 100644 index 0000000..ae06b2f --- /dev/null +++ b/libusb-1.0/autogen.sh @@ -0,0 +1,40 @@ +#!/bin/sh + +# rebuilds the Windows def file by parsing the core and exporting all API_EXPORTED call +create_def() +{ + echo "rebuidling libusb-1.0.def file" + echo "LIBRARY" > libusb/libusb-1.0.def + echo "EXPORTS" >> libusb/libusb-1.0.def + sed -n -e "s/.*API_EXPORTED.*\([[:blank:]]\)\(libusb.*\)(.*/ \2/p" libusb/*.c >> libusb/libusb-1.0.def + sed -n -e "s/.*LIBUSB_CALL.*\([[:blank:]]\)\(libusb.*\)(.*/ \2/p" libusb/*.c >> libusb/libusb-1.0.def + # We need to manually define a whole set of DLL aliases if we want the MS + # DLLs to be usable with dynamically linked MinGW executables. This is + # because it is not possible to avoid the @ decoration from import WINAPI + # calls in MinGW generated objects, and .def based MS generated DLLs don't + # have such a decoration => linking to MS DLL will fail without aliases. + # Currently, the maximum size is 32 and all sizes are multiples of 4 + for i in 0 4 8 12 16 20 24 28 32 + do + sed -n -e "s/.*API_EXPORTED.*\([[:blank:]]\)\(libusb.*\)(.*/ \2@$i = \2/p" libusb/*.c >> libusb/libusb-1.0.def + sed -n -e "s/.*LIBUSB_CALL.*\([[:blank:]]\)\(libusb.*\)(.*/ \2@$i = \2/p" libusb/*.c >> libusb/libusb-1.0.def + done +} + +# use glibtoolize if it is available (darwin) +(glibtoolize --version) < /dev/null > /dev/null 2>&1 && LIBTOOLIZE=glibtoolize || LIBTOOLIZE=libtoolize + +$LIBTOOLIZE --copy --force || exit 1 +# If available, apply libtool's NLS patch to set locale to C always. +# Prevents an issue when compiling shared libs with MinGW on Chinese locale. +# see: http://lists.gnu.org/archive/html/bug-libtool/2010-03/msg00012.html +type -P patch &>/dev/null && { if [ -e "libtool-nls.diff" ]; then patch -p1 -Nl -i libtool-nls.diff &>/dev/null; fi; } +# +aclocal || exit 1 +autoheader || exit 1 +autoconf || exit 1 +automake -a -c || exit 1 +./configure --enable-maintainer-mode --enable-debug-log \ + --enable-examples-build $* +# rebuild .def, if sed is available +type -P sed &>/dev/null && create_def
\ No newline at end of file |