1 |
dnl We need a function similar to AC_CHECK_LIB to check for C++ libraries. |
2 |
dnl AC_CHECK_CXX_LIB provides a similar interface like AC_CHECK_LIB |
3 |
dnl and uses AC_TRY_LINK. |
4 |
dnl |
5 |
dnl $1 library name (without "-l") |
6 |
dnl $2 object name to check for |
7 |
dnl $3 neccessary include directive(s) |
8 |
dnl $4 command to create object $2 |
9 |
dnl $5 yes-action |
10 |
dnl $6 no-action |
11 |
dnl $7 include dir for $3 (with -I) |
12 |
dnl $8 additional libraries to link with |
13 |
|
14 |
AC_DEFUN(AC_CHECK_CXX_LIB, AC_MSG_CHECKING([for $2 in -l$1]) |
15 |
save_CXXFLAGS_CHECK_CXX_LIB="$CXXFLAGS" |
16 |
CXXFLAGS="$CXXFLAGS $7" |
17 |
save_LIBS_CHECK_CXX_LIB="$LIBS" |
18 |
LIBS="-l$1 $8 $LIBS" |
19 |
[AC_TRY_LINK([$3], [$4], [AC_MSG_RESULT([yes]) |
20 |
$5], [AC_MSG_RESULT([no]) |
21 |
$6])] |
22 |
CXXFLAGS="$save_CXXFLAGS_CHECK_CXX_LIB" |
23 |
LIBS="$save_LIBS_CHECK_CXX_LIB")dnl |
24 |
|
25 |
dnl |
26 |
dnl AC_CHECK_MODSUFFIX |
27 |
dnl |
28 |
AC_DEFUN([AC_CHECK_MODSUFFIX],[ |
29 |
|
30 |
AC_MSG_CHECKING(for module suffix) |
31 |
rm -f conftest* |
32 |
# Intel ifc compiler generates files by the name of work.pc and work.pcl (!) |
33 |
rm -f work* |
34 |
cat >conftest.$ac_ext <<EOF |
35 |
module conftest |
36 |
integer n |
37 |
parameter (n=1) |
38 |
end module conftest |
39 |
EOF |
40 |
# SGI and absoft compilers generates module name in upper case! |
41 |
testname="conftest" |
42 |
modcase="lower" |
43 |
if (eval $ac_compile) 2>/dev/null ; then |
44 |
MOD=`ls conftest* | grep -v conftest.$ac_ext | grep -v conftest.o` |
45 |
MOD=`echo "$MOD" | sed -e 's/conftest\.//g'` |
46 |
if test -z "$MOD" ; then |
47 |
MOD=`ls CONFTEST* 2>/dev/null \ |
48 |
| grep -v CONFTEST.$ac_ext | grep -v CONFTEST.o` |
49 |
MOD=`echo "$MOD" | sed -e 's/CONFTEST\.//g'` |
50 |
if test -n "$MOD" ; then |
51 |
testname="CONFTEST" |
52 |
modcase="upper" |
53 |
fi |
54 |
fi |
55 |
if test -z "$MOD" ; then |
56 |
AC_MSG_RESULT(unknown) |
57 |
# Use mod if we can't figure it out |
58 |
MOD="mod" |
59 |
else |
60 |
AC_MSG_RESULT($MOD) |
61 |
fi |
62 |
if test -s work.pcl ; then |
63 |
AC_MSG_WARN([Compiler generates auxillery files!]) |
64 |
fi |
65 |
else |
66 |
AC_MSG_RESULT(unknown) |
67 |
fi |
68 |
AC_SUBST(MOD) |
69 |
|
70 |
]) |
71 |
|
72 |
AC_DEFUN(ACX_CHECK_CC_FLAGS, |
73 |
[ |
74 |
AC_REQUIRE([AC_PROG_CC]) |
75 |
AC_CACHE_CHECK(whether ${CC} accepts $1, ac_cv_$2, |
76 |
[echo 'void f(){}' > conftest.c |
77 |
if test -z "`${CC} $1 -c conftest.c 2>&1`"; then |
78 |
ac_cv_$2=yes |
79 |
else |
80 |
ac_cv_$2=no |
81 |
fi |
82 |
rm -f conftest* |
83 |
]) |
84 |
if test "$ac_cv_$2" = yes; then |
85 |
: |
86 |
$3 |
87 |
else |
88 |
: |
89 |
$4 |
90 |
fi |
91 |
]) |
92 |
|
93 |
AC_DEFUN(ACX_CHECK_CXX_FLAGS, |
94 |
[ |
95 |
AC_REQUIRE([AC_PROG_CXX]) |
96 |
AC_CACHE_CHECK(whether ${CXX} accepts $1, ac_cv_$2, |
97 |
[echo 'void f(){}' > conftest.cpp |
98 |
if test -z "`${CXX} $1 -c conftest.cpp 2>&1`"; then |
99 |
ac_cv_$2=yes |
100 |
else |
101 |
ac_cv_$2=no |
102 |
fi |
103 |
rm -f conftest* |
104 |
]) |
105 |
if test "$ac_cv_$2" = yes; then |
106 |
: |
107 |
$3 |
108 |
else |
109 |
: |
110 |
$4 |
111 |
fi |
112 |
]) |
113 |
|
114 |
AC_DEFUN(ACX_PROG_GCC_VERSION, |
115 |
[ |
116 |
AC_REQUIRE([AC_PROG_CC]) |
117 |
AC_CACHE_CHECK(whether we are using gcc $1.$2 or later, ac_cv_prog_gcc_$1_$2, |
118 |
[ |
119 |
dnl The semicolon after "yes" below is to pacify NeXT's syntax-checking cpp. |
120 |
cat > conftest.c <<EOF |
121 |
#ifdef __GNUC__ && !defined (__INTEL_COMPILER) |
122 |
# if (__GNUC__ > $1) || (__GNUC__ == $1 && __GNUC_MINOR__ >= $2) |
123 |
yes; |
124 |
# endif |
125 |
#endif |
126 |
EOF |
127 |
if AC_TRY_COMMAND(${CC-cc} -E conftest.c) | egrep yes >/dev/null 2>&1; then |
128 |
ac_cv_prog_gcc_$1_$2=yes |
129 |
else |
130 |
ac_cv_prog_gcc_$1_$2=no |
131 |
fi |
132 |
]) |
133 |
if test "$ac_cv_prog_gcc_$1_$2" = yes; then |
134 |
: |
135 |
$3 |
136 |
else |
137 |
: |
138 |
$4 |
139 |
fi |
140 |
]) |
141 |
|
142 |
AC_DEFUN(ACX_PROG_GXX_VERSION, |
143 |
[ |
144 |
AC_REQUIRE([AC_PROG_CXX]) |
145 |
AC_CACHE_CHECK(whether we are using g++ $1.$2 or later, ac_cv_prog_gxx_$1_$2, |
146 |
[ |
147 |
dnl The semicolon after "yes" below is to pacify NeXT's syntax-checking cpp. |
148 |
cat > conftest.cpp <<EOF |
149 |
#ifdef __GNUC__ && !defined (__INTEL_COMPILER) |
150 |
# if (__GNUC__ > $1) || (__GNUC__ == $1 && __GNUC_MINOR__ >= $2) |
151 |
yes; |
152 |
# endif |
153 |
#endif |
154 |
EOF |
155 |
if AC_TRY_COMMAND(${CXX-c++} -E conftest.cpp) | egrep yes >/dev/null 2>&1; then |
156 |
ac_cv_prog_gxx_$1_$2=yes |
157 |
else |
158 |
ac_cv_prog_gxx_$1_$2=no |
159 |
fi |
160 |
]) |
161 |
if test "$ac_cv_prog_gxx_$1_$2" = yes; then |
162 |
: |
163 |
$3 |
164 |
else |
165 |
: |
166 |
$4 |
167 |
fi |
168 |
]) |
169 |
|
170 |
AC_DEFUN(ACX_PROG_REALLY_GCC, |
171 |
[ |
172 |
AC_REQUIRE([AC_PROG_CC]) |
173 |
AC_CACHE_CHECK(whether we are *really* using GNU cc, ac_cv_prog_really_gcc, |
174 |
[ |
175 |
dnl The semicolon after "yes" below is to pacify NeXT's syntax-checking cpp. |
176 |
cat > conftest.c <<EOF |
177 |
#ifdef __GNUC__ |
178 |
#if defined(__INTEL_COMPILER) || defined(__PATHCC__) |
179 |
no; |
180 |
#else |
181 |
yes; |
182 |
#endif |
183 |
#endif |
184 |
EOF |
185 |
if AC_TRY_COMMAND(${CC-cc} -E conftest.c) | egrep yes >/dev/null 2>&1; then |
186 |
ac_cv_prog_really_gcc=yes |
187 |
else |
188 |
ac_cv_prog_really_gcc=no |
189 |
fi |
190 |
]) |
191 |
if test "$ac_cv_prog_really_gcc" = yes; then |
192 |
: |
193 |
$1 |
194 |
else |
195 |
: |
196 |
$2 |
197 |
fi |
198 |
]) |
199 |
|
200 |
AC_DEFUN(ACX_PROG_REALLY_GXX, |
201 |
[ |
202 |
AC_REQUIRE([AC_PROG_CXX]) |
203 |
AC_CACHE_CHECK(whether we are *really* using GNU c++, ac_cv_prog_really_gxx, |
204 |
[ |
205 |
dnl The semicolon after "yes" below is to pacify NeXT's syntax-checking cpp. |
206 |
cat > conftest.cpp <<EOF |
207 |
#ifdef __GNUC__ |
208 |
#if defined(__INTEL_COMPILER) || defined(__PATHCC__) |
209 |
no; |
210 |
#else |
211 |
yes; |
212 |
#endif |
213 |
#endif |
214 |
EOF |
215 |
if AC_TRY_COMMAND(${CXX-c++} -E conftest.cpp) | egrep yes >/dev/null 2>&1; then |
216 |
ac_cv_prog_really_gxx=yes |
217 |
else |
218 |
ac_cv_prog_really_gxx=no |
219 |
fi |
220 |
]) |
221 |
if test "$ac_cv_prog_really_gxx" = yes; then |
222 |
: |
223 |
$1 |
224 |
else |
225 |
: |
226 |
$2 |
227 |
fi |
228 |
]) |
229 |
|
230 |
|
231 |
AC_DEFUN(ACX_PROG_CC_MAXOPT, |
232 |
[ |
233 |
AC_REQUIRE([AC_PROG_CC]) |
234 |
AC_REQUIRE([AC_CANONICAL_HOST]) |
235 |
|
236 |
ACX_PROG_REALLY_GCC |
237 |
|
238 |
# Try to determine "good" native compiler flags if none specified on command |
239 |
# line |
240 |
if test "$ac_test_CFLAGS" != "set"; then |
241 |
CFLAGS="" |
242 |
case "${host_cpu}-${host_os}" in |
243 |
|
244 |
*linux*) if test "$CC" = icc; then |
245 |
CFLAGS="-O2" |
246 |
fi;; |
247 |
sparc-solaris2*) if test "$CC" = cc; then |
248 |
CFLAGS="-O -dalign" |
249 |
fi;; |
250 |
|
251 |
alpha*-osf*) if test "$CC" = cc; then |
252 |
CFLAGS="-newc -w0 -O5 -ansi_alias -ansi_args -fp_reorder -tune host -arch host -std1" |
253 |
fi;; |
254 |
|
255 |
hppa*-hpux*) if test "$CC" = cc; then |
256 |
CFLAGS="-Ae +O3 +Oall" |
257 |
fi;; |
258 |
|
259 |
rs6000*-aix*) if test "$CC" = cc -o "$CC" = xlc; then |
260 |
CFLAGS="-O3 -qtune=auto -qansialias -w" |
261 |
fi;; |
262 |
powerpc*-aix*) |
263 |
if test "$CC" = cc -o "$CC" = xlc; then |
264 |
CFLAGS="-O3 -qtune=auto -qansialias -w" |
265 |
echo "*******************************************************" |
266 |
echo "* You have AIX on an unknown powerpc system. It is *" |
267 |
echo "* recommended that you use *" |
268 |
echo "* *" |
269 |
echo "* CFLAGS=-O3 -qarch=ppc -qtune=xxx -qansialias -w *" |
270 |
echo "* ^^^ *" |
271 |
echo "* where xxx is 601, 603, 604, or whatever kind of *" |
272 |
echo "* PowerPC CPU you have. For more info, man cc. *" |
273 |
echo "*******************************************************" |
274 |
fi;; |
275 |
*darwin*) |
276 |
if test "$CC" = xlc; then |
277 |
CFLAGS="-qthreaded -O -qtune=auto -qarch=auto -qunroll=auto -qaltivec" |
278 |
fi |
279 |
if test "$CC" = icc; then |
280 |
CFLAGS="-O2" |
281 |
fi |
282 |
if test $ac_cv_prog_really_gcc = yes; then |
283 |
CFLAGS="-Os" |
284 |
fi;; |
285 |
esac |
286 |
|
287 |
# use default flags for gcc on all systems |
288 |
if test $ac_cv_prog_really_gcc = yes -a -z "$CFLAGS"; then |
289 |
CFLAGS="-O2" |
290 |
fi |
291 |
|
292 |
if test -z "$CFLAGS"; then |
293 |
echo "" |
294 |
echo "********************************************************" |
295 |
echo "* WARNING: Don't know the best CFLAGS for this system *" |
296 |
echo "* Use make CFLAGS=..., or edit the top level Makefile *" |
297 |
echo "* (otherwise, a default of CFLAGS=-O will be used) *" |
298 |
echo "********************************************************" |
299 |
echo "" |
300 |
CFLAGS="-O" |
301 |
fi |
302 |
|
303 |
ACX_CHECK_CC_FLAGS(${CFLAGS}, ac_cv_guessed_cflags, , [ |
304 |
echo "" |
305 |
echo "********************************************************" |
306 |
echo "* WARNING: The guessed CFLAGS don't seem to work with *" |
307 |
echo "* your compiler. *" |
308 |
echo "* Use make CFLAGS=..., or edit the top level Makefile *" |
309 |
echo "********************************************************" |
310 |
echo "" |
311 |
CFLAGS="" |
312 |
]) |
313 |
|
314 |
fi |
315 |
]) |
316 |
|
317 |
AC_DEFUN(ACX_PROG_CXX_MAXOPT, |
318 |
[ |
319 |
AC_REQUIRE([AC_PROG_CXX]) |
320 |
AC_REQUIRE([AC_CANONICAL_HOST]) |
321 |
|
322 |
ACX_PROG_REALLY_GXX |
323 |
|
324 |
# Try to determine "good" native compiler flags if none specified on command |
325 |
# line |
326 |
if test "$ac_test_CXXFLAGS" != "set"; then |
327 |
CXXFLAGS="" |
328 |
case "${host_cpu}-${host_os}" in |
329 |
|
330 |
*linux*) if test "$CXX" = icc -o "$CXX" = icpc; then |
331 |
CXXFLAGS="-O2" |
332 |
fi;; |
333 |
sparc-solaris2*) if test "$CXX" = CC; then |
334 |
CXXFLAGS="-features=extensions -O -dalign" |
335 |
fi;; |
336 |
rs6000*-aix*) if test "$CXX" = xlC; then |
337 |
CXXFLAGS="-O3 -qarch=pwrx -qtune=pwrx -qansialias -w" |
338 |
fi;; |
339 |
powerpc*-aix*) |
340 |
if test "$CXX" = xlC; then |
341 |
CXXFLAGS="-O3 -qarch=ppc -qansialias -w" |
342 |
echo "*******************************************************" |
343 |
echo "* You have AIX on an unknown powerpc system. It is *" |
344 |
echo "* recommended that you use *" |
345 |
echo "* *" |
346 |
echo "* CXXFLAGS=-O3 -qarch=ppc -qtune=xxx -qansialias -w *" |
347 |
echo "* ^^^ *" |
348 |
echo "* where xxx is 601, 603, 604, or whatever kind of *" |
349 |
echo "* PowerPC CPU you have. For more info, man cc. *" |
350 |
echo "*******************************************************" |
351 |
fi;; |
352 |
*darwin*) |
353 |
if test "$CXX" = xlc++ -o "$CXX" = xlC ; then |
354 |
CXXFLAGS="-qthreaded -O -qtune=auto -qarch=auto -qunroll=auto -qaltivec" |
355 |
fi |
356 |
if test "$CXX" = icpc; then |
357 |
CXXFLAGS="-O2" |
358 |
fi |
359 |
if test $ac_cv_prog_really_gxx = yes; then |
360 |
CXXFLAGS="-Os" |
361 |
fi;; |
362 |
esac |
363 |
|
364 |
# use default flags for gcc on all systems |
365 |
if test $ac_cv_prog_really_gxx = yes -a -z "$CXXFLAGS"; then |
366 |
CXXFLAGS="-O2" |
367 |
fi |
368 |
|
369 |
if test -z "$CXXFLAGS"; then |
370 |
echo "" |
371 |
echo "**********************************************************" |
372 |
echo "* WARNING: Don't know the best CXXFLAGS for this system *" |
373 |
echo "* Use make CXXFLAGS=..., or edit the top level Makefile *" |
374 |
echo "* (otherwise, a default of CXXFLAGS=-O will be used) *" |
375 |
echo "**********************************************************" |
376 |
echo "" |
377 |
CXXFLAGS="-O" |
378 |
fi |
379 |
|
380 |
ACX_CHECK_CXX_FLAGS(${CXXFLAGS}, ac_cv_guessed_cxxflags, , [ |
381 |
echo "" |
382 |
echo "**********************************************************" |
383 |
echo "* WARNING: The guessed CXXFLAGS don't seem to work with *" |
384 |
echo "* your compiler. *" |
385 |
echo "* Use make CXXFLAGS=..., or edit the top level Makefile *" |
386 |
echo "**********************************************************" |
387 |
echo "" |
388 |
CXXFLAGS="" |
389 |
]) |
390 |
|
391 |
fi |
392 |
]) |
393 |
|
394 |
AC_DEFUN([ACX_CONFIG_HOME], [ |
395 |
myDir=${0%/*} |
396 |
if [ "$myDir" = "$0" ]; then |
397 |
# Ran from local directory |
398 |
myDir=$PWD |
399 |
fi |
400 |
# Resolve symlinks. |
401 |
myProgram="$0" |
402 |
while [ -L "$myProgram" ]; do |
403 |
ls=`/bin/ls -ld "$myProgram"` |
404 |
link=`/usr/bin/expr "$ls" : '.*-> \(.*\)$'` |
405 |
if /usr/bin/expr "$link" : '.*/.*' > /dev/null; then |
406 |
myProgram="$link" |
407 |
else |
408 |
myProgram="`AS_DIRNAME([$myProgram])`/$link" |
409 |
fi |
410 |
done |
411 |
myDir=`AS_DIRNAME([$myProgram])` |
412 |
fi |
413 |
CONFIG_HOME=$myDir |
414 |
]) |
415 |
|
416 |
AC_DEFUN(BB_ENABLE_DOXYGEN, |
417 |
[ |
418 |
AC_ARG_ENABLE(doxygen, [ --enable-doxygen enable documentation generation with doxygen (auto)]) |
419 |
AC_ARG_ENABLE(dot, [ --enable-dot use 'dot' to generate graphs in doxygen (auto)]) |
420 |
AC_ARG_ENABLE(html-docs, [ --enable-html-docs enable HTML generation with doxygen (yes)], [], [ enable_html_docs=yes]) |
421 |
AC_ARG_ENABLE(latex-docs, [ --enable-latex-docs enable LaTeX documentation generation with doxygen (no)], [], [ enable_latex_docs=no]) |
422 |
if test "x$enable_doxygen" = xno; then |
423 |
enable_doc=no |
424 |
else |
425 |
AC_PATH_PROG(DOXYGEN, doxygen, , $PATH) |
426 |
if test "x$DOXYGEN" = x; then |
427 |
if test "x$enable_doxygen" = xyes; then |
428 |
AC_MSG_ERROR([could not find doxygen]) |
429 |
fi |
430 |
enable_doc=no |
431 |
else |
432 |
enable_doc=yes |
433 |
AC_PATH_PROG(DOT, dot, , $PATH) |
434 |
fi |
435 |
fi |
436 |
|
437 |
if test "x$enable_doc" = xyes; then |
438 |
DOC=1 |
439 |
else |
440 |
DOC=0 |
441 |
fi |
442 |
AC_SUBST(DOC) |
443 |
|
444 |
if test x$DOT = x; then |
445 |
if test "x$enable_dot" = xyes; then |
446 |
AC_MSG_ERROR([could not find dot]) |
447 |
fi |
448 |
enable_dot=no |
449 |
else |
450 |
enable_dot=yes |
451 |
fi |
452 |
AC_SUBST(enable_dot) |
453 |
AC_SUBST(enable_html_docs) |
454 |
AC_SUBST(enable_latex_docs) |
455 |
]) |
456 |
# |
457 |
# |
458 |
# |
459 |
AC_DEFUN([AX_SYS_PERLSHARPBANG],[dnl |
460 |
|
461 |
AC_PATH_PROG(PERLINTERP,perl,perl) |
462 |
ac_cv_path_perlinterp="$PERLINTERP" |
463 |
_sHpB='#!' |
464 |
|
465 |
AC_ARG_WITH(perl-shebang, |
466 |
AC_HELP_STRING([--with-perl-shebang], |
467 |
[override what perl thinks is the way for the kernel to start it (seldom needed)]dnl |
468 |
), |
469 |
[opt_perl_shebang="$withval"]dnl |
470 |
,dnl |
471 |
[opt_perl_shebang="not_set"]dnl |
472 |
)dnl |
473 |
|
474 |
AC_CACHE_CHECK([whether explicit instead of detected sharpbang is to be used], |
475 |
ax_cv_opt_perl_shebang, |
476 |
[ case "$opt_perl_shebang" in |
477 |
not_set ) ax_cv_opt_perl_shebang='' |
478 |
;; |
479 |
* ) |
480 |
ax_cv_opt_perl_shebang=`echo "$opt_perl_shebang" | sed -e's|^#!\s*\(.*\)$|\1|'` |
481 |
esac |
482 |
]dnl |
483 |
)dnl |
484 |
|
485 |
if test "A$ax_cv_opt_perl_shebang" != "A" |
486 |
then |
487 |
ac_cv_sys_kernshrpbang_perl="$ax_cv_opt_perl_shebang" |
488 |
PERL_SHEBANG="$ac_cv_sys_kernshrpbang_perl" |
489 |
AC_SUBST(PERL_SHEBANG)dnl |
490 |
AC_MSG_NOTICE([OK - PERL_SHEBANG is $_sHpB$PERL_SHEBANG.]) |
491 |
|
492 |
# Automatic detection of sharpbang formula starts here |
493 |
else dnl |
494 |
|
495 |
_somian_shbangperl=`$PERLINTERP -V:startperl` |
496 |
negclass="[[^']]"; dnl |
497 |
# must leave this comment: m4 will remove the outer brackets for us, heheh |
498 |
AC_CACHE_CHECK([for kernel sharpbang invocation to start perl], |
499 |
ac_cv_sys_kernshrpbang_perl, |
500 |
[_somian_kspb_perl=`echo "$_somian_shbangperl" | sed -ne"s|.*='\($negclass*\)';$|\1|p"` |
501 |
if test "x$_somian_kspb_perl" == x |
502 |
then _somian_ksbp_warn_empty='durnit' |
503 |
else |
504 |
case "A$_somian_kspb_perl" in |
505 |
A#!*perl* ) |
506 |
ac_cv_sys_kernshrpbang_perl=`echo "$_somian_kspb_perl" | sed -e's|#!\(.*\)$|\1|'` |
507 |
;; |
508 |
A* ) _somian_ksbp_warn_defau='trouble' |
509 |
ac_cv_sys_kernshrpbang_perl="$PERLINTERP" |
510 |
esac |
511 |
fi |
512 |
])dnl Done with testing sharpbang |
513 |
|
514 |
# The above prints Checking ... result message to user. |
515 |
PERL_SHEBANG="$ac_cv_sys_kernshrpbang_perl" |
516 |
AC_SUBST(PERL_SHEBANG) |
517 |
if test A${_somian_ksbp_warn_empty+set} == Aset |
518 |
then AC_MSG_WARN([dnl |
519 |
In last check, doing $PERLINTERP -V:startperl yielded empty result! That should not happen.]) |
520 |
fi |
521 |
# Inform user after printing result value |
522 |
if test A${_somian_ksbp_warn_defau+set} == Aset |
523 |
then AC_MSG_NOTICE([Maybe Not good -]) |
524 |
AC_MSG_WARN([dnl |
525 |
In last check perl's Config query did not work so we bunted: $_sHpB$PERLINTERP]) |
526 |
else AC_MSG_NOTICE([OK Good result - ]) |
527 |
AC_MSG_NOTICE([dnl |
528 |
In last check we got a proper-looking answer from perl's Config: $_somian_shbangperl]) |
529 |
dnl Done with user info messages |
530 |
fi |
531 |
dnl Outer loop checked for user override term here |
532 |
fi dnl |
533 |
|
534 |
])dnl EOMACRO DEF |
535 |
|
536 |
AC_DEFUN([ACX_CHECK_ZLIB], |
537 |
# |
538 |
# Handle user hints |
539 |
# |
540 |
[AC_ARG_WITH(zlib, |
541 |
AC_HELP_STRING([--with-zlib=DIR], |
542 |
[root directory path of zlib installation (defaults to /usr/local or /usr if not found in /usr/local)]dnl |
543 |
), |
544 |
[zlib_dir="$withval"]dnl |
545 |
,dnl |
546 |
[zlib_dir="not_set"]dnl |
547 |
)dnl |
548 |
|
549 |
if test "$zlib_dir" != "no"; then |
550 |
|
551 |
if test "$zlib_dir" != "not_set" ; then |
552 |
if test -d "$zlib_dir" |
553 |
then |
554 |
ZLIB_HOME="$zlib_dir" |
555 |
else |
556 |
AC_MSG_WARN([Sorry, $zlib_dir does not exist, checking usual places]) |
557 |
ZLIB_HOME=/usr/local |
558 |
if test ! -f "${ZLIB_HOME}/include/zlib.h" |
559 |
then |
560 |
ZLIB_HOME=/usr |
561 |
fi |
562 |
fi |
563 |
fi |
564 |
# |
565 |
# Locate zlib, if wanted |
566 |
# |
567 |
if test -n "${ZLIB_HOME}" |
568 |
then |
569 |
ZLIB_OLD_LDFLAGS=$LDFLAGS |
570 |
ZLIB_OLD_CFLAGS=$CFLAGS |
571 |
LDFLAGS="$LDFLAGS -L${ZLIB_HOME}/lib" |
572 |
CFLAGS="$CFLAGS -I${ZLIB_HOME}/include" |
573 |
AC_LANG_SAVE |
574 |
AC_LANG_C |
575 |
AC_CHECK_LIB(z, inflateEnd, [zlib_cv_libz=yes], [zlib_cv_libz=no]) |
576 |
AC_CHECK_HEADER(zlib.h, [zlib_cv_zlib_h=yes], [zlib_cv_zlib_h=no]) |
577 |
AC_LANG_RESTORE |
578 |
|
579 |
if test "$zlib_cv_libz" = "yes" -a "$zlib_cv_zlib_h" = "yes"; then |
580 |
AC_DEFINE(HAVE_ZLIB_H, 1, [have zlib.h]) |
581 |
AC_DEFINE(HAVE_LIBZ, 1, [have libz.a]) |
582 |
ZLIB_INC_DIR="${ZLIB_HOME}/include" |
583 |
ZLIB_LIB_DIR="${ZLIB_HOME}/lib" |
584 |
ZLIB="-lz" |
585 |
else |
586 |
AC_MSG_CHECKING(zlib in ${ZLIB_HOME}) |
587 |
ZLIB_INC_DIR= |
588 |
ZLIB_LIB_DIR= |
589 |
ZLIB= |
590 |
LDFLAGS="$ZLIB_OLD_LDFLAGS" |
591 |
CFLAGS="$ZLIB_OLD_CFLAGS" |
592 |
AC_MSG_RESULT(failed) |
593 |
echo "" |
594 |
echo "*********************************************************" |
595 |
echo "* WARNING: Could not find a working zlib installation *" |
596 |
echo "* If you need OpenMD to be able to deal with compressed *" |
597 |
echo "* trajectory dump files be sure to specify a valid zlib *" |
598 |
echo "* installation with --with-zlib=DIR *" |
599 |
echo "* *" |
600 |
echo "* OpenMD will still work without zlib installed. *" |
601 |
echo "*********************************************************" |
602 |
echo "" |
603 |
fi |
604 |
AC_SUBST(ZLIB_INC_DIR) |
605 |
AC_SUBST(ZLIB_LIB_DIR) |
606 |
AC_SUBST(ZLIB) |
607 |
fi |
608 |
fi |
609 |
]) |
610 |
|
611 |
AC_DEFUN([ACX_CHECK_QHULL], |
612 |
# |
613 |
# Handle user hints |
614 |
# |
615 |
[AC_ARG_WITH(qhull, |
616 |
AC_HELP_STRING([--with-qhull=DIR], |
617 |
[root directory path of qhull installation (defaults to /usr/local or /usr if not found in /usr/local)]dnl |
618 |
), |
619 |
[qhull_dir="$withval"], |
620 |
[qhull_dir="not_set"]dnl |
621 |
)dnl |
622 |
|
623 |
QHULL_INC_DIR= |
624 |
QHULL_LIB_DIR= |
625 |
QHULL= |
626 |
USE_QHULL=no |
627 |
|
628 |
if test "$qhull_dir" != "no"; then |
629 |
if test "$qhull_dir" != "not_set" ; then |
630 |
if test -d "$qhull_dir"; then |
631 |
QHULL_HOME="$qhull_dir" |
632 |
else |
633 |
AC_MSG_WARN([Sorry, $qhull_dir does not exist, checking usual places]) |
634 |
QHULL_HOME=/usr/local |
635 |
if test ! -f "${QHULL_HOME}/include/qhull/libqhull.h"; then |
636 |
QHULL_HOME=/usr |
637 |
fi |
638 |
fi |
639 |
fi |
640 |
# |
641 |
# Locate qhull, if wanted |
642 |
# |
643 |
if test -n "${QHULL_HOME}"; then |
644 |
AC_MSG_NOTICE([Checking for qhull in ${QHULL_HOME}]) |
645 |
AC_LANG_SAVE |
646 |
AC_LANG_C |
647 |
QHULL_OLD_LDFLAGS=$LDFLAGS |
648 |
QHULL_OLD_CFLAGS=$CFLAGS |
649 |
QHULL_OLD_CPPFLAGS=$CPPFLAGS |
650 |
LDFLAGS="$LDFLAGS -L${QHULL_HOME}/lib" |
651 |
CFLAGS="$CFLAGS -I${QHULL_HOME}/include" |
652 |
CPPFLAGS="$CPPFLAGS -I${QHULL_HOME}/include" |
653 |
AC_CHECK_HEADER(qhull/libqhull.h, [qhull_cv_libqhull_h=yes], [qhull_cv_libqhull_h=no]) |
654 |
AC_CHECK_LIB(qhull, qh_qhull, [qhull_cv_libqhull=yes], [qhull_cv_libqhull=no]) |
655 |
AC_CHECK_LIB(qhull6, qh_qhull, [qhull_cv_libqhull6=yes], [qhull_cv_libqhull6=no]) |
656 |
LDFLAGS="$QHULL_OLD_LDFLAGS" |
657 |
CFLAGS="$QHULL_OLD_CFLAGS" |
658 |
CPPFLAGS="$QHULL_OLD_CPPFLAGS" |
659 |
AC_LANG_RESTORE |
660 |
|
661 |
if test "$qhull_cv_libqhull_h" = "yes" -a "$qhull_cv_libqhull" = "yes" -o "$qhull_cv_libqhull6" = "yes"; then |
662 |
AC_DEFINE(HAVE_LIBQHULL_H, 1, [have libqhull.h]) |
663 |
if test "$qhull_cv_libqhull" = "yes"; then |
664 |
AC_DEFINE(HAVE_QHULL, 1, [have libqhull.a]) |
665 |
QHULL="-lqhull" |
666 |
fi |
667 |
if test "$qhull_cv_libqhull6" = "yes"; then |
668 |
AC_DEFINE(HAVE_QHULL, 1, [have libqhull6.a]) |
669 |
QHULL="-lqhull6" |
670 |
fi |
671 |
USE_QHULL=yes |
672 |
QHULL_INC_DIR="${QHULL_HOME}/include" |
673 |
QHULL_LIB_DIR="${QHULL_HOME}/lib" |
674 |
AC_MSG_RESULT([Working qhull found, will proceed.]) |
675 |
else |
676 |
AC_MSG_WARN([]) |
677 |
AC_MSG_WARN([Could not find a working qhull installation]) |
678 |
AC_MSG_WARN([If you need OpenMD to be able to deal with convex ]) |
679 |
AC_MSG_WARN([hulls be sure to specify a valid qhull installation ]) |
680 |
AC_MSG_WARN([with --with-qhull=DIR ]) |
681 |
AC_MSG_WARN([]) |
682 |
AC_MSG_WARN([OpenMD will still work without qhull installed. ]) |
683 |
AC_MSG_WARN([]) |
684 |
fi |
685 |
fi |
686 |
fi |
687 |
AC_SUBST(QHULL_INC_DIR) |
688 |
AC_SUBST(QHULL_LIB_DIR) |
689 |
AC_SUBST(QHULL) |
690 |
AC_SUBST(USE_QHULL) |
691 |
]) |
692 |
|
693 |
AC_DEFUN([ACX_CHECK_OPENBABEL], |
694 |
# |
695 |
# Handle user hints |
696 |
# |
697 |
[AC_ARG_WITH(openbabel, |
698 |
AC_HELP_STRING([--with-openbabel=DIR], |
699 |
[root directory path of openbabel-2.x installation (defaults to /usr/local or /usr if not found in /usr/local)]dnl |
700 |
), |
701 |
[openbabel_dir="$withval"]dnl |
702 |
,dnl |
703 |
[openbabel_dir="not_set"]dnl |
704 |
)dnl |
705 |
|
706 |
if test "$openbabel_dir" != "no"; then |
707 |
|
708 |
if test "$openbabel_dir" != "not_set" ; then |
709 |
if test -d "$openbabel_dir" |
710 |
then |
711 |
OPENBABEL_HOME="$openbabel_dir" |
712 |
else |
713 |
AC_MSG_WARN([Sorry, $openbabel_dir does not exist, checking usual places]) |
714 |
OPENBABEL_HOME=/usr/local |
715 |
if test ! -f "${OPENBABEL_HOME}/include/openbabel-2.0/openbabel/babelconfig.h" -a -f "${OPENBABEL_HOME}/include/openbabel-2.0/openbabel/obconversion.h" |
716 |
then |
717 |
OPENBABEL_HOME=/usr |
718 |
fi |
719 |
fi |
720 |
fi |
721 |
# |
722 |
# Locate openbabel, if wanted |
723 |
# |
724 |
if test -n "${OPENBABEL_HOME}" |
725 |
then |
726 |
AC_LANG_SAVE |
727 |
AC_LANG_CPLUSPLUS |
728 |
OPENBABEL_OLD_LDFLAGS=$LDFLAGS |
729 |
OPENBABEL_OLD_CPPFLAGS=$CPPFLAGS |
730 |
LDFLAGS="$LDFLAGS -L${OPENBABEL_HOME}/lib -lopenbabel" |
731 |
CPPFLAGS="$CPPFLAGS -I${OPENBABEL_HOME}/include/openbabel-2.0" |
732 |
AC_CHECK_HEADER(openbabel/babelconfig.h, [openbabel_cv_openbabel_h=yes], [openbabel_cv_openbabel_h=no]) |
733 |
AC_CHECK_HEADER(openbabel/obconversion.h, [openbabel_cv_obconversion_h=yes], [openbabel_cv_obconversion_h=no]) |
734 |
AC_LINK_IFELSE([ |
735 |
AC_LANG_PROGRAM( |
736 |
[[ |
737 |
@%:@include <openbabel/babelconfig.h> |
738 |
@%:@include <openbabel/obconversion.h> |
739 |
using namespace std; |
740 |
using namespace OpenBabel; |
741 |
]], |
742 |
[[ |
743 |
OBConversion Conv(&cin, &cout); |
744 |
]] |
745 |
)], |
746 |
[ |
747 |
openbabel_lib_found="yes" |
748 |
AC_MSG_RESULT([found]) |
749 |
], |
750 |
[ |
751 |
openbabel_lib_found="no" |
752 |
AC_MSG_RESULT([not found]) |
753 |
] |
754 |
) |
755 |
AC_LANG_RESTORE |
756 |
LDFLAGS="$OPENBABEL_OLD_LDFLAGS" |
757 |
CPPFLAGS="$OPENBABEL_OLD_CPPFLAGS" |
758 |
|
759 |
if test "$openbabel_lib_found" = "yes" -a "$openbabel_cv_openbabel_h" = "yes" -a "$openbabel_cv_obconversion_h" = "yes"; then |
760 |
USE_OPENBABEL=yes |
761 |
OPENBABEL_INC_DIR="${OPENBABEL_HOME}/include/openbabel-2.0" |
762 |
OPENBABEL_LIB_DIR="${OPENBABEL_HOME}/lib" |
763 |
OPENBABEL_LIB="-lopenbabel" |
764 |
else |
765 |
AC_MSG_CHECKING(openbabel in ${OPENBABEL_HOME}) |
766 |
OPENBABEL_INC_DIR= |
767 |
OPENBABEL_LIB_DIR= |
768 |
OPENBABEL_LIB= |
769 |
USE_OPENBABEL=no |
770 |
AC_MSG_RESULT(failed) |
771 |
echo "" |
772 |
echo "*********************************************************" |
773 |
echo "* WARNING: Could not find a working openbabel-2.x *" |
774 |
echo "* installation If you need OpenMD to be able to convert *" |
775 |
echo "* xyz or pdb files you need to specify a valid *" |
776 |
echo "* openbabel-2.x installation with --with-openbabel=DIR *" |
777 |
echo "* *" |
778 |
echo "* OpenMD will still work without openbabel installed. *" |
779 |
echo "*********************************************************" |
780 |
echo "" |
781 |
fi |
782 |
AC_SUBST(OPENBABEL_INC_DIR) |
783 |
AC_SUBST(OPENBABEL_LIB_DIR) |
784 |
AC_SUBST(OPENBABEL_LIB) |
785 |
AC_SUBST(USE_OPENBABEL) |
786 |
fi |
787 |
fi |
788 |
]) |
789 |
|
790 |
|
791 |
AC_DEFUN([ACX_CHECK_FFTW], |
792 |
# |
793 |
# Handle user hints |
794 |
# |
795 |
[AC_ARG_WITH(fftw, |
796 |
AC_HELP_STRING([--with-fftw=DIR], |
797 |
[root directory path of fftw installation (defaults to /usr/local or /usr if not found in /usr/local)]dnl |
798 |
), |
799 |
[fftw_dir="$withval"]dnl |
800 |
,dnl |
801 |
[fftw_dir="not_set"]dnl |
802 |
)dnl |
803 |
|
804 |
if test "$fftw_dir" != "no"; then |
805 |
if test "$fftw_dir" != "not_set" ; then |
806 |
if test -d "$fftw_dir"; then |
807 |
FFTW_HOME="$fftw_dir" |
808 |
else |
809 |
AC_MSG_WARN([Sorry, $fftw_dir does not exist, checking usual places]) |
810 |
FFTW_HOME=/usr/local |
811 |
if test ! -f "${FFTW_HOME}/include/fftw3.h" -o -f "${FFTW_HOME}/include/fftw.h" -o -f "${FFTW_HOME}/include/dfftw.h"; then |
812 |
FFTW_HOME=/usr |
813 |
fi |
814 |
fi |
815 |
# |
816 |
# Locate fftw, if wanted |
817 |
# |
818 |
if test -n "${FFTW_HOME}"; then |
819 |
FFTW_OLD_LDFLAGS=$LDFLAGS |
820 |
FFTW_OLD_CFLAGS=$CFLAGS |
821 |
LDFLAGS="$LDFLAGS -L${FFTW_HOME}/lib" |
822 |
CFLAGS="$CFLAGS -I${FFTW_HOME}/include" |
823 |
AC_LANG_SAVE |
824 |
AC_LANG_C |
825 |
AC_CHECK_LIB(fftw3, fftw_execute, [fftw_cv_libfftw3=yes], [fftw_cv_libfftw3=no]) |
826 |
AC_CHECK_HEADER(fftw3.h, [fftw_cv_fftw3_h=yes], [fftw_cv_fftw3_h=no]) |
827 |
if test "$fftw_cv_libfftw3" = "no" -o "$fftw_cv_fftw3_h" = "no"; then |
828 |
AC_CHECK_LIB(fftw, fftwnd_one, [fftw_cv_libfftw=yes], [fftw_cv_libfftw=no]) |
829 |
AC_CHECK_HEADER(fftw.h, [fftw_cv_fftw_h=yes], [fftw_cv_fftw_h=no]) |
830 |
if test "$fftw_cv_libfftw" = "no" -o "$fftw_cv_fftw_h" = "no"; then |
831 |
AC_CHECK_LIB(dfftw, fftwnd_one, [fftw_cv_libdfftw=yes], [fftw_cv_libdfftw=no]) |
832 |
AC_CHECK_HEADER(dfftw.h, [fftw_cv_dfftw_h=yes], [fftw_cv_dfftw_h=no]) |
833 |
fi |
834 |
fi |
835 |
AC_LANG_RESTORE |
836 |
if test "$fftw_cv_libfftw3" = "yes" -a "$fftw_cv_fftw3_h" = "yes"; then |
837 |
AC_DEFINE(HAVE_FFTW3_H, 1, [have fftw3.h]) |
838 |
FFTW_INC_DIR="${FFTW_HOME}/include" |
839 |
FFTW_LIB_DIR="${FFTW_HOME}/lib" |
840 |
FFTW_LIBS="-lfftw3" |
841 |
else |
842 |
if test "$fftw_cv_libfftw" = "yes" -a "$fftw_cv_fftw_h" = "yes"; then |
843 |
AC_DEFINE(HAVE_FFTW_H, 1, [have fftw.h]) |
844 |
FFTW_INC_DIR="${FFTW_HOME}/include" |
845 |
FFTW_LIB_DIR="${FFTW_HOME}/lib" |
846 |
FFTW_LIBS="-lfftw" |
847 |
else |
848 |
if test "$fftw_cv_libdfftw" = "yes" -a "$fftw_cv_dfftw_h" = "yes"; then |
849 |
AC_DEFINE(HAVE_DFFTW_H, 1, [have dfftw.h]) |
850 |
FFTW_INC_DIR="${FFTW_HOME}/include" |
851 |
FFTW_LIB_DIR="${FFTW_HOME}/lib" |
852 |
FFTW_LIBS="-ldfftw" |
853 |
else |
854 |
AC_MSG_CHECKING(fftw in ${FFTW_HOME}) |
855 |
FFTW_INC_DIR= |
856 |
FFTW_LIB_DIR= |
857 |
FFTW_LIBS= |
858 |
LDFLAGS="$FFTW_OLD_LDFLAGS" |
859 |
CFLAGS="$FFTW_OLD_CFLAGS" |
860 |
AC_MSG_RESULT(failed) |
861 |
echo "" |
862 |
echo "*********************************************************" |
863 |
echo "* WARNING: Could not find a working FFTW installation *" |
864 |
echo "* If you need the staticProps program to be able to *" |
865 |
echo "* compute undulation spectra, be sure to specify a *" |
866 |
echo "* valid fftw installation with --with-fftw=DIR *" |
867 |
echo "* *" |
868 |
echo "* OpenMD will still work without fftw installed. *" |
869 |
echo "*********************************************************" |
870 |
echo "" |
871 |
fi |
872 |
fi |
873 |
fi |
874 |
AC_SUBST(FFTW_INC_DIR) |
875 |
AC_SUBST(FFTW_LIB_DIR) |
876 |
AC_SUBST(FFTW_LIBS) |
877 |
fi |
878 |
fi |
879 |
fi |
880 |
]) |
881 |
|
882 |
|
883 |
dnl |
884 |
dnl These functions were taken from the GRASS GIS toolkit: |
885 |
dnl |
886 |
dnl autoconf undefines "eval", so use "builtin([eval], ...)" |
887 |
dnl |
888 |
|
889 |
AC_DEFUN(LOC_CHECK_USE,[ |
890 |
AC_MSG_CHECKING(whether to use $2) |
891 |
AC_MSG_RESULT("$with_$1") |
892 |
case "$with_$1" in |
893 |
"no") $3= ;; |
894 |
"yes") $3="1" ;; |
895 |
*) AC_MSG_ERROR([*** You must answer yes or no.]) ;; |
896 |
esac |
897 |
|
898 |
]) |
899 |
|
900 |
AC_DEFUN(LOC_CHECK_INC_PATH,[ |
901 |
AC_MSG_CHECKING(for location of $2 includes) |
902 |
case "$with_$1_includes" in |
903 |
y | ye | yes | n | no) |
904 |
AC_MSG_ERROR([*** You must supply a directory to --with-$1-includes.]) |
905 |
;; |
906 |
esac |
907 |
AC_MSG_RESULT($with_$1_includes) |
908 |
|
909 |
if test -n "$with_$1_includes" ; then |
910 |
for dir in $with_$1_includes; do |
911 |
if test -d "$dir"; then |
912 |
$3="$$3 -I$dir" |
913 |
else |
914 |
AC_MSG_ERROR([*** $2 includes directory $dir does not exist.]) |
915 |
fi |
916 |
done |
917 |
fi |
918 |
]) |
919 |
|
920 |
AC_DEFUN(LOC_CHECK_LIB_PATH,[ |
921 |
AC_MSG_CHECKING(for location of $2 library) |
922 |
case "$with_$1_libs" in |
923 |
y | ye | yes | n | no) |
924 |
AC_MSG_ERROR([*** You must supply a directory to --with-$1-libs.]) |
925 |
;; |
926 |
esac |
927 |
AC_MSG_RESULT($with_$1_libs) |
928 |
|
929 |
if test -n "$with_$1_libs"; then |
930 |
for dir in $with_$1_libs; do |
931 |
if test -d "$dir"; then |
932 |
$3="$$3 -L$dir" |
933 |
else |
934 |
AC_MSG_ERROR([*** $2 library directory $dir does not exist.]) |
935 |
fi |
936 |
done |
937 |
fi |
938 |
]) |
939 |
|
940 |
AC_DEFUN(LOC_CHECK_SHARE_PATH,[ |
941 |
AC_MSG_CHECKING(for location of $2 data files) |
942 |
case "$with_$1_share" in |
943 |
y | ye | yes | n | no) |
944 |
AC_MSG_ERROR([*** You must supply a directory to --with-$1-share.]) |
945 |
;; |
946 |
esac |
947 |
AC_MSG_RESULT($with_$1_share) |
948 |
|
949 |
if test -n "$with_$1_share" ; then |
950 |
if test -d "$with_$1_share"; then |
951 |
$3="$with_$1_share" |
952 |
else |
953 |
AC_MSG_ERROR([*** $2 data directory $dir does not exist.]) |
954 |
fi |
955 |
fi |
956 |
]) |
957 |
|
958 |
AC_DEFUN(LOC_CHECK_INCLUDES,[ |
959 |
ac_save_cppflags="$CPPFLAGS" |
960 |
CPPFLAGS="$3 $CPPFLAGS" |
961 |
AC_CHECK_HEADERS($1, [], ifelse($4,[],[ |
962 |
AC_MSG_ERROR([*** Unable to locate $2 includes.]) |
963 |
], $4)) |
964 |
CPPFLAGS=$ac_save_cppflags |
965 |
]) |
966 |
|
967 |
dnl autoconf undefines "shift", so use "builtin([shift], ...)" |
968 |
|
969 |
define(LOC_SHIFT1,[builtin([shift],$*)]) |
970 |
define(LOC_SHIFT2,[LOC_SHIFT1(LOC_SHIFT1($*))]) |
971 |
define(LOC_SHIFT4,[LOC_SHIFT2(LOC_SHIFT2($*))]) |
972 |
define(LOC_SHIFT8,[LOC_SHIFT4(LOC_SHIFT4($*))]) |
973 |
define(LOC_SHIFT9,[LOC_SHIFT1(LOC_SHIFT8($*))]) |
974 |
|
975 |
dnl $1 = library |
976 |
dnl $2 = function |
977 |
dnl $3 = descriptive name |
978 |
dnl $4 = LDFLAGS initialiser |
979 |
dnl $5 = result variable |
980 |
dnl $6 = mandatory dependencies (not added to $5) |
981 |
dnl $7 = mandatory dependencies (added to $5) |
982 |
dnl $8 = ACTION-IF-NOT-FOUND |
983 |
dnl $9+ = optional dependencies |
984 |
|
985 |
define(LOC_CHECK_LIBS_0,[ |
986 |
AC_CHECK_LIB($1, $2, $5="$$5 -l$1 $7",[ |
987 |
[$8] |
988 |
],$6 $7) |
989 |
]) |
990 |
|
991 |
define(LOC_CHECK_LIBS_1,[ |
992 |
ifelse($9,[], |
993 |
LOC_CHECK_LIBS_0($1,$2,,,$5,$6,$7,$8), |
994 |
[ |
995 |
LOC_CHECK_LIBS_1($1,$2,,,$5,$6,$7, |
996 |
LOC_CHECK_LIBS_1($1,$2,,,$5,$6,$7 $9,$8,LOC_SHIFT9($*)), |
997 |
LOC_SHIFT9($*)) |
998 |
] |
999 |
) |
1000 |
]) |
1001 |
|
1002 |
define(LOC_CHECK_LIBS,[ |
1003 |
ac_save_ldflags="$LDFLAGS" |
1004 |
LDFLAGS="$4 $LDFLAGS" |
1005 |
LOC_CHECK_LIBS_1($1,$2,,,$5,$6,$7, |
1006 |
LDFLAGS=${ac_save_ldflags} |
1007 |
ifelse($8,[],[ |
1008 |
AC_MSG_ERROR([*** Unable to locate $3 library.]) |
1009 |
],$8),LOC_SHIFT8($*)) |
1010 |
LDFLAGS=${ac_save_ldflags} |
1011 |
]) |
1012 |
|
1013 |
AC_DEFUN(LOC_CHECK_VERSION_STRING,[ |
1014 |
AC_MSG_CHECKING($3 version) |
1015 |
ac_save_cppflags="$CPPFLAGS" |
1016 |
CPPFLAGS="$5 $CPPFLAGS" |
1017 |
AC_TRY_RUN([ |
1018 |
#include <stdio.h> |
1019 |
#include <$1> |
1020 |
int main(void) { |
1021 |
FILE *fp = fopen("conftestdata","w"); |
1022 |
fputs($2, fp); |
1023 |
return 0; |
1024 |
} |
1025 |
], |
1026 |
[ $4=`cat conftestdata` |
1027 |
AC_MSG_RESULT($$4)], |
1028 |
[ AC_MSG_ERROR([*** Could not determine $3 version.]) ], |
1029 |
[ $4=$6 |
1030 |
AC_MSG_RESULT([unknown (cross-compiling)]) ]) |
1031 |
CPPFLAGS=$ac_save_cppflags |
1032 |
]) |
1033 |
|
1034 |
AC_DEFUN(LOC_CHECK_SHARE,[ |
1035 |
AC_CHECK_FILE($3/$1, [], ifelse($4,[],[ |
1036 |
AC_MSG_ERROR([*** Unable to locate $2 data files.]) |
1037 |
], $4)) |
1038 |
]) |
1039 |
|
1040 |
AC_DEFUN(LOC_CHECK_VERSION_INT,[ |
1041 |
AC_MSG_CHECKING($3 version) |
1042 |
ac_save_cppflags="$CPPFLAGS" |
1043 |
CPPFLAGS="$5 $CPPFLAGS" |
1044 |
AC_TRY_RUN([ |
1045 |
#include <stdio.h> |
1046 |
#include <$1> |
1047 |
int main(void) { |
1048 |
FILE *fp = fopen("conftestdata","w"); |
1049 |
fprintf(fp, "%d", $2); |
1050 |
return 0; |
1051 |
} |
1052 |
], |
1053 |
[ $4=`cat conftestdata` |
1054 |
AC_MSG_RESULT($$4)], |
1055 |
[ AC_MSG_ERROR([*** Could not determine $3 version.]) ], |
1056 |
[ $4=$6 |
1057 |
AC_MSG_RESULT([unknown (cross-compiling)]) ]) |
1058 |
CPPFLAGS=$ac_save_cppflags |
1059 |
]) |
1060 |
|
1061 |
dnl autoconf undefines "eval", so use "builtin([eval], ...)" |
1062 |
|
1063 |
AC_DEFUN(LOC_PAD,[$1[]ifelse(builtin([eval],len($1) > 23),1,[ |
1064 |
],substr([ ],len($1)))]) |
1065 |
|
1066 |
AC_DEFUN(LOC_ARG_WITH,[ |
1067 |
AC_ARG_WITH($1, |
1068 |
LOC_PAD([ --with-$1])[support $2 functionality (default: ]ifelse([$3],,yes,[$3])[)],, |
1069 |
[with_$1=]ifelse([$3],,yes,[$3])) |
1070 |
]) |
1071 |
|
1072 |
AC_DEFUN(LOC_ARG_WITH_INC,[ |
1073 |
AC_ARG_WITH($1-includes, |
1074 |
LOC_PAD([ --with-$1-includes=DIRS])[$2 include files are in DIRS]) |
1075 |
]) |
1076 |
|
1077 |
AC_DEFUN(LOC_ARG_WITH_LIB,[ |
1078 |
AC_ARG_WITH($1-libs, |
1079 |
LOC_PAD([ --with-$1-libs=DIRS])[$2 library files are in DIRS]) |
1080 |
]) |
1081 |
|
1082 |
AC_DEFUN(LOC_ARG_WITH_SHARE,[ |
1083 |
AC_ARG_WITH($1-share, |
1084 |
LOC_PAD([ --with-$1-share=DIR])[$2 data files are in DIR]) |
1085 |
]) |
1086 |
|
1087 |
AC_DEFUN(LOC_OPTIONAL,[ |
1088 |
AC_MSG_CHECKING(whether to build $1) |
1089 |
if test -n "$USE_$2" ; then |
1090 |
AC_MSG_RESULT(yes) |
1091 |
BUILD_$3="$4" |
1092 |
else |
1093 |
AC_MSG_RESULT(no) |
1094 |
BUILD_$3= |
1095 |
fi |
1096 |
AC_SUBST(BUILD_$3) |
1097 |
]) |
1098 |
|
1099 |
AC_DEFUN(LOC_MSG,[ |
1100 |
echo "$1" |
1101 |
]) |
1102 |
|
1103 |
AC_DEFUN(LOC_PAD_26,[substr([ ],len($1))]) |
1104 |
|
1105 |
AC_DEFUN(LOC_YES_NO,[if test -n "${$1}" ; then echo yes ; else echo no ; fi]) |
1106 |
|
1107 |
AC_DEFUN(LOC_MSG_USE,[ |
1108 |
[echo " $1:]LOC_PAD_26($1)`LOC_YES_NO($2)`"]) |