summaryrefslogtreecommitdiff
path: root/configure.ac
diff options
context:
space:
mode:
authorPete Batard <pbatard@gmail.com>2010-01-14 14:09:46 +0000
committerPete Batard <pbatard@gmail.com>2010-01-14 14:09:46 +0000
commite6ef1694db0c4e54d22c08e5824e979e3a71471b (patch)
tree03980698f8aba9640d56ea1015b9c076a62542b9 /configure.ac
parent995c7df391d6011e624006bfbb610ace18f9488f (diff)
downloadlibusb-e6ef1694db0c4e54d22c08e5824e979e3a71471b.tar.gz
r73: moved -pthread option to CFLAGS for platforms that need it
Diffstat (limited to 'configure.ac')
-rw-r--r--configure.ac283
1 files changed, 143 insertions, 140 deletions
diff --git a/configure.ac b/configure.ac
index c1100f4..af1b302 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1,140 +1,143 @@
-AC_INIT([libusb], [1.0.5])
-AM_INIT_AUTOMAKE
-AC_CONFIG_SRCDIR([libusb/core.c])
-AC_CONFIG_MACRO_DIR([m4])
-AM_CONFIG_HEADER([config.h])
-m4_ifdef([AM_SILENT_RULES],[AM_SILENT_RULES([yes])])
-
-AC_PREREQ([2.50])
-AC_PROG_CC
-AC_PROG_LIBTOOL
-AC_C_INLINE
-AM_PROG_CC_C_O
-AC_DEFINE([_GNU_SOURCE], [], [Use GNU extensions])
-
-AC_MSG_CHECKING([operating system])
-case $host in
-*-linux*)
- AC_DEFINE(OS_LINUX, [], [Linux backend])
- AC_SUBST(OS_LINUX)
- AC_MSG_RESULT([Linux])
- backend="linux"
- AC_CHECK_LIB(rt, clock_gettime)
- AM_LDFLAGS=""
- ;;
-*-darwin*)
- AC_DEFINE(OS_DARWIN, [], [Darwin backend])
- AC_SUBST(OS_DARWIN)
- AC_DEFINE(USBI_OS_HANDLES_TIMEOUT, [], [Backend handles timeout])
- AC_MSG_RESULT([Darwin/MacOS X])
- backend="darwin"
- AM_LDFLAGS="-Wl,-framework -Wl,IOKit -Wl,-framework -Wl,CoreFoundation -Wl,-prebind -no-undefined"
- ;;
-*-mingw*)
- AC_DEFINE(OS_WINDOWS, [], [Windows backend])
- AC_SUBST(OS_WINDOWS)
- AC_MSG_RESULT([Windows])
- backend="windows"
- LIBS="-lpthreadGC2 -lsetupapi -lole32"
- AM_LDFLAGS=""
- ;;
-*)
- AC_MSG_ERROR([unsupported operating system])
-esac
-
-AM_CONDITIONAL([OS_LINUX], [test "x$backend" == "xlinux"])
-AM_CONDITIONAL([OS_DARWIN], [test "x$backend" == "xdarwin"])
-AM_CONDITIONAL([OS_WINDOWS], [test "x$backend" == "xwindows"])
-
-# Library versioning
-lt_major="0"
-lt_revision="0"
-lt_age="0"
-AC_SUBST(lt_major)
-AC_SUBST(lt_revision)
-AC_SUBST(lt_age)
-
-# timerfd
-AC_CHECK_HEADER([sys/timerfd.h], [timerfd_h=1], [timerfd_h=0])
-AC_ARG_ENABLE([timerfd],
- [AS_HELP_STRING([--enable-timerfd],
- [use timerfd for timing (default auto)])],
- [use_timerfd=$enableval], [use_timerfd='auto'])
-
-if test "x$use_timerfd" = "xyes" -a "x$timerfd_h" = "x0"; then
- AC_MSG_ERROR([timerfd header not available; glibc 2.9+ required])
-fi
-
-AC_CHECK_DECL([TFD_NONBLOCK], [tfd_hdr_ok=yes], [tfd_hdr_ok=no], [#include <sys/timerfd.h>])
-if test "x$use_timerfd" = "xyes" -a "x$tfd_hdr_ok" = "xno"; then
- AC_MSG_ERROR([timerfd header not usable; glibc 2.9+ required])
-fi
-
-AC_MSG_CHECKING([whether to use timerfd for timing])
-if test "x$use_timerfd" = "xno"; then
- AC_MSG_RESULT([no (disabled by user)])
-else
- if test "x$timerfd_h" = "x1" -a "x$tfd_hdr_ok" = "xyes"; then
- AC_MSG_RESULT([yes])
- AC_DEFINE(USBI_TIMERFD_AVAILABLE, [], [timerfd headers available])
- else
- AC_MSG_RESULT([no (header not available)])
- fi
-fi
-
-# Message logging
-AC_ARG_ENABLE([log], [AS_HELP_STRING([--disable-log], [disable all logging])],
- [log_enabled=$enableval],
- [log_enabled='yes'])
-if test "x$log_enabled" != "xno"; then
- AC_DEFINE([ENABLE_LOGGING], 1, [Message logging])
-fi
-
-AC_ARG_ENABLE([debug-log], [AS_HELP_STRING([--enable-debug-log],
- [enable debug logging (default n)])],
- [debug_log_enabled=$enableval],
- [debug_log_enabled='no'])
-if test "x$debug_log_enabled" != "xno"; then
- AC_DEFINE([ENABLE_DEBUG_LOGGING], 1, [Debug message logging])
-fi
-
-# Examples build
-AC_ARG_ENABLE([examples-build], [AS_HELP_STRING([--enable-examples-build],
- [build example applications (default n)])],
- [build_examples=$enableval],
- [build_examples='no'])
-AM_CONDITIONAL([BUILD_EXAMPLES], [test "x$build_examples" != "xno"])
-
-# Restore gnu89 inline semantics on gcc 4.3 and newer
-saved_cflags="$CFLAGS"
-CFLAGS="$CFLAGS -fgnu89-inline"
-AC_COMPILE_IFELSE(AC_LANG_PROGRAM([]), inline_cflags="-fgnu89-inline", inline_cflags="")
-CFLAGS="$saved_cflags"
-
-# check for -fvisibility=hidden compiler support (GCC >= 3.4)
-saved_cflags="$CFLAGS"
-CFLAGS="$CFLAGS -fvisibility=hidden"
-AC_COMPILE_IFELSE(AC_LANG_PROGRAM([]),
- [VISIBILITY_CFLAGS="-fvisibility=hidden"
- AC_DEFINE([API_EXPORTED], [__attribute__((visibility("default")))], [Default visibility]) ],
- [ VISIBILITY_CFLAGS=""
- AC_DEFINE([API_EXPORTED], [], [Default visibility]) ],
- ])
-CFLAGS="$saved_cflags"
-
-# check for -Wno-pointer-sign compiler support (GCC >= 4)
-saved_cflags="$CFLAGS"
-CFLAGS="$CFLAGS -Wno-pointer-sign"
-AC_COMPILE_IFELSE(AC_LANG_PROGRAM([]),
- nopointersign_cflags="-Wno-pointer-sign", nopointersign_cflags="")
-CFLAGS="$saved_cflags"
-
-AM_CFLAGS="-std=gnu99 $inline_cflags -Wall -Wundef -Wunused -Wstrict-prototypes -Werror-implicit-function-declaration $nopointersign_cflags -Wshadow"
-
-AC_SUBST(VISIBILITY_CFLAGS)
-AC_SUBST(AM_CFLAGS)
-AC_SUBST(AM_LDFLAGS)
-
-AC_CONFIG_FILES([libusb-1.0.pc] [Makefile] [libusb/Makefile] [examples/Makefile] [doc/Makefile] [doc/doxygen.cfg])
-AC_OUTPUT
-
+AC_INIT([libusb], [1.0.5])
+AM_INIT_AUTOMAKE
+AC_CONFIG_SRCDIR([libusb/core.c])
+AC_CONFIG_MACRO_DIR([m4])
+AM_CONFIG_HEADER([config.h])
+m4_ifdef([AM_SILENT_RULES],[AM_SILENT_RULES([yes])])
+
+AC_PREREQ([2.50])
+AC_PROG_CC
+AC_PROG_LIBTOOL
+AC_C_INLINE
+AM_PROG_CC_C_O
+AC_DEFINE([_GNU_SOURCE], [], [Use GNU extensions])
+
+AC_MSG_CHECKING([operating system])
+case $host in
+*-linux*)
+ AC_DEFINE(OS_LINUX, [], [Linux backend])
+ AC_SUBST(OS_LINUX)
+ AC_MSG_RESULT([Linux])
+ backend="linux"
+ AC_CHECK_LIB(rt, clock_gettime)
+ CFLAGS="-pthread"
+ AM_LDFLAGS=""
+ ;;
+*-darwin*)
+ AC_DEFINE(OS_DARWIN, [], [Darwin backend])
+ AC_SUBST(OS_DARWIN)
+ AC_DEFINE(USBI_OS_HANDLES_TIMEOUT, [], [Backend handles timeout])
+ AC_MSG_RESULT([Darwin/MacOS X])
+ backend="darwin"
+ CFLAGS="-pthread"
+ AM_LDFLAGS="-Wl,-framework -Wl,IOKit -Wl,-framework -Wl,CoreFoundation -Wl,-prebind -no-undefined"
+ ;;
+*-mingw*)
+ AC_DEFINE(OS_WINDOWS, [], [Windows backend])
+ AC_SUBST(OS_WINDOWS)
+ AC_MSG_RESULT([Windows])
+ backend="windows"
+ LIBS="-lpthreadGC2 -lsetupapi -lole32"
+ CFLAGS=""
+ AM_LDFLAGS=""
+ ;;
+*)
+ AC_MSG_ERROR([unsupported operating system])
+esac
+
+AM_CONDITIONAL([OS_LINUX], [test "x$backend" == "xlinux"])
+AM_CONDITIONAL([OS_DARWIN], [test "x$backend" == "xdarwin"])
+AM_CONDITIONAL([OS_WINDOWS], [test "x$backend" == "xwindows"])
+
+# Library versioning
+lt_major="0"
+lt_revision="0"
+lt_age="0"
+AC_SUBST(lt_major)
+AC_SUBST(lt_revision)
+AC_SUBST(lt_age)
+
+# timerfd
+AC_CHECK_HEADER([sys/timerfd.h], [timerfd_h=1], [timerfd_h=0])
+AC_ARG_ENABLE([timerfd],
+ [AS_HELP_STRING([--enable-timerfd],
+ [use timerfd for timing (default auto)])],
+ [use_timerfd=$enableval], [use_timerfd='auto'])
+
+if test "x$use_timerfd" = "xyes" -a "x$timerfd_h" = "x0"; then
+ AC_MSG_ERROR([timerfd header not available; glibc 2.9+ required])
+fi
+
+AC_CHECK_DECL([TFD_NONBLOCK], [tfd_hdr_ok=yes], [tfd_hdr_ok=no], [#include <sys/timerfd.h>])
+if test "x$use_timerfd" = "xyes" -a "x$tfd_hdr_ok" = "xno"; then
+ AC_MSG_ERROR([timerfd header not usable; glibc 2.9+ required])
+fi
+
+AC_MSG_CHECKING([whether to use timerfd for timing])
+if test "x$use_timerfd" = "xno"; then
+ AC_MSG_RESULT([no (disabled by user)])
+else
+ if test "x$timerfd_h" = "x1" -a "x$tfd_hdr_ok" = "xyes"; then
+ AC_MSG_RESULT([yes])
+ AC_DEFINE(USBI_TIMERFD_AVAILABLE, [], [timerfd headers available])
+ else
+ AC_MSG_RESULT([no (header not available)])
+ fi
+fi
+
+# Message logging
+AC_ARG_ENABLE([log], [AS_HELP_STRING([--disable-log], [disable all logging])],
+ [log_enabled=$enableval],
+ [log_enabled='yes'])
+if test "x$log_enabled" != "xno"; then
+ AC_DEFINE([ENABLE_LOGGING], 1, [Message logging])
+fi
+
+AC_ARG_ENABLE([debug-log], [AS_HELP_STRING([--enable-debug-log],
+ [enable debug logging (default n)])],
+ [debug_log_enabled=$enableval],
+ [debug_log_enabled='no'])
+if test "x$debug_log_enabled" != "xno"; then
+ AC_DEFINE([ENABLE_DEBUG_LOGGING], 1, [Debug message logging])
+fi
+
+# Examples build
+AC_ARG_ENABLE([examples-build], [AS_HELP_STRING([--enable-examples-build],
+ [build example applications (default n)])],
+ [build_examples=$enableval],
+ [build_examples='no'])
+AM_CONDITIONAL([BUILD_EXAMPLES], [test "x$build_examples" != "xno"])
+
+# Restore gnu89 inline semantics on gcc 4.3 and newer
+saved_cflags="$CFLAGS"
+CFLAGS="$CFLAGS -fgnu89-inline"
+AC_COMPILE_IFELSE(AC_LANG_PROGRAM([]), inline_cflags="-fgnu89-inline", inline_cflags="")
+CFLAGS="$saved_cflags"
+
+# check for -fvisibility=hidden compiler support (GCC >= 3.4)
+saved_cflags="$CFLAGS"
+CFLAGS="$CFLAGS -fvisibility=hidden"
+AC_COMPILE_IFELSE(AC_LANG_PROGRAM([]),
+ [VISIBILITY_CFLAGS="-fvisibility=hidden"
+ AC_DEFINE([API_EXPORTED], [__attribute__((visibility("default")))], [Default visibility]) ],
+ [ VISIBILITY_CFLAGS=""
+ AC_DEFINE([API_EXPORTED], [], [Default visibility]) ],
+ ])
+CFLAGS="$saved_cflags"
+
+# check for -Wno-pointer-sign compiler support (GCC >= 4)
+saved_cflags="$CFLAGS"
+CFLAGS="$CFLAGS -Wno-pointer-sign"
+AC_COMPILE_IFELSE(AC_LANG_PROGRAM([]),
+ nopointersign_cflags="-Wno-pointer-sign", nopointersign_cflags="")
+CFLAGS="$saved_cflags"
+
+AM_CFLAGS="-std=gnu99 $inline_cflags -Wall -Wundef -Wunused -Wstrict-prototypes -Werror-implicit-function-declaration $nopointersign_cflags -Wshadow"
+
+AC_SUBST(VISIBILITY_CFLAGS)
+AC_SUBST(AM_CFLAGS)
+AC_SUBST(AM_LDFLAGS)
+
+AC_CONFIG_FILES([libusb-1.0.pc] [Makefile] [libusb/Makefile] [examples/Makefile] [doc/Makefile] [doc/doxygen.cfg])
+AC_OUTPUT
+