]> git.sur5r.net Git - bacula/rescue/blob - rescue/autoconf/configure.in
43ac020984d2b5c15ee96c4a4b9cdfca287bbad2
[bacula/rescue] / rescue / autoconf / configure.in
1 lal#
2 dnl#
3 dnl# Process this file with autoconf to produce a configure script.
4 dnl#
5 AC_INIT(version.h)
6 BUILD_DIR=`pwd`
7 cd ..
8 TOP_DIR=`pwd`
9 cd ${BUILD_DIR}
10 AC_SUBST(BUILD_DIR)
11 AC_CONFIG_AUX_DIR(${BUILD_DIR}/autoconf)
12
13 dnl require a recent autoconf
14 AC_PREREQ(2.13)
15
16
17 dnl search for true and false programs.
18 AC_PATH_PROGS(TRUEPRG, true, :)
19 AC_PATH_PROGS(FALSEPRG, false, :)
20
21 AC_PROG_AWK
22 # Some AWK programs fail, so test it and warn the user
23 if echo xfoo | $AWK 'BEGIN { prog=ARGV[1]; ARGC=1 } 
24       { if ((prog == $2) || (("(" prog ")") == $2) ||
25            (("[" prog "]") == $2) ||
26            ((prog ":") == $2)) { print $1 ; exit 0 } }' xfoo>/dev/null; then :;
27 else
28   AC_MSG_ERROR([!!!!!!!!! WARNING !!!!!!!!!!!!!!
29    The regex engine of $AWK is too broken to be used you 
30    might want to install GNU AWK.
31    !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!])
32 fi
33 THE_AWK=$AWK
34 AC_PATH_PROG(AWK, $THE_AWK, $THE_AWK)
35
36
37 dnl Rescue version
38 VERSION=`sed -n -e 's/^.*VERSION.*"\(.*\)"$/\1/p' ${srcdir}/version.h`
39 DATE=`sed -n -e 's/^.*[ \t]*BDATE.*"\(.*\)"$/\1/p' ${srcdir}/version.h`
40 AC_SUBST(VERSION)dnl 
41 AC_SUBST(DATE)dnl 
42 echo "configuring for Rescue $VERSION ($DATE)"
43
44
45 dnl -------------------------------------------------------
46 dnl# Check for programs.
47 dnl ------------------------------------------------------
48 AC_PROG_INSTALL
49 AC_PATH_PROG(MV, mv, mv)
50 AC_PATH_PROG(RM, rm, rm)
51 AC_PATH_PROG(CP, cp, cp)
52 AC_PATH_PROG(ECHO, echo, echo)
53 AC_PATH_PROG(AR, ar, ar)
54 AC_PATH_PROG(CDRECORD, cdrecord, cdrecord)
55
56 dnl --------------------------------------------------
57 dnl OP Sys determination (see aclocal.m4)
58 dnl --------------------------------------------------
59 BA_CHECK_OPSYS
60
61 # -----------------------------------------------------------
62 dnl OPSys Distribution determination (see aclocal.m4)
63 # ----------------------------------------------------------
64 BA_CHECK_OPSYS_DISTNAME
65
66 # -------------------------------------------------------------------------
67 #  If the user has not set --exec-prefix, we default to ${prefix}
68 # -------------------------------------------------------------------------
69 if test x${exec_prefix} = xNONE ; then
70     exec_prefix=${prefix}
71 fi
72
73 # ------------------------------------------
74 # What device to use
75 # ------------------------------------------
76 DEV=
77 AC_ARG_WITH(dev,
78    [  --with-dev=DEVICE     specify device (e.g. /dev/hdc)],
79    [
80        if test "x$withval" != "xno" ; then     
81            DEV=$withval
82        fi
83    ]
84 )
85
86 # -------------------------------------------
87 # if no --with-dev given check for cdrecord writer location
88 # get scsibus,target,lun
89 # -------------------------------------------
90 if test x$DEV = x ; then
91    CDSTL="3,0,0"
92    if test ! x$CDRECORD = x ; then
93       CDSTL=`${CDRECORD} -scanbus 2>/dev/null | grep CD-RW | ${AWK} '{print $1}'`
94       if test x${CDSTL} = x ; then
95          CDSTL=`${CDRECORD} -scanbus 2>/dev/null | grep CD+RW | ${AWK} '{print $1}'`
96       fi
97       if test x${CDSTL} = x ; then
98          CDSTL="3,0,0"
99       fi
100    fi
101    DEV="ATA:${CDSTL}"
102 fi
103 AC_SUBST(DEV)
104
105 dnl# --------------------------------------------------------------------------
106 dnl# CHECKING COMMAND LINE OPTIONS
107 dnl# --------------------------------------------------------------------------
108
109
110 where=
111 # ------------------------------------------
112 # Where to get iso
113 # ------------------------------------------
114 AC_ARG_WITH(iso,
115    [  --with-iso=PATH    specify path to iso (not implemented)],
116    [
117        if test "x$withval" != "xno" ; then     
118            where=$withval
119            type=iso
120        fi
121    ]
122 )
123 AC_SUBST(iso)
124
125 # ------------------------------------------
126 # Where to get cdrom
127 # ------------------------------------------
128 AC_ARG_WITH(cdrom,
129    [  --with-cdrom=PATH    specify path to cdrom],
130    [
131        if test "x$withval" != "xno" ; then     
132           where=$withval
133           type=cdrom
134        fi
135    ]
136 )
137
138 AC_SUBST(where)
139 AC_SUBST(type)
140
141
142 # ------------------------------------------
143 # Which kernel to take
144 # ------------------------------------------
145 AC_ARG_WITH(kernel,
146    [  --with-kernel=version  specify complete kernel version (e.g. 2.6.14-2) ],
147    [
148        if test "x$withval" != "xno" ; then     
149           KERNEL=$withval
150        fi
151    ]
152 )
153 AC_SUBST(KERNEL)
154
155
156 # ------------------------------------------
157 # Where to get Bacula source
158 # ------------------------------------------
159 AC_ARG_WITH(bacula,
160    [  --with-bacula=PATH    specify path to Bacula source],
161    [
162        if test "x$withval" != "xno" ; then     
163           bacula=$withval
164        fi
165    ]
166 )
167 AC_SUBST(bacula)
168
169 STATIC_FD=
170 # ------------------------------------------
171 # Where to get static-bacula-fd
172 # ------------------------------------------
173 AC_ARG_WITH(static-fd,
174    [  --with-static-fd=PATH    specify path to static FD],
175    [
176        if test "x$withval" != "xno" ; then     
177           STATIC_FD=$withval
178        fi
179    ]
180 )
181 AC_SUBST(STATIC_FD)
182
183 BACULA_BIN=
184 # ------------------------------------------
185 # Where to get Bacula binaries
186 # ------------------------------------------
187 AC_ARG_WITH(bacula-bin,
188    [  --with-bacula-bin=PATH    specify path to bacula binaries (NOT IMPLEMENTED)],
189    [
190        if test "x$withval" != "xno" ; then     
191           BACULA_BIN=$withval
192        fi
193    ]
194 )
195 AC_SUBST(BACULA_BIN)
196
197 BACULA_SCRIPTS=
198 # ------------------------------------------
199 # Where to get Bacula scripts
200 # ------------------------------------------
201 AC_ARG_WITH(bacula-scripts,
202    [  --with-bacula-scripts=PATH    specify path to bacula scripts],
203    [
204        if test "x$withval" != "xno" ; then     
205           BACULA_SCRIPTS=$withval
206        fi
207    ]
208 )
209 AC_SUBST(BACULA_SCRIPTS)
210
211
212
213 if test x${bacula} = x -a x${STATIC_FD} = x ; then
214    AC_MSG_ERROR(You must specify either --with-bacula=PATH or --with-static-fd=PATH)
215 fi
216
217 #
218 # Finally we set appropriate distribution specific
219 #  variables and defaults
220 #
221 # PFILES are platform specific files
222 PFILES=""
223 WIN32=
224 MACOSX=
225 hostname=`uname -n | cut -d '.' -f 1`
226 case "$DISTNAME" in
227 aix)
228         DISTVER=`uname -r`
229   ;;      
230 alpha)
231         DISTVER=`uname -r`
232   ;;
233 bsdi)
234         DISTVER=`uname -a |awk '{print $3}'`
235   ;;
236 cygwin)
237         DISTVER=`uname -a |awk '{print $3}'`
238         WIN32=win32
239   ;;
240 darwin)
241         DISTVER=`uname -r`
242   ;;
243 debian)
244         DISTVER=`cat /etc/debian_version`
245   ;;
246 freebsd)
247         DISTVER=`uname -a |awk '{print $3}'`
248   ;;
249 hpux)
250         DISTVER=`uname -r`
251   ;;
252 irix)
253         DISTVER=`uname -r`
254   ;;
255 netbsd)
256         DISTVER=`uname -a |awk '{print $3}'`
257   ;;
258 openbsd)
259         DISTVER=`uname -a |awk '{print $3}'`
260   ;;
261 redhat)
262         if test -f /etc/whitebox-release ; then
263            f=/etc/whitebox-release
264         else
265            f=/etc/redhat-release
266         fi
267         if test `cat $f | grep release |\
268                    cut -f 3 -d ' '`x = "Enterprise"x ; then
269            DISTVER="Enterprise "`cat $f | grep release |\
270                     cut -f 6 -d ' '`
271         else
272             DISTVER=`cat /etc/redhat-release | grep release |\
273                      cut -f 5 -d ' '`
274         fi
275         hostname=`hostname -s`
276   ;;
277 mandrake)
278         DISTVER=`cat /etc/mandrake-release | grep release |\
279            cut -f 5 -d ' '`
280   ;;
281 gentoo)
282         DISTVER=`awk '/version / {print $5}' < /etc/gentoo-release`
283   ;;
284 slackware)
285         DISTVER=`cat /etc/slackware-version`
286   ;;
287 solaris)
288         DISTVER=`uname -r`
289   ;;
290 suse)
291         DISTVER=`cat /etc/SuSE-release |grep VERSION|\
292             cut -f 3 -d ' '`
293   ;;
294 suse5)
295         DISTNAME=suse
296         DISTVER=5.x
297   ;;
298 unknown)
299         DISTVER=unknown
300   ;;
301 *)
302   echo " === Something went wrong. Unknown DISTNAME $DISTNAME ==="
303   ;;
304 esac  
305
306 AC_SUBST(hostname)
307
308 AC_SUBST(DISTNAME)
309 AC_SUBST(DISTVER)
310
311 dnl# common parts of the Makefile
312 MCOMMON=./autoconf/Make.common
313 AC_SUBST_FILE(MCOMMON)
314
315
316 AC_OUTPUT([    \
317            autoconf/Make.common \
318            Makefile \
319            linux/Makefile \
320            linux/cdrom/Makefile \
321            linux/cdrom/bacula/Makefile \
322            linux/cdrom/cdtree/boot/isolinux/boot.msg \
323            knoppix/cdrom/Makefile \
324            knoppix/cdrom/bacula/Makefile \
325            freebsd/Makefile \
326            solaris/Makefile \
327            $PFILES ],  
328           [ ]
329 )
330
331   
332
333 echo "
334 Configuration on `date`:
335
336   Host:                       $host -- ${DISTNAME} ${DISTVER}
337   Rescue version:             ${VERSION} (${DATE})
338   Bacula scripts location:    ${BACULA_SCRIPTS}
339   Source code location:       ${bacula}
340   Static FD location:         ${STATIC_FD}
341   Specific kernel version:    ${KERNEL}
342   CDROM device:               ${DEV}
343
344   " > config.out
345
346 cat config.out