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 794 by mmeineke, Tue Sep 30 16:00:15 2003 UTC vs.
Revision 944 by gezelter, Wed Jan 14 22:41:34 2004 UTC

# Line 6 | Line 6 | builtin(include, ac-tools/aclocal.m4)
6   builtin(include, ac-tools/fortran90.m4)
7   builtin(include, ac-tools/aclocal.m4)
8  
9
9   AC_CONFIG_SRCDIR([src/oopse.cpp])
10  
11   AC_PREFIX_DEFAULT("/usr/local")
12  
14 # what should I build?
15
16 AC_ARG_ENABLE(debug, AC_HELP_STRING([--enable-debug], [Compile OOPSE in debug mode]), [DEBUG=1])
17
13   # set program name
14   PROGNAME="oopse"
15   AC_SUBST(PROGNAME)
16  
17 + # there are two ways to do debugging.  One with the --enable-debug flag
18 + # and one using the DEBUG environment variable
19 +
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])
23 >        AC_DEFINE(debug, 1, [Code compiled in debug mode])
24    msg="$msg, debug mode"
25   fi
26 < AC_SUBST(DEBUG)
26 > AC_SUBST(debug)
27  
28   # who am i
29   AC_CANONICAL_HOST
30  
31 < dnl Checks for programs.
31 > dnl Checks for C compiler
32   AC_PROG_CC([icc xlc gcc cc])
33 < ACX_PROG_CC_MAXOPT
34 < AC_PROG_CXX([icpc icc xlC g++ c++])
35 < ACX_PROG_CXX_MAXOPT
36 < AC_PROG_F90([ifc f90 xlf90 pgf90 epcf90 f95 xlf95 lf95 fort g95])
37 < ACX_PROG_F90_MAXOPT
33 >
34 > dnl Checks for C++ compiler
35 > AC_PROG_CXX([icpc icc xlC CC g++ c++])
36 >
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 >    EXTRA_CC_FLAG=${EXTRA_CC_FLAG}" -LANG:std"
75 >  else
76 >    AC_MSG_RESULT(no)
77 >  fi
78 > fi
79 > AC_SUBST(OOPSE_TEMPLATE_FLAGS)
80 > AC_SUBST(EXTRA_CC_FLAG)
81 >
82 > dnl Fortran 90 compilation checks are next
83 >
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 + dnl check for strong optimization options
102 +
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   AC_PROG_INSTALL
114   AC_PROG_LN_S
115   AC_PROG_MAKE_SET
# Line 50 | Line 123 | AC_LANG_PUSH(Fortran 90)
123    exit 1
124   fi
125  
53 AC_LANG_PUSH(Fortran 90)
54 AC_LANG_PREPROC(Fortran 90)
55 AC_F90_LIBRARY_LDFLAGS
56 dnl how Fortran mangles function names
57 AC_F90_WRAPPERS
58 AC_SUBST(F90_FUNC)
59 AC_SUBST(F90_FUNC_)
60
126   AC_MSG_CHECKING([for mpi-directory])
127 < AC_ARG_WITH(mpi_dir,
128 <              [  --with-mpi_dir=MPIDIR   give the path for MPI [/usr/local]],
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_dir])
131 > AC_SUBST([mpi])
132  
133   AC_MSG_CHECKING([for mpi-lib-directory])
134   AC_ARG_WITH(mpi_libdir,
# Line 73 | Line 138 | AC_ARG_WITH(mpi_inc,
138   AC_SUBST([MPI_LIBDIR])
139  
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]],
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_RESULT(no! Check MPI include paths)
155 + fi
156 + rm -f conftest*
157  
158 < AC_MSG_CHECKING([for MPI library])
159 < MPI_LIB=""
160 < case "$host" in
161 <  *-ibm-aix*)                dnl IBM/SP2 machines
162 <    dnl checking whether to use signal-based MPI
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_MSG_CHECKING([whether to use signal-based MPI library])
178 <    AC_MSG_RESULT([$PACX_SIGNAL])
179 <    if test "x$PACX_SIGNAL" = "xyes" ; then
180 <      if test -f "$MPI_LIBDIR/libmpi.a" ; then
181 <        MPI_LIB="-lmpi"
182 <      elif test -f "$MPI_LIBDIR/libmpi.so" ; then
183 <        MPI_LIB="-lmpi"
184 <      elif test -f "$MPI_LIBDIR/libmpich.a" ; then
185 <        MPI_LIB="-lmpich"
186 <      else
187 <        AC_MSG_ERROR([neither libmpi nor libmpich found; check path for MPI package first...])
188 <      fi
189 <    else
190 <      if test -f "$MPI_LIBDIR/libmpi_r.a" ; then
191 <         MPI_LIB="-lmpi_r"
192 <      else
193 <         AC_MSG_ERROR([libmpi_r not found; check path for MPI package...])
194 <      fi
195 <    fi
196 <    AC_MSG_RESULT(found $MPI_LIB)
197 <  ;;
198 <  *)                         dnl All other machines
199 <    if test -f "$MPI_LIBDIR/libmpi.a" ; then
200 <      MPI_LIB="-lmpi"
113 <    elif test -f "$MPI_LIBDIR/libmpi.so" ; then
114 <      MPI_LIB="-lmpi"
115 <    elif test -f "$MPI_LIBDIR/libmpich.a" ; then
116 <      MPI_LIB="-lmpich"
117 <    else
118 <      AC_MSG_ERROR([neither libmpi nor libmpich found; check path for MPI package first...])
119 <    fi
120 <    AC_MSG_RESULT(found $MPI_LIB)
121 <  ;;
122 < esac
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 > $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 < ACX_MPI
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
129 AC_CHECK_MPI_F90MOD
223  
224 +
225   AC_EXEEXT
226   AC_OBJEXT
227   OBJEXT=".$OBJEXT"
# Line 153 | 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 **** Define CFLAGS etc empty to prevent configure from setting them
253   CFLAGS=${CFLAGS-""}
# Line 162 | Line 256 | OPTIMIZE=${OPTIMIZE-"-O"}
256   FFLAGS=${FFLAGS-""}
257   F90FLAGS=${F90FLAGS-""}
258   LDFLAGS=${LDFLAGS-""}
165 OPTIMIZE=${OPTIMIZE-"-O"}
259   DEBUG=${DEBUG-"-g"}
260  
261   case $debug in
262 <  true)
170 <     CFLAGS="$DEBUG $CFLAGS"
171 <     CXXFLAGS="$DEBUG $CXXFLAGS"
262 >  1)
263       FFLAGS="$DEBUG $FFLAGS"
264       F90FLAGS="$DEBUG $F90FLAGS"
265       ;;
266    *)
176     CFLAGS="$OPTIMIZE $CFLAGS"
177     CXXFLAGS="$OPTIMIZE $CXXFLAGS"
178     FFLAGS="$OPTIMIZE $FFLAGS"
179     F90FLAGS="$OPTIMIZE $F90FLAGS"
267       ;;
268   esac
269  
# Line 200 | Line 287 | AC_CONFIG_FILES([Makefile
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

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines