ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/OpenMD/branches/development/ac-tools/configure.in
Revision: 1603
Committed: Thu Aug 4 21:02:06 2011 UTC (13 years, 11 months ago) by gezelter
File size: 5473 byte(s)
Log Message:
good bye fortran!

File Contents

# Content
1 dnl **** Process this file with autoconf to produce a configure script.
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/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 # who am i
15 AC_CANONICAL_HOST
16
17 AC_PREFIX_DEFAULT("/usr/local")
18
19 # set program name
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 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 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
58
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
62 save_CXX=$CXX
63 save_CC=$CC
64 save_LIBS=$LIBS
65
66 AC_LANG([C++])
67 AC_CHECK_LIB(c, dlopen, LIBDL="", [AC_CHECK_LIB(dl, dlopen, LIBDL="-ldl")])
68 AC_SUBST(LIBDL)
69 AX_MPI([USE_MPI="yes"],
70 [USE_MPI="no"
71 AC_MSG_WARN([No suitable C++ MPI implementation found. openmd_MPI will not be built.])])
72 AS_IF([test AS_VAR_GET([USE_MPI]) != no],[
73 AC_LANG([C])
74 AX_MPI([USE_MPI="yes"],
75 [USE_MPI="no"
76 AC_MSG_WARN([No suitable C MPI implementation found. openmd_MPI will not be built.])])
77 ])
78 AS_IF([test AS_VAR_GET([USE_MPI]) != no],[
79 CXX=$MPICXX
80 CC=$MPICC
81 LIBS="$MPILIBS $LIBS"
82 ],[
83 CXX=$save_CXX
84 CC=$save_CC
85 LIBS=$save_LIBS
86 ]
87 )
88 AC_SUBST(USE_MPI)
89
90 # Checks for programs.
91 AC_PROG_CPP
92 AC_PROG_EGREP
93 AC_PROG_LN_S
94 AC_PROG_MAKE_SET
95 AC_PROG_RANLIB
96 AX_SYS_PERLSHARPBANG
97 AC_PROG_INSTALL
98 case "x$INSTALL" in
99 x/*) ;;
100 *) INSTALL=`pwd`/ac-tools/"shtool install -c" ;
101 esac
102 MKINSTALLDIRS=`pwd`/ac-tools/"shtool mkdir -p -f -m 755"
103 AC_CHECK_PROG(AR, ar, ar, NONE)
104 if test "$AR" = "NONE"; then
105 AC_CACHE_SAVE
106 exit 1
107 fi
108 AC_PATH_PROG(PS, ps)
109 AC_CACHE_CHECK([for POSIX or BSD ps syntax], ac_cv_prog_ps_syntax, [
110 if $PS ax -o rss > /dev/null 2>&1; then
111 ac_cv_prog_ps_ax=yes
112 else
113 ac_cv_prog_ps_ax=no
114 fi
115 if $PS -ef -o rss > /dev/null 2>&1; then
116 ac_cv_prog_ps_ef=yes
117 else
118 ac_cv_prog_ps_ef=no
119 fi
120 if test "$ac_cv_prog_ps_ax" = yes; then
121 ac_cv_prog_ps_syntax=BSD
122 else
123 if test "$ac_cv_prog_ps_ef" = yes; then
124 ac_cv_prog_ps_syntax=POSIX
125 else
126 AC_MSG_ERROR(Could not determine ps syntax)
127 fi
128 fi
129 ])
130 AC_DEFINE_UNQUOTED(PSCOMMAND, $PS, [Path to ps program])
131 if test "$ac_cv_prog_ps_syntax" = BSD; then
132 AC_DEFINE(PSTYPE_IS_BSD, 1, [ps uses BSD-style arguments])
133 else
134 if test "$ac_cv_prog_ps_syntax" = POSIX; then
135 AC_DEFINE(PSTYPE_IS_POSIX, 1, [ps uses POSIX-style arguments])
136 else
137 AC_MSG_ERROR(Unknown ps syntax type!)
138 fi
139 fi
140
141 AC_LANG_C
142
143 dnl Checks for libraries.
144 AC_CHECK_LIB(m, asin, , exit)
145 ACX_CHECK_ZLIB
146 ACX_CHECK_FFTW
147 ACX_CHECK_QHULL
148 ACX_CHECK_OPENBABEL
149
150 # Checks for header files.
151 AC_HEADER_STDC
152 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])
153
154 # Checks for typedefs, structures, and compiler characteristics.
155 AC_HEADER_STDBOOL
156 AC_C_CONST
157 AC_C_INLINE
158 AC_TYPE_SIZE_T
159 AC_HEADER_TIME
160
161 # Checks for library functions.
162 AC_FUNC_MALLOC
163 AC_FUNC_REALLOC
164 AC_FUNC_SELECT_ARGTYPES
165 AC_FUNC_STRTOD
166 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])
167
168 # special check for _system_configuration because AIX <4.3.2 do not
169 # contain the `physmem' member.
170 AC_MSG_CHECKING([for external symbol _system_configuration])
171 AC_TRY_COMPILE([#include <sys/systemcfg.h>],
172 [double x = _system_configuration.physmem;],
173 [AC_MSG_RESULT([yes])
174 AC_DEFINE(HAVE__SYSTEM_CONFIGURATION, 1,
175 [Define if you have the _system_configuration variable.])],
176 [AC_MSG_RESULT([no])])
177
178 dnl check for strong optimization options
179
180 case $debug in
181 1)
182 ;;
183 *)
184 ACX_PROG_CC_MAXOPT
185 ACX_PROG_CXX_MAXOPT
186 ;;
187 esac
188
189 BB_ENABLE_DOXYGEN
190
191 AC_SUBST(EXEEXT)
192 AC_SUBST(OBJEXT)
193 AC_SUBST(BATEXT)
194 AC_SUBST(MKINSTALLDIRS)
195 AC_SUBST(OPENMD)
196 AC_SUBST(OPENMD_HOME)
197 AC_SUBST(SUBDIRS)
198 AC_SUBST(CFLAGS)
199 AC_SUBST(CXXFLAGS)
200 AC_SUBST(CPPFLAGS)
201 AC_SUBST(LDFLAGS)
202 AC_CONFIG_FILES([make/Makefile src/utils/Makefile src/math/Makefile src/integrators/Makefile src/applications/atom2md/Makefile scripts/filepp], [chmod 0755 scripts/*])
203
204 AC_OUTPUT