[libosinfo PATCH 2/3] build: make curl optional, and only for tests

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Look for curl only when the tests are enabled, and as optional build
dependency.  If curl is missing, then the two network tests are not
built.  Also, limit the use of curl CFLAGS/LIBS only for the tests that
really need it.

As side result, it is possible to drop the curl BuildRequires from the
mingw spec, as it builds with --enable-tests=no.

Signed-off-by: Pino Toscano <ptoscano@xxxxxxxxxx>
---
 README                  |  2 +-
 configure.ac            |  9 +++++----
 mingw-libosinfo.spec.in |  2 --
 tests/Makefile.am       | 21 +++++++++++++--------
 4 files changed, 19 insertions(+), 15 deletions(-)

diff --git a/README b/README
index 1d1f47a..1a0fa2e 100644
--- a/README
+++ b/README
@@ -21,12 +21,12 @@ Dependencies
 - Required:
   - gobject-2.0
   - gio-2.0
-  - libcurl
   - libxml-2.0
   - libxslt-1.0
 
 - Optional:
   - gobject-introspection
+  - libcurl (for tests only)
   - Vala (build-time only)
 
 Patch submissions
diff --git a/configure.ac b/configure.ac
index cba5268..99abe94 100644
--- a/configure.ac
+++ b/configure.ac
@@ -49,10 +49,6 @@ GLIB_CFLAGS="$GLIB_CFLAGS -DGLIB_VERSION_MAX_ALLOWED=$GLIB_ENCODED_VERSION"
 AC_SUBST(GLIB_CFLAGS)
 AC_SUBST(GLIB_LIBS)
 
-PKG_CHECK_MODULES([CURL], [libcurl])
-AC_SUBST(CURL_CFLAGS)
-AC_SUBST(CURL_LIBS)
-
 GTK_DOC_CHECK([1.10],[--flavour no-tmpl])
 
 AC_ARG_ENABLE([tests],
@@ -60,7 +56,12 @@ AC_ARG_ENABLE([tests],
         [], [enable_tests=yes])
 
 if test "x$enable_tests" != "xno" ; then
+  have_curl=no
   PKG_CHECK_MODULES([CHECK], [check])
+  PKG_CHECK_MODULES([CURL], [libcurl], [have_curl=yes], [:])
+  AC_SUBST(CURL_CFLAGS)
+  AC_SUBST(CURL_LIBS)
+  AM_CONDITIONAL([HAVE_CURL],[test "x$have_curl" = "xyes"])
 fi
 
 AM_CONDITIONAL([ENABLE_TESTS],[test "x$enable_tests" = "xyes"])
diff --git a/mingw-libosinfo.spec.in b/mingw-libosinfo.spec.in
index 0653282..526d65a 100644
--- a/mingw-libosinfo.spec.in
+++ b/mingw-libosinfo.spec.in
@@ -26,8 +26,6 @@ BuildRequires: mingw32-libxml2
 BuildRequires: mingw64-libxml2
 BuildRequires: mingw32-libxslt
 BuildRequires: mingw64-libxslt
-BuildRequires: mingw32-libcurl
-BuildRequires: mingw64-libcurl
 
 BuildRequires: pkgconfig
 
diff --git a/tests/Makefile.am b/tests/Makefile.am
index e3df06b..9315e04 100644
--- a/tests/Makefile.am
+++ b/tests/Makefile.am
@@ -16,16 +16,20 @@ check_PROGRAMS = \
 	test-db \
 	test-loader \
 	test-isodetect \
-	test-mediauris \
-	test-treeuris \
 	test-install-script \
         $(NULL)
 
+if HAVE_CURL
+check_PROGRAMS += \
+	test-mediauris \
+	test-treeuris \
+	$(NULL)
+endif
+
 COMMON_LDADD = \
 	$(COVERAGE_LDFLAGS) \
 	$(GLIB_LIBS) \
 	$(GOBJECT_LIBS) \
-	$(CURL_LIBS) \
 	$(CHECK_LIBS) \
 	../osinfo/libosinfo-1.0.la
 COMMON_CFLAGS = \
@@ -33,7 +37,6 @@ COMMON_CFLAGS = \
 	$(COVERAGE_CFLAGS) \
 	$(GLIB_CFLAGS) \
 	$(GOBJECT_CFLAGS) \
-	$(CURL_CFLAGS) \
 	-I$(top_srcdir) \
 	-DSRCDIR="\"$(abs_top_srcdir)\"" \
 	-DBUILDDIR="\"$(abs_top_builddir)\"" \
@@ -95,13 +98,15 @@ test_isodetect_LDADD = $(COMMON_LDADD)
 test_isodetect_CFLAGS = $(COMMON_CFLAGS)
 test_isodetect_SOURCES = test-isodetect.c
 
-test_mediauris_LDADD = $(COMMON_LDADD)
-test_mediauris_CFLAGS = $(COMMON_CFLAGS)
+if HAVE_CURL
+test_mediauris_LDADD = $(COMMON_LDADD) $(CURL_LIBS)
+test_mediauris_CFLAGS = $(COMMON_CFLAGS) $(CURL_CFLAGS)
 test_mediauris_SOURCES = test-mediauris.c
 
-test_treeuris_LDADD = $(COMMON_LDADD)
-test_treeuris_CFLAGS = $(COMMON_CFLAGS)
+test_treeuris_LDADD = $(COMMON_LDADD) $(CURL_LIBS)
+test_treeuris_CFLAGS = $(COMMON_CFLAGS) $(CURL_CFLAGS)
 test_treeuris_SOURCES = test-treeuris.c
+endif
 
 test_install_script_LDADD = $(COMMON_LDADD)
 test_install_script_CFLAGS = $(COMMON_CFLAGS)
-- 
2.13.6

_______________________________________________
Libosinfo mailing list
Libosinfo@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/libosinfo



[Index of Archives]     [Virt Tools]     [Libvirt Users]     [Fedora Users]     [Fedora Maintainers]     [Fedora Desktop]     [Fedora SELinux]     [Big List of Linux Books]     [Yosemite News]     [KDE Users]

  Powered by Linux