ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/group/trunk/OOPSE-4/ac-tools/configure.in
Revision: 3319
Committed: Wed Jan 23 03:45:33 2008 UTC (17 years, 7 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 1490 dnl **** Process this file with autoconf to produce a configure script.
2 gezelter 2546 AC_PREREQ(2.59)
3 chuckv 3282 AC_INIT(OOPSE, 4.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 chuckv 3282 builtin(include, ac-tools/CGAL.m4)
13 gezelter 1490
14 gezelter 2546 # who am i
15     AC_CANONICAL_HOST
16 gezelter 1490
17     AC_PREFIX_DEFAULT("/usr/local")
18    
19     # set program name
20     PROGNAME="oopse"
21     AC_SUBST(PROGNAME)
22    
23 gezelter 2546 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 1490 # 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 2757 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 2758 USE_SINGLE_PRECISION=yes
56     AC_SUBST(USE_SINGLE_PRECISION)
57 gezelter 2757 fi
58    
59 gezelter 2546 # Checks for programs.
60 gezelter 2926 AC_PROG_CXX([mpicxx icpc pathCC pgCC c++ xlc++ xlC g++ CC])
61 gezelter 2862 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 2473 AC_PROG_CPP
64     AC_PROG_EGREP
65 gezelter 2546 AC_PROG_LN_S
66     AC_PROG_MAKE_SET
67     AC_PROG_RANLIB
68 gezelter 3319 AC_PROG_YACC
69     AC_PROG_LEX
70 gezelter 2546 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 1490 fi
82 gezelter 2546 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 1490
115 gezelter 2546 AC_LANG_PUSH(Fortran)
116     AC_FC_SRCEXT(F90)
117 gezelter 1490 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 2546 AC_FC_WRAPPERS
122     AC_SUBST(FC_FUNC)
123     AC_SUBST(FC_FUNC_)
124     AC_FC_LIBRARY_LDFLAGS
125 gezelter 1490 dnl Fortran 90 module suffix
126     AC_CHECK_MODSUFFIX
127     dnl Fortran 90 module path specifier
128     AC_CHECK_MODDIRFLAG
129 gezelter 1535 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 1490 AC_LANG_POP
144    
145 gezelter 2546 AC_LANG_C
146 gezelter 2510
147 gezelter 2452 dnl Checks for libraries.
148     AC_CHECK_LIB(m, asin, , exit)
149 gezelter 2546 ACX_CHECK_ZLIB
150 gezelter 2753 ACX_CHECK_FFTW
151 chuckv 3291 ACX_CHECK_QHULL
152 gezelter 3319 ACX_CHECK_OPENBABEL
153 gezelter 2452
154 gezelter 2546 # Checks for header files.
155     AC_HEADER_STDC
156 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])
157 gezelter 2546
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 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])
177 gezelter 2546
178 tim 1997 # 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 1490 dnl check for system getopt
189     adl_FUNC_GETOPT_LONG
190    
191 tim 2518 AC_LANG_CPLUSPLUS
192 gezelter 2546 AC_CXX_NAMESPACES
193     AC_CXX_STD
194     AC_CHECK_HEADERS([ctype.h iostream fstream sstream strstream])
195 tim 2518 # 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 1490
225 gezelter 2546 dnl check for strong optimization options
226 gezelter 2029
227 gezelter 2546 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 2452 AC_DEFINE([OBAPI], [], [Used to export symbols for DLL / shared library builds])
239 gezelter 1490
240 gezelter 2452
241 gezelter 1490 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 3282 dnl check for CGAL library
261     ACX_CGAL
262 chuckv 3292 USE_CGAL=no
263 chuckv 3282 if test "$acx_cgal_found" == yes; then
264 chuckv 3288 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 3282 fi
271 chuckv 3292 AC_SUBST(USE_CGAL)
272 chuckv 3282
273    
274 gezelter 1540 BB_ENABLE_DOXYGEN
275 gezelter 1490
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 2546 AC_SUBST(FCFLAGS)
287 gezelter 1490 AC_SUBST(LDFLAGS)
288     AC_SUBST(PREPDEFFLAG)
289 gezelter 1535 AC_SUBST(F90_MODULE_NAMES)
290 gezelter 3319 AC_CONFIG_FILES([make/Makefile src/utils/Makefile src/math/Makefile src/applications/atom2md/Makefile scripts/filepp], [chmod 0755 scripts/*])
291 gezelter 1490
292     AC_OUTPUT