~ubuntu-branches/ubuntu/natty/eucalyptus/natty-updates

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