ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/group/trunk/OOPSE-3.0/ac-tools/configure.in
Revision: 2961
Committed: Wed Jul 26 21:01:07 2006 UTC (18 years, 1 month ago) by gezelter
File size: 13804 byte(s)
Log Message:
added perl substitution for affineScale script

File Contents

# User Rev Content
1 gezelter 1490 dnl **** Process this file with autoconf to produce a configure script.
2 gezelter 2546 AC_PREREQ(2.59)
3 gezelter 2558 AC_INIT(OOPSE, 3.0, gezelter@nd.edu, oopse)
4 gezelter 1490 AC_CONFIG_AUX_DIR(ac-tools)
5 gezelter 2546 AC_CONFIG_SRCDIR([src/applications/oopse/oopse.cpp])
6     AC_CONFIG_HEADER([src/config.h])
7 gezelter 1490
8 gezelter 2753 builtin(include, ac-tools/OOPSE.m4)
9 gezelter 2510 builtin(include, ac-tools/AC_CXX_HAVE_STL.m4)
10     builtin(include, ac-tools/AC_CXX_NAMESPACES.m4)
11     builtin(include, ac-tools/AC_CXX_STD.m4)
12 gezelter 1490
13 gezelter 2546 # who am i
14     AC_CANONICAL_HOST
15 gezelter 1490
16     AC_PREFIX_DEFAULT("/usr/local")
17    
18     # set program name
19     PROGNAME="oopse"
20     AC_SUBST(PROGNAME)
21    
22 gezelter 2546 AC_EXEEXT
23     AC_OBJEXT
24     OBJEXT=".$OBJEXT"
25    
26     OOPSE=oopse
27    
28     dnl **** define home dir of oopse
29     if test "x${prefix}" = "xNONE"
30     then
31     OOPSE_HOME=${ac_default_prefix}/oopse
32     else
33     OOPSE_HOME=${prefix}/oopse
34     fi
35     AC_ARG_ENABLE(oopse-home,
36     [ --enable-oopse-home=DIR define oopse home dir [PREFIX/oopse]],
37     [OOPSE_HOME="${enableval}"])
38    
39 gezelter 1490 # there are two ways to do debugging. One with the --enable-debug flag
40     # and one using the DEBUG environment variable
41    
42     debug=0
43     AC_ARG_ENABLE(debug, AC_HELP_STRING([--enable-debug], [Compile OOPSE in debug mode]), [debug=1])
44     if test "${DEBUG}"; then
45     AC_DEFINE(debug, 1, [Code compiled in debug mode])
46     msg="$msg, debug mode"
47     fi
48     AC_SUBST(debug)
49    
50 gezelter 2757 AC_ARG_ENABLE(single, [AC_HELP_STRING([--enable-single],[compile OOPSE in single precision])], ok=$enableval, ok=no)
51     AC_ARG_ENABLE(float, [AC_HELP_STRING([--enable-float],[synonym for --enable-single])], ok=$enableval)
52     if test "$ok" = "yes"; then
53     AC_DEFINE(SINGLE_PRECISION,1,[Define to compile in single precision.])
54 gezelter 2758 USE_SINGLE_PRECISION=yes
55     AC_SUBST(USE_SINGLE_PRECISION)
56 gezelter 2757 fi
57    
58 gezelter 2546 # Checks for programs.
59 gezelter 2926 AC_PROG_CXX([mpicxx icpc pathCC pgCC c++ xlc++ xlC g++ CC])
60 gezelter 2862 AC_PROG_CC([mpicc icc pathcc pgcc cc xlc gcc])
61     AC_PROG_FC([mpif90 ifort ifc pathf95 pgf95 xlf95 lf95 epcf90 pathf90 xlf90 f95 f90 gfortran g95 fort], 95)
62 gezelter 2473 AC_PROG_CPP
63     AC_PROG_EGREP
64 gezelter 2546 AC_PROG_LN_S
65     AC_PROG_MAKE_SET
66     AC_PROG_RANLIB
67     AX_SYS_PERLSHARPBANG
68     AC_PROG_INSTALL
69     case "x$INSTALL" in
70     x/*) ;;
71     *) INSTALL=`pwd`/ac-tools/"shtool install -c" ;
72     esac
73     MKINSTALLDIRS=`pwd`/ac-tools/"shtool mkdir -p -f"
74     AC_CHECK_PROG(AR, ar, ar, NONE)
75     if test "$AR" = "NONE"; then
76     AC_CACHE_SAVE
77     exit 1
78 gezelter 1490 fi
79 gezelter 2546 AC_PATH_PROG(PS, ps)
80     AC_CACHE_CHECK([for POSIX or BSD ps syntax], ac_cv_prog_ps_syntax, [
81     if $PS ax -o rss > /dev/null 2>&1; then
82     ac_cv_prog_ps_ax=yes
83     else
84     ac_cv_prog_ps_ax=no
85     fi
86     if $PS -ef -o rss > /dev/null 2>&1; then
87     ac_cv_prog_ps_ef=yes
88     else
89     ac_cv_prog_ps_ef=no
90     fi
91     if test "$ac_cv_prog_ps_ax" = yes; then
92     ac_cv_prog_ps_syntax=BSD
93     else
94     if test "$ac_cv_prog_ps_ef" = yes; then
95     ac_cv_prog_ps_syntax=POSIX
96     else
97     AC_MSG_ERROR(Could not determine ps syntax)
98     fi
99     fi
100     ])
101     AC_DEFINE_UNQUOTED(PSCOMMAND, $PS, [Path to ps program])
102     if test "$ac_cv_prog_ps_syntax" = BSD; then
103     AC_DEFINE(PSTYPE_IS_BSD, 1, [ps uses BSD-style arguments])
104     else
105     if test "$ac_cv_prog_ps_syntax" = POSIX; then
106     AC_DEFINE(PSTYPE_IS_POSIX, 1, [ps uses POSIX-style arguments])
107     else
108     AC_MSG_ERROR(Unknown ps syntax type!)
109     fi
110     fi
111 gezelter 1490
112 gezelter 2546 AC_LANG_PUSH(Fortran)
113     AC_FC_SRCEXT(F90)
114 gezelter 1490 dnl Check the flag for Fortran90 preprocessing
115     ACX_PROG_F90_PREPFLAG
116     dnl Check to see if a flag is required for preprocessing defines
117     ACX_PROG_F90_PREPDEFFLAG
118 gezelter 2546 AC_FC_WRAPPERS
119     AC_SUBST(FC_FUNC)
120     AC_SUBST(FC_FUNC_)
121     AC_FC_LIBRARY_LDFLAGS
122 gezelter 1490 dnl Fortran 90 module suffix
123     AC_CHECK_MODSUFFIX
124     dnl Fortran 90 module path specifier
125     AC_CHECK_MODDIRFLAG
126 gezelter 1535 AC_F90_MODULE_NAMES
127     pat=`echo $ac_cv_f90_module_names | sed 's/.*\(%.*%\).*/\1/'`
128     F90_MODULE_NAMES=empty
129     case $pat in
130     %MODULE%)
131     F90_MODULE_NAMES=UPPER ;;
132     %Module%)
133     F90_MODULE_NAMES=Mixed ;;
134     %module%)
135     F90_MODULE_NAMES=lower ;;
136     *)
137     F90_MODULE_NAMES=unknown ;;
138     esac
139     AC_SUBST(F90_MODULE_NAMES)
140 gezelter 1490 AC_LANG_POP
141    
142 gezelter 2546 AC_LANG_C
143 gezelter 2510
144 gezelter 2452 dnl Checks for libraries.
145     AC_CHECK_LIB(m, asin, , exit)
146 gezelter 2546 ACX_CHECK_ZLIB
147 gezelter 2753 ACX_CHECK_FFTW
148 gezelter 2452
149 gezelter 2752
150 gezelter 2546 # Checks for header files.
151     AC_HEADER_STDC
152 gezelter 2558 AC_CHECK_HEADERS([conio.h dlfcn.h fstream.h iostream.h libintl.h limits.h machine/hal_sysinfo.h math.h stddef.h stdio.h stdlib.h string.h strings.h strstream.h sys/param.h sys/pstat.h sys/sysmp.h sys/sysctl.h sys/sysinfo.h sys/systemcfg.h sys/table.h sys/time.h time.h unistd.h zlib.h])
153 gezelter 2546
154     # Checks for typedefs, structures, and compiler characteristics.
155     AC_HEADER_STDBOOL
156     AC_C_CONST
157     AC_C_INLINE
158     AC_C_RESTRICT
159     AC_TYPE_SIZE_T
160     AC_HEADER_TIME
161     AC_CHECK_TYPES(clock_t)
162     AC_C_CONST
163     AC_C_INLINE
164    
165     # Checks for library functions.
166     AC_FUNC_MALLOC
167     AC_FUNC_MEMCMP
168     AC_FUNC_REALLOC
169     AC_FUNC_SELECT_ARGTYPES
170     AC_FUNC_STRFTIME
171     AC_FUNC_STRTOD
172 gezelter 2558 AC_CHECK_FUNCS([floor getpagesize gettimeofday memchr memmove memset pow pstat_getdynamic pstat_getstatic rint select snprintf sranddev sqrt strcasecmp strchr strdup stricmp strncasecmp strnicmp strrchr strstr strtol sysmp getsysinfo sysctl table])
173 gezelter 2546
174 tim 1997 # special check for _system_configuration because AIX <4.3.2 do not
175     # contain the `physmem' member.
176     AC_MSG_CHECKING([for external symbol _system_configuration])
177     AC_TRY_COMPILE([#include <sys/systemcfg.h>],
178     [double x = _system_configuration.physmem;],
179     [AC_MSG_RESULT([yes])
180     AC_DEFINE(HAVE__SYSTEM_CONFIGURATION, 1,
181     [Define if you have the _system_configuration variable.])],
182     [AC_MSG_RESULT([no])])
183    
184 gezelter 1490 dnl check for system getopt
185     adl_FUNC_GETOPT_LONG
186    
187 tim 2518 AC_LANG_CPLUSPLUS
188 gezelter 2546 AC_CXX_NAMESPACES
189     AC_CXX_STD
190     AC_CHECK_HEADERS([ctype.h iostream fstream sstream strstream])
191 tim 2518 # AC_CPP_FUNC
192     # ------------------ #
193     # Checks to see if ANSI C99 CPP variable __func__ works.
194     # If not, perhaps __FUNCTION__ works instead.
195     # If not, we'll just define __func__ to "".
196     AC_DEFUN([AC_CPP_FUNC],
197     [AC_REQUIRE([AC_PROG_CC_STDC])dnl
198     AC_CACHE_CHECK([for an ANSI C99-conforming __func__], ac_cv_cpp_func,
199     [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([],
200     [[const char *foo = __func__;]])],
201     [ac_cv_cpp_func=yes],
202     [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([],
203     [[const char *foo = __FUNCTION__;]])],
204     [ac_cv_cpp_func=__FUNCTION__],
205     [ac_cv_cpp_func=no])])])
206     if test $ac_cv_cpp_func = __FUNCTION__; then
207     AC_DEFINE(__func__,__FUNCTION__,
208     [Define to __FUNCTION__ or "" if `__func__' does not conform to
209     ANSI C.])
210     elif test $ac_cv_cpp_func = no; then
211     AC_DEFINE(__func__,"",
212     [Define to __FUNCTION__ or "" if `__func__' does not conform to
213     ANSI C.])
214     fi
215     ])# AC_CPP_FUNC
216    
217     AC_CPP_FUNC
218     AC_SUBST(__func__)
219    
220 gezelter 1490
221 gezelter 2546 dnl check for strong optimization options
222 gezelter 2029
223 gezelter 2546 case $debug in
224     1)
225     ;;
226     *)
227     ACX_PROG_FC_MAXOPT
228     ACX_PROG_CC_MAXOPT
229     ACX_PROG_CXX_MAXOPT
230     ;;
231     esac
232    
233     dnl OpenBabel needs this:
234 gezelter 2452 AC_DEFINE([OBAPI], [], [Used to export symbols for DLL / shared library builds])
235 gezelter 1490
236 gezelter 2452
237 gezelter 1490 AC_ARG_WITH(mpi,
238     [AC_HELP_STRING([--with-mpi=<prefix>],
239     [compile with MPI installed in <prefix> [default=no]])],
240     with_mpi=$withval,
241     with_mpi="no")
242    
243     case "x$with_mpi" in
244     xyes | "x") USE_MPI=yes;;
245     xno) USE_MPI=no ;;
246     *) MPI="$with_mpi"; USE_MPI=yes ;;
247     esac
248     if test "$USE_MPI" = "yes" -a -z "$with_mpi"; then
249     MPI="/usr/local"
250     fi
251     if test "$USE_MPI" = "yes"; then
252     ACX_MPI
253     fi
254     AC_SUBST(USE_MPI)
255    
256 gezelter 2190 dnl ########################################
257     dnl # Check for CGAL headers and libraries #
258     dnl ########################################
259    
260     USE_CGAL=no
261     cgal_makefile=auto
262     AC_ARG_WITH(cgal-makefile,[ --with-cgal-makefile=FILE CGAL makefile that should be used], cgal_makefile="$withval")
263    
264     if test "x$cgal_makefile" != xno; then
265    
266     if test "x$cgal_makefile" = xauto -a "x$CGAL_MAKEFILE" != x; then
267     cgal_makefile="$CGAL_MAKEFILE"
268     fi
269    
270 gezelter 2203 AC_MSG_CHECKING(for cgal_makefile: $cgal_makefile)
271 gezelter 2190
272     if test -f "$cgal_makefile"; then
273    
274     cat >config.tmp.Makefile <<EOF
275     include $cgal_makefile
276     default:
277     @echo CGAL_OS_COMPILER=\"\${CGAL_OS_COMPILER}\" >config.tmp.cgalvariables
278     @echo CGAL_INCLDIR=\"\${CGAL_INCL_DIR}\" >>config.tmp.cgalvariables
279     @echo CGAL_INCLCONFDIR=\"\${CGAL_INCL_CONF_DIR}\" >>config.tmp.cgalvariables
280     @echo CGAL_LIBDIR=\"\${CGAL_LIB_DIR}/\${CGAL_OS_COMPILER}\" >>config.tmp.cgalvariables
281     @echo CGAL_RLIBDIR=\"\${CGAL_LIB_DIR}/\${CGAL_OS_COMPILER}\" >>config.tmp.cgalvariables
282     @echo CGAL_CXXFLAGS=\"\${CGAL_CXXFLAGS}\" >>config.tmp.cgalvariables
283     @echo GMP_INCLDIR=\"\${GMP_INCL_DIR}\" >>config.tmp.cgalvariables
284     @echo GMP_LIBDIR=\"\${GMP_LIB_DIR}\" >>config.tmp.cgalvariables
285     @echo GMP_RLIBDIR=\"\${GMP_LIB_DIR}\" >>config.tmp.cgalvariables
286     @echo LEDA_INCLDIR=\"\${LEDA_INCL_DIR}\" >>config.tmp.cgalvariables
287     @echo LEDA_LIBDIR=\"\${LEDA_LIB_DIR}\" >>config.tmp.cgalvariables
288     @echo LEDA_RLIBDIR=\"\${LEDA_LIB_DIR}\" >>config.tmp.cgalvariables
289     EOF
290    
291     make -s -f config.tmp.Makefile
292     . config.tmp.cgalvariables
293    
294     rm -f config.tmp.Makefile config.tmp.cgalvariables
295    
296     if test "x$CGAL_INCLDIR" = "x"; then
297     CGAL_INCLDIR=""
298     fi
299    
300     if test "x$CGAL_LIBDIR" = "x"; then
301     CGAL_LIBDIR=""
302     fi
303    
304     if test "x$CGAL_RLIBDIR" = "x"; then
305     CGAL_RLIBDIR=""
306     fi
307    
308     if test "x$LEDA_INCLDIR" = "x"; then
309     LEDA_INCLDIR=""
310     fi
311    
312     if test "x$LEDA_LIBDIR" = "x"; then
313     LEDA_LIBDIR=""
314     fi
315    
316     if test "x$LEDA_RLIBDIR" = "x"; then
317     LEDA_RLIBDIR=""
318     fi
319    
320     if test "x$GMP_INCLDIR" = "x"; then
321     GMP_INCLDIR=""
322     fi
323    
324     if test "x$GMP_LIBDIR" = "x"; then
325     GMP_LIBDIR=""
326     fi
327    
328     if test "x$GMP_RLIBDIR" = "x"; then
329     GMP_RLIBDIR=""
330     fi
331    
332 gezelter 2203 AC_MSG_RESULT(CGAL_OS_COMPILER= $CGAL_OS_COMPILER)
333     AC_MSG_RESULT(CGAL_INCLDIR= $CGAL_INCLDIR)
334     AC_MSG_RESULT(CGAL_INCLCONFDIR= $CGAL_INCLCONFDIR)
335     AC_MSG_RESULT(CGAL_LIBDIR= $CGAL_LIBDIR)
336     AC_MSG_RESULT(CGAL_CXXFLAGS= $CGAL_CXXFLAGS)
337     AC_MSG_RESULT(LEDA_INCLDIR= $LEDA_INCLDIR)
338     AC_MSG_RESULT(LEDA_LIBDIR= $LEDA_LIBDIR)
339     AC_MSG_RESULT(GMP_INCLDIR= $GMP_INCLDIR)
340     AC_MSG_RESULT(GMP_LIBDIR= $GMP_LIBDIR)
341 gezelter 2190
342     AC_LANG_PUSH(C++)
343     save_CXXFLAGS="$CXXFLAGS"
344     CXXFLAGS="$CXXFLAGS -I$CGAL_INCLDIR -I$CGAL_INCLCONFDIR"
345     AC_CHECK_HEADER(CGAL/Cartesian.h, cgal=yes, cgal=no)
346     CXXFLAGS="$save_CXXFLAGS"
347    
348     if test "x$cgal" = xyes; then
349     AC_MSG_CHECKING([for CGAL version])
350     LOCATION=${CGAL_INCLDIR}
351     LOCATION=${LOCATION:-/usr/include}
352     if test -f $LOCATION/CGAL/version.h; then
353     CGAL_VERSION=`grep '#define.*\<CGAL_VERSION\>.*' $LOCATION/CGAL/version.h | sed 's/[^0-9\.]*//g'`
354     else
355     CGAL_VERSION=`grep '#define.*\<CGAL_VERSION\>.*' $LOCATION/CGAL/config.h | sed 's/[^0-9\.]*//g'`
356     fi
357     changequote({, })dnl
358     if echo $CGAL_VERSION | grep -q "^[3456789]"; then
359     changequote([, ])dnl
360     AC_MSG_RESULT([($CGAL_VERSION) yes])
361     else
362     AC_MSG_RESULT([($CGAL_VERSION) no])
363     cgal=no
364     fi
365     fi
366    
367     if test "x$cgal" = xyes; then
368     CGAL_LIBS="-lCGAL"
369     AC_MSG_CHECKING([whether CGAL uses LEDA])
370     if echo $CGAL_CXXFLAGS | grep -q -- -DCGAL_USE_LEDA; then
371     CGAL_USES_LEDA=yes
372     AC_MSG_RESULT([yes])
373     CGAL_DEFINES="-DCGAL_USE_LEDA -DLEDA_PREFIX"
374     else
375     AC_MSG_RESULT([no])
376     CGAL_USES_LEDA=no
377     fi
378    
379     AC_MSG_CHECKING([whether CGAL uses GMP])
380     if echo $CGAL_CXXFLAGS | grep -q -- -DCGAL_USE_GMP; then
381     CGAL_USES_GMP=yes
382     AC_MSG_RESULT([yes])
383     CGAL_DEFINES="-DCGAL_USE_GMP $CGAL_DEFINES"
384     else
385     AC_MSG_RESULT([no])
386     CGAL_USES_GMP=no
387     fi
388    
389     CGAL_LIBS="$CGAL_LIBS -lm"
390    
391     CGAL_CXXFLAGS="-ftemplate-depth-50"
392    
393 gezelter 2203 AC_MSG_RESULT(CGAL_USES_LEDA= $CGAL_USES_LEDA)
394     AC_MSG_RESULT(CGAL_USES_GMP = $CGAL_USES_GMP)
395     AC_MSG_RESULT(CGAL_INCLDIR = $CGAL_INCLDIR)
396     AC_MSG_RESULT(CGAL_LIBDIR = $CGAL_LIBDIR)
397     AC_MSG_RESULT(CGAL_DEFINES = $CGAL_DEFINES)
398     AC_MSG_RESULT(CGAL_CXXFLAGS = $CGAL_CXXFLAGS)
399     AC_MSG_RESULT(CGAL_LIBS = $CGAL_LIBS)
400 gezelter 2190 fi
401    
402     if test "x$cgal" = xyes; then
403     save_LIBS="$LIBS"
404     LIBS="$LIBS -L$CGAL_LIBDIR"
405     if test "x$CGAL_USES_LEDA" = xyes; then
406     LIBS="-lL $LIBS -L$LEDA_LIBDIR"
407     fi
408     # if test "x$CGAL_USES_GMP" = xyes; then
409     # LIBS="-lgmp $LIBS $GMP_LIBDIR"
410     # fi
411     AC_CHECK_CXX_LIB(CGAL, ::CGAL::Cartesian<int>::Point_2, [#include <CGAL/Cartesian.h>], [::CGAL::Cartesian<int>::Point_2 P], [cgal=yes], [cgal=no], -I$CGAL_INCLDIR -I$CGAL_INCLCONFDIR)
412     LIBS="$save_LIBS"
413     fi
414    
415     fi
416     AC_LANG_POP()
417    
418     fi
419    
420     if test "x$cgal" = xyes; then
421     USE_CGAL=yes
422     AC_DEFINE(HAVE_CGAL, 1, [Is defined if the CGAL library is available.])
423     AC_DEFINE_UNQUOTED(CGAL_VERSION, $CGAL_VERSION, [The CGAL version number.])
424     changequote({, })dnl
425     if ! echo $CGAL_VERSION | grep -q "^3.0"; then
426     changequote([, ])dnl
427     AC_MSG_WARN(*****************************************************)
428     AC_MSG_WARN(*** Warning: Your CGAL version is newer than the ***)
429     AC_MSG_WARN(*** supported versions. It may still work though. ***)
430     AC_MSG_WARN(*****************************************************)
431     fi
432     else
433     if test "x$cgal_makefile" != xno; then
434 gezelter 2203 AC_MSG_RESULT(No CGAL support. These are not the droids you want.)
435 gezelter 2190 fi
436     CGAL_INCLDIR=
437     CGAL_LIBDIR=
438     CGAL_RLIBDIR=
439     CGAL_DEFINES=
440     CGAL_CXXFLAGS=
441     CGAL_LIBS=
442     fi
443    
444     AC_SUBST(USE_CGAL)
445     CGAL_INC_DIR="${CGAL_INCLDIR} ${CGAL_INCLCONFDIR}"
446     AC_SUBST(CGAL_INC_DIR)
447     CGAL_LIB_DIR=${CGAL_LIBDIR}
448     AC_SUBST(CGAL_LIB_DIR)
449     CGAL_RLIB_DIR=${CGAL_RLIBDIR}
450     AC_SUBST(CGAL_RLIB_DIR)
451     AC_SUBST(CGAL_DEFINES)
452     AC_SUBST(CGAL_CXXFLAGS)
453     AC_SUBST(CGAL_LIBS)
454    
455 gezelter 1540 BB_ENABLE_DOXYGEN
456 gezelter 1490
457     AC_SUBST(EXEEXT)
458     AC_SUBST(OBJEXT)
459     AC_SUBST(BATEXT)
460     AC_SUBST(MKINSTALLDIRS)
461     AC_SUBST(OOPSE)
462     AC_SUBST(OOPSE_HOME)
463     AC_SUBST(SUBDIRS)
464     AC_SUBST(CFLAGS)
465     AC_SUBST(CXXFLAGS)
466     AC_SUBST(CPPFLAGS)
467 gezelter 2546 AC_SUBST(FCFLAGS)
468 gezelter 1490 AC_SUBST(LDFLAGS)
469     AC_SUBST(PREPDEFFLAG)
470 gezelter 1535 AC_SUBST(F90_MODULE_NAMES)
471 gezelter 2961 AC_CONFIG_FILES([make/Makefile src/utils/Makefile src/applications/nanoRodBuilder/Makefile src/applications/utilities/affineScale scripts/filepp], [chmod 0755 scripts/* src/applications/utilities/affineScale])
472 gezelter 1490
473     AC_OUTPUT