]> git.proxmox.com Git - mirror_smartmontools-debian.git/blobdiff - configure
import smartmontools 7.0
[mirror_smartmontools-debian.git] / configure
index bb1c3ca27e2883a5822b8b245a58486323e74e4f..1ae0924d2a071d6e89bced46b7c018e632c41d20 100755 (executable)
--- a/configure
+++ b/configure
@@ -1,6 +1,6 @@
 #! /bin/sh
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.69 for smartmontools 6.6.
+# Generated by GNU Autoconf 2.69 for smartmontools 7.0.
 #
 # Report bugs to <smartmontools-support@listi.jpberlin.de>.
 #
@@ -580,8 +580,8 @@ MAKEFLAGS=
 # Identity of this package.
 PACKAGE_NAME='smartmontools'
 PACKAGE_TARNAME='smartmontools'
-PACKAGE_VERSION='6.6'
-PACKAGE_STRING='smartmontools 6.6'
+PACKAGE_VERSION='7.0'
+PACKAGE_STRING='smartmontools 7.0'
 PACKAGE_BUGREPORT='smartmontools-support@listi.jpberlin.de'
 PACKAGE_URL=''
 
@@ -648,12 +648,18 @@ os_mailer
 os_dltools
 os_libs
 os_deps
+with_nvme_devicescan
 smartmontools_release_time
 smartmontools_release_date
 releaseversion
-with_nvme_devicescan
+NEED_REGEX_FALSE
+NEED_REGEX_TRUE
+systemdenvfile
+INSTALL_SYSTEMDUNIT_FALSE
+INSTALL_SYSTEMDUNIT_TRUE
+systemdsystemunitdir
+SYSTEMD_LDADD
 CAPNG_LDADD
-with_selinux
 smartd_suffix
 ENABLE_ATTRIBUTELOG_FALSE
 ENABLE_ATTRIBUTELOG_TRUE
@@ -680,14 +686,8 @@ initdfile
 INSTALL_INITSCRIPT_FALSE
 INSTALL_INITSCRIPT_TRUE
 initddir
-systemdenvfile
-INSTALL_SYSTEMDUNIT_FALSE
-INSTALL_SYSTEMDUNIT_TRUE
-systemdsystemunitdir
 ASFLAGS
 gcc_have_attr_packed
-NEED_REGEX_FALSE
-NEED_REGEX_TRUE
 NEED_GETOPT_LONG_FALSE
 NEED_GETOPT_LONG_TRUE
 EGREP
@@ -812,8 +812,6 @@ enable_option_checking
 enable_silent_rules
 enable_maintainer_mode
 enable_dependency_tracking
-with_systemdsystemunitdir
-with_systemdenvfile
 with_initscriptdir
 with_exampledir
 with_drivedbdir
@@ -825,14 +823,21 @@ with_scriptpath
 with_savestates
 with_attributelog
 enable_sample
+enable_scsi_cdb_check
+enable_fast_lebe
 with_os_deps
 with_selinux
 with_libcap_ng
+with_libsystemd
+with_systemdsystemunitdir
+with_systemdenvfile
 with_nvme_devicescan
 with_solaris_sparc_ata
+with_signal_func
 with_working_snprintf
 with_mingw_aslr
 with_cxx11_option
+with_cxx11_regex
 '
       ac_precious_vars='build_alias
 host_alias
@@ -1394,7 +1399,7 @@ if test "$ac_init_help" = "long"; then
   # Omit some internal or obsolete options to make the list less imposing.
   # This message is too long to be a string in the A/UX 3.1 sh.
   cat <<_ACEOF
