aboutsummaryrefslogtreecommitdiff
path: root/configure.ac
diff options
context:
space:
mode:
authorDouglas Gilbert <dgilbert@interlog.com>2018-01-03 05:40:58 +0000
committerDouglas Gilbert <dgilbert@interlog.com>2018-01-03 05:40:58 +0000
commita0df198b498b114e901cb022acddcc14330275da (patch)
tree724e2461cf7b93d923f5b3a41062e0c042245bb8 /configure.ac
parentcd3508dc77d96ee24007928391b66273c36b34f7 (diff)
downloadsg3_utils-a0df198b498b114e901cb022acddcc14330275da.tar.gz
sg_inq: add --only option, further sanity checks on --inhex so CDROM std inq not confused with VPD page 0x80; sgp_dd: use pthread_kill(); various configure.ac and Makefile.am cleanups
git-svn-id: https://svn.bingwo.ca/repos/sg3_utils/trunk@742 6180dd3e-e324-4e3e-922d-17de1ae2f315
Diffstat (limited to 'configure.ac')
-rw-r--r--configure.ac83
1 files changed, 28 insertions, 55 deletions
diff --git a/configure.ac b/configure.ac
index 1cce0b25..b1d1f4fd 100644
--- a/configure.ac
+++ b/configure.ac
@@ -7,12 +7,12 @@ AM_CONFIG_HEADER(config.h)
AC_PROG_CC
# AC_PROG_CXX
AC_PROG_INSTALL
-
-# Adding libtools to the build seems to bring in C++ environment
-AC_PROG_LIBTOOL
# AM_PROG_AR is supported and needed since automake v1.12+
ifdef([AM_PROG_AR], [AM_PROG_AR], [])
+
+# Adding libtools to the build seems to bring in C++ environment
+AC_PROG_LIBTOOL
# check for headers
AC_HEADER_STDC
@@ -25,78 +25,51 @@ AC_CHECK_FUNCS(posix_fadvise)
AC_CHECK_FUNCS(posix_memalign)
AC_CHECK_FUNCS(sysconf)
AC_CHECK_FUNCS(lseek64)
-AC_SEARCH_LIBS([pthread_cancel], [pthread], [AC_DEFINE(HAVE_PTHREAD_CANCEL, 1, [Found pthread_cancel])], [])
-AC_SEARCH_LIBS([pthread_kill], [pthread], [AC_DEFINE(HAVE_PTHREAD_KILL, 1, [Found pthread_kill])], [])
+SAVED_LIBS=$LIBS
+AC_SEARCH_LIBS([pthread_create], [pthread])
+# AC_SEARCH_LIBS adds libraries at the start of $LIBS so remove $SAVED_LIBS
+# from the end of $LIBS.
+pthread_lib=${LIBS%${SAVED_LIBS}}
+AC_CHECK_FUNCS([pthread_cancel pthread_kill])
+LIBS=$SAVED_LIBS
+AC_SUBST(PTHREAD_LIB, [$pthread_lib])
AC_SUBST(GETOPT_O_FILES)
AC_CANONICAL_HOST
AC_DEFINE_UNQUOTED(SG_LIB_BUILD_HOST, "${host}", [sg3_utils Build Host])
-case "${host}" in
- *-*-linux-gnu*)
- AC_DEFINE_UNQUOTED(SG_LIB_LINUX, 1, [sg3_utils on linux])
- AC_SUBST([os_cflags], [''])
- AC_SUBST([os_libs], [''])
- AC_CHECK_HEADERS([linux/nvme_ioctl.h], [AC_DEFINE(HAVE_NVME, 1, [Found NVMe])], [], [])
- AC_CHECK_HEADERS([linux/types.h linux/bsg.h linux/kdev_t.h], [], [],
- [[#ifdef HAVE_LINUX_TYPES_H
- # include <linux/types.h>
- #endif
- ]]) ;;
- *-*-linux*)
- AC_DEFINE_UNQUOTED(SG_LIB_LINUX, 1, [sg3_utils on linux])
- AC_SUBST([os_cflags], [''])
- AC_SUBST([os_libs], [''])
- AC_CHECK_HEADERS([linux/nvme_ioctl.h], [AC_DEFINE(HAVE_NVME, 1, [Found NVMe])], [], [])
- AC_CHECK_HEADERS([linux/types.h linux/bsg.h linux/kdev_t.h], [], [],
+check_for_linux_nvme_headers() {
+ AC_CHECK_HEADERS([linux/nvme_ioctl.h], [AC_DEFINE(HAVE_NVME, 1, [Found NVMe])], [], [])
+ AC_CHECK_HEADERS([linux/types.h linux/bsg.h linux/kdev_t.h], [], [],
[[#ifdef HAVE_LINUX_TYPES_H
# include <linux/types.h>
#endif
- ]]) ;;
+ ]])
+}
+
+case "${host}" in
*-*-android*)
AC_DEFINE_UNQUOTED(SG_LIB_ANDROID, 1, [sg3_utils on android])
AC_DEFINE_UNQUOTED(SG_LIB_LINUX, 1, [sg3_utils on linux])
- AC_SUBST([os_cflags], [''])
- AC_SUBST([os_libs], [''])
- AC_CHECK_HEADERS([linux/nvme_ioctl.h], [AC_DEFINE(HAVE_NVME, 1, [Found NVMe])], [], [])
- AC_CHECK_HEADERS([linux/types.h linux/bsg.h linux/kdev_t.h], [], [],
- [[#ifdef HAVE_LINUX_TYPES_H
- # include <linux/types.h>
- #endif
- ]]) ;;
+ check_for_linux_nvme_headers;;
*-*-freebsd*|*-*-kfreebsd*-gnu*)
AC_DEFINE_UNQUOTED(SG_LIB_FREEBSD, 1, [sg3_utils on FreeBSD])
- AC_DEFINE(HAVE_NVME, 1, ['Found NVMe'])
- AC_SUBST([os_cflags], [''])
- AC_SUBST([os_libs], ['-lcam']);;
+ AC_DEFINE(HAVE_NVME, 1, [Found NVMe])
+ LIBS="$LIBS -lcam";;
*-*-solaris*)
- AC_DEFINE_UNQUOTED(SG_LIB_SOLARIS, 1, [sg3_utils on Solaris])
- AC_SUBST([os_cflags], [''])
- AC_SUBST([os_libs], ['']);;
+ AC_DEFINE_UNQUOTED(SG_LIB_SOLARIS, 1, [sg3_utils on Solaris]);;
*-*-osf*)
- AC_DEFINE_UNQUOTED(SG_LIB_OSF1, 1, [sg3_utils on Tru64 UNIX])
- AC_SUBST([os_cflags], [''])
- AC_SUBST([os_libs], ['']) ;;
+ AC_DEFINE_UNQUOTED(SG_LIB_OSF1, 1, [sg3_utils on Tru64 UNIX]);;
*-*-cygwin*)
AC_DEFINE_UNQUOTED(SG_LIB_WIN32, 1, [sg3_utils on Win32])
- AC_SUBST([os_cflags], ['-Wno-char-subscripts'])
- AC_SUBST([os_libs], ['']) ;;
+ CFLAGS="$CFLAGS -Wno-char-subscripts";;
*-*-mingw*)
AC_DEFINE_UNQUOTED(SG_LIB_WIN32, 1, [sg3_utils on Win32])
- AC_DEFINE_UNQUOTED(SG_LIB_MINGW, 1, [also MinGW environment])
- AC_SUBST([os_cflags], [''])
- AC_SUBST([os_libs], ['']) ;;
- *)
- AC_DEFINE_UNQUOTED(SG_LIB_LINUX, 1, [assume sg3_utils on linux])
- AC_SUBST([os_cflags], [''])
- AC_SUBST([os_libs], [''])
- AC_CHECK_HEADERS([linux/nvme_ioctl.h], [AC_DEFINE(HAVE_NVME, 1, [Found NVMe])], [], [])
- AC_CHECK_HEADERS([linux/types.h linux/bsg.h linux/kdev_t.h], [], [],
- [[#ifdef HAVE_LINUX_TYPES_H
- # include <linux/types.h>
- #endif
- ]]) ;;
+ AC_DEFINE_UNQUOTED(SG_LIB_MINGW, 1, [also MinGW environment]);;
+ *-*-linux-gnu* | *-*-linux* | *)
+ AC_DEFINE_UNQUOTED(SG_LIB_LINUX, 1, [sg3_utils on linux])
+ check_for_linux_nvme_headers;;
esac
# Define platform-specific symbol.