ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/COMP/BOSS/acinclude.m4
Revision: 1.9
Committed: Fri Mar 24 11:32:48 2006 UTC (19 years, 1 month ago) by gcodispo
Branch: MAIN
CVS Tags: BOSS_v4_0_0-pre2
Changes since 1.8: +40 -0 lines
Log Message:
Configure now able to detect python and (eventual) swig version
and to allow compilation of python API and eventually (if swig is found)
the possibility to re-generate them.
( "make -C BossPython generate" or "make -C BossPython full" )
Please report any bug!

File Contents

# User Rev Content
1 gcodispo 1.1 AC_DEFUN([AC_CHECK_SYSTEM],
2     [
3     AC_CACHE_VAL(ARCH, [
4     for p in `uname -m` ; do
5     case "$p" in
6     *x86_64*)
7     ARCH=amd64_
8     ;;
9     *i386* | *i686* )
10     ARCH=ia32_
11     ;;
12     esac
13     done
14     AC_SUBST(ARCH)
15     ])
16    
17     AC_CACHE_VAL(RELEASE, [
18 gcodispo 1.8 for p in `cat /etc/redhat-release /etc/issue* 2>/dev/null| sed 's/ //g'` ; do
19 gcodispo 1.1 case "$p" in
20 gcodispo 1.8 *Debian*GNU*Linux*3*1* | *Fedora* | *Fermi* | *Red*Hat*Enterprise* | *Rocks* )
21     RELEASE=slc3_
22     break
23     ;;
24 gcodispo 1.1 *SL* | *Scientific*Linux* )
25     RELEASE=slc[`sed 's/[^0-9]//g' /etc/redhat-release | cut -c 1`]_
26 gcodispo 1.7 break
27 gcodispo 1.1 ;;
28     *Mandrake* | *Red*Hat*Linux* | *SuSE* | *Debian*GNU*Linux*3*0* )
29     RELEASE=rh73_
30     ARC=""
31     AC_SUBST(ARCH)
32 gcodispo 1.7 break
33 gcodispo 1.1 ;;
34     esac
35     done
36     AC_SUBST(RELEASE)
37     ])
38    
39     AC_CACHE_VAL(GCC_VERSION, [
40     for p in "`gcc --version | cut -d ' ' -f 1,3 `" ; do
41     case "$p" in
42     *gcc* )
43     GCC_VERSION=gcc[`echo $p | cut -d ' ' -f 2 |sed 's/[^0-9]//g' `]
44     ;;
45     esac
46     done
47     AC_SUBST(GCC_VERSION)
48     ])
49    
50     AC_CACHE_VAL(SYSTEM, [
51     SYSTEM=${RELEASE}${ARCH}${GCC_VERSION}
52     echo system attributes... ${SYSTEM}
53     AC_SUBST(SYSTEM)
54     ])
55     ]
56     )
57    
58    
59     dn1 # Checks for SQLite libs
60     AC_DEFUN([AC_CHECK_SQLITE],
61     [
62     AC_ARG_VAR(sqlite_dir, [ sqlite_dir=DIR top directory containing sqlite tree], sqlite_dir=${withval})
63 gcodispo 1.3 if test [-n] "${sqlite_dir}" ; then
64     sqlite_lib=`(cd ${sqlite_dir}/lib; pwd)`
65     sqlite_inc=`(cd ${sqlite_dir}/include; pwd)`
66 gcodispo 1.5 sqlite_lib_sh=${sqlite_lib}
67 gcodispo 1.6 LIBS=[" -L${sqlite_lib}"]
68 gcodispo 1.3 fi
69 gcodispo 1.1 if test x"${sqlite_dir}" = x ; then
70     AC_CACHE_VAL(sqlite_dir, [
71     if test -d "$srcdir/sqlite" ; then
72 gcodispo 1.5 sqlite_dir="\$(BOSSDIR)/sqlite"
73     sqlite_inc="\$(BOSSDIR)/sqlite/include"
74     sqlite_lib="\$(BOSSDIR)/sqlite/lib"
75     sqlite_lib_sh="\\\$BOSSDIR/sqlite/lib"
76     LIBS=[" -L$srcdir/sqlite/lib"]
77 gcodispo 1.1 if test -f "$srcdir/sqlite/src/Makefile.in" ; then
78     MAKE_SQLITE_DIR="$srcdir/sqlite/src/Makefile"
79     fi
80     if test -f "$srcdir/sqlite/Makefile" ; then
81     MAKE_SQLITE="\$(MAKE) -C sqlite"
82     MAKE_SQLITE_CLEAN="\$(MAKE) -C sqlite clean"
83     AC_SUBST(MAKE_SQLITE)
84     AC_SUBST(MAKE_SQLITE_CLEAN)
85     fi
86     fi
87    
88     # check for ${VO_CMS_SW_DIR}/lcg/external/sqlite
89     if test x"${sqlite_dir}" = x ; then
90     for i in \
91 gcodispo 1.8 `ls -dr ${VO_CMS_SW_DIR}/lcg/external/sqlite/*[3.[^0].*]*/${SYSTEM} 2>/dev/null` \
92     `ls -dr /afs/cern.ch/cms/external/lcg/external/sqlite/*[3.[^0].*]*/${SYSTEM} 2>/dev/null`
93 gcodispo 1.1 do
94     if test -f "$i/lib/libsqlite3.a" ; then
95     sqlite_dir=`(cd $i; pwd)`
96 gcodispo 1.2 sqlite_lib=`(cd $i/lib; pwd)`
97 gcodispo 1.5 sqlite_lib_sh=${sqlite_lib}
98 gcodispo 1.2 sqlite_inc=`(cd $i/include; pwd)`
99 gcodispo 1.5 LIBS=[" -L${sqlite_lib}"]
100 gcodispo 1.1 break
101     fi
102     done
103     fi
104    
105     # check in a few common install locations
106     if test x"${sqlite_dir}" = x ; then
107     for i in \
108     `ls -d ${libdir} 2>/dev/null` \
109 gcodispo 1.2 `ls -d /usr/lib/sqlite/libsqlite3.a 2>/dev/null` \
110     `ls -d /usr/lib/libsqlite3.a 2>/dev/null` \
111     `ls -d /usr/local/lib/sqlite/libsqlite3.a 2>/dev/null` \
112     `ls -d /usr/local/lib/libsqlite3.a 2>/dev/null` \
113     `ls -d /usr/contrib/lib/sqlite/libsqlite3.a 2>/dev/null` \
114     `ls -d /usr/contrib/lib/libsqlite3.a 2>/dev/null`
115 gcodispo 1.1 do
116 gcodispo 1.2 if test -f "$i" ; then
117     sqlite_lib=`dirname $i`
118 gcodispo 1.5 sqlite_lib_sh=${sqlite_lib}
119     LIBS=[" -L${sqlite_lib}"]
120 gcodispo 1.1 break
121     fi
122     done
123 gcodispo 1.2 if test x"${sqlite_lib}" != x; then
124     for i in \
125     `ls -d ${includedir} 2>/dev/null` \
126     `ls -d /usr/include/sqlite/sqlite3.h 2>/dev/null` \
127     `ls -d /usr/include/sqlite3.h 2>/dev/null` \
128     `ls -d /usr/local/include/sqlite/sqlite3.h 2>/dev/null` \
129     `ls -d /usr/local/include/sqlite3.h 2>/dev/null` \
130     `ls -d /usr/contrib/include/sqlite/sqlite3.h 2>/dev/null` \
131     `ls -d /usr/contrib/include/sqlite3.h 2>/dev/null`
132     do
133     if test -f "$i" ; then
134     sqlite_inc=`dirname $i`
135     sqlite_dir=`dirname $sqlite_inc`
136     break
137     fi
138     done
139     fi
140 gcodispo 1.1 fi
141     ])
142     fi
143    
144 gcodispo 1.2 if test x"${MAKE_SQLITE}" = x ; then
145     AC_CHECK_LIB([sqlite3], [main], , [
146     AC_MSG_ERROR(sqlite3 library not found. Please check sqlite installation and path)])
147     fi
148    
149 gcodispo 1.5 if test -n "${sqlite_dir}" ; then
150 gcodispo 1.2 AC_MSG_RESULT(found sqlite:)
151     AC_MSG_RESULT(-> $sqlite_lib)
152     AC_MSG_RESULT(-> $sqlite_inc)
153     sqlite=sqlite
154     AC_SUBST(sqlite)
155     AC_SUBST(sqlite_dir)
156     AC_SUBST(sqlite_lib)
157 gcodispo 1.5 AC_SUBST(sqlite_lib_sh)
158 gcodispo 1.2 AC_SUBST(sqlite_inc)
159     else
160 gcodispo 1.1 AC_MSG_WARN("Can't find sqlite")
161     AC_MSG_ERROR(Please install it and rerun configuration)
162     fi
163 gcodispo 1.2 ])
164 gcodispo 1.1
165    
166    
167     dnl # Checks for MySQL
168     AC_DEFUN([AC_CHECK_MYSQL],
169     [
170     AC_ARG_VAR(mysql_dir, [ mysql_dir=DIR top directory containing mysql tree], mysql_dir=${withval})
171 gcodispo 1.3 if test [-n] "${mysql_dir}" ; then
172 gcodispo 1.4 mysql_lib=`(ls -d ${mysql_dir}/lib/mysql 2>/dev/null)`
173     if test [-z] "${mysql_lib}" ; then
174     mysql_lib=`(ls -d ${mysql_dir}/lib 2>/dev/null)`
175     fi
176     mysql_lib=`(cd ${mysql_lib}; pwd)`
177     mysql_inc=`(ls -d ${mysql_dir}/include/mysql 2>/dev/null)`
178     if test [-z] "${mysql_inc}" ; then
179     mysql_inc=`(ls -d ${mysql_dir}/include 2>/dev/null)`
180     fi
181     mysql_inc=`(cd ${mysql_inc}; pwd)`
182 gcodispo 1.5 mysql_lib_sh=${mysql_lib}
183 gcodispo 1.6 LIBS=[" -L${mysql_lib}"]
184 gcodispo 1.3 fi
185 gcodispo 1.1 if test x"${mysql_dir}" = x ; then
186     AC_CACHE_VAL(mysql_dir, [
187     if test -d "$srcdir/mysql" ; then
188 gcodispo 1.5 mysql_dir="\$(BOSSDIR)/mysql"
189     mysql_inc="\$(BOSSDIR)/mysql/include"
190     mysql_lib="\$(BOSSDIR)/mysql/lib"
191     mysql_lib_sh="\\\$BOSSDIR/mysql/lib"
192     LIBS=[" -L$srcdir/mysql/lib"]
193 gcodispo 1.1 if test -f "$srcdir/mysql/Makefile.in" ; then
194     MAKE_MYSQL_DIR="$srcdir/mysql/src/Makefile"
195     fi
196     if test -f "$srcdir/mysql/Makefile" ; then
197     MAKE_MYSQL="\$(MAKE) -C mysql"
198     MAKE_MYSQL_CLEAN="\$(MAKE) -C mysql clean"
199     AC_SUBST(MAKE_MYSQL)
200     AC_SUBST(MAKE_MYSQL_CLEAN)
201     fi
202     fi
203    
204     # check for ${VO_CMS_SW_DIR}/lcg/external/mysql
205     if test x"${mysql_dir}" = x ; then
206     for i in \
207 gcodispo 1.8 `ls -dr ${VO_CMS_SW_DIR}/lcg/external/mysql/*4.*[^0].*/${SYSTEM} 2>/dev/null` \
208     `ls -dr ${VO_CMS_SW_DIR}/lcg/external/mysql/*5.*.*/${SYSTEM} 2>/dev/null` \
209     `ls -dr /afs/cern.ch/cms/external/lcg/external/mysql/*4.*[^0].*/${SYSTEM} 2>/dev/null` \
210     `ls -dr /afs/cern.ch/cms/external/lcg/external/mysql/*5.*.*/${SYSTEM} 2>/dev/null`
211 gcodispo 1.1 do
212     if test -f "$i/lib/libmysqlclient.so" ; then
213     mysql_dir=`(cd $i; pwd)`
214 gcodispo 1.2 mysql_lib=`(cd $i/lib; pwd)`
215 gcodispo 1.5 mysql_lib_sh=${mysql_lib}
216 gcodispo 1.2 mysql_inc=`(cd $i/include; pwd)`
217 gcodispo 1.5 LIBS=[" -L${mysql_lib}"]
218 gcodispo 1.1 break
219     fi
220     done
221     fi
222    
223     # check in a few common install locations
224     if test x"${mysql_dir}" = x ; then
225     for i in \
226     `ls -d ${libdir} 2>/dev/null` \
227 gcodispo 1.2 `ls -d /usr/lib/mysql/libmysqlclient.a 2>/dev/null` \
228     `ls -d /usr/lib/libmysqlclient.a 2>/dev/null` \
229     `ls -d /usr/local/lib/mysql/libmysqlclient.a 2>/dev/null` \
230     `ls -d /usr/local/lib/libmysqlclient.a 2>/dev/null` \
231     `ls -d /usr/contrib/lib/mysql/libmysqlclient.a 2>/dev/null` \
232     `ls -d /usr/contrib/lib/libmysqlclient.a 2>/dev/null`
233 gcodispo 1.1 do
234 gcodispo 1.2 if test -f "$i" ; then
235     mysql_lib=`dirname $i`
236 gcodispo 1.5 mysql_lib_sh=${mysql_lib}
237     LIBS=[" -L${mysql_lib}"]
238 gcodispo 1.2 # echo $mysql_inc
239 gcodispo 1.1 break
240     fi
241     done
242 gcodispo 1.2 if test x"${mysql_lib}" != x; then
243     for i in \
244     `ls -d ${includedir} 2>/dev/null` \
245     `ls -d /usr/include/mysql/mysql.h 2>/dev/null` \
246     `ls -d /usr/include/mysql.h 2>/dev/null` \
247     `ls -d /usr/local/include/mysql/mysql.h 2>/dev/null` \
248     `ls -d /usr/local/include/mysql.h 2>/dev/null` \
249     `ls -d /usr/contrib/include/mysql/mysql.h 2>/dev/null` \
250     `ls -d /usr/contrib/include/mysql.h 2>/dev/null`
251     do
252     if test -f "$i" ; then
253     mysql_inc=`dirname $i`
254     mysql_dir=`dirname $mysql_inc`
255     # echo $mysql_inc
256     break
257     fi
258     done
259     fi
260 gcodispo 1.1 fi
261     ])
262     fi
263 gcodispo 1.2
264 gcodispo 1.5 if test -n "${mysql_dir}" ; then
265 gcodispo 1.2 AC_MSG_RESULT(found mysql:)
266     AC_MSG_RESULT(-> $mysql_lib)
267     AC_MSG_RESULT(-> $mysql_inc)
268     mysql=mysql
269     AC_SUBST(mysql)
270     AC_SUBST(mysql_dir)
271     AC_SUBST(mysql_lib)
272 gcodispo 1.5 AC_SUBST(mysql_lib_sh)
273 gcodispo 1.2 AC_SUBST(mysql_inc)
274     else
275     echo "${mysql_dir}"
276 gcodispo 1.1 AC_MSG_WARN("Can't find mysql")
277     AC_MSG_ERROR(Please install it and rerun configuration)
278 gcodispo 1.2 fi
279    
280     if test x"${MAKE_MYSQL}" = x ; then
281     AC_CHECK_LIB([mysqlclient], [main], [
282     for p in `ldd ${mysql_lib}/libmysqlclient.so`; do
283     case $p in
284     *ssl* )
285     ssl="yes"
286     ;;
287     * )
288     ;;
289     esac
290     done
291     if test "${ssl}" = "yes" ; then
292     AC_MSG_RESULT([-> found ssl dependency in mysl])
293     AC_CHECK_LIB([ssl], [main], , AC_MSG_ERROR(Missing ssl library needed by mysql))
294     ssl_lib="-lssl"
295     # if test -f "/usr/lib/libssl.a" ; then
296     # ssl_lib="/usr/lib/libssl.a"
297     # else
298     # AC_MSG_WARN(found only dynamic library for ssl)
299     # AC_MSG_WARN(your mysql dbUpdator may not work always)
300     # echo -e "\tPRESS ANY KEY TO CONTINUE"
301     # read -n 1 junk
302     # ssl_lib="-lssl"
303     # fi
304     AC_SUBST(ssl_lib)
305     fi
306     ], [
307     AC_MSG_ERROR(mysqlclient library not found. Please check mysql installation and path)
308     ])
309     fi
310     ])
311    
312    
313    
314     AC_DEFUN([AC_CHECK_CLARENS],
315     [
316     AC_ARG_VAR(clarens_dir, [ clarens_dir=DIR top directory containing clarens tree], clarens_dir=${withval})
317    
318     clarens_dir=""
319     clarens_lib=""
320     clarens_inc=""
321     clarens=""
322     AC_SUBST(clarens)
323     AC_SUBST(clarens_dir)
324     AC_SUBST(clarens_lib)
325     AC_SUBST(clarens_inc)
326    
327     ])
328    
329     AC_DEFUN([AC_CHECK_MONALISA],
330     [
331     AC_ARG_VAR(monalisa_dir, [ monalisa_dir=DIR top directory containing monalisa tree], monalisa_dir=${withval})
332 gcodispo 1.3 if test [-n] "${monalisa_dir}" ; then
333     monalisa_lib=`(cd ${monalisa_dir}/lib; pwd)`
334     monalisa_inc=`(cd ${monalisa_dir}/include; pwd)`
335 gcodispo 1.5 monalisa_lib_sh=${monalisa_lib}
336 gcodispo 1.6 LIBS=[" -L${monalisa_lib}"]
337 gcodispo 1.3 fi
338 gcodispo 1.2 if test x"${monalisa_dir}" = x ; then
339     AC_CACHE_VAL(monalisa_dir, [
340     if test -d "$srcdir/MonaLisa" ; then
341 gcodispo 1.5 monalisa_dir="\$(BOSSDIR)/MonaLisa"
342     monalisa_inc="\$(BOSSDIR)/MonaLisa/include"
343     monalisa_lib="\$(BOSSDIR)/MonaLisa/lib"
344     monalisa_lib_sh="\\\$BOSSDIR/MonaLisa/lib"
345     LIBS=[" -L$srcdir/MonaLisa/lib"]
346 gcodispo 1.2 if test -f "$srcdir/MonaLisa/Makefile.in" ; then
347     MAKE_MONALISA_DIR="$srcdir/MonaLisa/src/Makefile"
348     fi
349     if test -f "$srcdir/MonaLisa/Makefile" ; then
350     MAKE_MONALISA="\$(MAKE) -C MonaLisa"
351     MAKE_MONALISA_CLEAN="\$(MAKE) -C MonaLisa clean"
352     AC_SUBST(MAKE_MONALISA)
353     AC_SUBST(MAKE_MONALISA_CLEAN)
354     fi
355     fi
356    
357     # check for ${VO_CMS_SW_DIR}/lcg/app/releases/MonaLisa
358     if test x"${monalisa_dir}" = x ; then
359     for i in \
360     `ls -dr ${VO_CMS_SW_DIR}/lcg/app/releases/MonaLisa 2>/dev/null` \
361     `ls -dr /afs/cern.ch/cms/external/lcg/app/releases/MonaLisa 2>/dev/null`
362     do
363     if test -f "$i/lib/libMonaLisa.so" ; then
364     monalisa_dir=`(cd $i; pwd)`
365     monalisa_lib=`(cd $i/lib; pwd)`
366     monalisa_inc=`(cd $i/include; pwd)`
367 gcodispo 1.5 monalisa_lib_sh=${monalisa_lib}
368     LIBS=[" -L${monalisa_lib}"]
369 gcodispo 1.2 break
370     fi
371     done
372     fi
373     ])
374     fi
375    
376 gcodispo 1.5 if test -n "${monalisa_dir}" ; then
377 gcodispo 1.2 AC_MSG_RESULT(found monalisa:)
378     AC_MSG_RESULT(-> $monalisa_lib)
379     AC_MSG_RESULT(-> $monalisa_inc)
380     monalisa=monalisa
381     AC_SUBST(monalisa)
382     AC_SUBST(monalisa_dir)
383     AC_SUBST(monalisa_lib)
384 gcodispo 1.5 AC_SUBST(monalisa_lib_sh)
385 gcodispo 1.2 AC_SUBST(monalisa_inc)
386 gcodispo 1.1 else
387 gcodispo 1.2 AC_MSG_WARN("Can't find monalisa")
388     AC_MSG_ERROR(Please install it and rerun configuration)
389 gcodispo 1.1 fi
390    
391 gcodispo 1.2 if test x"${MAKE_MONALISA}" = x ; then
392 gcodispo 1.4 AC_CHECK_LIB([apmoncpp], [main], ,[
393 gcodispo 1.2 AC_MSG_ERROR(MonaLisa library not found. Please check MonaLisa installation and path)
394     ])
395     fi
396 gcodispo 1.1
397 gcodispo 1.3 ])
398 gcodispo 1.9
399    
400     AC_DEFUN([AC_CHECK_PYTHON],
401     [
402     for p in `python -V 2>/dev/stdout | cut -d ' ' -f 2` ; do
403     case "$p" in
404     2.*.* | 2.* )
405     AC_MSG_RESULT(found python version: "$p")
406     MAKE_PYTHON="\$(MAKE) -C BossPython"
407     MAKE_PYTHON_CLEAN="\$(MAKE) -C BossPython clean"
408     AC_SUBST(MAKE_PYTHON)
409     AC_SUBST(MAKE_PYTHON_CLEAN)
410     break
411     ;;
412     * )
413     break
414     ;;
415     esac
416     done
417     if test x"${MAKE_PYTHON}" = x ; then
418     AC_MSG_WARN("Not found: python 2.*")
419     fi
420     for p in `swig -version 2>/dev/stdout | cut -d ' ' -f 3` ; do
421     case "$p" in
422     1.*.* | 1.* )
423     AC_MSG_RESULT(found swig version: "$p")
424     swig_generate=generate
425     AC_SUBST(swig_generate)
426     break
427     ;;
428     * )
429     break
430     ;;
431     esac
432     done
433     if test x"${swig_generate}" = x ; then
434     AC_MSG_WARN("Not found: swig 1.*")
435     fi
436     ]
437     )