ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/OpenMD/branches/development/ac-tools/configure.in
Revision: 1197
Committed: Thu Dec 6 20:40:07 2007 UTC (17 years, 7 months ago) by chuckv
Original Path: trunk/ac-tools/configure.in
File size: 7779 byte(s)
Log Message:
Added CGAL test

File Contents

# Content
1 dnl **** Process this file with autoconf to produce a configure script.
2 AC_PREREQ(2.59)
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])
7
8 builtin(include, ac-tools/OOPSE.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/CGAL.m4)
13
14 # who am i
15 AC_CANONICAL_HOST
16
17 AC_PREFIX_DEFAULT("/usr/local")
18
19 # set program name
20 PROGNAME="oopse"
21 AC_SUBST(PROGNAME)
22
23 AC_EXEEXT
24 AC_OBJEXT
25 OBJEXT=".$OBJEXT"
26
27 OOPSE=oopse
28
29 dnl **** define home dir of oopse
30 if test "x${prefix}" = "xNONE"
31 then
32 OOPSE_HOME=${ac_default_prefix}/oopse
33 else
34 OOPSE_HOME=${prefix}/oopse
35 fi
36 AC_ARG_ENABLE(oopse-home,
37 [ --enable-oopse-home=DIR define oopse home dir [PREFIX/oopse]],
38 [OOPSE_HOME="${enableval}"])
39
40 # there are two ways to do debugging. One with the --enable-debug flag
41 # and one using the DEBUG environment variable
42
43 debug=0
44 AC_ARG_ENABLE(debug, AC_HELP_STRING([--enable-debug], [Compile OOPSE in debug mode]), [debug=1])
45 if test "${DEBUG}"; then
46 AC_DEFINE(debug, 1, [Code compiled in debug mode])
47 msg="$msg, debug mode"
48 fi
49 AC_SUBST(debug)
50
51 AC_ARG_ENABLE(single, [AC_HELP_STRING([--enable-single],[compile OOPSE in single precision])], ok=$enableval, ok=no)
52 AC_ARG_ENABLE(float, [AC_HELP_STRING([--enable-float],[synonym for --enable-single])], ok=$enableval)
53 if test "$ok" = "yes"; then
54 AC_DEFINE(SINGLE_PRECISION,1,[Define to compile in single precision.])
55 USE_SINGLE_PRECISION=yes
56 AC_SUBST(USE_SINGLE_PRECISION)
57 fi
58
59 # Checks for programs.
60 AC_PROG_CXX([mpicxx icpc pathCC pgCC c++ xlc++ xlC g++ CC])
61 AC_PROG_CC([mpicc icc pathcc pgcc cc xlc gcc])
62 AC_PROG_FC([mpif90 ifort ifc pathf95 pgf95 xlf95 lf95 epcf90 pathf90 xlf90 f95 f90 gfortran g95 fort], 95)
63 AC_PROG_CPP
64 AC_PROG_EGREP
65 AC_PROG_LN_S
66 AC_PROG_MAKE_SET
67 AC_PROG_RANLIB
68 AX_SYS_PERLSHARPBANG
69 AC_PROG_INSTALL
70 case "x$INSTALL" in
71 x/*) ;;
72 *) INSTALL=`pwd`/ac-tools/"shtool install -c" ;
73 esac
74 MKINSTALLDIRS=`pwd`/ac-tools/"shtool mkdir -p -f"
75 AC_CHECK_PROG(AR, ar, ar, NONE)
76 if test "$AR" = "NONE"; then
77 AC_CACHE_SAVE
78 exit 1
79 fi
80 AC_PATH_PROG(PS, ps)
81 AC_CACHE_CHECK([for POSIX or BSD ps syntax], ac_cv_prog_ps_syntax, [
82 if $PS ax -o rss > /dev/null 2>&1; then
83 ac_cv_prog_ps_ax=yes
84 else
85 ac_cv_prog_ps_ax=no
86 fi
87 if $PS -ef -o rss > /dev/null 2>&1; then
88 ac_cv_prog_ps_ef=yes
89 else
90 ac_cv_prog_ps_ef=no
91 fi
92 if test "$ac_cv_prog_ps_ax" = yes; then
93 ac_cv_prog_ps_syntax=BSD
94 else
95 if test "$ac_cv_prog_ps_ef" = yes; then
96 ac_cv_prog_ps_syntax=POSIX
97 else
98 AC_MSG_ERROR(Could not determine ps syntax)
99 fi
100 fi
101 ])
102 AC_DEFINE_UNQUOTED(PSCOMMAND, $PS, [Path to ps program])
103 if test "$ac_cv_prog_ps_syntax" = BSD; then
104 AC_DEFINE(PSTYPE_IS_BSD, 1, [ps uses BSD-style arguments])
105 else
106 if test "$ac_cv_prog_ps_syntax" = POSIX; then
107 AC_DEFINE(PSTYPE_IS_POSIX, 1, [ps uses POSIX-style arguments])
108 else
109 AC_MSG_ERROR(Unknown ps syntax type!)
110 fi
111 fi
112
113 AC_LANG_PUSH(Fortran)
114 AC_FC_SRCEXT(F90)
115 dnl Check the flag for Fortran90 preprocessing
116 ACX_PROG_F90_PREPFLAG
117 dnl Check to see if a flag is required for preprocessing defines
118 ACX_PROG_F90_PREPDEFFLAG
119 AC_FC_WRAPPERS
120 AC_SUBST(FC_FUNC)
121 AC_SUBST(FC_FUNC_)
122 AC_FC_LIBRARY_LDFLAGS
123 dnl Fortran 90 module suffix
124 AC_CHECK_MODSUFFIX
125 dnl Fortran 90 module path specifier
126 AC_CHECK_MODDIRFLAG
127 AC_F90_MODULE_NAMES
128 pat=`echo $ac_cv_f90_module_names | sed 's/.*\(%.*%\).*/\1/'`
129 F90_MODULE_NAMES=empty
130 case $pat in
131 %MODULE%)
132 F90_MODULE_NAMES=UPPER ;;
133 %Module%)
134 F90_MODULE_NAMES=Mixed ;;
135 %module%)
136 F90_MODULE_NAMES=lower ;;
137 *)
138 F90_MODULE_NAMES=unknown ;;
139 esac
140 AC_SUBST(F90_MODULE_NAMES)
141 AC_LANG_POP
142
143 AC_LANG_C
144
145 dnl Checks for libraries.
146 AC_CHECK_LIB(m, asin, , exit)
147 ACX_CHECK_ZLIB
148 ACX_CHECK_FFTW
149
150
151 # Checks for header files.
152 AC_HEADER_STDC
153 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])
154
155 # Checks for typedefs, structures, and compiler characteristics.
156 AC_HEADER_STDBOOL
157 AC_C_CONST
158 AC_C_INLINE
159 AC_C_RESTRICT
160 AC_TYPE_SIZE_T
161 AC_HEADER_TIME
162 AC_CHECK_TYPES(clock_t)
163 AC_C_CONST
164 AC_C_INLINE
165
166 # Checks for library functions.
167 AC_FUNC_MALLOC
168 AC_FUNC_MEMCMP
169 AC_FUNC_REALLOC
170 AC_FUNC_SELECT_ARGTYPES
171 AC_FUNC_STRFTIME
172 AC_FUNC_STRTOD
173 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])
174
175 # special check for _system_configuration because AIX <4.3.2 do not
176 # contain the `physmem' member.
177 AC_MSG_CHECKING([for external symbol _system_configuration])
178 AC_TRY_COMPILE([#include <sys/systemcfg.h>],
179 [double x = _system_configuration.physmem;],
180 [AC_MSG_RESULT([yes])
181 AC_DEFINE(HAVE__SYSTEM_CONFIGURATION, 1,
182 [Define if you have the _system_configuration variable.])],
183 [AC_MSG_RESULT([no])])
184
185 dnl check for system getopt
186 adl_FUNC_GETOPT_LONG
187
188 AC_LANG_CPLUSPLUS
189 AC_CXX_NAMESPACES
190 AC_CXX_STD
191 AC_CHECK_HEADERS([ctype.h iostream fstream sstream strstream])
192 # AC_CPP_FUNC
193 # ------------------ #
194 # Checks to see if ANSI C99 CPP variable __func__ works.
195 # If not, perhaps __FUNCTION__ works instead.
196 # If not, we'll just define __func__ to "".
197 AC_DEFUN([AC_CPP_FUNC],
198 [AC_REQUIRE([AC_PROG_CC_STDC])dnl
199 AC_CACHE_CHECK([for an ANSI C99-conforming __func__], ac_cv_cpp_func,
200 [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([],
201 [[const char *foo = __func__;]])],
202 [ac_cv_cpp_func=yes],
203 [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([],
204 [[const char *foo = __FUNCTION__;]])],
205 [ac_cv_cpp_func=__FUNCTION__],
206 [ac_cv_cpp_func=no])])])
207 if test $ac_cv_cpp_func = __FUNCTION__; then
208 AC_DEFINE(__func__,__FUNCTION__,
209 [Define to __FUNCTION__ or "" if `__func__' does not conform to
210 ANSI C.])
211 elif test $ac_cv_cpp_func = no; then
212 AC_DEFINE(__func__,"",
213 [Define to __FUNCTION__ or "" if `__func__' does not conform to
214 ANSI C.])
215 fi
216 ])# AC_CPP_FUNC
217
218 AC_CPP_FUNC
219 AC_SUBST(__func__)
220
221
222 dnl check for strong optimization options
223
224 case $debug in
225 1)
226 ;;
227 *)
228 ACX_PROG_FC_MAXOPT
229 ACX_PROG_CC_MAXOPT
230 ACX_PROG_CXX_MAXOPT
231 ;;
232 esac
233
234 dnl OpenBabel needs this:
235 AC_DEFINE([OBAPI], [], [Used to export symbols for DLL / shared library builds])
236
237
238 AC_ARG_WITH(mpi,
239 [AC_HELP_STRING([--with-mpi=<prefix>],
240 [compile with MPI installed in <prefix> [default=no]])],
241 with_mpi=$withval,
242 with_mpi="no")
243
244 case "x$with_mpi" in
245 xyes | "x") USE_MPI=yes;;
246 xno) USE_MPI=no ;;
247 *) MPI="$with_mpi"; USE_MPI=yes ;;
248 esac
249 if test "$USE_MPI" = "yes" -a -z "$with_mpi"; then
250 MPI="/usr/local"
251 fi
252 if test "$USE_MPI" = "yes"; then
253 ACX_MPI
254 fi
255 AC_SUBST(USE_MPI)
256
257 dnl check for CGAL library
258 ACX_CGAL
259
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(USE_CGAL)
264 AC_SUBST(CGAL_CXXFLAGS)
265 AC_SUBST(CGAL_LDFLAGS)
266 AC_SUBST(CGAL_CPPFLAGS)
267 AC_SUBST(CGAL_LIBS)
268 fi
269
270
271 BB_ENABLE_DOXYGEN
272
273 AC_SUBST(EXEEXT)
274 AC_SUBST(OBJEXT)
275 AC_SUBST(BATEXT)
276 AC_SUBST(MKINSTALLDIRS)
277 AC_SUBST(OOPSE)
278 AC_SUBST(OOPSE_HOME)
279 AC_SUBST(SUBDIRS)
280 AC_SUBST(CFLAGS)
281 AC_SUBST(CXXFLAGS)
282 AC_SUBST(CPPFLAGS)
283 AC_SUBST(FCFLAGS)
284 AC_SUBST(LDFLAGS)
285 AC_SUBST(PREPDEFFLAG)
286 AC_SUBST(F90_MODULE_NAMES)
287 AC_CONFIG_FILES([make/Makefile src/utils/Makefile src/math/Makefile src/applications/staticProps/Makefile scripts/filepp], [chmod 0755 scripts/*])
288
289 AC_OUTPUT