Specify lib directory for QB
[platform/upstream/glib-networking.git] / configure.ac
old mode 100644 (file)
new mode 100755 (executable)
index 056341f..d772d6a
@@ -1,52 +1,50 @@
 AC_PREREQ(2.65)
 AC_CONFIG_MACRO_DIR([m4])
 
-AC_INIT([glib-networking],[0.0.1],[http://bugzilla.gnome.org/enter_bug.cgi?product=glib-networking])
+AC_INIT([glib-networking],[2.50.0],[http://bugzilla.gnome.org/enter_bug.cgi?product=glib&component=network])
 
 AC_CONFIG_SRCDIR([proxy/libproxy/glibproxyresolver.h])
 AC_CONFIG_HEADERS([config.h])
 
 dnl Other initialization
-AM_INIT_AUTOMAKE
-AM_MAINTAINER_MODE
-m4_ifdef([AM_SILENT_RULES],[AM_SILENT_RULES([yes])],)
+AM_INIT_AUTOMAKE([1.11 no-dist-gzip dist-xz -Wno-portability])
+AM_MAINTAINER_MODE([enable])
+AM_SILENT_RULES([yes])
 LT_INIT
 
 dnl Checks for programs.
 AC_PROG_CC
+AM_PROG_CC_C_O
 AC_PROG_CPP
 
-dnl We need to get variables using pkg-config
-AC_PATH_PROG(PKG_CONFIG, pkg-config, no)
-AS_IF([test "x$PKG_CONFIG" = "xno"],
-      [AC_MSG_FAILURE(Can't find pkg-config tool.)])
-
 dnl Checks for libraries.
 
 dnl ****************************
-dnl *** Checks for intltool  ***
+dnl *** Checks for gettext   ***
 dnl ****************************
+AM_GNU_GETTEXT_VERSION([0.19.4])
+AM_GNU_GETTEXT([external])
 
-IT_PROG_INTLTOOL([0.35.0])
 GETTEXT_PACKAGE=glib-networking
-
 AC_SUBST([GETTEXT_PACKAGE])
 AC_DEFINE_UNQUOTED([GETTEXT_PACKAGE],["$GETTEXT_PACKAGE"],[The gettext domain name])
-AM_GLIB_GNU_GETTEXT
 
 dnl *****************************
 dnl *** Check GLib GIO        ***
 dnl *****************************
-
-PKG_CHECK_MODULES(GIO, [gio-2.0 >= 2.25.13])
-AC_SUBST(GIO_CFLAGS)
-AC_SUBST(GIO_LIBS)
+AM_PATH_GLIB_2_0(2.46.0,,AC_MSG_ERROR(GLIB not found),gio)
+GLIB_CFLAGS="$GLIB_CFLAGS -DGLIB_VERSION_MIN_REQUIRED=GLIB_VERSION_2_46"
 
 GIO_MODULE_DIR=$($PKG_CONFIG --variable giomoduledir gio-2.0)
-AS_IF([test "x$GIO_MODULE_DIR" = "x"],
+AS_IF([test "$GIO_MODULE_DIR" = ""],
       [AC_MSG_FAILURE(GIO_MODULE_DIR is missing from gio-2.0.pc)])
 AC_SUBST(GIO_MODULE_DIR)
 
+AC_PATH_PROG(GIO_QUERYMODULES, gio-querymodules)
+AC_SUBST(GIO_QUERYMODULES)
+
+GLIB_TESTS
+
 dnl *****************************
 dnl *** Checks for LibProxy   ***
 dnl *****************************
@@ -56,20 +54,305 @@ AC_ARG_WITH(libproxy,
                     [support for libproxy @<:@default=check@:>@])],
     [],
     [with_libproxy=check])
-AS_IF([test "x$with_libproxy" != "xno"],
+AS_IF([test "$with_libproxy" != "no"],
     [PKG_CHECK_MODULES(LIBPROXY, [libproxy-1.0 >= 0.3.1],
-        [with_libproxy=yes],
-        [AS_IF([test "x$with_libproxy" = "xyes"],
+        [with_libproxy=yes; proxy_support=libproxy],
+        [AS_IF([test "$with_libproxy" = "yes"],
                [AC_MSG_FAILURE("$LIBPROXY_PKG_ERRORS")])])])
-AM_CONDITIONAL(HAVE_LIBPROXY, [test "x$with_libproxy" = "xyes"])
+AM_CONDITIONAL(HAVE_LIBPROXY, [test "$with_libproxy" = "yes"])
 AC_SUBST(LIBPROXY_CFLAGS)
 AC_SUBST(LIBPROXY_LIBS)
 
-dnl Checks for typedefs, structures, and compiler characteristics.
+dnl **************************************
+dnl *** Checks for GNOME proxy backend ***
+dnl **************************************
+AC_ARG_WITH(gnome-proxy,
+    [AC_HELP_STRING([--with-gnome-proxy],
+                    [support for GNOME proxy configuration @<:@default=check@:>@])],
+    [],
+    [with_gnome_proxy=check])
+AS_IF([test "$with_gnome_proxy" != "no"],
+    [PKG_CHECK_MODULES(GSETTINGS_DESKTOP_SCHEMAS, [gsettings-desktop-schemas],
+        [with_gnome_proxy=yes; proxy_support="gnome $proxy_support"],
+       [AS_IF([test "$with_gnome_proxy" = "yes"],
+               [AC_MSG_FAILURE("$GSETTINGS_DESKTOP_SCHEMAS_PKG_ERRORS")])])])
+AM_CONDITIONAL(HAVE_GNOME_PROXY, [test "$with_gnome_proxy" = "yes"])
+AC_SUBST(GSETTINGS_DESKTOP_SCHEMAS_CFLAGS)
+
+dnl *****************************
+dnl *** Checks for GNUTLS     ***
+dnl *****************************
+
+GNUTLS_MIN_REQUIRED=3.0
+
+AC_ARG_WITH(gnutls,
+    [AC_HELP_STRING([--with-gnutls],
+                    [support for GNUTLS @<:@default=yes@:>@])],
+    [],
+    [with_gnutls=yes])
+if test "$with_gnutls" != "no"; then
+       PKG_CHECK_MODULES(GNUTLS,
+                         [gnutls >= $GNUTLS_MIN_REQUIRED],
+                         [with_gnutls=yes
+                          tls_support="${tls_support}gnutls "],
+                         [AS_IF([test "$with_gnutls" = "yes"],
+                                [AC_MSG_FAILURE("$GNUTLS_PKG_ERRORS")])])
+fi
+AM_CONDITIONAL(HAVE_GNUTLS, [test "$with_gnutls" = "yes"])
+AC_SUBST(GNUTLS_CFLAGS)
+AC_SUBST(GNUTLS_LIBS)
+
+if test "$with_gnutls" = "yes"; then
+    AC_MSG_CHECKING([location of system Certificate Authority list])
+    AC_ARG_WITH(ca-certificates,
+               [AC_HELP_STRING([--with-ca-certificates=@<:@path@:>@],
+                               [path to system Certificate Authority list])])
+    if test "$with_ca_certificates" = "no"; then
+        AC_MSG_RESULT([disabled])
+    else
+        if test -z "$with_ca_certificates"; then
+           for f in /etc/pki/tls/certs/ca-bundle.crt \
+                    /etc/ssl/certs/ca-certificates.crt \
+                    /etc/ssl/ca-bundle.pem; do
+               if test -f "$f"; then
+                   with_ca_certificates="$f"
+               fi
+           done
+           if test -z "$with_ca_certificates"; then
+               AC_MSG_ERROR([could not find. Use --with-ca-certificates=path to set, or --without-ca-certificates to disable])
+           fi
+        fi
+
+        AC_MSG_RESULT($with_ca_certificates)
+        AC_DEFINE_UNQUOTED(GTLS_SYSTEM_CA_FILE, ["$with_ca_certificates"], [The system TLS CA list])
+    fi
+fi
+
+dnl *****************************
+dnl *** Checks for pkcs11    ***
+dnl *****************************
+
+P11_KIT_REQUIRED=0.8
+
+AC_ARG_WITH(pkcs11,
+       [AC_HELP_STRING([--with-pkcs11],
+                       [support for pkcs11 @<:@default=check@:>@])],
+                       [],
+                       [with_pkcs11=check])
+if test "$with_pkcs11" != "no"; then
+       PKG_CHECK_MODULES(PKCS11,
+                         [p11-kit-1 >= $P11_KIT_REQUIRED],
+                         [with_pkcs11=yes
+                          pkcs11_support=p11-kit
+                          tls_support="${tls_support}gnutls-pkcs11 "
+                          AC_DEFINE_UNQUOTED([HAVE_PKCS11], [1], [Building with PKCS#11 support])],
+                         [AS_IF([test "$with_pkcs11" = "yes"],
+                                [AC_MSG_FAILURE("$PKCS11_PKG_ERRORS")])
+                          pkcs11_support=no])
+else
+       pkcs11_support=no
+fi
+AM_CONDITIONAL(HAVE_PKCS11, [test "$with_pkcs11" = "yes"])
+AC_SUBST(PKCS11_CFLAGS)
+AC_SUBST(PKCS11_LIBS)
+
+dnl *************************
+dnl *** Tizen multiple certificate support  ***
+dnl *************************
+
+AC_ARG_ENABLE(tizen-multiple-certificate,
+       AS_HELP_STRING([--enable-tizen-multiple-certificate], [Enable Tizen multiple certificate support ]),        ,
+       enable_tizen_multiple_certificate=no)
+
+AC_MSG_CHECKING([for Tizen multiple certificate])
+if test $enable_tizen_multiple_certificate != no;then
+        AC_DEFINE(ENABLE_TIZEN_TV_MULTIPLE_CERTIFICATE, 1, [Add new feature, support to install more than one file, multiple file path will be seperated by colon symbol])
+fi
+AC_MSG_RESULT($enable_tizen_multiple_certificate)
+
+AM_CONDITIONAL(TIZEN_TV_MULTIPLE_CERTIFICATE, [test $enable_tizen_multiple_certificate = yes])
+
+dnl ***************************
+dnl *** Tizen dlog support  ***
+dnl ***************************
+
+AC_ARG_ENABLE(tizen-dlog,
+        AS_HELP_STRING([--enable-tizen-dlog], [Enable Tizen dlog support ]),        ,
+        enable_tizen_dlog=no)
+
+AC_MSG_CHECKING([for Tizen dlog])
+if test $enable_tizen_dlog != no;then
+        AC_DEFINE(ENABLE_TIZEN_DLOG, 1, [Add new feature, support to add tizen dlog in glib-networking])
+fi
+AC_MSG_RESULT($enable_tizen_dlog)
+
+AM_CONDITIONAL(TIZEN_DLOG, [test $enable_tizen_dlog = yes])
+
+dnl ****************************
+dnl *** GNUTLS debug support ***
+dnl ****************************
+
+AC_ARG_ENABLE(tizen-gnutls-debug,
+               AS_HELP_STRING([--enable-tizen-gnutls-debug], [Enable Tizen GNUTLS debug support ]),        ,
+               enable_tizen_gnutls_debug=no)
 
-dnl Checks for library functions.
+AC_MSG_CHECKING([for Tizen GNUTLS debug])
+if test $enable_tizen_gnutls_debug != no;then
+               AC_DEFINE(ENABLE_TIZEN_GNUTLS_DEBUG, 1,
+                               [Add new feature, support to enable GNUTLS debug function in glib-networking])
+fi
+AC_MSG_RESULT($enable_tizen_gnutls_debug)
 
+AM_CONDITIONAL(TIZEN_GNUTLS_DEBUG, [test $enable_tizen_gnutls_debug = yes])
+
+
+dnl *****************************************************
+dnl *** Tizen update gnutls default priority support  ***
+dnl *****************************************************
+
+AC_ARG_ENABLE(tizen-tv-update-default-priority,
+        AS_HELP_STRING([--enable-tizen-tv-update-default-priority], [Enable Tizen update gnults default priority support ]),        ,
+        enable_tizen_tv_update_default_priority=no)
+
+AC_MSG_CHECKING([for Tizen tv update default priority])
+if test $enable_tizen_tv_update_default_priority != no;then
+        AC_DEFINE(ENABLE_TIZEN_TV_UPDATE_DEFAULT_PRIORITY, 1, [Add new feature, support to update gnutls default priority in glib-networking])
+fi
+AC_MSG_RESULT($enable_tizen_tv_update_default_priority)
+
+AM_CONDITIONAL(TIZEN_TV_UPDATE_DEFAULT_PRIORITY, [test $enable_tizen_tv_update_default_priority = yes])
+
+dnl *******************************
+dnl *** Tizen performance test  ***
+dnl *******************************
+
+AC_ARG_ENABLE(tizen-performance-test-log,
+        AS_HELP_STRING([--enable-tizen-performance-test-log], [Enable Tizen performance test log]),        ,
+       enable_tizen_performance_test_log=no)
+
+AC_MSG_CHECKING([for Tizen performance test log])
+if test $enable_tizen_performance_test_log != no;then
+       AC_DEFINE(ENABLE_TIZEN_PERFORMANCE_TEST_LOG, 1, [Add performance test log])
+fi
+AC_MSG_RESULT($enable_tizen_performance_test_log)
+
+AM_CONDITIONAL(TIZEN_PERFORMANCE_TEST_LOG, [test $enable_tizen_performance_test_log = yes])
+
+dnl *************************************************************************
+dnl *** Use soupTimeOffset to adjust time for certificate or cookie case  ***
+dnl *************************************************************************
+
+AC_ARG_ENABLE(tizen-tv-adjust-time,
+        AS_HELP_STRING([--enable-tizen-tv-adjust-time], [Enable Tizen use soupTimeOffset to adjust time for certificate or cookie case ]),        ,
+        enable_tizen_tv_adjust_time=no)
+
+AC_MSG_CHECKING([for Tizen use soupTimeOffset to adjust time for certificate or cookie case])
+if test $enable_tizen_tv_adjust_time != no;then
+        AC_DEFINE(ENABLE_TIZEN_TV_ADJUST_TIME, 1, [Add new feature, which use soupTimeOffset to adjust time for certificate or cookie case])
+fi
+AC_MSG_RESULT($enable_tizen_tv_adjust_time)
+
+AM_CONDITIONAL(TIZEN_TV_ADJUST_TIME, [test $enable_tizen_tv_adjust_time = yes])
+
+dnl ************************************
+dnl *** Enable lcov coverage reports ***
+dnl ************************************
+
+AC_ARG_ENABLE(gcov,
+  AS_HELP_STRING([--enable-gcov],
+                [Enable gcov]),
+  [use_gcov=$enableval], [use_gcov=no])
+
+if test "$use_gcov" = "yes"; then
+  dnl we need gcc:
+  if test "$GCC" != "yes"; then
+    AC_MSG_ERROR([GCC is required for --enable-gcov])
+  fi
+
+  ltp_version_list="1.6 1.7 1.8 1.9"
+  AC_CHECK_PROG(LTP, lcov, lcov)
+  AC_CHECK_PROG(LTP_GENHTML, genhtml, genhtml)
+
+  if test "$LTP"; then
+    AC_CACHE_CHECK([for ltp version], glib_cv_ltp_version, [
+      glib_cv_ltp_version=invalid
+      ltp_version=`$LTP -v 2>/dev/null | $SED -e 's/^.* //'`
+      for ltp_check_version in $ltp_version_list; do
+        if test "$ltp_version" = "$ltp_check_version"; then
+          glib_cv_ltp_version="$ltp_check_version (ok)"
+        fi
+      done
+    ])
+  else
+    ltp_msg="To enable code coverage reporting you must have one of the following LTP versions installed: $ltp_version_list"
+    AC_MSG_ERROR([$ltp_msg])
+  fi
+
+  case $glib_cv_ltp_version in
+    ""|invalid[)]
+      ltp_msg="You must have one of the following versions of LTP: $ltp_version_list (found: $ltp_version)."
+      AC_MSG_ERROR([$ltp_msg])
+      LTP="exit 0;"
+      ;;
+  esac
+
+  if test -z "$LTP_GENHTML"; then
+    AC_MSG_ERROR([Could not find genhtml from the LTP package])
+  fi
+
+  AC_DEFINE(HAVE_GCOV, 1, [Whether you have gcov])
+
+  dnl Remove all optimization flags from CFLAGS
+  changequote({,})
+  CFLAGS=`echo "$CFLAGS" | $SED -e 's/-O[0-9]*//g'`
+  changequote([,])
+
+  dnl Add the special gcc flags
+  CFLAGS="$CFLAGS -O0 -fprofile-arcs -ftest-coverage"
+  LDFLAGS="$LDFLAGS -lgcov"
+fi
+
+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=declaration-after-statement"
+fi
+
+dnl *****************************
+dnl *** done                  ***
+dnl *****************************
 AC_CONFIG_FILES([Makefile
                  po/Makefile.in po/Makefile
-                 proxy/libproxy/Makefile])
+                 proxy/libproxy/Makefile
+                 proxy/gnome/Makefile
+                 proxy/tests/Makefile
+                 tls/gnutls/Makefile
+                 tls/pkcs11/Makefile
+                 tls/tests/Makefile
+                ])
 AC_OUTPUT
+
+echo ""
+echo     "  Proxy support:     ${proxy_support:-no}"
+echo     "  TLS support:       ${tls_support:-no}"
+if test "$tls_support" != "no"; then
+    echo "  PKCS#11 Support:   $pkcs11_support"
+    echo "  TLS CA file:       ${with_ca_certificates:-(none)}"
+    if test "x$with_ca_certificates" != xno -a -n "$with_ca_certificates"; then
+       if ! test -f "$with_ca_certificates"; then
+           AC_MSG_WARN([Specified certificate authority file '$with_ca_certificates' does not exist])
+       fi
+    fi
+fi