Ensure that the code for checking the Linux NVMe headers occurs once. Signed-off-by: Bart Van Assche <bart.vanassche@xxxxxxx> --- config.h.in | 2 +- configure | 124 ++++------------------------------------------------------- configure.ac | 45 ++++++---------------- 3 files changed, 21 insertions(+), 150 deletions(-) diff --git a/config.h.in b/config.h.in index b5c6715ade05..6050d85dfc1c 100644 --- a/config.h.in +++ b/config.h.in @@ -105,7 +105,7 @@ /* sg3_utils on FreeBSD */ #undef SG_LIB_FREEBSD -/* assume sg3_utils on linux */ +/* sg3_utils on linux */ #undef SG_LIB_LINUX /* also MinGW environment */ diff --git a/configure b/configure index 59b01f4fdf5b..ce82b6d23236 100755 --- a/configure +++ b/configure @@ -12418,18 +12418,8 @@ cat >>confdefs.h <<_ACEOF _ACEOF -case "${host}" in - *-*-linux-gnu*) - -cat >>confdefs.h <<_ACEOF -#define SG_LIB_LINUX 1 -_ACEOF - - os_cflags='' - - os_libs='' - - for ac_header in linux/nvme_ioctl.h +check_for_linux_nvme_headers() { + for ac_header in linux/nvme_ioctl.h do : ac_fn_c_check_header_mongrel "$LINENO" "linux/nvme_ioctl.h" "ac_cv_header_linux_nvme_ioctl_h" "$ac_includes_default" if test "x$ac_cv_header_linux_nvme_ioctl_h" = xyes; then : @@ -12443,7 +12433,7 @@ fi done - for ac_header in linux/types.h linux/bsg.h linux/kdev_t.h + for ac_header in linux/types.h linux/bsg.h linux/kdev_t.h do : as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "#ifdef HAVE_LINUX_TYPES_H @@ -12459,48 +12449,10 @@ _ACEOF fi done - ;; - *-*-linux*) - -cat >>confdefs.h <<_ACEOF -#define SG_LIB_LINUX 1 -_ACEOF - - os_cflags='' - - os_libs='' - - for ac_header in linux/nvme_ioctl.h -do : - ac_fn_c_check_header_mongrel "$LINENO" "linux/nvme_ioctl.h" "ac_cv_header_linux_nvme_ioctl_h" "$ac_includes_default" -if test "x$ac_cv_header_linux_nvme_ioctl_h" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_LINUX_NVME_IOCTL_H 1 -_ACEOF - -$as_echo "#define HAVE_NVME 1" >>confdefs.h - -fi - -done - - for ac_header in linux/types.h linux/bsg.h linux/kdev_t.h -do : - as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` -ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "#ifdef HAVE_LINUX_TYPES_H - # include <linux/types.h> - #endif -" -if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : - cat >>confdefs.h <<_ACEOF -#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 -_ACEOF - -fi +} -done - ;; +case "${host}" in *-*-android*) cat >>confdefs.h <<_ACEOF @@ -12516,37 +12468,7 @@ _ACEOF os_libs='' - for ac_header in linux/nvme_ioctl.h -do : - ac_fn_c_check_header_mongrel "$LINENO" "linux/nvme_ioctl.h" "ac_cv_header_linux_nvme_ioctl_h" "$ac_includes_default" -if test "x$ac_cv_header_linux_nvme_ioctl_h" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_LINUX_NVME_IOCTL_H 1 -_ACEOF - -$as_echo "#define HAVE_NVME 1" >>confdefs.h - -fi - -done - - for ac_header in linux/types.h linux/bsg.h linux/kdev_t.h -do : - as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` -ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "#ifdef HAVE_LINUX_TYPES_H - # include <linux/types.h> - #endif - -" -if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : - cat >>confdefs.h <<_ACEOF -#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 -_ACEOF - -fi - -done - ;; + check_for_linux_nvme_headers;; *-*-freebsd*|*-*-kfreebsd*-gnu*) cat >>confdefs.h <<_ACEOF @@ -12605,7 +12527,7 @@ _ACEOF os_libs='' ;; - *) + *-*-linux-gnu* | *-*-linux* | *) cat >>confdefs.h <<_ACEOF #define SG_LIB_LINUX 1 @@ -12615,37 +12537,7 @@ _ACEOF os_libs='' - for ac_header in linux/nvme_ioctl.h -do : - ac_fn_c_check_header_mongrel "$LINENO" "linux/nvme_ioctl.h" "ac_cv_header_linux_nvme_ioctl_h" "$ac_includes_default" -if test "x$ac_cv_header_linux_nvme_ioctl_h" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_LINUX_NVME_IOCTL_H 1 -_ACEOF - -$as_echo "#define HAVE_NVME 1" >>confdefs.h - -fi - -done - - for ac_header in linux/types.h linux/bsg.h linux/kdev_t.h -do : - as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` -ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "#ifdef HAVE_LINUX_TYPES_H - # include <linux/types.h> - #endif - -" -if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : - cat >>confdefs.h <<_ACEOF -#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 -_ACEOF - -fi - -done - ;; + check_for_linux_nvme_headers;; esac # Define platform-specific symbol. diff --git a/configure.ac b/configure.ac index 6164850d0aa3..70cf98456339 100644 --- a/configure.ac +++ b/configure.ac @@ -39,41 +39,25 @@ 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_DEFINE(HAVE_NVME, 1, [Found NVMe]) AC_SUBST([os_cflags], ['']) AC_SUBST([os_libs], ['-lcam']);; *-*-solaris*) @@ -93,16 +77,11 @@ case "${host}" in 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]) + *-*-linux-gnu* | *-*-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], [], [], - [[#ifdef HAVE_LINUX_TYPES_H - # include <linux/types.h> - #endif - ]]) ;; + check_for_linux_nvme_headers;; esac # Define platform-specific symbol. -- 2.15.1