Only link with librt on Linux
[platform/upstream/libusb.git] / configure.ac
1 AC_INIT([libusb], [1.0.0])
2 AM_INIT_AUTOMAKE
3 AC_CONFIG_SRCDIR([libusb/core.c])
4 AM_CONFIG_HEADER([config.h])
5
6 AC_PREREQ([2.50])
7 AC_PROG_CC
8 AC_PROG_LIBTOOL
9 AC_C_INLINE
10 AM_PROG_CC_C_O
11 AC_DEFINE([_GNU_SOURCE], [], [Use GNU extensions])
12
13 AC_MSG_CHECKING([operating system])
14 case $host in
15 *-linux*)
16         AC_DEFINE(OS_LINUX, [], [Linux backend])
17         AC_SUBST(OS_LINUX)
18         AC_MSG_RESULT([Linux])
19         backend="linux"
20         AC_CHECK_LIB(rt, clock_gettime)
21         ;;
22 *)
23         AC_MSG_ERROR([unsupported operating system])
24 esac
25
26 AM_CONDITIONAL([OS_LINUX], [test "x$backend" == "xlinux"])
27
28 # Library versioning
29 lt_major="0"
30 lt_revision="0"
31 lt_age="0"
32 AC_SUBST(lt_major)
33 AC_SUBST(lt_revision)
34 AC_SUBST(lt_age)
35
36 # Message logging
37 AC_ARG_ENABLE([log], [AS_HELP_STRING([--disable-log], [disable all logging])],
38         [log_enabled=$enableval],
39         [log_enabled='yes'])
40 if test "x$log_enabled" != "xno"; then
41         AC_DEFINE([ENABLE_LOGGING], 1, [Message logging])
42 fi
43
44 AC_ARG_ENABLE([debug-log], [AS_HELP_STRING([--enable-debug-log],
45         [enable debug logging (default n)])],
46         [debug_log_enabled=$enableval],
47         [debug_log_enabled='no'])
48 if test "x$debug_log_enabled" != "xno"; then
49         AC_DEFINE([ENABLE_DEBUG_LOGGING], 1, [Debug message logging])
50 fi
51
52 # Examples build
53 AC_ARG_ENABLE([examples-build], [AS_HELP_STRING([--enable-examples-build],
54         [build example applications (default n)])],
55         [build_examples=$enableval],
56         [build_examples='no'])
57 AM_CONDITIONAL([BUILD_EXAMPLES], [test "x$build_examples" != "xno"])
58
59 # Restore gnu89 inline semantics on gcc 4.3 and newer
60 saved_cflags="$CFLAGS"
61 CFLAGS="$CFLAGS -fgnu89-inline"
62 AC_COMPILE_IFELSE(AC_LANG_PROGRAM([]), inline_cflags="-fgnu89-inline", inline_cflags="")
63 CFLAGS="$saved_cflags"
64
65 AC_DEFINE([API_EXPORTED], [__attribute__((visibility("default")))], [Default visibility])
66 AM_CFLAGS="-std=gnu99 $inline_cflags -Wall -Wundef -Wunused -Wstrict-prototypes -Werror-implicit-function-declaration -Wno-pointer-sign -Wshadow"
67 AC_SUBST(AM_CFLAGS)
68
69 AC_CONFIG_FILES([libusb-1.0.pc] [Makefile] [libusb/Makefile] [examples/Makefile] [doc/Makefile] [doc/doxygen.cfg])
70 AC_OUTPUT
71