ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/OpenMD/trunk/ac-tools/configure.in
Revision: 1201
Committed: Fri Dec 7 00:48:28 2007 UTC (17 years, 5 months ago) by chuckv
File size: 7766 byte(s)
Log Message:
Define USE_QHULL.

File Contents

# User Rev Content
1 gezelter 2 dnl **** Process this file with autoconf to produce a configure script.
2 gezelter 847 AC_PREREQ(2.59)
3 chuckv 1191 AC_INIT(OOPSE, 4.0, gezelter@nd.edu, oopse)
4 gezelter 2 AC_CONFIG_AUX_DIR(ac-tools)
5 gezelter 847 AC_CONFIG_SRCDIR([src/applications/oopse/oopse.cpp])
6     AC_CONFIG_HEADER([src/config.h])
7 gezelter 2
8 gezelter 957 builtin(include, ac-tools/OOPSE.m4)
9 gezelter 811 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 chuckv 1191 builtin(include, ac-tools/CGAL.m4)
13 gezelter 2
14 gezelter 847 # who am i
15     AC_CANONICAL_HOST
16 gezelter 2
17     AC_PREFIX_DEFAULT("/usr/local")
18    
19     # set program name
20     PROGNAME="oopse"
21     AC_SUBST(PROGNAME)
22    
23 gezelter 847 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 gezelter 2 # 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])
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 gezelter 961 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 gezelter 962 USE_SINGLE_PRECISION=yes
56     AC_SUBST(USE_SINGLE_PRECISION)
57 gezelter 961 fi
58    
59 gezelter 847 # Checks for programs.
60 gezelter 1002 AC_PROG_CXX([mpicxx icpc pathCC pgCC c++ xlc++ xlC g++ CC])
61 gezelter 988 AC_PROG_CC([mpicc icc pathcc pgcc cc xlc gcc])
62     AC_PROG_FC([mpif90 ifort ifc pathf95 pgf95 xlf95 lf95 epcf90 pathf90 xlf90 f95 f90 gfortran g95 fort], 95)
63 gezelter 774 AC_PROG_CPP
64     AC_PROG_EGREP
65 gezelter 847 AC_PROG_LN_S
66     AC_PROG_MAKE_SET
67     AC_PROG_RANLIB
68     AX_SYS_PERLSHARPBANG
69     AC_PROG_INSTALL
70     case "x$INSTALL" in
71     x/*) ;;
72     *) INSTALL=`pwd`/ac-tools/"shtool install -c" ;
73     esac
74     MKINSTALLDIRS=`pwd`/ac-tools/"shtool mkdir -p -f"
75     AC_CHECK_PROG(AR, ar, ar, NONE)
76     if test "$AR" = "NONE"; then
77     AC_CACHE_SAVE
78     exit 1
79 gezelter 2 fi
80 gezelter 847 AC_PATH_PROG(PS, ps)
81     AC_CACHE_CHECK([for POSIX or BSD ps syntax], ac_cv_prog_ps_syntax, [
82     if $PS ax -o rss > /dev/null 2>&1; then
83     ac_cv_prog_ps_ax=yes
84     else
85     ac_cv_prog_ps_ax=no
86     fi
87     if $PS -ef -o rss > /dev/null 2>&1; then
88     ac_cv_prog_ps_ef=yes
89     else
90     ac_cv_prog_ps_ef=no
91     fi
92     if test "$ac_cv_prog_ps_ax" = yes; then
93     ac_cv_prog_ps_syntax=BSD
94     else
95     if test "$ac_cv_prog_ps_ef" = yes; then
96     ac_cv_prog_ps_syntax=POSIX
97     else
98     AC_MSG_ERROR(Could not determine ps syntax)
99     fi
100     fi
101     ])
102     AC_DEFINE_UNQUOTED(PSCOMMAND, $PS, [Path to ps program])
103     if test "$ac_cv_prog_ps_syntax" = BSD; then
104     AC_DEFINE(PSTYPE_IS_BSD, 1, [ps uses BSD-style arguments])
105     else
106     if test "$ac_cv_prog_ps_syntax" = POSIX; then
107     AC_DEFINE(PSTYPE_IS_POSIX, 1, [ps uses POSIX-style arguments])
108     else
109     AC_MSG_ERROR(Unknown ps syntax type!)
110     fi
111     fi
112 gezelter 2
113 gezelter 847 AC_LANG_PUSH(Fortran)
114     AC_FC_SRCEXT(F90)
115 gezelter 2 dnl Check the flag for Fortran90 preprocessing
116     ACX_PROG_F90_PREPFLAG
117     dnl Check to see if a flag is required for preprocessing defines
118     ACX_PROG_F90_PREPDEFFLAG
119 gezelter 847 AC_FC_WRAPPERS
120     AC_SUBST(FC_FUNC)
121     AC_SUBST(FC_FUNC_)
122     AC_FC_LIBRARY_LDFLAGS
123 gezelter 2 dnl Fortran 90 module suffix
124     AC_CHECK_MODSUFFIX
125     dnl Fortran 90 module path specifier
126     AC_CHECK_MODDIRFLAG
127 gezelter 44 AC_F90_MODULE_NAMES
128     pat=`echo $ac_cv_f90_module_names | sed 's/.*\(%.*%\).*/\1/'`
129     F90_MODULE_NAMES=empty
130     case $pat in
131     %MODULE%)
132     F90_MODULE_NAMES=UPPER ;;
133     %Module%)
134     F90_MODULE_NAMES=Mixed ;;
135     %module%)
136     F90_MODULE_NAMES=lower ;;
137     *)
138     F90_MODULE_NAMES=unknown ;;
139     esac
140     AC_SUBST(F90_MODULE_NAMES)
141 gezelter 2 AC_LANG_POP
142    
143 gezelter 847 AC_LANG_C
144 gezelter 811
145 gezelter 753 dnl Checks for libraries.
146     AC_CHECK_LIB(m, asin, , exit)
147 gezelter 847 ACX_CHECK_ZLIB
148 gezelter 957 ACX_CHECK_FFTW
149 chuckv 1200 ACX_CHECK_QHULL
150 gezelter 753
151 gezelter 847 # Checks for header files.
152     AC_HEADER_STDC
153 gezelter 859 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])
154 gezelter 847
155     # Checks for typedefs, structures, and compiler characteristics.
156     AC_HEADER_STDBOOL
157     AC_C_CONST
158     AC_C_INLINE
159     AC_C_RESTRICT
160     AC_TYPE_SIZE_T
161     AC_HEADER_TIME
162     AC_CHECK_TYPES(clock_t)
163     AC_C_CONST
164     AC_C_INLINE
165    
166     # Checks for library functions.
167     AC_FUNC_MALLOC
168     AC_FUNC_MEMCMP
169     AC_FUNC_REALLOC
170     AC_FUNC_SELECT_ARGTYPES
171     AC_FUNC_STRFTIME
172     AC_FUNC_STRTOD
173 gezelter 859 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])
174 gezelter 847
175 tim 313 # special check for _system_configuration because AIX <4.3.2 do not
176     # contain the `physmem' member.
177     AC_MSG_CHECKING([for external symbol _system_configuration])
178     AC_TRY_COMPILE([#include <sys/systemcfg.h>],
179     [double x = _system_configuration.physmem;],
180     [AC_MSG_RESULT([yes])
181     AC_DEFINE(HAVE__SYSTEM_CONFIGURATION, 1,
182     [Define if you have the _system_configuration variable.])],
183     [AC_MSG_RESULT([no])])
184    
185 gezelter 2 dnl check for system getopt
186     adl_FUNC_GETOPT_LONG
187    
188 tim 819 AC_LANG_CPLUSPLUS
189 gezelter 847 AC_CXX_NAMESPACES
190     AC_CXX_STD
191     AC_CHECK_HEADERS([ctype.h iostream fstream sstream strstream])
192 tim 819 # AC_CPP_FUNC
193     # ------------------ #
194     # Checks to see if ANSI C99 CPP variable __func__ works.
195     # If not, perhaps __FUNCTION__ works instead.
196     # If not, we'll just define __func__ to "".
197     AC_DEFUN([AC_CPP_FUNC],
198     [AC_REQUIRE([AC_PROG_CC_STDC])dnl
199     AC_CACHE_CHECK([for an ANSI C99-conforming __func__], ac_cv_cpp_func,
200     [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([],
201     [[const char *foo = __func__;]])],
202     [ac_cv_cpp_func=yes],
203     [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([],
204     [[const char *foo = __FUNCTION__;]])],
205     [ac_cv_cpp_func=__FUNCTION__],
206     [ac_cv_cpp_func=no])])])
207     if test $ac_cv_cpp_func = __FUNCTION__; then
208     AC_DEFINE(__func__,__FUNCTION__,
209     [Define to __FUNCTION__ or "" if `__func__' does not conform to
210     ANSI C.])
211     elif test $ac_cv_cpp_func = no; then
212     AC_DEFINE(__func__,"",
213     [Define to __FUNCTION__ or "" if `__func__' does not conform to
214     ANSI C.])
215     fi
216     ])# AC_CPP_FUNC
217    
218     AC_CPP_FUNC
219     AC_SUBST(__func__)
220    
221 gezelter 2
222 gezelter 847 dnl check for strong optimization options
223 gezelter 345
224 gezelter 847 case $debug in
225     1)
226     ;;
227     *)
228     ACX_PROG_FC_MAXOPT
229     ACX_PROG_CC_MAXOPT
230     ACX_PROG_CXX_MAXOPT
231     ;;
232     esac
233    
234     dnl OpenBabel needs this:
235 gezelter 753 AC_DEFINE([OBAPI], [], [Used to export symbols for DLL / shared library builds])
236 gezelter 2
237 gezelter 753
238 gezelter 2 AC_ARG_WITH(mpi,
239     [AC_HELP_STRING([--with-mpi=<prefix>],
240     [compile with MPI installed in <prefix> [default=no]])],
241     with_mpi=$withval,
242     with_mpi="no")
243    
244     case "x$with_mpi" in
245     xyes | "x") USE_MPI=yes;;
246     xno) USE_MPI=no ;;
247     *) MPI="$with_mpi"; USE_MPI=yes ;;
248     esac
249     if test "$USE_MPI" = "yes" -a -z "$with_mpi"; then
250     MPI="/usr/local"
251     fi
252     if test "$USE_MPI" = "yes"; then
253     ACX_MPI
254     fi
255     AC_SUBST(USE_MPI)
256    
257 chuckv 1191 dnl check for CGAL library
258     ACX_CGAL
259 chuckv 1201 USE_CGAL=no
260 chuckv 1191 if test "$acx_cgal_found" == yes; then
261 chuckv 1197 USE_CGAL=yes
262     AC_DEFINE(HAVE_CGAL, 1, [Is defined if the CGAL library is available.])
263     AC_SUBST(CGAL_CXXFLAGS)
264     AC_SUBST(CGAL_LDFLAGS)
265     AC_SUBST(CGAL_CPPFLAGS)
266     AC_SUBST(CGAL_LIBS)
267 chuckv 1191 fi
268 chuckv 1201 AC_SUBST(USE_CGAL)
269 chuckv 1191
270    
271 gezelter 49 BB_ENABLE_DOXYGEN
272 gezelter 2
273     AC_SUBST(EXEEXT)
274     AC_SUBST(OBJEXT)
275     AC_SUBST(BATEXT)
276     AC_SUBST(MKINSTALLDIRS)
277     AC_SUBST(OOPSE)
278     AC_SUBST(OOPSE_HOME)
279     AC_SUBST(SUBDIRS)
280     AC_SUBST(CFLAGS)
281     AC_SUBST(CXXFLAGS)
282     AC_SUBST(CPPFLAGS)
283 gezelter 847 AC_SUBST(FCFLAGS)
284 gezelter 2 AC_SUBST(LDFLAGS)
285     AC_SUBST(PREPDEFFLAG)
286 gezelter 44 AC_SUBST(F90_MODULE_NAMES)
287 chuckv 1200 AC_CONFIG_FILES([make/Makefile src/utils/Makefile src/math/Makefile scripts/filepp], [chmod 0755 scripts/*])
288 gezelter 2
289     AC_OUTPUT