]> git.sur5r.net Git - bacula/rescue/blob - rescue/autoconf/configure.in
94a4619563cad8717f7366b8e7b5b92041e879b1
[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 # check for cdrecord writer location
75 # get scsibus,target,lun
76 # -------------------------------------------
77 CDSTL="3,0,0"
78 if test ! x$CDRECORD = x ; then
79    CDSTL=`${CDRECORD} -scanbus 2>/dev/null | grep CD-RW | ${AWK} '{print $1}'`
80    if test x${CDSTL} = x ; then
81       CDSTL=`${CDRECORD} -scanbus 2>/dev/null | grep CD+RW | ${AWK} '{print $1}'`
82    fi
83    if test x${CDSTL} = x ; then
84       CDSTL="3,0,0"
85    fi
86 fi
87 AC_SUBST(CDSTL)
88
89
90 dnl# --------------------------------------------------------------------------
91 dnl# CHECKING COMMAND LINE OPTIONS
92 dnl# --------------------------------------------------------------------------
93
94
95 #
96 # Finally we set appropriate distribution specific
97 #  variables and defaults
98 #
99 # PFILES are platform specific files
100 PFILES=""
101 WIN32=
102 MACOSX=
103 hostname=`uname -n | cut -d '.' -f 1`
104 case "$DISTNAME" in
105 aix)
106         DISTVER=`uname -r`
107   ;;      
108 alpha)
109         DISTVER=`uname -r`
110   ;;
111 bsdi)
112         DISTVER=`uname -a |awk '{print $3}'`
113   ;;
114 cygwin)
115         DISTVER=`uname -a |awk '{print $3}'`
116         WIN32=win32
117   ;;
118 darwin)
119         DISTVER=`uname -r`
120   ;;
121 debian)
122         DISTVER=`cat /etc/debian_version`
123   ;;
124 freebsd)
125         DISTVER=`uname -a |awk '{print $3}'`
126   ;;
127 hpux)
128         DISTVER=`uname -r`
129   ;;
130 irix)
131         DISTVER=`uname -r`
132   ;;
133 netbsd)
134         DISTVER=`uname -a |awk '{print $3}'`
135   ;;
136 openbsd)
137         DISTVER=`uname -a |awk '{print $3}'`
138   ;;
139 redhat)
140         if test -f /etc/whitebox-release ; then
141            f=/etc/whitebox-release
142         else
143            f=/etc/redhat-release
144         fi
145         if test `cat $f | grep release |\
146                    cut -f 3 -d ' '`x = "Enterprise"x ; then
147            DISTVER="Enterprise "`cat $f | grep release |\
148                     cut -f 6 -d ' '`
149         else
150             DISTVER=`cat /etc/redhat-release | grep release |\
151                      cut -f 5 -d ' '`
152         fi
153         hostname=`hostname -s`
154   ;;
155 mandrake)
156         DISTVER=`cat /etc/mandrake-release | grep release |\
157            cut -f 5 -d ' '`
158   ;;
159 gentoo)
160         DISTVER=`awk '/version / {print $5}' < /etc/gentoo-release`
161   ;;
162 slackware)
163         DISTVER=`cat /etc/slackware-version`
164   ;;
165 solaris)
166         DISTVER=`uname -r`
167   ;;
168 suse)
169         DISTVER=`cat /etc/SuSE-release |grep VERSION|\
170             cut -f 3 -d ' '`
171   ;;
172 suse5)
173         DISTNAME=suse
174         DISTVER=5.x
175   ;;
176 unknown)
177         DISTVER=unknown
178   ;;
179 *)
180   echo " === Something went wrong. Unknown DISTNAME $DISTNAME ==="
181   ;;
182 esac  
183
184 AC_SUBST(hostname)
185
186 AC_SUBST(DISTNAME)
187 AC_SUBST(DISTVER)
188
189 dnl# common parts of the Makefile
190 MCOMMON=./autoconf/Make.common
191 AC_SUBST_FILE(MCOMMON)
192
193
194 AC_OUTPUT([    \
195            autoconf/Make.common \
196            Makefile \
197            linux/Makefile \
198            linux/floppy/Makefile \
199            linux/cdrom/Makefile \
200            linux/cdrom/bacula/Makefile \
201            freebsd/Makefile \
202            solaris/Makefile \
203            $PFILES ],  
204           [ ]
205 )
206
207
208 echo "
209 Configuration on `date`:
210
211   Host:                       $host -- ${DISTNAME} ${DISTVER}
212   Rescue version:             ${VERSION} (${DATE})
213   Source code location:       ${srcdir}
214
215
216   " > config.out
217
218 cat config.out