ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/group/trunk/OOPSE/ac-tools/configure.in
Revision: 878
Committed: Fri Dec 12 15:42:13 2003 UTC (20 years, 7 months ago) by gezelter
File size: 7008 byte(s)
Log Message:
Changes for gradients (to do minimizations)

File Contents

# Content
1 dnl **** Process this file with autoconf to produce a configure script.
2
3 AC_INIT(OOPSE, 1.0, gezelter@nd.edu, oopse)
4 AC_CONFIG_AUX_DIR(ac-tools)
5
6 builtin(include, ac-tools/fortran90.m4)
7 builtin(include, ac-tools/aclocal.m4)
8
9
10 AC_CONFIG_SRCDIR([src/oopse.cpp])
11
12 AC_PREFIX_DEFAULT("/usr/local")
13
14 # set program name
15 PROGNAME="oopse"
16 AC_SUBST(PROGNAME)
17
18 # there are two ways to do debugging. One with the --enable-debug flag
19 # and one using the DEBUG environment variable
20
21 debug=0
22 AC_ARG_ENABLE(debug, AC_HELP_STRING([--enable-debug], [Compile OOPSE in debug mode]), [debug=1])
23 if test "${DEBUG}"; then
24 AC_DEFINE(debug, 1, [Code compiled in debug mode])
25 msg="$msg, debug mode"
26 fi
27 AC_SUBST(debug)
28
29 # who am i
30 AC_CANONICAL_HOST
31
32 dnl Checks for C compiler
33 AC_PROG_CC([icc xlc gcc cc])
34
35 dnl Checks for C++ compiler
36 AC_PROG_CXX([icpc icc xlC CC g++ c++])
37 dnl If we are not running g++ then we might need some other flags
38 dnl to get the templates compiled correctly
39 OOPSE_TEMPLATE_FLAGS=""
40 if test $ac_cv_prog_gxx = no; then
41 AC_MSG_CHECKING([checking whether ${CXX} accepts -ptused -no_prelink])
42 echo 'void f(){}' > conftest.cc
43 if test -z "`${CXX} -ptused -no_prelink -c conftest.cc 2>&1`"; then
44 AC_MSG_RESULT(yes)
45 OOPSE_TEMPLATE_FLAGS="-ptused -no_prelink"
46 else
47 AC_MSG_RESULT(no)
48 fi
49 rm -f conftest*
50 AC_MSG_CHECKING([checking whether ${CXX} accepts -instances=static])
51 echo 'void f(){}' > conftest.cc
52 if test -z "`${CXX} -instances=static -c conftest.cc 2>&1`"; then
53 AC_MSG_RESULT(yes)
54 OOPSE_TEMPLATE_FLAGS="-instances=static"
55 else
56 AC_MSG_RESULT(no)
57 fi
58 rm -f conftest*
59 AC_MSG_CHECKING([checking whether ${CXX} accepts -pto])
60 echo 'void f(){}' > conftest.cc
61 if test -z "`${CXX} -pto -c conftest.cc 2>&1`"; then
62 AC_MSG_RESULT(yes)
63 OOPSE_TEMPLATE_FLAGS="-pto"
64 else
65 AC_MSG_RESULT(no)
66 fi
67 rm -f conftest*
68 AC_MSG_CHECKING([checking whether ${CXX} accepts -LANG:std])
69 echo 'void f(){}' > conftest.cc
70 if test -z "`${CXX} -LANG:std -c conftest.cc 2>&1`"; then
71 AC_MSG_RESULT(yes)
72 EXTRA_CC_FLAG=${EXTRA_CC_FLAG}" -LANG:std"
73 else
74 AC_MSG_RESULT(no)
75 fi
76 fi
77 AC_SUBST(OOPSE_TEMPLATE_FLAGS)
78 AC_SUBST(EXTRA_CC_FLAG)
79
80 dnl Fortran 90 compilation checks are next
81
82 AC_PROG_F90([ifc f90 xlf90 pgf90 epcf90 f95 xlf95 lf95 fort g95])
83 dnl Check the flag for Fortran90 preprocessing
84 ACX_PROG_F90_PREPFLAG
85 dnl Check to see if a flag is required for preprocessing defines
86 ACX_PROG_F90_PREPDEFFLAG
87 AC_LANG_PUSH(Fortran 90)
88 AC_LANG_PREPROC(Fortran 90)
89 AC_F90_LIBRARY_LDFLAGS
90 dnl How does Fortran mangle function names
91 AC_F90_WRAPPERS
92 AC_SUBST(F90_FUNC)
93 AC_SUBST(F90_FUNC_)
94 dnl Fortran 90 module suffix
95 AC_CHECK_MODSUFFIX
96 dnl Fortran 90 module path specifier
97 AC_CHECK_MODDIRFLAG
98
99 dnl check for strong optimization options
100
101 case $debug in
102 1)
103 ;;
104 *)
105 ACX_PROG_CC_MAXOPT
106 ACX_PROG_CXX_MAXOPT
107 ACX_PROG_F90_MAXOPT
108 ;;
109 esac
110
111 AC_PROG_INSTALL
112 AC_PROG_LN_S
113 AC_PROG_MAKE_SET
114 AC_PROG_RANLIB
115 AC_PROG_YACC
116 AC_PROG_LEX
117 AC_CHECK_PROG(AR, ar, ar, NONE)
118 if test "$AR" = "NONE"; then
119 AC_MSG_ERROR(--> Can't find \`ar'!)
120 AC_CACHE_SAVE
121 exit 1
122 fi
123
124 AC_MSG_CHECKING([for mpi-directory])
125 AC_ARG_WITH(mpi_dir,
126 [ --with-mpi_dir=MPIDIR give the path for MPI [/usr/local]],
127 MPI_DIR="$withval", MPI_DIR="/usr/local")
128 AC_MSG_RESULT([$MPI_DIR])
129 AC_SUBST([mpi_dir])
130
131 AC_MSG_CHECKING([for mpi-lib-directory])
132 AC_ARG_WITH(mpi_libdir,
133 [ --with-mpi-libdir=dir give the path for MPI-libraries [MPI_DIR/lib]],
134 MPI_LIBDIR="$withval", MPI_LIBDIR="$MPI_DIR/lib")
135 AC_MSG_RESULT([$MPI_LIBDIR])
136 AC_SUBST([MPI_LIBDIR])
137
138 AC_MSG_CHECKING([for mpi-inc-directory])
139 AC_ARG_WITH(mpi_inc,
140 [ --with-mpi_inc=dir give the path for MPI-include-files [MPI_DIR/include]],
141 MPI_INC="$withval", MPI_INC="$MPI_DIR/include")
142 AC_MSG_RESULT([$MPI_INC])
143 AC_SUBST([MPI_INC])
144
145
146 AC_MSG_CHECKING([for MPI library])
147 MPI_LIB=""
148 case "$host" in
149 *-ibm-aix*) dnl IBM/SP2 machines
150 dnl checking whether to use signal-based MPI
151
152 AC_MSG_CHECKING([whether to use signal-based MPI library])
153 AC_MSG_RESULT([$PACX_SIGNAL])
154 if test "x$PACX_SIGNAL" = "xyes" ; then
155 if test -f "$MPI_LIBDIR/libmpi.a" ; then
156 MPI_LIB="-lmpi"
157 elif test -f "$MPI_LIBDIR/libmpi.so" ; then
158 MPI_LIB="-lmpi"
159 elif test -f "$MPI_LIBDIR/libmpich.a" ; then
160 MPI_LIB="-lmpich"
161 else
162 AC_MSG_ERROR([neither libmpi nor libmpich found; check path for MPI package first...])
163 fi
164 else
165 if test -f "$MPI_LIBDIR/libmpi_r.a" ; then
166 MPI_LIB="-lmpi_r"
167 else
168 AC_MSG_ERROR([libmpi_r not found; check path for MPI package...])
169 fi
170 fi
171 AC_MSG_RESULT(found $MPI_LIB)
172 ;;
173 *) dnl All other machines
174 if test -f "$MPI_LIBDIR/libmpi.a" ; then
175 MPI_LIB="-lmpi"
176 elif test -f "$MPI_LIBDIR/libmpi.so" ; then
177 MPI_LIB="-lmpi"
178 elif test -f "$MPI_LIBDIR/libmpich.a" ; then
179 MPI_LIB="-lmpich"
180 else
181 AC_MSG_ERROR([neither libmpi nor libmpich found; check path for MPI package first...])
182 fi
183 AC_MSG_RESULT(found $MPI_LIB)
184 ;;
185 esac
186 AC_SUBST(MPI_LIB)
187
188 ACX_MPI
189
190 AC_CHECK_MPI_F90MOD
191
192 if test "$HAVE_MPI_MOD" = 1; then
193 AC_DEFINE(MPI_MOD, 1, [have mpi module])
194 else
195 AC_LANG([Fortran 90])
196 AC_CHECK_HEADERS(mpif.h)
197 AC_LANG_RESTORE()
198 AC_DEFINE(MPI_H, 1, [have mpi Fortran header file])
199 fi
200
201 AM_PATH_SPRNG
202 CHECK_MKL
203
204
205 AC_EXEEXT
206 AC_OBJEXT
207 OBJEXT=".$OBJEXT"
208
209 OOPSE=oopse
210
211 dnl **** define home dir of oopse
212 if test "x${prefix}" = "xNONE"
213 then
214 OOPSE_HOME=${ac_default_prefix}/oopse
215 else
216 OOPSE_HOME=${prefix}/oopse
217 fi
218 AC_ARG_ENABLE(oopse-home,
219 [ --enable-oopse-home=DIR define oopse home dir [PREFIX/oopse]],
220 [OOPSE_HOME="${enableval}"])
221
222 case "x$INSTALL" in
223 x/*) ;;
224 *) INSTALL=`pwd`/ac-tools/"shtool install -c" ;
225 esac
226
227 MKINSTALLDIRS=`pwd`/ac-tools/"shtool mkdir -p -f"
228
229 dnl **** Final list of subdirs
230 SUBDIRS="libBASS libmdtools src forceFields samples utils utils/sysbuilder staticProps"
231
232 dnl **** Define CFLAGS etc empty to prevent configure from setting them
233 CFLAGS=${CFLAGS-""}
234 CXXFLAGS=${CXXFLAGS-""}
235 CPPFLAGS=${CPPFLAGS-""}
236 FFLAGS=${FFLAGS-""}
237 F90FLAGS=${F90FLAGS-""}
238 LDFLAGS=${LDFLAGS-""}
239 DEBUG=${DEBUG-"-g"}
240
241 case $debug in
242 1)
243 FFLAGS="$DEBUG $FFLAGS"
244 F90FLAGS="$DEBUG $F90FLAGS"
245 ;;
246 *)
247 ;;
248 esac
249
250
251 AC_SUBST(EXEEXT)
252 AC_SUBST(OBJEXT)
253 AC_SUBST(BATEXT)
254 AC_SUBST(MKINSTALLDIRS)
255 AC_SUBST(OOPSE)
256 AC_SUBST(OOPSE_HOME)
257 AC_SUBST(SUBDIRS)
258 AC_SUBST(CFLAGS)
259 AC_SUBST(CXXFLAGS)
260 AC_SUBST(CPPFLAGS)
261 AC_SUBST(FFLAGS)
262 AC_SUBST(F90FLAGS)
263 AC_SUBST(LDFLAGS)
264 AC_SUBST(PREPFLAG)
265 AC_SUBST(PREPDEFFLAG)
266 AC_CONFIG_HEADER([libmdtools/config.h])
267 AC_CONFIG_FILES([Makefile
268 libBASS/Makefile libmdtools/Makefile src/Makefile utils/Makefile
269 utils/sysbuilder/Makefile forceFields/Makefile samples/Makefile
270 staticProps/Makefile
271 samples/alkane/Makefile samples/argon/Makefile
272 samples/beadLipid/Makefile samples/lipid/Makefile
273 samples/metals/Makefile samples/water/Makefile
274 ])
275
276 AC_OUTPUT