From b71035ce89480ed66ce855dd0923a5f3371aa0cd Mon Sep 17 00:00:00 2001 From: Lennart Poettering Date: Sun, 20 May 2012 23:58:07 +0200 Subject: build-sys: modernize build system --- configure.ac | 125 ++++++++++++++++++++++++++++++++++++++++++----------------- 1 file changed, 89 insertions(+), 36 deletions(-) (limited to 'configure.ac') diff --git a/configure.ac b/configure.ac index 1e1ce5a..b49d131 100644 --- a/configure.ac +++ b/configure.ac @@ -1,42 +1,45 @@ -dnl -*- Autoconf -*- -dnl Process this file with autoconf to produce a configure script. - -dnl This file is part of libatasmart. -dnl -dnl Copyright 2008 Lennart Poettering -dnl -dnl libatasmart is free software; you can redistribute it and/or modify -dnl it under the terms of the GNU Lesser General Public License as -dnl published by the Free Software Foundation, either version 2.1 of the -dnl License, or (at your option) any later version. -dnl -dnl libatasmart is distributed in the hope that it will be useful, but -dnl WITHOUT ANY WARRANTY; without even the implied warranty of -dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -dnl Lesser General Public License for more details. -dnl -dnl You should have received a copy of the GNU Lesser General Public -dnl License along with libatasmart. If not, If not, see -dnl . - -AC_PREREQ(2.63) - -AC_INIT([libatasmart], 0.18, [mzyvongnfzneg (at) 0pointer (dot) net]) +# -*- Autoconf -*- +# Process this file with autoconf to produce a configure script. + +# This file is part of libatasmart. +# +# Copyright 2008 Lennart Poettering +# +# libatasmart is free software; you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License as +# published by the Free Software Foundation, either version 2.1 of the +# License, or (at your option) any later version. +# +# libatasmart is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with libatasmart. If not, If not, see +# . + +AC_PREREQ(2.68) + +AC_INIT([libatasmart], + [0.19], + [mzyvongnfzneg (at) 0pointer (dot) net], + [libatasmart], + [http://git.0pointer.de/?p=libatasmart.git]) + 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]) +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]) -AM_SILENT_RULES([yes]) - 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 AC_PROG_CC @@ -48,13 +51,63 @@ AX_CC_FOR_BUILD AC_USE_SYSTEM_EXTENSIONS AC_SYS_LARGEFILE -AC_PROG_LIBTOOL - -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]) - +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################################### -- cgit