-\`configure' configures smartmontools 6.6 to adapt to many kinds of systems.
+\`configure' configures smartmontools 7.0 to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -1464,7 +1469,7 @@ fi
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of smartmontools 6.6:";;
+     short | recursive ) echo "Configuration of smartmontools 7.0:";;
    esac
   cat <<\_ACEOF
 
@@ -1483,16 +1488,14 @@ Optional Features:
                           speeds up one-time build
   --enable-sample         Enables appending .sample to the installed smartd rc
                           script and configuration file
+  --enable-scsi-cdb-check do sanity check on each SCSI cdb
+  --disable-fast-lebe     use generic little-endian/big-endian code instead
 
 Optional Packages:
   --with-PACKAGE[=ARG]    use PACKAGE [ARG=yes]
   --without-PACKAGE       do not use PACKAGE (same as --with-PACKAGE=no)
-  --with-systemdsystemunitdir[=DIR|auto|yes|no]
-                          Location of systemd service files [auto]
-  --with-systemdenvfile[=FILE|auto|yes|no]
-                          Path of systemd EnvironmentFile [auto]
-  --with-initscriptdir[=DIR|auto|yes|no]
-                          Location of init scripts [auto]
+  --with-initscriptdir=[DIR|no]
+                          Location of init scripts [no]
   --with-exampledir=DIR   Location of example scripts [DOCDIR/examplescripts]
   --with-drivedbdir[=DIR|yes|no]
                           Location of drive database file
@@ -1508,7 +1511,8 @@ Optional Packages:
                           Location of smartd_warning.sh plugin scripts
                           [SMARTDSCRIPTDIR/smartd_warning.d]
   --with-scriptpath=[PATH|no]
-                          PATH variable set within scripts [/usr/bin:/bin]
+                          PATH variable set within scripts
+                          [/usr/local/bin:/usr/bin:/bin]
   --with-savestates[=PREFIX|yes|no]
                           Enable default smartd state files [no]
                           (yes=LOCALSTATEDIR/lib/smartmontools/smartd.)
@@ -1520,20 +1524,31 @@ Optional Packages:
   --with-selinux[=yes|no] Enables SELinux support [no]
   --with-libcap-ng[=auto|yes|no]
                           Add Libcap-ng support to smartd [auto]
+  --with-libsystemd[=auto|yes|no]
+                          Add systemd 'Type=notify' support to smartd [auto]
+  --with-systemdsystemunitdir[=DIR|auto|yes|no]
+                          Location of systemd service files [auto]
+  --with-systemdenvfile[=FILE|auto|yes|no]
+                          Path of systemd EnvironmentFile [auto]
   --with-nvme-devicescan[=yes|no]
-                          Include NVMe devices in smartd DEVICESCAN [no]
+                          Include NVMe devices in smartd DEVICESCAN
+                          [Linux,Windows:yes;Others:no]
   --with-solaris-sparc-ata[=yes|no]
                           Enable legacy ATA support on Solaris SPARC (requires
                           os_solaris_ata.s from SVN repository) [no]
+  --with-signal-func=[sigaction|sigset|signal]
+                          Function to set signal(2) action [sigaction]
   --with-working-snprintf[=yes|no]
                           Function snprintf() handles output truncation as
-                          specified by C99 [MinGW:guessed,others:yes]
+                          specified by C99 [yes]
   --with-mingw-aslr[=auto|yes|low|no]
                           Enable ASLR for MinGW executables [auto]
-  --with-cxx11-option[=OPTION|auto|no]
+  --with-cxx11-option=[OPTION|auto|no]
                           Compiler option to enable C++11 support for future
                           versions of smartmontools, 'no' if unsupported
                           [auto]
+  --with-cxx11-regex[=yes|no]
+                          Use C++11 std::regex instead of POSIX regex(3) [no]
 
 Some influential environment variables:
   CXX         C++ compiler command
@@ -1623,7 +1638,7 @@ fi
 test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
-smartmontools configure 6.6
+smartmontools configure 7.0
 generated by GNU Autoconf 2.69
 
 Copyright (C) 2012 Free Software Foundation, Inc.
@@ -2084,7 +2099,7 @@ cat >config.log <<_ACEOF
 This file contains any messages produced by compilers while
 running configure, to aid debugging if configure makes a mistake.
 
-It was created by smartmontools $as_me 6.6, which was
+It was created by smartmontools $as_me 7.0, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   $ $0 $@
@@ -2947,7 +2962,7 @@ fi
 
 # Define the identity of the package.
  PACKAGE='smartmontools'
- VERSION='6.6'
+ VERSION='7.0'
 
 
 cat >>confdefs.h <<_ACEOF
@@ -3041,9 +3056,12 @@ END
 fi
 
 
-smartmontools_cvs_tag=`echo '$Id: configure.ac 4594 2017-11-05 15:21:35Z chrfranke $'`
-smartmontools_release_date=2017-11-05
-smartmontools_release_time="15:20:58 UTC"
+# Version of drive database branch
+smartmontools_drivedb_version=7.0
+
+smartmontools_cvs_tag=`echo '$Id: configure.ac 4883 2018-12-30 14:48:54Z chrfranke $'`
+smartmontools_release_date=2018-12-30
+smartmontools_release_time="14:47:55 UTC"
 
 
 cat >>confdefs.h <<_ACEOF
@@ -3067,7 +3085,7 @@ _ACEOF
 
 
 cat >>confdefs.h <<_ACEOF
-#define PACKAGE_HOMEPAGE "http://www.smartmontools.org/"
+#define PACKAGE_HOMEPAGE "https://www.smartmontools.org/"
 _ACEOF
 
 
@@ -5095,9 +5113,10 @@ fi
 $as_echo "$is_svn_build" >&6; }
 
 # Note: On Linux, clock_gettime() requires -lrt which implies -lpthreads
-# Check ommitted for now, gettimeofday() provides reasonable precision
+# Check omitted for now, gettimeofday() provides reasonable precision
 # AC_SEARCH_LIBS(clock_gettime, rt)
 
+# Checks for header files.
 
 ac_ext=cpp
 ac_cpp='$CXXCPP $CPPFLAGS'
 
 done
 
-for ac_header in dev/ata/atavar.h
+for ac_header in byteswap.h
 do :
-  ac_fn_cxx_check_header_mongrel "$LINENO" "dev/ata/atavar.h" "ac_cv_header_dev_ata_atavar_h" "$ac_includes_default"
-if test "x$ac_cv_header_dev_ata_atavar_h" = xyes; then :
+  ac_fn_cxx_check_header_mongrel "$LINENO" "byteswap.h" "ac_cv_header_byteswap_h" "$ac_includes_default"
+if test "x$ac_cv_header_byteswap_h" = xyes; then :
   cat >>confdefs.h <<_ACEOF
-#define HAVE_DEV_ATA_ATAVAR_H 1
+#define HAVE_BYTESWAP_H 1
 _ACEOF
 
 fi
 
 done
 
-for ac_header in inttypes.h
-do :
-  ac_fn_cxx_check_header_mongrel "$LINENO" "inttypes.h" "ac_cv_header_inttypes_h" "$ac_includes_default"
-if test "x$ac_cv_header_inttypes_h" = xyes; then :
-  cat >>confdefs.h <<_ACEOF
-#define HAVE_INTTYPES_H 1
-_ACEOF
-
-fi
-
-done
-               for ac_header in stdint.h
-do :
-  ac_fn_cxx_check_header_mongrel "$LINENO" "stdint.h" "ac_cv_header_stdint_h" "$ac_includes_default"
-if test "x$ac_cv_header_stdint_h" = xyes; then :
-  cat >>confdefs.h <<_ACEOF
-#define HAVE_STDINT_H 1
-_ACEOF
-
-fi
-
-done
-               for ac_header in sys/inttypes.h
-do :
-  ac_fn_cxx_check_header_mongrel "$LINENO" "sys/inttypes.h" "ac_cv_header_sys_inttypes_h" "$ac_includes_default"
-if test "x$ac_cv_header_sys_inttypes_h" = xyes; then :
-  cat >>confdefs.h <<_ACEOF
-#define HAVE_SYS_INTTYPES_H 1
-_ACEOF
 
-fi
-
-done
-       for ac_header in sys/int_types.h
-do :
-  ac_fn_cxx_check_header_mongrel "$LINENO" "sys/int_types.h" "ac_cv_header_sys_int_types_h" "$ac_includes_default"
-if test "x$ac_cv_header_sys_int_types_h" = xyes; then :
-  cat >>confdefs.h <<_ACEOF
-#define HAVE_SYS_INT_TYPES_H 1
-_ACEOF
-
-fi
-
-done
-       for ac_header in sys/tweio.h
-do :
-  ac_fn_cxx_check_header_mongrel "$LINENO" "sys/tweio.h" "ac_cv_header_sys_tweio_h" "$ac_includes_default"
-if test "x$ac_cv_header_sys_tweio_h" = xyes; then :
-  cat >>confdefs.h <<_ACEOF
-#define HAVE_SYS_TWEIO_H 1
-_ACEOF
-
-fi
-
-done
-
-for ac_header in sys/twereg.h
+case "$host" in
+  *-*-freebsd*|*-*-dragonfly*|*-*-kfreebsd*-gnu*)
+    # Check for FreeBSD twe and twa include files
+    for ac_header in sys/tweio.h sys/twereg.h sys/tw_osl_ioctl.h
 do :
-  ac_fn_cxx_check_header_mongrel "$LINENO" "sys/twereg.h" "ac_cv_header_sys_twereg_h" "$ac_includes_default"
-if test "x$ac_cv_header_sys_twereg_h" = xyes; then :
+  as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
+ac_fn_cxx_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default"
+if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
   cat >>confdefs.h <<_ACEOF
-#define HAVE_SYS_TWEREG_H 1
+#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
 _ACEOF
 
 fi
 
 done
 
-for ac_header in sys/tw_osl_ioctl.h
+    # Check for the FreeBSD CCISS system header and use internal one if not found
+    for ac_header in dev/ciss/cissio.h
 do :
-  ac_fn_cxx_check_header_mongrel "$LINENO" "sys/tw_osl_ioctl.h" "ac_cv_header_sys_tw_osl_ioctl_h" "$ac_includes_default"
-if test "x$ac_cv_header_sys_tw_osl_ioctl_h" = xyes; then :
+  ac_fn_cxx_check_header_mongrel "$LINENO" "dev/ciss/cissio.h" "ac_cv_header_dev_ciss_cissio_h" "$ac_includes_default"
+if test "x$ac_cv_header_dev_ciss_cissio_h" = xyes; then :
   cat >>confdefs.h <<_ACEOF
-#define HAVE_SYS_TW_OSL_IOCTL_H 1
+#define HAVE_DEV_CISS_CISSIO_H 1
 _ACEOF
 
-fi
+$as_echo "#define CISS_LOCATION <dev/ciss/cissio.h>" >>confdefs.h
 
-done
+else
 
-for ac_header in linux/compiler.h
-do :
-  ac_fn_cxx_check_header_mongrel "$LINENO" "linux/compiler.h" "ac_cv_header_linux_compiler_h" "$ac_includes_default"
-if test "x$ac_cv_header_linux_compiler_h" = xyes; then :
-  cat >>confdefs.h <<_ACEOF
-#define HAVE_LINUX_COMPILER_H 1
-_ACEOF
+$as_echo "#define CISS_LOCATION \"cissio_freebsd.h\"" >>confdefs.h
 
 fi
 
 done
 
-for ac_header in dev/ciss/cissio.h
+    ;;
+  *-*-linux*)
+    # <linux/compiler.h> is needed for cciss_ioctl.h at least on SuSE LINUX
+    for ac_header in sys/sysmacros.h linux/compiler.h
 do :
-  ac_fn_cxx_check_header_mongrel "$LINENO" "dev/ciss/cissio.h" "ac_cv_header_dev_ciss_cissio_h" "$ac_includes_default"
-if test "x$ac_cv_header_dev_ciss_cissio_h" = xyes; then :
+  as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
+ac_fn_cxx_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default"
+if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
   cat >>confdefs.h <<_ACEOF
-#define HAVE_DEV_CISS_CISSIO_H 1
+#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
 _ACEOF
 
-$as_echo "#define CISS_LOCATION <dev/ciss/cissio.h>" >>confdefs.h
-
-else
-
-$as_echo "#define CISS_LOCATION \"cissio_freebsd.h\"" >>confdefs.h
-
-
 fi
 
 done
 
-for ac_header in linux/cciss_ioctl.h
+    # Check for Linux CCISS include file
+    for ac_header in linux/cciss_ioctl.h
 do :
   ac_fn_cxx_check_header_compile "$LINENO" "linux/cciss_ioctl.h" "ac_cv_header_linux_cciss_ioctl_h" "$ac_includes_default
 #ifdef HAVE_LINUX_COMPILER_H
 
 done
 
-for ac_header in ntdddisk.h ddk/ntdddisk.h
+    ;;
+  *-*-netbsd*|*-*-openbsd*)
+    for ac_header in dev/ata/atavar.h
 do :
-  as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
-ac_fn_cxx_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default
-#include <windows.h>
-
-"
-if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
+  ac_fn_cxx_check_header_mongrel "$LINENO" "dev/ata/atavar.h" "ac_cv_header_dev_ata_atavar_h" "$ac_includes_default"
+if test "x$ac_cv_header_dev_ata_atavar_h" = xyes; then :
   cat >>confdefs.h <<_ACEOF
-#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
+#define HAVE_DEV_ATA_ATAVAR_H 1
 _ACEOF
 
 fi
 
 done
 
-for ac_header in wbemcli.h
+    ;;
+  *-*-cygwin*|*-*-mingw*)
+    # Check for Windows DDK header files
+    for ac_header in ntdddisk.h ddk/ntdddisk.h
 do :
-  ac_fn_cxx_check_header_mongrel "$LINENO" "wbemcli.h" "ac_cv_header_wbemcli_h" "$ac_includes_default"
-if test "x$ac_cv_header_wbemcli_h" = xyes; then :
+  as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
+ac_fn_cxx_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default
+#include <windows.h>
+
+"
+if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
   cat >>confdefs.h <<_ACEOF
-#define HAVE_WBEMCLI_H 1
+#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
 _ACEOF
 
 fi
 
 done
 
+    ;;
+esac
 
-ac_fn_cxx_check_type "$LINENO" "int64_t" "ac_cv_type_int64_t" "$ac_includes_default"
-if test "x$ac_cv_type_int64_t" = xyes; then :
+# Checks for typedefs, and compiler characteristics.
+ac_fn_cxx_check_type "$LINENO" "__int128" "ac_cv_type___int128" "$ac_includes_default"
+if test "x$ac_cv_type___int128" = xyes; then :
 
 cat >>confdefs.h <<_ACEOF
-#define HAVE_INT64_T 1
+#define HAVE___INT128 1
 _ACEOF
 
 
 fi
-ac_fn_cxx_check_type "$LINENO" "uint64_t" "ac_cv_type_uint64_t" "$ac_includes_default"
-if test "x$ac_cv_type_uint64_t" = xyes; then :
 
-cat >>confdefs.h <<_ACEOF
-#define HAVE_UINT64_T 1
-_ACEOF
 
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for long double with more range or precision than double" >&5
+$as_echo_n "checking for long double with more range or precision than double... " >&6; }
+if ${ac_cv_type_long_double_wider+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <float.h>
+           long double const a[] =
+             {
+                0.0L, DBL_MIN, DBL_MAX, DBL_EPSILON,
+                LDBL_MIN, LDBL_MAX, LDBL_EPSILON
+             };
+           long double
+           f (long double x)
+           {
+              return ((x + (unsigned long int) 10) * (-1 / x) + a[0]
+                       + (x ? f (x) : 'c'));
+           }
+
+int
+main ()
+{
+static int test_array [1 - 2 * !((0 < ((DBL_MAX_EXP < LDBL_MAX_EXP)
+                  + (DBL_MANT_DIG < LDBL_MANT_DIG)
+                  - (LDBL_MAX_EXP < DBL_MAX_EXP)
+                  - (LDBL_MANT_DIG < DBL_MANT_DIG)))
+           && (int) LDBL_EPSILON == 0
+         )];
+test_array [0] = 0;
+return test_array [0];
 
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_cxx_try_compile "$LINENO"; then :
+  ac_cv_type_long_double_wider=yes
+else
+  ac_cv_type_long_double_wider=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_type_long_double_wider" >&5
+$as_echo "$ac_cv_type_long_double_wider" >&6; }
+  if test $ac_cv_type_long_double_wider = yes; then
 
+$as_echo "#define HAVE_LONG_DOUBLE_WIDER 1" >>confdefs.h
 
+  fi
+
+
+# Checks for library functions.
 for ac_func in getopt_long
 do :
   ac_fn_cxx_check_func "$LINENO" "getopt_long" "ac_cv_func_getopt_long"
@@ -5714,60 +5727,6 @@ else
   NEED_GETOPT_LONG_FALSE=
 fi
 
-for ac_func in regcomp
-do :
-  ac_fn_cxx_check_func "$LINENO" "regcomp" "ac_cv_func_regcomp"
-if test "x$ac_cv_func_regcomp" = xyes; then :
-  cat >>confdefs.h <<_ACEOF
-#define HAVE_REGCOMP 1
-_ACEOF
- need_regex=no
-else
-  need_regex=yes
-fi
-done
-
- if test "$need_regex" = "yes"; then
-  NEED_REGEX_TRUE=
-  NEED_REGEX_FALSE='#'
-else
-  NEED_REGEX_TRUE='#'
-  NEED_REGEX_FALSE=
-fi
-
-
-for ac_func in sigset
-do :
-  ac_fn_cxx_check_func "$LINENO" "sigset" "ac_cv_func_sigset"
-if test "x$ac_cv_func_sigset" = xyes; then :
-  cat >>confdefs.h <<_ACEOF
-#define HAVE_SIGSET 1
-_ACEOF
-
-fi
-done
-
-for ac_func in strtoull
-do :
-  ac_fn_cxx_check_func "$LINENO" "strtoull" "ac_cv_func_strtoull"
-if test "x$ac_cv_func_strtoull" = xyes; then :
-  cat >>confdefs.h <<_ACEOF
-#define HAVE_STRTOULL 1
-_ACEOF
-
-fi
-done
-
-for ac_func in uname
-do :
-  ac_fn_cxx_check_func "$LINENO" "uname" "ac_cv_func_uname"
-if test "x$ac_cv_func_uname" = xyes; then :
-  cat >>confdefs.h <<_ACEOF
-#define HAVE_UNAME 1
-_ACEOF
-
-fi
-done
 
 for ac_func in clock_gettime ftime gettimeofday
 do :
@@ -6045,102 +6004,18 @@ $as_echo "$gcc_have_attr_packed" >&6; }
 
 
 
-
-# Check whether --with-systemdsystemunitdir was given.
-if test "${with_systemdsystemunitdir+set}" = set; then :
-  withval=$with_systemdsystemunitdir;
-else
-  with_systemdsystemunitdir=auto
-fi
-
-
-systemdsystemunitdir=
-case "$with_systemdsystemunitdir" in
- auto|yes)
-   if test -n "$PKG_CONFIG"; then
-     { $as_echo "$as_me:${as_lineno-$LINENO}: checking for systemdsystemunitdir" >&5
-$as_echo_n "checking for systemdsystemunitdir... " >&6; }
-     systemdsystemunitdir=`$PKG_CONFIG --variable=systemdsystemunitdir systemd 2>/dev/null`
-     { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${systemdsystemunitdir:-no}" >&5
-$as_echo "${systemdsystemunitdir:-no}" >&6; }
-   fi
-   case "$with_systemdsystemunitdir:$sysconfdir:$systemdsystemunitdir" in
-     yes:*:) as_fn_error $? "Location of systemd service files not found" "$LINENO" 5 ;;
-     yes:*:*|auto:*:|auto:/etc:*) ;;
-     *) systemdsystemunitdir='${prefix}'$systemdsystemunitdir ;;
-   esac ;;
- no) ;;
- *) systemdsystemunitdir="$with_systemdsystemunitdir" ;;
-esac
-
- if test -n "$systemdsystemunitdir"; then
-  INSTALL_SYSTEMDUNIT_TRUE=
-  INSTALL_SYSTEMDUNIT_FALSE='#'
-else
-  INSTALL_SYSTEMDUNIT_TRUE='#'
-  INSTALL_SYSTEMDUNIT_FALSE=
-fi
-
-
-
-# Check whether --with-systemdenvfile was given.
-if test "${with_systemdenvfile+set}" = set; then :
-  withval=$with_systemdenvfile;
-else
-  with_systemdenvfile=auto
-fi
-
-
-systemdenvfile=
-case "$with_systemdenvfile:$cross_compiling:$systemdsystemunitdir" in
-  auto:no:?*|yes:*:?*)
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for path of systemd EnvironmentFile" >&5
-$as_echo_n "checking for path of systemd EnvironmentFile... " >&6; }
-    for dir in sysconfig default; do
-      if test -d /etc/$dir; then
-        systemdenvfile='${sysconfdir}'/$dir/smartmontools
-        break
-      fi
-    done
-    { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${systemdenvfile:-no}" >&5
-$as_echo "${systemdenvfile:-no}" >&6; }
-    case "$with_systemdenvfile:$systemdenvfile" in
-      yes:) as_fn_error $? "Path of systemd EnvironmentFile not found" "$LINENO" 5 ;;
-    esac ;;
-  auto:*|no:*) ;;
-  *:*:) as_fn_error $? "Location of systemd service files not found" "$LINENO" 5 ;;
-  *) systemdenvfile="$with_systemdenvfile"
-esac
-
-
+initddir=
 
 # Check whether --with-initscriptdir was given.
 if test "${with_initscriptdir+set}" = set; then :
-  withval=$with_initscriptdir;
-else
-  with_initscriptdir=auto
-fi
+  withval=$with_initscriptdir;  case "$withval" in
+      auto|yes) as_fn_error $? "'--with-initscriptdir=$withval' is no longer supported" "$LINENO" 5 ;;
+      no) ;;
+      *) initddir="$withval" ;;
+    esac
 
+fi
 
-initddir=
-case "$with_initscriptdir:$cross_compiling:$systemdsystemunitdir" in
-  auto:no:|yes:*)
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for init (rc) directory" >&5
-$as_echo_n "checking for init (rc) directory... " >&6; }
-    for dir in rc.d/init.d init.d rc.d; do
-      if test -d /etc/$dir; then
-        initddir='${sysconfdir}'/$dir
-        break
-      fi
-    done
-    { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${initddir:-no}" >&5
-$as_echo "${initddir:-no}" >&6; }
-    case "$with_initscriptdir:$initddir" in
-      yes:) as_fn_error $? "Location of init scripts not found" "$LINENO" 5 ;;
-    esac ;;
-  auto:*|no:*) ;;
-  *) initddir="$with_initscriptdir" ;;
-esac
 
  if test -n "$initddir"; then
   INSTALL_INITSCRIPT_TRUE=
@@ -6159,6 +6034,9 @@ case "${host}" in
   *-apple-darwin*)
     initdfile="com.smartmontools.smartd.plist"
     ;;
+  *-*-cygwin*)
+    initdfile="smartd.cygwin.initd"
+    ;;
   *)
     initdfile="smartd.initd"
     ;;
@@ -6192,7 +6070,7 @@ else
 fi
 
 
-drivedb_version=$VERSION
+drivedb_version=$smartmontools_drivedb_version
 
 # Check whether --with-update-smart_drivedb was given.
 if test "${with_update_smart_drivedb+set}" = set; then :
@@ -6260,7 +6138,7 @@ fi
 if test "${with_scriptpath+set}" = set; then :
   withval=$with_scriptpath; scriptpath=; test "$withval" != "no" && scriptpath="$withval"
 else
-  scriptpath="/usr/bin:/bin"
+  scriptpath="/usr/local/bin:/usr/bin:/bin"
 fi
 
 
@@ -6322,6 +6200,28 @@ fi
 
 
 
+# Check whether --enable-scsi-cdb-check was given.
+if test "${enable_scsi_cdb_check+set}" = set; then :
+  enableval=$enable_scsi_cdb_check;  if test "$enableval" = "yes"; then
+
+$as_echo "#define SCSI_CDB_CHECK 1" >>confdefs.h
+
+    fi
+
+fi
+
+
+# Check whether --enable-fast-lebe was given.
+if test "${enable_fast_lebe+set}" = set; then :
+  enableval=$enable_fast_lebe;  if test "$enableval" = "no"; then
+
+$as_echo "#define IGNORE_FAST_LEBE 1" >>confdefs.h
+
+    fi
+
+fi
+
+
 
 # Check whether --with-os-deps was given.
 if test "${with_os_deps+set}" = set; then :
@@ -6405,12 +6305,6 @@ fi
 fi
 
 
-if test "$with_selinux" = "yes"; then
-
-$as_echo "#define WITH_SELINUX 1" >>confdefs.h
-
-fi
-
 
 # Check whether --with-libcap-ng was given.
 if test "${with_libcap_ng+set}" = set; then :
@@ -6421,8 +6315,16 @@ fi
 
 
 use_libcap_ng=no
-if test "$with_libcap_ng" != "no"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for capng_clear in -lcap-ng" >&5
+case "$with_libcap_ng:$host_os" in
+  auto:linux*|yes:*)
+    for ac_header in cap-ng.h
+do :
+  ac_fn_cxx_check_header_mongrel "$LINENO" "cap-ng.h" "ac_cv_header_cap_ng_h" "$ac_includes_default"
+if test "x$ac_cv_header_cap_ng_h" = xyes; then :
+  cat >>confdefs.h <<_ACEOF
+#define HAVE_CAP_NG_H 1
+_ACEOF
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for capng_clear in -lcap-ng" >&5
 $as_echo_n "checking for capng_clear in -lcap-ng... " >&6; }
 if ${ac_cv_lib_cap_ng_capng_clear+:} false; then :
   $as_echo_n "(cached) " >&6
@@ -6461,45 +6363,172 @@ $as_echo "$ac_cv_lib_cap_ng_capng_clear" >&6; }
 if test "x$ac_cv_lib_cap_ng_capng_clear" = xyes; then :
 
 $as_echo "#define HAVE_LIBCAP_NG 1" >>confdefs.h
-      CAPNG_LDADD="-lcap-ng"; use_libcap_ng=yes
+        CAPNG_LDADD="-lcap-ng"; use_libcap_ng=yes
+else
+  as_fn_error $? "libcap-ng headers found but library is missing" "$LINENO" 5
 fi
 
+else
+  test "$with_libcap_ng" != "yes" || as_fn_error $? "Missing libcap-ng header files" "$LINENO" 5
+fi
 
-  if test "$use_libcap_ng" = "yes"; then
-    ac_fn_cxx_check_header_mongrel "$LINENO" "cap-ng.h" "ac_cv_header_cap_ng_h" "$ac_includes_default"
-if test "x$ac_cv_header_cap_ng_h" = xyes; then :
+done
 
+    ;;
+esac
+
+
+
+# Check whether --with-libsystemd was given.
+if test "${with_libsystemd+set}" = set; then :
+  withval=$with_libsystemd;
 else
-  as_fn_error $? "libcap-ng libraries found but headers are missing" "$LINENO" 5
+  with_libsystemd=auto
 fi
 
 
-  elif test "$with_libcap_ng" = "yes"; then
-    as_fn_error $? "libcap-ng support was requested but the library was not found" "$LINENO" 5
-  fi
+use_libsystemd=no
+case "$with_libsystemd:$host_os" in
+  auto:linux*|yes:*)
+    for ac_header in systemd/sd-daemon.h
+do :
+  ac_fn_cxx_check_header_mongrel "$LINENO" "systemd/sd-daemon.h" "ac_cv_header_systemd_sd_daemon_h" "$ac_includes_default"
+if test "x$ac_cv_header_systemd_sd_daemon_h" = xyes; then :
+  cat >>confdefs.h <<_ACEOF
+#define HAVE_SYSTEMD_SD_DAEMON_H 1
+_ACEOF
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for sd_notify in -lsystemd" >&5
+$as_echo_n "checking for sd_notify in -lsystemd... " >&6; }
+if ${ac_cv_lib_systemd_sd_notify+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  ac_check_lib_save_LIBS=$LIBS
+LIBS="-lsystemd  $LIBS"
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+char sd_notify ();
+int
+main ()
+{
+return sd_notify ();
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_cxx_try_link "$LINENO"; then :
+  ac_cv_lib_systemd_sd_notify=yes
+else
+  ac_cv_lib_systemd_sd_notify=no
 fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_systemd_sd_notify" >&5
+$as_echo "$ac_cv_lib_systemd_sd_notify" >&6; }
+if test "x$ac_cv_lib_systemd_sd_notify" = xyes; then :
 
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to use libcap-ng" >&5
-$as_echo_n "checking whether to use libcap-ng... " >&6; }
+$as_echo "#define HAVE_LIBSYSTEMD 1" >>confdefs.h
+        SYSTEMD_LDADD="-lsystemd"; use_libsystemd=yes
+else
+  as_fn_error $? "libsystemd headers found but library is missing" "$LINENO" 5
+fi
 
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $use_libcap_ng" >&5
-$as_echo "$use_libcap_ng" >&6; }
+else
+  test "$with_libsystemd" != "yes" || as_fn_error $? "Missing libsystemd header files" "$LINENO" 5
+fi
 
-# TODO: Remove when NVMe support is no longer EXPERIMENTAL
+done
 
-# Check whether --with-nvme-devicescan was given.
-if test "${with_nvme_devicescan+set}" = set; then :
-  withval=$with_nvme_devicescan;
+    ;;
+esac
+
+
+
+# Check whether --with-systemdsystemunitdir was given.
+if test "${with_systemdsystemunitdir+set}" = set; then :
+  withval=$with_systemdsystemunitdir;
+else
+  with_systemdsystemunitdir=auto
 fi
 
 
-if test "$with_nvme_devicescan" = "yes"; then
+systemdsystemunitdir=
+case "$with_systemdsystemunitdir:$use_libsystemd" in
+  auto:yes|yes:yes)
+    if test -n "$PKG_CONFIG"; then
+      { $as_echo "$as_me:${as_lineno-$LINENO}: checking for systemdsystemunitdir" >&5
+$as_echo_n "checking for systemdsystemunitdir... " >&6; }
+      systemdsystemunitdir=`$PKG_CONFIG --variable=systemdsystemunitdir systemd 2>/dev/null`
+      { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${systemdsystemunitdir:-no}" >&5
+$as_echo "${systemdsystemunitdir:-no}" >&6; }
+    fi
+    case "$with_systemdsystemunitdir:$sysconfdir:$systemdsystemunitdir" in
+      yes:*:) as_fn_error $? "Location of systemd service files not found" "$LINENO" 5 ;;
+      yes:*:*|auto:*:|auto:/etc:*) ;;
+      *) systemdsystemunitdir='${prefix}'$systemdsystemunitdir ;;
+    esac ;;
+  auto:*|no:*) ;;
+  *:yes) systemdsystemunitdir="$with_systemdsystemunitdir" ;;
+  *) as_fn_error $? "'--with-systemdsystemunitdir=$with_systemdsystemunitdir' now requires '--with-libsystemd'" "$LINENO" 5 ;;
+esac
 
-$as_echo "#define WITH_NVME_DEVICESCAN 1" >>confdefs.h
+ if test -n "$systemdsystemunitdir"; then
+  INSTALL_SYSTEMDUNIT_TRUE=
+  INSTALL_SYSTEMDUNIT_FALSE='#'
+else
+  INSTALL_SYSTEMDUNIT_TRUE='#'
+  INSTALL_SYSTEMDUNIT_FALSE=
+fi
+
+
+
+# Check whether --with-systemdenvfile was given.
+if test "${with_systemdenvfile+set}" = set; then :
+  withval=$with_systemdenvfile;
+else
+  with_systemdenvfile=auto
+fi
+
+
+systemdenvfile=
+case "$with_systemdenvfile:$cross_compiling:$systemdsystemunitdir" in
+  auto:no:?*|yes:*:?*)
+    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for path of systemd EnvironmentFile" >&5
+$as_echo_n "checking for path of systemd EnvironmentFile... " >&6; }
+    for dir in sysconfig default; do
+      if test -d /etc/$dir; then
+        systemdenvfile='${sysconfdir}'/$dir/smartmontools
+        break
+      fi
+    done
+    { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${systemdenvfile:-no}" >&5
+$as_echo "${systemdenvfile:-no}" >&6; }
+    case "$with_systemdenvfile:$systemdenvfile" in
+      yes:) as_fn_error $? "Path of systemd EnvironmentFile not found" "$LINENO" 5 ;;
+    esac ;;
+  auto:*|no:*) ;;
+  *:*:) as_fn_error $? "Location of systemd service files not found" "$LINENO" 5 ;;
+  *) systemdenvfile="$with_systemdenvfile"
+esac
+
+
+# TODO: Remove when NVMe support is no longer EXPERIMENTAL
 
+# Check whether --with-nvme-devicescan was given.
+if test "${with_nvme_devicescan+set}" = set; then :
+  withval=$with_nvme_devicescan;
 fi
 
 
+
 # Check whether --with-solaris-sparc-ata was given.
 if test "${with_solaris_sparc_ata+set}" = set; then :
   withval=$with_solaris_sparc_ata;
@@ -6519,52 +6548,107 @@ $as_echo "#define WITH_SOLARIS_SPARC_ATA 1" >>confdefs.h
     ;;
 esac
 
-# Assume broken snprintf only on Windows with MSVCRT (MinGW without ANSI stdio support)
-libc_have_working_snprintf=yes
 
-case "$host" in
-  *-*-mingw*)
-    case " $CPPFLAGS $CXXFLAGS" in
-      *\ -[DU]__USE_MINGW_ANSI_STDIO*)
-        ;;
-      *)
-        # Older MinGW do not properly define PRI?64 if __USE_MINGW_ANSI_STDIO is set
-        # Newer MinGW set __USE_MINGW_ANSI_STDIO in first C++ include which may be too late
-        { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether __USE_MINGW_ANSI_STDIO is defined by C++ includes" >&5
-$as_echo_n "checking whether __USE_MINGW_ANSI_STDIO is defined by C++ includes... " >&6; }
-        cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
+# Check whether --with-signal-func was given.
+if test "${with_signal_func+set}" = set; then :
+  withval=$with_signal_func;
+else
+  with_signal_func=sigaction
+fi
+
 
-          #undef __USE_MINGW_ANSI_STDIO
-          #include <iostream>
-          #ifndef __USE_MINGW_ANSI_STDIO
-            #error false
-          #endif
+case "$host:$with_signal_func" in
+  *-*-mingw*:*) ;;
+  *:sigaction)
+    for ac_func in sigaction
+do :
+  ac_fn_cxx_check_func "$LINENO" "sigaction" "ac_cv_func_sigaction"
+if test "x$ac_cv_func_sigaction" = xyes; then :
+  cat >>confdefs.h <<_ACEOF
+#define HAVE_SIGACTION 1
 _ACEOF
-if ac_fn_cxx_try_cpp "$LINENO"; then :
-  CXXFLAGS="-D__USE_MINGW_ANSI_STDIO $CXXFLAGS"
+
 else
-  libc_have_working_snprintf=no
+  as_fn_error $? "Missing function 'sigaction()'.
+Try '--with-signal-func=sigset' or '--with-signal-func=signal'.
+Please send info about your system to $PACKAGE_BUGREPORT." "$LINENO" 5
 fi
-rm -f conftest.err conftest.i conftest.$ac_ext
-        { $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_have_working_snprintf" >&5
-$as_echo "$libc_have_working_snprintf" >&6; }
-        ;;
-    esac ;;
+done
+ ;;
+  *:sigset)
+    for ac_func in sigset
+do :
+  ac_fn_cxx_check_func "$LINENO" "sigset" "ac_cv_func_sigset"
+if test "x$ac_cv_func_sigset" = xyes; then :
+  cat >>confdefs.h <<_ACEOF
+#define HAVE_SIGSET 1
+_ACEOF
+
+else
+  as_fn_error $? "Missing function 'sigset()'" "$LINENO" 5
+fi
+done
+ ;;
+  *:signal) ;;
+  *) as_fn_error $? "Invalid option '--with-signal-func=$with_signal_func'" "$LINENO" 5 ;;
 esac
 
+# TODO: Remove after smartmontools 6.7
 
 # Check whether --with-working-snprintf was given.
 if test "${with_working_snprintf+set}" = set; then :
-  withval=$with_working_snprintf; libc_have_working_snprintf=$withval
+  withval=$with_working_snprintf;
+else
+  with_working_snprintf=yes
 fi
 
 
-if test "$libc_have_working_snprintf" = "yes"; then
+if test "$with_working_snprintf" = "yes"; then
 
 $as_echo "#define HAVE_WORKING_SNPRINTF 1" >>confdefs.h
  fi
 
+case "$with_working_snprintf:$host_os: $CPPFLAGS $CXXFLAGS" in
+  yes:mingw*:*\ -[DU]__USE_MINGW_ANSI_STDIO*)
+    ;;
+  yes:mingw*:*)
+    # Older MinGW (4.6.3) do not properly define PRI?64 if __USE_MINGW_ANSI_STDIO is set.
+    # Newer MinGW (4.9.1) set __USE_MINGW_ANSI_STDIO in first C++ include which may be too late.
+    # Set __USE_MINGW_ANSI_STDIO always and fail if not fully supported.
+    { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CXX supports __USE_MINGW_ANSI_STDIO" >&5
+$as_echo_n "checking whether $CXX supports __USE_MINGW_ANSI_STDIO... " >&6; }
+    save_CXXFLAGS=$CXXFLAGS
+    CXXFLAGS="-Wformat -Werror -D__USE_MINGW_ANSI_STDIO"
+    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+      #define __STDC_FORMAT_MACROS 1
+      #include <inttypes.h>
+      #include <stdio.h>
+      void f(char * buf1, char * buf2, size_t size) {
+        snprintf(buf1, size, "%lld", 42LL);
+        snprintf(buf2, size, "%" PRId64, (int64_t)42);
+      }
+_ACEOF
+if ac_fn_cxx_try_compile "$LINENO"; then :
+  result=yes
+else
+  result=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+    { $as_echo "$as_me:${as_lineno-$LINENO}: result: $result" >&5
+$as_echo "$result" >&6; }
+    if test "$result" != "yes"; then
+      as_fn_error $? "
+This version of $CXX does not support __USE_MINGW_ANSI_STDIO.
+Use option '--without-working-snprintf' to skip this check.
+Please send info about your system to $PACKAGE_BUGREPORT.
+" "$LINENO" 5
+    fi
+    CXXFLAGS="-D__USE_MINGW_ANSI_STDIO $save_CXXFLAGS"
+    ;;
+esac
+
 
 # Check whether --with-mingw-aslr was given.
 if test "${with_mingw_aslr+set}" = set; then :
@@ -6720,7 +6804,7 @@ This version of smartmontools does not use C++11 features, but future
 versions possibly will.
 This script was unable to determine a compiler option to enable C++11.
 Use option '--with-cxx11-option=OPTION' to specify the compiler option
-(it will be checked, but not used in the actual build).
+(it will be used in the actual build only if '--with-cxx11-regex' is set).
 Use option '--without-cxx11-option' to suppress this error message if the
 compiler lacks C++11 support.
 In both cases, please send info about compiler and platform to
@@ -6737,6 +6821,46 @@ $as_echo "$res" >&6; }
 esac
 
 
+# Check whether --with-cxx11-regex was given.
+if test "${with_cxx11_regex+set}" = set; then :
+  withval=$with_cxx11_regex;
+fi
+
+
+need_regex=no
+if test "$with_cxx11_regex" = "yes"; then
+
+$as_echo "#define WITH_CXX11_REGEX 1" >>confdefs.h
+
+  case "$with_cxx11_option: $CXXFLAGS " in
+    no:*) as_fn_error $? "'--with-cxx11-regex' requires C++11 support" "$LINENO" 5 ;;
+    ?*:*\ $with_cxx11_option\ *) ;;
+    ?*:*) CXXFLAGS="$CXXFLAGS $with_cxx11_option" ;;
+  esac
+else
+  for ac_func in regcomp
+do :
+  ac_fn_cxx_check_func "$LINENO" "regcomp" "ac_cv_func_regcomp"
+if test "x$ac_cv_func_regcomp" = xyes; then :
+  cat >>confdefs.h <<_ACEOF
+#define HAVE_REGCOMP 1
+_ACEOF
+
+else
+  need_regex=yes
+fi
+done
+
+fi
+ if test "$need_regex" = "yes"; then
+  NEED_REGEX_TRUE=
+  NEED_REGEX_FALSE='#'
+else
+  NEED_REGEX_TRUE='#'
+  NEED_REGEX_FALSE=
+fi
+
+
 releaseversion='${PACKAGE}-${VERSION}'
 
 
@@ -6755,16 +6879,18 @@ os_win32=no
 os_win32_mingw=no
 os_win64=no
 os_man_filter=
+os_nvme_devicescan=
 case "${host}" in
   *-*-linux*)
     os_deps='os_linux.o cciss.o dev_areca.o'
     os_dnsdomainname="'dnsdomainname' 'hostname -d'"
     os_nisdomainname="'nisdomainname' 'hostname -y' 'domainname'"
     os_man_filter=Linux
+    os_nvme_devicescan=yes
     ;;
   *-*-freebsd*|*-*-dragonfly*|*-*-kfreebsd*-gnu*)
     os_deps='os_freebsd.o cciss.o dev_areca.o'
-    os_libs='-lcam'
+    os_libs='-lcam -lsbuf'
     os_dltools='curl wget lynx fetch svn'
     { $as_echo "$as_me:${as_lineno-$LINENO}: checking for libusb20_dev_get_device_desc in -lusb" >&5
 $as_echo_n "checking for libusb20_dev_get_device_desc in -lusb... " >&6; }
@@ -6812,6 +6938,7 @@ _ACEOF
 fi
 
     os_man_filter=FreeBSD
+    os_nvme_devicescan=no
     ;;
   sparc-*-solaris*)
     os_deps='os_solaris.o'
@@ -6831,6 +6958,7 @@ fi
     os_deps='os_netbsd.o'
     os_libs='-lutil'
     os_man_filter=NetBSD
+    os_nvme_devicescan=no
     ;;
   *-*-openbsd*)
     os_deps='os_openbsd.o'
@@ -6846,6 +6974,7 @@ fi
     os_nisdomainname=
     os_win32=yes
     os_man_filter=Cygwin
+    os_nvme_devicescan=yes
     ;;
   x86_64-*-mingw*)
     os_deps='os_win32.o dev_areca.o'
@@ -6853,18 +6982,21 @@ fi
     os_win32_mingw=yes
     os_win64=yes
     os_man_filter=Windows
+    os_nvme_devicescan=yes
     ;;
   *-*-mingw*)
     os_deps='os_win32.o dev_areca.o'
     os_win32=yes
     os_win32_mingw=yes
     os_man_filter=Windows
+    os_nvme_devicescan=yes
     ;;
   *-*-darwin*)
     os_deps='os_darwin.o'
     os_libs='-framework CoreFoundation -framework IOKit'
     os_darwin=yes
     os_man_filter=Darwin
+    os_nvme_devicescan=no
     ;;
   *-*-nto-qnx*)
     os_deps='os_qnxnto.o'
@@ -6896,6 +7028,23 @@ fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $os_new_interface" >&5
 $as_echo "$os_new_interface" >&6; }
 
+# TODO: Remove when NVMe support is no longer EXPERIMENTAL
+case "$os_nvme_devicescan:${with_nvme_devicescan+set}" in
+  no:|yes:)
+    { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether NVMe device scanning could be safely enabled" >&5
+$as_echo_n "checking whether NVMe device scanning could be safely enabled... " >&6; }
+    with_nvme_devicescan=$os_nvme_devicescan
+    { $as_echo "$as_me:${as_lineno-$LINENO}: result: $os_nvme_devicescan" >&5
+$as_echo "$os_nvme_devicescan" >&6; }
+    os_nvme_devicescan=used ;;
+esac
+
+if test "$with_nvme_devicescan" = "yes"; then
+
+$as_echo "#define WITH_NVME_DEVICESCAN 1" >>confdefs.h
+
+fi
+
 
 
 
@@ -6965,6 +7114,7 @@ fi
 
 
 if test "$GXX" = "yes"; then
+  orig_CXXFLAGS=$CXXFLAGS
   # Add -Wall and -W[extra] if its not already specified
   case " $CXXFLAGS " in
     *\ -Wall\ *) ;;
@@ -6975,16 +7125,15 @@ if test "$GXX" = "yes"; then
     *) CXXFLAGS="$CXXFLAGS -W" ;;
   esac
   # Add -Wformat=2 (GCC 3.0) -fstack-protector[-strong] (GCC 4.1[4.9]) if supported
-  # and CXXFLAGS was not set in configure cmdline (TODO: -Wformat-signedness)
-  case "${ac_test_CXXFLAGS+set}:$ac_test_CXXFLAGS" in
-    set:)
-      for option in "-Wformat=2" "-fstack-protector-strong" "-fstack-protector"; do
-        case " $CXXFLAGS:$option" in *\ -fstack-p*:-fstack-p*) continue ;; esac
-        { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CXX supports $option" >&5
+  # and no -W or -f option was set in configure cmdline (TODO: -Wformat-signedness)
+  for option in "-Wformat=2" "-fstack-protector-strong" "-fstack-protector"; do
+    case " $orig_CXXFLAGS:$option" in *\ -W*:-W*|*\ -f*:-f*) continue ;; esac
+    case " $CXXFLAGS:$option" in *\ -fstack-p*:-fstack-p*) continue ;; esac
+    { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CXX supports $option" >&5
 $as_echo_n "checking whether $CXX supports $option... " >&6; }
-        save_CXXFLAGS=$CXXFLAGS
-        CXXFLAGS="$CXXFLAGS $option"
-        cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+    save_CXXFLAGS=$CXXFLAGS
+    CXXFLAGS="$CXXFLAGS $option"
+    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 
 int
@@ -7001,11 +7150,9 @@ else
   res=no; CXXFLAGS=$save_CXXFLAGS
 fi
 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-        { $as_echo "$as_me:${as_lineno-$LINENO}: result: $res" >&5
+    { $as_echo "$as_me:${as_lineno-$LINENO}: result: $res" >&5
 $as_echo "$res" >&6; }
-      done
-      ;;
-  esac
+  done
 else
   # We are NOT using gcc, so enable host-specific compiler flags
   case "${host}" in
@@ -7194,15 +7341,7 @@ if test -z "${NEED_GETOPT_LONG_TRUE}" && test -z "${NEED_GETOPT_LONG_FALSE}"; th
   as_fn_error $? "conditional \"NEED_GETOPT_LONG\" was never defined.
 Usually this means the macro was only invoked conditionally." "$LINENO" 5
 fi
-if test -z "${NEED_REGEX_TRUE}" && test -z "${NEED_REGEX_FALSE}"; then
-  as_fn_error $? "conditional \"NEED_REGEX\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
 
-if test -z "${INSTALL_SYSTEMDUNIT_TRUE}" && test -z "${INSTALL_SYSTEMDUNIT_FALSE}"; then
-  as_fn_error $? "conditional \"INSTALL_SYSTEMDUNIT\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
 if test -z "${INSTALL_INITSCRIPT_TRUE}" && test -z "${INSTALL_INITSCRIPT_FALSE}"; then
   as_fn_error $? "conditional \"INSTALL_INITSCRIPT\" was never defined.
 Usually this means the macro was only invoked conditionally." "$LINENO" 5
@@ -7227,6 +7366,14 @@ if test -z "${ENABLE_ATTRIBUTELOG_TRUE}" && test -z "${ENABLE_ATTRIBUTELOG_FALSE
   as_fn_error $? "conditional \"ENABLE_ATTRIBUTELOG\" was never defined.
 Usually this means the macro was only invoked conditionally." "$LINENO" 5
 fi
+if test -z "${INSTALL_SYSTEMDUNIT_TRUE}" && test -z "${INSTALL_SYSTEMDUNIT_FALSE}"; then
+  as_fn_error $? "conditional \"INSTALL_SYSTEMDUNIT\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${NEED_REGEX_TRUE}" && test -z "${NEED_REGEX_FALSE}"; then
+  as_fn_error $? "conditional \"NEED_REGEX\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
 if test -z "${OS_DARWIN_TRUE}" && test -z "${OS_DARWIN_FALSE}"; then
   as_fn_error $? "conditional \"OS_DARWIN\" was never defined.
 Usually this means the macro was only invoked conditionally." "$LINENO" 5
@@ -7648,7 +7795,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
 # report actual input values of CONFIG_FILES etc. instead of their
 # values after options handling.
 ac_log="
-This file was extended by smartmontools $as_me 6.6, which was
+This file was extended by smartmontools $as_me 7.0, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -7714,7 +7861,7 @@ _ACEOF
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
 ac_cs_version="\\
-smartmontools config.status 6.6
+smartmontools config.status 7.0
 configured by $0, generated by GNU Autoconf 2.69,
   with options \\"\$ac_cs_config\\"
 
@@ -8649,7 +8796,9 @@ info=`
         echo "drive database file:    \`eval eval eval echo $drivedbdir\`/drivedb.h"
         if test "$with_update_smart_drivedb" = "yes"; then
           echo "database update script: \`eval eval eval echo $sbindir\`/update-smart-drivedb"
