From b39aaca2ec6c551d7646bcb086afb8083492938b Mon Sep 17 00:00:00 2001 From: Priit Laes Date: Tue, 20 Dec 2011 15:42:44 +0200 Subject: [PATCH] Split support for libsoup-gnome Original patch by Romain Perier. --- Makefile.am | 12 ++++++++++-- configure.ac | 47 +++++++++++++++++++++++++++++------------------ libsoup/Makefile.am | 48 ++++++++++++++++++++++++++++++++++++++---------- 3 files changed, 77 insertions(+), 30 deletions(-) diff --git a/Makefile.am b/Makefile.am index 8b86fb7..7f628f4 100644 --- a/Makefile.am +++ b/Makefile.am @@ -1,7 +1,11 @@ ## Process this file with automake to produce Makefile.in ACLOCAL_AMFLAGS = -I m4 ${ACLOCAL_FLAGS} -SUBDIRS = libsoup tests docs +SUBDIRS = libsoup + +if BUILD_LIBSOUP +SUBDIRS += tests docs +endif EXTRA_DIST = \ libsoup-2.4.pc.in \ @@ -15,7 +19,11 @@ DISTCHECK_CONFIGURE_FLAGS = --enable-gtk-doc --enable-introspection pkgconfigdir = $(libdir)/pkgconfig -pkgconfig_DATA = libsoup-2.4.pc +pkgconfig_DATA = + +if BUILD_LIBSOUP +pkgconfig_DATA += libsoup-2.4.pc +endif if BUILD_LIBSOUP_GNOME pkgconfig_DATA += libsoup-gnome-2.4.pc diff --git a/configure.ac b/configure.ac index eee8636..f9d6e47 100644 --- a/configure.ac +++ b/configure.ac @@ -72,19 +72,33 @@ dnl *********************** dnl *** Checks for glib *** dnl *********************** -GLIB_REQUIRED=2.31.7 -AM_PATH_GLIB_2_0($GLIB_REQUIRED,,,gobject gio) -if test "$GLIB_LIBS" = ""; then - AC_MSG_ERROR(GLIB $GLIB_REQUIRED or later is required to build libsoup) +PKG_PROG_PKG_CONFIG +AC_ARG_WITH(libsoup-system, + AS_HELP_STRING([--with-libsoup-system], [Use libsoup system library to build(default=no)]), + [with_libsoup_system=$withval], [with_libsoup_system=no]) +if test "$with_libsoup_system" = "no"; then + GLIB_REQUIRED=2.31.7 + AM_PATH_GLIB_2_0($GLIB_REQUIRED,,,gobject gio) + if test "$GLIB_LIBS" = ""; then + AC_MSG_ERROR(GLIB $GLIB_REQUIRED or later is required to build libsoup) + fi + GLIB_CFLAGS="$GLIB_CFLAGS -DG_DISABLE_SINGLE_INCLUDES" + GLIB_MAKEFILE='$(top_srcdir)/Makefile.glib' + AC_SUBST(GLIB_MAKEFILE) + + PKG_CHECK_MODULES(XML, libxml-2.0) + AC_SUBST(XML_CFLAGS) + AC_SUBST(XML_LIBS) + + dnl ******************* + dnl *** Misc checks *** + dnl ******************* + AC_CHECK_FUNCS(gmtime_r) + AC_CHECK_FUNCS(mmap) + AC_CHECK_FUNC(socket, , AC_CHECK_LIB(socket, socket)) fi -GLIB_CFLAGS="$GLIB_CFLAGS -DG_DISABLE_SINGLE_INCLUDES" - -GLIB_MAKEFILE='$(top_srcdir)/Makefile.glib' -AC_SUBST(GLIB_MAKEFILE) -PKG_CHECK_MODULES(XML, libxml-2.0) -AC_SUBST(XML_CFLAGS) -AC_SUBST(XML_LIBS) +AM_CONDITIONAL(BUILD_LIBSOUP, test $with_libsoup_system = no) dnl *********************** dnl *** Check for Win32 *** @@ -103,13 +117,6 @@ esac AC_MSG_RESULT([$os_win32]) AM_CONDITIONAL(OS_WIN32, [test $os_win32 = yes]) -dnl ******************* -dnl *** Misc checks *** -dnl ******************* -AC_CHECK_FUNCS(gmtime_r) -AC_CHECK_FUNCS(mmap) -AC_CHECK_FUNC(socket, , AC_CHECK_LIB(socket, socket)) - dnl ********************* dnl *** GNOME support *** dnl ********************* @@ -134,6 +141,10 @@ 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]) + if test $with_libsoup_system != no; then + PKG_CHECK_MODULES(LIBSOUP, libsoup-$SOUP_API_VERSION = $VERSION) + fi + PKG_CHECK_MODULES(SQLITE, sqlite3, :, [AC_MSG_ERROR(dnl [Could not find sqlite3 devel files: diff --git a/libsoup/Makefile.am b/libsoup/Makefile.am index aa13eec..ef0c870 100644 --- a/libsoup/Makefile.am +++ b/libsoup/Makefile.am @@ -6,15 +6,18 @@ if OS_WIN32 LIBWS2_32 = -lws2_32 endif -INCLUDES = \ +INCLUDES = +lib_LTLIBRARIES = +CLEANFILES = + +if BUILD_LIBSOUP +INCLUDES += \ -DG_LOG_DOMAIN=\"libsoup\" \ -I$(top_srcdir) \ $(SOUP_DEBUG_FLAGS) \ $(SOUP_MAINTAINER_FLAGS) \ $(GLIB_CFLAGS) \ - $(XML_CFLAGS) \ - $(SQLITE_CFLAGS) \ - $(GNOME_KEYRING_CFLAGS) + $(XML_CFLAGS) libsoupincludedir = $(includedir)/libsoup-2.4/libsoup @@ -67,7 +70,7 @@ libsoupinclude_HEADERS = \ $(soup_headers) \ soup-enum-types.h -lib_LTLIBRARIES = libsoup-2.4.la +lib_LTLIBRARIES += libsoup-2.4.la libsoup_2_4_la_LDFLAGS = \ -version-info $(SOUP_CURRENT):$(SOUP_REVISION):$(SOUP_AGE) -no-undefined @@ -152,6 +155,7 @@ libsoup_2_4_la_SOURCES = \ soup-uri.c \ soup-value-utils.c \ soup-xmlrpc.c +endif if BUILD_LIBSOUP_GNOME @@ -165,6 +169,10 @@ endif libsoupgnomeincludedir = $(includedir)/libsoup-gnome-2.4/libsoup +INCLUDES += $(LIBSOUP_CFLAGS) \ + $(SQLITE_CFLAGS) \ + $(GNOME_KEYRING_CFLAGS) + libsoupgnomeinclude_HEADERS = \ soup-cookie-jar-sqlite.h\ soup-gnome.h \ @@ -172,14 +180,24 @@ libsoupgnomeinclude_HEADERS = \ lib_LTLIBRARIES += libsoup-gnome-2.4.la +if BUILD_LIBSOUP libsoup_gnome_2_4_la_LDFLAGS = $(libsoup_2_4_la_LDFLAGS) +else +libsoup_gnome_2_4_la_LDFLAGS = \ + -version-info $(SOUP_CURRENT):$(SOUP_REVISION):$(SOUP_AGE) -no-undefined +endif libsoup_gnome_2_4_la_LIBADD = \ - libsoup-2.4.la \ $(GLIB_LIBS) \ $(SQLITE_LIBS) \ $(GNOME_KEYRING_LIBS) +if BUILD_LIBSOUP +libsoup_gnome_2_4_la_LIBADD += libsoup-2.4.la +else +libsoup_gnome_2_4_la_LIBADD += $(LIBSOUP_LIBS) +endif + libsoup_gnome_2_4_la_SOURCES = \ soup-cookie-jar-sqlite.c \ soup-gnome-features.c \ @@ -207,6 +225,8 @@ INTROSPECTION_COMPILER_ARGS = --includedir=. if HAVE_INTROSPECTION +if BUILD_LIBSOUP + # Core library gi_soup_files = \ $(filter-out soup.h soup-enum-types.% soup-marshal.% soup-proxy-resolver.h,\ @@ -228,20 +248,28 @@ Soup_2_4_gir_FILES = \ INTROSPECTION_GIRS += Soup-2.4.gir +endif + if BUILD_LIBSOUP_GNOME +if BUILD_LIBSOUP +SOUP_GIR = Soup-2.4.gir +else +SOUP_GIR = +endif + # GNOME extensions gi_soup_gnome_files = $(filter-out soup-gnome.h,\ $(libsoupgnomeinclude_HEADERS) \ $(filter-out %.h, $(libsoup_gnome_2_4_la_SOURCES))) -SoupGNOME-2.4.gir: libsoup-gnome-2.4.la Soup-2.4.gir +SoupGNOME-2.4.gir: libsoup-gnome-2.4.la $(SOUP_GIR) +SoupGNOME_2_4_gir_INCLUDES = Soup-2.4 SoupGNOME_2_4_gir_SCANNERFLAGS = \ --identifier-prefix=Soup \ --symbol-prefix=soup \ - --c-include "libsoup/soup-gnome.h" \ - --include-uninstalled=$(builddir)/Soup-2.4.gir + --c-include "libsoup/soup-gnome.h" SoupGNOME_2_4_gir_CFLAGS = $(INCLUDES) -SoupGNOME_2_4_gir_LIBS = libsoup-gnome-2.4.la libsoup-2.4.la +SoupGNOME_2_4_gir_LIBS = libsoup-gnome-2.4.la SoupGNOME_2_4_gir_FILES = $(addprefix $(srcdir)/,$(gi_soup_gnome_files)) SoupGNOME_2_4_gir_EXPORT_PACKAGES = libsoup-gnome-2.4 -- 1.7.8.4