lintian doesn't like orphan packages with uploaders...
[debian/amanda] / configure.in
1 AMANDA_INIT_VERSION
2 AC_INIT([amanda], [AMANDA_F_VERSION])
3 AC_CONFIG_SRCDIR([common-src/amanda.h])
4 AC_CONFIG_AUX_DIR(config)
5 AC_CONFIG_MACRO_DIR(config)
6 AC_CANONICAL_HOST
7
8 PACKAGE=amanda
9 AC_SUBST(PACKAGE)
10
11 AMANDA_VERSION
12 AM_INIT_AUTOMAKE(tar-ustar 1.10)
13 AC_CONFIG_HEADERS([config/config.h])
14
15 dnl Minimum Autoconf version required.
16 AC_PREREQ(2.64)
17
18 #
19 # Take care of some early Amanda-specific setup
20 #
21 AMANDA_INIT_SUMMARY
22 AMANDA_SNAPSHOT_STAMP
23 AMANDA_SPLIT_VERSION
24 AMANDA_CONFIG_LOCAL
25
26 #
27 # Set up compiler location, basic flags, and include locations
28 # and library locations before we start checking the system
29 # configuration in more detail...
30 #
31 AC_PROG_CC
32 gl_EARLY
33 gl_INIT
34 AC_OBJEXT
35 AC_EXEEXT
36 AMANDA_INIT_FLAGS
37 AMANDA_ADD_CPPFLAGS([-D_GNU_SOURCE])
38 AMANDA_AS_NEEDED
39
40 dnl -------------------------------------------------------------------------
41
42 #
43 # Configuration flags (--with-xxx and --enable-xxx)
44 #
45
46 AMANDA_WITH_USER
47 AMANDA_WITH_GROUP
48 AMANDA_WITH_APPLICATIONDIR
49 AMANDA_WITH_CONFIGDIR
50 AMANDA_WITH_INDEXDIR
51 AMANDA_WITH_DBDIR
52 AMANDA_WITH_LOGDIR
53 AMANDA_WITH_SUFFIXES
54 AMANDA_WITH_GNUTAR_LISTDIR
55 AMANDA_WITH_TMPDIR
56 AMANDA_WITH_FORCE_UID
57 AMANDA_WITH_OWNER
58 AMANDA_WITH_FQDN
59 AMANDA_WITH_REUSEPORTS
60 AMANDA_WITH_PORTRANGES
61 AMANDA_WITH_BUFFERED_DUMP
62 AMANDA_WITH_MAXTAPEBLOCKSIZE
63 AMANDA_WITH_ASSERTIONS
64 AMANDA_WITH_DEBUGGING
65 AMANDA_WITH_DEBUG_DAYS
66 AMANDA_WITH_TESTING
67 AMANDA_WITH_SINGLE_USERID
68 AMANDA_DISABLE_INSTALLPERMS
69 AMANDA_DISABLE_SYNTAX_CHECKS
70
71 dnl -------------------------------------------------------------------------
72
73 #
74 # Set up for Amanda components and modules
75 #
76 AMANDA_CHECK_COMPONENTS
77 AMANDA_SETUP_AMPLOT
78 AMANDA_SETUP_DOCUMENTATION
79 AMANDA_SETUP_DEFAULTS
80 AMANDA_SETUP_LFS
81 AMANDA_SETUP_GETFSENT
82 AMANDA_SETUP_FILE_LOCKING
83 AMANDA_SETUP_SWIG
84 AMANDA_CHECK_COMPRESSION
85 AMANDA_CHECK_IPV6
86 AMANDA_CHECK_READDIR
87 AMANDA_CHECK_DEVICE_PREFIXES
88 AMANDA_SYSHACKS
89 AMANDA_EXPAND_DIRS
90
91 #
92 # Internationalization
93 #
94 AMANDA_SETUP_I18N
95 dnl These lines *must* be in configure.in, and not indented
96 AM_GNU_GETTEXT_VERSION([0.15])
97 AM_GNU_GETTEXT([external])
98
99 #
100 # Security (authentication) mechansims
101 #
102 AMANDA_BSD_SECURITY
103 AMANDA_BSDTCP_SECURITY
104 AMANDA_BSDUDP_SECURITY
105 AMANDA_RSH_SECURITY
106 AMANDA_SSH_SECURITY
107 AMANDA_KRB5_SECURITY
108
109 #
110 # Dumpers
111 #
112 AMANDA_PROG_XFSDUMP_XFSRESTORE
113 AMANDA_PROG_VXDUMP_VXRESTORE
114 AMANDA_PROG_VDUMP_VRESTORE
115 AMANDA_PROG_DUMP_RESTORE
116 AMANDA_PROG_GNUTAR
117 AMANDA_PROG_STAR
118 AMANDA_PROG_SUNTAR
119 AMANDA_PROG_SAMBA_CLIENT
120 AMANDA_CHECK_USE_RUNDUMP
121
122 #
123 # Look for other programs Amanda will use
124
125 AMANDA_PROG_GREP
126 AC_PROG_EGREP
127 AMANDA_PROG_LINT
128 AMANDA_PROG_LEX
129 AMANDA_PROG_AR
130 AMANDA_PROG_GETTEXT
131 AC_PROG_AWK
132 AC_PROG_YACC
133 AC_PROG_MKDIR_P
134 AMANDA_PROG_DD
135 AMANDA_PROG_BASH
136 AMANDA_PROG_SORT
137 AMANDA_PROG_MAILER
138 AMANDA_PROG_MT
139 AMANDA_PROG_MTX
140 AMANDA_PROG_MOUNT
141 AMANDA_PROG_UMOUNT
142 AMANDA_PROG_UNAME
143 AMANDA_PROG_LPR
144 AMANDA_PROG_PCAT
145 AMANDA_PROG_PERL
146 AMANDA_PROG_SWIG
147 AMANDA_PS_ARGUMENT
148 AMANDA_PROG_RPCGEN
149 AMANDA_PROG_NC
150
151 dnl -------------------------------------------------------------------------
152
153 #
154 # Compiler / system characteristics
155 #
156
157 #
158 # compiler
159 #
160 AC_PROG_GCC_TRADITIONAL
161 AC_C_CONST
162 AC_C_BIGENDIAN
163
164 # GCC_COMPILER is needed in the gnulib Makefile to silence errors
165 AM_CONDITIONAL([GCC_COMPILER], [test "x$GCC" = "xyes"])
166
167 #
168 # Warnings
169 #
170 AMANDA_ENABLE_GCC_WARNING([parentheses])
171 AMANDA_ENABLE_GCC_WARNING([declaration-after-statement])
172 AMANDA_ENABLE_GCC_WARNING([missing-prototypes])
173 AMANDA_ENABLE_GCC_WARNING([strict-prototypes])
174 AMANDA_ENABLE_GCC_WARNING([missing-declarations])
175 AMANDA_ENABLE_GCC_WARNING([format])
176 AMANDA_ENABLE_GCC_WARNING([format-security])
177 AMANDA_ENABLE_GCC_WARNING([sign-compare])
178 AMANDA_ENABLE_GCC_WARNING([float-equal])
179 AMANDA_ENABLE_GCC_WARNING([old-style-definition])
180 AMANDA_DISABLE_GCC_WARNING([strict-aliasing])
181 AMANDA_DISABLE_GCC_WARNING([unknown-pragmas])
182 AMANDA_WERROR_FLAGS
183 AMANDA_SWIG_ERROR
184
185 #
186 # Libtool
187 #
188 AM_PROG_LIBTOOL
189 AC_SUBST(LIBTOOL_DEPS)
190 AMANDA_STATIC_FLAGS
191
192 #
193 # headers
194 #
195 AC_HEADER_DIRENT
196 AC_HEADER_STDC
197 AC_HEADER_TIME
198 AC_CHECK_HEADERS(
199         grp.h \
200         libc.h \
201         libgen.h \
202         limits.h \
203         math.h \
204         netinet/in.h \
205         regex.h \
206         stdarg.h \
207         stdlib.h \
208         strings.h \
209         rpc/rpc.h \
210         sys/file.h \
211         sys/ioctl.h \
212         sys/ipc.h \
213         sys/mntent.h \
214         sys/param.h \
215         sys/select.h \
216         sys/stat.h \
217         sys/shm.h \
218         sys/time.h \
219         sys/types.h \
220         sys/uio.h \
221         syslog.h \
222         time.h \
223         unistd.h \
224 )
225 AC_DEFINE([HAVE_AMANDA_H], 1, [Define to 1 if you have the "amanda.h" header file.])
226 AC_DEFINE([HAVE_UTIL_H], 1, [Define to 1 if you have the "util.h" header file.])
227
228 AC_DEFINE([USE_GETTEXT], 1, [Define to 1 if files will be processed with gettextize])
229
230 #
231 # Types
232 #
233 AC_CHECK_SIZEOF(int)
234 AC_CHECK_SIZEOF(long)
235 AC_CHECK_SIZEOF(long long)
236 AC_CHECK_SIZEOF(intmax_t)
237 AC_CHECK_SIZEOF(off_t)
238 AC_CHECK_SIZEOF(size_t)
239 AC_CHECK_SIZEOF(ssize_t)
240 AC_CHECK_SIZEOF(time_t)
241 AC_TYPE_OFF_T
242 AC_TYPE_PID_T
243 AC_TYPE_SIZE_T
244 AC_TYPE_UID_T
245 AC_TYPE_SIGNAL
246 AC_STRUCT_TM
247 AMANDA_SOCKLEN_T_EQUIV
248 AMANDA_CHECK_TYPE(sa_family_t, unsigned short, sys/socket.h)
249 AMANDA_CHECK_TYPE(in_port_t, unsigned short, netinet/in.h)
250 CF_WAIT
251 CF_WAIT_INT
252
253 #
254 # Libraries
255 #
256 # cur_colr is on some HP's
257 AC_CHECK_LIB(cur_colr,main)
258 AC_CHECK_LIB(intl,main)
259 AMANDA_CHECK_NET_LIBS
260 AMANDA_CHECK_GLIB
261 AMANDA_CHECK_READLINE
262 AC_CHECK_LIB(m,modf)
263 AMANDA_GLIBC_BACKTRACE
264
265 #
266 # Declarations
267 #
268 # Checks for library functions and if the function is declared in
269 # an appropriate header file.  Functions which exist, but for which
270 # no declaration is available, are declared in common-src/amanda.h.
271 # It's not clear that any existing system implements but does not
272 # declare common functions such as these.
273 #
274 ICE_CHECK_DECL(accept,sys/types.h sys/socket.h)
275 AC_FUNC_ALLOCA
276 AC_CHECK_FUNCS(atexit)
277 ICE_CHECK_DECL(atof,stdlib.h)
278 ICE_CHECK_DECL(atol,stdlib.h)
279 ICE_CHECK_DECL(atoll,stdlib.h)
280 ICE_CHECK_DECL(strtol,stdlib.h)
281 ICE_CHECK_DECL(strtoll,stdlib.h)
282 AC_CHECK_FUNCS(basename)
283 ICE_CHECK_DECL(bind,sys/types.h sys/socket.h)
284 ICE_CHECK_DECL(bcopy,string.h strings.h stdlib.h)
285 ICE_CHECK_DECL(bzero,string.h strings.h stdlib.h)
286 AC_FUNC_CLOSEDIR_VOID
287 ICE_CHECK_DECL(closelog,syslog.h)
288 ICE_CHECK_DECL(connect,sys/types.h sys/socket.h)
289 ICE_CHECK_DECL(fclose,stdio.h)
290 ICE_CHECK_DECL(fflush,stdio.h)
291 ICE_CHECK_DECL(fprintf,stdio.h)
292 ICE_CHECK_DECL(fputc,stdio.h)
293 ICE_CHECK_DECL(fputs,stdio.h)
294 ICE_CHECK_DECL(fread,stdio.h stdlib.h)
295 ICE_CHECK_DECL(fseek,stdio.h)
296 ICE_CHECK_DECL(fwrite,stdio.h stdlib.h)
297 AC_CHECK_FUNCS(getgrgid_r)
298 AC_CHECK_FUNCS(getpwuid_r)
299 ICE_CHECK_DECL(gethostname,unistd.h)
300 ICE_CHECK_DECL(getopt,stdlib.h unistd.h libc.h)
301 ICE_CHECK_DECL(getpeername,sys/types.h sys/socket.h)
302 AC_CHECK_FUNC(getpgrp)
303 AC_FUNC_GETPGRP
304 ICE_CHECK_DECL(getsockname,sys/types.h sys/socket.h)
305 ICE_CHECK_DECL(getsockopt,sys/types.h sys/socket.h)
306 ICE_CHECK_DECL(initgroups,grp.h sys/types.h unistd.h libc.h)
307 ICE_CHECK_DECL(ioctl,sys/ioctl.h unistd.h libc.h)
308 ICE_CHECK_DECL(isnormal,math.h)
309 ICE_CHECK_DECL(listen,sys/types.h sys/socket.h)
310 ICE_CHECK_DECL(lstat,sys/types.h sys/stat.h)
311 ICE_CHECK_DECL(malloc,stdlib.h)
312 ICE_CHECK_DECL(memmove,string.h strings.h)
313 ICE_CHECK_DECL(memset,string.h strings.h)
314 ICE_CHECK_DECL(mkstemp,stdlib.h)
315 ICE_CHECK_DECL(mktemp,stdlib.h)
316 ICE_CHECK_DECL(mktime,time.h sys/time.h)
317 AC_CHECK_FUNCS(on_exit)
318 ICE_CHECK_DECL(openlog,syslog.h)
319 ICE_CHECK_DECL(pclose,stdio.h)
320 ICE_CHECK_DECL(perror,stdio.h)
321 ICE_CHECK_DECL(printf,stdio.h)
322 AC_CHECK_FUNCS(putenv)
323 ICE_CHECK_DECL(puts,stdio.h)
324 ICE_CHECK_DECL(realloc,stdlib.h)
325 ICE_CHECK_DECL(recvfrom,sys/types.h sys/socket.h)
326 ICE_CHECK_DECL(remove,stdio.h)
327 ICE_CHECK_DECL(rename,stdio.h)
328 ICE_CHECK_DECL(rewind,stdio.h)
329 ICE_CHECK_DECL(ruserok,netdb.h sys/socket.h libc.h unistd.h)
330 ICE_CHECK_DECL(select,sys/types.h sys/socket.h sys/select.h time.h sys/time.h)
331 AMANDA_FUNC_SELECT_ARG_TYPE
332 ICE_CHECK_DECL(sendto,sys/types.h sys/socket.h)
333 ICE_CHECK_DECL(setegid,unistd.h)
334 ICE_CHECK_DECL(seteuid,unistd.h)
335 ICE_CHECK_DECL(setresgid,unistd.h)
336 ICE_CHECK_DECL(setresuid,unistd.h)
337 ICE_CHECK_DECL(snprintf,stdio.h)
338 ICE_CHECK_DECL(vsnprintf,stdio.h)
339 AMANDA_FUNC_SETPGID
340 AC_CHECK_FUNC(setpgrp,[AC_FUNC_SETPGRP])
341 ICE_CHECK_DECL(setpgrp,sys/types.h unistd.h libc.h)
342 ICE_CHECK_DECL(setsockopt,sys/types.h sys/socket.h)
343 AC_CHECK_FUNCS(sigaction sigemptyset sigvec)
344 ICE_CHECK_DECL(socket,sys/types.h sys/socket.h)
345 ICE_CHECK_DECL(socketpair,sys/types.h sys/socket.h)
346 ICE_CHECK_DECL(sscanf,stdio.h)
347 ICE_CHECK_DECL(strerror,string.h strings.h)
348 AC_FUNC_STRFTIME
349 ICE_CHECK_DECL(strftime,time.h sys/time.h)
350 ICE_CHECK_DECL(strncasecmp,string.h strings.h)
351 ICE_CHECK_DECL(syslog,syslog.h)
352 ICE_CHECK_DECL(system,stdlib.h)
353 ICE_CHECK_DECL(time,time.h sys/time.h)
354 ICE_CHECK_DECL(tolower,ctype.h)
355 ICE_CHECK_DECL(toupper,ctype.h)
356 ICE_CHECK_DECL(ungetc,stdio.h)
357 AC_CHECK_FUNCS(unsetenv)
358 ICE_CHECK_DECL(vfprintf,stdio.h stdlib.h)
359 ICE_CHECK_DECL(vprintf,stdio.h stdlib.h)
360 AC_CHECK_FUNC(wait4)
361 ICE_CHECK_DECL(writev, unistd.h sys/uio.h)
362 ICE_CHECK_DECL(strcasecmp,string.h strings.h)
363
364 #
365 # Devices
366 #
367 AMANDA_S3_DEVICE
368 AMANDA_TAPE_DEVICE
369 AMANDA_DVDRW_DEVICE
370 AMANDA_NDMP_DEVICE
371
372 dnl -------------------------------------------------------------------------
373
374 dnl
375 dnl Set up files for autoconf substitution.  All files are listed here, in
376 dnl order by subdirectory, as a central location for this list.  
377 dnl
378 AC_CONFIG_FILES([
379     Makefile
380     amandad-src/Makefile
381     amar-src/Makefile
382     amplot/Makefile
383     changer-src/Makefile
384     client-src/Makefile
385     common-src/Makefile
386     config/Makefile
387     device-src/Makefile
388     application-src/Makefile
389     example/Makefile
390     gnulib/Makefile
391     installcheck/Makefile
392     man/Makefile
393     ndmp-src/Makefile
394     oldrecover-src/Makefile
395     packaging/Makefile
396     perl/amglue/Makefile
397     perl/Makefile
398     po/Makefile
399     recover-src/Makefile
400     server-src/Makefile
401     xfer-src/Makefile
402 ])
403
404 AC_OUTPUT
405 AMANDA_SHOW_SUMMARY