ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/OpenMD/branches/development/ac-tools/configure.in
Revision: 1210
Committed: Wed Jan 23 03:45:33 2008 UTC (17 years, 5 months ago) by gezelter
Original Path: trunk/ac-tools/configure.in
File size: 7845 byte(s)
Log Message:
Removed older version of openbabel from our code.  We now have a
configure check to see if openbabel is installed and then we link to
the stuff we need.  Conversion to OOPSE's md format is handled by only
one application (atom2md), so most of the work went on there.
ElementsTable still needs some work to function in parallel.

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 AC_PROG_YACC
69 AC_PROG_LEX
70 AX_SYS_PERLSHARPBANG
71 AC_PROG_INSTALL
72 case "x$INSTALL" in
73 x/*) ;;
74 *) INSTALL=`pwd`/ac-tools/"shtool install -c" ;
75 esac
76 MKINSTALLDIRS=`pwd`/ac-tools/"shtool mkdir -p -f"
77 AC_CHECK_PROG(AR, ar, ar, NONE)
78 if test "$AR" = "NONE"; then
79 AC_CACHE_SAVE
80 exit 1
81 fi
82 AC_PATH_PROG(PS, ps)
83 AC_CACHE_CHECK([for POSIX or BSD ps syntax], ac_cv_prog_ps_syntax, [
84 if $PS ax -o rss > /dev/null 2>&1; then
85 ac_cv_prog_ps_ax=yes
86 else
87 ac_cv_prog_ps_ax=no
88 fi
89 if $PS -ef -o rss > /dev/null 2>&1; then
90 ac_cv_prog_ps_ef=yes
91 else
92 ac_cv_prog_ps_ef=no
93 fi
94 if test "$ac_cv_prog_ps_ax" = yes; then
95 ac_cv_prog_ps_syntax=BSD
96 else
97 if test "$ac_cv_prog_ps_ef" = yes; then
98 ac_cv_prog_ps_syntax=POSIX
99 else
100 AC_MSG_ERROR(Could not determine ps syntax)
101 fi
102 fi
103 ])
104 AC_DEFINE_UNQUOTED(PSCOMMAND, $PS, [Path to ps program])
105 if test "$ac_cv_prog_ps_syntax" = BSD; then
106 AC_DEFINE(PSTYPE_IS_BSD, 1, [ps uses BSD-style arguments])
107 else
108 if test "$ac_cv_prog_ps_syntax" = POSIX; then
109 AC_DEFINE(PSTYPE_IS_POSIX, 1, [ps uses POSIX-style arguments])
110 else
111 AC_MSG_ERROR(Unknown ps syntax type!)
112 fi
113 fi
114
115 AC_LANG_PUSH(Fortran)
116 AC_FC_SRCEXT(F90)
117 dnl Check the flag for Fortran90 preprocessing
118 ACX_PROG_F90_PREPFLAG
119 dnl Check to see if a flag is required for preprocessing defines
120 ACX_PROG_F90_PREPDEFFLAG
121 AC_FC_WRAPPERS
122 AC_SUBST(FC_FUNC)
123 AC_SUBST(FC_FUNC_)
124 AC_FC_LIBRARY_LDFLAGS
125 dnl Fortran 90 module suffix
126 AC_CHECK_MODSUFFIX
127 dnl Fortran 90 module path specifier
128 AC_CHECK_MODDIRFLAG
129 AC_F90_MODULE_NAMES
130 pat=`echo $ac_cv_f90_module_names | sed 's/.*\(%.*%\).*/\1/'`
131 F90_MODULE_NAMES=empty
132 case $pat in
133 %MODULE%)
134 F90_MODULE_NAMES=UPPER ;;
135 %Module%)
136 F90_MODULE_NAMES=Mixed ;;
137 %module%)
138 F90_MODULE_NAMES=lower ;;
139 *)
140 F90_MODULE_NAMES=unknown ;;
141 esac
142 AC_SUBST(F90_MODULE_NAMES)
143 AC_LANG_POP
144
145 AC_LANG_C
146
147 dnl Checks for libraries.
148 AC_CHECK_LIB(m, asin, , exit)
149 ACX_CHECK_ZLIB
150 ACX_CHECK_FFTW
151 ACX_CHECK_QHULL
152 ACX_CHECK_OPENBABEL
153
154 # Checks for header files.
155 AC_HEADER_STDC
156 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])
157
158 # Checks for typedefs, structures, and compiler characteristics.
159 AC_HEADER_STDBOOL
160 AC_C_CONST
161 AC_C_INLINE
162 AC_C_RESTRICT
163 AC_TYPE_SIZE_T
164 AC_HEADER_TIME
165 AC_CHECK_TYPES(clock_t)
166 AC_C_CONST
167 AC_C_INLINE
168
169 # Checks for library functions.
170 AC_FUNC_MALLOC
171 AC_FUNC_MEMCMP
172 AC_FUNC_REALLOC
173 AC_FUNC_SELECT_ARGTYPES
174 AC_FUNC_STRFTIME
175 AC_FUNC_STRTOD
176 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])
177
178 # special check for _system_configuration because AIX <4.3.2 do not
179 # contain the `physmem' member.
180 AC_MSG_CHECKING([for external symbol _system_configuration])
181 AC_TRY_COMPILE([#include <sys/systemcfg.h>],
182 [double x = _system_configuration.physmem;],
183 [AC_MSG_RESULT([yes])
184 AC_DEFINE(HAVE__SYSTEM_CONFIGURATION, 1,
185 [Define if you have the _system_configuration variable.])],
186 [AC_MSG_RESULT([no])])
187
188 dnl check for system getopt
189 adl_FUNC_GETOPT_LONG
190
191 AC_LANG_CPLUSPLUS
192 AC_CXX_NAMESPACES
193 AC_CXX_STD
194 AC_CHECK_HEADERS([ctype.h iostream fstream sstream strstream])
195 # AC_CPP_FUNC
196 # ------------------ #
197 # Checks to see if ANSI C99 CPP variable __func__ works.
198 # If not, perhaps __FUNCTION__ works instead.
199 # If not, we'll just define __func__ to "".
200 AC_DEFUN([AC_CPP_FUNC],
201 [AC_REQUIRE([AC_PROG_CC_STDC])dnl
202 AC_CACHE_CHECK([for an ANSI C99-conforming __func__], ac_cv_cpp_func,
203 [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([],
204 [[const char *foo = __func__;]])],
205 [ac_cv_cpp_func=yes],
206 [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([],
207 [[const char *foo = __FUNCTION__;]])],
208 [ac_cv_cpp_func=__FUNCTION__],
209 [ac_cv_cpp_func=no])])])
210 if test $ac_cv_cpp_func = __FUNCTION__; then
211 AC_DEFINE(__func__,__FUNCTION__,
212 [Define to __FUNCTION__ or "" if `__func__' does not conform to
213 ANSI C.])
214 elif test $ac_cv_cpp_func = no; then
215 AC_DEFINE(__func__,"",
216 [Define to __FUNCTION__ or "" if `__func__' does not conform to
217 ANSI C.])
218 fi
219 ])# AC_CPP_FUNC
220
221 AC_CPP_FUNC
222 AC_SUBST(__func__)
223
224
225 dnl check for strong optimization options
226
227 case $debug in
228 1)
229 ;;
230 *)
231 ACX_PROG_FC_MAXOPT
232 ACX_PROG_CC_MAXOPT
233 ACX_PROG_CXX_MAXOPT
234 ;;
235 esac
236
237 dnl OpenBabel needs this:
238 AC_DEFINE([OBAPI], [], [Used to export symbols for DLL / shared library builds])
239
240
241 AC_ARG_WITH(mpi,
242 [AC_HELP_STRING([--with-mpi=<prefix>],
243 [compile with MPI installed in <prefix> [default=no]])],
244 with_mpi=$withval,
245 with_mpi="no")
246
247 case "x$with_mpi" in
248 xyes | "x") USE_MPI=yes;;
249 xno) USE_MPI=no ;;
250 *) MPI="$with_mpi"; USE_MPI=yes ;;
251 esac
252 if test "$USE_MPI" = "yes" -a -z "$with_mpi"; then
253 MPI="/usr/local"
254 fi
255 if test "$USE_MPI" = "yes"; then
256 ACX_MPI
257 fi
258 AC_SUBST(USE_MPI)
259
260 dnl check for CGAL library
261 ACX_CGAL
262 USE_CGAL=no
263 if test "$acx_cgal_found" == yes; then
264 USE_CGAL=yes
265 AC_DEFINE(HAVE_CGAL, 1, [Is defined if the CGAL library is available.])
266 AC_SUBST(CGAL_CXXFLAGS)
267 AC_SUBST(CGAL_LDFLAGS)
268 AC_SUBST(CGAL_CPPFLAGS)
269 AC_SUBST(CGAL_LIBS)
270 fi
271 AC_SUBST(USE_CGAL)
272
273
274 BB_ENABLE_DOXYGEN
275
276 AC_SUBST(EXEEXT)
277 AC_SUBST(OBJEXT)
278 AC_SUBST(BATEXT)
279 AC_SUBST(MKINSTALLDIRS)
280 AC_SUBST(OOPSE)
281 AC_SUBST(OOPSE_HOME)
282 AC_SUBST(SUBDIRS)
283 AC_SUBST(CFLAGS)
284 AC_SUBST(CXXFLAGS)
285 AC_SUBST(CPPFLAGS)
286 AC_SUBST(FCFLAGS)
287 AC_SUBST(LDFLAGS)
288 AC_SUBST(PREPDEFFLAG)
289 AC_SUBST(F90_MODULE_NAMES)
290 AC_CONFIG_FILES([make/Makefile src/utils/Makefile src/math/Makefile src/applications/atom2md/Makefile scripts/filepp], [chmod 0755 scripts/*])
291
292 AC_OUTPUT