gnomeos: Start working on vala chain

This commit is contained in:
Colin Walters 2012-01-19 18:32:59 -05:00
parent d4470a844d
commit 230ca93c3a
6 changed files with 386 additions and 5 deletions

View File

@ -0,0 +1,26 @@
From f4c1cff02469a4b3c84aa96d0cd47ba56eee8a76 Mon Sep 17 00:00:00 2001
From: Colin Walters <walters@verbum.org>
Date: Thu, 19 Jan 2012 15:33:01 -0500
Subject: [PATCH] build: Note we don't support srcdir != builddir
---
configure.ac | 3 +++
1 files changed, 3 insertions(+), 0 deletions(-)
diff --git a/configure.ac b/configure.ac
index d0b4e00..0a1aa3e 100644
--- a/configure.ac
+++ b/configure.ac
@@ -26,6 +26,9 @@ AC_CONFIG_MACRO_DIR([m4])
AC_CONFIG_SRCDIR(README)
AC_CONFIG_HEADERS(config.h)
+dnl http://people.gnome.org/~walters/docs/build-api.txt
+echo \#buildapi-variable-no-builddir >/dev/null
+
dnl This is for the autoconf tests only - it set's the language we use
AC_LANG(C)
--
1.7.6.5

View File

@ -0,0 +1,51 @@
From 9cd7957d9ba16d341e31e053ced6d932949cbdc0 Mon Sep 17 00:00:00 2001
From: Colin Walters <walters@verbum.org>
Date: Wed, 18 Jan 2012 22:06:58 -0500
Subject: [PATCH] build: Add --disable-documentation option
This helps operating system builders.
---
Makefile.am | 9 +++++++--
configure.ac | 5 +++++
2 files changed, 12 insertions(+), 2 deletions(-)
diff --git a/Makefile.am b/Makefile.am
index 9111350..a136218 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -4,9 +4,14 @@ if WITH_MOBLIN
MOBLIN_DIR = moblin
endif
-SUBDIRS = icons lib applet wizard sendto $(MOBLIN_DIR) docs po help
-
+SUBDIRS = icons lib applet wizard sendto $(MOBLIN_DIR) docs po
DIST_SUBDIRS = $(DEF_SUBDIRS) moblin
+if ENABLE_DOCUMENTATION
+SUBDIRS += help
+else
+DIST_SUBDIRS += help
+endif
+
EXTRA_DIST = intltool-extract.in intltool-update.in intltool-merge.in ChangeLog.pre-2.27 gtk-doc.make gnome-doc-utils.make
DISTCHECK_CONFIGURE_FLAGS = --disable-schemas-install \
diff --git a/configure.ac b/configure.ac
index 9d8a7f2..e43c79d 100644
--- a/configure.ac
+++ b/configure.ac
@@ -182,6 +182,11 @@ GNOME_COMPILE_WARNINGS([maximum])
GNOME_CXX_WARNINGS
GNOME_MAINTAINER_MODE_DEFINES
+AC_ARG_ENABLE([documentation],
+ AS_HELP_STRING([--enable-documentation], [enable man pages and HTML]),
+ [], [enable_documentation=yes])
+AM_CONDITIONAL(ENABLE_DOCUMENTATION, test x$enable_documentation = xyes)
+
GNOME_DOC_INIT
AC_OUTPUT(Makefile
--
1.7.6.5

View File

@ -0,0 +1,22 @@
From dad1621472d32ae2bf291b4d09a5423225262fb3 Mon Sep 17 00:00:00 2001
From: Colin Walters <walters@verbum.org>
Date: Thu, 19 Jan 2012 11:53:42 -0500
Subject: [PATCH] autogen.sh: Add developer bootstrap script
http://people.gnome.org/~walters/docs/build-api.txt
---
autogen.sh | 2 ++
1 files changed, 2 insertions(+), 0 deletions(-)
create mode 100755 autogen.sh
diff --git a/autogen.sh b/autogen.sh
new file mode 100755
index 0000000..c187584
--- /dev/null
+++ b/autogen.sh
@@ -0,0 +1,2 @@
+#!/bin/sh
+exec autoreconf -vfi
--
1.7.6.5

View File

@ -13,6 +13,7 @@
"fd-pulse": "git:git://anongit.freedesktop.org/git/pulseaudio/",
"fd-p11": "git:git://anongit.freedesktop.org/git/p11-glue/",
"fd-gstreamer": "git:git://anongit.freedesktop.org/gstreamer/",
"fd-telepathy": "git:git://anongit.freedesktop.org/telepathy/",
"0pointer": "git:git://git.0pointer.de/",
"linuxwacom": "git:git://linuxwacom.git.sourceforge.net/gitroot/linuxwacom/",
"fedora": "git:git://git.fedorahosted.org/",
@ -554,15 +555,77 @@
"branch": "4e276ff268f3f3e97abb97f8e5a8cf6d8d97d2db",
"patches": ["WebKit-autogen.patch"]},
{"src": "gnome:gnome-online-accounts"},
{"src": "gnome:librest"},
{"src": "gnome:gnome-bluetooth"},
{"src": "gnome:gnome-online-accounts",
"config-opts": ["--disable-documentation"]},
{"src": "gnome:mutter"},
{"src": "gnome:gnome-bluetooth",
"patches": ["gnome-bluetooth-disable-docs.patch"],
"config-opts": ["--disable-documentation"]},
{"src": "gnome:zenity"},
{"src": "gnome:mutter",
"config-opts": ["--enable-compile-warnings=maximum"]},
{"src": "cgwalters:spidermonkey-tarballs-as-git",
"config-opts": ["--enable-threadsafe",
"--with-system-nspr"]},
{"src": "gnome:gjs"},
{"src": "gnome:gnome-shell"},
{"src": "cgwalters:vala-tarballs-as-git",
"config-opts": ["--disable-build-from-vala",
"--disable-vapigen"],
"rm-configure": true,
"patches": ["vala-tarballs-as-git-autogen.patch",
"vala-tarballs-as-git-bootstrap.patch"]},
{"src": "gnome:vala",
"name": "vala-0.14",
"branch": "0.14.1",
"config-opts": ["--enable-vapigen",
"--disable-unversioned"],
"patches": ["vala-0.14-builddir.patch"]},
{"src": "gnome:vala",
"name": "vala-0.16",
"branch": "0.15.0",
"config-opts": ["--enable-vapigen"],
"patches": ["vala-builddir.patch"]},
{"src": "gnome:libgee",
"branch": "0.6.2.1",
"patches": ["gee-builddir.patch"]},
{"src": "fd-telepathy:telepathy-glib",
"branch": "telepathy-glib-0.17.4",
"config-opts": ["--enable-vala-bindings"]},
{"src": "gnome:libgweather"},
{"src": "cgwalters:liboauth-tarballs-as-git",
"rm-configure": true,
"config-opts": ["--enable-nss"],
"patches": ["liboauth-tarballs-as-git-autogen.patch"]},
{"src": "gnome:libgdata"},
{"src": "cgwalters:libical-tarballs-as-git"},
{"src": "gnome:evolution-data-server",
"patches": ["e-d-s-builddir.patch"],
"config-opts": ["--enable-vala-bindings"]},
{"src": "gnome:folks",
"config-opts": ["--enable-eds-backend",
"VALAC=/usr/bin/valac-0.14",
"VAPIGEN=/usr/bin/vapigen-0.14"],
"patches": ["folks-builddir.patch"]},
{"src": "gnome:gnome-shell",
"config-opts": ["--enable-compile-warnings=maximum"]},
{"src": "fd:accountsservice"},
@ -570,7 +633,13 @@
"config-opts": ["--disable-documentation"],
"patches": ["gdm-disable-documentation.patch"]},
{"src": "gnome:gnome-control-center"}
{"src": "gnome:gnome-control-center"},
{"src": "gnome:dconf"},
{"src": "gnome:caribou",
"config-opts": ["--disable-gtk2-module"]},
{"src": "gnome:cantarell-fonts"}
]
}

View File

@ -0,0 +1,21 @@
From 0beb1f6637f0abb514cd0606fdf8796d4073afb7 Mon Sep 17 00:00:00 2001
From: Colin Walters <walters@verbum.org>
Date: Thu, 19 Jan 2012 08:40:55 -0500
Subject: [PATCH] autogen.sh: Bootstrapping script
---
autogen.sh | 2 ++
1 files changed, 2 insertions(+), 0 deletions(-)
create mode 100755 autogen.sh
diff --git a/autogen.sh b/autogen.sh
new file mode 100755
index 0000000..c187584
--- /dev/null
+++ b/autogen.sh
@@ -0,0 +1,2 @@
+#!/bin/sh
+exec autoreconf -vfi
--
1.7.6.5

View File

@ -0,0 +1,192 @@
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