Ensure that the code for checking the Linux NVMe headers occurs once.
Signed-off-by: Bart Van Assche <[email protected]>
---
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