ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/OpenMD/trunk/ac-tools/aclocal.m4
Revision: 819
Committed: Fri Dec 16 21:52:50 2005 UTC (19 years, 7 months ago) by tim
File size: 37393 byte(s)
Log Message:
changed __FUNCTION__ to __func__ to match C99 standard, and then added
an autoconf test to check for __func__ usability.  Changed some default
compile flags for the Sun architecture

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 dnl
25 dnl AC_CHECK_MODSUFFIX
26 dnl
27 AC_DEFUN([AC_CHECK_MODSUFFIX],[
28
29 AC_MSG_CHECKING(for module suffix)
30 rm -f conftest*
31 # Intel ifc compiler generates files by the name of work.pc and work.pcl (!)
32 rm -f work*
33 cat >conftest.f90 <<EOF
34 module conftest
35 integer n
36 parameter (n=1)
37 end module conftest
38 EOF
39 # SGI and absoft compilers generates module name in upper case!
40 testname="conftest"
41 modcase="lower"
42 if $F90 -c conftest.f90 > conftest.out 2>&1 ; then
43 MOD=`ls conftest* | grep -v conftest.f | grep -v conftest.o`
44 MOD=`echo "$MOD" | sed -e 's/conftest\.//g'`
45 if test -z "$MOD" ; then
46 MOD=`ls CONFTEST* 2>/dev/null \
47 | grep -v CONFTEST.f | grep -v CONFTEST.o`
48 MOD=`echo "$MOD" | sed -e 's/CONFTEST\.//g'`
49 if test -n "$MOD" ; then
50 testname="CONFTEST"
51 modcase="upper"
52 fi
53 fi
54 if test -z "$MOD" ; then
55 AC_MSG_RESULT(unknown)
56 # Use mod if we can't figure it out
57 MOD="mod"
58 else
59 AC_MSG_RESULT($MOD)
60 fi
61 if test -s work.pcl ; then
62 AC_MSG_WARN([Compiler generates auxillery files!])
63 fi
64 else
65 AC_MSG_RESULT(unknown)
66 fi
67 AC_SUBST(MOD)
68
69 ])
70
71
72 dnl
73 dnl AC_CHECK_MODDIRFLAG
74 dnl
75 AC_DEFUN([AC_CHECK_MODDIRFLAG],[
76
77 # Check for module include path (some use -I, some (Solaris) use -M, some
78 # (absoft) use -p).
79 # Intel compilers use a wierd system: -cl,filename.pcl . If no file is
80 # specified, work.pcl and work.pc are created. However, if you specify
81 # a file, it must contain a the name of a file ending in .pc . Ugh!
82 # Use the module made above
83 AC_MSG_CHECKING(for module directory path flag)
84 rm -f conftest*
85 # Intel ifc compiler generates files by the name of work.pc and work.pcl (!)
86 rm -f work*
87 cat >conftest.f90 <<EOF
88 module conftest
89 integer n
90 parameter (n=1)
91 end module conftest
92 EOF
93 # SGI and absoft compilers generates module name in upper case!
94 testname="conftest"
95 if $F90 -c conftest.f90 > conftest.out 2>&1 ; then
96 mod=`ls CONFTEST* 2>/dev/null | grep -v CONFTEST.f | grep -v CONFTEST.o`
97 mod=`echo "$mod" | sed -e 's/CONFTEST\.//g'`
98 if test -n "$mod" ; then
99 testname="CONFTEST"
100 fi
101 madedir=0
102 if test ! -d conf ; then mkdir conf ; madedir=1; fi
103 cp $testname.$MOD conf
104 rm -f conftest* CONFTEST*
105 cat >conftest1.f90 <<EOF
106 program main
107 use conftest
108 print *, n
109 end
110 EOF
111 F90_WORK_FILES_ARG=""
112 F90MODINCSPEC=""
113 if $F90 -c -Iconf conftest1.f90 > conftest.out 2>&1 ; then
114 MODDIRFLAG="-I"
115 F90MODINCSPEC="-I<dir>"
116 AC_MSG_RESULT(-I)
117 elif $F90 -c -Mconf conftest1.f90 >> conftest.out 2>&1 ; then
118 MODDIRFLAG="-M"
119 F90MODINCSPEC="-M<dir>"
120 AC_MSG_RESULT(-M)
121 elif $F90 -c -pconf conftest1.f90 >> conftest.out 2>&1 ; then
122 MODDIRFLAG="-p"
123 F90MODINCSPEC="-p<dir>"
124 AC_MSG_RESULT(-p)
125 elif test -s work.pc ; then
126 cp work.pc conf/mpimod.pc
127 echo "mpimod.pc" > conf/mpimod.pcl
128 echo "`pwd`/conf/mpimod.pc" >> conf/mpimod.pcl
129 if $F90 -c -cl,conf/mpimod.pcl conftest1.f >>conftest.out 2>&1 ; then
130 MODDIRFLAG='-cl,mpimod.pcl'
131 AC_MSG_RESULT([-cl,filename where filename contains a list of files and directories])
132 F90_WORK_FILES_ARG="-cl,mpimod.pcl"
133 F90MODINCSPEC="-cl,<dir>/<file>mod.pcl"
134 AC_SUBST(F90_WORK_FILES_ARG)
135 else
136 # The version of the Intel compiler that I have refuses to let
137 # you put the "work catalog" list anywhere but the current
138 # directory. For example, you cannot in
139 :
140 fi
141 fi
142 if test -z "MODDIRFLAG" ; then
143 AC_MSG_RESULT(unknown)
144 fi
145 AC_SUBST(MODDIRFLAG)
146 AC_SUBST(F90MODINCSPEC)
147 rm -f conftest* conf/conftest* conf/CONFTEST* CONFTEST* conf/mpimod*
148 if test $madedir = 1 ; then rmdir conf ; fi
149 fi
150
151 ])
152
153
154 dnl
155 dnl AC_CHECK_MPI_F90MOD
156 dnl
157 AC_DEFUN([AC_CHECK_MPI_F90MOD],[
158
159 AC_ARG_WITH(mpi_f90_mods, [ --with-mpi_f90_mods=<dir>
160 Location where MPI f90 modules are installed ],
161 mpi_f90_mods="$withval",
162 mpi_f90_mods="/usr/local/include/f90choice")
163
164 AC_MSG_CHECKING(for MPI F90 modules)
165 AC_LANG_SAVE()
166 AC_LANG([Fortran 90])
167 ac_save_F90FLAGS=$F90FLAGS
168
169 AS_IF([test "$mpi_f90_mods"], [F90FLAGS="${F90FLAGS} ${MODDIRFLAG}${mpi_f90_mods}"])
170 _AC_COMPILE_IFELSE([
171 AC_LANG_PROGRAM([
172 use mpi
173 integer :: ierr
174 call MPI_Init(ierr)
175 ])], [HAVE_MPI_MOD=1], [HAVE_MPI_MOD=0])
176
177 F90FLAGS=$ac_save_F90FLAGS
178 AC_LANG_RESTORE()
179
180 if test "$HAVE_MPI_MOD" = 1; then
181 AC_MSG_RESULT(yes)
182 AC_DEFINE(MPI_MOD, 1, [have mpi module])
183 MPI_F90_MODS="${mpi_f90_mods}"
184 AC_SUBST(MPI_F90_MODS)
185 # The library name:
186 if test -z "$MPI_LIB" ; then
187 MPI_LIBNAME=-lmpich
188 else
189 MPI_LIBNAME="$MPI_LIB"
190 fi
191 if test -z "$MPIMODLIBNAME" ; then
192 MPIMODLIBNAME="${MPI_LIBNAME}f90"
193 fi
194 AC_SUBST(MPIMODLIBNAME)
195 else
196 AC_MSG_RESULT(no)
197 AC_MSG_WARN([Couldn't locate MPI F90 Modules])
198 fi
199
200 ])
201
202
203
204
205 dnl
206 dnl AM_PATH_SPRNG
207 dnl
208 AC_DEFUN([AM_PATH_SPRNG],[
209
210 AC_ARG_WITH(sprng_prefix, [ --with-sprng_prefix=PREFIX
211 Prefix where SPRNG is installed ],
212 sprng_prefix="$withval",
213 sprng_prefix="/usr/local")
214 AC_ARG_WITH(sprng-libdir, [ --with-sprng-libdir=PREFIX SPRNG library directory],
215 sprng_libdir="$withval",
216 sprng_libdir="/usr/local/lib")
217 AC_ARG_WITH(sprng-include, [ --with-sprng-include=PREFIX
218 SPRNG include directory],
219 sprng_include="$withval",
220 sprng_include="/usr/local/include/sprng")
221
222 if test x$sprng_libdir = x ; then
223 sprng_libdir=${sprng_prefix}/lib
224 fi
225
226 if test x$sprng_include = x ; then
227 sprng_include=${sprng_prefix}/include
228 fi
229
230 AC_MSG_CHECKING(for SPRNG include files in $sprng_include)
231 if test -f ${sprng_include}/sprng.h; then
232 have_sprngincl=yes
233 AC_MSG_RESULT(yes)
234 else
235 have_sprngincl=no
236 AC_MSG_RESULT(no)
237 AC_MSG_ERROR(Could not locate the SPRNG include files)
238 fi
239
240 AC_MSG_CHECKING(for SPRNG libraries in $sprng_libdir)
241 if test -f ${sprng_libdir}/libsprng.a; then
242 have_sprnglib=yes
243 AC_MSG_RESULT(yes)
244 else
245 have_sprnglib=no
246 AC_MSG_RESULT(no)
247 AC_MSG_ERROR(Could not locate the SPRNG libraries)
248 fi
249
250 AC_LANG_SAVE()
251 AC_LANG([C])
252 ac_save_CPPFLAGS=$CPPFLAGS
253 CPPFLAGS="${CPPFLAGS} -I${sprng_include}"
254 ac_save_LDFLAGS=$LDFLAGS
255 LDFLAGS="${LDFLAGS} -L${sprng_libdir} -lsprng"
256 AC_CHECK_HEADER(sprng.h, [
257 AC_CHECK_LIB(sprng,
258 init_rng,
259 [SPRNG_LIBDIR="${sprng_libdir}"
260 SPRNG_LIB="-lsprng" SPRNG_INC="-I${sprng_include}"
261 HAVE_SPRNG="yes"])])
262 CPPFLAGS=$ac_save_CPPFLAGS
263 LDFLAGS=$ac_save_LDFLAGS
264 AC_LANG_RESTORE()
265
266 if test x_$HAVE_SPRNG != x_yes; then
267 AC_MSG_ERROR(Can't build with SPRNG)
268 fi
269 AC_SUBST(SPRNG_LIBDIR)
270 AC_SUBST(SPRNG_LIB)
271 AC_SUBST(SPRNG_INC)
272 AC_SUBST(HAVE_SPRNG)
273 ])
274
275 dnl
276 dnl CHECK_MKL
277 dnl
278 AC_DEFUN([CHECK_MKL],
279 [AC_MSG_CHECKING(if MKL is wanted)
280 AC_ARG_WITH(mkl,
281 [ --with-mkl Do we want MKL [will check /usr/local/intel/mkl61 /opt/intel/mkl61]],
282 [ AC_MSG_RESULT(yes)
283 for dir in $withval /usr/local/intel/mkl61 /opt/intel/mkl61; do
284 mkldir="$dir"
285 if test -f "$dir/include/mkl.h"; then
286 found_mkl="yes";
287 break;
288 fi
289 done
290 if test x_$found_mkl != x_yes; then
291 AC_MSG_ERROR(Cannot find MKL includes)
292 else
293 printf "MKL includes found in $mkldir/include\n";
294 fi
295
296 AC_LANG_SAVE()
297 AC_LANG([C])
298 ac_save_CPPFLAGS=$CPPFLAGS
299 CPPFLAGS="${CPPFLAGS} -I${mkldir}/include"
300 ac_save_LDFLAGS=$LDFLAGS
301 LDFLAGS="${LDFLAGS} -L${mkldir}/lib/32 -lmkl -lvml -lguide"
302 AC_CHECK_HEADER(mkl.h, [
303 AC_CHECK_LIB(mkl,
304 vslNewStream,
305 [MKL_LIBDIR="${mkldir}/lib/32",
306 MKL_LIB="-lmkl -lvml -lguide",
307 HAVE_MKL="yes"])
308 ], [MKL_INC="-I${mkldir}/include"])
309 CPPFLAGS=$ac_save_CPPFLAGS
310 LDFLAGS=$ac_save_LDFLAGS
311 AC_LANG_RESTORE()
312
313 if test x_$HAVE_MKL != x_yes; then
314 AC_MSG_ERROR(Can't build with MKL)
315 fi
316 AC_SUBST(MKL_LIBDIR)
317 AC_SUBST(MKL_LIB)
318 AC_SUBST(MKL_INC)
319 AC_SUBST(HAVE_MKL)
320 ],
321 [
322 AC_MSG_RESULT(no)
323 ])
324 ])
325 dnl
326
327
328 AC_DEFUN(ACX_CHECK_CC_FLAGS,
329 [
330 AC_REQUIRE([AC_PROG_CC])
331 AC_CACHE_CHECK(whether ${CC-cc} accepts $1, ac_$2,
332 [echo 'void f(){}' > conftest.c
333 if test -z "`${CC-cc} $1 -c conftest.c 2>&1`"; then
334 ac_$2=yes
335 else
336 ac_$2=no
337 fi
338 rm -f conftest*
339 ])
340 if test "$ac_$2" = yes; then
341 :
342 $3
343 else
344 :
345 $4
346 fi
347 ])
348
349 AC_DEFUN(ACX_CHECK_CXX_FLAGS,
350 [
351 AC_REQUIRE([AC_PROG_CXX])
352 AC_CACHE_CHECK(whether ${CXX-c++} accepts $1, ac_$2,
353 [echo 'void f(){}' > conftest.cpp
354 if test -z "`${CXX-c++} $1 -c conftest.cpp 2>&1`"; then
355 ac_$2=yes
356 else
357 ac_$2=no
358 fi
359 rm -f conftest*
360 ])
361 if test "$ac_$2" = yes; then
362 :
363 $3
364 else
365 :
366 $4
367 fi
368 ])
369
370 dnl -------------------------------------------------------------------------
371 dnl ACX_CHECK_F90_FLAGS()
372 dnl
373 dnl Check for optimizer flags the Fortran compiler can use.
374 dnl
375 AC_DEFUN(ACX_CHECK_F90_FLAGS,
376 [
377 AC_CACHE_CHECK(whether ${F90-f90} accepts $1, ac_$2,
378 [
379 AC_LANG_SAVE
380 AC_LANG([Fortran 90])
381 echo 'program main' > conftest.$ac_ext
382 echo 'end program main' >> conftest.$ac_ext
383 ac_compile='${F90-f90} -c $1 $F90FLAGS conftest.$ac_ext 1>&AC_FD_CC'
384 if AC_TRY_EVAL(ac_compile); then
385 ac_$2=yes
386 else
387 ac_$2=no
388 fi
389 rm -f conftest*
390 AC_LANG_RESTORE()
391 ])
392 if test "$ac_$2" = yes; then
393 :
394 $3
395 else
396 :
397 $4
398 fi
399 ])
400
401 AC_DEFUN(ACX_PROG_GCC_VERSION,
402 [
403 AC_REQUIRE([AC_PROG_CC])
404 AC_CACHE_CHECK(whether we are using gcc $1.$2 or later, ac_cv_prog_gcc_$1_$2,
405 [
406 dnl The semicolon after "yes" below is to pacify NeXT's syntax-checking cpp.
407 cat > conftest.c <<EOF
408 #ifdef __GNUC__ && !defined (__INTEL_COMPILER)
409 # if (__GNUC__ > $1) || (__GNUC__ == $1 && __GNUC_MINOR__ >= $2)
410 yes;
411 # endif
412 #endif
413 EOF
414 if AC_TRY_COMMAND(${CC-cc} -E conftest.c) | egrep yes >/dev/null 2>&1; then
415 ac_cv_prog_gcc_$1_$2=yes
416 else
417 ac_cv_prog_gcc_$1_$2=no
418 fi
419 ])
420 if test "$ac_cv_prog_gcc_$1_$2" = yes; then
421 :
422 $3
423 else
424 :
425 $4
426 fi
427 ])
428
429 AC_DEFUN(ACX_PROG_GXX_VERSION,
430 [
431 AC_REQUIRE([AC_PROG_CXX])
432 AC_CACHE_CHECK(whether we are using g++ $1.$2 or later, ac_cv_prog_gxx_$1_$2,
433 [
434 dnl The semicolon after "yes" below is to pacify NeXT's syntax-checking cpp.
435 cat > conftest.cpp <<EOF
436 #ifdef __GNUC__ && !defined (__INTEL_COMPILER)
437 # if (__GNUC__ > $1) || (__GNUC__ == $1 && __GNUC_MINOR__ >= $2)
438 yes;
439 # endif
440 #endif
441 EOF
442 if AC_TRY_COMMAND(${CXX-c++} -E conftest.cpp) | egrep yes >/dev/null 2>&1; then
443 ac_cv_prog_gxx_$1_$2=yes
444 else
445 ac_cv_prog_gxx_$1_$2=no
446 fi
447 ])
448 if test "$ac_cv_prog_gxx_$1_$2" = yes; then
449 :
450 $3
451 else
452 :
453 $4
454 fi
455 ])
456
457 AC_DEFUN(ACX_PROG_REALLY_GCC,
458 [
459 AC_REQUIRE([AC_PROG_CC])
460 AC_CACHE_CHECK(whether we are *really* using GNU cc, ac_cv_prog_really_gcc,
461 [
462 dnl The semicolon after "yes" below is to pacify NeXT's syntax-checking cpp.
463 cat > conftest.c <<EOF
464 #ifdef __GNUC__
465 #if defined(__INTEL_COMPILER) || defined(__PATHCC__)
466 no;
467 #else
468 yes;
469 #endif
470 #endif
471 EOF
472 if AC_TRY_COMMAND(${CC-cc} -E conftest.c) | egrep yes >/dev/null 2>&1; then
473 ac_cv_prog_really_gcc=yes
474 else
475 ac_cv_prog_really_gcc=no
476 fi
477 ])
478 if test "$ac_cv_prog_really_gcc" = yes; then
479 :
480 $1
481 else
482 :
483 $2
484 fi
485 ])
486
487 AC_DEFUN(ACX_PROG_REALLY_GXX,
488 [
489 AC_REQUIRE([AC_PROG_CXX])
490 AC_CACHE_CHECK(whether we are *really* using GNU c++, ac_cv_prog_really_gxx,
491 [
492 dnl The semicolon after "yes" below is to pacify NeXT's syntax-checking cpp.
493 cat > conftest.cpp <<EOF
494 #ifdef __GNUC__
495 #if defined(__INTEL_COMPILER) || defined(__PATHCC__)
496 no;
497 #else
498 yes;
499 #endif
500 #endif
501 EOF
502 if AC_TRY_COMMAND(${CXX-c++} -E conftest.cpp) | egrep yes >/dev/null 2>&1; then
503 ac_cv_prog_really_gxx=yes
504 else
505 ac_cv_prog_really_gxx=no
506 fi
507 ])
508 if test "$ac_cv_prog_really_gxx" = yes; then
509 :
510 $1
511 else
512 :
513 $2
514 fi
515 ])
516
517
518 AC_DEFUN(ACX_PROG_CC_MAXOPT,
519 [
520 AC_REQUIRE([AC_PROG_CC])
521 AC_REQUIRE([AC_CANONICAL_HOST])
522
523 ACX_PROG_REALLY_GCC
524
525 # Try to determine "good" native compiler flags if none specified on command
526 # line
527 if test "$ac_test_CFLAGS" != "set"; then
528 CFLAGS=""
529 case "${host_cpu}-${host_os}" in
530
531 *linux*) if test "$CC" = icc; then
532 CFLAGS="-O"
533 fi;;
534 sparc-solaris2*) if test "$CC" = cc; then
535 CFLAGS="-O -dalign"
536 fi;;
537
538 alpha*-osf*) if test "$CC" = cc; then
539 CFLAGS="-newc -w0 -O5 -ansi_alias -ansi_args -fp_reorder -tune host -arch host -std1"
540 fi;;
541
542 hppa*-hpux*) if test "$CC" = cc; then
543 CFLAGS="-Ae +O3 +Oall"
544 fi;;
545
546 rs6000*-aix*) if test "$CC" = cc -o "$CC" = xlc; then
547 CFLAGS="-O3 -qtune=auto -qansialias -w"
548 fi;;
549 powerpc*-aix*)
550 if test "$CC" = cc -o "$CC" = xlc; then
551 CFLAGS="-O3 -qtune=auto -qansialias -w"
552 echo "*******************************************************"
553 echo "* You have AIX on an unknown powerpc system. It is *"
554 echo "* recommended that you use *"
555 echo "* *"
556 echo "* CFLAGS=-O3 -qarch=ppc -qtune=xxx -qansialias -w *"
557 echo "* ^^^ *"
558 echo "* where xxx is 601, 603, 604, or whatever kind of *"
559 echo "* PowerPC CPU you have. For more info, man cc. *"
560 echo "*******************************************************"
561 fi;;
562 *darwin*)
563 if test "$CC" = xlc -o "$CC" = cc; then
564 CFLAGS="-qthreaded -O -qtune=auto -qarch=auto -qunroll=auto -qaltivec"
565 fi;;
566 esac
567
568 # use default flags for gcc on all systems
569 if test $ac_cv_prog_really_gcc = yes; then
570 CFLAGS="-O6 -fomit-frame-pointer -Wall -W -Wcast-qual -Wpointer-arith -Wcast-align -pedantic"
571 fi
572
573 # test for gcc-specific flags:
574 if test $ac_cv_prog_really_gcc = yes; then
575 # -malign-double for x86 systems
576 ACX_CHECK_CC_FLAGS(-malign-double,align_double, CFLAGS="$CFLAGS -malign-double")
577 # -fstrict-aliasing for gcc-2.95+
578 ACX_CHECK_CC_FLAGS(-fstrict-aliasing,fstrict_aliasing, CFLAGS="$CFLAGS -fstrict-aliasing")
579 fi
580
581 CPU_FLAGS=""
582 if test $ac_cv_prog_really_gcc = yes; then
583 dnl try to guess correct CPU flags, at least for linux
584 case "${host_cpu}" in
585 i586*) ACX_CHECK_CC_FLAGS(-mcpu=pentium,cpu_pentium,
586 [CPU_FLAGS=-mcpu=pentium],
587 [ACX_CHECK_CC_FLAGS(-mpentium,pentium,
588 [CPU_FLAGS=-mpentium])])
589 ;;
590 i686*) ACX_CHECK_CC_FLAGS(-mcpu=pentiumpro,cpu_pentiumpro,
591 [CPU_FLAGS=-mcpu=pentiumpro],
592 [ACX_CHECK_CC_FLAGS(-mpentiumpro,pentiumpro,
593 [CPU_FLAGS=-mpentiumpro])])
594 ;;
595 powerpc*)
596 cputype=`(grep cpu /proc/cpuinfo | head -1 | cut -d: -f2 | sed 's/ //g') 2> /dev/null`
597 is60x=`echo $cputype | egrep "^60[0-9]e?$"`
598 if test -n "$is60x"; then
599 ACX_CHECK_CC_FLAGS(-mcpu=$cputype,m_cpu_60x,
600 CPU_FLAGS=-mcpu=$cputype)
601 elif test "$cputype" = 750; then
602 ACX_PROG_GCC_VERSION(2,95,
603 ACX_CHECK_CC_FLAGS(-mcpu=750,m_cpu_750,
604 CPU_FLAGS=-mcpu=750))
605 fi
606 if test -z "$CPU_FLAGS"; then
607 ACX_CHECK_CC_FLAGS(-mcpu=powerpc,m_cpu_powerpc,
608 CPU_FLAGS=-mcpu=powerpc)
609 fi
610 if test -z "$CPU_FLAGS"; then
611 ACX_CHECK_CC_FLAGS(-mpowerpc,m_powerpc,
612 CPU_FLAGS=-mpowerpc)
613 fi
614 esac
615 fi
616
617 if test -n "$CPU_FLAGS"; then
618 CFLAGS="$CFLAGS $CPU_FLAGS"
619 fi
620
621 if test -z "$CFLAGS"; then
622 echo ""
623 echo "********************************************************"
624 echo "* WARNING: Don't know the best CFLAGS for this system *"
625 echo "* Use make CFLAGS=..., or edit the top level Makefile *"
626 echo "* (otherwise, a default of CFLAGS=-O3 will be used) *"
627 echo "********************************************************"
628 echo ""
629 CFLAGS="-O3"
630 fi
631
632 ACX_CHECK_CC_FLAGS(${CFLAGS}, guessed_cflags, , [
633 echo ""
634 echo "********************************************************"
635 echo "* WARNING: The guessed CFLAGS don't seem to work with *"
636 echo "* your compiler. *"
637 echo "* Use make CFLAGS=..., or edit the top level Makefile *"
638 echo "********************************************************"
639 echo ""
640 CFLAGS=""
641 ])
642
643 fi
644 ])
645
646 AC_DEFUN(ACX_PROG_CXX_MAXOPT,
647 [
648 AC_REQUIRE([AC_PROG_CXX])
649 AC_REQUIRE([AC_CANONICAL_HOST])
650
651 ACX_PROG_REALLY_GXX
652
653 # Try to determine "good" native compiler flags if none specified on command
654 # line
655 if test "$ac_test_CXXFLAGS" != "set"; then
656 CXXFLAGS=""
657 case "${host_cpu}-${host_os}" in
658
659 *linux*) if test "$CXX" = icc -o "$CXX" = icpc; then
660 CXXFLAGS="-O"
661 fi;;
662 sparc-solaris2*) if test "$CXX" = CC; then
663 CXXFLAGS="-features=extensions -O -dalign"
664 fi;;
665 rs6000*-aix*) if test "$CXX" = xlC; then
666 CXXFLAGS="-O3 -qarch=pwrx -qtune=pwrx -qansialias -w"
667 fi;;
668 powerpc*-aix*)
669 if test "$CXX" = xlC; then
670 CXXFLAGS="-O3 -qarch=ppc -qansialias -w"
671 echo "*******************************************************"
672 echo "* You have AIX on an unknown powerpc system. It is *"
673 echo "* recommended that you use *"
674 echo "* *"
675 echo "* CXXFLAGS=-O3 -qarch=ppc -qtune=xxx -qansialias -w *"
676 echo "* ^^^ *"
677 echo "* where xxx is 601, 603, 604, or whatever kind of *"
678 echo "* PowerPC CPU you have. For more info, man cc. *"
679 echo "*******************************************************"
680 fi;;
681 *darwin*)
682 if test "$CXX" = xlc++ -o "$CXX" = xlC ; then
683 CXXFLAGS="-qthreaded -O -qtune=auto -qarch=auto -qunroll=auto -qaltivec"
684 fi;;
685 esac
686
687 # use default flags for gcc on all systems
688 if test $ac_cv_prog_really_gxx = yes; then
689 CXXFLAGS="-O6 -fomit-frame-pointer -Wall -W -Wcast-qual -Wpointer-arith -Wcast-align -pedantic"
690 fi
691
692 # test for gcc-specific flags:
693 if test $ac_cv_prog_really_gxx = yes; then
694 # -malign-double for x86 systems
695 ACX_CHECK_CXX_FLAGS(-malign-double,align_double, CXXFLAGS="$CXXFLAGS -malign-double")
696 # -fstrict-aliasing for gcc-2.95+
697 ACX_CHECK_CXX_FLAGS(-fstrict-aliasing,fstrict_aliasing, CXXFLAGS="$CXXFLAGS -fstrict-aliasing")
698 fi
699
700 CPU_FLAGS=""
701 if test $ac_cv_prog_really_gxx = yes; then
702 dnl try to guess correct CPU flags, at least for linux
703 case "${host_cpu}" in
704 i586*) ACX_CHECK_CXX_FLAGS(-mcpu=pentium,cpu_pentium,
705 [CPU_FLAGS=-mcpu=pentium],
706 [ACX_CHECK_CXX_FLAGS(-mpentium,pentium,
707 [CPU_FLAGS=-mpentium])])
708 ;;
709 i686*) ACX_CHECK_CXX_FLAGS(-mcpu=pentiumpro,cpu_pentiumpro,
710 [CPU_FLAGS=-mcpu=pentiumpro],
711 [ACX_CHECK_CXX_FLAGS(-mpentiumpro,pentiumpro,
712 [CPU_FLAGS=-mpentiumpro])])
713 ;;
714 powerpc*)
715 cputype=`(grep cpu /proc/cpuinfo | head -1 | cut -d: -f2 | sed 's/ //g') 2> /dev/null`
716 is60x=`echo $cputype | egrep "^60[0-9]e?$"`
717 if test -n "$is60x"; then
718 ACX_CHECK_CXX_FLAGS(-mcpu=$cputype,m_cpu_60x,
719 CPU_FLAGS=-mcpu=$cputype)
720 elif test "$cputype" = 750; then
721 ACX_PROG_GXX_VERSION(2,95,
722 ACX_CHECK_CXX_FLAGS(-mcpu=750,m_cpu_750,
723 CPU_FLAGS=-mcpu=750))
724 fi
725 if test -z "$CPU_FLAGS"; then
726 ACX_CHECK_CXX_FLAGS(-mcpu=powerpc,m_cpu_powerpc,
727 CPU_FLAGS=-mcpu=powerpc)
728 fi
729 if test -z "$CPU_FLAGS"; then
730 ACX_CHECK_CXX_FLAGS(-mpowerpc,m_powerpc,
731 CPU_FLAGS=-mpowerpc)
732 fi
733 esac
734 fi
735
736 if test -n "$CPU_FLAGS"; then
737 CXXFLAGS="$CXXFLAGS $CPU_FLAGS"
738 fi
739
740 if test -z "$CXXFLAGS"; then
741 echo ""
742 echo "**********************************************************"
743 echo "* WARNING: Don't know the best CXXFLAGS for this system *"
744 echo "* Use make CXXFLAGS=..., or edit the top level Makefile *"
745 echo "* (otherwise, a default of CXXFLAGS=-O3 will be used) *"
746 echo "**********************************************************"
747 echo ""
748 CXXFLAGS="-O3"
749 fi
750
751 ACX_CHECK_CXX_FLAGS(${CXXFLAGS}, guessed_cxxflags, , [
752 echo ""
753 echo "**********************************************************"
754 echo "* WARNING: The guessed CXXFLAGS don't seem to work with *"
755 echo "* your compiler. *"
756 echo "* Use make CXXFLAGS=..., or edit the top level Makefile *"
757 echo "**********************************************************"
758 echo ""
759 CXXFLAGS=""
760 ])
761
762 fi
763 ])
764
765 AC_DEFUN(ACX_PROG_F90_MAXOPT,
766 [
767 AC_REQUIRE([AC_PROG_F90])
768 AC_REQUIRE([AC_CANONICAL_HOST])
769
770 # Try to determine "good" native compiler flags if none specified on command
771 # line
772
773 if test x"$F90FLAGS" = x ; then
774 F90FLAGS=""
775 case "${host_cpu}-${host_os}" in
776
777 *linux*) if test "$F90" = ifc -o "$F90" = ifort; then
778 F90FLAGS="-O"
779 fi;;
780 rs6000*-aix*) if test "$F90" = xlf90 -o "$F90" = f90; then
781 F90FLAGS="-O3 -qarch=pwrx -qtune=pwrx -qansialias -w"
782 fi;;
783 powerpc*-aix*)
784 if test "$F90" = f90 -o "$F90" = xlf90; then
785 F90FLAGS="-O3 -qarch=ppc -qansialias -w"
786 echo "*******************************************************"
787 echo "* You have AIX on an unknown powerpc system. It is *"
788 echo "* recommended that you use *"
789 echo "* *"
790 echo "* F90FLAGS=-O3 -qarch=ppc -qtune=xxx -qansialias -w *"
791 echo "* ^^^ *"
792 echo "* where xxx is 601, 603, 604, or whatever kind of *"
793 echo "* PowerPC CPU you have. For more info, man xlf. *"
794 echo "*******************************************************"
795 fi;;
796 *darwin*)
797 if test "$F90" = f90 -o "$F90" = xlf90 -o "$F90" = xlf95; then
798 F90FLAGS="-qthreaded -O -qtune=auto -qarch=auto -qunroll=auto"
799 fi;;
800 esac
801
802 if test -n "$CPU_FLAGS"; then
803 F90FLAGS="$F90FLAGS $CPU_FLAGS"
804 fi
805
806 if test -z "$F90FLAGS"; then
807 echo ""
808 echo "**********************************************************"
809 echo "* WARNING: Don't know the best F90FLAGS for this system *"
810 echo "* Use make F90FLAGS=..., or edit the top level Makefile *"
811 echo "* (otherwise, a default of F90FLAGS=-O3 will be used) *"
812 echo "**********************************************************"
813 echo ""
814 F90FLAGS="-O3"
815 fi
816
817 ACX_CHECK_F90_FLAGS(${F90FLAGS}, guessed_f90flags, , [
818 echo ""
819 echo "**********************************************************"
820 echo "* WARNING: The guessed F90FLAGS don't seem to work with *"
821 echo "* your compiler. *"
822 echo "* Use make F90FLAGS=..., or edit the top level Makefile *"
823 echo "**********************************************************"
824 echo ""
825 F90FLAGS=""
826 ])
827
828 fi
829 ])
830
831 AC_DEFUN(ACX_PROG_F90_PREPFLAG,
832 [
833 AC_REQUIRE([AC_PROG_F90])
834 AC_REQUIRE([AC_CANONICAL_HOST])
835
836 # Try to determine native compiler flags that allow us to use F90 suffix
837 # for preprocessed f90 source.
838
839 if test "$ac_test_PREPFLAG" != "set"; then
840 PREPFLAG=""
841 case "${host_cpu}-${host_os}" in
842
843 *linux*) if test "$F90" = ifc -o "$F90" = ifort; then
844 PREPFLAG="-fpp1 "
845 fi;;
846 *aix*) if test "$F90" = xlf90 -o "$F90" = f90; then
847 PREPFLAG="-qsuffix=cpp=F90 "
848 fi;;
849 *darwin*)
850 if test "$F90" = f90 -o "$F90" = xlf90; then
851 PREPFLAG="-qsuffix=cpp=F90 "
852 fi;;
853 esac
854
855 if test -z "$PREPFLAG"; then
856 AC_MSG_WARN("Using empty PREPFLAG")
857 PREPFLAG=""
858 fi
859
860 AC_MSG_CHECKING(to make sure F90 preprocessor flag works)
861 AC_LANG_SAVE()
862 AC_LANG([Fortran 90])
863 ac_save_ext=$ac_ext
864 ac_ext=F90
865 ac_save_F90FLAGS=$F90FLAGS
866
867 AS_IF([test "$PREPFLAG"], [F90FLAGS="${F90FLAGS} ${PREPFLAG}-DTEST"])
868 _AC_COMPILE_IFELSE([
869 AC_LANG_PROGRAM([
870 integer :: i
871 i = 1
872 ])], [prepflagworks=1], [prepflagworks=0])
873
874 F90FLAGS=$ac_save_F90FLAGS
875 ac_ext=$ac_save_ext
876 AC_LANG_RESTORE()
877
878 if test "$prepflagworks" = 1; then
879 AC_MSG_RESULT(yes)
880 AC_SUBST(PREPFLAG)
881 else
882 AC_MSG_RESULT(no)
883 AC_MSG_ERROR([Can't figure out working Fortran90 preprocessor flag])
884 fi
885 fi
886 ])
887
888
889 AC_DEFUN(ACX_PROG_F90_PREPDEFFLAG,
890 [
891 AC_REQUIRE([AC_PROG_F90])
892 AC_REQUIRE([AC_CANONICAL_HOST])
893
894 # Try to determine native compiler flags that allow us to use F90 suffix
895 # for preprocessed f90 source with -D type defines
896
897 if test "$ac_test_PREPDEFFLAG" != "set"; then
898 PREPDEFFLAG=""
899 case "${host_cpu}-${host_os}" in
900
901 *linux*) if test "$F90" = ifc -o "$F90" = ifort; then
902 PREPDEFFLAG=" "
903 fi;;
904 *aix*) if test "$F90" = xlf90 -o "$F90" = f90; then
905 PREPDEFFLAG="-WF,"
906 fi;;
907 *darwin*)
908 if test "$F90" = f90 -o "$F90" = xlf90; then
909 PREPDEFFLAG="-WF,"
910 fi;;
911 esac
912
913 if test -z "$PREPDEFFLAG"; then
914 AC_MSG_WARN("Using empty PREPDEFFLAG")
915 PREPDEFFLAG=" "
916 fi
917
918 AC_MSG_CHECKING(to make sure F90 preprocessor define flag works)
919 AC_LANG_SAVE()
920 AC_LANG([Fortran 90])
921 ac_save_ext=$ac_ext
922 ac_ext=F90
923 ac_save_F90FLAGS=$F90FLAGS
924
925 AS_IF([test "$PREPDEFFLAG"], [F90FLAGS="${F90FLAGS} ${PREPFLAG} ${PREPDEFFLAG}-DTEST"])
926 _AC_COMPILE_IFELSE([
927 AC_LANG_PROGRAM([
928 integer :: i
929 #ifdef TEST
930 i = 1
931 #else
932 choke me
933 #endif
934 ])], [prepdefflagworks=1], [prepdefflagworks=0])
935
936 F90FLAGS=$ac_save_F90FLAGS
937 ac_ext=$ac_save_ext
938 AC_LANG_RESTORE()
939
940
941 if test "$prepdefflagworks" = 1; then
942 AC_MSG_RESULT(yes)
943 AC_SUBST(PREPDEFFLAG)
944 else
945 AC_MSG_RESULT(no)
946 AC_MSG_ERROR([Can't figure out working Fortran90 preprocessor define flag])
947 fi
948 fi
949 ])
950
951 dnl check for the required MPI library
952 AC_DEFUN([ACX_MPI], [
953
954 # Set variables...
955 MPI_LIB_DIR="$MPI/lib"
956 MPI_INC_DIR="$MPI/include"
957 AC_SUBST([MPI_LIB_DIR])
958 AC_SUBST([MPI_INC_DIR])
959
960 AC_MSG_CHECKING([for mpi.h])
961 have_mpi_h=0
962 rm -f conftest*
963 echo '#include <mpi.h>' > conftest.cc
964 if ${CXX} -I${MPI_INC_DIR} -c conftest.cc 2>&1 ; then
965 AC_MSG_RESULT(yes)
966 have_mpi_h=1
967 else
968 if test -s conftest.out ; then
969 cat conftest.out >> config.log
970 fi
971 AC_MSG_RESULT(no! Check MPI include paths)
972 USE_MPI="no"
973 fi
974 rm -f conftest*
975 if test "$have_mpi_h" = 1; then
976 AC_DEFINE(HAVE_MPI_H, 1, [have mpi.h])
977 fi
978
979 AC_MSG_CHECKING([whether mpif.h is usable])
980 have_mpif_h=0
981 rm -f conftest*
982 cat >conftest.f90 <<EOF
983 program main
984 include 'mpif.h'
985 end
986 EOF
987 if $F90 -I$MPI_INC_DIR -c conftest.f90 > conftest.out 2>&1 ; then
988 AC_MSG_RESULT(yes)
989 MPI_F90_INC="$MPI_INC_DIR"
990 have_mpif_h=1
991 else
992 if test -s conftest.out ; then
993 cat conftest.out >> config.log
994 fi
995 AC_MSG_RESULT([no! Check MPI include paths])
996 USE_MPI="no"
997 fi
998 rm -f conftest*
999 AC_SUBST(MPI_F90_INC)
1000 if test "$have_mpif_h" = 1; then
1001 AC_DEFINE(HAVE_MPIF_H, 1, [have mpif.h])
1002 fi
1003
1004 AC_LANG_PUSH(C)
1005 ac_save_LDFLAGS=$LDFLAGS
1006 LDFLAGS="${LDFLAGS} -L${MPI_LIB_DIR} "
1007
1008 if test x = x"$MPI_LIB"; then
1009 AC_CHECK_LIB(mpich, MPI_Init, [MPI_LIB="-lmpich"])
1010 fi
1011 if test x = x"$MPI_LIB"; then
1012 AC_CHECK_LIB(mpi, MPI_Init, [MPI_LIB="-lmpi"])
1013 fi
1014 $as_unset ac_cv_lib_mpi_MPI_Init
1015 if test x = x"$MPI_LIB"; then
1016 AC_CHECK_LIB(mpi, MPI_Init, [MPI_LIB="-lmpi -llam"], [],
1017 "-llam")
1018 fi
1019 $as_unset ac_cv_lib_mpich_MPI_Init
1020 if test x = x"$MPI_LIB"; then
1021 AC_CHECK_LIB(mpich, MPI_Init, [MPI_LIB="-lmpich -lpmpich"], [],
1022 "-lpmpich")
1023 fi
1024
1025 $as_unset ac_cv_lib_mpi_MPI_Init
1026 if test x = x"$MPI_LIB"; then
1027 AC_CHECK_LIB(mpi, MPI_Init, [MPI_LIB="-lmpi -llam -lpthread"],[
1028 AC_MSG_ERROR([Didn't find liblam, libmpi, or libmpich; check path for MPI package first...])
1029 USE_MPI="no"
1030 ],
1031 [-llam -lpthread])
1032 fi
1033
1034 AC_SUBST(MPI_LIB)
1035
1036 AC_MSG_CHECKING([for MPI Fortran library])
1037 MPI_F90_LIB=""
1038 if test -f "$MPI_LIB_DIR/libfmpich.a" ; then
1039 MPI_F90_LIB="-lfmpich"
1040 elif test -f "$MPI_LIB_DIR/liblamf77mpi.a" ; then
1041 MPI_F90_LIB="-llamf77mpi"
1042 else
1043 dnl nothing special found, we'll assume that the C
1044 dnl library is all we need
1045 MPI_F90_LIB=" "
1046 fi
1047 AC_MSG_RESULT([found $MPI_F90_LIB])
1048 AC_SUBST(MPI_F90_LIB)
1049 ])dnl ACX_MPI
1050
1051
1052 dnl check for the required SPRNG library
1053 AC_DEFUN([ACX_SPRNG], [
1054
1055 # Set variables...
1056 SPRNG_LIB_DIR="$SPRNG/lib"
1057 SPRNG_INC_DIR="$SPRNG/include"
1058 AC_SUBST([SPRNG_LIB_DIR])
1059 AC_SUBST([SPRNG_INC_DIR])
1060
1061 AC_MSG_CHECKING([for sprng.h])
1062 have_sprng_h=0
1063 echo '#include <sprng.h>' > conftest.cc
1064 if test -z "`${CXX} -I${SPRNG_INC_DIR} -c conftest.cc 2>&1`"; then
1065 AC_MSG_RESULT(yes)
1066 have_sprng_h=1
1067 else
1068 AC_MSG_RESULT([no! Check SPRNG include path!])
1069 USE_SPRNG="no"
1070 fi
1071 rm -f conftest*
1072 if test "$have_sprng_h" = 1; then
1073 AC_DEFINE(HAVE_SPRNG_H, 1, [have sprng.h])
1074 fi
1075
1076 AC_LANG_PUSH(C)
1077 ac_save_LDFLAGS=$LDFLAGS
1078 LDFLAGS="${LDFLAGS} -L${SPRNG_LIB_DIR} "
1079
1080 AC_CHECK_LIB(sprng, init_rng, [SPRNG_LIB="-lsprng"], [
1081 AC_MSG_ERROR([Didn't find libsprng; check path for SPRNG package first...])
1082 USE_SPRNG="no"
1083 ])
1084
1085 if test "$USE_SPRNG" = "no"; then
1086 AC_MSG_ERROR(No working SPRNG library found)
1087 fi
1088 AC_SUBST(SPRNG_LIB)
1089 ])dnl ACX_SPRNG
1090
1091 AC_DEFUN([adl_FUNC_GETOPT_LONG],
1092 [AC_PREREQ(2.49)dnl
1093 # clean out junk possibly left behind by a previous configuration
1094 rm -f src/getopt.h
1095 # Check for getopt_long support
1096 AC_CHECK_HEADERS([getopt.h])
1097 AC_CHECK_FUNCS([getopt_long],,
1098 [# FreeBSD has a gnugetopt library for this
1099 AC_CHECK_LIB([gnugetopt],[getopt_long],[AC_DEFINE([HAVE_GETOPT_LONG])],
1100 [# use the GNU replacement
1101 AC_LIBOBJ(getopt)
1102 AC_LIBOBJ(getopt1)
1103 AC_CONFIG_LINKS([src/getopt.h:src/utils/gnugetopt.h])])])])
1104
1105
1106 AC_DEFUN([ACX_CONFIG_HOME], [
1107 myDir=${0%/*}
1108 if [ "$myDir" = "$0" ]; then
1109 # Ran from local directory
1110 myDir=$PWD
1111 fi
1112 # Resolve symlinks.
1113 myProgram="$0"
1114 while [ -L "$myProgram" ]; do
1115 ls=`/bin/ls -ld "$myProgram"`
1116 link=`/usr/bin/expr "$ls" : '.*-> \(.*\)$'`
1117 if /usr/bin/expr "$link" : '.*/.*' > /dev/null; then
1118 myProgram="$link"
1119 else
1120 myProgram="`AS_DIRNAME([$myProgram])`/$link"
1121 fi
1122 done
1123 myDir=`AS_DIRNAME([$myProgram])`
1124 fi
1125 CONFIG_HOME=$myDir
1126 ])
1127
1128 AC_DEFUN(BB_ENABLE_DOXYGEN,
1129 [
1130 AC_ARG_ENABLE(doxygen, [ --enable-doxygen enable documentation generation with doxygen (auto)])
1131 AC_ARG_ENABLE(dot, [ --enable-dot use 'dot' to generate graphs in doxygen (auto)])
1132 AC_ARG_ENABLE(html-docs, [ --enable-html-docs enable HTML generation with doxygen (yes)], [], [ enable_html_docs=yes])
1133 AC_ARG_ENABLE(latex-docs, [ --enable-latex-docs enable LaTeX documentation generation with doxygen (no)], [], [ enable_latex_docs=no])
1134 if test "x$enable_doxygen" = xno; then
1135 enable_doc=no
1136 else
1137 AC_PATH_PROG(DOXYGEN, doxygen, , $PATH)
1138 if test "x$DOXYGEN" = x; then
1139 if test "x$enable_doxygen" = xyes; then
1140 AC_MSG_ERROR([could not find doxygen])
1141 fi
1142 enable_doc=no
1143 else
1144 enable_doc=yes
1145 AC_PATH_PROG(DOT, dot, , $PATH)
1146 fi
1147 fi
1148
1149 if test "x$enable_doc" = xyes; then
1150 DOC=1
1151 else
1152 DOC=0
1153 fi
1154 AC_SUBST(DOC)
1155
1156 if test x$DOT = x; then
1157 if test "x$enable_dot" = xyes; then
1158 AC_MSG_ERROR([could not find dot])
1159 fi
1160 enable_dot=no
1161 else
1162 enable_dot=yes
1163 fi
1164 AC_SUBST(enable_dot)
1165 AC_SUBST(enable_html_docs)
1166 AC_SUBST(enable_latex_docs)
1167 ])
1168 #
1169 #
1170 #
1171 AC_DEFUN([AX_SYS_PERLSHARPBANG],[dnl
1172
1173 AC_PATH_PROG(PERLINTERP,perl,perl)
1174 ac_cv_path_perlinterp="$PERLINTERP"
1175 _sHpB='#!'
1176
1177 AC_ARG_WITH(perl-shebang,
1178 AC_HELP_STRING([--with-perl-shebang],
1179 [override what perl thinks is the way for the kernel to start it (seldom needed)]dnl
1180 ),
1181 [opt_perl_shebang="$withval"]dnl
1182 ,dnl
1183 [opt_perl_shebang="not_set"]dnl
1184 )dnl
1185
1186 AC_CACHE_CHECK([whether explicit instead of detected sharpbang is to be used],
1187 ax_cv_opt_perl_shebang,
1188 [ case "$opt_perl_shebang" in
1189 not_set ) ax_cv_opt_perl_shebang=''
1190 ;;
1191 * )
1192 ax_cv_opt_perl_shebang=`echo "$opt_perl_shebang" | sed -e's|^#!\s*\(.*\)$|\1|'`
1193 esac
1194 ]dnl
1195 )dnl
1196
1197 if test "A$ax_cv_opt_perl_shebang" != "A"
1198 then
1199 ac_cv_sys_kernshrpbang_perl="$ax_cv_opt_perl_shebang"
1200 PERL_SHEBANG="$ac_cv_sys_kernshrpbang_perl"
1201 AC_SUBST(PERL_SHEBANG)dnl
1202 AC_MSG_NOTICE([OK - PERL_SHEBANG is $_sHpB$PERL_SHEBANG.])
1203
1204 # Automatic detection of sharpbang formula starts here
1205 else dnl
1206
1207 _somian_shbangperl=`$PERLINTERP -V:startperl`
1208 negclass="[[^']]"; dnl
1209 # must leave this comment: m4 will remove the outer brackets for us, heheh
1210 AC_CACHE_CHECK([for kernel sharpbang invocation to start perl],
1211 ac_cv_sys_kernshrpbang_perl,
1212 [_somian_kspb_perl=`echo "$_somian_shbangperl" | sed -ne"s|.*='\($negclass*\)';$|\1|p"`
1213 if test "x$_somian_kspb_perl" == x
1214 then _somian_ksbp_warn_empty='durnit'
1215 else
1216 case "A$_somian_kspb_perl" in
1217 A#!*perl* )
1218 ac_cv_sys_kernshrpbang_perl=`echo "$_somian_kspb_perl" | sed -e's|#!\(.*\)$|\1|'`
1219 ;;
1220 A* ) _somian_ksbp_warn_defau='trouble'
1221 ac_cv_sys_kernshrpbang_perl="$PERLINTERP"
1222 esac
1223 fi
1224 ])dnl Done with testing sharpbang
1225
1226 # The above prints Checking ... result message to user.
1227 PERL_SHEBANG="$ac_cv_sys_kernshrpbang_perl"
1228 AC_SUBST(PERL_SHEBANG)
1229 if test A${_somian_ksbp_warn_empty+set} == Aset
1230 then AC_MSG_WARN([dnl
1231 In last check, doing $PERLINTERP -V:startperl yielded empty result! That should not happen.])
1232 fi
1233 # Inform user after printing result value
1234 if test A${_somian_ksbp_warn_defau+set} == Aset
1235 then AC_MSG_NOTICE([Maybe Not good -])
1236 AC_MSG_WARN([dnl
1237 In last check perl's Config query did not work so we bunted: $_sHpB$PERLINTERP])
1238 else AC_MSG_NOTICE([OK Good result - ])
1239 AC_MSG_NOTICE([dnl
1240 In last check we got a proper-looking answer from perl's Config: $_somian_shbangperl])
1241 dnl Done with user info messages
1242 fi
1243 dnl Outer loop checked for user override term here
1244 fi dnl
1245
1246 ])dnl EOMACRO DEF
1247
1248 AC_DEFUN([ACX_CHECK_ZLIB],
1249 #
1250 # Handle user hints
1251 #
1252 [AC_MSG_CHECKING(if zlib is wanted)
1253 AC_ARG_WITH(zlib,
1254 [ --with-zlib=DIR root directory path of zlib installation [defaults to
1255 /usr/local or /usr if not found in /usr/local]
1256 --without-zlib to disable zlib usage completely],
1257 [if test "$withval" != no ; then
1258 AC_MSG_RESULT(yes)
1259 if test -d "$withval"
1260 then
1261 ZLIB_HOME="$withval"
1262 else
1263 AC_MSG_WARN([Sorry, $withval does not exist, checking usual places])
1264 fi
1265 else
1266 AC_MSG_RESULT(no)
1267 fi])
1268
1269 ZLIB_HOME=/usr/local
1270 if test ! -f "${ZLIB_HOME}/include/zlib.h"
1271 then
1272 ZLIB_HOME=/usr
1273 fi
1274
1275 #
1276 # Locate zlib, if wanted
1277 #
1278 if test -n "${ZLIB_HOME}"
1279 then
1280 ZLIB_OLD_LDFLAGS=$LDFLAGS
1281 ZLIB_OLD_CPPFLAGS=$LDFLAGS
1282 LDFLAGS="$LDFLAGS -L${ZLIB_HOME}/lib"
1283 CPPFLAGS="$CPPFLAGS -I${ZLIB_HOME}/include"
1284 AC_LANG_SAVE
1285 AC_LANG_C
1286 AC_CHECK_LIB(z, inflateEnd, [zlib_cv_libz=yes], [zlib_cv_libz=no])
1287 AC_CHECK_HEADER(zlib.h, [zlib_cv_zlib_h=yes], [zlib_cv_zlib_h=no])
1288 AC_LANG_RESTORE
1289 if test "$zlib_cv_libz" = "yes" -a "$zlib_cv_zlib_h" = "yes"
1290 then
1291 #
1292 # If both library and header were found, use them
1293 #
1294 AC_CHECK_LIB(z, inflateEnd)
1295 AC_MSG_CHECKING(zlib in ${ZLIB_HOME})
1296 AC_MSG_RESULT(ok)
1297 else
1298 #
1299 # If either header or library was not found, revert and bomb
1300 #
1301 AC_MSG_CHECKING(zlib in ${ZLIB_HOME})
1302 LDFLAGS="$ZLIB_OLD_LDFLAGS"
1303 CPPFLAGS="$ZLIB_OLD_CPPFLAGS"
1304 AC_MSG_RESULT(failed)
1305 AC_MSG_ERROR(either specify a valid zlib installation with --with-zlib=DIR or disable zlib usage with --without-zlib)
1306 fi
1307 fi
1308
1309 ])