1
by Soren Hansen
Import upstream version 1.5~bzr139 |
1 |
# -*- Autoconf -*-
|
2 |
# Process this file with autoconf to produce a configure script.
|
|
3 |
#
|
|
4 |
||
5 |
# Usage:
|
|
6 |
# configure [--with-axis2c=<dir>]
|
|
7 |
# [--with-axis2=<dir>]
|
|
8 |
# [--with-libvirt=<dir>]
|
|
1.1.11
by Soren Hansen
Import upstream version 1.6~bzr588 |
9 |
# [--with-interface-theme=<name>]
|
10 |
# [--enable-appliance-store]
|
|
1
by Soren Hansen
Import upstream version 1.5~bzr139 |
11 |
# [--enable-debug]
|
12 |
||
13 |
AC_PREREQ(2.61) |
|
1.1.9
by Soren Hansen
Import upstream version 1.6~bzr452 |
14 |
AC_INIT(Eucalyptus, |
15 |
m4_esyscmd([cat VERSION| tr -d '\n']), |
|
16 |
support@open.eucalyptus.com) |
|
1
by Soren Hansen
Import upstream version 1.5~bzr139 |
17 |
AC_CONFIG_SRCDIR([wsdl/eucalyptus_nc.wsdl]) |
1.1.9
by Soren Hansen
Import upstream version 1.6~bzr452 |
18 |
AC_CONFIG_HEADER([util/eucalyptus-config.h]) |
1
by Soren Hansen
Import upstream version 1.5~bzr139 |
19 |
AC_PREFIX_DEFAULT([/opt/eucalyptus/]) |
20 |
AC_USE_SYSTEM_EXTENSIONS
|
|
1.1.9
by Soren Hansen
Import upstream version 1.6~bzr452 |
21 |
EUCA_VERSION="`cat VERSION`" |
1
by Soren Hansen
Import upstream version 1.5~bzr139 |
22 |
|
23 |
# let's figure out where is the source tree
|
|
24 |
if test ${srcdir} = "." ; then |
|
25 |
TOP=`pwd` |
|
26 |
else
|
|
27 |
TOP=${srcdir} |
|
28 |
fi
|
|
29 |
||
1.1.9
by Soren Hansen
Import upstream version 1.6~bzr452 |
30 |
# variables we'll need later on
|
1
by Soren Hansen
Import upstream version 1.5~bzr139 |
31 |
AXIS2C_HOME="${AXIS2C_HOME}" |
32 |
AXIS2_HOME="${AXIS2_HOME}" |
|
1.1.9
by Soren Hansen
Import upstream version 1.6~bzr452 |
33 |
AXIS2C_SERVICES="" |
1
by Soren Hansen
Import upstream version 1.5~bzr139 |
34 |
LIBVIRT_HOME="${LIBVIRT_HOME}" |
1.1.11
by Soren Hansen
Import upstream version 1.6~bzr588 |
35 |
INTERFACE_THEME="eucalyptus" |
36 |
EXTENSIONS="" |
|
1
by Soren Hansen
Import upstream version 1.5~bzr139 |
37 |
ANT="" |
38 |
JAVA="" |
|
1.1.9
by Soren Hansen
Import upstream version 1.6~bzr452 |
39 |
WSDL2C="" |
1
by Soren Hansen
Import upstream version 1.5~bzr139 |
40 |
java_min_version="1.6.0" |
41 |
ant_min_version="1.6.5" |
|
42 |
||
43 |
# these are for large files (>2GB)
|
|
44 |
LDFLAGS="`getconf LFS64_LDFLAGS` $LDFLAGS" |
|
45 |
LIBS="`getconf LFS64_LIBS` $LIBS" |
|
46 |
CFLAGS="`getconf LFS64_CFLAGS`" |
|
47 |
||
48 |
# compile options
|
|
49 |
CFLAGS="${CFLAGS} -Wall -Wno-unused-variable -fPIC -DHAVE_CONFIG_H" |
|
50 |
INCLUDES="${INCLUDES} -I. -I.. -Igenerated -I${TOP}/storage -I${TOP}/node -I${TOP}/util -I${TOP}/net" |
|
51 |
||
52 |
# Arguments checking
|
|
1.1.9
by Soren Hansen
Import upstream version 1.6~bzr452 |
53 |
AC_ARG_WITH(axis2c, |
54 |
[ --with-axis2c=<dir> where axis2c is installed], |
|
1
by Soren Hansen
Import upstream version 1.5~bzr139 |
55 |
[AXIS2C_HOME="${withval}"]) |
1.1.9
by Soren Hansen
Import upstream version 1.6~bzr452 |
56 |
AC_ARG_WITH(axis2c-services, |
57 |
[ --with-axis2c-services=<dir> where axis2c services are installed], |
|
58 |
[AXIS2C_SERVICES="${withval}"]) |
|
59 |
AC_ARG_WITH(axis2, |
|
60 |
[ --with-axis2=<dir> where axis2 is installed], |
|
1
by Soren Hansen
Import upstream version 1.5~bzr139 |
61 |
[AXIS2_HOME="${withval}"]) |
1.1.9
by Soren Hansen
Import upstream version 1.6~bzr452 |
62 |
AC_ARG_WITH(libvirt, |
63 |
[ --with-libvirt=<dir> where libvirt is installed], |
|
1
by Soren Hansen
Import upstream version 1.5~bzr139 |
64 |
[LIBVIRT_HOME="${withval}"]) |
1.1.11
by Soren Hansen
Import upstream version 1.6~bzr588 |
65 |
AC_ARG_WITH(interface-theme, |
66 |
[ --with-interface-theme=<name> the theme to be used], |
|
67 |
[INTERFACE_THEME="${withval}"]) |
|
68 |
AC_ARG_ENABLE(appliance-store, |
|
69 |
[ --enable-appliance-store enable the store tab], |
|
70 |
[if test "${enableval}" != "no"; then |
|
71 |
EXTENSIONS="store" |
|
72 |
fi]) |
|
73 |
||
1
by Soren Hansen
Import upstream version 1.5~bzr139 |
74 |
AC_ARG_ENABLE(debug, |
1.1.9
by Soren Hansen
Import upstream version 1.6~bzr452 |
75 |
[ --enable-debug include debugging info when compiling], |
1
by Soren Hansen
Import upstream version 1.5~bzr139 |
76 |
[if test "${enableval}" != "no"; then |
77 |
CFLAGS="$CFLAGS -g -DDEBUG" |
|
78 |
fi]) |
|
79 |
||
1.1.9
by Soren Hansen
Import upstream version 1.6~bzr452 |
80 |
|
81 |
# If we didn't specify the services directory, let's use the default
|
|
82 |
if test -z "$AXIS2C_SERVICES" ; then |
|
83 |
AXIS2C_SERVICES="${AXIS2C_HOME}/services" |
|
84 |
fi
|
|
85 |
||
1
by Soren Hansen
Import upstream version 1.5~bzr139 |
86 |
# Fix the paths for includes and libraries
|
87 |
if test -n "${AXIS2C_HOME}" ; then |
|
88 |
if test -d "${AXIS2C_HOME}"/include ; then |
|
1.1.9
by Soren Hansen
Import upstream version 1.6~bzr452 |
89 |
for x in `ls ${AXIS2C_HOME}/include`; do |
1
by Soren Hansen
Import upstream version 1.5~bzr139 |
90 |
INCLUDES="${INCLUDES} -I${AXIS2C_HOME}/include/$x" |
91 |
done
|
|
92 |
LIBS="-L${AXIS2C_HOME}/lib ${LIBS}" |
|
93 |
fi
|
|
1.1.23
by Dustin Kirkland
Import upstream version 1.6.1~bzr1083 |
94 |
if test -d ${AXIS2C_HOME}/modules/rampart ; then |
95 |
LIBS="-L${AXIS2C_HOME}/modules/rampart ${LIBS}" |
|
96 |
fi
|
|
1
by Soren Hansen
Import upstream version 1.5~bzr139 |
97 |
fi
|
98 |
if test -n "${LIBVIRT_HOME}" ; then |
|
99 |
if test -d "${LIBVIRT_HOME}"/include ; then |
|
100 |
INCLUDES="${INCLUDES} -I${LIBVIRT_HOME}/include" |
|
101 |
LIBS="-L${LIBVIRT_HOME}/lib ${LIBS}" |
|
102 |
fi
|
|
103 |
fi
|
|
1.1.9
by Soren Hansen
Import upstream version 1.6~bzr452 |
104 |
|
1
by Soren Hansen
Import upstream version 1.5~bzr139 |
105 |
|
106 |
# Checks for programs.
|
|
107 |
AC_PROG_AWK
|
|
108 |
AC_PROG_CC
|
|
109 |
AC_PROG_INSTALL
|
|
110 |
AC_PROG_MAKE_SET
|
|
1.1.23
by Dustin Kirkland
Import upstream version 1.6.1~bzr1083 |
111 |
AC_PATH_PROG(RM, rm) |
1
by Soren Hansen
Import upstream version 1.5~bzr139 |
112 |
|
1.1.9
by Soren Hansen
Import upstream version 1.6~bzr452 |
113 |
# let's search for WSDL2C.sh
|
114 |
# we cannot use AC_PROG_PATH because WSDL2C.sh is not executable
|
|
115 |
#AC_PATH_PROG([WSDL2C], WSDL2C.sh,,$AXIS2C_HOME/bin/tools/wsdl2c:$PATH)
|
|
116 |
WSDL2C=$AXIS2C_HOME/bin/tools/wsdl2c/WSDL2C.sh |
|
117 |
ALT_WSDL2C=$AXIS2C_HOME/WSDL2C.sh |
|
118 |
AC_CHECK_FILE($WSDL2C,[HAVE_WSDL2C=yes]) |
|
119 |
AC_CHECK_FILE($ALT_WSDL2C,[HAVE_ALT_WSDL2C=yes]) |
|
120 |
# check if we found either of the possible WSDL2Cs
|
|
121 |
if test -z "$HAVE_WSDL2C$HAVE_ALT_WSDL2C" ; then |
|
122 |
AC_MSG_ERROR([Cannot find WSDL2C.sh!]) |
|
123 |
fi
|
|
124 |
# made it here: we found one! -- set WSDL2C if the default location is wrong
|
|
125 |
if test -n "$HAVE_ALT_WSDL2C" ; then |
|
126 |
WSDL2C=$ALT_WSDL2C |
|
127 |
fi
|
|
128 |
||
129 |
||
130 |
# we need JAVA_HOME
|
|
1
by Soren Hansen
Import upstream version 1.5~bzr139 |
131 |
if test -z "$JAVA_HOME" ; then |
132 |
AC_MSG_ERROR([JAVA_HOME is not defined!]) |
|
133 |
fi
|
|
134 |
||
135 |
AC_PATH_PROG([ANT], ant,,$ANT_HOME/bin:$PATH) |
|
136 |
AC_PATH_PROG([JAVA], java,,$JAVA_HOME/bin) |
|
137 |
||
138 |
# Check the version of java and ant
|
|
139 |
if test -z "$ANT" ; then |
|
140 |
AC_MSG_ERROR([Cannot find ant!]) |
|
141 |
fi
|
|
142 |
if test -z "$JAVA" ; then |
|
143 |
AC_MSG_ERROR([Cannot find java!]) |
|
144 |
fi
|
|
145 |
java_version=`$JAVA -version 2>&1 | grep "java version" | \ |
|
146 |
sed -e 's/.*java version "\(.*\)".*/\1/'` |
|
147 |
goodversion=`expr $java_version ">=" $java_min_version` |
|
148 |
if test $goodversion -eq 0; then |
|
149 |
AC_MSG_ERROR([Eucalyptus needs at least JDK version $java_min_version]) |
|
150 |
fi
|
|
151 |
||
152 |
# now let's test we have jni.h
|
|
153 |
if test ! -e $JAVA_HOME/include/jni.h ; then |
|
154 |
AC_MSG_ERROR([Cannot find jni.h in $JAVA_HOME: do you have a JDK installed?]) |
|
155 |
fi
|
|
156 |
||
157 |
ant_version=`$ANT -version 2>&1 | grep "Ant version" | \ |
|
158 |
sed -e 's/.*Ant version \([[0-9.]]*\).*/\1/'` |
|
159 |
goodversion=`expr $ant_version ">=" $ant_min_version` |
|
160 |
if test $goodversion -eq 0; then |
|
161 |
AC_MSG_ERROR([Eucalyptus needs at least ANT version $ant_min_version]) |
|
162 |
fi
|
|
163 |
# some version of ant picks up the wrong java
|
|
164 |
java_version=`$ANT -diagnostics 2>&1 | grep ^java.version | \ |
|
165 |
sed -e 's/java.* \([[0-9.]]*\).*/\1/'` |
|
166 |
goodversion=`expr $java_version ">=" $java_min_version` |
|
167 |
if test $goodversion -eq 0; then |
|
168 |
AC_MSG_ERROR([ANT is using the wrong java (version less than $java_min_version)]) |
|
169 |
fi
|
|
170 |
||
171 |
||
172 |
# Checks for libraries.
|
|
173 |
# FIXME: Replace `main' with a function in the library
|
|
174 |
AC_CHECK_LIB([axis2_axiom],[main],,AC_MSG_ERROR([Cannot find axis2 libs!])) |
|
175 |
AC_CHECK_LIB([axis2_engine],[main],,AC_MSG_ERROR([Cannot find axis2 libs!])) |
|
176 |
AC_CHECK_LIB([axis2_http_common],[main],,AC_MSG_ERROR([Cannot find axis2 libs!])) |
|
177 |
AC_CHECK_LIB([axis2_http_receiver],[main],,AC_MSG_ERROR([Cannot find axis2 libs!])) |
|
178 |
AC_CHECK_LIB([axis2_http_sender],[main],,AC_MSG_ERROR([Cannot find axis2 libs!])) |
|
179 |
AC_CHECK_LIB([guththila],[main],,AC_MSG_ERROR([Cannot find libguththila!])) |
|
180 |
AC_CHECK_LIB([axis2_parser],[axiom_xml_reader_init],,AC_MSG_ERROR([Cannot find axis2 libs!])) |
|
181 |
AC_CHECK_LIB([axutil],[main],,AC_MSG_ERROR([Cannot find libaxutil])) |
|
182 |
AC_CHECK_LIB([m],[main]) |
|
183 |
AC_CHECK_LIB([mod_rampart],[main],,AC_MSG_ERROR([Cannot find libmod_rampart])) |
|
184 |
AC_CHECK_LIB([neethi],[main],,AC_MSG_ERROR([Cannot find libneethi!])) |
|
185 |
AC_CHECK_LIB([pthread],[main]) |
|
186 |
AC_CHECK_LIB([rt],[main]) |
|
187 |
AC_CHECK_LIB([virt],[main],true,AC_MSG_ERROR([Cannot find libvirt!])) |
|
188 |
AC_CHECK_LIB([curl],[main],true,AC_MSG_ERROR([Cannot find libcurl!])) |
|
1.1.5
by Soren Hansen
Import upstream version 1.5~bzr232 |
189 |
AC_CHECK_LIB([z],[inflate]) |
1.1.39
by Dave Walker (Daviey)
Import upstream version 2.0~bzr1218 |
190 |
AC_CHECK_LIB([cap],[cap_from_name],,AC_MSG_WARN([Cannot find sufficiently recent libcap will not use it])) |
1
by Soren Hansen
Import upstream version 1.5~bzr139 |
191 |
|
192 |
# Checks for header files.
|
|
193 |
AC_HEADER_DIRENT
|
|
194 |
AC_HEADER_STDC
|
|
195 |
AC_HEADER_SYS_WAIT
|
|
1.1.5
by Soren Hansen
Import upstream version 1.5~bzr232 |
196 |
AC_CHECK_HEADERS([fcntl.h limits.h stdint.h stdlib.h string.h strings.h sys/ioctl.h unistd.h sys/vfs.h zlib.h]) |
1
by Soren Hansen
Import upstream version 1.5~bzr139 |
197 |
AC_CHECK_HEADER([curl/curl.h],,AC_MSG_ERROR([[Cannot find curl/curl.h]])) |
198 |
dnl AC_CHECK_HEADER([curl/easy.h],,AC_MSG_ERROR([[Cannot find curl/easy.h]])) |
|
199 |
||
200 |
# Checks for typedefs, structures, and compiler characteristics.
|
|
201 |
AC_C_CONST
|
|
202 |
AC_TYPE_MODE_T
|
|
203 |
AC_TYPE_PID_T
|
|
204 |
AC_TYPE_SIZE_T
|
|
205 |
AC_TYPE_SSIZE_T
|
|
206 |
AC_HEADER_TIME
|
|
207 |
AC_STRUCT_TM
|
|
208 |
AC_TYPE_UINT32_T
|
|
209 |
||
210 |
# Checks for functions.
|
|
211 |
AC_FUNC_CLOSEDIR_VOID
|
|
212 |
AC_FUNC_FORK
|
|
213 |
AC_FUNC_LSTAT
|
|
214 |
AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK
|
|
215 |
AC_FUNC_MALLOC
|
|
216 |
AC_FUNC_MEMCMP
|
|
217 |
AC_FUNC_MKTIME
|
|
218 |
AC_FUNC_MMAP
|
|
219 |
AC_FUNC_REALLOC
|
|
220 |
AC_FUNC_SELECT_ARGTYPES
|
|
221 |
AC_FUNC_STAT
|
|
222 |
AC_FUNC_STRNLEN
|
|
223 |
AC_FUNC_VPRINTF
|
|
224 |
AC_CHECK_FUNCS([bzero dup2 ftruncate gettimeofday mkdir pow select strchr strdup strerror strncasecmp strstr rmdir]) |
|
225 |
||
226 |
# Time to substitute and generate the files
|
|
227 |
AC_CONFIG_FILES([Makedefs |
|
1.1.9
by Soren Hansen
Import upstream version 1.6~bzr452 |
228 |
tools/eucalyptus-cc:tools/eucalyptus-cc.in |
229 |
tools/eucalyptus-nc:tools/eucalyptus-nc.in |
|
230 |
tools/euca_conf:tools/euca_conf.in |
|
1.1.23
by Dustin Kirkland
Import upstream version 1.6.1~bzr1083 |
231 |
tools/eucalyptus-cloud:tools/eucalyptus-cloud.in]) |
1.1.9
by Soren Hansen
Import upstream version 1.6~bzr452 |
232 |
|
233 |
AC_DEFINE_UNQUOTED(EUCA_VERSION, "$EUCA_VERSION") |
|
234 |
||
235 |
AC_SUBST(EUCA_VERSION) |
|
1
by Soren Hansen
Import upstream version 1.5~bzr139 |
236 |
AC_SUBST(TOP) |
237 |
AC_SUBST(ANT) |
|
1.1.23
by Dustin Kirkland
Import upstream version 1.6.1~bzr1083 |
238 |
AC_SUBST(RM) |
1.1.9
by Soren Hansen
Import upstream version 1.6~bzr452 |
239 |
AC_SUBST(WSDL2C) |
1
by Soren Hansen
Import upstream version 1.5~bzr139 |
240 |
AC_SUBST(JAVA_HOME) |
241 |
AC_SUBST(AXIS2C_HOME) |
|
1.1.9
by Soren Hansen
Import upstream version 1.6~bzr452 |
242 |
AC_SUBST(AXIS2C_SERVICES) |
1
by Soren Hansen
Import upstream version 1.5~bzr139 |
243 |
AC_SUBST(AXIS2_HOME) |
244 |
AC_SUBST(LIBVIRT_HOME) |
|
245 |
AC_SUBST(CFLAGS) |
|
246 |
AC_SUBST(LDFLAGS) |
|
247 |
AC_SUBST(LIBS) |
|
248 |
AC_SUBST(INCLUDES) |
|
1.1.11
by Soren Hansen
Import upstream version 1.6~bzr588 |
249 |
AC_SUBST(EXTENSIONS) |
250 |
AC_SUBST(INTERFACE_THEME) |
|
1
by Soren Hansen
Import upstream version 1.5~bzr139 |
251 |
|
252 |
||
253 |
||
254 |
AC_OUTPUT
|