Merge upstream/2.69.90 into tizen
[platform/upstream/libsoup.git] / configure.ac
index efdbc4a..7b9451f 100644 (file)
@@ -3,8 +3,8 @@ dnl *** Initialize automake and set version ***
 dnl *******************************************
 
 m4_define([soup_major_version], [2])
-m4_define([soup_minor_version], [46])
-m4_define([soup_micro_version], [0])
+m4_define([soup_minor_version], [62])
+m4_define([soup_micro_version], [2])
 
 AC_PREREQ(2.63)
 AC_INIT([libsoup],[soup_major_version.soup_minor_version.soup_micro_version],[http://bugzilla.gnome.org/enter_bug.cgi?product=libsoup])
@@ -28,10 +28,10 @@ SOUP_API_VERSION=2.4
 AC_SUBST(SOUP_API_VERSION)
 
 # Increment on interface addition. Reset on removal.
-SOUP_AGE=7
+SOUP_AGE=8
 
 # Increment on interface add, remove, or change.
-SOUP_CURRENT=8
+SOUP_CURRENT=9
 
 # Increment on source change. Reset when CURRENT changes.
 SOUP_REVISION=0
@@ -47,7 +47,7 @@ dnl ***************************
 debug_default=minimum
 
 # Declare --enable-* args and collect ac_help strings
-AC_ARG_ENABLE(debug, 
+AC_ARG_ENABLE(debug,
              AS_HELP_STRING([--enable-debug=[no/minimum/yes]],
                             [turn on debugging (default=$debug_default)]),,
              enable_debug=$debug_default)
@@ -106,14 +106,21 @@ AC_MSG_CHECKING([for Win32])
 case "$host" in
   *-*-mingw*)
     os_win32=yes
+    os_linux=yes
     CFLAGS="$CFLAGS -D_REENTRANT"
     ;;
+  *-*-linux*)
+    os_win32=no
+    os_linux=yes
+    ;;
   *)
     os_win32=no
+    os_linux=no
     ;;
 esac
 AC_MSG_RESULT([$os_win32])
 AM_CONDITIONAL(OS_WIN32, [test $os_win32 = yes])
+AM_CONDITIONAL(OS_LINUX, [test $os_linux = yes])
 
 dnl ************************
 dnl *** gettext/intltool ***
@@ -128,30 +135,6 @@ dnl *** Misc checks ***
 dnl *******************
 AC_CHECK_FUNCS(gmtime_r)
 
-dnl *************************
-dnl *** SQL Lite support independently of gnome for Tizen  ***
-dnl *************************
-
-AC_ARG_ENABLE(sqlite,
-         AS_HELP_STRING([--enable-sqlite], [Enable SQL lite support ]),        ,
-         enable_sqlite=no)
-
-if test "$enable_sqlite" != "no"; then
-   PKG_CHECK_MODULES(SQLITE, sqlite3, :, [AC_MSG_ERROR(dnl
-[Could not find sqlite3 devel files:
-
-$SQLITE_PKG_ERRORS
-
-Pass "--without-sqlite" to configure if you want to build libsoup
-without sql lite support.])])
-
-fi
-
-AC_SUBST(SQLITE_CFLAGS)
-AC_SUBST(SQLITE_LIBS)
-
-AM_CONDITIONAL(SQLITE_SUPPORT, [test $enable_sqllite = yes])
-
 dnl *********************
 dnl *** GNOME support ***
 dnl *********************
@@ -173,12 +156,22 @@ dnl ***************
 dnl *** gtk-doc ***
 dnl ***************
 dnl GTK_DOC_CHECK([1.10])
+# gtkdocize greps for ^GTK_DOC_CHECK and parses it, so you need to have
+# it on it's own line.
+m4_ifdef([GTK_DOC_CHECK], [
+GTK_DOC_CHECK([1.20], [--flavour no-tmpl])
+],[])
 
 dnl *****************************
 dnl *** gobject-introspection ***
 dnl *****************************
 GOBJECT_INTROSPECTION_CHECK([0.9.5])
 
+if test "$found_introspection" != "yes" -a "$enable_vala" = ""; then
+       enable_vala=no
+fi
+VAPIGEN_CHECK()
+
 AC_MSG_CHECKING([for glib-networking (glib TLS implementation)])
 save_CFLAGS="$CFLAGS"
 save_LIBS="$LIBS"
@@ -217,13 +210,8 @@ if test "$APACHE_HTTPD" != "no"; then
     AC_MSG_CHECKING([Apache version])
     apache_version=`$APACHE_HTTPD -v 2>/dev/null | sed -ne 's/Server version: Apache\///p'`
     case $apache_version in
-    2.2.*)
-       AC_MSG_RESULT([$apache_version (ok)])
-       apache_version=2.2
-       ;;
     2.4.*)
        AC_MSG_RESULT([$apache_version (ok)])
-       apache_version=2.4
        ;;
     *)
        AC_MSG_RESULT([$apache_version (ignoring)])
@@ -251,47 +239,34 @@ if test "$APACHE_HTTPD" != "no"; then
            APACHE_SSL_MODULE_DIR="$dir"
            IF_HAVE_APACHE_SSL=""
         fi
-        if test -f $dir/mod_php5.so; then
-           APACHE_PHP_MODULE_DIR="$dir"
-           APACHE_PHP_MODULE=mod_php5.so
-        fi
-        if test -f $dir/libphp5.so; then
+        if test -f $dir/libphp7.so; then
            APACHE_PHP_MODULE_DIR="$dir"
-           APACHE_PHP_MODULE=libphp5.so
         fi
     done
     AC_MSG_RESULT($APACHE_MODULE_DIR)
     AC_SUBST(APACHE_MODULE_DIR)
     AC_SUBST(APACHE_SSL_MODULE_DIR)
     AC_SUBST(APACHE_PHP_MODULE_DIR)
-    AC_SUBST(APACHE_PHP_MODULE)
 fi
 
 if test "$APACHE_HTTPD" != "no" -a -n "$APACHE_MODULE_DIR" -a -n "$APACHE_SSL_MODULE_DIR"; then
     AC_DEFINE(HAVE_APACHE, 1, [Whether or not apache can be used for tests])
-    if test $apache_version = 2.2; then
-        AC_DEFINE(HAVE_APACHE_2_2, 1, [Apache is 2.2.x])
-    else
-        AC_DEFINE(HAVE_APACHE_2_4, 1, [Apache is 2.4.x])
-    fi
     have_apache=1
 else
     have_apache=0
 fi
 AM_CONDITIONAL(HAVE_APACHE, test "$have_apache" = 1)
-AM_CONDITIONAL(HAVE_APACHE_2_2, test "$apache_version" = 2.2)
-AM_CONDITIONAL(HAVE_APACHE_2_4, test "$apache_version" = 2.4)
 
 if test "$have_apache" = 1; then
-    AC_CHECK_PROGS(PHP, php php5)
+    AC_CHECK_PROGS(PHP, php)
 
     AC_MSG_CHECKING([for Apache PHP module])
-    if test -f $APACHE_PHP_MODULE_DIR/$APACHE_PHP_MODULE; then
-       have_php=yes
+    if test -d "$APACHE_PHP_MODULE_DIR"; then
+       have_php="yes"
        IF_HAVE_PHP=""
     else
-       have_php=no
-       IF_HAVE_PHP="\#"
+       have_php="no"
+       IF_HAVE_PHP="#"
     fi
     AC_MSG_RESULT($have_php)
     AC_SUBST(IF_HAVE_PHP)
@@ -306,6 +281,13 @@ if test "$have_apache" = 1; then
        fi
        AC_MSG_RESULT($have_php_xmlrpc)
     fi
+
+    if test -f "$APACHE_MODULE_DIR/mod_unixd.so"; then
+       IF_HAVE_MOD_UNIXD=""
+    else
+       IF_HAVE_MOD_UNIXD="#"
+    fi
+    AC_SUBST(IF_HAVE_MOD_UNIXD)
 fi
 
 AC_PATH_PROG(CURL, curl, no)
@@ -330,6 +312,36 @@ 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])
 
+AX_CODE_COVERAGE
+
+dnl **********************
+dnl *** GSSAPI support ***
+dnl **********************
+AC_ARG_WITH(gssapi,
+           AS_HELP_STRING([--with-gssapi],
+           [Build with GSSAPI support [default=auto]]))
+
+if test "$with_gssapi" != "no"; then
+    AC_ARG_WITH(krb5-config,
+               AS_HELP_STRING([--with-krb5-config=PATH],[Where to look for krb5-config, path points to krb5-config installation (default: /usr/kerberos/bin/)]),
+               KRB5_CONFIG="$withval",
+               [AC_PATH_PROGS(KRB5_CONFIG, krb5-config, no, ${PATH}:/usr/kerberos/bin)])
+
+    if test "$KRB5_CONFIG" != "no"; then
+       KRB5_LIBS="`${KRB5_CONFIG} --libs gssapi`"
+       KRB5_CFLAGS="`${KRB5_CONFIG} --cflags gssapi`"
+       AC_SUBST(KRB5_CFLAGS)
+       AC_SUBST(KRB5_LIBS)
+       if test "$KRB5_CONFIG" != none; then
+           AC_DEFINE(LIBSOUP_HAVE_GSSAPI, 1, [Whether or not GSSAPI libs are available])
+       fi
+    else
+       if test "$with_gssapi" = "yes"; then
+           AC_MSG_ERROR([GSSAPI support requested but failed to found krb5-config. Try to set KRB5_CONFIG.])
+       fi
+    fi
+fi
+
 dnl ****************************************************
 dnl *** Warnings to show if using GCC                ***
 dnl *** (do this last so -Werror won't mess up tests ***
@@ -349,6 +361,46 @@ if test "$GCC" = "yes" -a "$set_more_warnings" != "no"; then
                -Werror=declaration-after-statement"
 fi
 
+##################################################
+# Visibility handling
+##################################################
+
+SOUP_HIDDEN_VISIBILITY_CFLAGS=""
+case "$host" in
+    *-*-mingw*)
+        dnl on mingw32 we do -fvisibility=hidden and __declspec(dllexport)
+        AC_DEFINE([_SOUP_EXTERN], [__attribute__((visibility("default"))) __declspec(dllexport) extern],
+                  [defines how to decorate public symbols while building])
+        SOUP_HIDDEN_VISIBILITY_CFLAGS="-fvisibility=hidden"
+        ;;
+    *)
+        dnl on other compilers, check if we can do -fvisibility=hidden
+        SAVED_CFLAGS="${CFLAGS}"
+        CFLAGS="-fvisibility=hidden"
+        AC_MSG_CHECKING([for -fvisibility=hidden compiler flag])
+        AC_TRY_COMPILE([], [return 0],
+                       AC_MSG_RESULT(yes)
+                       enable_fvisibility_hidden=yes,
+                       AC_MSG_RESULT(no)
+                       enable_fvisibility_hidden=no)
+        CFLAGS="${SAVED_CFLAGS}"
+
+        AS_IF([test "${enable_fvisibility_hidden}" = "yes"], [
+            AC_DEFINE([_SOUP_EXTERN], [__attribute__((visibility("default"))) extern],
+                      [defines how to decorate public symbols while building])
+            SOUP_HIDDEN_VISIBILITY_CFLAGS="-fvisibility=hidden"
+        ])
+        ;;
+esac
+AC_SUBST(SOUP_HIDDEN_VISIBILITY_CFLAGS)
+
+dnl ****************************************************
+dnl *** Check whether MSVC toolset is explicitly set ***
+dnl ****************************************************
+AM_CONDITIONAL(MSVC_BASE_NO_TOOLSET_SET, [test x$MSVC_BASE_TOOLSET = x])
+AM_CONDITIONAL(MSVC_NO_TOOLSET_SET, [test x$MSVC_TOOLSET = x])
+
+
 dnl *************************
 dnl *** Output Everything ***
 dnl *************************
@@ -363,9 +415,20 @@ AC_CONFIG_FILES([
        po/Makefile.in
        po/Makefile
        tests/Makefile
+       tests/httpd.conf
        examples/Makefile
        docs/Makefile
        docs/reference/Makefile
        libsoup/soup-version.h
+       config.h.win32
+       win32/Makefile
+       win32/vs9/Makefile
+       win32/vs9/soup-version-paths.vsprops
+       win32/vs10/Makefile
+       win32/vs10/soup-version-paths.props
+       win32/vs11/Makefile
+       win32/vs12/Makefile
+       win32/vs14/Makefile
+       win32/vs15/Makefile
        ])
 AC_OUTPUT