Split support for libsoup-gnome Original patch by Romain Perier. --- --- configure.ac +++ configure.ac @@ -72,15 +72,30 @@ dnl *** Checks for glib *** dnl *********************** -AM_PATH_GLIB_2_0(2.30.0,,,gobject gthread gio) -if test "$GLIB_LIBS" = ""; then - AC_MSG_ERROR(GLIB 2.30.0 or later is required to build libsoup) -fi -GLIB_CFLAGS="$GLIB_CFLAGS -DG_DISABLE_SINGLE_INCLUDES" - -PKG_CHECK_MODULES(XML, libxml-2.0) -AC_SUBST(XML_CFLAGS) -AC_SUBST(XML_LIBS) +PKG_PROG_PKG_CONFIG +enable_ssl=no +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 + AM_PATH_GLIB_2_0(2.30.0,,,gobject gthread gio) + if test "$GLIB_LIBS" = ""; then + AC_MSG_ERROR(GLIB 2.30.0 or later is required to build libsoup) + fi + GLIB_CFLAGS="$GLIB_CFLAGS -DG_DISABLE_SINGLE_INCLUDES" + + 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 +AM_CONDITIONAL(BUILD_LIBSOUP, test $with_libsoup_system = no) dnl *********************** dnl *** Check for Win32 *** @@ -99,13 +114,6 @@ 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 ********************* @@ -130,6 +138,10 @@ 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: --- libsoup/Makefile.am +++ libsoup/Makefile.am @@ -4,15 +4,18 @@ 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) MARSHAL_GENERATED = soup-marshal.c soup-marshal.h MKENUMS_GENERATED = soup-enum-types.c soup-enum-types.h @@ -41,7 +44,7 @@ BUILT_SOURCES = $(MARSHAL_GENERATED) $(MKENUMS_GENERATED) -CLEANFILES = $(MARSHAL_GENERATED) $(MKENUMS_GENERATED) +CLEANFILES += $(MARSHAL_GENERATED) $(MKENUMS_GENERATED) libsoupincludedir = $(includedir)/libsoup-2.4/libsoup @@ -94,7 +97,7 @@ $(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 @@ -178,6 +181,7 @@ soup-uri-private.h \ soup-value-utils.c \ soup-xmlrpc.c +endif if BUILD_LIBSOUP_GNOME @@ -191,6 +195,10 @@ 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 \ @@ -198,14 +206,24 @@ 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 \ @@ -225,6 +243,8 @@ if HAVE_INTROSPECTION +if BUILD_LIBSOUP + # Core library gi_soup_files = \ $(filter-out soup.h soup-enum-types.% soup-marshal.%,\ @@ -246,20 +266,28 @@ 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 --- Makefile.am +++ Makefile.am @@ -1,7 +1,11 @@ ## Process this file with automake to produce Makefile.in ACLOCAL_AMFLAGS = -I m4 -SUBDIRS = libsoup tests docs +SUBDIRS = libsoup + +if BUILD_LIBSOUP +SUBDIRS += tests docs +endif EXTRA_DIST = \ libsoup-2.4.pc.in \ @@ -14,7 +18,11 @@ 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