# License along with libatasmart. If not, If not, see
# <http://www.gnu.org/licenses/>.
-AC_PREREQ(2.63)
+AC_PREREQ(2.68)
+
+AC_INIT([libatasmart],
+ [0.19],
+ [mzyvongnfzneg (at) 0pointer (dot) net],
+ [libatasmart],
+ [http://git.0pointer.de/?p=libatasmart.git])
-AC_INIT([libatasmart], 0.17, [mzyvongnfzneg (at) 0pointer (dot) net])
AC_CONFIG_SRCDIR([atasmart.c])
AC_CONFIG_HEADERS([config.h])
AC_CONFIG_MACRO_DIR(m4)
+AC_CONFIG_AUX_DIR([build-aux])
-AM_INIT_AUTOMAKE([foreign 1.11 -Wall -Wno-portability silent-rules tar-pax])
-
-AC_SUBST(PACKAGE_URL, [http://git.0pointer.de/?p=libatasmart.git])
-
-AC_SUBST(LIBATASMART_VERSION_INFO, [4:3:0])
-
-AC_CANONICAL_HOST
-
+AM_INIT_AUTOMAKE([foreign 1.11 -Wall -Wno-portability silent-rules tar-pax no-dist-gzip dist-xz])
AM_SILENT_RULES([yes])
+AC_SUBST(LIBATASMART_VERSION_INFO, [4:4:0])
+
if type -p stow > /dev/null && test -d /usr/local/stow ; then
- AC_MSG_NOTICE([*** Found /usr/local/stow: default install prefix set to /usr/local/stow/${PACKAGE_NAME}-${PACKAGE_VERSION} ***])
- ac_default_prefix="/usr/local/stow/${PACKAGE_NAME}-${PACKAGE_VERSION}"
+ AC_MSG_NOTICE([*** Found /usr/local/stow: default install prefix set to /usr/local/stow/${PACKAGE_NAME}-${PACKAGE_VERSION} ***])
+ ac_default_prefix="/usr/local/stow/${PACKAGE_NAME}-${PACKAGE_VERSION}"
fi
-#### Checks for programs. ####
-
-# CC
-
AC_PROG_CC
AC_PROG_CC_C99
AM_PROG_CC_C_O
AC_PROG_GCC_TRADITIONAL
AX_CC_FOR_BUILD
-AC_USE_SYSTEM_EXTENSIONS
-
-# C++
-
-AC_PROG_CXX
-
-dnl Check compiler flags
-CC_CHECK_CFLAGS_APPEND([-Wall -W -Wextra -pedantic -pipe -Wformat -Wold-style-definition -Wdeclaration-after-statement -Wfloat-equal -Wmissing-declarations -Wmissing-prototypes -Wstrict-prototypes -Wredundant-decls -Wmissing-noreturn -Wshadow -Wendif-labels -Wpointer-arith -Wcast-align -Wwrite-strings -Winline -Wno-unused-parameter -ffast-math])
-
-#### libtool stuff ####
-
-AC_PROG_LIBTOOL
-
-#### Checks for header files. ####
-
-# ISO
-AC_HEADER_STDC
-
-# XPG4-UNIX
-AC_CHECK_HEADERS([sys/poll.h])
-
-# Other
-AC_CHECK_HEADERS([sys/ioctl.h])
-AC_CHECK_HEADERS([byteswap.h])
-
-#### Typdefs, structures, etc. ####
-
-AC_C_CONST
-AC_C_BIGENDIAN
-AC_TYPE_PID_T
-AC_TYPE_SIZE_T
-AC_CHECK_TYPES(ssize_t, , [AC_DEFINE([ssize_t], [signed long],
- [Define ssize_t if it is not done by the standard libs.])])
-AC_TYPE_OFF_T
-AC_TYPE_SIGNAL
-AC_TYPE_UID_T
-
-#### Large File-Support (LFS) ####
+AC_USE_SYSTEM_EXTENSIONS
AC_SYS_LARGEFILE
+CC_CHECK_FLAGS_APPEND([with_cflags], [CFLAGS], [\
+ -pipe \
+ -Wall \
+ -W \
+ -Wextra \
+ -Winline \
+ -Wvla \
+ -Wundef \
+ -Wformat=2 \
+ -Wlogical-op \
+ -Wsign-compare \
+ -Wformat-security \
+ -Wmissing-include-dirs \
+ -Wformat-nonliteral \
+ -Wold-style-definition \
+ -Wpointer-arith \
+ -Winit-self \
+ -Wdeclaration-after-statement \
+ -Wfloat-equal \
+ -Wmissing-prototypes \
+ -Wstrict-prototypes \
+ -Wredundant-decls \
+ -Wmissing-declarations \
+ -Wmissing-noreturn \
+ -Wshadow \
+ -Wendif-labels \
+ -Wcast-align \
+ -Wstrict-aliasing=2 \
+ -Wwrite-strings \
+ -Wno-long-long \
+ -Wno-overlength-strings \
+ -Wno-unused-parameter \
+ -Wno-missing-field-initializers \
+ -Wno-unused-result \
+ -Wunsafe-loop-optimizations \
+ -Wpacked \
+ -Werror=overflow \
+ -Wp,-D_FORTIFY_SOURCE=2 \
+ -ffast-math \
+ -fno-common \
+ -fdiagnostics-show-option \
+ -fno-strict-aliasing \
+ -ffunction-sections \
+ -fdata-sections])
+AC_SUBST([WARNINGFLAGS], $with_cflags)
+
+CC_CHECK_FLAGS_APPEND([with_ldflags], [LDFLAGS], [\
+ -Wl,--as-needed \
+ -Wl,--gc-sections])
+AC_SUBST([GCLDFLAGS], $with_ldflags)
+
+PKG_PROG_PKG_CONFIG
PKG_CHECK_MODULES([LIBUDEV], [libudev >= 143])
-###################################
-# Output #
-###################################
+LT_PREREQ(2.2)
+LT_INIT([disable-static])
+
+dnl###################################
+dnl# Output #
+dnl###################################
AC_CONFIG_FILES([
Makefile