ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/group/trunk/OOPSE/ac-tools/configure.in
Revision: 942
Committed: Wed Jan 14 15:49:26 2004 UTC (20 years, 5 months ago) by gezelter
File size: 6852 byte(s)
Log Message:
autoconf compatibility changes for icc8

File Contents

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