ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/group/trunk/OOPSE/ac-tools/configure.in
Revision: 747
Committed: Fri Sep 5 21:28:52 2003 UTC (20 years, 10 months ago) by gezelter
File size: 5280 byte(s)
Log Message:
Changes to autoconf / configure method of configuring OOPSE

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 # what should I build?
15 mmeineke 377
16 gezelter 747 AC_ARG_ENABLE(debug, AC_HELP_STRING([--enable-debug], [Compile OOPSE in debug mode]), [DEBUG=1])
17 mmeineke 377
18 gezelter 747 # set program name
19     PROGNAME="oopse"
20     AC_SUBST(PROGNAME)
21    
22     if test "${DEBUG}"; then
23     AC_DEFINE(DEBUG, 1, [Code compiled in debug mode])
24     msg="$msg, debug mode"
25 mmeineke 377 fi
26 gezelter 747 AC_SUBST(DEBUG)
27 mmeineke 377
28 gezelter 747 # who am i
29     AC_CANONICAL_HOST
30 mmeineke 377
31 gezelter 747 dnl Checks for programs.
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
38     ACX_PROG_F90_PREPFLAG
39     ACX_PROG_F90_PREPDEFFLAG
40     AC_PROG_INSTALL
41     AC_PROG_LN_S
42     AC_PROG_MAKE_SET
43     AC_PROG_RANLIB
44     AC_PROG_YACC
45     AC_PROG_LEX
46     AC_CHECK_PROG(AR, ar, ar, NONE)
47     if test "$AR" = "NONE"; then
48     AC_MSG_ERROR(--> Can't find \`ar'!)
49     AC_CACHE_SAVE
50     exit 1
51     fi
52 mmeineke 377
53 gezelter 747 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 mmeineke 377
61 gezelter 747 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 mmeineke 377
68 gezelter 747 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 mmeineke 377
75 gezelter 747 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 mmeineke 377
82    
83 gezelter 747 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 mmeineke 377
89 gezelter 747 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 mmeineke 377
125 gezelter 747 ACX_MPI
126 mmeineke 377
127 gezelter 747 AM_PATH_SPRNG
128     CHECK_MKL
129     AC_CHECK_MPI_F90MOD
130 mmeineke 377
131 gezelter 747 case $F90 in
132     ifc) fortran_machine_defs='Linux_ifc_machdep$(O)' ;;
133     *) fortran_machine_defs='' ;;
134 mmeineke 377 esac
135 gezelter 747 AC_SUBST([fortran_machine_defs])
136 mmeineke 377
137     AC_EXEEXT
138     AC_OBJEXT
139     OBJEXT=".$OBJEXT"
140    
141 gezelter 747 OOPSE=oopse
142 mmeineke 377
143 gezelter 747 dnl **** define home dir of oopse
144     if test "x${prefix}" = "xNONE"
145     then
146     OOPSE_HOME=${ac_default_prefix}/oopse
147 mmeineke 377 else
148 gezelter 747 OOPSE_HOME=${prefix}/oopse
149 mmeineke 377 fi
150 gezelter 747 AC_ARG_ENABLE(oopse-home,
151     [ --enable-oopse-home=DIR define oopse home dir [PREFIX/oopse]],
152     [OOPSE_HOME="${enableval}"])
153 mmeineke 377
154     case "x$INSTALL" in
155     x/*) ;;
156     *) INSTALL=`pwd`/ac-tools/"shtool install -c" ;
157     esac
158    
159     MKINSTALLDIRS=`pwd`/ac-tools/"shtool mkdir -p -f"
160    
161     dnl **** Final list of subdirs
162 chuckv 679 SUBDIRS="libBASS libmdtools src forceFields samples utils utils/sysbuilder"
163 mmeineke 377
164 gezelter 747 dnl **** Define CFLAGS etc empty to prevent configure from setting them
165     #CFLAGS=${CFLAGS-""}
166     #CXXFLAGS=${CXXFLAGS-""}
167     #CPPFLAGS=${CPPFLAGS-""}
168     #FFLAGS=${FFLAGS-""}
169     #LDFLAGS=${LDFLAGS-""}
170     #OPTIMIZE=${OPTIMIZE-"-O"}
171     #DEBUG=${DEBUG-"-g"}
172    
173     case $debug in
174     true)
175     CFLAGS="$DEBUG $CFLAGS"
176     CXXFLAGS="$DEBUG $CXXFLAGS"
177     FFLAGS="$DEBUG $FFLAGS"
178     F90FLAGS="$DEBUG $F90FLAGS"
179     ;;
180     *)
181     CFLAGS="$OPTIMIZE $CFLAGS"
182     CXXFLAGS="$OPTIMIZE $CXXFLAGS"
183     FFLAGS="$OPTIMIZE $FFLAGS"
184     F90FLAGS="$OPTIMIZE $F90FLAGS"
185     ;;
186     esac
187    
188    
189     AC_SUBST(EXEEXT)
190     AC_SUBST(OBJEXT)
191     AC_SUBST(BATEXT)
192     AC_SUBST(MKINSTALLDIRS)
193     AC_SUBST(OOPSE)
194     AC_SUBST(OOPSE_HOME)
195     AC_SUBST(SUBDIRS)
196     AC_SUBST(CFLAGS)
197     AC_SUBST(CXXFLAGS)
198     AC_SUBST(CPPFLAGS)
199     AC_SUBST(FFLAGS)
200     AC_SUBST(F90FLAGS)
201     AC_SUBST(LDFLAGS)
202     AC_SUBST(PREPFLAG)
203     AC_SUBST(PREPDEFFLAG)
204     AC_CONFIG_HEADER([libmdtools/config.h])
205     AC_CONFIG_FILES([Makefile
206     libBASS/Makefile libmdtools/Makefile src/Makefile utils/Makefile
207     utils/sysbuilder/Makefile forceFields/Makefile samples/Makefile
208     samples/alkane/Makefile samples/argon/Makefile
209     samples/beadLipid/Makefile samples/lipid/Makefile
210     samples/metals/Makefile samples/water/Makefile
211     ])
212    
213     AC_OUTPUT