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 342 by gezelter, Tue Feb 15 05:59:14 2005 UTC vs.
Revision 1225 by gezelter, Fri Feb 8 21:33:46 2008 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/ACX_MPI.m4)
13 > builtin(include, ac-tools/CGAL.m4)
14  
15 < AC_CONFIG_SRCDIR([src/applications/oopse/oopse.cpp])
15 > # who am i
16 > AC_CANONICAL_HOST
17  
18   AC_PREFIX_DEFAULT("/usr/local")
19  
# Line 14 | Line 21 | AC_SUBST(PROGNAME)
21   PROGNAME="oopse"
22   AC_SUBST(PROGNAME)
23  
24 + AC_EXEEXT
25 + AC_OBJEXT
26 + OBJEXT=".$OBJEXT"
27 +
28 + OOPSE=oopse
29 +
30 + dnl **** define home dir of oopse
31 + if test "x${prefix}" = "xNONE"
32 + then
33 +  OOPSE_HOME=${ac_default_prefix}/oopse
34 + else
35 +  OOPSE_HOME=${prefix}/oopse
36 + fi
37 + AC_ARG_ENABLE(oopse-home,
38 + [  --enable-oopse-home=DIR      define oopse home dir [PREFIX/oopse]],
39 + [OOPSE_HOME="${enableval}"])
40 +
41   # there are two ways to do debugging.  One with the --enable-debug flag
42   # and one using the DEBUG environment variable
43  
# Line 25 | Line 49 | AC_SUBST(debug)
49   fi
50   AC_SUBST(debug)
51  
52 < # who am i
53 < AC_CANONICAL_HOST
52 > AC_ARG_ENABLE(single, [AC_HELP_STRING([--enable-single],[compile OOPSE in single precision])], ok=$enableval, ok=no)
53 > AC_ARG_ENABLE(float, [AC_HELP_STRING([--enable-float],[synonym for --enable-single])], ok=$enableval)
54 > if test "$ok" = "yes"; then
55 >        AC_DEFINE(SINGLE_PRECISION,1,[Define to compile in single precision.])
56 >        USE_SINGLE_PRECISION=yes
57 >        AC_SUBST(USE_SINGLE_PRECISION)
58 > fi
59  
60 + if test x"$CC" != x; then
61 +   AC_CHECK_PROGS(ac_cc_set,[$CC],[no])
62 +   AS_IF([test AS_VAR_GET([ac_cc_set]) != no],[
63 +     AC_PATH_PROG(ac_cc_path,[$ac_cc_set],[no])],[
64 +     AC_ERROR([Specified C compiler $CC doesn't seem to exist!])])
65  
66 +   AS_IF([test AS_VAR_GET([ac_cc_path]) != no],[
67 +     AC_MSG_NOTICE([Will attempt to use $CC as C compiler])],[
68 +     AC_ERROR([Can't find path to user-specified C compiler $CC])])
69 + fi
70  
71 < dnl Checks for C compiler
72 < AC_PROG_CC([icc xlc gcc cc])
71 > if test x"$CXX" != x; then
72 >   AC_CHECK_PROGS(ac_cxx_set,[$CXX],[no])
73 >   AS_IF([test AS_VAR_GET([ac_cxx_set]) != no],[
74 >     AC_PATH_PROG(ac_cxx_path,[$ac_cxx_set],[no])],[
75 >     AC_ERROR([Specified C++ compiler $CXX doesn't seem to exist!])])
76  
77 < dnl Checks for C++ compiler
78 < AC_PROG_CXX([icpc icc xlc++ xlC CC g++ c++])
77 >   AS_IF([test AS_VAR_GET([ac_cxx_path]) != no],[
78 >     AC_MSG_NOTICE([Will attempt to use $CXX as C++ compiler])],[
79 >     AC_ERROR([Can't find path to user-specified C++ compiler $CXX])])
80 > fi
81  
82 < dnl If we are not running g++ then we might need some other flags
83 < dnl to get the templates compiled correctly
84 < OOPSE_TEMPLATE_FLAGS=""
85 < if test $ac_cv_prog_gxx = no; then
86 <  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 <    
82 > if test x"$FC" != x; then
83 >   AC_CHECK_PROGS(ac_fc_set,[$FC],[no])
84 >   AS_IF([test AS_VAR_GET([ac_fc_set]) != no],[
85 >     AC_PATH_PROG(ac_fc_path,[$ac_fc_set],[no])],[
86 >     AC_ERROR([Specified Fortran compiler $FC doesn't seem to exist!])])
87  
88 <    EXTRA_CC_FLAG=${EXTRA_CC_FLAG}" -LANG:std"
89 <  else
90 <    AC_MSG_RESULT(no)
79 <  fi
88 >   AS_IF([test AS_VAR_GET([ac_fc_path]) != no],[
89 >     AC_MSG_NOTICE([Will attempt to use $FC as Fortran compiler])],[
90 >     AC_ERROR([Can't find path to user-specified Fortran compiler $FC])])
91   fi
81 AC_SUBST(OOPSE_TEMPLATE_FLAGS)
82 AC_SUBST(EXTRA_CC_FLAG)
92  
84 dnl Fortran 90 compilation checks are next
93  
94 < AC_PROG_F90([ifort ifc f90 xlf90 pgf90 epcf90 f95 xlf95 lf95 fort g95])
94 > dnl do MPI checks
95 > ACX_MPI([USE_MPI="yes"],
96 >        [USE_MPI="no"
97 >        AC_MSG_WARN([No suitable MPI implementation found. oopse_MPI will not be build.])])
98 > AC_SUBST(USE_MPI)
99 >
100 > # Checks for programs.
101 > AC_PROG_CXX([$CXX $ac_cv_prog_acx_mpi_mpicxx icpc pathCC pgCC c++ xlc++ xlC g++ CC])
102 > AC_PROG_CC([$CC $ac_cv_prog_acx_mpi_mpicc icc pathcc pgcc cc xlc gcc])
103 > AC_PROG_FC([$FC $ac_cv_prog_acx_mpi_mpif90 ifort ifc pathf95 pgf95 xlf95 lf95 epcf90 pathf90 xlf90 f95 f90 gfortran g95 fort], 95)
104 > AC_PROG_CPP
105 > AC_PROG_EGREP
106 > AC_PROG_LN_S
107 > AC_PROG_MAKE_SET
108 > AC_PROG_RANLIB
109 > AC_PROG_YACC
110 > AC_PROG_LEX
111 > AX_SYS_PERLSHARPBANG
112 > AC_PROG_INSTALL
113 > case "x$INSTALL" in
114 >   x/*) ;;
115 >   *) INSTALL=`pwd`/ac-tools/"shtool install -c" ;
116 > esac
117 > MKINSTALLDIRS=`pwd`/ac-tools/"shtool mkdir -p -f"
118 > AC_CHECK_PROG(AR, ar, ar, NONE)
119 > if test "$AR" = "NONE"; then
120 >  AC_CACHE_SAVE
121 >  exit 1
122 > fi
123 > AC_PATH_PROG(PS, ps)
124 > AC_CACHE_CHECK([for POSIX or BSD ps syntax], ac_cv_prog_ps_syntax, [
125 >        if $PS ax -o rss > /dev/null 2>&1; then
126 >                ac_cv_prog_ps_ax=yes
127 >        else
128 >                ac_cv_prog_ps_ax=no
129 >        fi
130 >        if $PS -ef -o rss > /dev/null 2>&1; then
131 >                ac_cv_prog_ps_ef=yes
132 >        else
133 >                ac_cv_prog_ps_ef=no
134 >        fi
135 >        if test "$ac_cv_prog_ps_ax" = yes; then
136 >                ac_cv_prog_ps_syntax=BSD
137 >        else
138 >                if test "$ac_cv_prog_ps_ef" = yes; then
139 >                        ac_cv_prog_ps_syntax=POSIX
140 >                else
141 >                        AC_MSG_ERROR(Could not determine ps syntax)
142 >                fi
143 >        fi
144 > ])
145 > AC_DEFINE_UNQUOTED(PSCOMMAND, $PS, [Path to ps program])
146 > if test "$ac_cv_prog_ps_syntax" = BSD; then
147 >  AC_DEFINE(PSTYPE_IS_BSD, 1, [ps uses BSD-style arguments])
148 > else
149 >   if test "$ac_cv_prog_ps_syntax" = POSIX; then
150 >       AC_DEFINE(PSTYPE_IS_POSIX, 1, [ps uses POSIX-style arguments])
151 >   else
152 >       AC_MSG_ERROR(Unknown ps syntax type!)
153 >   fi
154 > fi
155 >
156 > AC_LANG_PUSH(Fortran)
157 > AC_FC_SRCEXT(F90)
158   dnl Check the flag for Fortran90 preprocessing
159   ACX_PROG_F90_PREPFLAG
160   dnl Check to see if a flag is required for preprocessing defines
161   ACX_PROG_F90_PREPDEFFLAG
162 < AC_LANG_PUSH(Fortran 90)
163 < AC_LANG_PREPROC(Fortran 90)
164 < AC_F90_LIBRARY_LDFLAGS
165 < dnl How does Fortran mangle function names
95 < AC_F90_WRAPPERS
96 < AC_SUBST(F90_FUNC)
97 < AC_SUBST(F90_FUNC_)
162 > AC_FC_WRAPPERS
163 > AC_SUBST(FC_FUNC)
164 > AC_SUBST(FC_FUNC_)
165 > AC_FC_LIBRARY_LDFLAGS
166   dnl Fortran 90 module suffix
167   AC_CHECK_MODSUFFIX
168   dnl Fortran 90 module path specifier
# Line 115 | Line 183 | AC_LANG_POP
183   AC_SUBST(F90_MODULE_NAMES)
184   AC_LANG_POP
185  
186 < AC_LANG_PUSH(C)
187 < AC_CHECK_HEADERS(unistd.h sys/pstat.h sys/sysmp.h sys/sysinfo.h sys/table.h sys/param.h sys/sysctl.h sys/sytemcfg.h machine/hal_sysinfo.h)
188 < AC_CHECK_FUNCS(pstat_getstatic sysmp getsysinfo sysctl table)
186 > AC_LANG_C
187 >
188 > dnl Checks for libraries.
189 > AC_CHECK_LIB(m, asin, , exit)
190 > ACX_CHECK_ZLIB
191 > ACX_CHECK_FFTW
192 > ACX_CHECK_QHULL
193 > ACX_CHECK_OPENBABEL
194 >
195 > # Checks for header files.
196 > AC_HEADER_STDC
197 > AC_CHECK_HEADERS([conio.h dlfcn.h fstream.h iostream.h libintl.h limits.h machine/hal_sysinfo.h math.h stddef.h stdio.h stdlib.h string.h strings.h strstream.h sys/param.h sys/pstat.h sys/sysmp.h sys/sysctl.h sys/sysinfo.h sys/systemcfg.h sys/table.h sys/time.h time.h unistd.h zlib.h])
198 >
199 > # Checks for typedefs, structures, and compiler characteristics.
200 > AC_HEADER_STDBOOL
201 > AC_C_CONST
202 > AC_C_INLINE
203 > AC_C_RESTRICT
204 > AC_TYPE_SIZE_T
205 > AC_HEADER_TIME
206 > AC_CHECK_TYPES(clock_t)
207 > AC_C_CONST
208 > AC_C_INLINE
209 >
210 > # Checks for library functions.
211 > AC_FUNC_MALLOC
212 > AC_FUNC_MEMCMP
213 > AC_FUNC_REALLOC
214 > AC_FUNC_SELECT_ARGTYPES
215 > AC_FUNC_STRFTIME
216 > AC_FUNC_STRTOD
217 > AC_CHECK_FUNCS([floor getpagesize gettimeofday memchr memmove memset pow pstat_getdynamic pstat_getstatic rint select snprintf sranddev sqrt strcasecmp strchr strdup stricmp strncasecmp strnicmp strrchr strstr strtol sysmp getsysinfo sysctl table])
218 >
219   # special check for _system_configuration because AIX <4.3.2 do not
220   # contain the `physmem' member.
221   AC_MSG_CHECKING([for external symbol _system_configuration])
# Line 131 | Line 229 | adl_FUNC_GETOPT_LONG
229   dnl check for system getopt
230   adl_FUNC_GETOPT_LONG
231  
232 + AC_LANG_CPLUSPLUS
233 + AC_CXX_NAMESPACES
234 + AC_CXX_STD
235 + AC_CHECK_HEADERS([ctype.h iostream fstream sstream strstream])
236 + # AC_CPP_FUNC
237 + # ------------------ #
238 + # Checks to see if ANSI C99 CPP variable __func__ works.
239 + # If not, perhaps __FUNCTION__ works instead.
240 + # If not, we'll just define __func__ to "".
241 + AC_DEFUN([AC_CPP_FUNC],
242 + [AC_REQUIRE([AC_PROG_CC_STDC])dnl
243 + AC_CACHE_CHECK([for an ANSI C99-conforming __func__], ac_cv_cpp_func,
244 + [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([],
245 + [[const char *foo = __func__;]])],
246 +  [ac_cv_cpp_func=yes],
247 +  [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([],
248 + [[const char *foo = __FUNCTION__;]])],
249 +  [ac_cv_cpp_func=__FUNCTION__],
250 +  [ac_cv_cpp_func=no])])])
251 + if test $ac_cv_cpp_func = __FUNCTION__; then
252 +  AC_DEFINE(__func__,__FUNCTION__,
253 +            [Define to __FUNCTION__ or "" if `__func__' does not conform to
254 + ANSI C.])
255 + elif test $ac_cv_cpp_func = no; then
256 +  AC_DEFINE(__func__,"",
257 +            [Define to __FUNCTION__ or "" if `__func__' does not conform to
258 + ANSI C.])
259 + fi
260 + ])# AC_CPP_FUNC
261 +
262 + AC_CPP_FUNC
263 + AC_SUBST(__func__)
264 +
265 +
266   dnl check for strong optimization options
267  
268   case $debug in
269    1)
270       ;;
271    *)
272 +   ACX_PROG_FC_MAXOPT
273     ACX_PROG_CC_MAXOPT
274     ACX_PROG_CXX_MAXOPT
142   ACX_PROG_F90_MAXOPT
275       ;;
276   esac
277  
278 < AC_PROG_INSTALL
279 < AC_PROG_LN_S
148 < AC_PROG_MAKE_SET
149 < AC_PROG_RANLIB
150 < AC_PROG_YACC
151 < AC_PROG_LEX
152 < AC_CHECK_PROG(AR, ar, ar, NONE)
153 < if test "$AR" = "NONE"; then
154 <  AC_MSG_ERROR(--> Can't find \`ar'!)
155 <  AC_CACHE_SAVE
156 <  exit 1
157 < fi
278 > dnl OpenBabel needs this:
279 > AC_DEFINE([OBAPI], [], [Used to export symbols for DLL / shared library builds])
280  
281 < AC_PATH_PROG(PS, ps)
282 < AC_CACHE_CHECK([for POSIX or BSD ps syntax], ac_cv_prog_ps_syntax, [
283 <        if $PS ax -o rss > /dev/null 2>&1; then
284 <                ac_cv_prog_ps_ax=yes
285 <        else
286 <                ac_cv_prog_ps_ax=no
287 <        fi
288 <        if $PS -ef -o rss > /dev/null 2>&1; then
289 <                ac_cv_prog_ps_ef=yes
290 <        else
169 <                ac_cv_prog_ps_ef=no
170 <        fi
171 <        if test "$ac_cv_prog_ps_ax" = yes; then
172 <                ac_cv_prog_ps_syntax=BSD
173 <        else
174 <                if test "$ac_cv_prog_ps_es" = yes; then
175 <                        ac_cv_prog_ps_syntax=POSIX
176 <                else
177 <                        AC_MSG_ERROR(Could not determine ps syntax)
178 <                fi
179 <        fi
180 < ])
181 < AC_DEFINE_UNQUOTED(PSCOMMAND, "$PS", [Path to ps program])
182 < AC_DEFINE_UNQUOTED(PSTYPE, $ac_cv_prog_ps_syntax, [ps syntax type])
183 <
184 <
185 < AC_ARG_WITH(mpi,
186 <        [AC_HELP_STRING([--with-mpi=<prefix>],
187 <                [compile with MPI installed in <prefix> [default=no]])],
188 <        with_mpi=$withval,
189 <        with_mpi="no")
190 <
191 < case "x$with_mpi" in
192 <        xyes | "x")  USE_MPI=yes;;
193 <        xno) USE_MPI=no ;;
194 <        *) MPI="$with_mpi"; USE_MPI=yes ;;
195 < esac
196 < if test "$USE_MPI" = "yes" -a -z "$with_mpi"; then
197 <        MPI="/usr/local"
198 < fi
199 < if test "$USE_MPI" = "yes"; then
200 <        ACX_MPI
281 > dnl check for CGAL library
282 > ACX_CGAL
283 > USE_CGAL=no
284 > if test "$acx_cgal_found" == yes; then
285 >        USE_CGAL=yes
286 >        AC_DEFINE(HAVE_CGAL, 1, [Is defined if the CGAL library is available.])
287 >        AC_SUBST(CGAL_CXXFLAGS)
288 >        AC_SUBST(CGAL_LDFLAGS)
289 >        AC_SUBST(CGAL_CPPFLAGS)
290 >        AC_SUBST(CGAL_LIBS)
291   fi
292 < AC_SUBST(USE_MPI)
292 > AC_SUBST(USE_CGAL)
293  
204 AC_ARG_WITH(sprng,
205        [AC_HELP_STRING([--with-sprng=<prefix>],
206                [compile with SPRNG installed in <prefix> [default=/usr/local]])],
207        with_sprng=$withval,
208        with_sprng="/usr/local")
294  
210 case "x$with_sprng" in
211        xyes | "x")  USE_SPRNG=yes;;
212        xno) USE_SPRNG=no ;;
213        *) SPRNG="$with_sprng"; USE_SPRNG=yes ;;
214 esac
215 if test "$USE_SPRNG" = "yes" -a -z "$with_sprng"; then
216        SPRNG="/usr/local"
217 fi
218 if test "$USE_SPRNG" = "yes"; then
219        ACX_SPRNG
220 fi
221 AC_SUBST(USE_SPRNG)
222
223
224 CHECK_MKL
225
295   BB_ENABLE_DOXYGEN
296  
228 AC_EXEEXT
229 AC_OBJEXT
230 OBJEXT=".$OBJEXT"
231
232 OOPSE=oopse
233
234 dnl **** define home dir of oopse
235 if test "x${prefix}" = "xNONE"
236 then
237  OOPSE_HOME=${ac_default_prefix}/oopse
238 else
239  OOPSE_HOME=${prefix}/oopse
240 fi
241 AC_ARG_ENABLE(oopse-home,
242 [  --enable-oopse-home=DIR      define oopse home dir [PREFIX/oopse]],
243 [OOPSE_HOME="${enableval}"])
244
245 case "x$INSTALL" in
246   x/*) ;;
247   *) INSTALL=`pwd`/ac-tools/"shtool install -c" ;
248 esac
249
250 MKINSTALLDIRS=`pwd`/ac-tools/"shtool mkdir -p -f"
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 F90FLAGS=${F90FLAGS-""}
258 LDFLAGS=${LDFLAGS-""}
259 DEBUG=${DEBUG-"-g"}
260
261 case $debug in
262  1)
263     FFLAGS="$DEBUG $FFLAGS"
264     F90FLAGS="$DEBUG $F90FLAGS"
265     ;;
266  *)
267     ;;
268 esac
269
270
297   AC_SUBST(EXEEXT)
298   AC_SUBST(OBJEXT)
299   AC_SUBST(BATEXT)
# Line 278 | Line 304 | AC_SUBST(CPPFLAGS)
304   AC_SUBST(CFLAGS)
305   AC_SUBST(CXXFLAGS)
306   AC_SUBST(CPPFLAGS)
307 < AC_SUBST(FFLAGS)
282 < AC_SUBST(F90FLAGS)
307 > AC_SUBST(FCFLAGS)
308   AC_SUBST(LDFLAGS)
284 AC_SUBST(PREPFLAG)
309   AC_SUBST(PREPDEFFLAG)
310   AC_SUBST(F90_MODULE_NAMES)
311 < AC_CONFIG_HEADER([src/config.h])
288 < AC_CONFIG_FILES([make/Makefile src/utils/Makefile])
311 > AC_CONFIG_FILES([make/Makefile src/utils/Makefile src/math/Makefile src/applications/atom2md/Makefile scripts/filepp], [chmod 0755 scripts/*])
312  
313   AC_OUTPUT

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines