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 785 by gezelter, Thu Sep 25 16:42:34 2003 UTC vs.
Revision 1228 by gezelter, Thu Jun 3 20:02:18 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++ 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
61 AC_MSG_CHECKING([for mpi-directory])
62 AC_ARG_WITH(MPI_DIR,
63              [  --with-mpi-dir=MPIDIR   give the path for MPI [/usr/local]],
64                MPI_DIR="$withval", MPI_DIR="/usr/local")
65 AC_MSG_RESULT([$MPI_DIR])
66 AC_SUBST([MPI_DIR])
67
68 AC_MSG_CHECKING([for mpi-lib-directory])
69 AC_ARG_WITH(MPI_LIBDIR,
70              [  --with-mpi-lib-dir=dir  give the path for MPI-libraries [MPI_DIR/lib]],
71                MPI_LIBDIR="$withval", MPI_LIBDIR="$MPI_DIR/lib")
72 AC_MSG_RESULT([$MPI_LIBDIR])
73 AC_SUBST([MPI_LIBDIR])
74
75 AC_MSG_CHECKING([for mpi-inc-directory])
76 AC_ARG_WITH(MPI_INC,
77              [  --with-mpi-inc-dir=dir  give the path for MPI-include-files [MPI_DIR/include]],
78                MPI_INC="$withval", MPI_INC="$MPI_DIR/include")
79 AC_MSG_RESULT([$MPI_INC])
80 AC_SUBST([MPI_INC])
81
82
83 AC_MSG_CHECKING([for MPI library])
84 MPI_LIB=""
85 case "$host" in
86  *-ibm-aix*)                dnl IBM/SP2 machines
87    dnl checking whether to use signal-based MPI
88
89    AC_MSG_CHECKING([whether to use signal-based MPI library])
90    AC_MSG_RESULT([$PACX_SIGNAL])
91    if test "x$PACX_SIGNAL" = "xyes" ; then
92      if test -f "$MPI_LIBDIR/libmpi.a" ; then
93        MPI_LIB="-lmpi"
94      elif test -f "$MPI_LIBDIR/libmpi.so" ; then
95        MPI_LIB="-lmpi"
96      elif test -f "$MPI_LIBDIR/libmpich.a" ; then
97        MPI_LIB="-lmpich"
98      else
99        AC_MSG_ERROR([neither libmpi nor libmpich found; check path for MPI package first...])
100      fi
101    else
102      if test -f "$MPI_LIBDIR/libmpi_r.a" ; then
103         MPI_LIB="-lmpi_r"
104      else
105         AC_MSG_ERROR([libmpi_r not found; check path for MPI package...])
106      fi
107    fi
108    AC_MSG_RESULT(found $MPI_LIB)
109  ;;
110  *)                         dnl All other machines
111    if test -f "$MPI_LIBDIR/libmpi.a" ; then
112      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
123 AC_SUBST(MPI_LIB)
124
126   ACX_MPI
127 + dnl AC_MSG_CHECKING([for mpi-directory])
128 + dnl AC_ARG_WITH(mpi,
129 + dnl           [  --with-mpi=MPIDIR   give the path for MPI [/usr/local]],
130 + dnl             MPI_DIR="$withval", MPI_DIR="/usr/local")
131 + dnl AC_MSG_RESULT([$MPI_DIR])
132 + dnl AC_SUBST([mpi])
133  
134 + dnl AC_MSG_CHECKING([for mpi-lib-directory])
135 + dnl AC_ARG_WITH(mpi_libdir,
136 + dnl           [  --with-mpi-libdir=dir  give the path for MPI-libraries [MPI_DIR/lib]],
137 + dnl             MPI_LIBDIR="$withval", MPI_LIBDIR="$MPI_DIR/lib")
138 + dnl AC_MSG_RESULT([$MPI_LIBDIR])
139 + dnl AC_SUBST([MPI_LIBDIR])
140 + dnl
141 + dnl AC_MSG_CHECKING([for mpi-inc-directory])
142 + dnl AC_ARG_WITH(mpi-inc,
143 + dnl           [  --with-mpi-inc=dir  give the path for MPI-include-files [MPI_DIR/include]],
144 + dnl             MPI_INC="$withval", MPI_INC="$MPI_DIR/include")
145 + dnl AC_MSG_RESULT([$MPI_INC])
146 + dnl AC_SUBST([MPI_INC])
147 + dnl
148 + dnl AC_MSG_CHECKING([for mpi.h])
149 + dnl HAVE_MPIDOTH_C="no"
150 + dnl echo '#include <mpi.h>' > conftest.cc
151 + dnl if test -z "`${CXX} -I${MPI_INC} -c conftest.cc 2>&1`"; then
152 + dnl  AC_MSG_RESULT(yes)
153 + dnl  HAVE_MPIDOTH_C="yes"
154 + dnl else
155 + dnl   AC_MSG_RESULT(no! Check MPI include paths)
156 + dnl fi
157 + dnl rm -f conftest*
158 + dnl
159 + dnl AC_MSG_CHECKING([whether mpif.h is usable])
160 + dnl HAVE_MPIFDOTH_F90="no"
161 + dnl rm -f conftest*
162 + dnl cat >conftest.f90 <<EOF
163 + dnl program main
164 +  dnl include 'mpif.h'
165 + dnl end
166 + dnl EOF
167 + dnl if $F90 -I$MPI_INC -c conftest.f90 > conftest.out 2>&1 ; then
168 +   dnl AC_MSG_RESULT(yes)
169 +   dnl MPI_F90INC="$MPI_INC"
170 +   dnl HAVE_MPIFDOTH_F90="yes"
171 + dnl else
172 +   dnl if test -s conftest.out ; then cat conftest.out >> config.log ; fi
173 +   dnl AC_MSG_RESULT([no! Check MPI include paths])
174 + dnl fi
175 + dnl rm -f conftest*
176 + dnl AC_SUBST([MPI_F90INC])
177 + dnl
178 + dnl AC_LANG_PUSH(C)
179 + dnl ac_save_LDFLAGS=$LDFLAGS
180 + dnl LDFLAGS="${LDFLAGS} -L${MPI_LIBDIR} "
181 + dnl
182 + dnl if test x = x"$MPI_LIB"; then
183 +   dnl AC_CHECK_LIB(mpi, MPI_Init, [MPI_LIB="-lmpi"])
184 + dnl fi
185 + dnl if test x = x"$MPI_LIB"; then
186 +   dnl AC_CHECK_LIB(mpich, MPI_Init, [MPI_LIB="-lmpich"])
187 + dnl fi
188 + dnl $as_unset ac_cv_lib_mpi_MPI_Init
189 + dnl if test x = x"$MPI_LIB"; then
190 +   dnl AC_CHECK_LIB(mpi, MPI_Init, [MPI_LIB="-lmpi -llam"], [],
191 +                dnl "-llam")
192 + dnl fi
193 + dnl
194 + dnl $as_unset ac_cv_lib_mpi_MPI_Init
195 + dnl if test x = x"$MPI_LIB"; then
196 +   dnl AC_CHECK_LIB(mpi, MPI_Init, [MPI_LIB="-lmpi -llam -lpthread"],
197 +                dnl [AC_MSG_ERROR([Didn't find liblam, libmpi, or libmpich; check path for MPI package first...])],
198 +                dnl [-llam -lpthread])
199 + dnl fi
200 + dnl
201 + dnl AC_MSG_RESULT(found $MPI_LIB)
202 + dnl AC_SUBST(MPI_LIB)
203 + dnl
204 + dnl AC_MSG_CHECKING([for MPI Fortran library])
205 + dnl MPI_F90LIB=""
206 + dnl if test -f "$MPI_LIBDIR/libfmpich.a" ; then
207 +  dnl MPI_F90LIB="-lfmpich"
208 + dnl elif test -f "$MPI_LIBDIR/liblamf77mpi.a" ; then
209 +  dnl MPI_F90LIB="-llamf77mpi"
210 + dnl else
211 +  dnl # nothing special found, we'll assume that the C library is all we need
212 +  dnl MPI_F90LIB="  "
213 + dnl fi
214 + dnl AC_MSG_RESULT([found $MPI_F90LIB])
215 + dnl AC_SUBST(MPI_F90LIB)
216 + dnl
217 + dnl dnl CHECK_MPI
218 + dnl
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 shapes"
251  
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 < #LDFLAGS=${LDFLAGS-""}
258 < #OPTIMIZE=${OPTIMIZE-"-O"}
259 < #DEBUG=${DEBUG-"-g"}
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 <  true)
169 <     CFLAGS="$DEBUG $CFLAGS"
170 <     CXXFLAGS="$DEBUG $CXXFLAGS"
262 >  1)
263       FFLAGS="$DEBUG $FFLAGS"
264       F90FLAGS="$DEBUG $F90FLAGS"
265       ;;
266    *)
175     CFLAGS="$OPTIMIZE $CFLAGS"
176     CXXFLAGS="$OPTIMIZE $CXXFLAGS"
177     FFLAGS="$OPTIMIZE $FFLAGS"
178     F90FLAGS="$OPTIMIZE $F90FLAGS"
267       ;;
268   esac
269  
# Line 199 | 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
295 +        shapes/Makefile
296   ])
297  
298   AC_OUTPUT

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines