]> git.wh0rd.org - dump.git/blame - configure.in
Updated the autoconf system to 2.50. Forced the -D_BSD_SOURCE
[dump.git] / configure.in
CommitLineData
1227625a 1AC_INIT(dump/dump.h)
e7d18957 2AC_PREREQ(2.57)
1227625a
SP
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
e7d18957
SP
23AC_CHECK_HEADERS([sys/types.h])
24
25CPPFLAGS="-D_BSD_SOURCE -D_USE_BSD_SIGNAL ${CPPFLAGS}"
26
1227625a
SP
27dnl
28dnl Handle --enable-debug
29dnl
30AC_ARG_ENABLE([debug],
1daf06b9 31[ --enable-debug include debugging code (default is NO)],
1227625a
SP
32if test "$enableval" = "no"
33then
34 DUMPDEBUG=""
35 RESTOREDEBUG=""
1daf06b9 36 echo "Not including debugging code"
1227625a
SP
37else
38 DUMPDEBUG="-DFDEBUG -DTDEBUG -DWRITEDEBUG -DDIRDEBUG"
39 RESTOREDEBUG="-DDIRDEBUG"
1daf06b9 40 echo "Including debugging code"
1227625a
SP
41fi,
42DUMPDEBUG=""
43RESTOREDEBUG=""
1daf06b9 44echo "Not including debugging code by default"
1227625a
SP
45)
46AC_SUBST(DUMPDEBUG)
47AC_SUBST(RESTOREDEBUG)
48
49dnl
50dnl Handle --enable-static
51dnl
52AC_ARG_ENABLE([static],
1daf06b9 53[ --enable-static link dump and restore statically (default is NO)],
1227625a
SP
54if test "$enableval" = "no"
55then
56 STATIC=""
1daf06b9 57 echo "Linking dump and restore dynamically"
1227625a
SP
58else
59 STATIC="-static"
1daf06b9 60 echo "Linking dump and restore statically"
1227625a
SP
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],
1daf06b9 72[ --enable-rmt compile and install rmt (default is YES)],
1227625a
SP
73if test "$enableval" = "no"
74then
75 RMTDIR=""
76 RMTMAKEFILE=""
1daf06b9 77 echo "Not compiling rmt"
1227625a
SP
78else
79 RMTDIR="rmt"
80 RMTMAKEFILE="rmt/Makefile"
1daf06b9 81 echo "Compiling rmt"
1227625a
SP
82fi
83,
1daf06b9
SP
84RMTDIR="rmt"
85RMTMAKEFILE="rmt/Makefile"
86echo "Compiling rmt by default"
1227625a
SP
87)
88AC_SUBST(RMTDIR)
89
cdfe1392
SP
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
2ed89fda
SP
117dnl
118dnl Handle --enable-kerberos
119dnl
120AC_ARG_ENABLE([kerberos],
1daf06b9 121[ --enable-kerberos compile kerberos extensions (default is NO)],
2ed89fda
SP
122if test "$enableval" = "yes"
123then
124 OPTDEFS="-DKERBEROS"
1daf06b9 125 echo "Compiling kerberos extensions"
2ed89fda
SP
126else
127 OPTDEFS=""
1daf06b9 128 echo "Not compiling kerberos extensions"
2ed89fda
SP
129fi
130,
131OPTDEFS=""
132echo "Not compiling kerberos extensions by default"
133)
134AC_SUBST(OPTDEFS)
135
c38e5b6a
SP
136dnl
137dnl Handle --enable-readline
138dnl
139AC_ARG_ENABLE([readline],
1daf06b9 140[ --enable-readline enable readline support in restore (default is YES)],
c38e5b6a
SP
141if test "$enableval" = "no"
142then
143 READLINE=""
1daf06b9 144 echo "Not including readline support"
c38e5b6a 145else
5e04cc92 146 READLINE="-lreadline -ltermcap"
e7d18957 147 AC_DEFINE([HAVE_READLINE],1,[Define if you want to include readline support.])
1daf06b9 148 echo "Including readline support"
c38e5b6a
SP
149fi
150,
1daf06b9 151READLINE="-lreadline -ltermcap"
e7d18957 152AC_DEFINE([HAVE_READLINE],1,[Define if you want to include readline support.])
1daf06b9 153echo "Including readline support by default"
c38e5b6a
SP
154)
155AC_SUBST(READLINE)
156
d8574d45
SP
157dnl
158dnl Handle --enable-oldsylefscript
159dnl
160AC_ARG_ENABLE([oldstylefscript],
1daf06b9 161[ --enable-oldstylefscript enable old style F script (no arguments) (default is NO)],
d8574d45
SP
162if test "$enableval" = "yes"
163then
e7d18957 164 AC_DEFINE([OLD_STYLE_FSCRIPT],1,[Define this is you want old style F script (no arguments).])
1daf06b9
SP
165 echo "Using old style F script"
166else
167 echo "Using new style F script"
d8574d45
SP
168fi
169,
1daf06b9 170echo "Using new style F script by default"
d8574d45
SP
171)
172
d6967896
SP
173dnl
174dnl Handle --enable-largefile
175dnl
176AC_ARG_ENABLE([largefile],
1daf06b9 177[ --enable-largefile enable Large File System support (default is YES)],
d6967896
SP
178if test "$enableval" = "yes"
179then
e7d18957 180 AC_DEFINE([USE_LFS],1,[Define this if you want Large File System support.])
1daf06b9
SP
181 echo "Enabling Large File System support"
182else
183 echo "Not enabling Large File System support"
d6967896
SP
184fi
185,
e7d18957 186AC_DEFINE([USE_LFS],1,[Define this if you want Large File System support.])
1daf06b9 187echo "Enabling Large File System support by default"
d6967896
SP
188)
189
35b24fb7
SP
190dnl
191dnl Handle --enable-qfa
192dnl
193AC_ARG_ENABLE([qfa],
1daf06b9 194[ --enable-qfa enable Quick File Access support (default is YES)],
35b24fb7
SP
195if test "$enableval" = "yes"
196then
e7d18957 197 AC_DEFINE([USE_QFA],1,[Define this if you want Quick File Access support.])
1daf06b9
SP
198 echo "Enabling Quick File Access support"
199else
200 echo "Not enabling Quick File Access support"
35b24fb7
SP
201fi
202,
e7d18957 203AC_DEFINE([USE_QFA],1,[Define this if you want Quick File Access support.])
1daf06b9 204echo "Enabling Quick File Access support by default"
35b24fb7
SP
205)
206
207dnl
208dnl Handle --enable-qfadebug
209dnl
210AC_ARG_ENABLE([qfadebug],
1daf06b9 211[ --enable-qfadebug include Quick File Access debugging code (default is NO)],
35b24fb7
SP
212if test "$enableval" = "yes"
213then
e7d18957 214 AC_DEFINE([DEBUG_QFA],1,[Define this if you want to include Quick File Access debugging code.])
1daf06b9
SP
215 echo "Including Quick File Access debugging code"
216else
217 echo "Not including Quick File Access debugging code"
35b24fb7
SP
218fi
219,
1daf06b9 220echo "Not including Quick File Access debugging code by default"
35b24fb7
SP
221)
222
1227625a
SP
223dnl
224dnl set $(CC) from --with-cc=value
225dnl
226AC_ARG_WITH([cc],
d8574d45 227[ --with-cc=COMPILER select compiler to use],
1227625a
SP
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],
d8574d45 239[ --with-linker=LINKER select linker to use],
1227625a
SP
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],
d8574d45 251[ --with-ccopts=CCOPTS select compiler command line options],
1227625a
SP
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],
d8574d45 262[ --with-ldopts=LDOPTS select linker command line options],
1227625a 263AC_MSG_RESULT(LDFLAGS is $withval)
e95b2aff
SP
264LDOPTS=$withval
265LDFLAGS="$LDFLAGS $withval",
266LDOPTS=)dnl
267AC_SUBST(LDOPTS)
1227625a
SP
268
269dnl
270dnl set $(BINOWNER) from --with-binowner
271dnl
272AC_ARG_WITH([binowner],
d8574d45 273[ --with-binowner=USER select owner for binaries],
1227625a
SP
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],
d8574d45 285[ --with-bingrp=GROUP select group for binaries],
1227625a
SP
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],
d8574d45 297[ --with-binmode=MODE select mode for binaries],
1227625a
SP
298AC_MSG_RESULT(BINMODE is $withval)
299BINMODE=$withval,
882090d1 300BINMODE=0755
1227625a
SP
301echo "BINMODE defaults to $BINMODE"
302)dnl
303AC_SUBST(BINMODE)
304
305dnl
306dnl set $(MANOWNER) from --with-manowner
307dnl
308AC_ARG_WITH([manowner],
d8574d45 309[ --with-manowner=USER select owner for manual pages],
1227625a
SP
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],
d8574d45 321[ --with-mangrp=GROUP select group for manual pages],
1227625a
SP
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],
d8574d45 333[ --with-manmode=MODE select mode for manual pages],
1227625a
SP
334AC_MSG_RESULT(MANMODE is $withval)
335MANMODE=$withval,
882090d1 336MANMODE=0644
1227625a
SP
337echo "MANMODE defaults to $MANMODE"
338)dnl
339AC_SUBST(MANMODE)
340
8d4197bb
SP
341dnl
342dnl set $(DUMPDATESPATH) from --with-dumpdatespath
343dnl
344AC_ARG_WITH([dumpdatespath],
d8574d45 345[ --with-dumpdatespath=PATH select path for dumpdates file],
8d4197bb
SP
346AC_MSG_RESULT(DUMPDATESPATH is $withval)
347DUMPDATESPATH=$withval,
60d46c35 348DUMPDATESPATH="${sysconfdir}/dumpdates"
8d4197bb
SP
349echo "DUMPDATESPATH defaults to $DUMPDATESPATH"
350)dnl
351AC_SUBST(DUMPDATESPATH)
352
1227625a
SP
353dnl
354dnl Check for Ext2fs headers and libraries
355dnl
d3e542e7 356AC_CHECK_HEADER(ext2fs/ext2fs.h, [ext2fs_h=yes], [ext2fs_h=no], [-])
1227625a
SP
357AC_CHECK_LIB(ext2fs, ext2fs_open, [ext2fs_lib=yes], [ext2fs_lib=no], [-lcom_err])
358if test "$ext2fs_h" = no -o "$ext2fs_lib" = no; then
d3393043 359 AC_MSG_ERROR(You need to install the Ext2fs libraries from the E2fsprogs distribution first - hint: make install-libs)
1227625a
SP
360fi
361
e4a8bde4
SP
362dnl
363dnl Try to use ext2_fs.h header from libext2fs instead of from the kernel
364dnl
d3e542e7 365AC_CHECK_HEADERS(ext2fs/ext2_fs.h, [], [], [-])
e4a8bde4 366
a4f547cd
SP
367dnl
368dnl Check for ext2_ino_t type
369dnl
7422942f 370AC_MSG_CHECKING(for ext2_ino_t type in libext2fs headers)
a4f547cd 371AC_TRY_COMPILE([#include <stdio.h>
e4a8bde4
SP
372#ifdef HAVE_EXT2FS_EXT2_FS_H
373#include <ext2fs/ext2_fs.h>
374#else
a4f547cd 375#include <linux/ext2_fs.h>
e4a8bde4
SP
376#endif
377#include <ext2fs/ext2fs.h>],
a4f547cd 378[ext2_ino_t ino = 0;],
e7d18957
SP
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)],
a4f547cd
SP
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>
e4a8bde4
SP
388#ifdef HAVE_EXT2FS_EXT2_FS_H
389#include <ext2fs/ext2_fs.h>
390#else
a4f547cd 391#include <linux/ext2_fs.h>
e4a8bde4 392#endif
a4f547cd
SP
393#include <ext2fs/ext2fs.h>],
394[struct ext2_super_block es; es.s_journal_inum = 0;],
e7d18957
SP
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)],
a4f547cd
SP
397AC_MSG_RESULT(no))
398
3e815572
SP
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
e68dc63e 405 AC_MSG_ERROR(You need to install the GNU termcap library or configure without --enable-readline)
3e815572
SP
406 fi
407fi
408
c38e5b6a
SP
409dnl
410dnl Check for readline headers and libraries
411dnl
d3e542e7 412AC_CHECK_HEADER(readline/readline.h, [readline_h=yes], [readline_h=no], [-])
3e815572 413AC_CHECK_LIB(readline, readline, [readline_lib=yes], [readline_lib=no], "-ltermcap")
c38e5b6a 414if test "$readline_h" = no -o "$readline_lib" = no; then
3e815572 415 if test "$READLINE" = "-lreadline -ltermcap"; then
e68dc63e 416 AC_MSG_ERROR(You need to install the GNU readline library or configure without --enable-readline)
c38e5b6a
SP
417 fi
418fi
419
bcecd677
SP
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
e7d18957 425 AC_DEFINE([HAVE_READLINE_RLCM],1,[Define this if your readline libs have the rl_completion_matches library.])
bcecd677
SP
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
e7d18957 433 AC_DEFINE([HAVE_READLINE_CAC],1,[Define this if your readline libs have the rl_completion_append_character variable.])
bcecd677
SP
434fi
435
4d5ed2f3
SP
436dnl
437dnl Check for zlib headers and libraries
438dnl
d3e542e7 439AC_CHECK_HEADER(zlib.h, [zlib_h=yes], [zlib_h=no], [-])
4d5ed2f3
SP
440AC_CHECK_LIB(z, compress2, [zlib_lib=yes], [zlib_lib=no])
441if test "$zlib_h" = yes -a "$zlib_lib" = yes; then
442 ZLIB="-lz"
e7d18957 443 AC_DEFINE([HAVE_ZLIB],1,[Define this if you have zlib compression library.])
4d5ed2f3
SP
444else
445 ZLIB=""
446fi
447AC_SUBST(ZLIB)
448
88ef261e
SP
449dnl
450dnl Check for bzlib headers and libraries
451dnl
d3e542e7 452AC_CHECK_HEADER(bzlib.h, [bzlib_h=yes], [bzlib_h=no], [-])
88ef261e
SP
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"
e7d18957 456 AC_DEFINE([HAVE_BZLIB],1,[Define this if you have bzlib compression library.])
88ef261e
SP
457else
458 BZLIB=""
459fi
460AC_SUBST(BZLIB)
461
1227625a
SP
462dnl
463dnl Check for library functions
464dnl
5c1faba5
SP
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
a4f547cd 471AC_MSG_CHECKING(for extended glob routines)
5c1faba5
SP
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
a4f547cd
SP
479 ],
480 [
e7d18957 481 AC_DEFINE([HAVE_GLOB],1,[Define if you have the glob function.])
a4f547cd
SP
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 ])
5c1faba5 488fi
1227625a 489
18282881
SP
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
1227625a
SP
501dnl
502dnl Check for types
503dnl
1a886de8
SP
504AC_CHECK_TYPE(quad_t, int64_t)
505AC_CHECK_TYPE(u_quad_t, uint64_t)
1227625a
SP
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
8d4197bb 522AC_OUTPUT(MCONFIG Makefile common/Makefile compat/include/Makefile compat/lib/Makefile dump/Makefile restore/Makefile $RMTMAKEFILE)