-          if test "$drivedb_version" != "$VERSION"; then
+          if test "$drivedb_version" = "$smartmontools_drivedb_version"; then
+            echo "database update branch: branches/$DRIVEDB_BRANCH"
+          else
             echo "... backported to:      branches/$DRIVEDB_BRANCH"
           fi
           echo "download tools:         \`eval eval eval echo $os_dltools\`"
@@ -8678,12 +8827,12 @@ info=`
         echo "PATH within scripts:    [inherited]"
       fi
       if test -n "$initddir"; then
-        echo "smartd initd script:    \`eval eval eval echo $initddir\`/${initdfile}"
+        echo "smartd initd script:    \`eval eval eval echo $initddir\`/smartd"
       elif test -z "$systemdsystemunitdir"; then
         echo "smartd initd script:    [disabled]"
       fi
       if test -n "$systemdsystemunitdir"; then
-        echo "smartd systemd file:    \`eval eval eval echo $systemdsystemunitdir\`/smartd.service"
+        echo "smartd service file:    \`eval eval eval echo $systemdsystemunitdir\`/smartd.service"
         if test -n "$systemdenvfile"; then
           echo "smartd environ file:    \`eval eval eval echo $systemdenvfile\`"
         else
@@ -8700,14 +8849,13 @@ info=`
       else
         echo "smartd attribute logs:  [disabled]"
       fi
