]> git.sur5r.net Git - bacula/rescue/blob - rescue/autoconf/configure.in
Start USB rescue
[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 image],
116    [
117        if test "x$withval" != "xno" ; then     
118            where=$withval
119            type=iso
120        fi
121    ]
122 )
123 AC_SUBST(where)
124 AC_SUBST(type)
125
126 # ------------------------------------------
127 # Where to get cdrom
128 # ------------------------------------------
129 AC_ARG_WITH(cdrom,
130    [  --with-cdrom=PATH    specify path to cdrom],
131    [
132        if test "x$withval" != "xno" ; then     
133           where=$withval
134           type=cdrom
135        fi
136    ]
137 )
138
139 AC_SUBST(where)
140 AC_SUBST(type)
141
142
143 # ------------------------------------------
144 # Which kernel to take
145 # ------------------------------------------
146 AC_ARG_WITH(kernel,
147    [  --with-kernel=version  specify complete kernel version (e.g. 2.6.14-2) ],
148    [
149        if test "x$withval" != "xno" ; then     
150           KERNEL=$withval
151        fi
152    ]
153 )
154 AC_SUBST(KERNEL)
155
156
157 # ------------------------------------------
158 # Where to get Bacula source
159 # ------------------------------------------
160 AC_ARG_WITH(bacula,
161    [  --with-bacula=PATH    specify path to Bacula source],
162    [
163        if test "x$withval" != "xno" ; then     
164           bacula=$withval
165        fi
166    ]
167 )
168 AC_SUBST(bacula)
169
170 STATIC_FD=
171 # ------------------------------------------
172 # Where to get static-bacula-fd
173 # ------------------------------------------
174 AC_ARG_WITH(static-fd,
175    [  --with-static-fd=PATH    specify path to static FD],
176    [
177        if test "x$withval" != "xno" ; then     
178           STATIC_FD=$withval
179        fi
180    ]
181 )
182 AC_SUBST(STATIC_FD)
183
184 BACULA_BIN=
185 # ------------------------------------------
186 # Where to get Bacula binaries
187 # ------------------------------------------
188 AC_ARG_WITH(bacula-bin,
189    [  --with-bacula-bin=PATH    specify path to bacula binaries (NOT IMPLEMENTED)],
190    [
191        if test "x$withval" != "xno" ; then     
192           BACULA_BIN=$withval
193        fi
194    ]
195 )
196 AC_SUBST(BACULA_BIN)
197
198 BACULA_SCRIPTS=
199 # ------------------------------------------
200 # Where to get Bacula scripts
201 # ------------------------------------------
202 AC_ARG_WITH(bacula-scripts,
203    [  --with-bacula-scripts=PATH    specify path to bacula scripts],
204    [
205        if test "x$withval" != "xno" ; then     
206           BACULA_SCRIPTS=$withval
207        fi
208    ]
209 )
210 AC_SUBST(BACULA_SCRIPTS)
211
212
213
214 if test x${bacula} = x -a x${STATIC_FD} = x ; then
215    AC_MSG_ERROR(You must specify either --with-bacula=PATH or --with-static-fd=PATH)
216 fi
217
218 #
219 # Finally we set appropriate distribution specific
220 #  variables and defaults
221 #
222 # PFILES are platform specific files
223 PFILES=""
224 WIN32=
225 MACOSX=
226 hostname=`uname -n | cut -d '.' -f 1`
227 case "$DISTNAME" in
228 aix)
229         DISTVER=`uname -r`
230   ;;      
231 alpha)
232         DISTVER=`uname -r`
233   ;;
234 bsdi)
235         DISTVER=`uname -a |awk '{print $3}'`
236   ;;
237 cygwin)
238         DISTVER=`uname -a |awk '{print $3}'`
239         WIN32=win32
240   ;;
241 darwin)
242         DISTVER=`uname -r`
243   ;;
244 debian)
245         DISTVER=`cat /etc/debian_version`
246   ;;
247 freebsd)
248         DISTVER=`uname -a |awk '{print $3}'`
249   ;;
250 hpux)
251         DISTVER=`uname -r`
252   ;;
253 irix)
254         DISTVER=`uname -r`
255   ;;
256 netbsd)
257         DISTVER=`uname -a |awk '{print $3}'`
258   ;;
259 openbsd)
260         DISTVER=`uname -a |awk '{print $3}'`
261   ;;
262 redhat)
263         if test -f /etc/whitebox-release ; then
264            f=/etc/whitebox-release
265         else
266            f=/etc/redhat-release
267         fi
268         if test `cat $f | grep release |\
269                    cut -f 3 -d ' '`x = "Enterprise"x ; then
270            DISTVER="Enterprise "`cat $f | grep release |\
271                     cut -f 6 -d ' '`
272         else
273             DISTVER=`cat /etc/redhat-release | grep release |\
274                      cut -f 5 -d ' '`
275         fi
276         hostname=`hostname -s`
277   ;;
278 mandrake)
279         DISTVER=`cat /etc/mandrake-release | grep release |\
280            cut -f 5 -d ' '`
281   ;;
282 gentoo)
283         DISTVER=`awk '/version / {print $5}' < /etc/gentoo-release`
284   ;;
285 slackware)
286         DISTVER=`cat /etc/slackware-version`
287   ;;
288 solaris)
289         DISTVER=`uname -r`
290   ;;
291 suse)
292         DISTVER=`cat /etc/SuSE-release |grep VERSION|\
293             cut -f 3 -d ' '`
294   ;;
295 suse5)
296         DISTNAME=suse
297         DISTVER=5.x
298   ;;
299 unknown)
300         DISTVER=unknown
301   ;;
302 *)
303   echo " === Something went wrong. Unknown DISTNAME $DISTNAME ==="
304   ;;
305 esac  
306
307 AC_SUBST(hostname)
308
309 AC_SUBST(DISTNAME)
310 AC_SUBST(DISTVER)
311
312 dnl# common parts of the Makefile
313 MCOMMON=./autoconf/Make.common
314 AC_SUBST_FILE(MCOMMON)
315
316
317 AC_OUTPUT([    \
318            autoconf/Make.common \
319            Makefile \
320            linux/Makefile \
321            linux/usb/Makefile \
322            linux/cdrom/Makefile \
323            linux/cdrom/bacula/Makefile \
324            linux/cdrom/cdtree/boot/isolinux/boot.msg \
325            knoppix/cdrom/Makefile \
326            knoppix/cdrom/bacula/Makefile \
327            freebsd/Makefile \
328            solaris/Makefile \
329            $PFILES ],  
330           [ ]
331 )
332
333   
334
335 echo "
336 Configuration on `date`:
337
338   Host:                       $host -- ${DISTNAME} ${DISTVER}
339   Rescue version:             ${VERSION} (${DATE})
340   Bacula scripts location:    ${BACULA_SCRIPTS}
341   Source code location:       ${bacula}
342   Static FD location:         ${STATIC_FD}
343   Specific kernel version:    ${KERNEL}
344   CDROM device:               ${DEV}
345
346   " > config.out
347
348 cat config.out