summaryrefslogtreecommitdiffstats
path: root/configure.ac
diff options
context:
space:
mode:
Diffstat (limited to 'configure.ac')
-rw-r--r--configure.ac96
1 files changed, 44 insertions, 52 deletions
diff --git a/configure.ac b/configure.ac
index 1f10bb7..6481d74 100644
--- a/configure.ac
+++ b/configure.ac
@@ -28,36 +28,59 @@ AC_PROG_CXX
AM_PROG_CC_C_O
AC_PROG_LIBTOOL
+# Checks for header files.
+AC_HEADER_STDC
+AC_CHECK_HEADERS([stdint.h stdlib.h string.h])
+
+# Checks for typedefs, structures, and compiler characteristics.
+AC_C_CONST
+AC_TYPE_SIZE_T
+AC_TYPE_SSIZE_T
+AC_TYPE_UINT16_T
+AC_TYPE_UINT32_T
+AC_TYPE_UINT8_T
+
+# Checks for library functions.
+AC_FUNC_MALLOC
+AC_FUNC_REALLOC
+AC_CHECK_FUNCS([strdup strerror strndup])
+
# Checks for libraries.
AC_CHECK_HEADERS([readline/readline.h], [],
[AC_MSG_ERROR([Please install readline development headers])]
)
# Check additional platform flags
-case "$host_os" in
+AC_MSG_CHECKING([for platform-specific build settings])
+case ${host_os} in
darwin*)
+ AC_MSG_RESULT([${host_os}])
AC_CHECK_HEADER(CoreFoundation/CoreFoundation.h, [
AC_CHECK_HEADER(IOKit/usb/IOUSBLib.h, [
- LIBIRECOVERYLDFLAGS="-framework IOKit -framework CoreFoundation"
+ GLOBAL_LDFLAGS+=" -framework IOKit -framework CoreFoundation"
have_iokit=yes
], [])
], [])
+ AX_PTHREAD([], [AC_MSG_ERROR([pthread is required to build $PACKAGE])])
;;
mingw32*)
- LDFLAGS+=" -static-libgcc"
- LIBIRECOVERYLDFLAGS=" -lkernel32 -lmsvcrt -lsetupapi"
+ AC_MSG_RESULT([${host_os}])
+ GLOBAL_LDFLAGS+=" -static-libgcc -lkernel32 -lmsvcrt -lsetupapi"
+ win32=true
;;
cygwin*)
+ AC_MSG_RESULT([${host_os}])
CC=gcc-3
CFLAGS+=" -mno-cygwin"
- LDFLAGS+=" -static-libgcc"
- LIBIRECOVERYLDFLAGS=" -lkernel32 -lmsvcrt -lsetupapi"
+ GLOBAL_LDFLAGS+=" -static-libgcc -lkernel32 -lmsvcrt -lsetupapi"
+ win32=true
;;
*)
- LIBIRECOVERYLDFLAGS=
+ AC_MSG_RESULT([${host_os}])
+ AX_PTHREAD([], [AC_MSG_ERROR([pthread is required to build $PACKAGE])])
;;
esac
-AC_SUBST(LIBIRECOVERYLDFLAGS)
+AM_CONDITIONAL(WIN32, test x$win32 = xtrue)
AC_ARG_WITH([dummy],
[AS_HELP_STRING([--with-dummy], [Use no USB driver at all [default=no]. This is only useful if you just want to query the device list by product type or hardware model. All other operations are no-ops or will return IRECV_E_UNSUPPORTED.])],
@@ -69,61 +92,30 @@ AS_IF([test "x$have_iokit" = "xyes"], [
[AS_HELP_STRING([--with-iokit], [Use IOKit instead of libusb on OS X [default=yes]])],
[],
[with_iokit=yes])
- ], []
+ ]
)
AS_IF([test "x$with_dummy" = "xyes"], [
AC_DEFINE(USE_DUMMY, 1, [Define if we are using dummy USB driver])
USB_BACKEND="dummy"
], [
- AS_IF([test "x$with_iokit" = "xyes" && test "x$have_iokit" = "xyes"] , [
- AC_DEFINE(HAVE_IOKIT, 1, [Define if we have IOKit])
- USB_BACKEND="IOKit"
- ],
- [
+ AS_IF([test "x$with_iokit" = "xyes" && test "x$have_iokit" = "xyes"], [
+ AC_DEFINE(HAVE_IOKIT, 1, [Define if we have IOKit])
+ USB_BACKEND="IOKit"
+ ], [
+ AS_IF([test "x$win32" = "xtrue"], [
+ USB_BACKEND="win32 native (setupapi)"
+ ], [
PKG_CHECK_MODULES(libusb, libusb-1.0 >= $LIBUSB_VERSION)
USB_BACKEND="libusb `$PKG_CONFIG --modversion libusb-1.0`"
- LIBUSB_REQUIRED="libusb-1.0 >= $LIBUSB_VERSION"
- AC_SUBST(LIBUSB_REQUIRED)
- ]
- )
+ ])
+ ])
])
-# Checks for header files.
-AC_HEADER_STDC
-AC_CHECK_HEADERS([stdint.h stdlib.h string.h])
-
-# Checks for typedefs, structures, and compiler characteristics.
-AC_C_CONST
-AC_TYPE_SIZE_T
-AC_TYPE_SSIZE_T
-AC_TYPE_UINT16_T
-AC_TYPE_UINT32_T
-AC_TYPE_UINT8_T
-
-# Checks for library functions.
-AC_FUNC_MALLOC
-AC_FUNC_REALLOC
-AC_CHECK_FUNCS([strcasecmp strdup strerror strndup])
-
-# Check for operating system
-AC_MSG_CHECKING([whether to enable WIN32 build settings])
-case ${host_os} in
- *mingw32*|*cygwin*)
- win32=true
- AC_MSG_RESULT([yes])
- AC_CHECK_TOOL([WINDRES], [windres], AC_MSG_ERROR([windres not found]))
- AC_SUBST(WINDRES)
- ;;
- *)
- win32=false
- AC_MSG_RESULT([no])
- ;;
-esac
-AM_CONDITIONAL(WIN32, test x$win32 = xtrue)
-
-AS_COMPILER_FLAGS(GLOBAL_CFLAGS, "-Wall -Wextra -Wmissing-declarations -Wredundant-decls -Wshadow -Wpointer-arith -Wwrite-strings -Wswitch-default -Wno-unused-parameter -fvisibility=hidden")
+AS_COMPILER_FLAGS(GLOBAL_CFLAGS, "-Wall -Wextra -Wmissing-declarations -Wredundant-decls -Wshadow -Wpointer-arith -Wwrite-strings -Wswitch-default -Wno-unused-parameter -fvisibility=hidden $PTHREAD_CFLAGS")
+GLOBAL_LDFLAGS+=" $PTHREAD_LIBS"
AC_SUBST(GLOBAL_CFLAGS)
+AC_SUBST(GLOBAL_LDFLAGS)
case "$GLOBAL_CFLAGS" in
*-fvisibility=hidden*)