ostree/gnomeos/3.4/vala-tarballs-as-git-bootst...

193 lines
5.3 KiB
Diff

From 96511d01aec1bf4d7d15cc395c8d1fdd518e8ca7 Mon Sep 17 00:00:00 2001
From: Colin Walters <walters@verbum.org>
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