ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/OpenMD/trunk/ac-tools/OOPSE.m4
Revision: 1223
Committed: Wed Jan 23 22:36:36 2008 UTC (17 years, 6 months ago) by gezelter
File size: 51768 byte(s)
Log Message:
fixing a configure script error

File Contents

# Content
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
73 dnl
74 dnl AC_CHECK_MODDIRFLAG
75 dnl
76 AC_DEFUN([AC_CHECK_MODDIRFLAG],[
77
78 # Check for module include path (some use -I, some (Solaris) use -M, some
79 # (absoft) use -p).
80 # Intel compilers use a wierd system: -cl,filename.pcl . If no file is
81 # specified, work.pcl and work.pc are created. However, if you specify
82 # a file, it must contain a the name of a file ending in .pc . Ugh!
83 # Use the module made above
84 AC_MSG_CHECKING(for module directory path flag)
85 rm -f conftest*
86 # Intel ifc compiler generates files by the name of work.pc and work.pcl (!)
87 rm -f work*
88 cat >conftest.$ac_ext <<EOF
89 module conftest
90 integer n
91 parameter (n=1)
92 end module conftest
93 EOF
94 # SGI and absoft compilers generates module name in upper case!
95 testname="conftest"
96 if (eval $ac_compile) 2>/dev/null ; then
97 mod=`ls CONFTEST* 2>/dev/null | grep -v CONFTEST.$ac_ext | grep -v CONFTEST.o`
98 mod=`echo "$mod" | sed -e 's/CONFTEST\.//g'`
99 if test -n "$mod" ; then
100 testname="CONFTEST"
101 fi
102 madedir=0
103 if test ! -d conf ; then mkdir conf ; madedir=1; fi
104 cp $testname.$MOD conf
105 rm -f conftest* CONFTEST*
106 cat >conftest1.$ac_ext <<EOF
107 program main
108 use conftest
109 print *, n
110 end
111 EOF
112 F90_WORK_FILES_ARG=""
113 F90MODINCSPEC=""
114 if $FC -c -Iconf $FCFLAGS $FCFLAGS_SRCEXT conftest1.$ac_ext > conftest.out 2>&1 ; then
115 MODDIRFLAG="-I"
116 F90MODINCSPEC="-I<dir>"
117 AC_MSG_RESULT(-I)
118 elif $FC -c -Mconf $FCFLAGS $FCFLAGS_SRCEXT conftest1.$ac_ext >> conftest.out 2>&1 ; then
119 MODDIRFLAG="-M"
120 F90MODINCSPEC="-M<dir>"
121 AC_MSG_RESULT(-M)
122 elif $FC -c -pconf $FCFLAGS $FCFLAGS_SRCEXT conftest1.$ac_ext >> conftest.out 2>&1 ; then
123 MODDIRFLAG="-p"
124 F90MODINCSPEC="-p<dir>"
125 AC_MSG_RESULT(-p)
126 elif test -s work.pc ; then
127 cp work.pc conf/mpimod.pc
128 echo "mpimod.pc" > conf/mpimod.pcl
129 echo "`pwd`/conf/mpimod.pc" >> conf/mpimod.pcl
130 if $FC -c -cl,conf/mpimod.pcl $FCFLAGS $FCFLAGS_SRCEXT conftest1.$ac_ext >>conftest.out 2>&1 ; then
131 MODDIRFLAG='-cl,mpimod.pcl'
132 AC_MSG_RESULT([-cl,filename where filename contains a list of files and directories])
133 F90_WORK_FILES_ARG="-cl,mpimod.pcl"
134 F90MODINCSPEC="-cl,<dir>/<file>mod.pcl"
135 AC_SUBST(F90_WORK_FILES_ARG)
136 else
137 # The version of the Intel compiler that I have refuses to let
138 # you put the "work catalog" list anywhere but the current
139 # directory. For example, you cannot in
140 :
141 fi
142 fi
143 if test -z "MODDIRFLAG" ; then
144 AC_MSG_RESULT(unknown)
145 fi
146 AC_SUBST(MODDIRFLAG)
147 AC_SUBST(F90MODINCSPEC)
148 rm -f conftest* conf/conftest* conf/CONFTEST* CONFTEST* conf/mpimod*
149 if test $madedir = 1 ; then rmdir conf ; fi
150 fi
151
152 ])
153
154 AC_DEFUN(ACX_CHECK_CC_FLAGS,
155 [
156 AC_REQUIRE([AC_PROG_CC])
157 AC_CACHE_CHECK(whether ${CC} accepts $1, ac_$2,
158 [echo 'void f(){}' > conftest.c
159 if test -z "`${CC} $1 -c conftest.c 2>&1`"; then
160 ac_$2=yes
161 else
162 ac_$2=no
163 fi
164 rm -f conftest*
165 ])
166 if test "$ac_$2" = yes; then
167 :
168 $3
169 else
170 :
171 $4
172 fi
173 ])
174
175 AC_DEFUN(ACX_CHECK_CXX_FLAGS,
176 [
177 AC_REQUIRE([AC_PROG_CXX])
178 AC_CACHE_CHECK(whether ${CXX} accepts $1, ac_$2,
179 [echo 'void f(){}' > conftest.cpp
180 if test -z "`${CXX} $1 -c conftest.cpp 2>&1`"; then
181 ac_$2=yes
182 else
183 ac_$2=no
184 fi
185 rm -f conftest*
186 ])
187 if test "$ac_$2" = yes; then
188 :
189 $3
190 else
191 :
192 $4
193 fi
194 ])
195
196 dnl -------------------------------------------------------------------------
197 dnl ACX_CHECK_FC_FLAGS()
198 dnl
199 dnl Check for optimizer flags the Fortran compiler can use.
200 dnl
201 AC_DEFUN(ACX_CHECK_FC_FLAGS,
202 [
203 AC_CACHE_CHECK(whether ${FC} accepts $1, ac_$2,
204 [
205 AC_LANG_SAVE
206 AC_LANG(Fortran)
207 echo 'program main' > conftest.$ac_ext
208 echo 'end program main' >> conftest.$ac_ext
209 ac_compile='${FC} -c $1 $FCFLAGS $FCFLAGS_SRCEXT conftest.$ac_ext 1>&AC_FD_CC'
210 if AC_TRY_EVAL(ac_compile); then
211 ac_$2=yes
212 else
213 ac_$2=no
214 fi
215 rm -f conftest*
216 AC_LANG_RESTORE()
217 ])
218 if test "$ac_$2" = yes; then
219 :
220 $3
221 else
222 :
223 $4
224 fi
225 ])
226
227 AC_DEFUN(ACX_PROG_GCC_VERSION,
228 [
229 AC_REQUIRE([AC_PROG_CC])
230 AC_CACHE_CHECK(whether we are using gcc $1.$2 or later, ac_cv_prog_gcc_$1_$2,
231 [
232 dnl The semicolon after "yes" below is to pacify NeXT's syntax-checking cpp.
233 cat > conftest.c <<EOF
234 #ifdef __GNUC__ && !defined (__INTEL_COMPILER)
235 # if (__GNUC__ > $1) || (__GNUC__ == $1 && __GNUC_MINOR__ >= $2)
236 yes;
237 # endif
238 #endif
239 EOF
240 if AC_TRY_COMMAND(${CC-cc} -E conftest.c) | egrep yes >/dev/null 2>&1; then
241 ac_cv_prog_gcc_$1_$2=yes
242 else
243 ac_cv_prog_gcc_$1_$2=no
244 fi
245 ])
246 if test "$ac_cv_prog_gcc_$1_$2" = yes; then
247 :
248 $3
249 else
250 :
251 $4
252 fi
253 ])
254
255 AC_DEFUN(ACX_PROG_GXX_VERSION,
256 [
257 AC_REQUIRE([AC_PROG_CXX])
258 AC_CACHE_CHECK(whether we are using g++ $1.$2 or later, ac_cv_prog_gxx_$1_$2,
259 [
260 dnl The semicolon after "yes" below is to pacify NeXT's syntax-checking cpp.
261 cat > conftest.cpp <<EOF
262 #ifdef __GNUC__ && !defined (__INTEL_COMPILER)
263 # if (__GNUC__ > $1) || (__GNUC__ == $1 && __GNUC_MINOR__ >= $2)
264 yes;
265 # endif
266 #endif
267 EOF
268 if AC_TRY_COMMAND(${CXX-c++} -E conftest.cpp) | egrep yes >/dev/null 2>&1; then
269 ac_cv_prog_gxx_$1_$2=yes
270 else
271 ac_cv_prog_gxx_$1_$2=no
272 fi
273 ])
274 if test "$ac_cv_prog_gxx_$1_$2" = yes; then
275 :
276 $3
277 else
278 :
279 $4
280 fi
281 ])
282
283 AC_DEFUN(ACX_PROG_REALLY_GCC,
284 [
285 AC_REQUIRE([AC_PROG_CC])
286 AC_CACHE_CHECK(whether we are *really* using GNU cc, ac_cv_prog_really_gcc,
287 [
288 dnl The semicolon after "yes" below is to pacify NeXT's syntax-checking cpp.
289 cat > conftest.c <<EOF
290 #ifdef __GNUC__
291 #if defined(__INTEL_COMPILER) || defined(__PATHCC__)
292 no;
293 #else
294 yes;
295 #endif
296 #endif
297 EOF
298 if AC_TRY_COMMAND(${CC-cc} -E conftest.c) | egrep yes >/dev/null 2>&1; then
299 ac_cv_prog_really_gcc=yes
300 else
301 ac_cv_prog_really_gcc=no
302 fi
303 ])
304 if test "$ac_cv_prog_really_gcc" = yes; then
305 :
306 $1
307 else
308 :
309 $2
310 fi
311 ])
312
313 AC_DEFUN(ACX_PROG_REALLY_GXX,
314 [
315 AC_REQUIRE([AC_PROG_CXX])
316 AC_CACHE_CHECK(whether we are *really* using GNU c++, ac_cv_prog_really_gxx,
317 [
318 dnl The semicolon after "yes" below is to pacify NeXT's syntax-checking cpp.
319 cat > conftest.cpp <<EOF
320 #ifdef __GNUC__
321 #if defined(__INTEL_COMPILER) || defined(__PATHCC__)
322 no;
323 #else
324 yes;
325 #endif
326 #endif
327 EOF
328 if AC_TRY_COMMAND(${CXX-c++} -E conftest.cpp) | egrep yes >/dev/null 2>&1; then
329 ac_cv_prog_really_gxx=yes
330 else
331 ac_cv_prog_really_gxx=no
332 fi
333 ])
334 if test "$ac_cv_prog_really_gxx" = yes; then
335 :
336 $1
337 else
338 :
339 $2
340 fi
341 ])
342
343
344 AC_DEFUN(ACX_PROG_CC_MAXOPT,
345 [
346 AC_REQUIRE([AC_PROG_CC])
347 AC_REQUIRE([AC_CANONICAL_HOST])
348
349 ACX_PROG_REALLY_GCC
350
351 # Try to determine "good" native compiler flags if none specified on command
352 # line
353 if test "$ac_test_CFLAGS" != "set"; then
354 CFLAGS=""
355 case "${host_cpu}-${host_os}" in
356
357 *linux*) if test "$CC" = icc; then
358 CFLAGS="-O"
359 fi;;
360 sparc-solaris2*) if test "$CC" = cc; then
361 CFLAGS="-O -dalign"
362 fi;;
363
364 alpha*-osf*) if test "$CC" = cc; then
365 CFLAGS="-newc -w0 -O5 -ansi_alias -ansi_args -fp_reorder -tune host -arch host -std1"
366 fi;;
367
368 hppa*-hpux*) if test "$CC" = cc; then
369 CFLAGS="-Ae +O3 +Oall"
370 fi;;
371
372 rs6000*-aix*) if test "$CC" = cc -o "$CC" = xlc; then
373 CFLAGS="-O3 -qtune=auto -qansialias -w"
374 fi;;
375 powerpc*-aix*)
376 if test "$CC" = cc -o "$CC" = xlc; then
377 CFLAGS="-O3 -qtune=auto -qansialias -w"
378 echo "*******************************************************"
379 echo "* You have AIX on an unknown powerpc system. It is *"
380 echo "* recommended that you use *"
381 echo "* *"
382 echo "* CFLAGS=-O3 -qarch=ppc -qtune=xxx -qansialias -w *"
383 echo "* ^^^ *"
384 echo "* where xxx is 601, 603, 604, or whatever kind of *"
385 echo "* PowerPC CPU you have. For more info, man cc. *"
386 echo "*******************************************************"
387 fi;;
388 *darwin*)
389 if test "$CC" = xlc -o "$CC" = cc; then
390 CFLAGS="-qthreaded -O -qtune=auto -qarch=auto -qunroll=auto -qaltivec"
391 fi
392 if test "$CC" = icc; then
393 CFLAGS="-O3 -ip -no-prec-div -mdynamic-no-pic"
394 fi;;
395 esac
396
397 # use default flags for gcc on all systems
398 if test $ac_cv_prog_really_gcc = yes; then
399 CFLAGS="-O6 -fomit-frame-pointer -Wall -W -Wcast-qual -Wpointer-arith -Wcast-align"
400 fi
401
402 # test for gcc-specific flags:
403 if test $ac_cv_prog_really_gcc = yes; then
404 # -malign-double for x86 systems
405 ACX_CHECK_CC_FLAGS(-malign-double,align_double, CFLAGS="$CFLAGS -malign-double")
406 # -fstrict-aliasing for gcc-2.95+
407 ACX_CHECK_CC_FLAGS(-fstrict-aliasing,fstrict_aliasing, CFLAGS="$CFLAGS -fstrict-aliasing")
408 fi
409
410 CPU_FLAGS=""
411 if test $ac_cv_prog_really_gcc = yes; then
412 dnl try to guess correct CPU flags, at least for linux
413 case "${host_cpu}" in
414 i586*) ACX_CHECK_CC_FLAGS(-mcpu=pentium,cpu_pentium,
415 [CPU_FLAGS=-mcpu=pentium],
416 [ACX_CHECK_CC_FLAGS(-mpentium,pentium,
417 [CPU_FLAGS=-mpentium])])
418 ;;
419 i686*) ACX_CHECK_CC_FLAGS(-mcpu=pentiumpro,cpu_pentiumpro,
420 [CPU_FLAGS=-mcpu=pentiumpro],
421 [ACX_CHECK_CC_FLAGS(-mpentiumpro,pentiumpro,
422 [CPU_FLAGS=-mpentiumpro])])
423 ;;
424 powerpc*)
425 cputype=`(grep cpu /proc/cpuinfo | head -1 | cut -d: -f2 | sed 's/ //g') 2> /dev/null`
426 is60x=`echo $cputype | egrep "^60[0-9]e?$"`
427 if test -n "$is60x"; then
428 ACX_CHECK_CC_FLAGS(-mcpu=$cputype,m_cpu_60x,
429 CPU_FLAGS=-mcpu=$cputype)
430 elif test "$cputype" = 750; then
431 ACX_PROG_GCC_VERSION(2,95,
432 ACX_CHECK_CC_FLAGS(-mcpu=750,m_cpu_750,
433 CPU_FLAGS=-mcpu=750))
434 fi
435 if test -z "$CPU_FLAGS"; then
436 ACX_CHECK_CC_FLAGS(-mcpu=powerpc,m_cpu_powerpc,
437 CPU_FLAGS=-mcpu=powerpc)
438 fi
439 if test -z "$CPU_FLAGS"; then
440 ACX_CHECK_CC_FLAGS(-mpowerpc,m_powerpc,
441 CPU_FLAGS=-mpowerpc)
442 fi
443 esac
444 fi
445
446 if test -n "$CPU_FLAGS"; then
447 CFLAGS="$CFLAGS $CPU_FLAGS"
448 fi
449
450 if test -z "$CFLAGS"; then
451 echo ""
452 echo "********************************************************"
453 echo "* WARNING: Don't know the best CFLAGS for this system *"
454 echo "* Use make CFLAGS=..., or edit the top level Makefile *"
455 echo "* (otherwise, a default of CFLAGS=-O3 will be used) *"
456 echo "********************************************************"
457 echo ""
458 CFLAGS="-O3"
459 fi
460
461 ACX_CHECK_CC_FLAGS(${CFLAGS}, guessed_cflags, , [
462 echo ""
463 echo "********************************************************"
464 echo "* WARNING: The guessed CFLAGS don't seem to work with *"
465 echo "* your compiler. *"
466 echo "* Use make CFLAGS=..., or edit the top level Makefile *"
467 echo "********************************************************"
468 echo ""
469 CFLAGS=""
470 ])
471
472 fi
473 ])
474
475 AC_DEFUN(ACX_PROG_CXX_MAXOPT,
476 [
477 AC_REQUIRE([AC_PROG_CXX])
478 AC_REQUIRE([AC_CANONICAL_HOST])
479
480 ACX_PROG_REALLY_GXX
481
482 # Try to determine "good" native compiler flags if none specified on command
483 # line
484 if test "$ac_test_CXXFLAGS" != "set"; then
485 CXXFLAGS=""
486 case "${host_cpu}-${host_os}" in
487
488 *linux*) if test "$CXX" = icc -o "$CXX" = icpc; then
489 CXXFLAGS="-O"
490 fi;;
491 sparc-solaris2*) if test "$CXX" = CC; then
492 CXXFLAGS="-features=extensions -O -dalign"
493 fi;;
494 rs6000*-aix*) if test "$CXX" = xlC; then
495 CXXFLAGS="-O3 -qarch=pwrx -qtune=pwrx -qansialias -w"
496 fi;;
497 powerpc*-aix*)
498 if test "$CXX" = xlC; then
499 CXXFLAGS="-O3 -qarch=ppc -qansialias -w"
500 echo "*******************************************************"
501 echo "* You have AIX on an unknown powerpc system. It is *"
502 echo "* recommended that you use *"
503 echo "* *"
504 echo "* CXXFLAGS=-O3 -qarch=ppc -qtune=xxx -qansialias -w *"
505 echo "* ^^^ *"
506 echo "* where xxx is 601, 603, 604, or whatever kind of *"
507 echo "* PowerPC CPU you have. For more info, man cc. *"
508 echo "*******************************************************"
509 fi;;
510 *darwin*)
511 if test "$CXX" = xlc++ -o "$CXX" = xlC ; then
512 CXXFLAGS="-qthreaded -O -qtune=auto -qarch=auto -qunroll=auto -qaltivec"
513 fi
514 if test "$CXX" = icpc; then
515 CXXFLAGS="-O3 -ip -no-prec-div -mdynamic-no-pic"
516 fi;;
517 esac
518
519 # use default flags for gcc on all systems
520 if test $ac_cv_prog_really_gxx = yes; then
521 CXXFLAGS="-O6 -fomit-frame-pointer -Wall -W -Wcast-qual -Wpointer-arith -Wcast-align"
522 fi
523
524 # test for gcc-specific flags:
525 if test $ac_cv_prog_really_gxx = yes; then
526 # -malign-double for x86 systems
527 ACX_CHECK_CXX_FLAGS(-malign-double,align_double, CXXFLAGS="$CXXFLAGS -malign-double")
528 # -fstrict-aliasing for gcc-2.95+
529 ACX_CHECK_CXX_FLAGS(-fstrict-aliasing,fstrict_aliasing, CXXFLAGS="$CXXFLAGS -fstrict-aliasing")
530 fi
531
532 CPU_FLAGS=""
533 if test $ac_cv_prog_really_gxx = yes; then
534 dnl try to guess correct CPU flags, at least for linux
535 case "${host_cpu}" in
536 i586*) ACX_CHECK_CXX_FLAGS(-mcpu=pentium,cpu_pentium,
537 [CPU_FLAGS=-mcpu=pentium],
538 [ACX_CHECK_CXX_FLAGS(-mpentium,pentium,
539 [CPU_FLAGS=-mpentium])])
540 ;;
541 i686*) ACX_CHECK_CXX_FLAGS(-mcpu=pentiumpro,cpu_pentiumpro,
542 [CPU_FLAGS=-mcpu=pentiumpro],
543 [ACX_CHECK_CXX_FLAGS(-mpentiumpro,pentiumpro,
544 [CPU_FLAGS=-mpentiumpro])])
545 ;;
546 powerpc*)
547 cputype=`(grep cpu /proc/cpuinfo | head -1 | cut -d: -f2 | sed 's/ //g') 2> /dev/null`
548 is60x=`echo $cputype | egrep "^60[0-9]e?$"`
549 if test -n "$is60x"; then
550 ACX_CHECK_CXX_FLAGS(-mcpu=$cputype,m_cpu_60x,
551 CPU_FLAGS=-mcpu=$cputype)
552 elif test "$cputype" = 750; then
553 ACX_PROG_GXX_VERSION(2,95,
554 ACX_CHECK_CXX_FLAGS(-mcpu=750,m_cpu_750,
555 CPU_FLAGS=-mcpu=750))
556 fi
557 if test -z "$CPU_FLAGS"; then
558 ACX_CHECK_CXX_FLAGS(-mcpu=powerpc,m_cpu_powerpc,
559 CPU_FLAGS=-mcpu=powerpc)
560 fi
561 if test -z "$CPU_FLAGS"; then
562 ACX_CHECK_CXX_FLAGS(-mpowerpc,m_powerpc,
563 CPU_FLAGS=-mpowerpc)
564 fi
565 esac
566 fi
567
568 if test -n "$CPU_FLAGS"; then
569 CXXFLAGS="$CXXFLAGS $CPU_FLAGS"
570 fi
571
572 if test -z "$CXXFLAGS"; then
573 echo ""
574 echo "**********************************************************"
575 echo "* WARNING: Don't know the best CXXFLAGS for this system *"
576 echo "* Use make CXXFLAGS=..., or edit the top level Makefile *"
577 echo "* (otherwise, a default of CXXFLAGS=-O3 will be used) *"
578 echo "**********************************************************"
579 echo ""
580 CXXFLAGS="-O3"
581 fi
582
583 ACX_CHECK_CXX_FLAGS(${CXXFLAGS}, guessed_cxxflags, , [
584 echo ""
585 echo "**********************************************************"
586 echo "* WARNING: The guessed CXXFLAGS don't seem to work with *"
587 echo "* your compiler. *"
588 echo "* Use make CXXFLAGS=..., or edit the top level Makefile *"
589 echo "**********************************************************"
590 echo ""
591 CXXFLAGS=""
592 ])
593
594 fi
595 ])
596
597 AC_DEFUN(ACX_PROG_FC_MAXOPT,
598 [
599 AC_REQUIRE([AC_PROG_FC])
600 AC_REQUIRE([AC_CANONICAL_HOST])
601
602 # Try to determine "good" native compiler flags if none specified on command
603 # line
604
605 if test "$ac_test_FFLAGS" != "set"; then
606 FCFLAGS=""
607 case "${host_cpu}-${host_os}" in
608
609 *linux*) if test "$FC" = ifc -o "$FC" = ifort; then
610 FCFLAGS="-O3 -ip -no-prec-div"
611 fi;;
612 rs6000*-aix*) if test "$FC" = xlf90 -o "$FC" = f90 -o "$FC" = xlf95; then
613 FCFLAGS="-O3 -qarch=pwrx -qtune=pwrx -qansialias -w"
614 fi;;
615 powerpc*-aix*)
616 if test "$FC" = f90 -o "$FC" = xlf90 -o "$FC" = xlf95; then
617 FCFLAGS="-O3 -qarch=ppc -qansialias -w"
618 echo "*******************************************************"
619 echo "* You have AIX on an unknown powerpc system. It is *"
620 echo "* recommended that you use *"
621 echo "* *"
622 echo "* FCFLAGS=-O3 -qarch=ppc -qtune=xxx -qansialias -w *"
623 echo "* ^^^ *"
624 echo "* where xxx is 601, 603, 604, or whatever kind of *"
625 echo "* PowerPC CPU you have. For more info, man xlf. *"
626 echo "*******************************************************"
627 fi;;
628 *darwin*)
629 if test "$FC" = f90 -o "$FC" = xlf90 -o "$FC" = xlf95; then
630 FCFLAGS="-qthreaded -O -qtune=auto -qarch=auto -qunroll=auto"
631 fi
632 if test "$FC" = ifort; then
633 FCFLAGS="-O3 -ip -no-prec-dev -mdynamic-no-pic"
634 fi;;
635 esac
636
637 if test -n "$CPU_FLAGS"; then
638 FCFLAGS="$FCFLAGS $CPU_FLAGS"
639 fi
640
641 if test -z "$FCFLAGS"; then
642 echo ""
643 echo "*********************************************************"
644 echo "* WARNING: Don't know the best FCFLAGS for this system *"
645 echo "* Use make FCFLAGS=..., or edit the top level Makefile *"
646 echo "* (otherwise, a default of FCFLAGS=-O3 will be used) *"
647 echo "*********************************************************"
648 echo ""
649 FCFLAGS="-O3"
650 fi
651
652 ACX_CHECK_FC_FLAGS(${FCFLAGS}, guessed_f90flags, , [
653 echo ""
654 echo "**********************************************************"
655 echo "* WARNING: The guessed FCFLAGS don't seem to work with *"
656 echo "* your compiler. *"
657 echo "* Use make FCFLAGS=..., or edit the top level Makefile *"
658 echo "*********************************************************"
659 echo ""
660 FCFLAGS=""
661 ])
662
663 fi
664 ])
665
666 AC_DEFUN(ACX_PROG_F90_PREPFLAG,
667 [
668 AC_REQUIRE([AC_PROG_FC])
669 AC_REQUIRE([AC_CANONICAL_HOST])
670
671 # Try to determine native compiler flags that allow us to use F90 suffix
672 # for preprocessed f90 source.
673
674 if test "$ac_test_PREPFLAG" != "set"; then
675 PREPFLAG=""
676 case "${host_cpu}-${host_os}" in
677
678 *linux*) if test "$FC" = ifc -o "$FC" = ifort; then
679 PREPFLAG="-fpp1 "
680 fi;;
681 *aix*) if test "$FC" = xlf90 -o "$FC" = f90 -o "$FC" = xlf95; then
682 PREPFLAG="-qsuffix=cpp=F90 "
683 fi;;
684 *darwin*)
685 if test "$FC" = f90 -o "$FC" = xlf90 -o "$FC" = xlf95; then
686 PREPFLAG="-qsuffix=cpp=F90 "
687 fi;;
688 esac
689
690 if test -z "$PREPFLAG"; then
691 AC_MSG_WARN("Using empty PREPFLAG")
692 PREPFLAG=""
693 fi
694
695 AC_MSG_CHECKING(to make sure F90 preprocessor flag works)
696 AC_LANG_SAVE()
697 AC_LANG(Fortran)
698 ac_save_ext=$ac_ext
699 ac_ext=F90
700 ac_save_FCFLAGS_SRCEXT=$FCFLAGS_SRCEXT
701
702 AS_IF([test "$PREPFLAG"], [FCFLAGS_SRCEXT="${PREPFLAG}"])
703 _AC_COMPILE_IFELSE([
704 AC_LANG_SOURCE([
705 program conftest
706 integer :: i
707 i = 1
708 end program conftest
709 ])], [prepflagworks=1], [prepflagworks=0])
710
711 FCFLAGS_SRCEXT=$ac_save_FCFLAGS_SRCEXT
712 ac_ext=$ac_save_ext
713 AC_LANG_RESTORE()
714
715 if test "$prepflagworks" = 1; then
716 AC_MSG_RESULT(yes)
717 FCFLAGS_SRCEXT="${PREPFLAG}"
718 AC_SUBST(FCFLAGS_SRCEXT)
719 else
720 AC_MSG_RESULT(no)
721 AC_MSG_ERROR([Can't figure out working Fortran90 preprocessor flag])
722 fi
723 fi
724 ])
725
726
727 AC_DEFUN(ACX_PROG_F90_PREPDEFFLAG,
728 [
729 AC_REQUIRE([AC_PROG_FC])
730 AC_REQUIRE([AC_CANONICAL_HOST])
731
732 # Try to determine native compiler flags that allow us to use F90 suffix
733 # for preprocessed f90 source with -D type defines
734
735 if test "$ac_test_PREPDEFFLAG" != "set"; then
736 PREPDEFFLAG=""
737 case "${host_cpu}-${host_os}" in
738
739 *linux*) if test "$FC" = ifc -o "$FC" = ifort; then
740 PREPDEFFLAG=" "
741 fi;;
742 *aix*) if test "$FC" = xlf90 -o "$FC" = f90 -o "$FC" = xlf95; then
743 PREPDEFFLAG="-WF,"
744 fi;;
745 *darwin*)
746 if test "$FC" = f90 -o "$FC" = xlf90 -o "$FC" = xlf95; then
747 PREPDEFFLAG="-WF,"
748 fi;;
749 esac
750
751 if test -z "$PREPDEFFLAG"; then
752 AC_MSG_WARN("Using empty PREPDEFFLAG")
753 PREPDEFFLAG=" "
754 fi
755
756 AC_MSG_CHECKING(to make sure F90 preprocessor define flag works)
757 AC_LANG_SAVE()
758 AC_LANG(Fortran)
759 ac_save_ext=$ac_ext
760 ac_ext=F90
761 ac_save_FCFLAGS=$FCFLAGS
762
763 AS_IF([test "$PREPDEFFLAG"], [FCFLAGS="${FCFLAGS} ${PREPDEFFLAG}-DTEST"])
764 _AC_COMPILE_IFELSE([
765 AC_LANG_SOURCE([
766 program conftest
767 integer :: i
768 #ifdef TEST
769 i = 1
770 #else
771 choke me
772 #endif
773 end program conftest
774 ])], [prepdefflagworks=1], [prepdefflagworks=0])
775
776 FCFLAGS=$ac_save_FCFLAGS
777 ac_ext=$ac_save_ext
778 AC_LANG_RESTORE()
779
780 if test "$prepdefflagworks" = 1; then
781 AC_MSG_RESULT(yes)
782 AC_SUBST(PREPDEFFLAG)
783 else
784 AC_MSG_RESULT(no)
785 AC_MSG_ERROR([Can't figure out working Fortran90 preprocessor define flag])
786 fi
787 fi
788 ])
789
790 dnl check for the required MPI library
791 AC_DEFUN([ACX_MPI], [
792
793 # Set variables...
794 MPI_LIB_DIR="$MPI/lib"
795 MPI_INC_DIR="$MPI/include"
796 AC_SUBST([MPI_LIB_DIR])
797 AC_SUBST([MPI_INC_DIR])
798
799 AC_LANG(C)
800 AC_MSG_CHECKING([for mpi.h])
801 have_mpi_h=0
802 rm -f conftest*
803 echo '#include <mpi.h>' > conftest.c
804 if ${CC} -I${MPI_INC_DIR} -c conftest.c 2>&1 ; then
805 AC_MSG_RESULT(yes)
806 have_mpi_h=1
807 else
808 if test -s conftest.out ; then
809 cat conftest.out >> config.log
810 fi
811 AC_MSG_RESULT(no! Check MPI include paths)
812 USE_MPI="no"
813 fi
814 rm -f conftest*
815 if test "$have_mpi_h" = 1; then
816 AC_DEFINE(HAVE_MPI_H, 1, [have mpi.h])
817 fi
818
819 AC_MSG_CHECKING([whether mpif.h is usable])
820 AC_LANG_SAVE()
821 AC_LANG(Fortran)
822 ac_save_ext=$ac_ext
823 ac_ext=F90
824 ac_save_FCFLAGS=$FCFLAGS
825 have_mpif_h=0
826 rm -f conftest*
827 cat >conftest.$ac_ext <<EOF
828 program main
829 include 'mpif.h'
830 end
831 EOF
832 if $FC -I$MPI_INC_DIR -c $FCFLAGS $FCFLAGS_SRCEXT conftest.$ac_ext > conftest.out 2>&1 ; then
833 AC_MSG_RESULT(yes)
834 MPI_F90_INC="$MPI_INC_DIR"
835 have_mpif_h=1
836 else
837 if test -s conftest.out ; then
838 cat conftest.out >> config.log
839 fi
840 AC_MSG_RESULT([no! Check MPI include paths])
841 USE_MPI="no"
842 fi
843 rm -f conftest*
844 AC_SUBST(MPI_F90_INC)
845 if test "$have_mpif_h" = 1; then
846 AC_DEFINE(HAVE_MPIF_H, 1, [have mpif.h])
847 fi
848 FCFLAGS=$ac_save_FCFLAGS
849 ac_ext=$ac_save_ext
850 AC_LANG_RESTORE()
851
852 AC_LANG_PUSH(C)
853 ac_save_LDFLAGS=$LDFLAGS
854 LDFLAGS="-L${MPI_LIB_DIR} ${LDFLAGS} "
855
856 if test x = x"$MPI_LIB"; then
857 AC_CHECK_LIB(mpich, MPI_Init, [MPI_LIB="-lmpich"])
858 fi
859 $as_unset ac_cv_lib_mpich_MPI_Init
860 if test x = x"$MPI_LIB"; then
861 AC_CHECK_LIB(pmpich, MPI_Init, [MPI_LIB="-lpmpich -lmpich -lpmpich -lmpich"], [],
862 [-lmpich -lpmpich -lmpich])
863 fi
864 if test x = x"$MPI_LIB"; then
865 AC_CHECK_LIB(mpi, MPI_Init, [MPI_LIB="-lmpi"])
866 fi
867 $as_unset ac_cv_lib_mpi_MPI_Init
868 if test x = x"$MPI_LIB"; then
869 AC_CHECK_LIB(mpi, MPI_Init, [MPI_LIB="-lmpi -llam"], [],
870 [-llam])
871 fi
872 $as_unset ac_cv_lib_mpi_MPI_Init
873 if test x = x"$MPI_LIB"; then
874 AC_CHECK_LIB(mpi, MPI_Init, [MPI_LIB="-lmpi -llam -lpthread"],[
875 AC_MSG_ERROR([Didn't find liblam, libmpi, or libmpich; check path for MPI package first...])
876 USE_MPI="no"
877 ],
878 [-llam -lpthread])
879 fi
880
881 AC_SUBST(MPI_LIB)
882
883 AC_MSG_CHECKING([for MPI Fortran library])
884 MPI_F90_LIB=""
885 if test -f "$MPI_LIB_DIR/libfmpich.a" ; then
886 MPI_F90_LIB="-lfmpich"
887 elif test -f "$MPI_LIB_DIR/liblamf77mpi.a" ; then
888 MPI_F90_LIB="-llamf77mpi"
889 else
890 dnl nothing special found, we'll assume that the C
891 dnl library is all we need
892 MPI_F90_LIB=" "
893 fi
894 AC_MSG_RESULT([found $MPI_F90_LIB])
895 AC_SUBST(MPI_F90_LIB)
896 ])dnl ACX_MPI
897
898
899
900 AC_DEFUN([adl_FUNC_GETOPT_LONG],
901 [AC_PREREQ(2.49)dnl
902 # clean out junk possibly left behind by a previous configuration
903 rm -f src/getopt.h
904 # Check for getopt_long support
905 AC_CHECK_HEADERS([getopt.h])
906 AC_CHECK_FUNCS([getopt_long],,
907 [# FreeBSD has a gnugetopt library for this
908 AC_CHECK_LIB([gnugetopt],[getopt_long],[AC_DEFINE([HAVE_GETOPT_LONG])],
909 [# use the GNU replacement
910 AC_LIBOBJ(getopt)
911 AC_LIBOBJ(getopt1)
912 AC_CONFIG_LINKS([src/getopt.h:src/utils/gnugetopt.h])])])])
913
914
915 AC_DEFUN([ACX_CONFIG_HOME], [
916 myDir=${0%/*}
917 if [ "$myDir" = "$0" ]; then
918 # Ran from local directory
919 myDir=$PWD
920 fi
921 # Resolve symlinks.
922 myProgram="$0"
923 while [ -L "$myProgram" ]; do
924 ls=`/bin/ls -ld "$myProgram"`
925 link=`/usr/bin/expr "$ls" : '.*-> \(.*\)$'`
926 if /usr/bin/expr "$link" : '.*/.*' > /dev/null; then
927 myProgram="$link"
928 else
929 myProgram="`AS_DIRNAME([$myProgram])`/$link"
930 fi
931 done
932 myDir=`AS_DIRNAME([$myProgram])`
933 fi
934 CONFIG_HOME=$myDir
935 ])
936
937 AC_DEFUN(BB_ENABLE_DOXYGEN,
938 [
939 AC_ARG_ENABLE(doxygen, [ --enable-doxygen enable documentation generation with doxygen (auto)])
940 AC_ARG_ENABLE(dot, [ --enable-dot use 'dot' to generate graphs in doxygen (auto)])
941 AC_ARG_ENABLE(html-docs, [ --enable-html-docs enable HTML generation with doxygen (yes)], [], [ enable_html_docs=yes])
942 AC_ARG_ENABLE(latex-docs, [ --enable-latex-docs enable LaTeX documentation generation with doxygen (no)], [], [ enable_latex_docs=no])
943 if test "x$enable_doxygen" = xno; then
944 enable_doc=no
945 else
946 AC_PATH_PROG(DOXYGEN, doxygen, , $PATH)
947 if test "x$DOXYGEN" = x; then
948 if test "x$enable_doxygen" = xyes; then
949 AC_MSG_ERROR([could not find doxygen])
950 fi
951 enable_doc=no
952 else
953 enable_doc=yes
954 AC_PATH_PROG(DOT, dot, , $PATH)
955 fi
956 fi
957
958 if test "x$enable_doc" = xyes; then
959 DOC=1
960 else
961 DOC=0
962 fi
963 AC_SUBST(DOC)
964
965 if test x$DOT = x; then
966 if test "x$enable_dot" = xyes; then
967 AC_MSG_ERROR([could not find dot])
968 fi
969 enable_dot=no
970 else
971 enable_dot=yes
972 fi
973 AC_SUBST(enable_dot)
974 AC_SUBST(enable_html_docs)
975 AC_SUBST(enable_latex_docs)
976 ])
977 #
978 #
979 #
980 AC_DEFUN([AX_SYS_PERLSHARPBANG],[dnl
981
982 AC_PATH_PROG(PERLINTERP,perl,perl)
983 ac_cv_path_perlinterp="$PERLINTERP"
984 _sHpB='#!'
985
986 AC_ARG_WITH(perl-shebang,
987 AC_HELP_STRING([--with-perl-shebang],
988 [override what perl thinks is the way for the kernel to start it (seldom needed)]dnl
989 ),
990 [opt_perl_shebang="$withval"]dnl
991 ,dnl
992 [opt_perl_shebang="not_set"]dnl
993 )dnl
994
995 AC_CACHE_CHECK([whether explicit instead of detected sharpbang is to be used],
996 ax_cv_opt_perl_shebang,
997 [ case "$opt_perl_shebang" in
998 not_set ) ax_cv_opt_perl_shebang=''
999 ;;
1000 * )
1001 ax_cv_opt_perl_shebang=`echo "$opt_perl_shebang" | sed -e's|^#!\s*\(.*\)$|\1|'`
1002 esac
1003 ]dnl
1004 )dnl
1005
1006 if test "A$ax_cv_opt_perl_shebang" != "A"
1007 then
1008 ac_cv_sys_kernshrpbang_perl="$ax_cv_opt_perl_shebang"
1009 PERL_SHEBANG="$ac_cv_sys_kernshrpbang_perl"
1010 AC_SUBST(PERL_SHEBANG)dnl
1011 AC_MSG_NOTICE([OK - PERL_SHEBANG is $_sHpB$PERL_SHEBANG.])
1012
1013 # Automatic detection of sharpbang formula starts here
1014 else dnl
1015
1016 _somian_shbangperl=`$PERLINTERP -V:startperl`
1017 negclass="[[^']]"; dnl
1018 # must leave this comment: m4 will remove the outer brackets for us, heheh
1019 AC_CACHE_CHECK([for kernel sharpbang invocation to start perl],
1020 ac_cv_sys_kernshrpbang_perl,
1021 [_somian_kspb_perl=`echo "$_somian_shbangperl" | sed -ne"s|.*='\($negclass*\)';$|\1|p"`
1022 if test "x$_somian_kspb_perl" == x
1023 then _somian_ksbp_warn_empty='durnit'
1024 else
1025 case "A$_somian_kspb_perl" in
1026 A#!*perl* )
1027 ac_cv_sys_kernshrpbang_perl=`echo "$_somian_kspb_perl" | sed -e's|#!\(.*\)$|\1|'`
1028 ;;
1029 A* ) _somian_ksbp_warn_defau='trouble'
1030 ac_cv_sys_kernshrpbang_perl="$PERLINTERP"
1031 esac
1032 fi
1033 ])dnl Done with testing sharpbang
1034
1035 # The above prints Checking ... result message to user.
1036 PERL_SHEBANG="$ac_cv_sys_kernshrpbang_perl"
1037 AC_SUBST(PERL_SHEBANG)
1038 if test A${_somian_ksbp_warn_empty+set} == Aset
1039 then AC_MSG_WARN([dnl
1040 In last check, doing $PERLINTERP -V:startperl yielded empty result! That should not happen.])
1041 fi
1042 # Inform user after printing result value
1043 if test A${_somian_ksbp_warn_defau+set} == Aset
1044 then AC_MSG_NOTICE([Maybe Not good -])
1045 AC_MSG_WARN([dnl
1046 In last check perl's Config query did not work so we bunted: $_sHpB$PERLINTERP])
1047 else AC_MSG_NOTICE([OK Good result - ])
1048 AC_MSG_NOTICE([dnl
1049 In last check we got a proper-looking answer from perl's Config: $_somian_shbangperl])
1050 dnl Done with user info messages
1051 fi
1052 dnl Outer loop checked for user override term here
1053 fi dnl
1054
1055 ])dnl EOMACRO DEF
1056
1057 AC_DEFUN([ACX_CHECK_ZLIB],
1058 #
1059 # Handle user hints
1060 #
1061 [AC_ARG_WITH(zlib,
1062 AC_HELP_STRING([--with-zlib=DIR],
1063 [root directory path of zlib installation (defaults to /usr/local or /usr if not found in /usr/local)]dnl
1064 ),
1065 [zlib_dir="$withval"]dnl
1066 ,dnl
1067 [zlib_dir="not_set"]dnl
1068 )dnl
1069
1070 if test "$zlib_dir" != "no"; then
1071
1072 if test "$zlib_dir" != "not_set" ; then
1073 if test -d "$zlib_dir"
1074 then
1075 ZLIB_HOME="$zlib_dir"
1076 else
1077 AC_MSG_WARN([Sorry, $zlib_dir does not exist, checking usual places])
1078 ZLIB_HOME=/usr/local
1079 if test ! -f "${ZLIB_HOME}/include/zlib.h"
1080 then
1081 ZLIB_HOME=/usr
1082 fi
1083 fi
1084 fi
1085 #
1086 # Locate zlib, if wanted
1087 #
1088 if test -n "${ZLIB_HOME}"
1089 then
1090 ZLIB_OLD_LDFLAGS=$LDFLAGS
1091 ZLIB_OLD_CFLAGS=$CFLAGS
1092 LDFLAGS="$LDFLAGS -L${ZLIB_HOME}/lib"
1093 CFLAGS="$CFLAGS -I${ZLIB_HOME}/include"
1094 AC_LANG_SAVE
1095 AC_LANG_C
1096 AC_CHECK_LIB(z, inflateEnd, [zlib_cv_libz=yes], [zlib_cv_libz=no])
1097 AC_CHECK_HEADER(zlib.h, [zlib_cv_zlib_h=yes], [zlib_cv_zlib_h=no])
1098 AC_LANG_RESTORE
1099
1100 if test "$zlib_cv_libz" = "yes" -a "$zlib_cv_zlib_h" = "yes"; then
1101 AC_DEFINE(HAVE_ZLIB_H, 1, [have zlib.h])
1102 AC_DEFINE(HAVE_LIBZ, 1, [have libz.a])
1103 ZLIB_INC_DIR="${ZLIB_HOME}/include"
1104 ZLIB_LIB_DIR="${ZLIB_HOME}/lib"
1105 ZLIB="-lz"
1106 else
1107 AC_MSG_CHECKING(zlib in ${ZLIB_HOME})
1108 ZLIB_INC_DIR=
1109 ZLIB_LIB_DIR=
1110 ZLIB=
1111 LDFLAGS="$ZLIB_OLD_LDFLAGS"
1112 CFLAGS="$ZLIB_OLD_CFLAGS"
1113 AC_MSG_RESULT(failed)
1114 echo ""
1115 echo "*********************************************************"
1116 echo "* WARNING: Could not find a working zlib installation *"
1117 echo "* If you need OOPSE to be able to deal with compressed *"
1118 echo "* trajectory dump files be sure to specify a valid zlib *"
1119 echo "* installation with --with-zlib=DIR *"
1120 echo "* *"
1121 echo "* OOPSE will still work without zlib installed. *"
1122 echo "*********************************************************"
1123 echo ""
1124 fi
1125 AC_SUBST(ZLIB_INC_DIR)
1126 AC_SUBST(ZLIB_LIB_DIR)
1127 AC_SUBST(ZLIB)
1128 fi
1129 fi
1130 ])
1131
1132 AC_DEFUN([ACX_CHECK_QHULL],
1133 #
1134 # Handle user hints
1135 #
1136 [AC_ARG_WITH(qhull,
1137 AC_HELP_STRING([--with-qhull=DIR],
1138 [root directory path of qhull installation (defaults to /usr/local or /usr if not found in /usr/local)]dnl
1139 ),
1140 [qhull_dir="$withval"]dnl
1141 ,dnl
1142 [qhull_dir="not_set"]dnl
1143 )dnl
1144
1145 if test "$qhull_dir" != "no"; then
1146
1147 if test "$qhull_dir" != "not_set" ; then
1148 if test -d "$qhull_dir"
1149 then
1150 QHULL_HOME="$qhull_dir"
1151 else
1152 AC_MSG_WARN([Sorry, $qhull_dir does not exist, checking usual places])
1153 QHULL_HOME=/usr/local
1154 if test ! -f "${QHULL_HOME}/include/qhull/qhull.h"
1155 then
1156 QHULL_HOME=/usr
1157 fi
1158 fi
1159 fi
1160 #
1161 # Locate qhull, if wanted
1162 #
1163 if test -n "${QHULL_HOME}"
1164 then
1165 QHULL_OLD_LDFLAGS=$LDFLAGS
1166 QHULL_OLD_CFLAGS=$CFLAGS
1167 LDFLAGS="$LDFLAGS -L${QHULL_HOME}/lib"
1168 CFLAGS="$CFLAGS -I${QHULL_HOME}/include"
1169 AC_LANG_SAVE
1170 AC_LANG_C
1171 AC_CHECK_LIB(qhull, qh_qhull, [qhull_cv_libqhull=yes], [qhull_cv_libqhull=no])
1172 AC_CHECK_HEADER(qhull/qhull.h, [qhull_cv_qhull_h=yes], [qhull_cv_qhull_h=no])
1173 AC_LANG_RESTORE
1174
1175 if test "$qhull_cv_libqhull" = "yes" -a "$qhull_cv_qhull_h" = "yes"; then
1176 AC_DEFINE(HAVE_QHULL_H, 1, [have qhull.h])
1177 AC_DEFINE(HAVE_QHULL, 1, [have libqhull.a])
1178 USE_QHULL=yes
1179 QHULL_INC_DIR="${QHULL_HOME}/include"
1180 QHULL_LIB_DIR="${QHULL_HOME}/lib"
1181 QHULL="-lqhull"
1182 else
1183 AC_MSG_CHECKING(qhull in ${QHULL_HOME})
1184 QHULL_INC_DIR=
1185 QHULL_LIB_DIR=
1186 QHULL=
1187 USE_QHULL=no
1188 LDFLAGS="$QHULL_OLD_LDFLAGS"
1189 CFLAGS="$QHULL_OLD_CFLAGS"
1190 AC_MSG_RESULT(failed)
1191 echo ""
1192 echo "*********************************************************"
1193 echo "* WARNING: Could not find a working qhull installation *"
1194 echo "* If you need OOPSE to be able to deal with convex *"
1195 echo "* hulls be sure to specify a valid qhull installation *"
1196 echo "* with --with-qhull=DIR *"
1197 echo "* *"
1198 echo "* OOPSE will still work without qhull installed. *"
1199 echo "*********************************************************"
1200 echo ""
1201 fi
1202 AC_SUBST(QHULL_INC_DIR)
1203 AC_SUBST(QHULL_LIB_DIR)
1204 AC_SUBST(QHULL)
1205 AC_SUBST(USE_QHULL)
1206 fi
1207 fi
1208 ])
1209
1210 AC_DEFUN([ACX_CHECK_OPENBABEL],
1211 #
1212 # Handle user hints
1213 #
1214 [AC_ARG_WITH(openbabel,
1215 AC_HELP_STRING([--with-openbabel=DIR],
1216 [root directory path of openbabel-2.x installation (defaults to /usr/local or /usr if not found in /usr/local)]dnl
1217 ),
1218 [openbabel_dir="$withval"]dnl
1219 ,dnl
1220 [openbabel_dir="not_set"]dnl
1221 )dnl
1222
1223 if test "$openbabel_dir" != "no"; then
1224
1225 if test "$openbabel_dir" != "not_set" ; then
1226 if test -d "$openbabel_dir"
1227 then
1228 OPENBABEL_HOME="$openbabel_dir"
1229 else
1230 AC_MSG_WARN([Sorry, $openbabel_dir does not exist, checking usual places])
1231 OPENBABEL_HOME=/usr/local
1232 if test ! -f "${OPENBABEL_HOME}/include/openbabel-2.0/openbabel/babelconfig.h" -a -f "${OPENBABEL_HOME}/include/openbabel-2.0/openbabel/obconversion.h"
1233 then
1234 OPENBABEL_HOME=/usr
1235 fi
1236 fi
1237 fi
1238 #
1239 # Locate openbabel, if wanted
1240 #
1241 if test -n "${OPENBABEL_HOME}"
1242 then
1243 AC_LANG_SAVE
1244 AC_LANG_CPLUSPLUS
1245 OPENBABEL_OLD_LDFLAGS=$LDFLAGS
1246 OPENBABEL_OLD_CPPFLAGS=$CPPFLAGS
1247 LDFLAGS="$LDFLAGS -L${OPENBABEL_HOME}/lib -lopenbabel"
1248 CPPFLAGS="$CPPFLAGS -I${OPENBABEL_HOME}/include/openbabel-2.0"
1249 AC_CHECK_HEADER(openbabel/babelconfig.h, [openbabel_cv_openbabel_h=yes], [openbabel_cv_openbabel_h=no])
1250 AC_CHECK_HEADER(openbabel/obconversion.h, [openbabel_cv_obconversion_h=yes], [openbabel_cv_obconversion_h=no])
1251 AC_LINK_IFELSE([
1252 AC_LANG_PROGRAM(
1253 [[
1254 @%:@include <openbabel/babelconfig.h>
1255 @%:@include <openbabel/obconversion.h>
1256 using namespace std;
1257 using namespace OpenBabel;
1258 ]],
1259 [[
1260 OBConversion Conv(&cin, &cout);
1261 ]]
1262 )],
1263 [
1264 openbabel_lib_found="yes"
1265 AC_MSG_RESULT([found])
1266 ],
1267 [
1268 openbabel_lib_found="no"
1269 AC_MSG_RESULT([not found])
1270 ]
1271 )
1272 AC_LANG_RESTORE
1273 LDFLAGS="$OPENBABEL_OLD_LDFLAGS"
1274 CPPFLAGS="$OPENBABEL_OLD_CPPFLAGS"
1275
1276 if test "$openbabel_lib_found" = "yes" -a "$openbabel_cv_openbabel_h" = "yes" -a "$openbabel_cv_obconversion_h" = "yes"; then
1277 USE_OPENBABEL=yes
1278 OPENBABEL_INC_DIR="${OPENBABEL_HOME}/include/openbabel-2.0"
1279 OPENBABEL_LIB_DIR="${OPENBABEL_HOME}/lib"
1280 OPENBABEL_LIB="-lopenbabel"
1281 else
1282 AC_MSG_CHECKING(openbabel in ${OPENBABEL_HOME})
1283 OPENBABEL_INC_DIR=
1284 OPENBABEL_LIB_DIR=
1285 OPENBABEL_LIB=
1286 USE_OPENBABEL=no
1287 AC_MSG_RESULT(failed)
1288 echo ""
1289 echo "*********************************************************"
1290 echo "* WARNING: Could not find a working openbabel-2.x *"
1291 echo "* installation If you need OOPSE to be able to convert *"
1292 echo "* xyz or pdb files you need to specify a valid *"
1293 echo "* openbabel-2.x installation with --with-openbabel=DIR *"
1294 echo "* *"
1295 echo "* OOPSE will still work without openbabel installed. *"
1296 echo "*********************************************************"
1297 echo ""
1298 fi
1299 AC_SUBST(OPENBABEL_INC_DIR)
1300 AC_SUBST(OPENBABEL_LIB_DIR)
1301 AC_SUBST(OPENBABEL_LIB)
1302 AC_SUBST(USE_OPENBABEL)
1303 fi
1304 fi
1305 ])
1306
1307
1308 AC_DEFUN([ACX_CHECK_FFTW],
1309 #
1310 # Handle user hints
1311 #
1312 [AC_ARG_WITH(fftw,
1313 AC_HELP_STRING([--with-fftw=DIR],
1314 [root directory path of fftw installation (defaults to /usr/local or /usr if not found in /usr/local)]dnl
1315 ),
1316 [fftw_dir="$withval"]dnl
1317 ,dnl
1318 [fftw_dir="not_set"]dnl
1319 )dnl
1320
1321 if test "$fftw_dir" != "no"; then
1322 if test "$fftw_dir" != "not_set" ; then
1323 if test -d "$fftw_dir"; then
1324 FFTW_HOME="$fftw_dir"
1325 else
1326 AC_MSG_WARN([Sorry, $fftw_dir does not exist, checking usual places])
1327 FFTW_HOME=/usr/local
1328 if test ! -f "${FFTW_HOME}/include/fftw3.h" -o -f "${FFTW_HOME}/include/fftw.h" -o -f "${FFTW_HOME}/include/dfftw.h"; then
1329 FFTW_HOME=/usr
1330 fi
1331 fi
1332 #
1333 # Locate fftw, if wanted
1334 #
1335 if test -n "${FFTW_HOME}"; then
1336 FFTW_OLD_LDFLAGS=$LDFLAGS
1337 FFTW_OLD_CFLAGS=$CFLAGS
1338 LDFLAGS="$LDFLAGS -L${FFTW_HOME}/lib"
1339 CFLAGS="$CFLAGS -I${FFTW_HOME}/include"
1340 AC_LANG_SAVE
1341 AC_LANG_C
1342 AC_CHECK_LIB(fftw3, fftw_execute, [fftw_cv_libfftw3=yes], [fftw_cv_libfftw3=no])
1343 AC_CHECK_HEADER(fftw3.h, [fftw_cv_fftw3_h=yes], [fftw_cv_fftw3_h=no])
1344 if test "$fftw_cv_libfftw3" = "no" -o "$fftw_cv_fftw3_h" = "no"; then
1345 AC_CHECK_LIB(fftw, fftwnd_one, [fftw_cv_libfftw=yes], [fftw_cv_libfftw=no])
1346 AC_CHECK_HEADER(fftw.h, [fftw_cv_fftw_h=yes], [fftw_cv_fftw_h=no])
1347 if test "$fftw_cv_libfftw" = "no" -o "$fftw_cv_fftw_h" = "no"; then
1348 AC_CHECK_LIB(dfftw, fftwnd_one, [fftw_cv_libdfftw=yes], [fftw_cv_libdfftw=no])
1349 AC_CHECK_HEADER(dfftw.h, [fftw_cv_dfftw_h=yes], [fftw_cv_dfftw_h=no])
1350 fi
1351 fi
1352 AC_LANG_RESTORE
1353 if test "$fftw_cv_libfftw3" = "yes" -a "$fftw_cv_fftw3_h" = "yes"; then
1354 AC_DEFINE(HAVE_FFTW3_H, 1, [have fftw3.h])
1355 FFTW_INC_DIR="${FFTW_HOME}/include"
1356 FFTW_LIB_DIR="${FFTW_HOME}/lib"
1357 FFTW_LIBS="-lfftw3"
1358 else
1359 if test "$fftw_cv_libfftw" = "yes" -a "$fftw_cv_fftw_h" = "yes"; then
1360 AC_DEFINE(HAVE_FFTW_H, 1, [have fftw.h])
1361 FFTW_INC_DIR="${FFTW_HOME}/include"
1362 FFTW_LIB_DIR="${FFTW_HOME}/lib"
1363 FFTW_LIBS="-lfftw"
1364 else
1365 if test "$fftw_cv_libdfftw" = "yes" -a "$fftw_cv_dfftw_h" = "yes"; then
1366 AC_DEFINE(HAVE_DFFTW_H, 1, [have dfftw.h])
1367 FFTW_INC_DIR="${FFTW_HOME}/include"
1368 FFTW_LIB_DIR="${FFTW_HOME}/lib"
1369 FFTW_LIBS="-ldfftw"
1370 else
1371 AC_MSG_CHECKING(fftw in ${FFTW_HOME})
1372 FFTW_INC_DIR=
1373 FFTW_LIB_DIR=
1374 FFTW_LIBS=
1375 LDFLAGS="$FFTW_OLD_LDFLAGS"
1376 CFLAGS="$FFTW_OLD_CFLAGS"
1377 AC_MSG_RESULT(failed)
1378 echo ""
1379 echo "*********************************************************"
1380 echo "* WARNING: Could not find a working FFTW installation *"
1381 echo "* If you need the staticProps program to be able to *"
1382 echo "* compute undulation spectra, be sure to specify a *"
1383 echo "* valid fftw installation with --with-fftw=DIR *"
1384 echo "* *"
1385 echo "* OOPSE will still work without fftw installed. *"
1386 echo "*********************************************************"
1387 echo ""
1388 fi
1389 fi
1390 fi
1391 AC_SUBST(FFTW_INC_DIR)
1392 AC_SUBST(FFTW_LIB_DIR)
1393 AC_SUBST(FFTW_LIBS)
1394 fi
1395 fi
1396 fi
1397 ])
1398
1399 # AC_F90_MODULE_NAMES
1400 # -------------------
1401 #
1402 # Figure out how the Fortran 90 compiler constructs module file names
1403 #
1404 AC_DEFUN([AC_F90_MODULE_NAMES],
1405 [AC_REQUIRE([AC_PROG_FC])dnl
1406 AC_CACHE_CHECK([for Fortran 90 module file names],
1407 ac_cv_f90_module_names,
1408 [AC_LANG_PUSH(Fortran)
1409 # carry out the test in a new directory, so that we don't miss anything
1410 mkdir conftest
1411 cd conftest
1412 AC_COMPILE_IFELSE(
1413 [MODULE Bar
1414 END MODULE Bar],
1415 ac_cv_f90_module_names=
1416 [ac_file_list=*
1417 for ac_file in $ac_file_list; do
1418 case $ac_file in
1419 # don't care for original source and object files
1420 conftest.$ac_ext | conftest.$ac_objext | conftest.err )
1421 :
1422 ;;
1423 # look for new files derived from the file name
1424 *conftest*)
1425 ac_pat=`echo $ac_file | sed s/conftest/%FILE%/`
1426 _AC_LIST_MEMBER_IF($ac_pat, $ac_cv_f90_module_names,,
1427 ac_cv_f90_module_names="$ac_cv_f90_module_names $ac_pat")
1428 ;;
1429 # look for new files derived from the module name,
1430 # with different case translation schemes
1431 *Bar*)
1432 ac_pat=`echo $ac_file | sed s/Bar/%Module%/`
1433 _AC_LIST_MEMBER_IF($ac_pat, $ac_cv_f90_module_names,,
1434 ac_cv_f90_module_names="$ac_cv_f90_module_names $ac_pat")
1435 ;;
1436 *bar*)
1437 ac_pat=`echo $ac_file | sed s/bar/%module%/`
1438 _AC_LIST_MEMBER_IF($ac_pat, $ac_cv_f90_module_names,,
1439 ac_cv_f90_module_names="$ac_cv_f90_module_names $ac_pat")
1440 ;;
1441 *BAR*)
1442 ac_pat=`echo $ac_file | sed s/BAR/%MODULE%/`
1443 _AC_LIST_MEMBER_IF($ac_pat, $ac_cv_f90_module_names,,
1444 ac_cv_f90_module_names="$ac_cv_f90_module_names $ac_pat")
1445 ;;
1446 # Other files - we have no idea how they are generated
1447 *)
1448 AC_MSG_WARN([Bogus file found: $ac_file])
1449 ;;
1450 esac
1451 done
1452 if test "x$ac_cv_f90_module_names" = "x"; then
1453 AC_MSG_WARN([Couldn't determine module file names])
1454 fi
1455 ],
1456 [ac_cv_f90_module_names=
1457 AC_MSG_WARN([Couldn't determine module file names])])
1458 cd ..
1459 # cleanup
1460 rm -rf conftest
1461 AC_LANG_POP()dnl
1462 ]) # AC_CACHE_CHECK
1463
1464 # We now generate a shell script that will help us to figure out the correct
1465 # module file names, using the value of ac_cv_f90_module_names
1466
1467 echo "Generating shell script modnam"
1468
1469 cat > scripts/modnam << EOF
1470 #! /bin/sh
1471 # This script is auto-generated by configure
1472 #
1473 usage="\\
1474 Usage: \$[0] [[FILES]]
1475
1476 [[FILES]] are Fortran 90 source files.
1477 The output is a list of module file names that the Fortran 90 compiler
1478 generates when compiling [[FILES]]."
1479
1480 list=
1481 empty=
1482
1483 if test \$[@%:@] -eq 0; then
1484 echo "\$usage"; exit 0
1485 fi
1486
1487 while test \$[@%:@] != 0; do
1488
1489 file=\$[1]
1490 shift
1491
1492 # strip suffix
1493 base=\`echo \$file | sed 's/[[.]][[^.]]*$//'\`
1494
1495 test ! -f \$file && continue
1496
1497 # Look for module definitions and transform them to upper / lower case
1498 mods=\`cat \$file | sed '/^ *[[mM][oO][dD][uU][lL][eE]]/!d;s/^ *[[mM][oO][dD][uU][lL][eE]] *\([[A-Za-z_][A-Za-z0-9_]]*\).*\$/\1/'\`
1499 upper=\`echo \$mods | tr a-z A-Z\`
1500 lower=\`echo \$mods | tr A-Z a-z\`
1501
1502 # Here, the patterns for generating module file names were inserted by configure
1503 for trans in $ac_cv_f90_module_names; do
1504
1505 pat=\`echo \$trans | sed 's/.*\(%.*%\).*/\1/'\`
1506 var=empty
1507 case \$pat in
1508 %MODULE%)
1509 var=upper ;;
1510 %Module%)
1511 var=mods ;;
1512 %module%)
1513 var=lower ;;
1514 %FILE%)
1515 test -n "\$mods" && var=base ;;
1516 esac
1517 new=\`eval '(for i in \$'\$var '; do echo \$trans | sed s/\$pat/\$i/; done)'\`
1518 list="\$list \$new"
1519 done
1520 done
1521
1522 echo \$list
1523 # end of configure-generated script
1524 EOF
1525 chmod 755 scripts/modnam
1526 ]) # AC_F90_MODULE_NAMES
1527
1528 dnl
1529 dnl These functions were taken from the GRASS GIS toolkit:
1530 dnl
1531 dnl autoconf undefines "eval", so use "builtin([eval], ...)"
1532 dnl
1533
1534 AC_DEFUN(LOC_CHECK_USE,[
1535 AC_MSG_CHECKING(whether to use $2)
1536 AC_MSG_RESULT("$with_$1")
1537 case "$with_$1" in
1538 "no") $3= ;;
1539 "yes") $3="1" ;;
1540 *) AC_MSG_ERROR([*** You must answer yes or no.]) ;;
1541 esac
1542
1543 ])
1544
1545 AC_DEFUN(LOC_CHECK_INC_PATH,[
1546 AC_MSG_CHECKING(for location of $2 includes)
1547 case "$with_$1_includes" in
1548 y | ye | yes | n | no)
1549 AC_MSG_ERROR([*** You must supply a directory to --with-$1-includes.])
1550 ;;
1551 esac
1552 AC_MSG_RESULT($with_$1_includes)
1553
1554 if test -n "$with_$1_includes" ; then
1555 for dir in $with_$1_includes; do
1556 if test -d "$dir"; then
1557 $3="$$3 -I$dir"
1558 else
1559 AC_MSG_ERROR([*** $2 includes directory $dir does not exist.])
1560 fi
1561 done
1562 fi
1563 ])
1564
1565 AC_DEFUN(LOC_CHECK_LIB_PATH,[
1566 AC_MSG_CHECKING(for location of $2 library)
1567 case "$with_$1_libs" in
1568 y | ye | yes | n | no)
1569 AC_MSG_ERROR([*** You must supply a directory to --with-$1-libs.])
1570 ;;
1571 esac
1572 AC_MSG_RESULT($with_$1_libs)
1573
1574 if test -n "$with_$1_libs"; then
1575 for dir in $with_$1_libs; do
1576 if test -d "$dir"; then
1577 $3="$$3 -L$dir"
1578 else
1579 AC_MSG_ERROR([*** $2 library directory $dir does not exist.])
1580 fi
1581 done
1582 fi
1583 ])
1584
1585 AC_DEFUN(LOC_CHECK_SHARE_PATH,[
1586 AC_MSG_CHECKING(for location of $2 data files)
1587 case "$with_$1_share" in
1588 y | ye | yes | n | no)
1589 AC_MSG_ERROR([*** You must supply a directory to --with-$1-share.])
1590 ;;
1591 esac
1592 AC_MSG_RESULT($with_$1_share)
1593
1594 if test -n "$with_$1_share" ; then
1595 if test -d "$with_$1_share"; then
1596 $3="$with_$1_share"
1597 else
1598 AC_MSG_ERROR([*** $2 data directory $dir does not exist.])
1599 fi
1600 fi
1601 ])
1602
1603 AC_DEFUN(LOC_CHECK_INCLUDES,[
1604 ac_save_cppflags="$CPPFLAGS"
1605 CPPFLAGS="$3 $CPPFLAGS"
1606 AC_CHECK_HEADERS($1, [], ifelse($4,[],[
1607 AC_MSG_ERROR([*** Unable to locate $2 includes.])
1608 ], $4))
1609 CPPFLAGS=$ac_save_cppflags
1610 ])
1611
1612 dnl autoconf undefines "shift", so use "builtin([shift], ...)"
1613
1614 define(LOC_SHIFT1,[builtin([shift],$*)])
1615 define(LOC_SHIFT2,[LOC_SHIFT1(LOC_SHIFT1($*))])
1616 define(LOC_SHIFT4,[LOC_SHIFT2(LOC_SHIFT2($*))])
1617 define(LOC_SHIFT8,[LOC_SHIFT4(LOC_SHIFT4($*))])
1618 define(LOC_SHIFT9,[LOC_SHIFT1(LOC_SHIFT8($*))])
1619
1620 dnl $1 = library
1621 dnl $2 = function
1622 dnl $3 = descriptive name
1623 dnl $4 = LDFLAGS initialiser
1624 dnl $5 = result variable
1625 dnl $6 = mandatory dependencies (not added to $5)
1626 dnl $7 = mandatory dependencies (added to $5)
1627 dnl $8 = ACTION-IF-NOT-FOUND
1628 dnl $9+ = optional dependencies
1629
1630 define(LOC_CHECK_LIBS_0,[
1631 AC_CHECK_LIB($1, $2, $5="$$5 -l$1 $7",[
1632 [$8]
1633 ],$6 $7)
1634 ])
1635
1636 define(LOC_CHECK_LIBS_1,[
1637 ifelse($9,[],
1638 LOC_CHECK_LIBS_0($1,$2,,,$5,$6,$7,$8),
1639 [
1640 LOC_CHECK_LIBS_1($1,$2,,,$5,$6,$7,
1641 LOC_CHECK_LIBS_1($1,$2,,,$5,$6,$7 $9,$8,LOC_SHIFT9($*)),
1642 LOC_SHIFT9($*))
1643 ]
1644 )
1645 ])
1646
1647 define(LOC_CHECK_LIBS,[
1648 ac_save_ldflags="$LDFLAGS"
1649 LDFLAGS="$4 $LDFLAGS"
1650 LOC_CHECK_LIBS_1($1,$2,,,$5,$6,$7,
1651 LDFLAGS=${ac_save_ldflags}
1652 ifelse($8,[],[
1653 AC_MSG_ERROR([*** Unable to locate $3 library.])
1654 ],$8),LOC_SHIFT8($*))
1655 LDFLAGS=${ac_save_ldflags}
1656 ])
1657
1658 AC_DEFUN(LOC_CHECK_VERSION_STRING,[
1659 AC_MSG_CHECKING($3 version)
1660 ac_save_cppflags="$CPPFLAGS"
1661 CPPFLAGS="$5 $CPPFLAGS"
1662 AC_TRY_RUN([
1663 #include <stdio.h>
1664 #include <$1>
1665 int main(void) {
1666 FILE *fp = fopen("conftestdata","w");
1667 fputs($2, fp);
1668 return 0;
1669 }
1670 ],
1671 [ $4=`cat conftestdata`
1672 AC_MSG_RESULT($$4)],
1673 [ AC_MSG_ERROR([*** Could not determine $3 version.]) ],
1674 [ $4=$6
1675 AC_MSG_RESULT([unknown (cross-compiling)]) ])
1676 CPPFLAGS=$ac_save_cppflags
1677 ])
1678
1679 AC_DEFUN(LOC_CHECK_SHARE,[
1680 AC_CHECK_FILE($3/$1, [], ifelse($4,[],[
1681 AC_MSG_ERROR([*** Unable to locate $2 data files.])
1682 ], $4))
1683 ])
1684
1685 AC_DEFUN(LOC_CHECK_VERSION_INT,[
1686 AC_MSG_CHECKING($3 version)
1687 ac_save_cppflags="$CPPFLAGS"
1688 CPPFLAGS="$5 $CPPFLAGS"
1689 AC_TRY_RUN([
1690 #include <stdio.h>
1691 #include <$1>
1692 int main(void) {
1693 FILE *fp = fopen("conftestdata","w");
1694 fprintf(fp, "%d", $2);
1695 return 0;
1696 }
1697 ],
1698 [ $4=`cat conftestdata`
1699 AC_MSG_RESULT($$4)],
1700 [ AC_MSG_ERROR([*** Could not determine $3 version.]) ],
1701 [ $4=$6
1702 AC_MSG_RESULT([unknown (cross-compiling)]) ])
1703 CPPFLAGS=$ac_save_cppflags
1704 ])
1705
1706 dnl autoconf undefines "eval", so use "builtin([eval], ...)"
1707
1708 AC_DEFUN(LOC_PAD,[$1[]ifelse(builtin([eval],len($1) > 23),1,[
1709 ],substr([ ],len($1)))])
1710
1711 AC_DEFUN(LOC_ARG_WITH,[
1712 AC_ARG_WITH($1,
1713 LOC_PAD([ --with-$1])[support $2 functionality (default: ]ifelse([$3],,yes,[$3])[)],,
1714 [with_$1=]ifelse([$3],,yes,[$3]))
1715 ])
1716
1717 AC_DEFUN(LOC_ARG_WITH_INC,[
1718 AC_ARG_WITH($1-includes,
1719 LOC_PAD([ --with-$1-includes=DIRS])[$2 include files are in DIRS])
1720 ])
1721
1722 AC_DEFUN(LOC_ARG_WITH_LIB,[
1723 AC_ARG_WITH($1-libs,
1724 LOC_PAD([ --with-$1-libs=DIRS])[$2 library files are in DIRS])
1725 ])
1726
1727 AC_DEFUN(LOC_ARG_WITH_SHARE,[
1728 AC_ARG_WITH($1-share,
1729 LOC_PAD([ --with-$1-share=DIR])[$2 data files are in DIR])
1730 ])
1731
1732 AC_DEFUN(LOC_OPTIONAL,[
1733 AC_MSG_CHECKING(whether to build $1)
1734 if test -n "$USE_$2" ; then
1735 AC_MSG_RESULT(yes)
1736 BUILD_$3="$4"
1737 else
1738 AC_MSG_RESULT(no)
1739 BUILD_$3=
1740 fi
1741 AC_SUBST(BUILD_$3)
1742 ])
1743
1744 AC_DEFUN(LOC_MSG,[
1745 echo "$1"
1746 ])
1747
1748 AC_DEFUN(LOC_PAD_26,[substr([ ],len($1))])
1749
1750 AC_DEFUN(LOC_YES_NO,[if test -n "${$1}" ; then echo yes ; else echo no ; fi])
1751
1752 AC_DEFUN(LOC_MSG_USE,[
1753 [echo " $1:]LOC_PAD_26($1)`LOC_YES_NO($2)`"])