maint: update build-from-scratch infrastructure
[gzip.git] / configure.ac
blob07a9e1e0c6dd7ef4e291b35dc0a1579edc747e53
1 # Configure template for gzip.
3 # Copyright (C) 1999, 2000, 2001, 2002, 2006, 2007 Free Software
4 # Foundation, Inc.
6 # Copyright (C) 1992-1993 Jean-loup Gailly
8 # This program is free software; you can redistribute it and/or modify
9 # it under the terms of the GNU General Public License as published by
10 # the Free Software Foundation; either version 3, or (at your option)
11 # any later version.
13 # This program is distributed in the hope that it will be useful,
14 # but WITHOUT ANY WARRANTY; without even the implied warranty of
15 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
16 # GNU General Public License for more details.
18 # You should have received a copy of the GNU General Public License
19 # along with this program; if not, write to the Free Software
20 # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
21 # 02111-1307, USA.
23 AC_PREREQ([2.60])
24 AC_INIT([gzip],
25         m4_esyscmd([build-aux/git-version-gen .tarball-version]),
26         [bug-gzip@gnu.org])
28 AC_CONFIG_SRCDIR(gzip.c)
29 AC_CONFIG_AUX_DIR(build-aux)
30 AC_CONFIG_HEADERS([lib/config.h:lib/config.hin])
31 AM_INIT_AUTOMAKE([1.11 dist-xz])
32 AM_SILENT_RULES([yes]) # make --enable-silent-rules the default.
34 AC_PROG_CC_STDC
35 AM_PROG_CC_C_O
36 AC_PROG_CPP
37 AC_CHECK_TOOL([NM], [nm], [nm])
38 AC_PROG_LN_S
39 AC_PROG_RANLIB
40 AC_PROG_SHELL
42 gl_EARLY
43 AC_SYS_LARGEFILE
45 gl_INIT
47 # cc -E produces incorrect asm files on SVR4, so postprocess it.
48 ASCPPPOST="sed '/^ *#/d; s,//.*,,; s/% /%/g; s/\\. /./g'"
49 AC_SUBST([ASCPPPOST])
51 AC_CACHE_CHECK([for underline in external names], [gzip_cv_underline],
52   [gzip_cv_underline=yes
53    AC_TRY_COMPILE([int foo() {return 0;}], [],
54      [$NM conftest.$OBJEXT | grep _foo >/dev/null 2>&1 ||
55         gzip_cv_underline=no])])
56 ASCPPFLAGS=
57 if test $gzip_cv_underline = no; then
58   ASCPPFLAGS='-DNO_UNDERLINE'
60 AC_SUBST([ASCPPFLAGS])
61 AC_OBJEXT
63 # Try to assemble match.S.
64 # "gcc -E match.s" ignores -E, so we must use _match.S.
65 AC_CACHE_CHECK([for an assembler syntax supported by this package],
66   [gzip_cv_assembler],
67   [gzip_cv_assembler=no
68    case " $DEFS " in
69    *' NO_ASM '*) ;;
70    *)
71      if cp $srcdir/lib/match.c _match.S &&
72         eval "$CPP $CPPFLAGS $ASCPPFLAGS _match.S > _match.i" 2>/dev/null &&
73         eval "$ASCPPPOST < _match.i > match_.s" 2>/dev/null; then
74        if test ! -s match_.s || grep error < match_.s > /dev/null; then
75          :
76        elif eval "$CC $CPPFLAGS $CFLAGS -c match_.s >/dev/null 2>&1" &&
77             test -f match_.$OBJEXT; then
78          rm -f match_.$OBJEXT
79          gzip_cv_assembler=yes
80          if echo 'void foo (void) {}' > conftest.c &&
81             eval "$CC $CPPFLAGS $CFLAGS -S conftest.c >/dev/null 2>&1" &&
82             grep '\.note\.GNU-stack' conftest.s >/dev/null 2>&1 &&
83             eval "$CC $CPPFLAGS $CFLAGS -c -Wa,--noexecstack match_.s >/dev/null 2>&1" &&
84             test -f match_.$OBJEXT; then
85            gzip_cv_assembler='yes, with -Wa,--noexecstack'
86          fi
87        fi
88      fi
89      rm -f conftest* _match.i _match.S match_.s match_.$OBJEXT;;
90    esac])
91 if test "$gzip_cv_assembler" != no; then
92   AC_DEFINE(ASMV, ,
93     [Define if an assembler version of longest_match is available.])
94   AC_LIBOBJ(match)
96 if test "$gzip_cv_assembler" = 'yes, with -Wa,--noexecstack'; then
97   ASFLAGS_config='-Wa,--noexecstack'
98 else
99   ASFLAGS_config=
101 AC_SUBST([ASFLAGS_config])
103 AC_ISC_POSIX
104 AC_C_CONST
105 AC_HEADER_STDC
106 AC_CHECK_HEADERS_ONCE(fcntl.h limits.h memory.h time.h)
107 AC_CHECK_FUNCS_ONCE([chown fchmod fchown fdopendir lstat siginterrupt])
108 AC_HEADER_DIRENT
109 AC_TYPE_SIGNAL
110 AC_TYPE_SIZE_T
111 AC_TYPE_OFF_T
113 AC_PREFIX_PROGRAM(gzip)
115 AC_CONFIG_FILES([Makefile doc/Makefile lib/Makefile])
116 AC_OUTPUT