]> git.wh0rd.org - dump.git/blame_incremental - configure.in
Updated the autoconf system to 2.50. Forced the -D_BSD_SOURCE
[dump.git] / configure.in
... / ...
CommitLineData
1AC_INIT(dump/dump.h)
2AC_PREREQ(2.57)
3
4MCONFIG=./MCONFIG
5AC_SUBST_FILE(MCONFIG)
6
7AC_CONFIG_HEADER(config.h)
8
9dnl
10dnl Check for programs
11dnl
12AC_PROG_MAKE_SET
13AC_PROG_LN_S
14AC_PATH_PROG(CP, cp, cp)
15AC_PATH_PROG(MV, mv, mv)
16AC_PATH_PROG(RM, rm, rm)
17AC_CHECK_TOOL(AR, ar, ar)
18AC_CHECK_TOOL(RANLIB, ranlib, :)
19AC_CHECK_TOOL(PATCH, patch, :)
20AC_PROG_CC
21AC_PROG_INSTALL
22
23AC_CHECK_HEADERS([sys/types.h])
24
25CPPFLAGS="-D_BSD_SOURCE -D_USE_BSD_SIGNAL ${CPPFLAGS}"
26
27dnl
28dnl Handle --enable-debug
29dnl
30AC_ARG_ENABLE([debug],
31[ --enable-debug include debugging code (default is NO)],
32if test "$enableval" = "no"
33then
34 DUMPDEBUG=""
35 RESTOREDEBUG=""
36 echo "Not including debugging code"
37else
38 DUMPDEBUG="-DFDEBUG -DTDEBUG -DWRITEDEBUG -DDIRDEBUG"
39 RESTOREDEBUG="-DDIRDEBUG"
40 echo "Including debugging code"
41fi,
42DUMPDEBUG=""
43RESTOREDEBUG=""
44echo "Not including debugging code by default"
45)
46AC_SUBST(DUMPDEBUG)
47AC_SUBST(RESTOREDEBUG)
48
49dnl
50dnl Handle --enable-static
51dnl
52AC_ARG_ENABLE([static],
53[ --enable-static link dump and restore statically (default is NO)],
54if test "$enableval" = "no"
55then
56 STATIC=""
57 echo "Linking dump and restore dynamically"
58else
59 STATIC="-static"
60 echo "Linking dump and restore statically"
61fi
62,
63STATIC=""
64echo "Linking dump and restore dynamically by default"
65)
66AC_SUBST(STATIC)
67
68dnl
69dnl Handle --enable-rmt
70dnl
71AC_ARG_ENABLE([rmt],
72[ --enable-rmt compile and install rmt (default is YES)],
73if test "$enableval" = "no"
74then
75 RMTDIR=""
76 RMTMAKEFILE=""
77 echo "Not compiling rmt"
78else
79 RMTDIR="rmt"
80 RMTMAKEFILE="rmt/Makefile"
81 echo "Compiling rmt"
82fi
83,
84RMTDIR="rmt"
85RMTMAKEFILE="rmt/Makefile"
86echo "Compiling rmt by default"
87)
88AC_SUBST(RMTDIR)
89
90dnl
91dnl Handle --enable-ermt
92dnl
93AC_ARG_ENABLE([ermt],
94[ --enable-ermt compile ermt, an encrypting version of rmt (default is NO)],
95if test "$enableval" = "no"
96then
97 ERMT=""
98 CRYPTO=""
99 echo "Not compiling ermt"
100else
101 if test "$RMTDIR" = ""
102 then
103 AC_MSG_ERROR(ermt requires --enable-rmt)
104 fi
105 ERMT="ermt"
106 CRYPTO="-lcrypto"
107 echo "Compiling ermt"
108fi
109,
110ERMT=""
111CRYPTO=""
112echo "Not compiling ermt by default"
113)
114AC_SUBST(ERMT)
115AC_SUBST(CRYPTO)
116
117dnl
118dnl Handle --enable-kerberos
119dnl
120AC_ARG_ENABLE([kerberos],
121[ --enable-kerberos compile kerberos extensions (default is NO)],
122if test "$enableval" = "yes"
123then
124 OPTDEFS="-DKERBEROS"
125 echo "Compiling kerberos extensions"
126else
127 OPTDEFS=""
128 echo "Not compiling kerberos extensions"
129fi
130,
131OPTDEFS=""
132echo "Not compiling kerberos extensions by default"
133)
134AC_SUBST(OPTDEFS)
135
136dnl
137dnl Handle --enable-readline
138dnl
139AC_ARG_ENABLE([readline],
140[ --enable-readline enable readline support in restore (default is YES)],
141if test "$enableval" = "no"
142then
143 READLINE=""
144 echo "Not including readline support"
145else
146 READLINE="-lreadline -ltermcap"
147 AC_DEFINE([HAVE_READLINE],1,[Define if you want to include readline support.])
148 echo "Including readline support"
149fi
150,
151READLINE="-lreadline -ltermcap"
152AC_DEFINE([HAVE_READLINE],1,[Define if you want to include readline support.])
153echo "Including readline support by default"
154)
155AC_SUBST(READLINE)
156
157dnl
158dnl Handle --enable-oldsylefscript
159dnl
160AC_ARG_ENABLE([oldstylefscript],
161[ --enable-oldstylefscript enable old style F script (no arguments) (default is NO)],
162if test "$enableval" = "yes"
163then
164 AC_DEFINE([OLD_STYLE_FSCRIPT],1,[Define this is you want old style F script (no arguments).])
165 echo "Using old style F script"
166else
167 echo "Using new style F script"
168fi
169,
170echo "Using new style F script by default"
171)
172
173dnl
174dnl Handle --enable-largefile
175dnl
176AC_ARG_ENABLE([largefile],
177[ --enable-largefile enable Large File System support (default is YES)],
178if test "$enableval" = "yes"
179then
180 AC_DEFINE([USE_LFS],1,[Define this if you want Large File System support.])
181 echo "Enabling Large File System support"
182else
183 echo "Not enabling Large File System support"
184fi
185,
186AC_DEFINE([USE_LFS],1,[Define this if you want Large File System support.])
187echo "Enabling Large File System support by default"
188)
189
190dnl
191dnl Handle --enable-qfa
192dnl
193AC_ARG_ENABLE([qfa],
194[ --enable-qfa enable Quick File Access support (default is YES)],
195if test "$enableval" = "yes"
196then
197 AC_DEFINE([USE_QFA],1,[Define this if you want Quick File Access support.])
198 echo "Enabling Quick File Access support"
199else
200 echo "Not enabling Quick File Access support"
201fi
202,
203AC_DEFINE([USE_QFA],1,[Define this if you want Quick File Access support.])
204echo "Enabling Quick File Access support by default"
205)
206
207dnl
208dnl Handle --enable-qfadebug
209dnl
210AC_ARG_ENABLE([qfadebug],
211[ --enable-qfadebug include Quick File Access debugging code (default is NO)],
212if test "$enableval" = "yes"
213then
214 AC_DEFINE([DEBUG_QFA],1,[Define this if you want to include Quick File Access debugging code.])
215 echo "Including Quick File Access debugging code"
216else
217 echo "Not including Quick File Access debugging code"
218fi
219,
220echo "Not including Quick File Access debugging code by default"
221)
222
223dnl
224dnl set $(CC) from --with-cc=value
225dnl
226AC_ARG_WITH([cc],
227[ --with-cc=COMPILER select compiler to use],
228AC_MSG_RESULT(CC=$withval)
229CC=$withval,
230if test -z "$CC" ; then CC=cc; fi
231[AC_MSG_RESULT(CC defaults to $CC)])dnl
232export CC
233AC_SUBST([CC])
234
235dnl
236dnl set $(LD) from --with-linker=value
237dnl
238AC_ARG_WITH([linker],
239[ --with-linker=LINKER select linker to use],
240AC_MSG_RESULT(LD=$withval)
241LD=$withval,
242if test -z "$LD" ; then LD=$CC; fi
243[AC_MSG_RESULT(LD defaults to $LD)])dnl
244export LD
245AC_SUBST([LD])
246
247dnl
248dnl set $(CCOPTS) from --with-ccopts=value
249dnl
250AC_ARG_WITH([ccopts],
251[ --with-ccopts=CCOPTS select compiler command line options],
252AC_MSG_RESULT(CCOPTS is $withval)
253CCOPTS=$withval
254CFLAGS="$CFLAGS $withval",
255CCOPTS=)dnl
256AC_SUBST(CCOPTS)
257
258dnl
259dnl set $(LDFLAGS) from --with-ldopts=value
260dnl
261AC_ARG_WITH([ldopts],
262[ --with-ldopts=LDOPTS select linker command line options],
263AC_MSG_RESULT(LDFLAGS is $withval)
264LDOPTS=$withval
265LDFLAGS="$LDFLAGS $withval",
266LDOPTS=)dnl
267AC_SUBST(LDOPTS)
268
269dnl
270dnl set $(BINOWNER) from --with-binowner
271dnl
272AC_ARG_WITH([binowner],
273[ --with-binowner=USER select owner for binaries],
274AC_MSG_RESULT(BINOWNER is $withval)
275BINOWNER=$withval,
276BINOWNER=root
277echo "BINOWNER defaults to $BINOWNER"
278)dnl
279AC_SUBST(BINOWNER)
280
281dnl
282dnl set $(BINGRP) from --with-bingrp
283dnl
284AC_ARG_WITH([bingrp],
285[ --with-bingrp=GROUP select group for binaries],
286AC_MSG_RESULT(BINGRP is $withval)
287BINGRP=$withval,
288BINGRP=tty
289echo "BINGRP defaults to $BINGRP"
290)dnl
291AC_SUBST(BINGRP)
292
293dnl
294dnl set $(BINMODE) from --with-binmode
295dnl
296AC_ARG_WITH([binmode],
297[ --with-binmode=MODE select mode for binaries],
298AC_MSG_RESULT(BINMODE is $withval)
299BINMODE=$withval,
300BINMODE=0755
301echo "BINMODE defaults to $BINMODE"
302)dnl
303AC_SUBST(BINMODE)
304
305dnl
306dnl set $(MANOWNER) from --with-manowner
307dnl
308AC_ARG_WITH([manowner],
309[ --with-manowner=USER select owner for manual pages],
310AC_MSG_RESULT(MANOWNER is $withval)
311MANOWNER=$withval,
312MANOWNER=man
313echo "MANOWNER defaults to $MANOWNER"
314)dnl
315AC_SUBST(MANOWNER)
316
317dnl
318dnl set $(MANGRP) from --with-mangrp
319dnl
320AC_ARG_WITH([mangrp],
321[ --with-mangrp=GROUP select group for manual pages],
322AC_MSG_RESULT(MANGRP is $withval)
323MANGRP=$withval,
324MANGRP=tty
325echo "MANGRP defaults to $MANGRP"
326)dnl
327AC_SUBST(MANGRP)
328
329dnl
330dnl set $(MANMODE) from --with-manmode
331dnl
332AC_ARG_WITH([manmode],
333[ --with-manmode=MODE select mode for manual pages],
334AC_MSG_RESULT(MANMODE is $withval)
335MANMODE=$withval,
336MANMODE=0644
337echo "MANMODE defaults to $MANMODE"
338)dnl
339AC_SUBST(MANMODE)
340
341dnl
342dnl set $(DUMPDATESPATH) from --with-dumpdatespath
343dnl
344AC_ARG_WITH([dumpdatespath],
345[ --with-dumpdatespath=PATH select path for dumpdates file],
346AC_MSG_RESULT(DUMPDATESPATH is $withval)
347DUMPDATESPATH=$withval,
348DUMPDATESPATH="${sysconfdir}/dumpdates"
349echo "DUMPDATESPATH defaults to $DUMPDATESPATH"
350)dnl
351AC_SUBST(DUMPDATESPATH)
352
353dnl
354dnl Check for Ext2fs headers and libraries
355dnl
356AC_CHECK_HEADER(ext2fs/ext2fs.h, [ext2fs_h=yes], [ext2fs_h=no], [-])
357AC_CHECK_LIB(ext2fs, ext2fs_open, [ext2fs_lib=yes], [ext2fs_lib=no], [-lcom_err])
358if test "$ext2fs_h" = no -o "$ext2fs_lib" = no; then
359 AC_MSG_ERROR(You need to install the Ext2fs libraries from the E2fsprogs distribution first - hint: make install-libs)
360fi
361
362dnl
363dnl Try to use ext2_fs.h header from libext2fs instead of from the kernel
364dnl
365AC_CHECK_HEADERS(ext2fs/ext2_fs.h, [], [], [-])
366
367dnl
368dnl Check for ext2_ino_t type
369dnl
370AC_MSG_CHECKING(for ext2_ino_t type in libext2fs headers)
371AC_TRY_COMPILE([#include <stdio.h>
372#ifdef HAVE_EXT2FS_EXT2_FS_H
373#include <ext2fs/ext2_fs.h>
374#else
375#include <linux/ext2_fs.h>
376#endif
377#include <ext2fs/ext2fs.h>],
378[ext2_ino_t ino = 0;],
379[AC_DEFINE([HAVE_EXT2_INO_T],1,[Define if we have the ext2_ino_t type (from e2fsprogs 1.20+).])
380 AC_MSG_RESULT(yes)],
381AC_MSG_RESULT(no))
382
383dnl
384dnl Check for s_journal_inum field in ext2_super_block struct
385dnl
386AC_MSG_CHECKING(for s_journal_inum field in ext2_super_block struct)
387AC_TRY_COMPILE([#include <stdio.h>
388#ifdef HAVE_EXT2FS_EXT2_FS_H
389#include <ext2fs/ext2_fs.h>
390#else
391#include <linux/ext2_fs.h>
392#endif
393#include <ext2fs/ext2fs.h>],
394[struct ext2_super_block es; es.s_journal_inum = 0;],
395[AC_DEFINE([HAVE_EXT2_JOURNAL_INUM],1,[Define if we have the s_journal_inum field in struct ext2_super_block.])
396 AC_MSG_RESULT(yes)],
397AC_MSG_RESULT(no))
398
399dnl
400dnl Check for termcap libraries
401dnl
402AC_CHECK_LIB(termcap, tgetent, [termcap_lib=yes], [termcap_lib=no])
403if test "$termcap_lib" = no; then
404 if test "$READLINE" = "-lreadline -ltermcap"; then
405 AC_MSG_ERROR(You need to install the GNU termcap library or configure without --enable-readline)
406 fi
407fi
408
409dnl
410dnl Check for readline headers and libraries
411dnl
412AC_CHECK_HEADER(readline/readline.h, [readline_h=yes], [readline_h=no], [-])
413AC_CHECK_LIB(readline, readline, [readline_lib=yes], [readline_lib=no], "-ltermcap")
414if test "$readline_h" = no -o "$readline_lib" = no; then
415 if test "$READLINE" = "-lreadline -ltermcap"; then
416 AC_MSG_ERROR(You need to install the GNU readline library or configure without --enable-readline)
417 fi
418fi
419
420dnl
421dnl Check for rl_completion_matches
422dnl
423AC_CHECK_LIB(readline, rl_completion_matches, [rlcm=yes], [rlcm=no], "-ltermcap")
424if test "$rlcm" = yes; then
425 AC_DEFINE([HAVE_READLINE_RLCM],1,[Define this if your readline libs have the rl_completion_matches library.])
426fi
427
428dnl
429dnl Check for rl_completion_append_character
430dnl
431AC_CHECK_LIB(readline, rl_completion_append_character, [rcac=yes], [rcac=no], "-ltermcap")
432if test "$rcac" = yes; then
433 AC_DEFINE([HAVE_READLINE_CAC],1,[Define this if your readline libs have the rl_completion_append_character variable.])
434fi
435
436dnl
437dnl Check for zlib headers and libraries
438dnl
439AC_CHECK_HEADER(zlib.h, [zlib_h=yes], [zlib_h=no], [-])
440AC_CHECK_LIB(z, compress2, [zlib_lib=yes], [zlib_lib=no])
441if test "$zlib_h" = yes -a "$zlib_lib" = yes; then
442 ZLIB="-lz"
443 AC_DEFINE([HAVE_ZLIB],1,[Define this if you have zlib compression library.])
444else
445 ZLIB=""
446fi
447AC_SUBST(ZLIB)
448
449dnl
450dnl Check for bzlib headers and libraries
451dnl
452AC_CHECK_HEADER(bzlib.h, [bzlib_h=yes], [bzlib_h=no], [-])
453AC_CHECK_LIB(bz2, BZ2_bzBuffToBuffCompress, [bzlib_lib=yes], [bzlib_lib=no])
454if test "$bzlib_h" = yes -a "$bzlib_lib" = yes; then
455 BZLIB="-lbz2"
456 AC_DEFINE([HAVE_BZLIB],1,[Define this if you have bzlib compression library.])
457else
458 BZLIB=""
459fi
460AC_SUBST(BZLIB)
461
462dnl
463dnl Check for library functions
464dnl
465AC_CHECK_FUNCS(err errx verr verrx vwarn vwarnx warn warnx realpath lchown)
466AC_CHECK_FUNC(glob)
467
468dnl
469dnl Check for GLOB_ALTDIRFUNC
470dnl
471AC_MSG_CHECKING(for extended glob routines)
472if test "$ac_cv_func_glob" = "yes"; then
473 AC_EGREP_CPP(yes,
474 [
475# include <glob.h>
476# ifdef GLOB_ALTDIRFUNC
477 yes
478# endif
479 ],
480 [
481 AC_DEFINE([HAVE_GLOB],1,[Define if you have the glob function.])
482 AC_MSG_RESULT(yes)
483 ],
484 [
485 AC_MSG_RESULT(no)
486 echo "Your system does not support extended glob, will use the internal routines"
487 ])
488fi
489
490dnl
491dnl Check for OpenSSL, for ermt
492dnl
493if test "$ERMT" != ""; then
494 AC_CHECK_HEADER(openssl/evp.h, [evp_h=yes], [evp_h=no])
495 AC_CHECK_LIB(crypto, EVP_CIPHER_CTX_set_padding, [crypto_lib=yes], [crypto_lib=no])
496 if test "$evp_h" = no -o "$crypto_lib" = no; then
497 AC_MSG_ERROR(You need to install the OpenSSL library (version 0.9.7a or later), or configure without --enable-ermt)
498 fi
499fi
500
501dnl
502dnl Check for types
503dnl
504AC_CHECK_TYPE(quad_t, int64_t)
505AC_CHECK_TYPE(u_quad_t, uint64_t)
506
507dnl
508dnl Compute top_buildir
509dnl
510top_builddir=`cd .; pwd`
511AC_SUBST(top_builddir)
512
513dnl
514dnl Create directories
515dnl
516test -d compat || mkdir compat
517test -d compat/lib || mkdir compat/lib
518
519dnl
520dnl Output files
521dnl
522AC_OUTPUT(MCONFIG Makefile common/Makefile compat/include/Makefile compat/lib/Makefile dump/Makefile restore/Makefile $RMTMAKEFILE)