ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/OpenMD/trunk/ac-tools/configure.in
Revision: 1210
Committed: Wed Jan 23 03:45:33 2008 UTC (17 years, 3 months ago) by gezelter
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

# User Rev Content
1 gezelter 2 dnl **** Process this file with autoconf to produce a configure script.
2 gezelter 847 AC_PREREQ(2.59)
3 chuckv 1191 AC_INIT(OOPSE, 4.0, gezelter@nd.edu, oopse)
4 gezelter 2 AC_CONFIG_AUX_DIR(ac-tools)
5 gezelter 847 AC_CONFIG_SRCDIR([src/applications/oopse/oopse.cpp])
6     AC_CONFIG_HEADER([src/config.h])
7 gezelter 2
8 gezelter 957 builtin(include, ac-tools/OOPSE.m4)
9 gezelter 811 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 chuckv 1191 builtin(include, ac-tools/CGAL.m4)
13 gezelter 2
14 gezelter 847 # who am i
15     AC_CANONICAL_HOST
16 gezelter 2
17     AC_PREFIX_DEFAULT("/usr/local")
18    
19     # set program name
20     PROGNAME="oopse"
21     AC_SUBST(PROGNAME)
22    
23 gezelter 847 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 gezelter 2 # 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 gezelter 961 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 gezelter 962 USE_SINGLE_PRECISION=yes
56     AC_SUBST(USE_SINGLE_PRECISION)
57 gezelter 961 fi
58    
59 gezelter 847 # Checks for programs.
60 gezelter 1002 AC_PROG_CXX([mpicxx icpc pathCC pgCC c++ xlc++ xlC g++ CC])
61 gezelter 988 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 gezelter 774 AC_PROG_CPP
64     AC_PROG_EGREP
65 gezelter 847 AC_PROG_LN_S
66     AC_PROG_MAKE_SET
67     AC_PROG_RANLIB
68 gezelter 1210 AC_PROG_YACC
69     AC_PROG_LEX
70 gezelter 847 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 gezelter 2 fi
82 gezelter 847 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 gezelter 2
115 gezelter 847 AC_LANG_PUSH(Fortran)
116     AC_FC_SRCEXT(F90)
117 gezelter 2 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 gezelter 847 AC_FC_WRAPPERS
122     AC_SUBST(FC_FUNC)
123     AC_SUBST(FC_FUNC_)
124     AC_FC_LIBRARY_LDFLAGS
125 gezelter 2 dnl Fortran 90 module suffix
126     AC_CHECK_MODSUFFIX
127     dnl Fortran 90 module path specifier
128     AC_CHECK_MODDIRFLAG
129 gezelter 44 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 gezelter 2 AC_LANG_POP
144    
145 gezelter 847 AC_LANG_C
146 gezelter 811
147 gezelter 753 dnl Checks for libraries.
148     AC_CHECK_LIB(m, asin, , exit)
149 gezelter 847 ACX_CHECK_ZLIB
150 gezelter 957 ACX_CHECK_FFTW
151 chuckv 1200 ACX_CHECK_QHULL
152 gezelter 1210 ACX_CHECK_OPENBABEL
153 gezelter 753
154 gezelter 847 # Checks for header files.
155     AC_HEADER_STDC
156 gezelter 859 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 gezelter 847
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 gezelter 859 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 gezelter 847
178 tim 313 # 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 gezelter 2 dnl check for system getopt
189     adl_FUNC_GETOPT_LONG
190    
191 tim 819 AC_LANG_CPLUSPLUS
192 gezelter 847 AC_CXX_NAMESPACES
193     AC_CXX_STD
194     AC_CHECK_HEADERS([ctype.h iostream fstream sstream strstream])
195 tim 819 # 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 gezelter 2
225 gezelter 847 dnl check for strong optimization options
226 gezelter 345
227 gezelter 847 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 gezelter 753 AC_DEFINE([OBAPI], [], [Used to export symbols for DLL / shared library builds])
239 gezelter 2
240 gezelter 753
241 gezelter 2 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 chuckv 1191 dnl check for CGAL library
261     ACX_CGAL
262 chuckv 1201 USE_CGAL=no
263 chuckv 1191 if test "$acx_cgal_found" == yes; then
264 chuckv 1197 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 chuckv 1191 fi
271 chuckv 1201 AC_SUBST(USE_CGAL)
272 chuckv 1191
273    
274 gezelter 49 BB_ENABLE_DOXYGEN
275 gezelter 2
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 gezelter 847 AC_SUBST(FCFLAGS)
287 gezelter 2 AC_SUBST(LDFLAGS)
288     AC_SUBST(PREPDEFFLAG)
289 gezelter 44 AC_SUBST(F90_MODULE_NAMES)
290 gezelter 1210 AC_CONFIG_FILES([make/Makefile src/utils/Makefile src/math/Makefile src/applications/atom2md/Makefile scripts/filepp], [chmod 0755 scripts/*])
291 gezelter 2
292     AC_OUTPUT