configure.ac 2.72 KB
Newer Older
Niels Möller's avatar
Niels Möller committed
1
2
dnl Process this file with autoconf to produce a configure script.

3
dnl This configure.ac is only for building a standalone argp library.
4
5
AC_PREREQ(2.54)
AC_INIT(argp-ba.c)
6
AM_INIT_AUTOMAKE(argp, standalone-1.3)
7
AM_CONFIG_HEADER(config.h)
Niels Möller's avatar
Niels Möller committed
8

9
10
11
12
# GNU libc defaults to supplying the ISO C library functions only. The
# _GNU_SOURCE define enables these extensions, in particular we want
# errno.h to declare program_invocation_name. Enable it on all
# systems; no problems have been reported with it so far.
13
AC_GNU_SOURCE
14
	
15
# Checks for programs.
Niels Möller's avatar
Niels Möller committed
16
17
18
19
20
21
22
23
24
AC_PROG_CC
AC_PROG_MAKE_SET
AC_PROG_RANLIB
AM_PROG_CC_STDC

if test "x$am_cv_prog_cc_stdc" = xno ; then
  AC_ERROR([the C compiler doesn't handle ANSI-C])
fi

25
# Checks for libraries.
Niels Möller's avatar
Niels Möller committed
26

27
# Checks for header files.
Niels Möller's avatar
Niels Möller committed
28
AC_HEADER_STDC
29
AC_CHECK_HEADERS(limits.h malloc.h unistd.h sysexits.h)
Niels Möller's avatar
Niels Möller committed
30

31
# Checks for typedefs, structures, and compiler characteristics.
Niels Möller's avatar
Niels Möller committed
32
33
34
35
AC_C_CONST
AC_C_INLINE
AC_TYPE_SIZE_T

Niels Möller's avatar
Niels Möller committed
36
37
LSH_GCC_ATTRIBUTES

38
# Checks for library functions.
Niels Möller's avatar
Niels Möller committed
39
40
AC_FUNC_ALLOCA
AC_FUNC_VPRINTF
Niels Möller's avatar
Niels Möller committed
41
AC_CHECK_FUNCS(strerror sleep getpid)
Niels Möller's avatar
Niels Möller committed
42

Niels Möller's avatar
Niels Möller committed
43
AC_REPLACE_FUNCS(mempcpy strndup strchrnul strcasecmp)
44
45
46
47
48

dnl ARGP_CHECK_FUNC(includes, function-call [, if-found [, if-not-found]])
AC_DEFUN([ARGP_CHECK_FUNC],
  [AS_VAR_PUSHDEF([ac_func], m4_substr([$2], 0, m4_index([$2], [(])))
   AS_VAR_PUSHDEF([ac_var], [ac_cv_func_call_]ac_func)
49
50
   AH_TEMPLATE(AS_TR_CPP(HAVE_[]ac_func),
               [Define to 1 if you have the `]ac_func[' function.])
51
52
53
54
   AC_CACHE_CHECK([for $2], ac_var,
     [AC_TRY_LINK([$1], [$2],
		  [AS_VAR_SET(ac_var, yes)],
		  [AS_VAR_SET(ac_var, no)])])
55
   if test AS_VAR_GET(ac_var) = yes ; then
56
     ifelse([$3],,
57
58
	    [AC_DEFINE_UNQUOTED(AS_TR_CPP(HAVE_[]ac_func))],
	    [$3
59
60
61
62
63
64
65
66
67
68
69
70
71
])
   else
     ifelse([$4],, true, [$4])
   fi
   AS_VAR_POPDEF([ac_var])
   AS_VAR_POPDEF([ac_func])
   ])

# At least on freebsd, putc_unlocked is a macro, so the standard
# AC_CHECK_FUNCS doesn't work well.
ARGP_CHECK_FUNC([#include <stdio.h>], [putc_unlocked('x', stdout)])

AC_CHECK_FUNCS(flockfile)
Niels Möller's avatar
Niels Möller committed
72
73
AC_CHECK_FUNCS(fputs_unlocked fwrite_unlocked)

74
# Used only by argp-test.c, so don't use AC_REPLACE_FUNCS.
75
AC_CHECK_FUNCS(strdup asprintf)
Niels Möller's avatar
Niels Möller committed
76

77
78
AC_CHECK_DECLS([program_invocation_name, program_invocation_short_name],
               [], [], [[#include <errno.h>]])
Niels Möller's avatar
Niels Möller committed
79
80
81

# Set these flags *last*, or else the test programs won't compile
if test x$GCC = xyes ; then
82
83
84
85
86
87
88
  # Using -ggdb3 makes (some versions of) Redhat's gcc-2.96 dump core
  if "$CC" --version | grep '^2\.96$' 1>/dev/null 2>&1; then
    true
  else
    CFLAGS="$CFLAGS -ggdb3"
  fi
  CFLAGS="$CFLAGS -Wall -W \
Niels Möller's avatar
Niels Möller committed
89
90
91
92
93
 -Wmissing-prototypes -Wmissing-declarations -Wstrict-prototypes \
 -Waggregate-return \
 -Wpointer-arith -Wbad-function-cast -Wnested-externs"
fi

94
95
CPPFLAGS="$CPPFLAGS -I$srcdir"

Niels Möller's avatar
Niels Möller committed
96
AC_OUTPUT(Makefile testsuite/Makefile)