mirror of
https://github.com/ostreedev/ostree.git
synced 2024-12-22 17:35:55 +03:00
Support building with embedded libsoup
This commit is contained in:
parent
78b0d99238
commit
10bf223f0a
@ -57,8 +57,8 @@ ostree_pull_SOURCES = src/ostree/ot-main.h \
|
||||
src/ostree/ostree-fetcher.c \
|
||||
src/ostree/ostree-pull.c
|
||||
|
||||
ostree_pull_CFLAGS = $(ostree_bin_shared_cflags) $(OT_DEP_SOUP_CFLAGS)
|
||||
ostree_pull_LDADD = $(ostree_bin_shared_ldadd) $(OT_DEP_SOUP_LIBS)
|
||||
ostree_pull_CFLAGS = $(ostree_bin_shared_cflags) $(OT_INTERNAL_SOUP_CFLAGS)
|
||||
ostree_pull_LDADD = $(ostree_bin_shared_ldadd) $(OT_INTERNAL_SOUP_LIBS)
|
||||
endif
|
||||
|
||||
MANPAGES += doc/ostree.1
|
||||
|
35
Makefile.am
35
Makefile.am
@ -20,7 +20,7 @@ AM_CPPFLAGS = -DDATADIR='"$(datadir)"' -DLIBEXECDIR='"$(libexecdir)"' \
|
||||
-DGLIB_VERSION_MIN_REQUIRED=GLIB_VERSION_2_28 -DGLIB_VERSION_MAX_ALLOWED=GLIB_VERSION_2_28
|
||||
AM_CFLAGS = $(WARN_CFLAGS)
|
||||
|
||||
if BUILD_EMBEDDED_GLIB
|
||||
if BUILD_EMBEDDED_DEPENDENCIES
|
||||
SUBDIRS = embedded-dependencies .
|
||||
else
|
||||
SUBDIRS = .
|
||||
@ -40,22 +40,32 @@ noinst_PROGRAMS =
|
||||
privlibdir = $(pkglibdir)
|
||||
privlib_LTLIBRARIES =
|
||||
|
||||
if BUILD_EMBEDDED_GLIB
|
||||
if BUILD_EMBEDDED_DEPENDENCIES
|
||||
OT_INTERNAL_GIO_UNIX_CFLAGS = \
|
||||
-I$(top_builddir)/embedded-dependencies/install-glib/EMBEDGLIB/include/glib-2.0 \
|
||||
-I$(top_builddir)/embedded-dependencies/install-glib/EMBEDGLIB/include/gio-unix-2.0 \
|
||||
-I$(top_builddir)/embedded-dependencies/install-glib/EMBEDGLIB/lib/glib-2.0/include \
|
||||
-I$(top_builddir)/embedded-dependencies/EMBEDDEPS/include/glib-2.0 \
|
||||
-I$(top_builddir)/embedded-dependencies/EMBEDDEPS/include/gio-unix-2.0 \
|
||||
-I$(top_builddir)/embedded-dependencies/EMBEDDEPS/lib/glib-2.0/include \
|
||||
$(NULL)
|
||||
OT_INTERNAL_GIO_UNIX_LIBS = \
|
||||
$(top_builddir)/embedded-dependencies/install-glib/EMBEDGLIB/lib/libglib-2.0.so \
|
||||
$(top_builddir)/embedded-dependencies/install-glib/EMBEDGLIB/lib/libgthread-2.0.so \
|
||||
$(top_builddir)/embedded-dependencies/install-glib/EMBEDGLIB/lib/libgmodule-2.0.so \
|
||||
$(top_builddir)/embedded-dependencies/install-glib/EMBEDGLIB/lib/libgobject-2.0.so \
|
||||
$(top_builddir)/embedded-dependencies/install-glib/EMBEDGLIB/lib/libgio-2.0.so \
|
||||
$(top_builddir)/embedded-dependencies/EMBEDDEPS/lib/libglib-2.0.so \
|
||||
$(top_builddir)/embedded-dependencies/EMBEDDEPS/lib/libgthread-2.0.so \
|
||||
$(top_builddir)/embedded-dependencies/EMBEDDEPS/lib/libgmodule-2.0.so \
|
||||
$(top_builddir)/embedded-dependencies/EMBEDDEPS/lib/libgobject-2.0.so \
|
||||
$(top_builddir)/embedded-dependencies/EMBEDDEPS/lib/libgio-2.0.so \
|
||||
$(NULL)
|
||||
OT_INTERNAL_SOUP_CFLAGS = \
|
||||
$(OT_INTERNAL_GIO_UNIX_CFLAGS) \
|
||||
-I$(top_builddir)/embedded-dependencies/EMBEDDEPS/include/libsoup-2.4 \
|
||||
$(NULL)
|
||||
OT_INTERNAL_SOUP_LIBS = \
|
||||
$(OT_INTERNAL_GIO_UNIX_LIBS) \
|
||||
$(top_builddir)/embedded-dependencies/EMBEDDEPS/lib/libsoup-2.4.so \
|
||||
$(NULL)
|
||||
else
|
||||
OT_INTERNAL_GIO_UNIX_CFLAGS = $(OT_DEP_GIO_UNIX_CFLAGS)
|
||||
OT_INTERNAL_GIO_UNIX_LIBS = $(OT_DEP_GIO_UNIX_LIBS)
|
||||
OT_INTERNAL_SOUP_CFLAGS = $(OT_DEP_SOUP_CFLAGS)
|
||||
OT_INTERNAL_SOUP_LIBS = $(OT_DEP_SOUP_LIBS)
|
||||
endif
|
||||
|
||||
include Makefile-daemon.am
|
||||
@ -108,8 +118,11 @@ endif
|
||||
release-tag:
|
||||
git tag -m "Release $(VERSION)" v$(VERSION)
|
||||
|
||||
embed_dependency=tar --append --exclude='.git/*' --transform='s,^embedded-dependencies/,ostree-embeddeps-$(VERSION)/embedded-dependencies/,' --file=ostree-embeddeps-$(VERSION).tar.tmp
|
||||
|
||||
release-tarball-embedded:
|
||||
git archive --format=tar --prefix=ostree-embeddeps-$(VERSION)/ HEAD > ostree-embeddeps-$(VERSION).tar.tmp
|
||||
tar --append --exclude='.git/*' --transform='s,^embedded-dependencies/,ostree-embeddeps-$(VERSION)/embedded-dependencies/,' --file=ostree-embeddeps-$(VERSION).tar.tmp embedded-dependencies/glib
|
||||
$(embed_dependency) embedded-dependencies/glib
|
||||
$(embed_dependency) embedded-dependencies/libsoup
|
||||
mv ostree-embeddeps-$(VERSION).tar{.tmp,}
|
||||
gzip -f ostree-embeddeps-$(VERSION).tar
|
||||
|
58
configure.ac
58
configure.ac
@ -26,17 +26,38 @@ AC_CHECK_HEADER([attr/xattr.h],,[AC_MSG_ERROR([You must have attr/xattr.h from l
|
||||
|
||||
PKG_PROG_PKG_CONFIG
|
||||
|
||||
AC_ARG_ENABLE(embedded-glib,
|
||||
AS_HELP_STRING([--enable-embedded-glib], [Use embedded GLib copy]),,
|
||||
enable_embedded_glib=no)
|
||||
AM_CONDITIONAL(BUILD_EMBEDDED_GLIB, test x$enable_embedded_glib = xyes)
|
||||
if test x$enable_embedded_glib = xyes; then
|
||||
echo "NOTICE: Embedded glib enabled"
|
||||
AC_ARG_ENABLE(embedded-dependencies,
|
||||
AS_HELP_STRING([--enable-embedded-dependencies], [Use embedded GLib and libsoup copies]),,
|
||||
enable_embedded_dependencies=no)
|
||||
AM_CONDITIONAL(BUILD_EMBEDDED_DEPENDENCIES, test x$enable_embedded_dependencies = xyes)
|
||||
if test x$enable_embedded_dependencies = xyes; then
|
||||
echo "NOTICE: Embedded dependencies (GLib and libsoup) enabled"
|
||||
with_soup=yes
|
||||
else
|
||||
GIO_DEPENDENCY="gio-unix-2.0 >= 2.28"
|
||||
PKG_CHECK_MODULES(OT_DEP_GIO_UNIX, $GIO_DEPENDENCY)
|
||||
|
||||
SOUP_DEPENDENCY="libsoup-2.4 >= 2.39.1"
|
||||
AC_ARG_WITH(soup-gnome,
|
||||
AS_HELP_STRING([--without-soup-gnome], [Do not use libsoup-gnome (implies no pull support)]),
|
||||
:, with_soup=maybe)
|
||||
if test x$with_soup != xno; then
|
||||
AC_MSG_CHECKING([for $SOUP_DEPENDENCY])
|
||||
PKG_CHECK_EXISTS($SOUP_DEPENDENCY, have_soup_gnome=yes, have_soup_gnome=no)
|
||||
AC_MSG_RESULT([$have_soup_gnome])
|
||||
if test x$have_soup_gnome = xno && test x$with_soup != xmaybe; then
|
||||
AC_MSG_ERROR([libsoup-gnome is enabled but could not be found])
|
||||
fi
|
||||
if test x$have_soup_gnome = xyes; then
|
||||
PKG_CHECK_MODULES(OT_DEP_SOUP, $SOUP_DEPENDENCY)
|
||||
with_soup=yes
|
||||
else
|
||||
with_soup=no
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
SOUP_DEPENDENCY="libsoup-2.4 >= 2.39.1"
|
||||
AM_CONDITIONAL(USE_LIBSOUP_GNOME, test x$enable_embedded_dependencies = xyes || x$with_soup != xno)
|
||||
|
||||
LIBARCHIVE_DEPENDENCY="libarchive >= 2.8.0"
|
||||
|
||||
AC_ARG_ENABLE(documentation,
|
||||
@ -51,25 +72,6 @@ if test x$enable_documentation = xyes; then
|
||||
fi
|
||||
AM_CONDITIONAL(BUILD_DOCUMENTATION, test x$enable_documentation = xyes)
|
||||
|
||||
AC_ARG_WITH(soup-gnome,
|
||||
AS_HELP_STRING([--without-soup-gnome], [Do not use libsoup-gnome (implies no pull support)]),
|
||||
:, with_soup_gnome=maybe)
|
||||
if test x$with_soup_gnome != xno; then
|
||||
AC_MSG_CHECKING([for $SOUP_DEPENDENCY])
|
||||
PKG_CHECK_EXISTS($SOUP_DEPENDENCY, have_soup_gnome=yes, have_soup_gnome=no)
|
||||
AC_MSG_RESULT([$have_soup_gnome])
|
||||
if test x$have_soup_gnome = xno && test x$with_soup_gnome != xmaybe; then
|
||||
AC_MSG_ERROR([libsoup-gnome is enabled but could not be found])
|
||||
fi
|
||||
if test x$have_soup_gnome = xyes; then
|
||||
PKG_CHECK_MODULES(OT_DEP_SOUP, $SOUP_DEPENDENCY)
|
||||
with_soup_gnome=yes
|
||||
else
|
||||
with_soup_gnome=no
|
||||
fi
|
||||
fi
|
||||
AM_CONDITIONAL(USE_LIBSOUP_GNOME, test $with_soup_gnome != no)
|
||||
|
||||
AC_ARG_WITH(libarchive,
|
||||
AS_HELP_STRING([--without-libarchive], [Do not use libarchive]),
|
||||
:, with_libarchive=maybe)
|
||||
@ -101,7 +103,7 @@ echo "
|
||||
===============
|
||||
|
||||
|
||||
embedded GLib: $enable_embedded_glib
|
||||
libsoup (retrieve remote HTTP repositories): $with_soup_gnome
|
||||
embedded dependencies: $enable_embedded_dependencies
|
||||
libsoup (retrieve remote HTTP repositories): $with_soup
|
||||
libarchive (parse tar files directly): $with_libarchive
|
||||
"
|
||||
|
@ -20,21 +20,40 @@
|
||||
build-glib/gio/libgio-2.0.la:
|
||||
mkdir -p build-glib
|
||||
(srcdir=$$(cd $(srcdir) && pwd); \
|
||||
builddir=$$(pwd); \
|
||||
cd build-glib; \
|
||||
$${srcdir}/glib/autogen.sh --prefix=/EMBEDGLIB --disable-introspection --disable-man --disable-gtk-doc && \
|
||||
$${srcdir}/glib/autogen.sh --prefix=$${builddir}/EMBEDDEPS --disable-introspection \
|
||||
--disable-man --disable-gtk-doc && \
|
||||
$(MAKE))
|
||||
|
||||
install-glib/EMBEDGLIB/include/glib-2.0/glib.h: build-glib/gio/libgio-2.0.la
|
||||
EMBEDDEPS/include/glib-2.0/glib.h: build-glib/gio/libgio-2.0.la
|
||||
(top_srcdir=$$(cd $(top_srcdir) && pwd); \
|
||||
builddir=$$(pwd); \
|
||||
cd build-glib && \
|
||||
rm -rf install-glib && \
|
||||
$(MAKE) install DESTDIR=$${builddir}/install-glib)
|
||||
$(MAKE) install)
|
||||
|
||||
all-local: install-glib/EMBEDGLIB/include/glib-2.0/glib.h
|
||||
build-libsoup/libsoup/libsoup-2.4.la: EMBEDDEPS/include/glib-2.0/glib.h
|
||||
mkdir -p build-libsoup
|
||||
(srcdir=$$(cd $(srcdir) && pwd); \
|
||||
builddir=$$(pwd); \
|
||||
cd build-libsoup; \
|
||||
env PATH=$${builddir}/EMBEDDEPS/bin:$$PATH \
|
||||
PKG_CONFIG_PATH=$${builddir}/EMBEDDEPS/lib/pkg-config \
|
||||
$${srcdir}/libsoup/autogen.sh --prefix=$${builddir}/EMBEDDEPS --disable-introspection \
|
||||
--disable-soup-gnome --disable-gtk-doc --disable-tls-check --without-apache-httpd \
|
||||
--without-ntlm-auth && \
|
||||
$(MAKE))
|
||||
|
||||
EMBEDDEPS/include/libsoup-2.4/libsoup/soup.h: build-libsoup/libsoup/libsoup-2.4.la
|
||||
(top_srcdir=$$(cd $(top_srcdir) && pwd); \
|
||||
builddir=$$(pwd); \
|
||||
cd build-libsoup && \
|
||||
$(MAKE) install)
|
||||
|
||||
all-local: EMBEDDEPS/include/libsoup-2.4/libsoup/soup.h
|
||||
|
||||
install-exec-local:
|
||||
echo `pwd`
|
||||
$(MKDIR_P) $(DESTDIR)/$(pkglibdir)
|
||||
install install-glib/EMBEDGLIB/lib/*.so.* $(DESTDIR)/$(pkglibdir)
|
||||
install EMBEDDEPS/lib/*.so.* $(DESTDIR)/$(pkglibdir)
|
||||
|
||||
|
@ -1,2 +1,3 @@
|
||||
embedded-glib-download:
|
||||
test -d glib || git clone --depth=1 git://git.gnome.org/glib -b glib-2-32 glib
|
||||
embedded-deps-download:
|
||||
test -d glib || git clone --depth=1 git://git.gnome.org/glib -b master glib
|
||||
test -d libsoup || git clone --depth=1 git://git.gnome.org/libsoup -b master libsoup
|
||||
|
Loading…
Reference in New Issue
Block a user