Dead code elimination, cleanup.
[mdsms.git] / configure.in
1 # $Id$
2
3 dnl Process this file with autoconf to produce a configure script.
4 AC_INIT(mdsms.c)
5 AM_INIT_AUTOMAKE(mdsms, 1.3)
6 AM_CONFIG_HEADER(config.h)
7 AM_MAINTAINER_MODE
8
9 dnl Configuration switches.
10
11 AC_MSG_CHECKING([whether debugging is requested])
12 AC_ARG_ENABLE(debug,
13 [  --enable-debug          enable debugging output to stderr],
14     enable_debug=$enableval, enable_debug=no)
15 AC_MSG_RESULT($enable_debug)
16
17 AC_MSG_CHECKING([whether included getopt is requested])
18 AC_ARG_WITH(included-getopt,
19 [  --with-included-getopt  use included getopt(3)],
20      with_getopt=$withval, with_getopt=no)
21 AC_MSG_RESULT($with_getopt)
22
23 AC_MSG_CHECKING([for user-specified lock directory])
24 AC_ARG_WITH(lock-directory,
25 [  --with-lock-directory   override default search for modem lock directory],
26      with_lock_directory=$withval, with_lock_directory=)
27 AC_MSG_RESULT($with_lock_directory)
28
29 dnl Checks for programs.
30 AC_PROG_CC
31 if test "$USE_MAINTAINER_MODE" = yes;then
32   if test "$GCC" = yes;then
33                 CFLAGS="-Wall -ansi -pedantic -ggdb"
34                 LDFLAGS="$LDFLAGS -lefence"
35                 fi
36 else
37         LDFLAGS="-s"
38   AC_DEFINE(NDEBUG)
39         fi
40
41 AC_PROG_CPP
42
43 dnl Checks for pathnames.
44
45 AC_MSG_CHECKING([for modem lock directory])
46 dirx=""
47 if test "$with_lock_directory" = no;then
48   AC_MSG_RESULT([user disabled])
49 else
50   if test yes = "$with_lock_directory" \
51            -o  -z   "$with_lock_directory";then
52     for dira in /usr /var         ;do
53                 for dirb in /spool ""         ;do
54                 for dirc in /uucp /locks /lock;do
55                   dir="${dira}${dirb}${dirc}"
56                   if test -d "$dir";then dirx="$dir";fi
57                         done;done;done
58     if test -z "$dirx";then
59             AC_MSG_RESULT([none found, disabled])
60     else
61                   AC_MSG_RESULT([$dirx])
62     fi
63   else
64     dirx="$with_lock_directory"
65                 if test -d "$dirx";then AC_MSG_RESULT([$dirx])
66                 else AC_MSG_RESULT([warning - directory doesn't exist: $dirx])
67                 fi
68         fi
69 fi
70 if test -z "$dirx";then AC_DEFINE(DEF_LOCKFILE,[""])
71 else AC_DEFINE_UNQUOTED(DEF_LOCKFILE,"${dirx}/LCK..%s")
72 fi
73
74 dnl Checks for libraries.
75
76 dnl Checks for header files.
77 AC_HEADER_STDC
78
79 dnl Checks for typedefs, structures, and compiler characteristics.
80
81 AC_C_CONST
82 AC_C_INLINE
83
84 dnl Checks for library functions.
85
86 if test "$with_getopt" = no;then
87         AC_CHECK_FUNCS(getopt_long)
88         fi
89
90 if test "$enable_debug" = yes;then
91         AC_DEFINE(DEBUG)
92         fi
93
94 AC_MSG_CHECKING(whether to use included getopt)
95 if test "$with_getopt" = yes -o "$ac_cv_func_getopt_long" != yes ;then
96         LIBOBJS="$LIBOBJS getopt1.o getopt.o"
97            AC_MSG_RESULT(yes)
98 else AC_MSG_RESULT(no)
99 fi
100
101 AC_CHECK_FUNC(MAX, AC_DEFINE(HAVE_MAX) ,
102         AC_CHECK_FUNC(max, AC_DEFINE(MAX, max) AC_DEFINE(HAVE_MAX))
103         )
104
105 AC_CHECK_FUNC(MIN, AC_DEFINE(HAVE_MIN) ,
106         AC_CHECK_FUNC(min, AC_DEFINE(MIN, min) AC_DEFINE(HAVE_MIN))
107         )
108
109 AC_MSG_CHECKING([for LINE_MAX])
110 AC_TRY_COMPILE([#include <limits.h>], [LINE_MAX;],
111         AC_DEFINE(HAVE_LINE_MAX)  AC_MSG_RESULT(yes),
112         AC_DEFINE(LINE_MAX, 4096) AC_MSG_RESULT(no))
113
114 AC_MSG_CHECKING([for CBAUD])
115 AC_TRY_COMPILE([#include <termios.h>], [CBAUD;],
116         AC_DEFINE(HAVE_CBAUD) AC_MSG_RESULT(yes),
117         AC_DEFINE(CBAUD, 0)   AC_MSG_RESULT(no))
118
119 AC_MSG_CHECKING([for CBAUDEX])
120 AC_TRY_COMPILE([#include <termios.h>], [CBAUDEX;],
121         AC_DEFINE(HAVE_CBAUDEX) AC_MSG_RESULT(yes),
122         AC_DEFINE(CBAUDEX, 0)   AC_MSG_RESULT(no))
123
124 AC_MSG_CHECKING([for unused attribute])
125 uns=true
126 for un in __unused__ unused;do
127   if $uns;then
128                 unx="__attribute__ (($un))"
129                 AC_TRY_COMPILE([#include <stddef.h>],[char untest $unx;],
130                 AC_DEFINE_UNQUOTED(ATTR_UNUSED, $unx)
131                 AC_MSG_RESULT($un)
132                 uns=false)
133                 fi
134         done
135 if $uns;then AC_DEFINE(ATTR_UNUSED,) AC_MSG_RESULT(no);fi
136
137 AC_CHECK_FUNC(snprintf, AC_DEFINE(HAVE_SNPRINTF))
138 AC_CHECK_FUNC(vsnprintf, AC_DEFINE(HAVE_VSNPRINTF))
139
140 AC_TYPE_SIGNAL
141 AC_TYPE_PID_T
142
143 AC_REPLACE_FUNCS(strdup)
144 dnl AC_MSG_CHECKING([for strdup])
145 dnl AC_TRY_COMPILE([#include <string.h>], [strdup("");],
146 dnl     AC_DEFINE(HAVE_STRDUP)  AC_MSG_RESULT(yes),
147 dnl     LIBOBJS="$LIBOBJS strdup.o" AC_MSG_RESULT(no))
148
149 AC_MSG_CHECKING([for working %m in printf])
150 AC_TRY_RUN([int main() { char s[100];
151         sprintf(s,"%m");
152         return(!(strcmp(s,"m") && strcmp(s,"%m")));
153         }],AC_DEFINE(PRINTF_WORKS_PM) AC_MSG_RESULT(yes),AC_MSG_RESULT(no),AC_MSG_RESULT(avoiding))
154
155 GCC_NEED_DECLARATION(gethostname, [#include <unistd.h>])
156 GCC_NEED_DECLARATION(kill,        [#include <sys/types.h>
157 #include <signal.h>])
158 GCC_NEED_DECLARATION(snprintf,    [#include <stdio.h>])
159 GCC_NEED_DECLARATION(vsnprintf,   [#include <stdio.h>
160 #include <stdarg.h>])
161 GCC_NEED_DECLARATION(strdup,      [#include <string.h>])
162 GCC_NEED_DECLARATION(usleep,      [#include <unistd.h>])
163
164 # Final output.
165
166 AC_SUBST(LIBOBJS)
167
168 AC_OUTPUT(Makefile)