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

Comparing:
trunk/ac-tools/configure.in (file contents), Revision 2 by gezelter, Fri Sep 24 04:16:43 2004 UTC vs.
branches/development/ac-tools/configure.in (file contents), Revision 1465 by chuckv, Fri Jul 9 23:08:25 2010 UTC

# Line 1 | Line 1 | dnl **** Process this file with autoconf to produce a
1   dnl **** Process this file with autoconf to produce a configure script.
2 <
3 < AC_INIT(OOPSE, 1.0, gezelter@nd.edu, oopse)
2 > AC_PREREQ(2.59)
3 > AC_INIT(OpenMD, 1.0, gezelter@nd.edu, openmd)
4   AC_CONFIG_AUX_DIR(ac-tools)
5 + AC_CONFIG_SRCDIR([src/applications/openmd/openmd.cpp])
6 + AC_CONFIG_HEADER([src/config.h])
7  
8 < builtin(include, ac-tools/fortran90.m4)
9 < builtin(include, ac-tools/aclocal.m4)
8 > builtin(include, ac-tools/OpenMD.m4)
9 > builtin(include, ac-tools/AC_CXX_HAVE_STL.m4)
10 > builtin(include, ac-tools/AC_CXX_NAMESPACES.m4)
11 > builtin(include, ac-tools/AC_CXX_STD.m4)
12 > builtin(include, ac-tools/ax_mpi.m4)
13  
14 < AC_CONFIG_SRCDIR([src/oopse.cpp])
14 > # who am i
15 > AC_CANONICAL_HOST
16  
17   AC_PREFIX_DEFAULT("/usr/local")
18  
19   # set program name
20 < PROGNAME="oopse"
20 > PROGNAME="openmd"
21   AC_SUBST(PROGNAME)
22  
23 + AC_EXEEXT
24 + AC_OBJEXT
25 + OBJEXT=".$OBJEXT"
26 +
27 + OPENMD=openmd
28 +
29 + dnl **** define home dir of OpenMD
30 + if test "x${prefix}" = "xNONE"
31 + then
32 +  OPENMD_HOME=${ac_default_prefix}/openmd
33 + else
34 +  OPENMD_HOME=${prefix}/openmd
35 + fi
36 + AC_ARG_ENABLE(openmd-home,
37 + [  --enable-openmd-home=DIR      define OpenMD home dir [PREFIX/openmd]],
38 + [OPENMD_HOME="${enableval}"])
39 +
40   # there are two ways to do debugging.  One with the --enable-debug flag
41   # and one using the DEBUG environment variable
42  
43   debug=0
44 < AC_ARG_ENABLE(debug, AC_HELP_STRING([--enable-debug], [Compile OOPSE in debug mode]), [debug=1])
44 > AC_ARG_ENABLE(debug, AC_HELP_STRING([--enable-debug], [Compile OpenMD in debug mode]), [debug=1])
45   if test "${DEBUG}"; then
46          AC_DEFINE(debug, 1, [Code compiled in debug mode])
47    msg="$msg, debug mode"
48   fi
49   AC_SUBST(debug)
50  
51 < # who am i
52 < AC_CANONICAL_HOST
53 <
54 < dnl Checks for C compiler
55 < AC_PROG_CC([icc xlc gcc cc])
56 <
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
51 > AC_ARG_ENABLE(single, [AC_HELP_STRING([--enable-single],[compile OpenMD in single precision])], ok=$enableval, ok=no)
52 > AC_ARG_ENABLE(float, [AC_HELP_STRING([--enable-float],[synonym for --enable-single])], ok=$enableval)
53 > if test "$ok" = "yes"; then
54 >        AC_DEFINE(SINGLE_PRECISION,1,[Define to compile in single precision.])
55 >        USE_SINGLE_PRECISION=yes
56 >        AC_SUBST(USE_SINGLE_PRECISION)
57   fi
79 AC_SUBST(OOPSE_TEMPLATE_FLAGS)
80 AC_SUBST(EXTRA_CC_FLAG)
58  
59 < dnl Fortran 90 compilation checks are next
59 > AC_PROG_CXX([$CXX icpc pathCC pgCC c++ xlc++ xlC g++ CC])
60 > AC_PROG_CC([$CC icc pathcc pgcc cc xlc gcc])
61 > AC_PROG_FC([$FC ifort ifc pathf95 pgf95 xlf95 lf95 epcf90 pathf90 xlf90 f95 f90 gfortran g95 fort], 95)
62  
63 < AC_PROG_F90([ifort ifc f90 xlf90 pgf90 epcf90 f95 xlf95 lf95 fort g95])
64 < dnl Check the flag for Fortran90 preprocessing
65 < ACX_PROG_F90_PREPFLAG
66 < 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 < AC_LANG_POP
63 > save_CXX=$CXX
64 > save_CC=$CC
65 > save_FC=$FC
66 > save_LIBS=$LIBS
67  
68 < dnl check for system getopt
69 < AC_LANG_PUSH(C)
70 < adl_FUNC_GETOPT_LONG
68 > AC_LANG([C++])
69 > AC_CHECK_LIB(c, dlopen, LIBDL="", [AC_CHECK_LIB(dl, dlopen, LIBDL="-ldl")])
70 > AC_SUBST(LIBDL)
71 > AX_MPI([USE_MPI="yes"],
72 >       [USE_MPI="no"
73 >       AC_MSG_WARN([No suitable C++ MPI implementation found. openmd_MPI will not be built.])])
74 > AS_IF([test AS_VAR_GET([USE_MPI]) != no],[
75 > AC_LANG([C])
76 > AX_MPI([USE_MPI="yes"],
77 >       [USE_MPI="no"
78 >       AC_MSG_WARN([No suitable C MPI implementation found. openmd_MPI will not be built.])])
79 > ])
80 > AS_IF([test AS_VAR_GET([USE_MPI]) != no],[
81 > AC_LANG([Fortran])
82 > AX_MPI([USE_MPI="yes"],
83 >       [USE_MPI="no"
84 >       AC_MSG_WARN([No suitable Fortran MPI implementation found. openmd_MPI will not be built.])])
85 > ])
86 > AS_IF([test AS_VAR_GET([USE_MPI]) != no],[
87 >        CXX=$MPICXX
88 >        CC=$MPICC
89 >        FC=$MPIFC
90 >        LIBS="$MPILIBS $LIBS"
91 > ],[
92 >        CXX=$save_CXX
93 >        CC=$save_CC
94 >        FC=$save_FC
95 >        LIBS=$save_LIBS
96 > ]
97 > )
98 > AC_SUBST(USE_MPI)
99  
100 < dnl check for strong optimization options
101 <
102 < case $debug in
109 <  1)
110 <     ;;
111 <  *)
112 <   ACX_PROG_CC_MAXOPT
113 <   ACX_PROG_CXX_MAXOPT
114 <   ACX_PROG_F90_MAXOPT
115 <     ;;
116 < esac
117 <
118 < AC_PROG_INSTALL
100 > # Checks for programs.
101 > AC_PROG_CPP
102 > AC_PROG_EGREP
103   AC_PROG_LN_S
104   AC_PROG_MAKE_SET
105   AC_PROG_RANLIB
106 < AC_PROG_YACC
107 < AC_PROG_LEX
106 > AX_SYS_PERLSHARPBANG
107 > AC_PROG_INSTALL
108 > case "x$INSTALL" in
109 >   x/*) ;;
110 >   *) INSTALL=`pwd`/ac-tools/"shtool install -c" ;
111 > esac
112 > MKINSTALLDIRS=`pwd`/ac-tools/"shtool mkdir -p -f -m 755"
113   AC_CHECK_PROG(AR, ar, ar, NONE)
114   if test "$AR" = "NONE"; then
126  AC_MSG_ERROR(--> Can't find \`ar'!)
115    AC_CACHE_SAVE
116    exit 1
117   fi
118 <
119 <
120 < AC_ARG_WITH(mpi,
121 <        [AC_HELP_STRING([--with-mpi=<prefix>],
122 <                [compile with MPI installed in <prefix> [default=no]])],
123 <        with_mpi=$withval,
124 <        with_mpi="no")
125 <
126 < case "x$with_mpi" in
127 <        xyes | "x")  USE_MPI=yes;;
128 <        xno) USE_MPI=no ;;
129 <        *) MPI="$with_mpi"; USE_MPI=yes ;;
130 < esac
131 < if test "$USE_MPI" = "yes" -a -z "$with_mpi"; then
132 <        MPI="/usr/local"
133 < fi
134 < if test "$USE_MPI" = "yes"; then
135 <        ACX_MPI
118 > AC_PATH_PROG(PS, ps)
119 > AC_CACHE_CHECK([for POSIX or BSD ps syntax], ac_cv_prog_ps_syntax, [
120 >        if $PS ax -o rss > /dev/null 2>&1; then
121 >                ac_cv_prog_ps_ax=yes
122 >        else
123 >                ac_cv_prog_ps_ax=no
124 >        fi
125 >        if $PS -ef -o rss > /dev/null 2>&1; then
126 >                ac_cv_prog_ps_ef=yes
127 >        else
128 >                ac_cv_prog_ps_ef=no
129 >        fi
130 >        if test "$ac_cv_prog_ps_ax" = yes; then
131 >                ac_cv_prog_ps_syntax=BSD
132 >        else
133 >                if test "$ac_cv_prog_ps_ef" = yes; then
134 >                        ac_cv_prog_ps_syntax=POSIX
135 >                else
136 >                        AC_MSG_ERROR(Could not determine ps syntax)
137 >                fi
138 >        fi
139 > ])
140 > AC_DEFINE_UNQUOTED(PSCOMMAND, $PS, [Path to ps program])
141 > if test "$ac_cv_prog_ps_syntax" = BSD; then
142 >  AC_DEFINE(PSTYPE_IS_BSD, 1, [ps uses BSD-style arguments])
143 > else
144 >   if test "$ac_cv_prog_ps_syntax" = POSIX; then
145 >       AC_DEFINE(PSTYPE_IS_POSIX, 1, [ps uses POSIX-style arguments])
146 >   else
147 >       AC_MSG_ERROR(Unknown ps syntax type!)
148 >   fi
149   fi
149 AC_SUBST(USE_MPI)
150  
151 < AC_ARG_WITH(sprng,
152 <        [AC_HELP_STRING([--with-sprng=<prefix>],
153 <                [compile with SPRNG installed in <prefix> [default=/usr/local]])],
154 <        with_sprng=$withval,
155 <        with_sprng="/usr/local")
156 <
157 < case "x$with_sprng" in
158 <        xyes | "x")  USE_SPRNG=yes;;
159 <        xno) USE_SPRNG=no ;;
160 <        *) SPRNG="$with_sprng"; USE_SPRNG=yes ;;
151 > AC_LANG_PUSH(Fortran)
152 > AC_FC_SRCEXT(F90)
153 > dnl Check the flag for Fortran90 preprocessing
154 > ACX_PROG_F90_PREPFLAG
155 > dnl Check to see if a flag is required for preprocessing defines
156 > ACX_PROG_F90_PREPDEFFLAG
157 > AC_FC_WRAPPERS
158 > AC_SUBST(FC_FUNC)
159 > AC_SUBST(FC_FUNC_)
160 > AC_FC_LIBRARY_LDFLAGS
161 > dnl Fortran 90 module suffix
162 > AC_CHECK_MODSUFFIX
163 > dnl Fortran 90 module path specifier
164 > AC_CHECK_MODDIRFLAG
165 > AC_F90_MODULE_NAMES
166 > pat=`echo $ac_cv_f90_module_names | sed 's/.*\(%.*%\).*/\1/'`
167 > F90_MODULE_NAMES=empty
168 > case $pat in
169 >       %MODULE%)
170 >          F90_MODULE_NAMES=UPPER ;;
171 >       %Module%)
172 >          F90_MODULE_NAMES=Mixed ;;
173 >       %module%)
174 >          F90_MODULE_NAMES=lower ;;
175 >       *)
176 >          F90_MODULE_NAMES=unknown ;;
177   esac
178 < if test "$USE_SPRNG" = "yes" -a -z "$with_sprng"; then
179 <        SPRNG="/usr/local"
164 < fi
165 < if test "$USE_SPRNG" = "yes"; then
166 <        ACX_SPRNG
167 < fi
168 < AC_SUBST(USE_SPRNG)
178 > AC_SUBST(F90_MODULE_NAMES)
179 > AC_LANG_POP
180  
181 + AC_LANG_C
182  
183 < CHECK_MKL
183 > dnl Checks for libraries.
184 > AC_CHECK_LIB(m, asin, , exit)
185 > ACX_CHECK_ZLIB
186 > ACX_CHECK_FFTW
187 > ACX_CHECK_QHULL
188 > ACX_CHECK_OPENBABEL
189  
190 + # Checks for header files.
191 + AC_HEADER_STDC
192 + AC_CHECK_HEADERS([libintl.h limits.h machine/hal_sysinfo.h stdlib.h string.h strings.h sys/param.h sys/pstat.h sys/sysctl.h sys/sysinfo.h sys/sysmp.h sys/systemcfg.h sys/table.h sys/time.h unistd.h])
193  
194 < AC_EXEEXT
195 < AC_OBJEXT
196 < OBJEXT=".$OBJEXT"
194 > # Checks for typedefs, structures, and compiler characteristics.
195 > AC_HEADER_STDBOOL
196 > AC_C_CONST
197 > AC_C_INLINE
198 > AC_TYPE_SIZE_T
199 > AC_HEADER_TIME
200  
201 < OOPSE=oopse
201 > # Checks for library functions.
202 > AC_FUNC_MALLOC
203 > AC_FUNC_REALLOC
204 > AC_FUNC_SELECT_ARGTYPES
205 > AC_FUNC_STRTOD
206 > AC_CHECK_FUNCS([floor getpagesize gettimeofday memset pow pstat_getdynamic pstat_getstatic select sqrt strcasecmp strchr strdup stricmp strncasecmp strnicmp strstr strtol sysmp getsysinfo sysctl table])
207  
208 < dnl **** define home dir of oopse
209 < if test "x${prefix}" = "xNONE"
210 < then
211 <  OOPSE_HOME=${ac_default_prefix}/oopse
212 < else
213 <  OOPSE_HOME=${prefix}/oopse
214 < fi
215 < AC_ARG_ENABLE(oopse-home,
216 < [  --enable-oopse-home=DIR      define oopse home dir [PREFIX/oopse]],
189 < [OOPSE_HOME="${enableval}"])
208 > # special check for _system_configuration because AIX <4.3.2 do not
209 > # contain the `physmem' member.
210 > AC_MSG_CHECKING([for external symbol _system_configuration])
211 > AC_TRY_COMPILE([#include <sys/systemcfg.h>],
212 >               [double x = _system_configuration.physmem;],
213 >  [AC_MSG_RESULT([yes])
214 >  AC_DEFINE(HAVE__SYSTEM_CONFIGURATION, 1,
215 >            [Define if you have the _system_configuration variable.])],
216 >  [AC_MSG_RESULT([no])])
217  
218 < case "x$INSTALL" in
192 <   x/*) ;;
193 <   *) INSTALL=`pwd`/ac-tools/"shtool install -c" ;
194 < esac
218 > dnl check for strong optimization options
219  
196 MKINSTALLDIRS=`pwd`/ac-tools/"shtool mkdir -p -f"
197
198 dnl **** Final list of subdirs
199 SUBDIRS="libBASS libmdtools src forceFields samples utils utils/sysbuilder third-party "
200
201 dnl **** Define CFLAGS etc empty to prevent configure from setting them
202 CFLAGS=${CFLAGS-""}
203 CXXFLAGS=${CXXFLAGS-""}
204 CPPFLAGS=${CPPFLAGS-""}
205 FFLAGS=${FFLAGS-""}
206 F90FLAGS=${F90FLAGS-""}
207 LDFLAGS=${LDFLAGS-""}
208 DEBUG=${DEBUG-"-g"}
209
220   case $debug in
221    1)
212     FFLAGS="$DEBUG $FFLAGS"
213     F90FLAGS="$DEBUG $F90FLAGS"
222       ;;
223    *)
224 +   ACX_PROG_FC_MAXOPT
225 +   ACX_PROG_CC_MAXOPT
226 +   ACX_PROG_CXX_MAXOPT
227       ;;
228   esac
229  
230 + BB_ENABLE_DOXYGEN
231  
232   AC_SUBST(EXEEXT)
233   AC_SUBST(OBJEXT)
234   AC_SUBST(BATEXT)
235   AC_SUBST(MKINSTALLDIRS)
236 < AC_SUBST(OOPSE)
237 < AC_SUBST(OOPSE_HOME)
236 > AC_SUBST(OPENMD)
237 > AC_SUBST(OPENMD_HOME)
238   AC_SUBST(SUBDIRS)
239   AC_SUBST(CFLAGS)
240   AC_SUBST(CXXFLAGS)
241   AC_SUBST(CPPFLAGS)
242 < AC_SUBST(FFLAGS)
231 < AC_SUBST(F90FLAGS)
242 > AC_SUBST(FCFLAGS)
243   AC_SUBST(LDFLAGS)
233 AC_SUBST(PREPFLAG)
244   AC_SUBST(PREPDEFFLAG)
245 < AC_CONFIG_HEADER([libBASS/config.h libmdtools/config.h])
246 < AC_CONFIG_FILES([Makefile
237 <        libBASS/Makefile libmdtools/Makefile src/Makefile utils/Makefile
238 <        utils/sysbuilder/Makefile  forceFields/Makefile samples/Makefile
239 <        third-party/Makefile
240 <        samples/alkane/Makefile samples/argon/Makefile
241 <        samples/lipid/Makefile samples/minimizer/Makefile
242 <        samples/metals/Makefile samples/water/Makefile
243 <        samples/water/dimer/Makefile samples/water/spce/Makefile
244 <        samples/water/ssd/Makefile samples/water/ssde/Makefile
245 <        samples/water/tip4p/Makefile samples/water/tip3p_ice/Makefile
246 <        samples/zcons/Makefile
247 < ])
245 > AC_SUBST(F90_MODULE_NAMES)
246 > AC_CONFIG_FILES([make/Makefile src/utils/Makefile src/math/Makefile src/integrators/Makefile src/applications/atom2md/Makefile scripts/filepp], [chmod 0755 scripts/*])
247  
248   AC_OUTPUT

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines