242 lines
6.5 KiB
Diff
242 lines
6.5 KiB
Diff
From b39aaca2ec6c551d7646bcb086afb8083492938b Mon Sep 17 00:00:00 2001
|
|
From: Priit Laes <plaes@plaes.org>
|
|
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
|
|
|