]> git.wh0rd.org - dump.git/blame - configure.in
A wrong line in /etc/fstab containing LABEL=... could prevent dump from running....
[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
d7783603
SP
68dnl
69dnl Handle --enable-staticz
70dnl
71AC_ARG_ENABLE([staticz],
72[ --enable-staticz link libz and libbz2 statically (default is NO)],
73if test "$enableval" = "no"
74then
75 STATICZ="no"
76 echo "Linking libz and libbz2 dynamically"
77else
78 STATICZ="yes"
79 echo "Linking libz and libbz2 statically"
80fi
81,
82STATICZ="no"
83echo "Linking libz and libbz2 dynamically by default"
84)
85
1227625a
SP
86dnl
87dnl Handle --enable-rmt
88dnl
89AC_ARG_ENABLE([rmt],
1daf06b9 90[ --enable-rmt compile and install rmt (default is YES)],
1227625a
SP
91if test "$enableval" = "no"
92then
93 RMTDIR=""
94 RMTMAKEFILE=""
1daf06b9 95 echo "Not compiling rmt"
1227625a
SP
96else
97 RMTDIR="rmt"
98 RMTMAKEFILE="rmt/Makefile"
1daf06b9 99 echo "Compiling rmt"
1227625a
SP
100fi
101,
1daf06b9
SP
102RMTDIR="rmt"
103RMTMAKEFILE="rmt/Makefile"
104echo "Compiling rmt by default"
1227625a
SP
105)
106AC_SUBST(RMTDIR)
107
cdfe1392
SP
108dnl
109dnl Handle --enable-ermt
110dnl
111AC_ARG_ENABLE([ermt],
112[ --enable-ermt compile ermt, an encrypting version of rmt (default is NO)],
113if test "$enableval" = "no"
114then
115 ERMT=""
116 CRYPTO=""
117 echo "Not compiling ermt"
118else
119 if test "$RMTDIR" = ""
120 then
121 AC_MSG_ERROR(ermt requires --enable-rmt)
122 fi
123 ERMT="ermt"
124 CRYPTO="-lcrypto"
125 echo "Compiling ermt"
126fi
127,
128ERMT=""
129CRYPTO=""
130echo "Not compiling ermt by default"
131)
132AC_SUBST(ERMT)
133AC_SUBST(CRYPTO)
134
2ed89fda
SP
135dnl
136dnl Handle --enable-kerberos
137dnl
138AC_ARG_ENABLE([kerberos],
1daf06b9 139[ --enable-kerberos compile kerberos extensions (default is NO)],
2ed89fda
SP
140if test "$enableval" = "yes"
141then
142 OPTDEFS="-DKERBEROS"
1daf06b9 143 echo "Compiling kerberos extensions"
2ed89fda
SP
144else
145 OPTDEFS=""
1daf06b9 146 echo "Not compiling kerberos extensions"
2ed89fda
SP
147fi
148,
149OPTDEFS=""
150echo "Not compiling kerberos extensions by default"
151)
152AC_SUBST(OPTDEFS)
153
c38e5b6a
SP
154dnl
155dnl Handle --enable-readline
156dnl
157AC_ARG_ENABLE([readline],
1daf06b9 158[ --enable-readline enable readline support in restore (default is YES)],
c38e5b6a
SP
159if test "$enableval" = "no"
160then
161 READLINE=""
1daf06b9 162 echo "Not including readline support"
c38e5b6a 163else
5e04cc92 164 READLINE="-lreadline -ltermcap"
e7d18957 165 AC_DEFINE([HAVE_READLINE],1,[Define if you want to include readline support.])
1daf06b9 166 echo "Including readline support"
c38e5b6a
SP
167fi
168,
1daf06b9 169READLINE="-lreadline -ltermcap"
e7d18957 170AC_DEFINE([HAVE_READLINE],1,[Define if you want to include readline support.])
1daf06b9 171echo "Including readline support by default"
c38e5b6a
SP
172)
173AC_SUBST(READLINE)
174
d8574d45
SP
175dnl
176dnl Handle --enable-oldsylefscript
177dnl
178AC_ARG_ENABLE([oldstylefscript],
1daf06b9 179[ --enable-oldstylefscript enable old style F script (no arguments) (default is NO)],
d8574d45
SP
180if test "$enableval" = "yes"
181then
e7d18957 182 AC_DEFINE([OLD_STYLE_FSCRIPT],1,[Define this is you want old style F script (no arguments).])
1daf06b9
SP
183 echo "Using old style F script"
184else
185 echo "Using new style F script"
d8574d45
SP
186fi
187,
1daf06b9 188echo "Using new style F script by default"
d8574d45
SP
189)
190
d6967896
SP
191dnl
192dnl Handle --enable-largefile
193dnl
194AC_ARG_ENABLE([largefile],
1daf06b9 195[ --enable-largefile enable Large File System support (default is YES)],
d6967896
SP
196if test "$enableval" = "yes"
197then
e7d18957 198 AC_DEFINE([USE_LFS],1,[Define this if you want Large File System support.])
1daf06b9
SP
199 echo "Enabling Large File System support"
200else
201 echo "Not enabling Large File System support"
d6967896
SP
202fi
203,
e7d18957 204AC_DEFINE([USE_LFS],1,[Define this if you want Large File System support.])
1daf06b9 205echo "Enabling Large File System support by default"
d6967896
SP
206)
207
35b24fb7
SP
208dnl
209dnl Handle --enable-qfa
210dnl
211AC_ARG_ENABLE([qfa],
1daf06b9 212[ --enable-qfa enable Quick File Access support (default is YES)],
35b24fb7
SP
213if test "$enableval" = "yes"
214then
e7d18957 215 AC_DEFINE([USE_QFA],1,[Define this if you want Quick File Access support.])
1daf06b9
SP
216 echo "Enabling Quick File Access support"
217else
218 echo "Not enabling Quick File Access support"
35b24fb7
SP
219fi
220,
e7d18957 221AC_DEFINE([USE_QFA],1,[Define this if you want Quick File Access support.])
1daf06b9 222echo "Enabling Quick File Access support by default"
35b24fb7
SP
223)
224
225dnl
226dnl Handle --enable-qfadebug
227dnl
228AC_ARG_ENABLE([qfadebug],
1daf06b9 229[ --enable-qfadebug include Quick File Access debugging code (default is NO)],
35b24fb7
SP
230if test "$enableval" = "yes"
231then
e7d18957 232 AC_DEFINE([DEBUG_QFA],1,[Define this if you want to include Quick File Access debugging code.])
1daf06b9
SP
233 echo "Including Quick File Access debugging code"
234else
235 echo "Not including Quick File Access debugging code"
35b24fb7
SP
236fi
237,
1daf06b9 238echo "Not including Quick File Access debugging code by default"
35b24fb7
SP
239)
240
d1925e0c
SP
241dnl
242dnl Handle --enable-macosx
243dnl
244AC_ARG_ENABLE([macosx],
245[ --enable-macosx include Mac OSX restore compatibility (default is NO)],
246if test "$enableval" = "yes"
247then
248 AC_DEFINE([DUMP_MACOSX],1,[Define this if you want to include Mac OSX restore compatibility.])
249 echo "Including Mac OSX restore compatibility code"
250else
251 echo "Not including Mac OSX restore compatibility code"
252fi
253,
254echo "Not including Mac OSX restore compatibility code by default"
255)
256
257
1227625a
SP
258dnl
259dnl set $(CC) from --with-cc=value
260dnl
261AC_ARG_WITH([cc],
d8574d45 262[ --with-cc=COMPILER select compiler to use],
1227625a
SP
263AC_MSG_RESULT(CC=$withval)
264CC=$withval,
265if test -z "$CC" ; then CC=cc; fi
266[AC_MSG_RESULT(CC defaults to $CC)])dnl
267export CC
268AC_SUBST([CC])
269
270dnl
271dnl set $(LD) from --with-linker=value
272dnl
273AC_ARG_WITH([linker],
d8574d45 274[ --with-linker=LINKER select linker to use],
1227625a
SP
275AC_MSG_RESULT(LD=$withval)
276LD=$withval,
277if test -z "$LD" ; then LD=$CC; fi
278[AC_MSG_RESULT(LD defaults to $LD)])dnl
279export LD
280AC_SUBST([LD])
281
282dnl
283dnl set $(CCOPTS) from --with-ccopts=value
284dnl
285AC_ARG_WITH([ccopts],
d8574d45 286[ --with-ccopts=CCOPTS select compiler command line options],
1227625a
SP
287AC_MSG_RESULT(CCOPTS is $withval)
288CCOPTS=$withval
289CFLAGS="$CFLAGS $withval",
290CCOPTS=)dnl
291AC_SUBST(CCOPTS)
292
293dnl
294dnl set $(LDFLAGS) from --with-ldopts=value
295dnl
296AC_ARG_WITH([ldopts],
d8574d45 297[ --with-ldopts=LDOPTS select linker command line options],
1227625a 298AC_MSG_RESULT(LDFLAGS is $withval)
e95b2aff
SP
299LDOPTS=$withval
300LDFLAGS="$LDFLAGS $withval",
301LDOPTS=)dnl
302AC_SUBST(LDOPTS)
1227625a
SP
303
304dnl
305dnl set $(BINOWNER) from --with-binowner
306dnl
307AC_ARG_WITH([binowner],
d8574d45 308[ --with-binowner=USER select owner for binaries],
1227625a
SP
309AC_MSG_RESULT(BINOWNER is $withval)
310BINOWNER=$withval,
311BINOWNER=root
312echo "BINOWNER defaults to $BINOWNER"
313)dnl
314AC_SUBST(BINOWNER)
315
316dnl
317dnl set $(BINGRP) from --with-bingrp
318dnl
319AC_ARG_WITH([bingrp],
d8574d45 320[ --with-bingrp=GROUP select group for binaries],
1227625a
SP
321AC_MSG_RESULT(BINGRP is $withval)
322BINGRP=$withval,
323BINGRP=tty
324echo "BINGRP defaults to $BINGRP"
325)dnl
326AC_SUBST(BINGRP)
327
328dnl
329dnl set $(BINMODE) from --with-binmode
330dnl
331AC_ARG_WITH([binmode],
d8574d45 332[ --with-binmode=MODE select mode for binaries],
1227625a
SP
333AC_MSG_RESULT(BINMODE is $withval)
334BINMODE=$withval,
882090d1 335BINMODE=0755
1227625a
SP
336echo "BINMODE defaults to $BINMODE"
337)dnl
338AC_SUBST(BINMODE)
339
340dnl
341dnl set $(MANOWNER) from --with-manowner
342dnl
343AC_ARG_WITH([manowner],
d8574d45 344[ --with-manowner=USER select owner for manual pages],
1227625a
SP
345AC_MSG_RESULT(MANOWNER is $withval)
346MANOWNER=$withval,
347MANOWNER=man
348echo "MANOWNER defaults to $MANOWNER"
349)dnl
350AC_SUBST(MANOWNER)
351
352dnl
353dnl set $(MANGRP) from --with-mangrp
354dnl
355AC_ARG_WITH([mangrp],
d8574d45 356[ --with-mangrp=GROUP select group for manual pages],
1227625a
SP
357AC_MSG_RESULT(MANGRP is $withval)
358MANGRP=$withval,
359MANGRP=tty
360echo "MANGRP defaults to $MANGRP"
361)dnl
362AC_SUBST(MANGRP)
363
364dnl
365dnl set $(MANMODE) from --with-manmode
366dnl
367AC_ARG_WITH([manmode],
d8574d45 368[ --with-manmode=MODE select mode for manual pages],
1227625a
SP
369AC_MSG_RESULT(MANMODE is $withval)
370MANMODE=$withval,
882090d1 371MANMODE=0644
1227625a
SP
372echo "MANMODE defaults to $MANMODE"
373)dnl
374AC_SUBST(MANMODE)
375
8d4197bb
SP
376dnl
377dnl set $(DUMPDATESPATH) from --with-dumpdatespath
378dnl
379AC_ARG_WITH([dumpdatespath],
d8574d45 380[ --with-dumpdatespath=PATH select path for dumpdates file],
8d4197bb
SP
381AC_MSG_RESULT(DUMPDATESPATH is $withval)
382DUMPDATESPATH=$withval,
60d46c35 383DUMPDATESPATH="${sysconfdir}/dumpdates"
8d4197bb
SP
384echo "DUMPDATESPATH defaults to $DUMPDATESPATH"
385)dnl
386AC_SUBST(DUMPDATESPATH)
387
1227625a
SP
388dnl
389dnl Check for Ext2fs headers and libraries
390dnl
d3e542e7 391AC_CHECK_HEADER(ext2fs/ext2fs.h, [ext2fs_h=yes], [ext2fs_h=no], [-])
1227625a
SP
392AC_CHECK_LIB(ext2fs, ext2fs_open, [ext2fs_lib=yes], [ext2fs_lib=no], [-lcom_err])
393if test "$ext2fs_h" = no -o "$ext2fs_lib" = no; then
d3393043 394 AC_MSG_ERROR(You need to install the Ext2fs libraries from the E2fsprogs distribution first - hint: make install-libs)
1227625a
SP
395fi
396
e4a8bde4
SP
397dnl
398dnl Try to use ext2_fs.h header from libext2fs instead of from the kernel
399dnl
d3e542e7 400AC_CHECK_HEADERS(ext2fs/ext2_fs.h, [], [], [-])
e4a8bde4 401
a4f547cd
SP
402dnl
403dnl Check for ext2_ino_t type
404dnl
7422942f 405AC_MSG_CHECKING(for ext2_ino_t type in libext2fs headers)
a4f547cd 406AC_TRY_COMPILE([#include <stdio.h>
e4a8bde4
SP
407#ifdef HAVE_EXT2FS_EXT2_FS_H
408#include <ext2fs/ext2_fs.h>
409#else
a4f547cd 410#include <linux/ext2_fs.h>
e4a8bde4
SP
411#endif
412#include <ext2fs/ext2fs.h>],
a4f547cd 413[ext2_ino_t ino = 0;],
e7d18957
SP
414[AC_DEFINE([HAVE_EXT2_INO_T],1,[Define if we have the ext2_ino_t type (from e2fsprogs 1.20+).])
415 AC_MSG_RESULT(yes)],
a4f547cd
SP
416AC_MSG_RESULT(no))
417
418dnl
419dnl Check for s_journal_inum field in ext2_super_block struct
420dnl
421AC_MSG_CHECKING(for s_journal_inum field in ext2_super_block struct)
422AC_TRY_COMPILE([#include <stdio.h>
e4a8bde4
SP
423#ifdef HAVE_EXT2FS_EXT2_FS_H
424#include <ext2fs/ext2_fs.h>
425#else
a4f547cd 426#include <linux/ext2_fs.h>
e4a8bde4 427#endif
a4f547cd
SP
428#include <ext2fs/ext2fs.h>],
429[struct ext2_super_block es; es.s_journal_inum = 0;],
e7d18957
SP
430[AC_DEFINE([HAVE_EXT2_JOURNAL_INUM],1,[Define if we have the s_journal_inum field in struct ext2_super_block.])
431 AC_MSG_RESULT(yes)],
a4f547cd
SP
432AC_MSG_RESULT(no))
433
c9e4e868
SP
434dnl
435dnl Check for blkid headers libraries
436dnl
437AC_CHECK_HEADER(blkid/blkid.h, [blkid_h=yes], [blkid_h=no], [-])
438AC_CHECK_LIB(blkid, blkid_get_devname, [blkid_lib=yes], [blkid_lib=no], [-luuid])
439if test "$blkid_h" = yes -a "$blkid_lib" = yes; then
440 AC_DEFINE([HAVE_BLKID],1,[Define this if you have the blkid library.])
441 BLKID="-lblkid -luuid"
442fi
443AC_SUBST(BLKID)
444
3e815572
SP
445dnl
446dnl Check for termcap libraries
447dnl
448AC_CHECK_LIB(termcap, tgetent, [termcap_lib=yes], [termcap_lib=no])
449if test "$termcap_lib" = no; then
450 if test "$READLINE" = "-lreadline -ltermcap"; then
e68dc63e 451 AC_MSG_ERROR(You need to install the GNU termcap library or configure without --enable-readline)
3e815572
SP
452 fi
453fi
454
c38e5b6a
SP
455dnl
456dnl Check for readline headers and libraries
457dnl
d3e542e7 458AC_CHECK_HEADER(readline/readline.h, [readline_h=yes], [readline_h=no], [-])
3e815572 459AC_CHECK_LIB(readline, readline, [readline_lib=yes], [readline_lib=no], "-ltermcap")
c38e5b6a 460if test "$readline_h" = no -o "$readline_lib" = no; then
3e815572 461 if test "$READLINE" = "-lreadline -ltermcap"; then
e68dc63e 462 AC_MSG_ERROR(You need to install the GNU readline library or configure without --enable-readline)
c38e5b6a
SP
463 fi
464fi
465
bcecd677
SP
466dnl
467dnl Check for rl_completion_matches
468dnl
469AC_CHECK_LIB(readline, rl_completion_matches, [rlcm=yes], [rlcm=no], "-ltermcap")
470if test "$rlcm" = yes; then
e7d18957 471 AC_DEFINE([HAVE_READLINE_RLCM],1,[Define this if your readline libs have the rl_completion_matches library.])
bcecd677
SP
472fi
473
474dnl
475dnl Check for rl_completion_append_character
476dnl
477AC_CHECK_LIB(readline, rl_completion_append_character, [rcac=yes], [rcac=no], "-ltermcap")
478if test "$rcac" = yes; then
e7d18957 479 AC_DEFINE([HAVE_READLINE_CAC],1,[Define this if your readline libs have the rl_completion_append_character variable.])
bcecd677
SP
480fi
481
4d5ed2f3
SP
482dnl
483dnl Check for zlib headers and libraries
484dnl
d3e542e7 485AC_CHECK_HEADER(zlib.h, [zlib_h=yes], [zlib_h=no], [-])
4d5ed2f3
SP
486AC_CHECK_LIB(z, compress2, [zlib_lib=yes], [zlib_lib=no])
487if test "$zlib_h" = yes -a "$zlib_lib" = yes; then
d7783603
SP
488 if test "$STATICZ" = yes; then
489 ZLIB="-Wl,-Bstatic -lz -Wl,-Bdynamic"
490 else
491 ZLIB="-lz"
492 fi
e7d18957 493 AC_DEFINE([HAVE_ZLIB],1,[Define this if you have zlib compression library.])
4d5ed2f3
SP
494else
495 ZLIB=""
496fi
497AC_SUBST(ZLIB)
498
88ef261e
SP
499dnl
500dnl Check for bzlib headers and libraries
501dnl
d3e542e7 502AC_CHECK_HEADER(bzlib.h, [bzlib_h=yes], [bzlib_h=no], [-])
88ef261e
SP
503AC_CHECK_LIB(bz2, BZ2_bzBuffToBuffCompress, [bzlib_lib=yes], [bzlib_lib=no])
504if test "$bzlib_h" = yes -a "$bzlib_lib" = yes; then
d7783603
SP
505 if test "$STATICZ" = yes; then
506 BZLIB="-Wl,-Bstatic -lbz2 -Wl,-Bdynamic"
507 else
508 BZLIB="-lbz2"
509 fi
e7d18957 510 AC_DEFINE([HAVE_BZLIB],1,[Define this if you have bzlib compression library.])
88ef261e
SP
511else
512 BZLIB=""
513fi
514AC_SUBST(BZLIB)
515
1227625a
SP
516dnl
517dnl Check for library functions
518dnl
5c1faba5
SP
519AC_CHECK_FUNCS(err errx verr verrx vwarn vwarnx warn warnx realpath lchown)
520AC_CHECK_FUNC(glob)
521
522dnl
523dnl Check for GLOB_ALTDIRFUNC
524dnl
a4f547cd 525AC_MSG_CHECKING(for extended glob routines)
5c1faba5
SP
526if test "$ac_cv_func_glob" = "yes"; then
527 AC_EGREP_CPP(yes,
528 [
529# include <glob.h>
530# ifdef GLOB_ALTDIRFUNC
531 yes
532# endif
a4f547cd
SP
533 ],
534 [
e7d18957 535 AC_DEFINE([HAVE_GLOB],1,[Define if you have the glob function.])
a4f547cd
SP
536 AC_MSG_RESULT(yes)
537 ],
538 [
539 AC_MSG_RESULT(no)
540 echo "Your system does not support extended glob, will use the internal routines"
541 ])
5c1faba5 542fi
1227625a 543
18282881
SP
544dnl
545dnl Check for OpenSSL, for ermt
546dnl
547if test "$ERMT" != ""; then
548 AC_CHECK_HEADER(openssl/evp.h, [evp_h=yes], [evp_h=no])
549 AC_CHECK_LIB(crypto, EVP_CIPHER_CTX_set_padding, [crypto_lib=yes], [crypto_lib=no])
550 if test "$evp_h" = no -o "$crypto_lib" = no; then
551 AC_MSG_ERROR(You need to install the OpenSSL library (version 0.9.7a or later), or configure without --enable-ermt)
552 fi
553fi
554
1227625a
SP
555dnl
556dnl Check for types
557dnl
1a886de8
SP
558AC_CHECK_TYPE(quad_t, int64_t)
559AC_CHECK_TYPE(u_quad_t, uint64_t)
1227625a
SP
560
561dnl
562dnl Compute top_buildir
563dnl
564top_builddir=`cd .; pwd`
565AC_SUBST(top_builddir)
566
567dnl
568dnl Create directories
569dnl
570test -d compat || mkdir compat
571test -d compat/lib || mkdir compat/lib
572
573dnl
574dnl Output files
575dnl
8d4197bb 576AC_OUTPUT(MCONFIG Makefile common/Makefile compat/include/Makefile compat/lib/Makefile dump/Makefile restore/Makefile $RMTMAKEFILE)