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

Comparing trunk/ac-tools/configure.in (file contents):
Revision 262 by gezelter, Fri Jan 14 20:09:26 2005 UTC vs.
Revision 1379 by gezelter, Thu Oct 22 14:09:13 2009 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, 2.0, gezelter@nd.edu, oopse)
2 > AC_PREREQ(2.59)
3 > AC_INIT(OOPSE, 4.0, gezelter@nd.edu, oopse)
4   AC_CONFIG_AUX_DIR(ac-tools)
5 + AC_CONFIG_SRCDIR([src/applications/oopse/oopse.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/OOPSE.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/applications/oopse/oopse.cpp])
14 > # who am i
15 > AC_CANONICAL_HOST
16  
17   AC_PREFIX_DEFAULT("/usr/local")
18  
# Line 14 | Line 20 | AC_SUBST(PROGNAME)
20   PROGNAME="oopse"
21   AC_SUBST(PROGNAME)
22  
23 + AC_EXEEXT
24 + AC_OBJEXT
25 + OBJEXT=".$OBJEXT"
26 +
27 + OOPSE=oopse
28 +
29 + dnl **** define home dir of oopse
30 + if test "x${prefix}" = "xNONE"
31 + then
32 +  OOPSE_HOME=${ac_default_prefix}/oopse
33 + else
34 +  OOPSE_HOME=${prefix}/oopse
35 + fi
36 + AC_ARG_ENABLE(oopse-home,
37 + [  --enable-oopse-home=DIR      define oopse home dir [PREFIX/oopse]],
38 + [OOPSE_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  
# Line 25 | Line 48 | AC_SUBST(debug)
48   fi
49   AC_SUBST(debug)
50  
51 < # who am i
52 < AC_CANONICAL_HOST
51 > AC_ARG_ENABLE(single, [AC_HELP_STRING([--enable-single],[compile OOPSE 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
58  
59 + if test x"$CC" != x; then
60 +   AC_CHECK_PROGS(ac_cc_set,[$CC],[no])
61 +   AS_IF([test AS_VAR_GET([ac_cc_set]) != no],[
62 +     AC_PATH_PROG(ac_cc_path,[$ac_cc_set],[no])],[
63 +     AC_ERROR([Specified C compiler $CC doesn't seem to exist!])])
64  
65 +   AS_IF([test AS_VAR_GET([ac_cc_path]) != no],[
66 +     AC_MSG_NOTICE([Will attempt to use $CC as C compiler])
67 +     MPICC=$CC
68 +   ],[
69 +     AC_ERROR([Can't find path to user-specified C compiler $CC])])
70 + fi
71  
72 < dnl Checks for C compiler
73 < AC_PROG_CC([icc xlc gcc cc])
72 > if test x"$CXX" != x; then
73 >   AC_CHECK_PROGS(ac_cxx_set,[$CXX],[no])
74 >   AS_IF([test AS_VAR_GET([ac_cxx_set]) != no],[
75 >     AC_PATH_PROG(ac_cxx_path,[$ac_cxx_set],[no])],[
76 >     AC_ERROR([Specified C++ compiler $CXX doesn't seem to exist!])])
77  
78 < dnl Checks for C++ compiler
79 < AC_PROG_CXX([icpc icc xlc++ xlC CC g++ c++])
78 >   AS_IF([test AS_VAR_GET([ac_cxx_path]) != no],[
79 >     AC_MSG_NOTICE([Will attempt to use $CXX as C++ compiler])
80 >     MPICXX=$CXX
81 >    ],[
82 >     AC_ERROR([Can't find path to user-specified C++ compiler $CXX])])
83 > fi
84  
85 < dnl If we are not running g++ then we might need some other flags
86 < dnl to get the templates compiled correctly
87 < OOPSE_TEMPLATE_FLAGS=""
88 < if test $ac_cv_prog_gxx = no; then
89 <  AC_MSG_CHECKING([checking whether ${CXX} accepts -ptused -no_prelink])
44 <  echo 'void f(){}' > conftest.cc
45 <  if test -z "`${CXX} -ptused -no_prelink -c conftest.cc 2>&1`"; then
46 <    AC_MSG_RESULT(yes)
47 <    OOPSE_TEMPLATE_FLAGS="-ptused -no_prelink"
48 <  else
49 <    AC_MSG_RESULT(no)
50 <  fi
51 <  rm -f conftest*
52 <  AC_MSG_CHECKING([checking whether ${CXX} accepts -instances=static])
53 <  echo 'void f(){}' > conftest.cc
54 <  if test -z "`${CXX} -instances=static -c conftest.cc 2>&1`"; then
55 <    AC_MSG_RESULT(yes)
56 <    OOPSE_TEMPLATE_FLAGS="-instances=static"
57 <  else
58 <    AC_MSG_RESULT(no)
59 <  fi
60 <  rm -f conftest*
61 <  AC_MSG_CHECKING([checking whether ${CXX} accepts -pto])
62 <  echo 'void f(){}' > conftest.cc
63 <  if test -z "`${CXX} -pto -c conftest.cc 2>&1`"; then
64 <    AC_MSG_RESULT(yes)
65 <    OOPSE_TEMPLATE_FLAGS="-pto"
66 <  else
67 <    AC_MSG_RESULT(no)
68 <  fi
69 <  rm -f conftest*
70 <  AC_MSG_CHECKING([checking whether ${CXX} accepts -LANG:std])
71 <  echo 'void f(){}' > conftest.cc
72 <  if test -z "`${CXX} -LANG:std -c conftest.cc 2>&1`"; then
73 <    AC_MSG_RESULT(yes)
74 <    
85 > if test x"$FC" != x; then
86 >   AC_CHECK_PROGS(ac_fc_set,[$FC],[no])
87 >   AS_IF([test AS_VAR_GET([ac_fc_set]) != no],[
88 >     AC_PATH_PROG(ac_fc_path,[$ac_fc_set],[no])],[
89 >     AC_ERROR([Specified Fortran compiler $FC doesn't seem to exist!])])
90  
91 <    EXTRA_CC_FLAG=${EXTRA_CC_FLAG}" -LANG:std"
92 <  else
93 <    AC_MSG_RESULT(no)
94 <  fi
91 >   AS_IF([test AS_VAR_GET([ac_fc_path]) != no],[
92 >     AC_MSG_NOTICE([Will attempt to use $FC as Fortran compiler])
93 >     MPIFC=$FC
94 >   ],[
95 >     AC_ERROR([Can't find path to user-specified Fortran compiler $FC])])
96   fi
81 AC_SUBST(OOPSE_TEMPLATE_FLAGS)
82 AC_SUBST(EXTRA_CC_FLAG)
97  
84 dnl Fortran 90 compilation checks are next
98  
99 < AC_PROG_F90([ifort ifc f90 xlf90 pgf90 epcf90 f95 xlf95 lf95 fort g95])
99 > dnl do MPI checks
100 > AC_LANG([C++])
101 > AX_MPI([USE_MPI="yes"],
102 >       [USE_MPI="no"
103 >       AC_MSG_WARN([No suitable C++ MPI implementation found. oopse_MPI will not be built.])])
104 > AS_IF([test AS_VAR_GET([USE_MPI]) != no],[
105 > AC_LANG([C])
106 > AX_MPI([USE_MPI="yes"],
107 >       [USE_MPI="no"
108 >       AC_MSG_WARN([No suitable C MPI implementation found. oopse_MPI will not be built.])])
109 > ])
110 > AS_IF([test AS_VAR_GET([USE_MPI]) != no],[
111 > AC_LANG([Fortran])
112 > AX_MPI([USE_MPI="yes"],
113 >       [USE_MPI="no"
114 >       AC_MSG_WARN([No suitable Fortran MPI implementation found. oopse_MPI will not be built.])])
115 > ])
116 > AS_IF([test AS_VAR_GET([USE_MPI]) != no],[
117 >        CXX=$MPICXX
118 >        CC=$MPICC
119 >        FC=$MPIFC
120 > ])
121 > AC_SUBST(USE_MPI)
122 >
123 > # Checks for programs.
124 > AC_PROG_CXX([$CXX icpc pathCC pgCC c++ xlc++ xlC g++ CC])
125 > AC_PROG_CC([$CC icc pathcc pgcc cc xlc gcc])
126 > AC_PROG_FC([$FC ifort ifc pathf95 pgf95 xlf95 lf95 epcf90 pathf90 xlf90 f95 f90 gfortran g95 fort], 95)
127 > AC_PROG_CPP
128 > AC_PROG_EGREP
129 > AC_PROG_LN_S
130 > AC_PROG_MAKE_SET
131 > AC_PROG_RANLIB
132 > AX_SYS_PERLSHARPBANG
133 > AC_PROG_INSTALL
134 > case "x$INSTALL" in
135 >   x/*) ;;
136 >   *) INSTALL=`pwd`/ac-tools/"shtool install -c" ;
137 > esac
138 > MKINSTALLDIRS=`pwd`/ac-tools/"shtool mkdir -p -f"
139 > AC_CHECK_PROG(AR, ar, ar, NONE)
140 > if test "$AR" = "NONE"; then
141 >  AC_CACHE_SAVE
142 >  exit 1
143 > fi
144 > AC_PATH_PROG(PS, ps)
145 > AC_CACHE_CHECK([for POSIX or BSD ps syntax], ac_cv_prog_ps_syntax, [
146 >        if $PS ax -o rss > /dev/null 2>&1; then
147 >                ac_cv_prog_ps_ax=yes
148 >        else
149 >                ac_cv_prog_ps_ax=no
150 >        fi
151 >        if $PS -ef -o rss > /dev/null 2>&1; then
152 >                ac_cv_prog_ps_ef=yes
153 >        else
154 >                ac_cv_prog_ps_ef=no
155 >        fi
156 >        if test "$ac_cv_prog_ps_ax" = yes; then
157 >                ac_cv_prog_ps_syntax=BSD
158 >        else
159 >                if test "$ac_cv_prog_ps_ef" = yes; then
160 >                        ac_cv_prog_ps_syntax=POSIX
161 >                else
162 >                        AC_MSG_ERROR(Could not determine ps syntax)
163 >                fi
164 >        fi
165 > ])
166 > AC_DEFINE_UNQUOTED(PSCOMMAND, $PS, [Path to ps program])
167 > if test "$ac_cv_prog_ps_syntax" = BSD; then
168 >  AC_DEFINE(PSTYPE_IS_BSD, 1, [ps uses BSD-style arguments])
169 > else
170 >   if test "$ac_cv_prog_ps_syntax" = POSIX; then
171 >       AC_DEFINE(PSTYPE_IS_POSIX, 1, [ps uses POSIX-style arguments])
172 >   else
173 >       AC_MSG_ERROR(Unknown ps syntax type!)
174 >   fi
175 > fi
176 >
177 > AC_LANG_PUSH(Fortran)
178 > AC_FC_SRCEXT(F90)
179   dnl Check the flag for Fortran90 preprocessing
180   ACX_PROG_F90_PREPFLAG
181   dnl Check to see if a flag is required for preprocessing defines
182   ACX_PROG_F90_PREPDEFFLAG
183 < AC_LANG_PUSH(Fortran 90)
184 < AC_LANG_PREPROC(Fortran 90)
185 < AC_F90_LIBRARY_LDFLAGS
186 < dnl How does Fortran mangle function names
95 < AC_F90_WRAPPERS
96 < AC_SUBST(F90_FUNC)
97 < AC_SUBST(F90_FUNC_)
183 > AC_FC_WRAPPERS
184 > AC_SUBST(FC_FUNC)
185 > AC_SUBST(FC_FUNC_)
186 > AC_FC_LIBRARY_LDFLAGS
187   dnl Fortran 90 module suffix
188   AC_CHECK_MODSUFFIX
189   dnl Fortran 90 module path specifier
# Line 115 | Line 204 | AC_LANG_POP
204   AC_SUBST(F90_MODULE_NAMES)
205   AC_LANG_POP
206  
207 < dnl check for system getopt
119 < AC_LANG_PUSH(C)
120 < adl_FUNC_GETOPT_LONG
207 > AC_LANG_C
208  
209 < dnl check for strong optimization options
209 > dnl Checks for libraries.
210 > AC_CHECK_LIB(m, asin, , exit)
211 > ACX_CHECK_ZLIB
212 > ACX_CHECK_FFTW
213 > ACX_CHECK_QHULL
214 > ACX_CHECK_OPENBABEL
215  
216 < case $debug in
217 <  1)
218 <     ;;
127 <  *)
128 <   ACX_PROG_CC_MAXOPT
129 <   ACX_PROG_CXX_MAXOPT
130 <   ACX_PROG_F90_MAXOPT
131 <     ;;
132 < esac
216 > # Checks for header files.
217 > AC_HEADER_STDC
218 > 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])
219  
220 < AC_PROG_INSTALL
221 < AC_PROG_LN_S
222 < AC_PROG_MAKE_SET
223 < AC_PROG_RANLIB
224 < AC_PROG_YACC
225 < AC_PROG_LEX
140 < AC_CHECK_PROG(AR, ar, ar, NONE)
141 < if test "$AR" = "NONE"; then
142 <  AC_MSG_ERROR(--> Can't find \`ar'!)
143 <  AC_CACHE_SAVE
144 <  exit 1
145 < fi
220 > # Checks for typedefs, structures, and compiler characteristics.
221 > AC_HEADER_STDBOOL
222 > AC_C_CONST
223 > AC_C_INLINE
224 > AC_TYPE_SIZE_T
225 > AC_HEADER_TIME
226  
227 + # Checks for library functions.
228 + AC_FUNC_MALLOC
229 + AC_FUNC_REALLOC
230 + AC_FUNC_SELECT_ARGTYPES
231 + AC_FUNC_STRTOD
232 + 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])
233  
234 < AC_ARG_WITH(mpi,
235 <        [AC_HELP_STRING([--with-mpi=<prefix>],
236 <                [compile with MPI installed in <prefix> [default=no]])],
237 <        with_mpi=$withval,
238 <        with_mpi="no")
234 > # special check for _system_configuration because AIX <4.3.2 do not
235 > # contain the `physmem' member.
236 > AC_MSG_CHECKING([for external symbol _system_configuration])
237 > AC_TRY_COMPILE([#include <sys/systemcfg.h>],
238 >               [double x = _system_configuration.physmem;],
239 >  [AC_MSG_RESULT([yes])
240 >  AC_DEFINE(HAVE__SYSTEM_CONFIGURATION, 1,
241 >            [Define if you have the _system_configuration variable.])],
242 >  [AC_MSG_RESULT([no])])
243  
244 < case "x$with_mpi" in
155 <        xyes | "x")  USE_MPI=yes;;
156 <        xno) USE_MPI=no ;;
157 <        *) MPI="$with_mpi"; USE_MPI=yes ;;
158 < esac
159 < if test "$USE_MPI" = "yes" -a -z "$with_mpi"; then
160 <        MPI="/usr/local"
161 < fi
162 < if test "$USE_MPI" = "yes"; then
163 <        ACX_MPI
164 < fi
165 < AC_SUBST(USE_MPI)
244 > dnl check for strong optimization options
245  
167 AC_ARG_WITH(sprng,
168        [AC_HELP_STRING([--with-sprng=<prefix>],
169                [compile with SPRNG installed in <prefix> [default=/usr/local]])],
170        with_sprng=$withval,
171        with_sprng="/usr/local")
172
173 case "x$with_sprng" in
174        xyes | "x")  USE_SPRNG=yes;;
175        xno) USE_SPRNG=no ;;
176        *) SPRNG="$with_sprng"; USE_SPRNG=yes ;;
177 esac
178 if test "$USE_SPRNG" = "yes" -a -z "$with_sprng"; then
179        SPRNG="/usr/local"
180 fi
181 if test "$USE_SPRNG" = "yes"; then
182        ACX_SPRNG
183 fi
184 AC_SUBST(USE_SPRNG)
185
186
187 CHECK_MKL
188
189 BB_ENABLE_DOXYGEN
190
191 AC_EXEEXT
192 AC_OBJEXT
193 OBJEXT=".$OBJEXT"
194
195 OOPSE=oopse
196
197 dnl **** define home dir of oopse
198 if test "x${prefix}" = "xNONE"
199 then
200  OOPSE_HOME=${ac_default_prefix}/oopse
201 else
202  OOPSE_HOME=${prefix}/oopse
203 fi
204 AC_ARG_ENABLE(oopse-home,
205 [  --enable-oopse-home=DIR      define oopse home dir [PREFIX/oopse]],
206 [OOPSE_HOME="${enableval}"])
207
208 case "x$INSTALL" in
209   x/*) ;;
210   *) INSTALL=`pwd`/ac-tools/"shtool install -c" ;
211 esac
212
213 MKINSTALLDIRS=`pwd`/ac-tools/"shtool mkdir -p -f"
214
215 dnl **** Define CFLAGS etc empty to prevent configure from setting them
216 CFLAGS=${CFLAGS-""}
217 CXXFLAGS=${CXXFLAGS-""}
218 CPPFLAGS=${CPPFLAGS-""}
219 FFLAGS=${FFLAGS-""}
220 F90FLAGS=${F90FLAGS-""}
221 LDFLAGS=${LDFLAGS-""}
222 DEBUG=${DEBUG-"-g"}
223
246   case $debug in
247    1)
226     FFLAGS="$DEBUG $FFLAGS"
227     F90FLAGS="$DEBUG $F90FLAGS"
248       ;;
249    *)
250 +   ACX_PROG_FC_MAXOPT
251 +   ACX_PROG_CC_MAXOPT
252 +   ACX_PROG_CXX_MAXOPT
253       ;;
254   esac
255  
256 + BB_ENABLE_DOXYGEN
257  
258   AC_SUBST(EXEEXT)
259   AC_SUBST(OBJEXT)
# Line 241 | Line 265 | AC_SUBST(CPPFLAGS)
265   AC_SUBST(CFLAGS)
266   AC_SUBST(CXXFLAGS)
267   AC_SUBST(CPPFLAGS)
268 < AC_SUBST(FFLAGS)
245 < AC_SUBST(F90FLAGS)
268 > AC_SUBST(FCFLAGS)
269   AC_SUBST(LDFLAGS)
247 AC_SUBST(PREPFLAG)
270   AC_SUBST(PREPDEFFLAG)
271   AC_SUBST(F90_MODULE_NAMES)
272 < AC_CONFIG_HEADER([src/config.h])
251 < AC_CONFIG_FILES([make/Makefile src/utils/Makefile])
272 > AC_CONFIG_FILES([make/Makefile src/utils/Makefile src/math/Makefile src/integrators/Makefile src/applications/atom2md/Makefile scripts/filepp], [chmod 0755 scripts/*])
273  
274   AC_OUTPUT

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines