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