1 dnl *******************************************
2 dnl *** Initialize automake and set version ***
3 dnl *******************************************
5 m4_define([soup_major_version], [2])
6 m4_define([soup_minor_version], [41])
7 m4_define([soup_micro_version], [90])
10 AC_INIT([libsoup],[soup_major_version.soup_minor_version.soup_micro_version],[http://bugzilla.gnome.org/enter_bug.cgi?product=libsoup])
11 AC_CONFIG_SRCDIR([libsoup-2.4.pc.in])
12 AC_CONFIG_MACRO_DIR([m4])
14 AM_INIT_AUTOMAKE([1.11 foreign no-dist-gzip dist-xz -Wno-portability serial-tests])
15 m4_ifdef([AM_SILENT_RULES],[AM_SILENT_RULES([yes])],)
19 SOUP_MAJOR_VERSION=soup_major_version
20 SOUP_MINOR_VERSION=soup_minor_version
21 SOUP_MICRO_VERSION=soup_micro_version
22 AC_SUBST(SOUP_MAJOR_VERSION)
23 AC_SUBST(SOUP_MINOR_VERSION)
24 AC_SUBST(SOUP_MICRO_VERSION)
27 AC_SUBST(SOUP_API_VERSION)
29 # Increment on interface addition. Reset on removal.
32 # Increment on interface add, remove, or change.
35 # Increment on source change. Reset when CURRENT changes.
38 AC_SUBST(SOUP_CURRENT)
39 AC_SUBST(SOUP_REVISION)
42 dnl ***************************
43 dnl *** Set debugging flags ***
44 dnl ***************************
48 # Declare --enable-* args and collect ac_help strings
50 AS_HELP_STRING([--enable-debug=[no/minimum/yes]],
51 [turn on debugging (default=$debug_default)]),,
52 enable_debug=$debug_default)
55 if test "x$enable_debug" = "xyes"; then
56 test "$cflags_set" = set || CFLAGS="$CFLAGS -g"
57 SOUP_DEBUG_FLAGS="-DG_ENABLE_DEBUG"
59 if test "x$enable_debug" = "xno"; then
60 SOUP_DEBUG_FLAGS="-DG_DISABLE_ASSERT -DG_DISABLE_CHECKS"
64 AC_SUBST(SOUP_DEBUG_FLAGS)
66 # Set the maintainer flags
67 #if test -d .git; then
68 # SOUP_MAINTAINER_FLAGS="-DG_DISABLE_DEPRECATED"
70 AC_SUBST(SOUP_MAINTAINER_FLAGS)
72 dnl ***************************
73 dnl *** Checks for programs ***
74 dnl ***************************
82 dnl ***********************
83 dnl *** Checks for glib ***
84 dnl ***********************
87 AM_PATH_GLIB_2_0($GLIB_REQUIRED,,,gobject gio)
88 if test "$GLIB_LIBS" = ""; then
89 AC_MSG_ERROR(GLIB $GLIB_REQUIRED or later is required to build libsoup)
91 GLIB_CFLAGS="$GLIB_CFLAGS -DGLIB_VERSION_MIN_REQUIRED=GLIB_VERSION_2_36"
93 GLIB_MAKEFILE='$(top_srcdir)/Makefile.glib'
94 AC_SUBST(GLIB_MAKEFILE)
96 PKG_CHECK_MODULES(XML, libxml-2.0)
100 PKG_CHECK_MODULES(SQLITE, sqlite3)
101 AC_SUBST(SQLITE_CFLAGS)
102 AC_SUBST(SQLITE_LIBS)
104 dnl ***********************
105 dnl *** Check for Win32 ***
106 dnl ***********************
108 AC_MSG_CHECKING([for Win32])
112 CFLAGS="$CFLAGS -D_REENTRANT"
118 AC_MSG_RESULT([$os_win32])
119 AM_CONDITIONAL(OS_WIN32, [test $os_win32 = yes])
121 dnl ************************
122 dnl *** gettext/intltool ***
123 dnl ************************
124 IT_PROG_INTLTOOL([0.35.0])
125 GETTEXT_PACKAGE=libsoup
126 AC_SUBST([GETTEXT_PACKAGE])
127 AC_DEFINE_UNQUOTED([GETTEXT_PACKAGE],["$GETTEXT_PACKAGE"],[The gettext domain name])
129 dnl *******************
130 dnl *** Misc checks ***
131 dnl *******************
132 AC_CHECK_FUNCS(gmtime_r)
133 AC_CHECK_FUNC(socket, , AC_CHECK_LIB(socket, socket))
135 dnl *********************
136 dnl *** GNOME support ***
137 dnl *********************
138 AC_MSG_CHECKING(whether to build libsoup-gnome)
140 AS_HELP_STRING([--without-gnome], [Do not build libsoup-gnome]),
141 :, [if test $os_win32 = yes; then with_gnome=no; else with_gnome=yes; fi])
142 AC_MSG_RESULT($with_gnome)
144 AM_CONDITIONAL(BUILD_LIBSOUP_GNOME, test $with_gnome != no)
146 if test $with_gnome != no; then
147 AC_DEFINE(HAVE_GNOME, 1, [Defined if GNOME support is enabled])
155 GTK_DOC_CHECK([1.10])
157 dnl *****************************
158 dnl *** gobject-introspection ***
159 dnl *****************************
160 GOBJECT_INTROSPECTION_CHECK([0.9.5])
162 AC_MSG_CHECKING([for glib-networking (glib TLS implementation)])
163 save_CFLAGS="$CFLAGS"
165 CFLAGS="$CFLAGS $GLIB_CFLAGS"
166 LIBS="$LIBS $GLIB_LIBS"
167 AC_RUN_IFELSE([AC_LANG_PROGRAM([#include <gio/gio.h>],
168 [g_type_init (); return !g_tls_backend_supports_tls (g_tls_backend_get_default ());])],
169 [have_glib_networking=yes],
170 [have_glib_networking=no],
171 [have_glib_networking="unknown (cross-compiling)"])
172 CFLAGS="$save_CFLAGS"
174 AC_MSG_RESULT($have_glib_networking)
176 AC_ARG_ENABLE(tls-check,
177 AS_HELP_STRING([--disable-tls-check], [Don't error out if glib-networking is unavailable]))
178 if test "$enable_tls_check" != "no" -a "$have_glib_networking" = "no"; then
179 AC_MSG_ERROR([libsoup requires glib-networking for TLS support.
181 If you are building a package, you can pass --disable-tls-check to
182 allow building libsoup anyway (since glib-networking is not actually
183 required at compile time), but you should be sure to add a runtime
187 dnl ******************************
188 dnl *** Stuff for regression tests
189 dnl ******************************
190 AC_MSG_NOTICE([checking for programs needed for regression tests])
191 MISSING_REGRESSION_TEST_PACKAGES=""
193 if test "$have_glib_networking" = "no"; then
194 MISSING_REGRESSION_TEST_PACKAGES="$MISSING_REGRESSION_TEST_PACKAGES glib-networking"
197 AC_ARG_WITH(apache-httpd,
198 AS_HELP_STRING([--with-apache-httpd], [Path to apache httpd (for tests)]),
199 APACHE_HTTPD="$withval",
200 [AC_PATH_PROGS(APACHE_HTTPD, httpd2 httpd apache2 apache, no, ${PATH}:/usr/sbin)])
201 if test "$APACHE_HTTPD" != "no"; then
202 AC_MSG_CHECKING([Apache version])
203 apache_version=`$APACHE_HTTPD -v 2>/dev/null | sed -ne 's/Server version: Apache\///p'`
204 case $apache_version in
206 AC_MSG_RESULT([$apache_version (ok)])
210 AC_MSG_RESULT([$apache_version (ok)])
214 AC_MSG_RESULT([$apache_version (ignoring)])
219 AC_SUBST(APACHE_HTTPD)
220 AC_DEFINE_UNQUOTED(APACHE_HTTPD, "$APACHE_HTTPD", [Apache httpd])
222 if test "$APACHE_HTTPD" != "no"; then
223 AC_MSG_CHECKING([for Apache module directory])
224 AC_ARG_WITH(apache-module-dir,
225 AS_HELP_STRING([--with-apache-module-dir], [Apache modules dirs (for tests)]),
226 apache_module_dirs="$withval",
227 [apache_prefix=`dirname \`dirname $APACHE_HTTPD\``
228 mpm=`$APACHE_HTTPD -V -C "ServerName localhost" | sed -ne 's/^Server MPM: */-/p' | tr 'A-Z' 'a-z'`
229 # This only works with bash, but should fail harmlessly in sh
230 apache_module_dirs=`echo $apache_prefix/lib{64,}/{apache,apache2,http,http2,httpd}{$mpm,}{/modules,}`])
231 for dir in $apache_module_dirs; do
232 if test -f $dir/mod_auth_digest.so; then
233 APACHE_MODULE_DIR="$dir"
235 if test -f $dir/mod_ssl.so; then
236 APACHE_SSL_MODULE_DIR="$dir"
237 IF_HAVE_APACHE_SSL=""
239 if test -f $dir/mod_php5.so; then
240 APACHE_PHP_MODULE_DIR="$dir"
241 APACHE_PHP_MODULE=mod_php5.so
243 if test -f $dir/libphp5.so; then
244 APACHE_PHP_MODULE_DIR="$dir"
245 APACHE_PHP_MODULE=libphp5.so
248 AC_MSG_RESULT($APACHE_MODULE_DIR)
249 AC_SUBST(APACHE_MODULE_DIR)
250 AC_SUBST(APACHE_SSL_MODULE_DIR)
251 AC_SUBST(APACHE_PHP_MODULE_DIR)
252 AC_SUBST(APACHE_PHP_MODULE)
255 if test "$APACHE_HTTPD" != "no" -a -n "$APACHE_MODULE_DIR" -a -n "$APACHE_SSL_MODULE_DIR"; then
256 AC_DEFINE(HAVE_APACHE, 1, [Whether or not apache can be used for tests])
257 if test $apache_version = 2.2; then
258 AC_DEFINE(HAVE_APACHE_2_2, 1, [Apache is 2.2.x])
260 AC_DEFINE(HAVE_APACHE_2_4, 1, [Apache is 2.4.x])
263 if test -z "$APACHE_PHP_MODULE_DIR"; then
264 MISSING_REGRESSION_TEST_PACKAGES="$MISSING_REGRESSION_TEST_PACKAGES mod_php5"
268 if test "$APACHE_HTTPD" = "no" -o -z "$APACHE_MODULE_DIR"; then
269 MISSING_REGRESSION_TEST_PACKAGES="$MISSING_REGRESSION_TEST_PACKAGES apache"
271 MISSING_REGRESSION_TEST_PACKAGES="$MISSING_REGRESSION_TEST_PACKAGES mod_ssl"
274 AM_CONDITIONAL(HAVE_APACHE, test "$have_apache" = 1)
275 AM_CONDITIONAL(HAVE_APACHE_2_2, test "$apache_version" = 2.2)
276 AM_CONDITIONAL(HAVE_APACHE_2_4, test "$apache_version" = 2.4)
278 if test "$have_apache" = 1; then
279 AC_CHECK_PROGS(PHP, php php5)
281 AC_MSG_CHECKING([for Apache PHP module])
282 if test -f $APACHE_PHP_MODULE_DIR/$APACHE_PHP_MODULE; then
288 MISSING_REGRESSION_TEST_PACKAGES="$MISSING_REGRESSION_TEST_PACKAGES php5"
290 AC_MSG_RESULT($have_php)
292 if test "$have_php" = yes; then
293 AC_MSG_CHECKING([for xmlrpc-php])
294 if $PHP --rf xmlrpc_server_create | grep -q "does not exist"; then
296 MISSING_REGRESSION_TEST_PACKAGES="$MISSING_REGRESSION_TEST_PACKAGES php-xmlrpc"
300 AC_MSG_RESULT($have_xmlrpc_php)
304 AC_SUBST(IF_HAVE_PHP)
305 AM_CONDITIONAL(HAVE_XMLRPC_PHP, test "$have_xmlrpc_php" = yes)
307 AC_PATH_PROG(CURL, curl, no)
308 if test "$CURL" != no; then
309 AC_DEFINE(HAVE_CURL, 1, [Whether or not curl can be used for tests])
311 MISSING_REGRESSION_TEST_PACKAGES="$MISSING_REGRESSION_TEST_PACKAGES curl"
313 AM_CONDITIONAL(HAVE_CURL, test "$CURL" != no)
315 GLIB_COMPILE_RESOURCES=`$PKG_CONFIG --variable glib_compile_resources gio-2.0`
316 AC_SUBST(GLIB_COMPILE_RESOURCES)
318 AC_SUBST(MISSING_REGRESSION_TEST_PACKAGES)
319 AM_CONDITIONAL(MISSING_REGRESSION_TEST_PACKAGES, test -n "$MISSING_REGRESSION_TEST_PACKAGES")
321 dnl **********************************************************
322 dnl *** path of NTLM single-sign-on helper ntlm_auth
323 dnl **********************************************************
324 AC_ARG_WITH(ntlm-auth,
325 AC_HELP_STRING([--with-ntlm-auth=PATH],[Where to look for ntlm_auth, path points to ntlm_auth installation (default: /usr/bin/ntlm_auth)]),
326 ntlm_auth="$withval",
327 [if test $os_win32 = yes; then ntlm_auth="no"; else ntlm_auth="/usr/bin/ntlm_auth"; fi])
328 if test "$ntlm_auth" != "no"; then
329 AC_DEFINE(USE_NTLM_AUTH, 1, [Whether or not use Samba's 'winbind' daemon helper 'ntlm_auth' for NTLM single-sign-on])
330 if test "$ntlm_auth" = "yes"; then
331 dnl --with-ntlm-auth (without path) used, use default path
332 ntlm_auth="/usr/bin/ntlm_auth"
336 AC_DEFINE_UNQUOTED(NTLM_AUTH, "$ntlm_auth", [Samba's 'winbind' daemon helper 'ntlm_auth' which can be used for NTLM single-sign-on])
338 dnl ****************************************************
339 dnl *** Warnings to show if using GCC ***
340 dnl *** (do this last so -Werror won't mess up tests ***
341 dnl ****************************************************
343 AC_ARG_ENABLE(more-warnings,
344 AS_HELP_STRING([--disable-more-warnings], [Inhibit compiler warnings]),
345 set_more_warnings=no)
347 if test "$GCC" = "yes" -a "$set_more_warnings" != "no"; then
349 -Wall -Wstrict-prototypes -Werror=missing-prototypes \
350 -Werror=implicit-function-declaration \
351 -Werror=pointer-arith -Werror=init-self -Werror=format=2 \
352 -Werror=missing-include-dirs -Werror=aggregate-return \
353 -Werror=declaration-after-statement"
356 dnl *************************
357 dnl *** Output Everything ***
358 dnl *************************
360 AC_CONFIG_HEADERS([config.h])
371 docs/reference/Makefile
372 libsoup/soup-version.h
376 if test -n "$MISSING_REGRESSION_TEST_PACKAGES"; then
378 echo Some regression tests will not be run due to missing packages:
379 echo $MISSING_REGRESSION_TEST_PACKAGES