-      echo "libcap-ng support:      $use_libcap_ng"
-      case "$host_os" in
-        linux*) echo "SELinux support:        ${with_selinux-no}" ;;
-      esac
       case "$host_os" in
-        linux*|darwin*|netbsd*|cygwin*)
-          echo "NVMe DEVICESCAN:        ${with_nvme_devicescan-no}" ;;
+        linux*)
+          echo "SELinux support:        ${with_selinux-no}"
+          echo "libcap-ng support:      $use_libcap_ng"
+          echo "systemd notify support: $use_libsystemd" ;;
       esac
+      echo "NVMe DEVICESCAN:        ${with_nvme_devicescan-[not implemented]}"
       ;;
   esac
   echo "-----------------------------------------------------------------------------"
@@ -8721,9 +8869,22 @@ $info
 " >&6;}
 
 # TODO: Remove when NVMe support is no longer EXPERIMENTAL
-case "$host_os:${with_nvme_devicescan+set}" in
-  linux*:|darwin*:|netbsd*:|cygwin*:|mingw*:)
-    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING:
+case "$os_nvme_devicescan:$with_nvme_devicescan" in
+  used:yes) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING:
+The default for the inclusion of NVME devices in smartd.conf
+'DEVICESCAN' and 'smartctl --scan' has been changed to 'yes' on
+this platform.  If '--without-nvme-devicescan' is still needed,
+please inform $PACKAGE_BUGREPORT.
+Use option '--with-nvme-devicescan' to suppress this warning.
+" >&5
+$as_echo "$as_me: WARNING:
+The default for the inclusion of NVME devices in smartd.conf
+'DEVICESCAN' and 'smartctl --scan' has been changed to 'yes' on
+this platform.  If '--without-nvme-devicescan' is still needed,
+please inform $PACKAGE_BUGREPORT.
+Use option '--with-nvme-devicescan' to suppress this warning.
+" >&2;}  ;;
+  used:no) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING:
 This version of smartmontools provides NVMe support which is still
 EXPERIMENTAL.  NVMe devices are not yet included in smartd.conf
 'DEVICESCAN' and 'smartctl --scan' unless '-d nvme' is specified.
