quirks: add quirks for Intel SSD Serie 320
[platform/upstream/libatasmart.git] / configure.ac
index c27ffaf..b49d131 100644 (file)
 # License along with libatasmart. If not, If not, see
 # <http://www.gnu.org/licenses/>.
 
-AC_PREREQ(2.57)
+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.13, [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.9 -Wall])
-
-AC_SUBST(PACKAGE_URL, [http://git.0pointer.de/?p=libatasmart.git])
+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, [3:3:3])
-
-AC_CANONICAL_HOST
+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
-AC_GNU_SOURCE
-
-# C++
-
-AC_PROG_CXX
-
-# GCC flags
-
-test_gcc_flag() {
-    AC_LANG_CONFTEST([int main(int argc, char*argv[]) {}])
-    $CC -c conftest.c $CFLAGS "$1" -o conftest.o > /dev/null 2> /dev/null
-    ret=$?
-    rm -f conftest.o
-    return $ret
-}
-
-# If using GCC specify some additional parameters
-if test "x$GCC" = "xyes" ; then
-
-    # We use gnu99 instead of c99 because many have interpreted the standard
-    # in a way that int64_t isn't defined on non-64 bit platforms.
-    DESIRED_FLAGS="-std=gnu99 -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"
-
-    for flag in $DESIRED_FLAGS ; do
-        AC_MSG_CHECKING([whether $CC accepts $flag])
-        if test_gcc_flag $flag ; then
-           CFLAGS="$CFLAGS $flag"
-           CXXFLAGS="$CXXFLAGS $flag"
-           AC_MSG_RESULT([yes])
-        else
-           AC_MSG_RESULT([no])
-        fi
-    done
-fi
-
-#### 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) ####
+AX_CC_FOR_BUILD
 
+AC_USE_SYSTEM_EXTENSIONS
 AC_SYS_LARGEFILE
 
-PKG_CHECK_MODULES([LIBUDEV], [libudev])
-AC_DEFINE([LIBUDEV_I_KNOW_THE_API_IS_SUBJECT_TO_CHANGE], 1, [I know the API is subject to change.])
-
-###################################
-#            Output               #
-###################################
+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])
+
+LT_PREREQ(2.2)
+LT_INIT([disable-static])
+
+dnl###################################
+dnl#            Output               #
+dnl###################################
 
 AC_CONFIG_FILES([
 Makefile
+strpool/Makefile
 libatasmart.pc
 ])
 AC_OUTPUT