From 96511d01aec1bf4d7d15cc395c8d1fdd518e8ca7 Mon Sep 17 00:00:00 2001 From: Colin Walters Date: Thu, 19 Jan 2012 08:39:00 -0500 Subject: [PATCH] Add --disable-build-from-vala configure flag This is useful for operating system bootstrappers when compiling from a copy of vala with pregenerated .c files. Traditionally one might rely on timestamps for this, but honestly that's stupid. Timestamps just aren't reliable normally, and my build process requires that everything is in git, which doesn't preserve timestamps. --- ccode/Makefile.am | 5 ++++- codegen/Makefile.am | 5 ++++- compiler/Makefile.am | 5 ++++- configure.ac | 7 ++++++- gee/Makefile.am | 13 ++++++++----- vala/Makefile.am | 5 ++++- vapigen/Makefile.am | 10 ++++++++-- 7 files changed, 38 insertions(+), 12 deletions(-) diff --git a/ccode/Makefile.am b/ccode/Makefile.am index c63dd06..0eb0193 100644 --- a/ccode/Makefile.am +++ b/ccode/Makefile.am @@ -67,10 +67,13 @@ libvalaccode_la_VALASOURCES = \ $(NULL) libvalaccode_la_SOURCES = \ - ccode.vala.stamp \ $(libvalaccode_la_VALASOURCES:.vala=.c) \ $(NULL) +if ENABLE_BUILD_FROM_VALA +libvalaccode_la_SOURCES += ccode.vala.stamp +endif + ccodeincludedir = $(includedir)/vala@PACKAGE_SUFFIX@ ccodeinclude_HEADERS = \ diff --git a/codegen/Makefile.am b/codegen/Makefile.am index 2535a88..a6c38cc 100644 --- a/codegen/Makefile.am +++ b/codegen/Makefile.am @@ -57,10 +57,13 @@ libvala_la_VALASOURCES = \ $(NULL) libvala@PACKAGE_SUFFIX@_la_SOURCES = \ - codegen.vala.stamp \ $(libvala_la_VALASOURCES:.vala=.c) \ $(NULL) +if ENABLE_BUILD_FROM_VALA +libvala@PACKAGE_SUFFIX@_la_SOURCES += codegen.vala.stamp +endif + codegenincludedir = $(includedir)/vala@PACKAGE_SUFFIX@ codegeninclude_HEADERS = \ diff --git a/compiler/Makefile.am b/compiler/Makefile.am index d6e7f81..0f56932 100644 --- a/compiler/Makefile.am +++ b/compiler/Makefile.am @@ -21,10 +21,13 @@ valac_VALASOURCES = \ $(NULL) valac_SOURCES = \ - valac.vala.stamp \ $(valac_VALASOURCES:.vala=.c) \ $(NULL) +if ENABLE_BUILD_FROM_VALA +valac_SOURCES += valac.vala.stamp +endif + valac.vala.stamp: $(valac_VALASOURCES) $(VALA_V)$(VALAC) $(COVERAGE_VALAFLAGS) $(VALAFLAGS) -C --vapidir $(srcdir)/../vapi --pkg gobject-2.0 --vapidir $(srcdir)/../gee --pkg gee --vapidir $(srcdir)/../ccode --pkg ccode --vapidir $(srcdir)/../vala --pkg vala --vapidir $(srcdir)/../codegen --pkg codegen --pkg config $^ @touch $@ diff --git a/configure.ac b/configure.ac index fe30ce0..fcde8d0 100644 --- a/configure.ac +++ b/configure.ac @@ -31,7 +31,12 @@ if test "$YACC" = :; then AC_MSG_ERROR([bison not found but required]) fi -AC_PATH_PROG(VALAC, valac, valac) +AC_ARG_ENABLE(build-from-vala, AS_HELP_STRING([--disable-build-from-vala], [Never invoke valac]), enable_build_from_vala=$enableval, enable_build_from_vala=yes) +AM_CONDITIONAL(ENABLE_BUILD_FROM_VALA, test x$enable_build_from_vala = xyes) + +if test x$enable_build_from_vala = xyes; then + AC_PATH_PROG(VALAC, valac, valac) +fi AC_SUBST(VALAC) VALAFLAGS="$VALAFLAGS --disable-version-header" diff --git a/gee/Makefile.am b/gee/Makefile.am index ab31565..ea6f493 100644 --- a/gee/Makefile.am +++ b/gee/Makefile.am @@ -4,8 +4,7 @@ AM_CPPFLAGS = \ $(COVERAGE_CFLAGS) \ $(GLIB_CFLAGS) \ $(NULL) - -BUILT_SOURCES = gee.vala.stamp +BUILT_SOURCES = noinst_LTLIBRARIES = \ libgee.la @@ -22,12 +21,18 @@ libgee_la_VALASOURCES = \ map.vala \ set.vala \ $(NULL) +EXTRA_DIST = $(libgee_la_VALASOURCES) libgee_la_SOURCES = \ - gee.vala.stamp \ $(libgee_la_VALASOURCES:.vala=.c) \ $(NULL) +if ENABLE_BUILD_FROM_VALA +BUILT_SOURCES += gee.vala.stamp +libgee_la_SOURCES += gee.vala.stamp +EXTRA_DIST += gee.vapi gee.vala.stamp +endif + geeincludedir = $(includedir)/vala@PACKAGE_SUFFIX@ geeinclude_HEADERS = \ @@ -43,8 +48,6 @@ libgee_la_LIBADD = \ $(GLIB_LIBS) \ $(NULL) -EXTRA_DIST = $(libgee_la_VALASOURCES) gee.vapi gee.vala.stamp - MAINTAINERCLEANFILES = \ gee.vapi \ valagee.h \ diff --git a/vala/Makefile.am b/vala/Makefile.am index 936a2cb..6d6f3e5 100644 --- a/vala/Makefile.am +++ b/vala/Makefile.am @@ -164,10 +164,13 @@ libvalacore_la_VALASOURCES = \ $(NULL) libvalacore_la_SOURCES = \ - vala.vala.stamp \ $(libvalacore_la_VALASOURCES:.vala=.c) \ $(NULL) +if ENABLE_BUILD_FROM_VALA +libvalacore_la_SOURCES += vala.vala.stamp +endif + valaincludedir = $(includedir)/vala@PACKAGE_SUFFIX@ valainclude_HEADERS = \ diff --git a/vapigen/Makefile.am b/vapigen/Makefile.am index 2f08351..6122aed 100644 --- a/vapigen/Makefile.am +++ b/vapigen/Makefile.am @@ -27,19 +27,25 @@ vapigen_VALASOURCES = \ $(NULL) vapigen_SOURCES = \ - vapigen.vala.stamp \ $(vapigen_VALASOURCES:.vala=.c) \ $(NULL) +if ENABLE_BUILD_FROM_VALA +vapigen_SOURCES += vapigen.vala.stamp +endif + vapicheck_VALASOURCES = \ valavapicheck.vala \ $(NULL) vapicheck_SOURCES = \ - vapicheck.vala.stamp \ $(vapicheck_VALASOURCES:.vala=.c) \ $(NULL) +if ENABLE_BUILD_FROM_VALA +vapicheck_SOURCES += vapicheck.vala.stamp +endif + vapigen.vala.stamp: $(vapigen_VALASOURCES) $(VALA_V)$(VALAC) $(VALAFLAGS) -C --vapidir $(srcdir)/../vapi --vapidir $(srcdir)/../gee --pkg gee --vapidir $(srcdir)/../ccode --pkg ccode --vapidir $(srcdir)/../vala --pkg vala --vapidir $(srcdir)/../gobject-introspection --pkg gidl --pkg config $^ @touch $@ -- 1.7.6.5