@@ -8736,26 +8897,35 @@ EXPERIMENTAL.  NVMe devices are not yet included in smartd.conf
 'DEVICESCAN' and 'smartctl --scan' unless '-d nvme' is specified.
 Use option '--with-nvme-devicescan' to include NVMe devices.
 Use option '--without-nvme-devicescan' to suppress this warning.
-" >&2;}
-    ;;
+" >&2;}  ;;
 esac
 
-# TODO: Remove after smartmontools 6.6
-case "$host:${with_solaris_sparc_ata+set}" in
-  sparc-*-solaris*:)
-    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING:
-Legacy ATA support is no longer enabled by default on Solaris SPARC.
-The required source file 'os_solaris_ata.s' is no longer included in
-the source tarball but still available in the SVN repository.
-Use option '--with-solaris-sparc-ata' to enable legacy ATA support.
-Use option '--without-solaris-sparc-ata' to suppress this warning.
+# TODO: Remove after smartmontools 6.7
+if test "$with_working_snprintf" != "yes"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING:
+The option '--without-working-snprintf' is deprecated and will be removed
+in a future version of smartmontools.  If you still need support for
+pre-C99 snprintf(), please inform $PACKAGE_BUGREPORT.
 " >&5
 $as_echo "$as_me: WARNING:
-Legacy ATA support is no longer enabled by default on Solaris SPARC.
-The required source file 'os_solaris_ata.s' is no longer included in
-the source tarball but still available in the SVN repository.
-Use option '--with-solaris-sparc-ata' to enable legacy ATA support.
-Use option '--without-solaris-sparc-ata' to suppress this warning.
+The option '--without-working-snprintf' is deprecated and will be removed
+in a future version of smartmontools.  If you still need support for
+pre-C99 snprintf(), please inform $PACKAGE_BUGREPORT.
 " >&2;}
-    ;;
+fi
+
+case "$host_os:$with_libsystemd:$use_libsystemd:$PKG_CONFIG" in
+  linux*:auto:no:?*)
+    if $PKG_CONFIG systemd >/dev/null 2>&1; then
+      { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING:
+systemd(1) is used on this system but smartd systemd notify support will
+not be available because libsystemd-dev[el] package is not installed.
+Use option '--without-libsystemd' to suppress this warning.
+" >&5
+$as_echo "$as_me: WARNING:
+systemd(1) is used on this system but smartd systemd notify support will
+not be available because libsystemd-dev[el] package is not installed.
+Use option '--without-libsystemd' to suppress this warning.
+" >&2;}
+    fi ;;
 esac