dnl ******************************************* dnl *** Initialize automake and set version *** dnl ******************************************* AC_PREREQ(2.53) AC_INIT(libsoup, 2.1.5) AC_CONFIG_SRCDIR(libsoup-2.2.pc.in) AM_INIT_AUTOMAKE(AC_PACKAGE_NAME, AC_PACKAGE_VERSION) AM_CONFIG_HEADER(config.h) AM_MAINTAINER_MODE AC_PROG_MAKE_SET SOUP_API_VERSION=2.2 AC_SUBST(SOUP_API_VERSION) # Increment on interface addition. Reset on removal. SOUP_AGE=0 # Increment on interface add, remove, or change. SOUP_CURRENT=1 # Increment on source change. Reset when CURRENT changes. SOUP_REVISION=2 AC_SUBST(SOUP_CURRENT) AC_SUBST(SOUP_REVISION) AC_SUBST(SOUP_AGE) dnl *************************** dnl *** Set debugging flags *** dnl *************************** debug_default=minimum # Declare --enable-* args and collect ac_help strings AC_ARG_ENABLE(debug, [ --enable-debug=[no/minimum/yes] turn on debugging [default=$debug_default]],, enable_debug=$debug_default) # Set the debug flags if test "x$enable_debug" = "xyes"; then test "$cflags_set" = set || CFLAGS="$CFLAGS -g" SOUP_DEBUG_FLAGS="-DG_ENABLE_DEBUG" else if test "x$enable_debug" = "xno"; then SOUP_DEBUG_FLAGS="-DG_DISABLE_ASSERT -DG_DISABLE_CHECKS" fi fi AC_SUBST(SOUP_DEBUG_FLAGS) dnl *************************** dnl *** Checks for programs *** dnl *************************** AC_PROG_CC AM_PROG_CC_STDC AC_PROG_INSTALL # Set STDC_HEADERS AC_HEADER_STDC # Initialize libtool AM_PROG_LIBTOOL # This isn't a program, but it doesn't fit anywhere else... AC_FUNC_ALLOCA dnl *********************** dnl *** Checks for glib *** dnl *********************** AM_PATH_GLIB_2_0(2.0.0,,,gobject gthread) PKG_CHECK_MODULES(XML, libxml-2.0) AC_SUBST(XML_CFLAGS) AC_SUBST(XML_LIBS) dnl ********************************* dnl *** Networking library checks *** dnl ********************************* AC_CHECK_FUNC(socket, , AC_CHECK_LIB(socket, socket)) AC_CHECK_FUNC(gethostbyname, , AC_CHECK_LIB(nsl, gethostbyname)) AC_CHECK_FUNCS(inet_pton inet_aton) ### Check if we have gethostbyname_r (if so, assume gethostbyaddr_r). AC_CHECK_FUNC(gethostbyname_r, [ dnl First check for the glibc variant of gethostbyname_r AC_MSG_CHECKING(for glibc gethostbyname_r) AC_TRY_LINK([ #include ],[ struct hostent result_buf; char buf[1024]; struct hostent* result; int h_errnop; gethostbyname_r("localhost", &result_buf, buf, sizeof(buf), &result, &h_errnop); ], [ dnl Have glibc gethostbyname_r AC_MSG_RESULT(yes) AC_DEFINE(HAVE_GETHOSTBYNAME_R_GLIBC, 1, [Define if you have a glibc-style gethostbyname_r()]) HAVE_GETHOSTBYNAME_R=yes ], [ dnl If we don't have glibc gethostbyname_r, check dnl for Solaris/Irix gethostbyname_r AC_MSG_RESULT(no) AC_MSG_CHECKING(for Solaris/Irix gethostbyname_r) AC_TRY_LINK([ #include ],[ struct hostent result; char buf[1024]; int h_errnop; gethostbyname_r("localhost", &result, buf, sizeof(buf), &h_errnop); ], [ dnl Have Solaris/Irix gethostbyname_r AC_MSG_RESULT(yes) AC_DEFINE(HAVE_GETHOSTBYNAME_R_SOLARIS, 1, [Define if you have a Solaris-style gethostbyname_r()]) HAVE_GETHOSTBYNAME_R=yes ], [ dnl If don't have Solaris/Irix gethostbyname_r, check dnl for HP-UX gethostbyname_r AC_MSG_RESULT(no) AC_MSG_CHECKING(for HP-UX gethostbyname_r) AC_TRY_LINK([ #include ],[ struct hostent result; char buf[1024]; gethostbyname_r("localhost", &result, buf); ], [ dnl Have HP-UX gethostbyname_r AC_MSG_RESULT(yes) AC_DEFINE(HAVE_GETHOSTBYNAME_R_HPUX, 1, [Define if you have an HP-UX-style gethostbyname_r()]) HAVE_GETHOSTBYNAME_R=yes ] )] )] )]) # If we don't have gethostbyname_r, we'll use Glib mutexes, but give a warning if test -z "$HAVE_GETHOSTBYNAME_R"; then AC_DEFINE(HAVE_GETHOSTBYNAME_R_GLIB_MUTEX, 1, [Define if you have no gethostbyname_r()]) AC_MSG_WARN([You have neither Glib threads nor the function gethostbyname_r. This means that calls to gethostbyname (called by the Soup address functions) will not be thread safe so could malfunction in programs that use threads.]) fi AC_CACHE_CHECK(IPv6 support, soup_cv_ipv6, [ AC_EGREP_HEADER(sockaddr_in6, netinet/in.h, soup_cv_ipv6=yes, soup_cv_ipv6=no) ]) case $soup_cv_ipv6 in yes) AC_DEFINE(HAVE_IPV6, 1, [Define if you have support for IPv6 sockets]) ;; esac dnl ********************************** dnl *** SSL Library check (GnuTLS) *** dnl ********************************** AC_ARG_ENABLE(ssl, [ --enable-ssl Turn on Secure Sockets Layer support [default=yes]],, enable_ssl=auto) AC_ARG_ENABLE(ssl-link-static, [ --enable-static-ssl Link with SSL library statically [default=no]], [enable_static_ssl=yes]) AC_ARG_ENABLE(libgpg-error, [ --enable-libgpg-error Work around broken libgcrypt-config scripts], enable_libgpg_error=yes, enable_libgpg_error=no) if test "$enable_ssl" != "no"; then AM_PATH_LIBGNUTLS(1.0.0, have_ssl=yes, have_ssl=no) if test "$have_ssl" != "yes"; then if test "$enable_ssl" == "auto"; then AC_MSG_WARN(Disabling SSL support); enable_ssl=no; else AC_MSG_ERROR(Could not configure SSL support); fi fi fi if test "$enable_ssl" != "no"; then AC_DEFINE(HAVE_SSL, 1, [Defined if you have SSL support]) libgpg_error_libs_static="" libgpg_error_libs="" if test "$enable_libgpg_error" = "yes"; then AM_PATH_GPG_ERROR("0.4") if test "$GPG_ERROR_LIBS" = ""; then AC_MSG_ERROR([libgpg-error is needed]) fi gpg_error_prefix=$($GPG_ERROR_CONFIG --prefix) libgpg_error_libs_static="$gpg_error_prefix/lib/libgpg-error.a" libgpg_error_libs="$GPG_ERROR_LIBS" fi if test "$enable_static_ssl" == "yes"; then gnutls_libdir=`$LIBGNUTLS_CONFIG --exec-prefix`/lib LIBGNUTLS_LIBS="$gnutls_libdir/libgnutls.a $gnutls_libdir/libgcrypt.a $libgpg_error_libs_static" fi fi AC_SUBST(LIBGNUTLS_CFLAGS) AC_SUBST(LIBGNUTLS_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, [ --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" fi # Use reentrant functions (FIXME!) CFLAGS="$CFLAGS -D_REENTRANT" dnl ************************* dnl *** Output Everything *** dnl ************************* AC_OUTPUT([ libsoup-2.2.pc Makefile libsoup/Makefile tests/Makefile docs/Makefile docs/reference/Makefile ])