[latexila/wip/build-system-update] build: use PKG_CHECK_MODULES
- From: Sébastien Wilmet <swilmet src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [latexila/wip/build-system-update] build: use PKG_CHECK_MODULES
- Date: Sun, 18 Dec 2016 12:56:59 +0000 (UTC)
commit 0882b8bb8b6f3e472463024fa78a39a8ff3aa992
Author: Sébastien Wilmet <swilmet gnome org>
Date: Sun Dec 18 13:46:04 2016 +0100
build: use PKG_CHECK_MODULES
All the separate pkg-config calls were done after reading:
http://tirania.org/blog/archive/2012/Oct-20.html
("Drowning Good Ideas with Bloat. The tale of pkg.m4."
by Miguel de Icaza)
But all the GNOME modules I contribute to use PKG_CHECK_MODULES or
AX_PKG_CHECK_MODULES for a library. With those macros, it shows all the
errors at once (if several libs are missing or too old) instead of
aborting at the first error.
configure.ac | 57 ++++++++++---------------------------------
src/Makefile.am | 4 +++
src/evince/Makefile.am | 7 ++++-
src/gedit/Makefile.am | 6 ++++
src/liblatexila/Makefile.am | 6 ++++-
tests/Makefile.am | 4 ++-
6 files changed, 37 insertions(+), 47 deletions(-)
---
diff --git a/configure.ac b/configure.ac
index e805fe7..11c0558 100644
--- a/configure.ac
+++ b/configure.ac
@@ -81,52 +81,21 @@ AM_PROG_VALAC([${VALA_REQUIRED_VERSION}],
[found_vala=true]
[found_vala=false])
-# Checks for dependencies
-
-if ! pkg-config --atleast-version=${GLIB_REQUIRED_VERSION} glib-2.0; then
- AC_MSG_ERROR([glib-2.0 >= ${GLIB_REQUIRED_VERSION} required.])
-fi
-
-if ! pkg-config --atleast-version=${GLIB_REQUIRED_VERSION} gio-2.0; then
- AC_MSG_ERROR([gio-2.0 >= ${GLIB_REQUIRED_VERSION} required.])
-fi
+AX_REQUIRE_DEFINED([PKG_PROG_PKG_CONFIG])
+PKG_PROG_PKG_CONFIG
-if ! pkg-config --atleast-version=${GTK_REQUIRED_VERSION} gtk+-3.0; then
- AC_MSG_ERROR([gtk+-3.0 >= ${GTK_REQUIRED_VERSION} required.])
-fi
-
-if ! pkg-config --atleast-version=${GTKSOURCEVIEW_REQUIRED_VERSION} gtksourceview-3.0; then
- AC_MSG_ERROR([gtksourceview-3.0 >= ${GTKSOURCEVIEW_REQUIRED_VERSION} required.])
-fi
-
-if ! pkg-config --atleast-version=${GTEF_REQUIRED_VERSION} gtef-2; then
- AC_MSG_ERROR([gtef-2 >= ${GTEF_REQUIRED_VERSION} required.])
-fi
-
-if ! pkg-config --atleast-version=${GSPELL_REQUIRED_VERSION} gspell-1; then
- AC_MSG_ERROR([gspell-1 ${GSPELL_REQUIRED_VERSION} required.])
-fi
-
-if ! pkg-config gsettings-desktop-schemas; then
- AC_MSG_ERROR([gsettings-desktop-schemas required.])
-fi
-
-if ! pkg-config --atleast-version=${GEE_REQUIRED_VERSION} gee-0.8; then
- AC_MSG_ERROR([gee-0.8 >= ${GEE_REQUIRED_VERSION} required.])
-fi
-
-dependencies="
- glib-2.0
- gio-2.0
- gtk+-3.0
- gtksourceview-3.0
- gtef-2
- gspell-1
+# Checks for dependencies
+AX_REQUIRE_DEFINED([PKG_CHECK_MODULES])
+PKG_CHECK_MODULES([LATEXILA], [
+ glib-2.0 >= ${GLIB_REQUIRED_VERSION}
+ gio-2.0 >= ${GLIB_REQUIRED_VERSION}
+ gtk+-3.0 >= ${GTK_REQUIRED_VERSION}
+ gtksourceview-3.0 >= ${GTKSOURCEVIEW_REQUIRED_VERSION}
+ gtef-2 >= ${GTEF_REQUIRED_VERSION}
+ gspell-1 >= ${GSPELL_REQUIRED_VERSION}
+ gee-0.8 >= ${GEE_REQUIRED_VERSION}
gsettings-desktop-schemas
- gee-0.8"
-
-CFLAGS="$CFLAGS `pkg-config --cflags ${dependencies}`"
-LIBS="$LIBS `pkg-config --libs ${dependencies}`"
+])
# Native Language Support
AX_REQUIRE_DEFINED([IT_PROG_INTLTOOL])
diff --git a/src/Makefile.am b/src/Makefile.am
index cf99e25..20ec5ac 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -80,7 +80,11 @@ latexila_CPPFLAGS = \
-include config.h \
-w
+latexila_CFLAGS = \
+ $(LATEXILA_CFLAGS)
+
latexila_LDADD = \
+ $(LATEXILA_LIBS) \
gedit/libgedit.la \
liblatexila/liblatexila.la
diff --git a/src/evince/Makefile.am b/src/evince/Makefile.am
index ab6f936..be8a377 100644
--- a/src/evince/Makefile.am
+++ b/src/evince/Makefile.am
@@ -1,6 +1,11 @@
noinst_LTLIBRARIES = libevince.la
-libevince_la_CFLAGS = $(WARN_CFLAGS)
+libevince_la_CFLAGS = \
+ $(LATEXILA_CFLAGS) \
+ $(WARN_CFLAGS)
+
+libevince_la_LIBADD = \
+ $(LATEXILA_LIBS)
libevince_built_sources = \
evince-gdbus-generated.c \
diff --git a/src/gedit/Makefile.am b/src/gedit/Makefile.am
index 7c684ec..5d5ef9f 100644
--- a/src/gedit/Makefile.am
+++ b/src/gedit/Makefile.am
@@ -1,5 +1,11 @@
noinst_LTLIBRARIES = libgedit.la
+libgedit_la_CFLAGS = \
+ $(LATEXILA_CFLAGS)
+
+libgedit_la_LIBADD = \
+ $(LATEXILA_LIBS)
+
libgedit_la_SOURCES = \
gedit-close-button.c \
gedit-close-button.h
diff --git a/src/liblatexila/Makefile.am b/src/liblatexila/Makefile.am
index 77ae22b..a8dbd28 100644
--- a/src/liblatexila/Makefile.am
+++ b/src/liblatexila/Makefile.am
@@ -3,12 +3,16 @@
noinst_LTLIBRARIES = liblatexila.la
liblatexila_la_CFLAGS = \
+ $(LATEXILA_CFLAGS) \
$(WARN_CFLAGS) \
$(CODE_COVERAGE_CFLAGS) \
-I$(top_builddir)/src/evince
liblatexila_la_LDFLAGS = $(CODE_COVERAGE_LDFLAGS)
-liblatexila_la_LIBADD = ../evince/libevince.la
+
+liblatexila_la_LIBADD = \
+ $(LATEXILA_LIBS) \
+ ../evince/libevince.la
liblatexila_headers = \
latexila.h \
diff --git a/tests/Makefile.am b/tests/Makefile.am
index 6dc0ba9..f6434e3 100644
--- a/tests/Makefile.am
+++ b/tests/Makefile.am
@@ -4,9 +4,11 @@ AM_CPPFLAGS = \
-I$(top_srcdir) \
-I$(top_srcdir)/src/liblatexila \
-I$(top_builddir)/src/liblatexila \
+ $(LATEXILA_CFLAGS) \
$(WARN_CFLAGS)
-LDADD = $(top_builddir)/src/liblatexila/liblatexila.la
+LDADD = $(top_builddir)/src/liblatexila/liblatexila.la \
+ $(LATEXILA_LIBS)
build-tools-resources.c: build-tools.gresource.xml $(shell $(GLIB_COMPILE_RESOURCES) --sourcedir=$(srcdir)
--generate-dependencies $(srcdir)/build-tools.gresource.xml)
$(AM_V_GEN) $(GLIB_COMPILE_RESOURCES) --target=$@ --sourcedir=$(srcdir) --generate-source
$(srcdir)/build-tools.gresource.xml
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]