]> git.wh0rd.org - dump.git/blame - configure.in
Use lchown instead of chown (security problem of symlinks ownership)
[dump.git] / configure.in
CommitLineData
1227625a
SP
1AC_INIT(dump/dump.h)
2
3MCONFIG=./MCONFIG
4AC_SUBST_FILE(MCONFIG)
5
6AC_CONFIG_HEADER(config.h)
7
8dnl
9dnl Check for programs
10dnl
11AC_PROG_MAKE_SET
12AC_PROG_LN_S
13AC_PATH_PROG(CP, cp, cp)
14AC_PATH_PROG(MV, mv, mv)
15AC_PATH_PROG(RM, rm, rm)
16AC_CHECK_TOOL(AR, ar, ar)
17AC_CHECK_TOOL(RANLIB, ranlib, :)
18AC_CHECK_TOOL(PATCH, patch, :)
19AC_PROG_CC
20AC_PROG_INSTALL
21
1227625a
SP
22dnl
23dnl Handle --enable-debug
24dnl
25AC_ARG_ENABLE([debug],
26[ --enable-debug include debugging code],
27if test "$enableval" = "no"
28then
29 DUMPDEBUG=""
30 RESTOREDEBUG=""
31else
32 DUMPDEBUG="-DFDEBUG -DTDEBUG -DWRITEDEBUG -DDIRDEBUG"
33 RESTOREDEBUG="-DDIRDEBUG"
34fi,
35DUMPDEBUG=""
36RESTOREDEBUG=""
37)
38AC_SUBST(DUMPDEBUG)
39AC_SUBST(RESTOREDEBUG)
40
41dnl
42dnl Handle --enable-static
43dnl
44AC_ARG_ENABLE([static],
45[ --enable-static link dump and restore statically],
46if test "$enableval" = "no"
47then
48 STATIC=""
49else
50 STATIC="-static"
51fi
52,
53STATIC=""
54echo "Linking dump and restore dynamically by default"
55)
56AC_SUBST(STATIC)
57
58dnl
59dnl Handle --enable-rmt
60dnl
61AC_ARG_ENABLE([rmt],
62[ --enable-rmt compile and install rmt],
63if test "$enableval" = "no"
64then
65 RMTDIR=""
66 RMTMAKEFILE=""
67else
68 RMTDIR="rmt"
69 RMTMAKEFILE="rmt/Makefile"
70fi
71,
72RMTDIR=""
73echo "Not compiling rmt by default"
74)
75AC_SUBST(RMTDIR)
76
77dnl
78dnl set $(CC) from --with-cc=value
79dnl
80AC_ARG_WITH([cc],
81[ --with-cc=COMPILER select compiler to use],
82AC_MSG_RESULT(CC=$withval)
83CC=$withval,
84if test -z "$CC" ; then CC=cc; fi
85[AC_MSG_RESULT(CC defaults to $CC)])dnl
86export CC
87AC_SUBST([CC])
88
89dnl
90dnl set $(LD) from --with-linker=value
91dnl
92AC_ARG_WITH([linker],
93[ --with-linker=LINKER select linker to use],
94AC_MSG_RESULT(LD=$withval)
95LD=$withval,
96if test -z "$LD" ; then LD=$CC; fi
97[AC_MSG_RESULT(LD defaults to $LD)])dnl
98export LD
99AC_SUBST([LD])
100
101dnl
102dnl set $(CCOPTS) from --with-ccopts=value
103dnl
104AC_ARG_WITH([ccopts],
105[ --with-ccopts=CCOPTS select compiler command line options],
106AC_MSG_RESULT(CCOPTS is $withval)
107CCOPTS=$withval
108CFLAGS="$CFLAGS $withval",
109CCOPTS=)dnl
110AC_SUBST(CCOPTS)
111
112dnl
113dnl set $(LDFLAGS) from --with-ldopts=value
114dnl
115AC_ARG_WITH([ldopts],
116[ --with-ldopts=LDOPTS select linker command line options],
117AC_MSG_RESULT(LDFLAGS is $withval)
118LDFLAGS=$withval,
119LDFLAGS=)dnl
120AC_SUBST(LDFLAGS)
121
122dnl
123dnl set $(BINOWNER) from --with-binowner
124dnl
125AC_ARG_WITH([binowner],
126[ --with-binowner=USER select owner for binaries],
127AC_MSG_RESULT(BINOWNER is $withval)
128BINOWNER=$withval,
129BINOWNER=root
130echo "BINOWNER defaults to $BINOWNER"
131)dnl
132AC_SUBST(BINOWNER)
133
134dnl
135dnl set $(BINGRP) from --with-bingrp
136dnl
137AC_ARG_WITH([bingrp],
138[ --with-bingrp=GROUP select group for binaries],
139AC_MSG_RESULT(BINGRP is $withval)
140BINGRP=$withval,
141BINGRP=tty
142echo "BINGRP defaults to $BINGRP"
143)dnl
144AC_SUBST(BINGRP)
145
146dnl
147dnl set $(BINMODE) from --with-binmode
148dnl
149AC_ARG_WITH([binmode],
150[ --with-binmode=MODE select mode for binaries],
151AC_MSG_RESULT(BINMODE is $withval)
152BINMODE=$withval,
153BINMODE=6555
154echo "BINMODE defaults to $BINMODE"
155)dnl
156AC_SUBST(BINMODE)
157
158dnl
159dnl set $(MANOWNER) from --with-manowner
160dnl
161AC_ARG_WITH([manowner],
162[ --with-manowner=USER select owner for manual pages],
163AC_MSG_RESULT(MANOWNER is $withval)
164MANOWNER=$withval,
165MANOWNER=man
166echo "MANOWNER defaults to $MANOWNER"
167)dnl
168AC_SUBST(MANOWNER)
169
170dnl
171dnl set $(MANGRP) from --with-mangrp
172dnl
173AC_ARG_WITH([mangrp],
174[ --with-mangrp=group select group for manual pages],
175AC_MSG_RESULT(MANGRP is $withval)
176MANGRP=$withval,
177MANGRP=tty
178echo "MANGRP defaults to $MANGRP"
179)dnl
180AC_SUBST(MANGRP)
181
182dnl
183dnl set $(MANMODE) from --with-manmode
184dnl
185AC_ARG_WITH([manmode],
186[ --with-manmode=MODE select mode for manual pages],
187AC_MSG_RESULT(MANMODE is $withval)
188MANMODE=$withval,
189MANMODE=0444
190echo "MANMODE defaults to $MANMODE"
191)dnl
192AC_SUBST(MANMODE)
193
8d4197bb
SP
194dnl
195dnl set $(DUMPDATESPATH) from --with-dumpdatespath
196dnl
197AC_ARG_WITH([dumpdatespath],
198[ --with-dumpdatespath=path select path for dumpdates file],
199AC_MSG_RESULT(DUMPDATESPATH is $withval)
200DUMPDATESPATH=$withval,
201DUMPDATESPATH="/etc/dumpdates"
202echo "DUMPDATESPATH defaults to $DUMPDATESPATH"
203)dnl
204AC_SUBST(DUMPDATESPATH)
205
1227625a
SP
206dnl
207dnl Check for Ext2fs headers and libraries
208dnl
209AC_CHECK_HEADER(ext2fs/ext2fs.h, [ext2fs_h=yes], [ext2fs_h=no])
210AC_CHECK_LIB(ext2fs, ext2fs_open, [ext2fs_lib=yes], [ext2fs_lib=no], [-lcom_err])
211if test "$ext2fs_h" = no -o "$ext2fs_lib" = no; then
212 AC_MSG_ERROR(You need to install the Ext2fs libraries from the E2fsprogs distribution first)
213fi
214
215dnl
216dnl Check for library functions
217dnl
08ebf8d7 218AC_CHECK_FUNCS(err errx verr verrx vwarn vwarnx warn warnx realpath glob lchown)
1227625a
SP
219
220dnl
221dnl Check for types
222dnl
223AC_CHECK_TYPE(quad_t, __s64)
224AC_CHECK_TYPE(u_quad_t, __u64)
225
226dnl
227dnl Compute top_buildir
228dnl
229top_builddir=`cd .; pwd`
230AC_SUBST(top_builddir)
231
232dnl
233dnl Create directories
234dnl
235test -d compat || mkdir compat
236test -d compat/lib || mkdir compat/lib
237
238dnl
239dnl Output files
240dnl
8d4197bb 241AC_OUTPUT(MCONFIG Makefile common/Makefile compat/include/Makefile compat/lib/Makefile dump/Makefile restore/Makefile $RMTMAKEFILE)