summaryrefslogtreecommitdiff
path: root/Build/source/libs/cairo
diff options
context:
space:
mode:
authorPeter Breitenlohner <peb@mppmu.mpg.de>2013-07-07 14:29:53 +0000
committerPeter Breitenlohner <peb@mppmu.mpg.de>2013-07-07 14:29:53 +0000
commit0df6dd4d8aea6edc733de81fb7eec115ea59a36e (patch)
treee2f7056cb53c58c8ef5779450ac468091b2bd86d /Build/source/libs/cairo
parent3675a91dd83af3eaa1c1a12e91af1e6c86f710f8 (diff)
build system: additional Makefile fragments
better handling of dependencies for highly parallel make git-svn-id: svn://tug.org/texlive/trunk@31127 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Build/source/libs/cairo')
-rw-r--r--Build/source/libs/cairo/ChangeLog4
-rw-r--r--Build/source/libs/cairo/Makefile.am29
-rw-r--r--Build/source/libs/cairo/Makefile.in66
-rw-r--r--Build/source/libs/cairo/cairotst.c4
4 files changed, 72 insertions, 31 deletions
diff --git a/Build/source/libs/cairo/ChangeLog b/Build/source/libs/cairo/ChangeLog
index 6a3889d7dc0..f6593f901c3 100644
--- a/Build/source/libs/cairo/ChangeLog
+++ b/Build/source/libs/cairo/ChangeLog
@@ -1,3 +1,7 @@
+2012-07-06 Peter Breitenlohner <peb@mppmu.mpg.de>
+
+ * Makefile.am: Use ../../am/reconfig.am and ../../am/rebuild.am.
+
2013-07-05 Peter Breitenlohner <peb@mppmu.mpg.de>
* cairo/Makefile.am: Moved Makefile fragments to ../../am/.
diff --git a/Build/source/libs/cairo/Makefile.am b/Build/source/libs/cairo/Makefile.am
index e392d62b1dd..bc6cd471bc9 100644
--- a/Build/source/libs/cairo/Makefile.am
+++ b/Build/source/libs/cairo/Makefile.am
@@ -9,10 +9,6 @@
##
ACLOCAL_AMFLAGS = -I ../../m4 -I m4
-# Rebuild
-.PHONY: rebuild
-rebuild: config.force all
-
## We want to re-distribute the whole original cairo source tree.
##
EXTRA_DIST = $(CAIRO_TREE)
@@ -230,15 +226,6 @@ endif CAIRO_HAS_GL_SURFACE
$(libcairo_a_OBJECTS): config.force
-config.force: $(PIXMAN_DEPEND)
- echo timestamp >config.force
- $(SHELL) ./config.status --recheck
-
-DISTCLEANFILES = config.force
-
-## Rebuild pixman
-@PIXMAN_RULE@
-
if build
check_PROGRAMS = cairotst
dist_check_SCRIPTS = cairo.test
@@ -253,5 +240,19 @@ cairotst_DEPENDENCIES = $(PIXMAN_DEPEND)
LDADD = libcairo.a $(PIXMAN_LIBS)
-## Files generated by TESTS
+## Rebuild pixman
+@PIXMAN_RULE@
+
+# Reconfig
+reconfig_prereq = $(PIXMAN_DEPEND)
+DISTCLEANFILES =
+
+include $(srcdir)/../../am/reconfig.am
+
+# Rebuild
+rebuild_prereq =
+rebuild_target = all
+CLEANFILES =
+
+include $(srcdir)/../../am/rebuild.am
diff --git a/Build/source/libs/cairo/Makefile.in b/Build/source/libs/cairo/Makefile.in
index f7eeb5c104d..d631d18eacc 100644
--- a/Build/source/libs/cairo/Makefile.in
+++ b/Build/source/libs/cairo/Makefile.in
@@ -144,11 +144,11 @@ host_triplet = @host@
@CAIRO_HAS_GL_SURFACE_TRUE@ @CAIRO_TREE@/src/cairo-gl-surface.c
@build_TRUE@check_PROGRAMS = cairotst$(EXEEXT)
-subdir = .
-DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
- $(top_srcdir)/configure $(am__configure_deps) \
- $(srcdir)/config.h.in $(srcdir)/cairo-features.h.in \
- $(am__dist_check_SCRIPTS_DIST) \
+DIST_COMMON = $(srcdir)/../../am/reconfig.am \
+ $(srcdir)/../../am/rebuild.am $(srcdir)/Makefile.in \
+ $(srcdir)/Makefile.am $(top_srcdir)/configure \
+ $(am__configure_deps) $(srcdir)/config.h.in \
+ $(srcdir)/cairo-features.h.in $(am__dist_check_SCRIPTS_DIST) \
$(top_srcdir)/../../build-aux/depcomp \
$(top_srcdir)/../../build-aux/test-driver ChangeLog README \
../../build-aux/compile ../../build-aux/config.guess \
@@ -161,6 +161,7 @@ DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
$(top_srcdir)/../../build-aux/config.sub \
$(top_srcdir)/../../build-aux/install-sh \
$(top_srcdir)/../../build-aux/missing
+subdir = .
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/m4/cairo-bigendian.m4 \
$(top_srcdir)/m4/cairo-features.m4 $(top_srcdir)/m4/float.m4 \
@@ -1006,13 +1007,21 @@ libcairo_a_SOURCES = @CAIRO_TREE@/src/cairo-analysis-surface.c \
$(am__append_2) $(am__append_3) $(am__append_4) \
$(am__append_5) $(am__append_6) $(am__append_7) \
$(am__append_8) $(am__append_9) $(am__append_10)
-DISTCLEANFILES = config.force
@build_TRUE@dist_check_SCRIPTS = cairo.test
@build_TRUE@TESTS = cairo.test
cairotst_SOURCES = cairotst.c
cairotst_CPPFLAGS = $(PIXMAN_INCLUDES) -Icairo
cairotst_DEPENDENCIES = $(PIXMAN_DEPEND)
LDADD = libcairo.a $(PIXMAN_LIBS)
+
+# Reconfig
+reconfig_prereq = $(PIXMAN_DEPEND)
+DISTCLEANFILES = config.force
+
+# Rebuild
+rebuild_prereq =
+rebuild_target = all
+CLEANFILES = rebuild.stamp
all: config.h cairo-features.h
$(MAKE) $(AM_MAKEFLAGS) all-recursive
@@ -1020,7 +1029,7 @@ all: config.h cairo-features.h
.SUFFIXES: .c .log .o .obj .test .test$(EXEEXT) .trs
am--refresh: Makefile
@:
-$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps)
+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(srcdir)/../../am/reconfig.am $(srcdir)/../../am/rebuild.am $(am__configure_deps)
@for dep in $?; do \
case '$(am__configure_deps)' in \
*$$dep*) \
@@ -1043,6 +1052,7 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)'; \
cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe);; \
esac;
+$(srcdir)/../../am/reconfig.am $(srcdir)/../../am/rebuild.am:
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
$(SHELL) ./config.status --recheck
@@ -2180,6 +2190,7 @@ mostlyclean-generic:
-test -z "$(TEST_SUITE_LOG)" || rm -f $(TEST_SUITE_LOG)
clean-generic:
+ -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
distclean-generic:
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
@@ -2285,10 +2296,6 @@ uninstall-am:
recheck tags tags-am uninstall uninstall-am
-# Rebuild
-.PHONY: rebuild
-rebuild: config.force all
-
# in case of an SVN repository
dist-hook:
rm -rf `find $(distdir) -name .svn -o -name .deps -o -name .dirstamp -o -name '*.lo' -o -name '*.$(OBJEXT)'`
@@ -2296,11 +2303,40 @@ dist-hook:
$(libcairo_a_OBJECTS): config.force
-config.force: $(PIXMAN_DEPEND)
- echo timestamp >config.force
- $(SHELL) ./config.status --recheck
-
@PIXMAN_RULE@
+config.force: $(reconfig_prereq)
+ @if test -f $@; then :; else \
+ trap 'rm -rf reconfig.lock' 1 2 13 15; \
+ if mkdir reconfig.lock 2>/dev/null; then \
+ echo timestamp >$@; \
+ $(SHELL) ./config.status --recheck; \
+ rmdir reconfig.lock; \
+ else \
+ while test -d rebuild.lock && test -z "$$dry"; do sleep 1; done; \
+ test -f $@; \
+ fi; \
+ fi
+rebuild.stamp:
+ echo timestamp >$@
+
+.PHONY: rebuild
+rebuild: $(rebuild_prereq)
+ @dry=; for f in x $$MAKEFLAGS; do \
+ case $$f in \
+ *=*|--*);; \
+ *n*) dry=:;; \
+ esac; \
+ done; \
+ if test -f rebuild.stamp; then :; else \
+ $$dry trap 'rm -rf rebuild.lock' 1 2 13 15; \
+ if $$dry mkdir rebuild.lock 2>/dev/null; then \
+ $(MAKE) $(AM_MAKEFLAGS) $(rebuild_target) rebuild.stamp; \
+ $$dry rmdir rebuild.lock; \
+ else \
+ while test -d rebuild.lock && test -z "$$dry"; do sleep 1; done; \
+ $$dry test -f rebuild.stamp; exit $$?; \
+ fi; \
+ fi
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
diff --git a/Build/source/libs/cairo/cairotst.c b/Build/source/libs/cairo/cairotst.c
index d8665155359..5e42d74e5f1 100644
--- a/Build/source/libs/cairo/cairotst.c
+++ b/Build/source/libs/cairo/cairotst.c
@@ -10,7 +10,7 @@
int main (int argc, char **argv)
{
- printf ("%s: using pixman %s\n", argv[0], pixman_version_string ());
- printf ("%s: using cairo %s\n", argv[0], cairo_version_string ());
+ printf ("%s: using pixman version %s\n", argv[0], pixman_version_string ());
+ printf ("%s: using cairo version %s\n", argv[0], cairo_version_string ());
return 0;
}