ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/OpenMD/branches/development/ac-tools/configure.in
(Generate patch)

Comparing trunk/ac-tools/configure.in (file contents):
Revision 1036 by gezelter, Mon Sep 4 13:37:15 2006 UTC vs.
Revision 1372 by gezelter, Tue Oct 20 13:13:16 2009 UTC

# Line 1 | Line 1 | AC_PREREQ(2.59)
1   dnl **** Process this file with autoconf to produce a configure script.
2   AC_PREREQ(2.59)
3 < AC_INIT(OOPSE, 3.0, gezelter@nd.edu, oopse)
3 > AC_INIT(OOPSE, 4.0, gezelter@nd.edu, oopse)
4   AC_CONFIG_AUX_DIR(ac-tools)
5   AC_CONFIG_SRCDIR([src/applications/oopse/oopse.cpp])
6   AC_CONFIG_HEADER([src/config.h])
# Line 9 | Line 9 | builtin(include, ac-tools/AC_CXX_STD.m4)
9   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 + builtin(include, ac-tools/ax_mpi.m4)
13 + builtin(include, ac-tools/CGAL.m4)
14  
15   # who am i
16   AC_CANONICAL_HOST
# Line 55 | Line 57 | fi
57          AC_SUBST(USE_SINGLE_PRECISION)
58   fi
59  
60 + if test x"$CC" != x; then
61 +   AC_CHECK_PROGS(ac_cc_set,[$CC],[no])
62 +   AS_IF([test AS_VAR_GET([ac_cc_set]) != no],[
63 +     AC_PATH_PROG(ac_cc_path,[$ac_cc_set],[no])],[
64 +     AC_ERROR([Specified C compiler $CC doesn't seem to exist!])])
65 +
66 +   AS_IF([test AS_VAR_GET([ac_cc_path]) != no],[
67 +     AC_MSG_NOTICE([Will attempt to use $CC as C compiler])
68 +     MPICC=$CC
69 +   ],[
70 +     AC_ERROR([Can't find path to user-specified C compiler $CC])])
71 + fi
72 +
73 + if test x"$CXX" != x; then
74 +   AC_CHECK_PROGS(ac_cxx_set,[$CXX],[no])
75 +   AS_IF([test AS_VAR_GET([ac_cxx_set]) != no],[
76 +     AC_PATH_PROG(ac_cxx_path,[$ac_cxx_set],[no])],[
77 +     AC_ERROR([Specified C++ compiler $CXX doesn't seem to exist!])])
78 +
79 +   AS_IF([test AS_VAR_GET([ac_cxx_path]) != no],[
80 +     AC_MSG_NOTICE([Will attempt to use $CXX as C++ compiler])
81 +     MPICXX=$CXX
82 +    ],[
83 +     AC_ERROR([Can't find path to user-specified C++ compiler $CXX])])
84 + fi
85 +
86 + if test x"$FC" != x; then
87 +   AC_CHECK_PROGS(ac_fc_set,[$FC],[no])
88 +   AS_IF([test AS_VAR_GET([ac_fc_set]) != no],[
89 +     AC_PATH_PROG(ac_fc_path,[$ac_fc_set],[no])],[
90 +     AC_ERROR([Specified Fortran compiler $FC doesn't seem to exist!])])
91 +
92 +   AS_IF([test AS_VAR_GET([ac_fc_path]) != no],[
93 +     AC_MSG_NOTICE([Will attempt to use $FC as Fortran compiler])
94 +     MPIFC=$FC
95 +   ],[
96 +     AC_ERROR([Can't find path to user-specified Fortran compiler $FC])])
97 + fi
98 +
99 +
100 + dnl do MPI checks
101 + AC_LANG([C++])
102 + AX_MPI([USE_MPI="yes"],
103 +       [USE_MPI="no"
104 +       AC_MSG_WARN([No suitable C++ MPI implementation found. oopse_MPI will not be built.])])
105 + AS_IF([test AS_VAR_GET([USE_MPI]) != no],[
106 + AC_LANG([C])
107 + AX_MPI([USE_MPI="yes"],
108 +       [USE_MPI="no"
109 +       AC_MSG_WARN([No suitable C MPI implementation found. oopse_MPI will not be built.])])
110 + ])
111 + AS_IF([test AS_VAR_GET([USE_MPI]) != no],[
112 + AC_LANG([Fortran])
113 + AX_MPI([USE_MPI="yes"],
114 +       [USE_MPI="no"
115 +       AC_MSG_WARN([No suitable Fortran MPI implementation found. oopse_MPI will not be built.])])
116 + ])
117 + AS_IF([test AS_VAR_GET([USE_MPI]) != no],[
118 +        CXX=$MPICXX
119 +        CC=$MPICC
120 +        FC=$MPIFC
121 + ])
122 + AC_SUBST(USE_MPI)
123 +
124   # Checks for programs.
125 < AC_PROG_CXX([mpicxx icpc pathCC pgCC c++ xlc++ xlC g++ CC])
126 < AC_PROG_CC([mpicc icc pathcc pgcc cc xlc gcc])
127 < AC_PROG_FC([mpif90 ifort ifc pathf95 pgf95 xlf95 lf95 epcf90 pathf90 xlf90 f95 f90 gfortran g95 fort], 95)
125 > AC_PROG_CXX([$CXX icpc pathCC pgCC c++ xlc++ xlC g++ CC])
126 > AC_PROG_CC([$CC icc pathcc pgcc cc xlc gcc])
127 > AC_PROG_FC([$FC ifort ifc pathf95 pgf95 xlf95 lf95 epcf90 pathf90 xlf90 f95 f90 gfortran g95 fort], 95)
128   AC_PROG_CPP
129   AC_PROG_EGREP
130   AC_PROG_LN_S
# Line 145 | Line 211 | ACX_CHECK_FFTW
211   AC_CHECK_LIB(m, asin, , exit)
212   ACX_CHECK_ZLIB
213   ACX_CHECK_FFTW
214 + ACX_CHECK_QHULL
215 + ACX_CHECK_OPENBABEL
216  
149
217   # Checks for header files.
218   AC_HEADER_STDC
219 < 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])
219 > AC_CHECK_HEADERS([libintl.h limits.h machine/hal_sysinfo.h stdlib.h string.h strings.h sys/param.h sys/pstat.h sys/sysctl.h sys/sysinfo.h sys/sysmp.h sys/systemcfg.h sys/table.h sys/time.h unistd.h])
220  
221   # Checks for typedefs, structures, and compiler characteristics.
222   AC_HEADER_STDBOOL
223   AC_C_CONST
224   AC_C_INLINE
158 AC_C_RESTRICT
225   AC_TYPE_SIZE_T
226   AC_HEADER_TIME
161 AC_CHECK_TYPES(clock_t)
162 AC_C_CONST
163 AC_C_INLINE
227  
228   # Checks for library functions.
229   AC_FUNC_MALLOC
167 AC_FUNC_MEMCMP
230   AC_FUNC_REALLOC
231   AC_FUNC_SELECT_ARGTYPES
170 AC_FUNC_STRFTIME
232   AC_FUNC_STRTOD
233 < 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])
233 > AC_CHECK_FUNCS([floor getpagesize gettimeofday memset pow pstat_getdynamic pstat_getstatic select sqrt strcasecmp strchr strdup stricmp strncasecmp strnicmp strstr strtol sysmp getsysinfo sysctl table])
234  
235   # special check for _system_configuration because AIX <4.3.2 do not
236   # contain the `physmem' member.
# Line 180 | Line 241 | AC_TRY_COMPILE([#include <sys/systemcfg.h>],
241    AC_DEFINE(HAVE__SYSTEM_CONFIGURATION, 1,
242              [Define if you have the _system_configuration variable.])],
243    [AC_MSG_RESULT([no])])
183
184 dnl check for system getopt
185 adl_FUNC_GETOPT_LONG
244  
187 AC_LANG_CPLUSPLUS
188 AC_CXX_NAMESPACES
189 AC_CXX_STD
190 AC_CHECK_HEADERS([ctype.h iostream fstream sstream strstream])
191 # 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
245   dnl check for strong optimization options
246  
247   case $debug in
# Line 229 | Line 253 | esac
253     ACX_PROG_CXX_MAXOPT
254       ;;
255   esac
232
233 dnl OpenBabel needs this:
234 AC_DEFINE([OBAPI], [], [Used to export symbols for DLL / shared library builds])
235
236
237 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 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  AC_MSG_CHECKING(for cgal_makefile: $cgal_makefile)
271
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
256  
257 <    make -s -f config.tmp.Makefile
258 <    . config.tmp.cgalvariables
259 <
260 <    rm -f config.tmp.Makefile config.tmp.cgalvariables
261 <
262 <    if test "x$CGAL_INCLDIR" = "x"; then
263 <      CGAL_INCLDIR=""
264 <    fi
265 <
266 <    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 <    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 <
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 <      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 <    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 <
257 > dnl check for CGAL library
258 > ACX_CGAL
259 > USE_CGAL=no
260 > if test "$acx_cgal_found" == yes; then
261 >        USE_CGAL=yes
262 >        AC_DEFINE(HAVE_CGAL, 1, [Is defined if the CGAL library is available.])
263 >        AC_SUBST(CGAL_CXXFLAGS)
264 >        AC_SUBST(CGAL_LDFLAGS)
265 >        AC_SUBST(CGAL_CPPFLAGS)
266 >        AC_SUBST(CGAL_LIBS)
267   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    AC_MSG_RESULT(No CGAL support. These are not the droids you want.)
435  fi
436  CGAL_INCLDIR=
437  CGAL_LIBDIR=
438  CGAL_RLIBDIR=
439  CGAL_DEFINES=
440  CGAL_CXXFLAGS=
441  CGAL_LIBS=
442 fi
443
268   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)
269  
270 +
271   BB_ENABLE_DOXYGEN
272  
273   AC_SUBST(EXEEXT)
# Line 468 | Line 284 | AC_SUBST(F90_MODULE_NAMES)
284   AC_SUBST(LDFLAGS)
285   AC_SUBST(PREPDEFFLAG)
286   AC_SUBST(F90_MODULE_NAMES)
287 < AC_CONFIG_FILES([make/Makefile src/utils/Makefile src/applications/nanoRodBuilder/Makefile src/applications/utilities/affineScale src/applications/utilities/waterBoxer scripts/filepp], [chmod 0755 scripts/*])
287 > AC_CONFIG_FILES([make/Makefile src/utils/Makefile src/math/Makefile src/integrators/Makefile src/applications/atom2md/Makefile scripts/filepp], [chmod 0755 scripts/*])
288  
289   AC_OUTPUT

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines