soup_uri_copy_host: always set the path to something non-NULL
[platform/upstream/libsoup.git] / configure.ac
index 1f8b7e3..09a8de6 100644 (file)
@@ -3,7 +3,7 @@ dnl *** Initialize automake and set version ***
 dnl *******************************************
 
 AC_PREREQ(2.63)
-AC_INIT([libsoup],[2.29.90],[http://bugzilla.gnome.org/enter_bug.cgi?product=libsoup])
+AC_INIT([libsoup],[2.37.5],[http://bugzilla.gnome.org/enter_bug.cgi?product=libsoup])
 AC_CONFIG_SRCDIR([libsoup-2.4.pc.in])
 AC_CONFIG_MACRO_DIR([m4])
 
@@ -16,10 +16,10 @@ SOUP_API_VERSION=2.4
 AC_SUBST(SOUP_API_VERSION)
 
 # Increment on interface addition. Reset on removal.
-SOUP_AGE=3
+SOUP_AGE=5
 
 # Increment on interface add, remove, or change.
-SOUP_CURRENT=4
+SOUP_CURRENT=6
 
 # Increment on source change. Reset when CURRENT changes.
 SOUP_REVISION=0
@@ -53,9 +53,9 @@ fi
 AC_SUBST(SOUP_DEBUG_FLAGS)
 
 # Set the maintainer flags
-if test -d .git; then
-       SOUP_MAINTAINER_FLAGS="-DG_DISABLE_DEPRECATED"
-fi
+#if test -d .git; then
+#      SOUP_MAINTAINER_FLAGS="-DG_DISABLE_DEPRECATED"
+#fi
 AC_SUBST(SOUP_MAINTAINER_FLAGS)
 
 dnl ***************************
@@ -72,9 +72,10 @@ dnl ***********************
 dnl *** Checks for glib ***
 dnl ***********************
 
-AM_PATH_GLIB_2_0(2.21.3,,,gobject gthread gio)
+GLIB_REQUIRED=2.31.7
+AM_PATH_GLIB_2_0($GLIB_REQUIRED,,,gobject gio)
 if test "$GLIB_LIBS" = ""; then
-   AC_MSG_ERROR(GLIB 2.21.3 or later is required to build libsoup)
+   AC_MSG_ERROR(GLIB $GLIB_REQUIRED or later is required to build libsoup)
 fi
 GLIB_CFLAGS="$GLIB_CFLAGS -DG_DISABLE_SINGLE_INCLUDES"
 
@@ -106,39 +107,6 @@ AC_CHECK_FUNCS(gmtime_r)
 AC_CHECK_FUNCS(mmap)
 AC_CHECK_FUNC(socket, , AC_CHECK_LIB(socket, socket))
 
-dnl **********************************
-dnl *** SSL Library check (GnuTLS) ***
-dnl **********************************
-
-AC_ARG_ENABLE(ssl, 
-             AS_HELP_STRING([--disable-ssl], [Disable SSL/TLS support (not recommended)]),,
-             enable_ssl=auto)
-
-have_ssl=no
-if test "$enable_ssl" != "no"; then
-       PKG_CHECK_MODULES(LIBGNUTLS, gnutls >= 2.1.7,
-               [AM_PATH_LIBGCRYPT([], have_ssl=yes, have_ssl=no)], have_ssl=no)
-fi
-if test "$have_ssl" = "yes"; then
-       AC_DEFINE(HAVE_SSL, 1, [Defined if you have SSL support])
-       SSL_REQUIREMENT="gnutls"
-else
-       if test "$enable_ssl" = "no"; then
-               AC_MSG_WARN(Disabling SSL support);
-       else
-               AC_MSG_ERROR([Could not configure SSL support.
-Pass "--disable-ssl" if you really want to build without SSL support]);
-       fi
-fi
-
-AC_SUBST(LIBGNUTLS_CFLAGS)
-AC_SUBST(LIBGNUTLS_LIBS)
-AC_SUBST(SSL_REQUIREMENT)
-
-dnl This is not supposed to be conditional, but...
-AM_CONDITIONAL(HAVE_SSL, test $enable_ssl != no)
-
-
 dnl *********************
 dnl *** GNOME support ***
 dnl *********************
@@ -148,7 +116,7 @@ AC_ARG_WITH(gnome,
            :, [if test $os_win32 = yes; then with_gnome=no; else with_gnome=yes; fi])
 AC_MSG_RESULT($with_gnome)
 
-if test $with_gnome != no; then
+if test $with_gnome != no -a $os_win32 != yes; then
        PKG_CHECK_MODULES(GNOME_KEYRING, gnome-keyring-1, :,
                          AC_MSG_ERROR(
 [Could not find gnome-keyring devel files.
@@ -163,27 +131,6 @@ AM_CONDITIONAL(BUILD_LIBSOUP_GNOME, test $with_gnome != no)
 if test $with_gnome != no; then
        AC_DEFINE(HAVE_GNOME, 1, [Defined if GNOME support is enabled])
 
-       PKG_CHECK_MODULES(LIBPROXY, libproxy-1.0, :, [AC_MSG_ERROR(dnl
-[Could not find libproxy:
-
-$LIBPROXY_PKG_ERRORS
-
-This is required for GNOME proxy support.
-
-Pass "--without-gnome" to configure if you want to build libsoup
-without GNOME support.])])
-
-       PKG_CHECK_MODULES(GCONF, gconf-2.0, , [AC_MSG_ERROR(dnl
-[Could not find GConf:
-
-$GCONF_PKG_ERRORS
-
-Due to bugs in libproxy as of the GNOME 2.26 freeze date, GConf is
-*also* required for GNOME proxy support.
-
-Pass "--without-gnome" to configure if you want to build libsoup
-without GNOME support.])])
-
        PKG_CHECK_MODULES(SQLITE, sqlite3, :, [AC_MSG_ERROR(dnl
 [Could not find sqlite3 devel files:
 
@@ -193,10 +140,6 @@ Pass "--without-gnome" to configure if you want to build libsoup
 without GNOME support.])])
 fi
 AC_SUBST(HAVE_GNOME)
-AC_SUBST(GCONF_CFLAGS)
-AC_SUBST(GCONF_LIBS)
-AC_SUBST(LIBPROXY_CFLAGS)
-AC_SUBST(LIBPROXY_LIBS)
 AC_SUBST(SQLITE_CFLAGS)
 AC_SUBST(SQLITE_LIBS)
 
@@ -204,36 +147,36 @@ AC_SUBST(SQLITE_LIBS)
 dnl ***************
 dnl *** gtk-doc ***
 dnl ***************
-GTK_DOC_CHECK([1.0])
-
-
-dnl *************************************
-dnl *** Warnings to show if using GCC ***
-dnl *************************************
-
-AC_ARG_ENABLE(more-warnings,
-             AS_HELP_STRING([--disable-more-warnings], [Inhibit compiler warnings]),
-             set_more_warnings=no)
-
-if test "$GCC" = "yes" -a "$set_more_warnings" != "no"; then
-       CFLAGS="$CFLAGS \
-               -Wall -Wstrict-prototypes -Wmissing-declarations \
-               -Wmissing-prototypes -Wnested-externs -Wpointer-arith \
-               -Wdeclaration-after-statement -Wformat=2 -Winit-self \
-               -Waggregate-return -Wmissing-format-attribute"
-
-       for option in -Wmissing-include-dirs -Wundef; do
-               SAVE_CFLAGS="$CFLAGS"
-               CFLAGS="$CFLAGS $option"
-               AC_MSG_CHECKING([whether gcc understands $option])
-               AC_COMPILE_IFELSE([AC_LANG_PROGRAM([], [])],
-                                 [has_option=yes],
-                                 [has_option=no])
-               AC_MSG_RESULT($has_option)
-               if test $has_option = no; then
-                       CFLAGS="$SAVE_CFLAGS"
-               fi
-       done
+GTK_DOC_CHECK([1.10])
+
+dnl *****************************
+dnl *** gobject-introspection ***
+dnl *****************************
+GOBJECT_INTROSPECTION_CHECK([0.9.5])
+
+AC_MSG_CHECKING([for glib-networking (glib TLS implementation)])
+save_CFLAGS="$CFLAGS"
+save_LIBS="$LIBS"
+CFLAGS="$CFLAGS $GLIB_CFLAGS"
+LIBS="$LIBS $GLIB_LIBS"
+AC_RUN_IFELSE([AC_LANG_PROGRAM([#include <gio/gio.h>],
+                              [g_type_init (); return !g_tls_backend_supports_tls (g_tls_backend_get_default ());])],
+             [have_glib_networking=yes],
+             [have_glib_networking=no],
+             [have_glib_networking="unknown (cross-compiling)"])
+CFLAGS="$save_CFLAGS"
+LIBS="$save_LIBS"
+AC_MSG_RESULT($have_glib_networking)
+
+AC_ARG_ENABLE(tls-check,
+             AS_HELP_STRING([--disable-tls-check], [Don't error out if glib-networking is unavailable]))
+if test "$enable_tls_check" != "no" -a "$have_glib_networking" = "no"; then
+       AC_MSG_ERROR([libsoup requires glib-networking for TLS support.
+
+If you are building a package, you can pass --disable-tls-check to
+allow building libsoup anyway (since glib-networking is not actually
+required at compile time), but you should be sure to add a runtime
+dependency on it.])
 fi
 
 dnl ******************************
@@ -241,8 +184,9 @@ dnl *** Stuff for regression tests
 dnl ******************************
 AC_MSG_NOTICE([checking for programs needed for regression tests])
 MISSING_REGRESSION_TEST_PACKAGES=""
-if test $have_ssl = "no"; then
-    MISSING_REGRESSION_TEST_PACKAGES=" gnutls"
+
+if test "$have_glib_networking" = "no"; then
+        MISSING_REGRESSION_TEST_PACKAGES="$MISSING_REGRESSION_TEST_PACKAGES glib-networking"
 fi
 
 AC_ARG_WITH(apache-httpd,
@@ -351,12 +295,44 @@ else
 fi
 AM_CONDITIONAL(HAVE_CURL, test "$CURL" != no)
 
-if test -n "$MISSING_REGRESSION_TEST_PACKAGES"; then
-    AC_MSG_NOTICE([Some regression tests will not be run due to missing packages:$MISSING_REGRESSION_TEST_PACKAGES])
-fi
 AC_SUBST(MISSING_REGRESSION_TEST_PACKAGES)
 AM_CONDITIONAL(MISSING_REGRESSION_TEST_PACKAGES, test -n "$MISSING_REGRESSION_TEST_PACKAGES")
 
+dnl **********************************************************
+dnl *** path of NTLM single-sign-on helper ntlm_auth
+dnl **********************************************************
+AC_ARG_WITH(ntlm-auth,
+           AC_HELP_STRING([--with-ntlm-auth=PATH],[Where to look for ntlm_auth, path points to ntlm_auth installation (default: /usr/bin/ntlm_auth)]),
+           ntlm_auth="$withval",
+           [if test $os_win32 = yes; then ntlm_auth="no"; else ntlm_auth="/usr/bin/ntlm_auth"; fi])
+if test "$ntlm_auth" != "no"; then
+    AC_DEFINE(USE_NTLM_AUTH, 1, [Whether or not use Samba's 'winbind' daemon helper 'ntlm_auth' for NTLM single-sign-on])
+    if test "$ntlm_auth" = "yes"; then
+       dnl --with-ntlm-auth (without path) used, use default path
+       ntlm_auth="/usr/bin/ntlm_auth"
+    fi
+fi
+AC_SUBST(ntlm_auth)
+AC_DEFINE_UNQUOTED(NTLM_AUTH, "$ntlm_auth", [Samba's 'winbind' daemon helper 'ntlm_auth' which can be used for NTLM single-sign-on])
+
+dnl ****************************************************
+dnl *** Warnings to show if using GCC                ***
+dnl *** (do this last so -Werror won't mess up tests ***
+dnl ****************************************************
+
+AC_ARG_ENABLE(more-warnings,
+             AS_HELP_STRING([--disable-more-warnings], [Inhibit compiler warnings]),
+             set_more_warnings=no)
+
+if test "$GCC" = "yes" -a "$set_more_warnings" != "no"; then
+       CFLAGS="$CFLAGS \
+               -Wall -Wstrict-prototypes -Werror=missing-prototypes \
+               -Werror=implicit-function-declaration \
+               -Werror=pointer-arith -Werror=init-self -Werror=format=2 \
+               -Werror=missing-include-dirs -Werror=aggregate-return \
+               -Werror=declaration-after-statement"
+fi
+
 dnl *************************
 dnl *** Output Everything ***
 dnl *************************
@@ -374,3 +350,10 @@ AC_CONFIG_FILES([
        docs/reference/Makefile
        ])
 AC_OUTPUT
+
+if test -n "$MISSING_REGRESSION_TEST_PACKAGES"; then
+    echo ""
+    echo Some regression tests will not be run due to missing packages:
+    echo $MISSING_REGRESSION_TEST_PACKAGES
+    echo ""
+fi