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([adl_FUNC_GETOPT_LONG], |
395 |
[AC_PREREQ(2.49)dnl |
396 |
# clean out junk possibly left behind by a previous configuration |
397 |
rm -f src/getopt.h |
398 |
# Check for getopt_long support |
399 |
AC_CHECK_HEADERS([getopt.h]) |
400 |
AC_CHECK_FUNCS([getopt_long],, |
401 |
[# FreeBSD has a gnugetopt library for this |
402 |
AC_CHECK_LIB([gnugetopt],[getopt_long],[AC_DEFINE([HAVE_GETOPT_LONG])], |
403 |
[# use the GNU replacement |
404 |
AC_LIBOBJ(getopt) |
405 |
AC_LIBOBJ(getopt1) |
406 |
AC_CONFIG_LINKS([src/getopt.h:src/utils/gnugetopt.h])])])]) |
407 |
|
408 |
|
409 |
AC_DEFUN([ACX_CONFIG_HOME], [ |
410 |
myDir=${0%/*} |
411 |
if [ "$myDir" = "$0" ]; then |
412 |
# Ran from local directory |
413 |
myDir=$PWD |
414 |
fi |
415 |
# Resolve symlinks. |
416 |
myProgram="$0" |
417 |
while [ -L "$myProgram" ]; do |
418 |
ls=`/bin/ls -ld "$myProgram"` |
419 |
link=`/usr/bin/expr "$ls" : '.*-> \(.*\)$'` |
420 |
if /usr/bin/expr "$link" : '.*/.*' > /dev/null; then |
421 |
myProgram="$link" |
422 |
else |
423 |
myProgram="`AS_DIRNAME([$myProgram])`/$link" |
424 |
fi |
425 |
done |
426 |
myDir=`AS_DIRNAME([$myProgram])` |
427 |
fi |
428 |
CONFIG_HOME=$myDir |
429 |
]) |
430 |
|
431 |
AC_DEFUN(BB_ENABLE_DOXYGEN, |
432 |
[ |
433 |
AC_ARG_ENABLE(doxygen, [ --enable-doxygen enable documentation generation with doxygen (auto)]) |
434 |
AC_ARG_ENABLE(dot, [ --enable-dot use 'dot' to generate graphs in doxygen (auto)]) |
435 |
AC_ARG_ENABLE(html-docs, [ --enable-html-docs enable HTML generation with doxygen (yes)], [], [ enable_html_docs=yes]) |
436 |
AC_ARG_ENABLE(latex-docs, [ --enable-latex-docs enable LaTeX documentation generation with doxygen (no)], [], [ enable_latex_docs=no]) |
437 |
if test "x$enable_doxygen" = xno; then |
438 |
enable_doc=no |
439 |
else |
440 |
AC_PATH_PROG(DOXYGEN, doxygen, , $PATH) |
441 |
if test "x$DOXYGEN" = x; then |
442 |
if test "x$enable_doxygen" = xyes; then |
443 |
AC_MSG_ERROR([could not find doxygen]) |
444 |
fi |
445 |
enable_doc=no |
446 |
else |
447 |
enable_doc=yes |
448 |
AC_PATH_PROG(DOT, dot, , $PATH) |
449 |
fi |
450 |
fi |
451 |
|
452 |
if test "x$enable_doc" = xyes; then |
453 |
DOC=1 |
454 |
else |
455 |
DOC=0 |
456 |
fi |
457 |
AC_SUBST(DOC) |
458 |
|
459 |
if test x$DOT = x; then |
460 |
if test "x$enable_dot" = xyes; then |
461 |
AC_MSG_ERROR([could not find dot]) |
462 |
fi |
463 |
enable_dot=no |
464 |
else |
465 |
enable_dot=yes |
466 |
fi |
467 |
AC_SUBST(enable_dot) |
468 |
AC_SUBST(enable_html_docs) |
469 |
AC_SUBST(enable_latex_docs) |
470 |
]) |
471 |
# |
472 |
# |
473 |
# |
474 |
AC_DEFUN([AX_SYS_PERLSHARPBANG],[dnl |
475 |
|
476 |
AC_PATH_PROG(PERLINTERP,perl,perl) |
477 |
ac_cv_path_perlinterp="$PERLINTERP" |
478 |
_sHpB='#!' |
479 |
|
480 |
AC_ARG_WITH(perl-shebang, |
481 |
AC_HELP_STRING([--with-perl-shebang], |
482 |
[override what perl thinks is the way for the kernel to start it (seldom needed)]dnl |
483 |
), |
484 |
[opt_perl_shebang="$withval"]dnl |
485 |
,dnl |
486 |
[opt_perl_shebang="not_set"]dnl |
487 |
)dnl |
488 |
|
489 |
AC_CACHE_CHECK([whether explicit instead of detected sharpbang is to be used], |
490 |
ax_cv_opt_perl_shebang, |
491 |
[ case "$opt_perl_shebang" in |
492 |
not_set ) ax_cv_opt_perl_shebang='' |
493 |
;; |
494 |
* ) |
495 |
ax_cv_opt_perl_shebang=`echo "$opt_perl_shebang" | sed -e's|^#!\s*\(.*\)$|\1|'` |
496 |
esac |
497 |
]dnl |
498 |
)dnl |
499 |
|
500 |
if test "A$ax_cv_opt_perl_shebang" != "A" |
501 |
then |
502 |
ac_cv_sys_kernshrpbang_perl="$ax_cv_opt_perl_shebang" |
503 |
PERL_SHEBANG="$ac_cv_sys_kernshrpbang_perl" |
504 |
AC_SUBST(PERL_SHEBANG)dnl |
505 |
AC_MSG_NOTICE([OK - PERL_SHEBANG is $_sHpB$PERL_SHEBANG.]) |
506 |
|
507 |
# Automatic detection of sharpbang formula starts here |
508 |
else dnl |
509 |
|
510 |
_somian_shbangperl=`$PERLINTERP -V:startperl` |
511 |
negclass="[[^']]"; dnl |
512 |
# must leave this comment: m4 will remove the outer brackets for us, heheh |
513 |
AC_CACHE_CHECK([for kernel sharpbang invocation to start perl], |
514 |
ac_cv_sys_kernshrpbang_perl, |
515 |
[_somian_kspb_perl=`echo "$_somian_shbangperl" | sed -ne"s|.*='\($negclass*\)';$|\1|p"` |
516 |
if test "x$_somian_kspb_perl" == x |
517 |
then _somian_ksbp_warn_empty='durnit' |
518 |
else |
519 |
case "A$_somian_kspb_perl" in |
520 |
A#!*perl* ) |
521 |
ac_cv_sys_kernshrpbang_perl=`echo "$_somian_kspb_perl" | sed -e's|#!\(.*\)$|\1|'` |
522 |
;; |
523 |
A* ) _somian_ksbp_warn_defau='trouble' |
524 |
ac_cv_sys_kernshrpbang_perl="$PERLINTERP" |
525 |
esac |
526 |
fi |
527 |
])dnl Done with testing sharpbang |
528 |
|
529 |
# The above prints Checking ... result message to user. |
530 |
PERL_SHEBANG="$ac_cv_sys_kernshrpbang_perl" |
531 |
AC_SUBST(PERL_SHEBANG) |
532 |
if test A${_somian_ksbp_warn_empty+set} == Aset |
533 |
then AC_MSG_WARN([dnl |
534 |
In last check, doing $PERLINTERP -V:startperl yielded empty result! That should not happen.]) |
535 |
fi |
536 |
# Inform user after printing result value |
537 |
if test A${_somian_ksbp_warn_defau+set} == Aset |
538 |
then AC_MSG_NOTICE([Maybe Not good -]) |
539 |
AC_MSG_WARN([dnl |
540 |
In last check perl's Config query did not work so we bunted: $_sHpB$PERLINTERP]) |
541 |
else AC_MSG_NOTICE([OK Good result - ]) |
542 |
AC_MSG_NOTICE([dnl |
543 |
In last check we got a proper-looking answer from perl's Config: $_somian_shbangperl]) |
544 |
dnl Done with user info messages |
545 |
fi |
546 |
dnl Outer loop checked for user override term here |
547 |
fi dnl |
548 |
|
549 |
])dnl EOMACRO DEF |
550 |
|
551 |
AC_DEFUN([ACX_CHECK_ZLIB], |
552 |
# |
553 |
# Handle user hints |
554 |
# |
555 |
[AC_ARG_WITH(zlib, |
556 |
AC_HELP_STRING([--with-zlib=DIR], |
557 |
[root directory path of zlib installation (defaults to /usr/local or /usr if not found in /usr/local)]dnl |
558 |
), |
559 |
[zlib_dir="$withval"]dnl |
560 |
,dnl |
561 |
[zlib_dir="not_set"]dnl |
562 |
)dnl |
563 |
|
564 |
if test "$zlib_dir" != "no"; then |
565 |
|
566 |
if test "$zlib_dir" != "not_set" ; then |
567 |
if test -d "$zlib_dir" |
568 |
then |
569 |
ZLIB_HOME="$zlib_dir" |
570 |
else |
571 |
AC_MSG_WARN([Sorry, $zlib_dir does not exist, checking usual places]) |
572 |
ZLIB_HOME=/usr/local |
573 |
if test ! -f "${ZLIB_HOME}/include/zlib.h" |
574 |
then |
575 |
ZLIB_HOME=/usr |
576 |
fi |
577 |
fi |
578 |
fi |
579 |
# |
580 |
# Locate zlib, if wanted |
581 |
# |
582 |
if test -n "${ZLIB_HOME}" |
583 |
then |
584 |
ZLIB_OLD_LDFLAGS=$LDFLAGS |
585 |
ZLIB_OLD_CFLAGS=$CFLAGS |
586 |
LDFLAGS="$LDFLAGS -L${ZLIB_HOME}/lib" |
587 |
CFLAGS="$CFLAGS -I${ZLIB_HOME}/include" |
588 |
AC_LANG_SAVE |
589 |
AC_LANG_C |
590 |
AC_CHECK_LIB(z, inflateEnd, [zlib_cv_libz=yes], [zlib_cv_libz=no]) |
591 |
AC_CHECK_HEADER(zlib.h, [zlib_cv_zlib_h=yes], [zlib_cv_zlib_h=no]) |
592 |
AC_LANG_RESTORE |
593 |
|
594 |
if test "$zlib_cv_libz" = "yes" -a "$zlib_cv_zlib_h" = "yes"; then |
595 |
AC_DEFINE(HAVE_ZLIB_H, 1, [have zlib.h]) |
596 |
AC_DEFINE(HAVE_LIBZ, 1, [have libz.a]) |
597 |
ZLIB_INC_DIR="${ZLIB_HOME}/include" |
598 |
ZLIB_LIB_DIR="${ZLIB_HOME}/lib" |
599 |
ZLIB="-lz" |
600 |
else |
601 |
AC_MSG_CHECKING(zlib in ${ZLIB_HOME}) |
602 |
ZLIB_INC_DIR= |
603 |
ZLIB_LIB_DIR= |
604 |
ZLIB= |
605 |
LDFLAGS="$ZLIB_OLD_LDFLAGS" |
606 |
CFLAGS="$ZLIB_OLD_CFLAGS" |
607 |
AC_MSG_RESULT(failed) |
608 |
echo "" |
609 |
echo "*********************************************************" |
610 |
echo "* WARNING: Could not find a working zlib installation *" |
611 |
echo "* If you need OpenMD to be able to deal with compressed *" |
612 |
echo "* trajectory dump files be sure to specify a valid zlib *" |
613 |
echo "* installation with --with-zlib=DIR *" |
614 |
echo "* *" |
615 |
echo "* OpenMD will still work without zlib installed. *" |
616 |
echo "*********************************************************" |
617 |
echo "" |
618 |
fi |
619 |
AC_SUBST(ZLIB_INC_DIR) |
620 |
AC_SUBST(ZLIB_LIB_DIR) |
621 |
AC_SUBST(ZLIB) |
622 |
fi |
623 |
fi |
624 |
]) |
625 |
|
626 |
AC_DEFUN([ACX_CHECK_QHULL], |
627 |
# |
628 |
# Handle user hints |
629 |
# |
630 |
[AC_ARG_WITH(qhull, |
631 |
AC_HELP_STRING([--with-qhull=DIR], |
632 |
[root directory path of qhull installation (defaults to /usr/local or /usr if not found in /usr/local)]dnl |
633 |
), |
634 |
[qhull_dir="$withval"], |
635 |
[qhull_dir="not_set"]dnl |
636 |
)dnl |
637 |
|
638 |
QHULL_INC_DIR= |
639 |
QHULL_LIB_DIR= |
640 |
QHULL= |
641 |
USE_QHULL=no |
642 |
|
643 |
if test "$qhull_dir" != "no"; then |
644 |
if test "$qhull_dir" != "not_set" ; then |
645 |
if test -d "$qhull_dir"; then |
646 |
QHULL_HOME="$qhull_dir" |
647 |
else |
648 |
AC_MSG_WARN([Sorry, $qhull_dir does not exist, checking usual places]) |
649 |
QHULL_HOME=/usr/local |
650 |
if test ! -f "${QHULL_HOME}/include/qhull/libqhull.h"; then |
651 |
QHULL_HOME=/usr |
652 |
fi |
653 |
fi |
654 |
fi |
655 |
# |
656 |
# Locate qhull, if wanted |
657 |
# |
658 |
if test -n "${QHULL_HOME}"; then |
659 |
AC_MSG_NOTICE([Checking for qhull in ${QHULL_HOME}]) |
660 |
AC_LANG_SAVE |
661 |
AC_LANG_C |
662 |
QHULL_OLD_LDFLAGS=$LDFLAGS |
663 |
QHULL_OLD_CFLAGS=$CFLAGS |
664 |
QHULL_OLD_CPPFLAGS=$CPPFLAGS |
665 |
LDFLAGS="$LDFLAGS -L${QHULL_HOME}/lib" |
666 |
CFLAGS="$CFLAGS -I${QHULL_HOME}/include" |
667 |
CPPFLAGS="$CPPFLAGS -I${QHULL_HOME}/include" |
668 |
AC_CHECK_HEADER(qhull/libqhull.h, [qhull_cv_libqhull_h=yes], [qhull_cv_libqhull_h=no]) |
669 |
AC_CHECK_LIB(qhull, qh_qhull, [qhull_cv_libqhull=yes], [qhull_cv_libqhull=no]) |
670 |
AC_CHECK_LIB(qhull6, qh_qhull, [qhull_cv_libqhull6=yes], [qhull_cv_libqhull6=no]) |
671 |
LDFLAGS="$QHULL_OLD_LDFLAGS" |
672 |
CFLAGS="$QHULL_OLD_CFLAGS" |
673 |
CPPFLAGS="$QHULL_OLD_CPPFLAGS" |
674 |
AC_LANG_RESTORE |
675 |
|
676 |
if test "$qhull_cv_libqhull_h" = "yes" -a "$qhull_cv_libqhull" = "yes" -o "$qhull_cv_libqhull6" = "yes"; then |
677 |
AC_DEFINE(HAVE_LIBQHULL_H, 1, [have libqhull.h]) |
678 |
if test "$qhull_cv_libqhull" = "yes"; then |
679 |
AC_DEFINE(HAVE_QHULL, 1, [have libqhull.a]) |
680 |
QHULL="-lqhull" |
681 |
fi |
682 |
if test "$qhull_cv_libqhull6" = "yes"; then |
683 |
AC_DEFINE(HAVE_QHULL, 1, [have libqhull6.a]) |
684 |
QHULL="-lqhull6" |
685 |
fi |
686 |
USE_QHULL=yes |
687 |
QHULL_INC_DIR="${QHULL_HOME}/include" |
688 |
QHULL_LIB_DIR="${QHULL_HOME}/lib" |
689 |
AC_MSG_RESULT([Working qhull found, will proceed.]) |
690 |
else |
691 |
AC_MSG_WARN([]) |
692 |
AC_MSG_WARN([Could not find a working qhull installation]) |
693 |
AC_MSG_WARN([If you need OpenMD to be able to deal with convex ]) |
694 |
AC_MSG_WARN([hulls be sure to specify a valid qhull installation ]) |
695 |
AC_MSG_WARN([with --with-qhull=DIR ]) |
696 |
AC_MSG_WARN([]) |
697 |
AC_MSG_WARN([OpenMD will still work without qhull installed. ]) |
698 |
AC_MSG_WARN([]) |
699 |
fi |
700 |
fi |
701 |
fi |
702 |
AC_SUBST(QHULL_INC_DIR) |
703 |
AC_SUBST(QHULL_LIB_DIR) |
704 |
AC_SUBST(QHULL) |
705 |
AC_SUBST(USE_QHULL) |
706 |
]) |
707 |
|
708 |
AC_DEFUN([ACX_CHECK_OPENBABEL], |
709 |
# |
710 |
# Handle user hints |
711 |
# |
712 |
[AC_ARG_WITH(openbabel, |
713 |
AC_HELP_STRING([--with-openbabel=DIR], |
714 |
[root directory path of openbabel-2.x installation (defaults to /usr/local or /usr if not found in /usr/local)]dnl |
715 |
), |
716 |
[openbabel_dir="$withval"]dnl |
717 |
,dnl |
718 |
[openbabel_dir="not_set"]dnl |
719 |
)dnl |
720 |
|
721 |
if test "$openbabel_dir" != "no"; then |
722 |
|
723 |
if test "$openbabel_dir" != "not_set" ; then |
724 |
if test -d "$openbabel_dir" |
725 |
then |
726 |
OPENBABEL_HOME="$openbabel_dir" |
727 |
else |
728 |
AC_MSG_WARN([Sorry, $openbabel_dir does not exist, checking usual places]) |
729 |
OPENBABEL_HOME=/usr/local |
730 |
if test ! -f "${OPENBABEL_HOME}/include/openbabel-2.0/openbabel/babelconfig.h" -a -f "${OPENBABEL_HOME}/include/openbabel-2.0/openbabel/obconversion.h" |
731 |
then |
732 |
OPENBABEL_HOME=/usr |
733 |
fi |
734 |
fi |
735 |
fi |
736 |
# |
737 |
# Locate openbabel, if wanted |
738 |
# |
739 |
if test -n "${OPENBABEL_HOME}" |
740 |
then |
741 |
AC_LANG_SAVE |
742 |
AC_LANG_CPLUSPLUS |
743 |
OPENBABEL_OLD_LDFLAGS=$LDFLAGS |
744 |
OPENBABEL_OLD_CPPFLAGS=$CPPFLAGS |
745 |
LDFLAGS="$LDFLAGS -L${OPENBABEL_HOME}/lib -lopenbabel" |
746 |
CPPFLAGS="$CPPFLAGS -I${OPENBABEL_HOME}/include/openbabel-2.0" |
747 |
AC_CHECK_HEADER(openbabel/babelconfig.h, [openbabel_cv_openbabel_h=yes], [openbabel_cv_openbabel_h=no]) |
748 |
AC_CHECK_HEADER(openbabel/obconversion.h, [openbabel_cv_obconversion_h=yes], [openbabel_cv_obconversion_h=no]) |
749 |
AC_LINK_IFELSE([ |
750 |
AC_LANG_PROGRAM( |
751 |
[[ |
752 |
@%:@include <openbabel/babelconfig.h> |
753 |
@%:@include <openbabel/obconversion.h> |
754 |
using namespace std; |
755 |
using namespace OpenBabel; |
756 |
]], |
757 |
[[ |
758 |
OBConversion Conv(&cin, &cout); |
759 |
]] |
760 |
)], |
761 |
[ |
762 |
openbabel_lib_found="yes" |
763 |
AC_MSG_RESULT([found]) |
764 |
], |
765 |
[ |
766 |
openbabel_lib_found="no" |
767 |
AC_MSG_RESULT([not found]) |
768 |
] |
769 |
) |
770 |
AC_LANG_RESTORE |
771 |
LDFLAGS="$OPENBABEL_OLD_LDFLAGS" |
772 |
CPPFLAGS="$OPENBABEL_OLD_CPPFLAGS" |
773 |
|
774 |
if test "$openbabel_lib_found" = "yes" -a "$openbabel_cv_openbabel_h" = "yes" -a "$openbabel_cv_obconversion_h" = "yes"; then |
775 |
USE_OPENBABEL=yes |
776 |
OPENBABEL_INC_DIR="${OPENBABEL_HOME}/include/openbabel-2.0" |
777 |
OPENBABEL_LIB_DIR="${OPENBABEL_HOME}/lib" |
778 |
OPENBABEL_LIB="-lopenbabel" |
779 |
else |
780 |
AC_MSG_CHECKING(openbabel in ${OPENBABEL_HOME}) |
781 |
OPENBABEL_INC_DIR= |
782 |
OPENBABEL_LIB_DIR= |
783 |
OPENBABEL_LIB= |
784 |
USE_OPENBABEL=no |
785 |
AC_MSG_RESULT(failed) |
786 |
echo "" |
787 |
echo "*********************************************************" |
788 |
echo "* WARNING: Could not find a working openbabel-2.x *" |
789 |
echo "* installation If you need OpenMD to be able to convert *" |
790 |
echo "* xyz or pdb files you need to specify a valid *" |
791 |
echo "* openbabel-2.x installation with --with-openbabel=DIR *" |
792 |
echo "* *" |
793 |
echo "* OpenMD will still work without openbabel installed. *" |
794 |
echo "*********************************************************" |
795 |
echo "" |
796 |
fi |
797 |
AC_SUBST(OPENBABEL_INC_DIR) |
798 |
AC_SUBST(OPENBABEL_LIB_DIR) |
799 |
AC_SUBST(OPENBABEL_LIB) |
800 |
AC_SUBST(USE_OPENBABEL) |
801 |
fi |
802 |
fi |
803 |
]) |
804 |
|
805 |
|
806 |
AC_DEFUN([ACX_CHECK_FFTW], |
807 |
# |
808 |
# Handle user hints |
809 |
# |
810 |
[AC_ARG_WITH(fftw, |
811 |
AC_HELP_STRING([--with-fftw=DIR], |
812 |
[root directory path of fftw installation (defaults to /usr/local or /usr if not found in /usr/local)]dnl |
813 |
), |
814 |
[fftw_dir="$withval"]dnl |
815 |
,dnl |
816 |
[fftw_dir="not_set"]dnl |
817 |
)dnl |
818 |
|
819 |
if test "$fftw_dir" != "no"; then |
820 |
if test "$fftw_dir" != "not_set" ; then |
821 |
if test -d "$fftw_dir"; then |
822 |
FFTW_HOME="$fftw_dir" |
823 |
else |
824 |
AC_MSG_WARN([Sorry, $fftw_dir does not exist, checking usual places]) |
825 |
FFTW_HOME=/usr/local |
826 |
if test ! -f "${FFTW_HOME}/include/fftw3.h" -o -f "${FFTW_HOME}/include/fftw.h" -o -f "${FFTW_HOME}/include/dfftw.h"; then |
827 |
FFTW_HOME=/usr |
828 |
fi |
829 |
fi |
830 |
# |
831 |
# Locate fftw, if wanted |
832 |
# |
833 |
if test -n "${FFTW_HOME}"; then |
834 |
FFTW_OLD_LDFLAGS=$LDFLAGS |
835 |
FFTW_OLD_CFLAGS=$CFLAGS |
836 |
LDFLAGS="$LDFLAGS -L${FFTW_HOME}/lib" |
837 |
CFLAGS="$CFLAGS -I${FFTW_HOME}/include" |
838 |
AC_LANG_SAVE |
839 |
AC_LANG_C |
840 |
AC_CHECK_LIB(fftw3, fftw_execute, [fftw_cv_libfftw3=yes], [fftw_cv_libfftw3=no]) |
841 |
AC_CHECK_HEADER(fftw3.h, [fftw_cv_fftw3_h=yes], [fftw_cv_fftw3_h=no]) |
842 |
if test "$fftw_cv_libfftw3" = "no" -o "$fftw_cv_fftw3_h" = "no"; then |
843 |
AC_CHECK_LIB(fftw, fftwnd_one, [fftw_cv_libfftw=yes], [fftw_cv_libfftw=no]) |
844 |
AC_CHECK_HEADER(fftw.h, [fftw_cv_fftw_h=yes], [fftw_cv_fftw_h=no]) |
845 |
if test "$fftw_cv_libfftw" = "no" -o "$fftw_cv_fftw_h" = "no"; then |
846 |
AC_CHECK_LIB(dfftw, fftwnd_one, [fftw_cv_libdfftw=yes], [fftw_cv_libdfftw=no]) |
847 |
AC_CHECK_HEADER(dfftw.h, [fftw_cv_dfftw_h=yes], [fftw_cv_dfftw_h=no]) |
848 |
fi |
849 |
fi |
850 |
AC_LANG_RESTORE |
851 |
if test "$fftw_cv_libfftw3" = "yes" -a "$fftw_cv_fftw3_h" = "yes"; then |
852 |
AC_DEFINE(HAVE_FFTW3_H, 1, [have fftw3.h]) |
853 |
FFTW_INC_DIR="${FFTW_HOME}/include" |
854 |
FFTW_LIB_DIR="${FFTW_HOME}/lib" |
855 |
FFTW_LIBS="-lfftw3" |
856 |
else |
857 |
if test "$fftw_cv_libfftw" = "yes" -a "$fftw_cv_fftw_h" = "yes"; then |
858 |
AC_DEFINE(HAVE_FFTW_H, 1, [have fftw.h]) |
859 |
FFTW_INC_DIR="${FFTW_HOME}/include" |
860 |
FFTW_LIB_DIR="${FFTW_HOME}/lib" |
861 |
FFTW_LIBS="-lfftw" |
862 |
else |
863 |
if test "$fftw_cv_libdfftw" = "yes" -a "$fftw_cv_dfftw_h" = "yes"; then |
864 |
AC_DEFINE(HAVE_DFFTW_H, 1, [have dfftw.h]) |
865 |
FFTW_INC_DIR="${FFTW_HOME}/include" |
866 |
FFTW_LIB_DIR="${FFTW_HOME}/lib" |
867 |
FFTW_LIBS="-ldfftw" |
868 |
else |
869 |
AC_MSG_CHECKING(fftw in ${FFTW_HOME}) |
870 |
FFTW_INC_DIR= |
871 |
FFTW_LIB_DIR= |
872 |
FFTW_LIBS= |
873 |
LDFLAGS="$FFTW_OLD_LDFLAGS" |
874 |
CFLAGS="$FFTW_OLD_CFLAGS" |
875 |
AC_MSG_RESULT(failed) |
876 |
echo "" |
877 |
echo "*********************************************************" |
878 |
echo "* WARNING: Could not find a working FFTW installation *" |
879 |
echo "* If you need the staticProps program to be able to *" |
880 |
echo "* compute undulation spectra, be sure to specify a *" |
881 |
echo "* valid fftw installation with --with-fftw=DIR *" |
882 |
echo "* *" |
883 |
echo "* OpenMD will still work without fftw installed. *" |
884 |
echo "*********************************************************" |
885 |
echo "" |
886 |
fi |
887 |
fi |
888 |
fi |
889 |
AC_SUBST(FFTW_INC_DIR) |
890 |
AC_SUBST(FFTW_LIB_DIR) |
891 |
AC_SUBST(FFTW_LIBS) |
892 |
fi |
893 |
fi |
894 |
fi |
895 |
]) |
896 |
|
897 |
|
898 |
dnl |
899 |
dnl These functions were taken from the GRASS GIS toolkit: |
900 |
dnl |
901 |
dnl autoconf undefines "eval", so use "builtin([eval], ...)" |
902 |
dnl |
903 |
|
904 |
AC_DEFUN(LOC_CHECK_USE,[ |
905 |
AC_MSG_CHECKING(whether to use $2) |
906 |
AC_MSG_RESULT("$with_$1") |
907 |
case "$with_$1" in |
908 |
"no") $3= ;; |
909 |
"yes") $3="1" ;; |
910 |
*) AC_MSG_ERROR([*** You must answer yes or no.]) ;; |
911 |
esac |
912 |
|
913 |
]) |
914 |
|
915 |
AC_DEFUN(LOC_CHECK_INC_PATH,[ |
916 |
AC_MSG_CHECKING(for location of $2 includes) |
917 |
case "$with_$1_includes" in |
918 |
y | ye | yes | n | no) |
919 |
AC_MSG_ERROR([*** You must supply a directory to --with-$1-includes.]) |
920 |
;; |
921 |
esac |
922 |
AC_MSG_RESULT($with_$1_includes) |
923 |
|
924 |
if test -n "$with_$1_includes" ; then |
925 |
for dir in $with_$1_includes; do |
926 |
if test -d "$dir"; then |
927 |
$3="$$3 -I$dir" |
928 |
else |
929 |
AC_MSG_ERROR([*** $2 includes directory $dir does not exist.]) |
930 |
fi |
931 |
done |
932 |
fi |
933 |
]) |
934 |
|
935 |
AC_DEFUN(LOC_CHECK_LIB_PATH,[ |
936 |
AC_MSG_CHECKING(for location of $2 library) |
937 |
case "$with_$1_libs" in |
938 |
y | ye | yes | n | no) |
939 |
AC_MSG_ERROR([*** You must supply a directory to --with-$1-libs.]) |
940 |
;; |
941 |
esac |
942 |
AC_MSG_RESULT($with_$1_libs) |
943 |
|
944 |
if test -n "$with_$1_libs"; then |
945 |
for dir in $with_$1_libs; do |
946 |
if test -d "$dir"; then |
947 |
$3="$$3 -L$dir" |
948 |
else |
949 |
AC_MSG_ERROR([*** $2 library directory $dir does not exist.]) |
950 |
fi |
951 |
done |
952 |
fi |
953 |
]) |
954 |
|
955 |
AC_DEFUN(LOC_CHECK_SHARE_PATH,[ |
956 |
AC_MSG_CHECKING(for location of $2 data files) |
957 |
case "$with_$1_share" in |
958 |
y | ye | yes | n | no) |
959 |
AC_MSG_ERROR([*** You must supply a directory to --with-$1-share.]) |
960 |
;; |
961 |
esac |
962 |
AC_MSG_RESULT($with_$1_share) |
963 |
|
964 |
if test -n "$with_$1_share" ; then |
965 |
if test -d "$with_$1_share"; then |
966 |
$3="$with_$1_share" |
967 |
else |
968 |
AC_MSG_ERROR([*** $2 data directory $dir does not exist.]) |
969 |
fi |
970 |
fi |
971 |
]) |
972 |
|
973 |
AC_DEFUN(LOC_CHECK_INCLUDES,[ |
974 |
ac_save_cppflags="$CPPFLAGS" |
975 |
CPPFLAGS="$3 $CPPFLAGS" |
976 |
AC_CHECK_HEADERS($1, [], ifelse($4,[],[ |
977 |
AC_MSG_ERROR([*** Unable to locate $2 includes.]) |
978 |
], $4)) |
979 |
CPPFLAGS=$ac_save_cppflags |
980 |
]) |
981 |
|
982 |
dnl autoconf undefines "shift", so use "builtin([shift], ...)" |
983 |
|
984 |
define(LOC_SHIFT1,[builtin([shift],$*)]) |
985 |
define(LOC_SHIFT2,[LOC_SHIFT1(LOC_SHIFT1($*))]) |
986 |
define(LOC_SHIFT4,[LOC_SHIFT2(LOC_SHIFT2($*))]) |
987 |
define(LOC_SHIFT8,[LOC_SHIFT4(LOC_SHIFT4($*))]) |
988 |
define(LOC_SHIFT9,[LOC_SHIFT1(LOC_SHIFT8($*))]) |
989 |
|
990 |
dnl $1 = library |
991 |
dnl $2 = function |
992 |
dnl $3 = descriptive name |
993 |
dnl $4 = LDFLAGS initialiser |
994 |
dnl $5 = result variable |
995 |
dnl $6 = mandatory dependencies (not added to $5) |
996 |
dnl $7 = mandatory dependencies (added to $5) |
997 |
dnl $8 = ACTION-IF-NOT-FOUND |
998 |
dnl $9+ = optional dependencies |
999 |
|
1000 |
define(LOC_CHECK_LIBS_0,[ |
1001 |
AC_CHECK_LIB($1, $2, $5="$$5 -l$1 $7",[ |
1002 |
[$8] |
1003 |
],$6 $7) |
1004 |
]) |
1005 |
|
1006 |
define(LOC_CHECK_LIBS_1,[ |
1007 |
ifelse($9,[], |
1008 |
LOC_CHECK_LIBS_0($1,$2,,,$5,$6,$7,$8), |
1009 |
[ |
1010 |
LOC_CHECK_LIBS_1($1,$2,,,$5,$6,$7, |
1011 |
LOC_CHECK_LIBS_1($1,$2,,,$5,$6,$7 $9,$8,LOC_SHIFT9($*)), |
1012 |
LOC_SHIFT9($*)) |
1013 |
] |
1014 |
) |
1015 |
]) |
1016 |
|
1017 |
define(LOC_CHECK_LIBS,[ |
1018 |
ac_save_ldflags="$LDFLAGS" |
1019 |
LDFLAGS="$4 $LDFLAGS" |
1020 |
LOC_CHECK_LIBS_1($1,$2,,,$5,$6,$7, |
1021 |
LDFLAGS=${ac_save_ldflags} |
1022 |
ifelse($8,[],[ |
1023 |
AC_MSG_ERROR([*** Unable to locate $3 library.]) |
1024 |
],$8),LOC_SHIFT8($*)) |
1025 |
LDFLAGS=${ac_save_ldflags} |
1026 |
]) |
1027 |
|
1028 |
AC_DEFUN(LOC_CHECK_VERSION_STRING,[ |
1029 |
AC_MSG_CHECKING($3 version) |
1030 |
ac_save_cppflags="$CPPFLAGS" |
1031 |
CPPFLAGS="$5 $CPPFLAGS" |
1032 |
AC_TRY_RUN([ |
1033 |
#include <stdio.h> |
1034 |
#include <$1> |
1035 |
int main(void) { |
1036 |
FILE *fp = fopen("conftestdata","w"); |
1037 |
fputs($2, fp); |
1038 |
return 0; |
1039 |
} |
1040 |
], |
1041 |
[ $4=`cat conftestdata` |
1042 |
AC_MSG_RESULT($$4)], |
1043 |
[ AC_MSG_ERROR([*** Could not determine $3 version.]) ], |
1044 |
[ $4=$6 |
1045 |
AC_MSG_RESULT([unknown (cross-compiling)]) ]) |
1046 |
CPPFLAGS=$ac_save_cppflags |
1047 |
]) |
1048 |
|
1049 |
AC_DEFUN(LOC_CHECK_SHARE,[ |
1050 |
AC_CHECK_FILE($3/$1, [], ifelse($4,[],[ |
1051 |
AC_MSG_ERROR([*** Unable to locate $2 data files.]) |
1052 |
], $4)) |
1053 |
]) |
1054 |
|
1055 |
AC_DEFUN(LOC_CHECK_VERSION_INT,[ |
1056 |
AC_MSG_CHECKING($3 version) |
1057 |
ac_save_cppflags="$CPPFLAGS" |
1058 |
CPPFLAGS="$5 $CPPFLAGS" |
1059 |
AC_TRY_RUN([ |
1060 |
#include <stdio.h> |
1061 |
#include <$1> |
1062 |
int main(void) { |
1063 |
FILE *fp = fopen("conftestdata","w"); |
1064 |
fprintf(fp, "%d", $2); |
1065 |
return 0; |
1066 |
} |
1067 |
], |
1068 |
[ $4=`cat conftestdata` |
1069 |
AC_MSG_RESULT($$4)], |
1070 |
[ AC_MSG_ERROR([*** Could not determine $3 version.]) ], |
1071 |
[ $4=$6 |
1072 |
AC_MSG_RESULT([unknown (cross-compiling)]) ]) |
1073 |
CPPFLAGS=$ac_save_cppflags |
1074 |
]) |
1075 |
|
1076 |
dnl autoconf undefines "eval", so use "builtin([eval], ...)" |
1077 |
|
1078 |
AC_DEFUN(LOC_PAD,[$1[]ifelse(builtin([eval],len($1) > 23),1,[ |
1079 |
],substr([ ],len($1)))]) |
1080 |
|
1081 |
AC_DEFUN(LOC_ARG_WITH,[ |
1082 |
AC_ARG_WITH($1, |
1083 |
LOC_PAD([ --with-$1])[support $2 functionality (default: ]ifelse([$3],,yes,[$3])[)],, |
1084 |
[with_$1=]ifelse([$3],,yes,[$3])) |
1085 |
]) |
1086 |
|
1087 |
AC_DEFUN(LOC_ARG_WITH_INC,[ |
1088 |
AC_ARG_WITH($1-includes, |
1089 |
LOC_PAD([ --with-$1-includes=DIRS])[$2 include files are in DIRS]) |
1090 |
]) |
1091 |
|
1092 |
AC_DEFUN(LOC_ARG_WITH_LIB,[ |
1093 |
AC_ARG_WITH($1-libs, |
1094 |
LOC_PAD([ --with-$1-libs=DIRS])[$2 library files are in DIRS]) |
1095 |
]) |
1096 |
|
1097 |
AC_DEFUN(LOC_ARG_WITH_SHARE,[ |
1098 |
AC_ARG_WITH($1-share, |
1099 |
LOC_PAD([ --with-$1-share=DIR])[$2 data files are in DIR]) |
1100 |
]) |
1101 |
|
1102 |
AC_DEFUN(LOC_OPTIONAL,[ |
1103 |
AC_MSG_CHECKING(whether to build $1) |
1104 |
if test -n "$USE_$2" ; then |
1105 |
AC_MSG_RESULT(yes) |
1106 |
BUILD_$3="$4" |
1107 |
else |
1108 |
AC_MSG_RESULT(no) |
1109 |
BUILD_$3= |
1110 |
fi |
1111 |
AC_SUBST(BUILD_$3) |
1112 |
]) |
1113 |
|
1114 |
AC_DEFUN(LOC_MSG,[ |
1115 |
echo "$1" |
1116 |
]) |
1117 |
|
1118 |
AC_DEFUN(LOC_PAD_26,[substr([ ],len($1))]) |
1119 |
|
1120 |
AC_DEFUN(LOC_YES_NO,[if test -n "${$1}" ; then echo yes ; else echo no ; fi]) |
1121 |
|
1122 |
AC_DEFUN(LOC_MSG_USE,[ |
1123 |
[echo " $1:]LOC_PAD_26($1)`LOC_YES_NO($2)`"]) |