From 1e00110c92f66b3b2aaa5b5cf0c80e56bd7fea5a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lo=C3=AFc=20Minier?= Date: Tue, 10 Sep 2013 17:52:25 +0200 Subject: [PATCH] Make aptcc backend's GStreamer support optional --- backends/aptcc/Makefile.am | 15 ++++++++++----- backends/aptcc/apt-intf.cpp | 6 ++++++ configure.ac | 30 ++++++++++++++++++++++++++---- 3 files changed, 42 insertions(+), 9 deletions(-) diff --git a/backends/aptcc/Makefile.am b/backends/aptcc/Makefile.am index 9e3ab9a..2825927 100644 --- a/backends/aptcc/Makefile.am +++ b/backends/aptcc/Makefile.am @@ -9,7 +9,6 @@ libpk_backend_aptcc_la_SOURCES = PkgList.cpp \ acqpkitstatus.cpp \ deb-file.cpp \ matcher.cpp \ - gstMatcher.cpp \ apt-messages.cpp \ apt-utils.cpp \ apt-sourceslist.cpp \ @@ -18,11 +17,10 @@ libpk_backend_aptcc_la_SOURCES = PkgList.cpp \ apt-intf.cpp \ pk-backend-aptcc.cpp libpk_backend_aptcc_la_LIBADD = -lcrypt -lapt-pkg -lapt-inst $(PK_PLUGIN_LIBS) -libpk_backend_aptcc_la_LDFLAGS = -module -avoid-version $(APTCC_LIBS) $(GSTREAMER_LIBS) +libpk_backend_aptcc_la_LDFLAGS = -module -avoid-version $(APTCC_LIBS) libpk_backend_aptcc_la_CFLAGS = $(PK_PLUGIN_CFLAGS) $(AM_CPPFLAGS) -libpk_backend_aptcc_la_CPPFLAGS = $(PK_PLUGIN_CFLAGS) $(APTCC_CFLAGS) $(GSTREAMER_CFLAGS) \ +libpk_backend_aptcc_la_CPPFLAGS = $(PK_PLUGIN_CFLAGS) $(APTCC_CFLAGS) \ $(AM_CPPFLAGS) - aptconfdir = ${SYSCONFDIR}/apt/apt.conf.d aptconf_DATA = 20packagekit @@ -31,7 +29,6 @@ EXTRA_DIST = 20packagekit \ apt-intf.h \ apt-utils.h \ apt-sourceslist.h \ - gstMatcher.h \ matcher.h \ deb-file.h \ apt-messages.h \ @@ -40,6 +37,14 @@ EXTRA_DIST = 20packagekit \ AptCacheFile.h \ pkg_acqfile.h +if APTCC_GSTREAMER +libpk_backend_aptcc_la_SOURCES += gstMatcher.cpp +libpk_backend_aptcc_la_LDFLAGS += $(GSTREAMER_LIBS) +libpk_backend_aptcc_la_CPPFLAGS += $(GSTREAMER_CFLAGS) + +EXTRA_DIST += gstMatcher.h +endif + helperdir = $(datadir)/PackageKit/helpers/aptcc dist_helper_DATA = \ get-distro-upgrade.py \ diff --git a/backends/aptcc/apt-intf.cpp b/backends/aptcc/apt-intf.cpp index 78a8f35..ee3f1ac 100644 --- a/backends/aptcc/apt-intf.cpp +++ b/backends/aptcc/apt-intf.cpp @@ -42,7 +42,9 @@ #include "AptCacheFile.h" #include "apt-utils.h" #include "matcher.h" +#ifdef APTCC_GSTREAMER #include "gstMatcher.h" +#endif #include "apt-messages.h" #include "acqpkitstatus.h" #include "pkg_acqfile.h" @@ -445,6 +447,7 @@ void AptIntf::emitUpdates(PkgList &output, PkBitfield filters) // search packages which provide a codec (specified in "values") void AptIntf::providesCodec(PkgList &output, gchar **values) { +#ifdef APTCC_GSTREAMER GstMatcher *matcher = new GstMatcher(values); if (!matcher->hasMatches()) { return; @@ -482,6 +485,9 @@ void AptIntf::providesCodec(PkgList &output, gchar **values) } delete matcher; +#else + return; +#endif } // search packages which provide the libraries specified in "values" diff --git a/configure.ac b/configure.ac index f713829..235b90c 100644 --- a/configure.ac +++ b/configure.ac @@ -665,6 +665,12 @@ if test x$enable_apt = xyes; then AC_MSG_WARN([Repository handling not supported])) fi +AC_ARG_ENABLE(aptcc_gstreamer, + AS_HELP_STRING([--enable-aptcc-gstreamer], + [Build aptcc with gstreamer support]), + enable_aptcc_gstreamer=$enableval, + aptcc_gstreamer=auto) + if test x$enable_aptcc = xyes; then dnl Use C++ AC_LANG([C++]) @@ -685,10 +691,19 @@ if test x$enable_aptcc = xyes; then AC_SUBST(APTCC_CFLAGS) AC_SUBST(APTCC_LIBS) - PKG_CHECK_MODULES(GSTREAMER, gstreamer-0.10 gstreamer-base-0.10 gstreamer-plugins-base-0.10,, - [AC_MSG_ERROR([Can't find the gstreamer libraries -- please install libgstreamermm-0.10-dev])]) - AC_SUBST(GSTREAMER_CFLAGS) - AC_SUBST(GSTREAMER_LIBS) + if test x$enable_aptcc_gstreamer != xno; then + PKG_CHECK_MODULES(GSTREAMER, + [gstreamer-0.10 + gstreamer-base-0.10 + gstreamer-plugins-base-0.10], + [enable_aptcc_gstreamer=yes], + [if test x$enable_aptcc_gstreamer = xyes; then + AC_MSG_ERROR([Can't find the gstreamer libraries -- please install libgstreamermm-0.10-dev]) + else + enable_aptcc_gstreamer=no + fi + ]) + fi AC_MSG_CHECKING([whether apt includes the automatic dependency removal patch (required)]) @@ -711,6 +726,12 @@ if test x$enable_aptcc = xyes; then LIBS="$save_LIBS" fi +if test x$enable_aptcc_gstreamer = xyes; then + AC_DEFINE(APTCC_GSTREAMER, 1, [aptcc backend uses GStreamer]) +fi + +AM_CONDITIONAL(APTCC_GSTREAMER, test x$enable_aptcc_gstreamer = xyes) + if test x$enable_box = xyes; then PKG_CHECK_MODULES(BOX, libbox >= 0.1.4 ) fi @@ -871,6 +892,7 @@ echo " ALPM backend: ${enable_alpm} APT backend: ${enable_apt} APTcc backend: ${enable_aptcc} + APTcc GStreamer support: ${enable_aptcc_gstreamer} BOX backend: ${enable_box} CONARY backend: ${enable_conary} dummy backend: ${enable_dummy} -- 1.8.3.2