ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/group/trunk/OOPSE/ac-tools/configure.in
(Generate patch)

Comparing trunk/OOPSE/ac-tools/configure.in (file contents):
Revision 679 by chuckv, Mon Aug 11 22:25:28 2003 UTC vs.
Revision 944 by gezelter, Wed Jan 14 22:41:34 2004 UTC

# Line 1 | Line 1
1   dnl **** Process this file with autoconf to produce a configure script.
2  
3 < AC_INIT(src/oopse.cpp)
3 > AC_INIT(OOPSE, 1.0, gezelter@nd.edu, oopse)
4   AC_CONFIG_AUX_DIR(ac-tools)
5  
6 < AC_PREFIX_DEFAULT("/usr/local")
7 <
6 > builtin(include, ac-tools/fortran90.m4)
7   builtin(include, ac-tools/aclocal.m4)
8  
9 < AC_PROG_RANLIB
11 < AC_PROG_LN_S
12 < AC_PROG_YACC
13 < AC_PROG_LEX
9 > AC_CONFIG_SRCDIR([src/oopse.cpp])
10  
11 < AC_SUBST(EXEEXT)
16 < AC_SUBST(OBJEXT)
17 < AC_SUBST(BATEXT)
11 > AC_PREFIX_DEFAULT("/usr/local")
12  
13 < AC_SUBST(MKINSTALLDIRS)
13 > # set program name
14 > PROGNAME="oopse"
15 > AC_SUBST(PROGNAME)
16  
17 < AC_SUBST(OOPSE)
18 < AC_SUBST(OOPSE_HOME)
23 < AC_SUBST(sprng_libdir)
24 < AC_SUBST(mpich_libdir)
25 < AC_SUBST(sprng_include)
26 < AC_SUBST(mpich_include)
27 < AC_SUBST(mpi_f90_mods)
28 < AC_SUBST(SUBDIRS)
17 > # there are two ways to do debugging.  One with the --enable-debug flag
18 > # and one using the DEBUG environment variable
19  
20 < OOPSE=oopse
21 <
22 < dnl **** define home dir of oopse
23 < if test "x${prefix}" = "xNONE"
24 < then
35 <  OOPSE_HOME=${ac_default_prefix}/oopse
36 < else
37 <  OOPSE_HOME=${prefix}/oopse
20 > debug=0
21 > AC_ARG_ENABLE(debug, AC_HELP_STRING([--enable-debug], [Compile OOPSE in debug mode]), [debug=1])
22 > if test "${DEBUG}"; then
23 >        AC_DEFINE(debug, 1, [Code compiled in debug mode])
24 >  msg="$msg, debug mode"
25   fi
26 < AC_ARG_ENABLE(oopse-home,
40 < [  --enable-oopse-home=DIR      define oopse home dir [PREFIX/oopse]],
41 < [OOPSE_HOME="${enableval}"])
26 > AC_SUBST(debug)
27  
28 < dnl **** define C compiler
44 < CC=${CC-icc}
45 < AC_ARG_WITH(cc,
46 < [  --with-cc=PROG               use PROG as C compiler [${CC-icc}]],
47 < [CC="${withval}"])
48 < AC_PROG_CC([icc gcc cc])
49 <
50 < dnl **** define C compiler
51 < CXX=${CXX-icc}
52 < AC_ARG_WITH(cxx,
53 < [  --with-cxx=PROG               use PROG as C++ compiler [${CXX-icc}]],
54 < [CXX="${withval}"])
55 < AC_PROG_CXX([icc g++ c++])
56 <
57 < dnl **** define Fortran compiler
58 < F77=${F77-ifc}
59 < AC_ARG_WITH(f77,
60 < [  --with-f77=PROG              use PROG as Fortran compiler [${F77-ifc}]],
61 < [F77="${withval}"])
62 < AC_PROG_F77([ifc f90])
63 <
64 < dnl **** check if user wants to compile with debugging support
65 < AC_ARG_ENABLE(debug,
66 < [  --enable-debug               turn on debugging [no]],
67 < [case "${enableval}" in
68 <  yes) debug=true ;;
69 <  no)  debug=false ;;
70 <  *) AC_MSG_ERROR(bad value ${enableval} for --enable-debug) ;;
71 < esac],[debug=false])
72 <
73 <
74 < dnl **** Define CFLAGS etc empty to prevent configure from setting them
75 < CFLAGS=${CFLAGS-""}
76 < FFLAGS=${FFLAGS-""}
77 < LDFLAGS=${LDFLAGS-""}
78 < OPTIMIZE=${OPTIMIZE-""}
79 < DEBUG=${DEBUG-""}
80 <
81 <
82 < dnl **** Check for host type
28 > # who am i
29   AC_CANONICAL_HOST
30  
31 + dnl Checks for C compiler
32 + AC_PROG_CC([icc xlc gcc cc])
33  
34 < if test "x${CFLAGS}" = "x"
35 < then
88 <  if test "x${GCC}" = "xyes"
89 <  then
90 <    dnl **** default settings for gcc
91 <    DEBUG="-g -O2"
92 <    OPTIMIZE="-O2"
93 <    CFLAGS="-fno-common -Wall -pedantic -Wpointer-arith -Wnested-externs"
34 > dnl Checks for C++ compiler
35 > AC_PROG_CXX([icpc icc xlC CC g++ c++])
36  
37 <    dnl **** check for strength-reduce bug
38 <    ACX_GCC_STRENGTH_REDUCE(CFLAGS="$CFLAGS -fno-strength-reduce")
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 >    
73  
74 <    dnl **** some arch-specific optimizations/settings for gcc
99 <    case "${host}" in
100 <      i486-*) CPU_FLAGS="-m486";;
101 <      i586-*) ACX_CHECK_CC_FLAGS(-mcpu=pentium,cpu_pentium,
102 <                 [CPU_FLAGS=-mcpu=pentium],
103 <                 [ACX_CHECK_CC_FLAGS(-mpentium,pentium,
104 <                         [CPU_FLAGS=-mpentium], [CPU_FLAGS=-m486])])
105 <              ;;
106 <      i686-*) ACX_CHECK_CC_FLAGS(-mcpu=pentiumpro,cpu_pentiumpro,
107 <                 [CPU_FLAGS=-mcpu=pentiumpro],
108 <                 [ACX_CHECK_CC_FLAGS(-mpentiumpro,pentiumpro,
109 <                         [CPU_FLAGS=-mpentiumpro], [CPU_FLAGS=-m486])])
110 <              ;;
111 <    esac
112 <
113 <    CFLAGS="$CPU_FLAGS $CFLAGS"
74 >    EXTRA_CC_FLAG=${EXTRA_CC_FLAG}" -LANG:std"
75    else
76 <    case "${host}" in
116 <      alpha*-dec-osf4.*)
117 <        CFLAGS="-std1 -w0"
118 <        OPTIMIZE="-O2"
119 <        DEBUG="-g3 -O2"
120 <        ;;
121 <      hppa*-hp-hpux*)
122 <        CFLAGS="-Aa -D_HPUX_SOURCE"
123 <        OPTIMIZE="-O"
124 <        DEBUG="-g -O"
125 <        ;;
126 <      mips-sgi-irix6.[[4-9]]*)
127 <        CFLAGS="-w"
128 <        OPTIMIZE="-O2 -OPT:Olimit=0"
129 <        DEBUG="-g3 -O2 -OPT:Olimit=0"
130 <        ;;
131 <      mips-sgi-irix*)
132 <        CFLAGS="-fullwarn -woff 835"
133 <        OPTIMIZE="-O2 -Olimit 3500"
134 <        ;;
135 <      rs6000-ibm-aix*)
136 <        CFLAGS="-D_ALL_SOURCE"
137 <        OPTIMIZE="-O2"
138 <        DEBUG="-g -O2"
139 <        ;;
140 <      *)
141 <        CFLAGS=""
142 <        OPTIMIZE="-O"
143 <        DEBUG="-g"
144 <        ;;
145 <    esac
76 >    AC_MSG_RESULT(no)
77    fi
78   fi
79 + AC_SUBST(OOPSE_TEMPLATE_FLAGS)
80 + AC_SUBST(EXTRA_CC_FLAG)
81  
82 < case $debug in
150 <  true) CFLAGS="$DEBUG $CFLAGS";;
151 <  *) CFLAGS="$OPTIMIZE $CFLAGS";;
152 < esac
82 > dnl Fortran 90 compilation checks are next
83  
84 < dnl **** .exe/.obj file extensions
85 < AC_EXEEXT
86 < AC_OBJEXT
84 > AC_PROG_F90([ifort ifc f90 xlf90 pgf90 epcf90 f95 xlf95 lf95 fort g95])
85 > dnl Check the flag for Fortran90 preprocessing
86 > ACX_PROG_F90_PREPFLAG
87 > dnl Check to see if a flag is required for preprocessing defines
88 > ACX_PROG_F90_PREPDEFFLAG
89 > AC_LANG_PUSH(Fortran 90)
90 > AC_LANG_PREPROC(Fortran 90)
91 > AC_F90_LIBRARY_LDFLAGS
92 > dnl How does Fortran mangle function names
93 > AC_F90_WRAPPERS
94 > AC_SUBST(F90_FUNC)
95 > AC_SUBST(F90_FUNC_)
96 > dnl Fortran 90 module suffix
97 > AC_CHECK_MODSUFFIX
98 > dnl Fortran 90 module path specifier
99 > AC_CHECK_MODDIRFLAG
100  
101 < OBJEXT=".$OBJEXT"
101 > dnl check for strong optimization options
102  
103 < AC_PROG_MAKE_SET
103 > case $debug in
104 >  1)
105 >     ;;
106 >  *)
107 >   ACX_PROG_CC_MAXOPT
108 >   ACX_PROG_CXX_MAXOPT
109 >   ACX_PROG_F90_MAXOPT
110 >     ;;
111 > esac
112  
113 < dnl **** Checks for programs.
113 > AC_PROG_INSTALL
114 > AC_PROG_LN_S
115 > AC_PROG_MAKE_SET
116 > AC_PROG_RANLIB
117 > AC_PROG_YACC
118 > AC_PROG_LEX
119   AC_CHECK_PROG(AR, ar, ar, NONE)
120   if test "$AR" = "NONE"; then
121    AC_MSG_ERROR(--> Can't find \`ar'!)
# Line 167 | Line 123 | AC_F77_LIBRARY_LDFLAGS
123    exit 1
124   fi
125  
126 < AC_F77_LIBRARY_LDFLAGS
126 > AC_MSG_CHECKING([for mpi-directory])
127 > AC_ARG_WITH(mpi,
128 >              [  --with-mpi=MPIDIR   give the path for MPI [/usr/local]],
129 >                MPI_DIR="$withval", MPI_DIR="/usr/local")
130 > AC_MSG_RESULT([$MPI_DIR])
131 > AC_SUBST([mpi])
132  
133 < case $F77 in
134 <        ifc) fortran_machine_defs='Linux_ifc_machdep$(O)' flibs_extra='-lPEPCF90' ;;
135 <        *) echo $F77; AC_MSG_ERROR([currently only ifc is supported as the fortran compiler. See README for details]) ;;
136 < esac
137 < AC_SUBST([fortran_machine_defs])
138 < AC_SUBST([flibs_extra])
133 > AC_MSG_CHECKING([for mpi-lib-directory])
134 > AC_ARG_WITH(mpi_libdir,
135 >              [  --with-mpi-libdir=dir  give the path for MPI-libraries [MPI_DIR/lib]],
136 >                MPI_LIBDIR="$withval", MPI_LIBDIR="$MPI_DIR/lib")
137 > AC_MSG_RESULT([$MPI_LIBDIR])
138 > AC_SUBST([MPI_LIBDIR])
139  
140 < AC_ARG_WITH(mpi_f90_mods,
141 < [  --with-mpi_f90_mods=<dir>      specify the location of the MPI F90
142 <                                modules (default is
143 <                                /usr/local/include/f90choice],
144 <    [mpi_f90_mods="${withval}"],
145 <    [mpi_f90_mods="/usr/local/include/f90choice"] )
146 < AC_SUBST(mpi_f90_mods)
147 < if test -r $mpi_f90_mods/MPI.mod || test -r $mpi_f90_mods/mpi.mod; then
148 <  AC_DEFINE(USE_MPI_F90_MODS, 1, [define whether we have the MPI f90 modules])
140 > AC_MSG_CHECKING([for mpi-inc-directory])
141 > AC_ARG_WITH(mpi-inc,
142 >              [  --with-mpi-inc=dir  give the path for MPI-include-files [MPI_DIR/include]],
143 >                MPI_INC="$withval", MPI_INC="$MPI_DIR/include")
144 > AC_MSG_RESULT([$MPI_INC])
145 > AC_SUBST([MPI_INC])
146 >
147 > AC_MSG_CHECKING([for mpi.h])
148 > HAVE_MPIDOTH_C="no"
149 > echo '#include <mpi.h>' > conftest.cc
150 > if test -z "`${CXX} -I${MPI_INC} -c conftest.cc 2>&1`"; then
151 >  AC_MSG_RESULT(yes)
152 >  HAVE_MPIDOTH_C="yes"
153   else
154 <  AC_MSG_ERROR(--> Can't find MPI f90 modules!)
190 <  AC_CACHE_SAVE
191 <  exit 1
154 >  AC_MSG_RESULT(no! Check MPI include paths)
155   fi
156 + rm -f conftest*
157  
158 < AC_ARG_WITH(sprng_include,
159 < [  --with-sprng_include=<include dir>    specify the location of the sprng
160 <                                         headers (default is
161 <                                         /usr/local/include/sprng)],
162 <        [sprng_include="$withval"],
163 <        [sprng_include="/usr/local/include/sprng"] )
164 < AC_SUBST(sprng_include)
165 < AC_CHECK_HEADERS([$sprng_include/sprng.h],
166 <                 AC_DEFINE(USE_SPRNG, 1, [define whether we have the sprng libraries]),
167 <                 AC_MSG_ERROR(sprng header files not found.))
168 <                
169 < AC_ARG_WITH(sprng_libdir,
170 < [  --with-sprng_libdir=<library dir>    specify the location of the sprng
171 <                                        libraries (default is
172 <                                        /usr/local/lib)],
173 <        [sprng_libdir="$withval"],
174 <        [sprng_libdir="/usr/local/lib"] )
175 < AC_SUBST(sprng_libdir)
212 < AC_CHECK_FILE([$sprng_libdir/libsprng.a],,
213 <                 AC_MSG_ERROR(libsprng.a not found.))
158 > AC_MSG_CHECKING([whether mpif.h is usable])
159 > HAVE_MPIFDOTH_F90="no"
160 > rm -f conftest*
161 > cat >conftest.f90 <<EOF
162 > program main
163 >  include 'mpif.h'
164 > end
165 > EOF
166 > if $F90 -I$MPI_INC -c conftest.f90 > conftest.out 2>&1 ; then
167 >   AC_MSG_RESULT(yes)
168 >   MPI_F90INC="$MPI_INC"
169 >   HAVE_MPIFDOTH_F90="yes"
170 > else
171 >   if test -s conftest.out ; then cat conftest.out >> config.log ; fi
172 >   AC_MSG_RESULT([no! Check MPI include paths])
173 > fi
174 > rm -f conftest*
175 > AC_SUBST([MPI_F90INC])
176  
177 < AC_ARG_WITH(mpich_include,
178 < [  --with-mpich_include=<include dir>    specify the location of the mpich
179 <                                         headers (default is
218 <                                         /usr/local/include)],
219 <        [mpich_include="$withval"],
220 <        [mpich_include="/usr/local/include"] )
221 < AC_SUBST(mpich_include)
222 < AC_CHECK_HEADERS([$mpich_include/mpi.h],
223 <                 AC_DEFINE(HAVE_MPICH, 1, [define whether we have the mpich libraries]),
224 <                 AC_MSG_ERROR(mpich header files not found.))
225 <                
226 < AC_ARG_WITH(mpich_libdir,
227 < [ --with-mpich_libdir=<library dir>    specify the location of the mpich
228 <                                       libraries (default is /usr/local/lib)],
229 <        [mpich_libdir="$withval"],
230 <        [mpich_libdir="/usr/local/lib"] )
231 < AC_SUBST(mpich_libdir)
232 < AC_CHECK_FILE([$mpich_libdir/libmpich.a],,
233 <                 AC_MSG_ERROR(libmpi.a not found.))
177 > AC_LANG_PUSH(C)
178 > ac_save_LDFLAGS=$LDFLAGS
179 > LDFLAGS="${LDFLAGS} -L${MPI_LIBDIR} "
180  
181 + if test x = x"$MPI_LIB"; then
182 +   AC_CHECK_LIB(mpi, MPI_Init, [MPI_LIB="-lmpi"])
183 + fi
184 + if test x = x"$MPI_LIB"; then
185 +   AC_CHECK_LIB(mpich, MPI_Init, [MPI_LIB="-lmpich"])
186 + fi
187 + $as_unset ac_cv_lib_mpi_MPI_Init
188 + if test x = x"$MPI_LIB"; then
189 +   AC_CHECK_LIB(mpi, MPI_Init, [MPI_LIB="-lmpi -llam"], [],
190 +                "-llam")
191 + fi
192  
193 < AC_PROG_INSTALL
193 > $as_unset ac_cv_lib_mpi_MPI_Init
194 > if test x = x"$MPI_LIB"; then
195 >   AC_CHECK_LIB(mpi, MPI_Init, [MPI_LIB="-lmpi -llam -lpthread"],
196 >                [AC_MSG_ERROR([Didn't find liblam, libmpi, or libmpich; check path for MPI package first...])],
197 >                [-llam -lpthread])
198 > fi
199 >
200 > AC_MSG_RESULT(found $MPI_LIB)
201 > AC_SUBST(MPI_LIB)
202 >
203 > AC_MSG_CHECKING([for MPI Fortran library])
204 > MPI_F90LIB=""
205 > if test -f "$MPI_LIBDIR/libfmpich.a" ; then
206 >  MPI_F90LIB="-lfmpich"
207 > elif test -f "$MPI_LIBDIR/liblamf77mpi.a" ; then
208 >  MPI_F90LIB="-llamf77mpi"
209 > else
210 >  # nothing special found, we'll assume that the C library is all we need
211 >  MPI_F90LIB="  "
212 > fi
213 > AC_MSG_RESULT([found $MPI_F90LIB])
214 > AC_SUBST(MPI_F90LIB)
215 >
216 > dnl CHECK_MPI
217 >
218 > dnl I don't think this works right now:
219 > dnl ACX_MPI
220 >
221 > AM_PATH_SPRNG
222 > CHECK_MKL
223 >
224 >
225 > AC_EXEEXT
226 > AC_OBJEXT
227 > OBJEXT=".$OBJEXT"
228 >
229 > OOPSE=oopse
230 >
231 > dnl **** define home dir of oopse
232 > if test "x${prefix}" = "xNONE"
233 > then
234 >  OOPSE_HOME=${ac_default_prefix}/oopse
235 > else
236 >  OOPSE_HOME=${prefix}/oopse
237 > fi
238 > AC_ARG_ENABLE(oopse-home,
239 > [  --enable-oopse-home=DIR      define oopse home dir [PREFIX/oopse]],
240 > [OOPSE_HOME="${enableval}"])
241 >
242   case "x$INSTALL" in
243     x/*) ;;
244     *) INSTALL=`pwd`/ac-tools/"shtool install -c" ;
# Line 242 | Line 247 | SUBDIRS="libBASS libmdtools src forceFields samples ut
247   MKINSTALLDIRS=`pwd`/ac-tools/"shtool mkdir -p -f"
248  
249   dnl **** Final list of subdirs
250 < SUBDIRS="libBASS libmdtools src forceFields samples utils utils/sysbuilder"
250 > SUBDIRS="libBASS libmdtools src forceFields samples utils utils/sysbuilder staticProps third-party"
251  
252 < dnl **** Create Make.conf
253 < AC_OUTPUT(Make.conf:ac-tools/Make.conf.in)
252 > dnl **** Define CFLAGS etc empty to prevent configure from setting them
253 > CFLAGS=${CFLAGS-""}
254 > CXXFLAGS=${CXXFLAGS-""}
255 > CPPFLAGS=${CPPFLAGS-""}
256 > FFLAGS=${FFLAGS-""}
257 > F90FLAGS=${F90FLAGS-""}
258 > LDFLAGS=${LDFLAGS-""}
259 > DEBUG=${DEBUG-"-g"}
260 >
261 > case $debug in
262 >  1)
263 >     FFLAGS="$DEBUG $FFLAGS"
264 >     F90FLAGS="$DEBUG $F90FLAGS"
265 >     ;;
266 >  *)
267 >     ;;
268 > esac
269 >
270 >
271 > AC_SUBST(EXEEXT)
272 > AC_SUBST(OBJEXT)
273 > AC_SUBST(BATEXT)
274 > AC_SUBST(MKINSTALLDIRS)
275 > AC_SUBST(OOPSE)
276 > AC_SUBST(OOPSE_HOME)
277 > AC_SUBST(SUBDIRS)
278 > AC_SUBST(CFLAGS)
279 > AC_SUBST(CXXFLAGS)
280 > AC_SUBST(CPPFLAGS)
281 > AC_SUBST(FFLAGS)
282 > AC_SUBST(F90FLAGS)
283 > AC_SUBST(LDFLAGS)
284 > AC_SUBST(PREPFLAG)
285 > AC_SUBST(PREPDEFFLAG)
286 > AC_CONFIG_HEADER([libmdtools/config.h])
287 > AC_CONFIG_FILES([Makefile
288 >        libBASS/Makefile libmdtools/Makefile src/Makefile utils/Makefile
289 >        utils/sysbuilder/Makefile  forceFields/Makefile samples/Makefile
290 >        staticProps/Makefile
291 >        third-party/Makefile
292 >        samples/alkane/Makefile samples/argon/Makefile
293 >        samples/beadLipid/Makefile samples/lipid/Makefile
294 >        samples/metals/Makefile samples/water/Makefile
295 > ])
296 >
297 > AC_OUTPUT

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines