summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristopher James Halse Rogers <chris@Burninator.(none)>2007-05-09 13:13:20 +1000
committerDanny Baumann <dannybaumann@web.de>2007-05-09 17:00:50 +0200
commit50305e8d3687ed3865cf68f33f1317eeb864bd42 (patch)
tree3a0095c3cddcb6fcd2a78fcf65acc58323310a12
parentbc060c11cd5a278880e487dd6673936c5b1a101c (diff)
downloadberyl-premerge-50305e8d3687ed3865cf68f33f1317eeb864bd42.tar.gz
beryl-premerge-50305e8d3687ed3865cf68f33f1317eeb864bd42.tar.bz2
Add an --enable-schemas options to configure, to generate gconf schemas
from metadata, using the new compiz-gconf.pc & xsltproc
-rw-r--r--configure.ac26
-rw-r--r--metadata/Makefile.am15
2 files changed, 41 insertions, 0 deletions
diff --git a/configure.ac b/configure.ac
index 4c17a52..0c54ccb 100644
--- a/configure.ac
+++ b/configure.ac
@@ -170,6 +170,32 @@ if test "$use_jpeg" = yes; then
AC_DEFINE(USE_JPEG, 1, [Build jpeg plugin])
fi
+AC_ARG_ENABLE(schemas,
+ [ --enable-schemas Build gconf schemas],
+ [use_schemas=$enableval], [use_schemas=no])
+
+if test x"$use_schemas" = x"yes"; then
+ AC_PATH_PROG(GCONFTOOL, gconftool-2, no)
+ PKG_CHECK_MODULES(SCHEMAS, compiz-gconf, [use_schemas=yes], [use_schemas=no])
+ if test x"$GCONFTOOL" = xno; then
+ AC_MSG_ERROR([gconftool-2 executable not found in your path - should be installed with GConf])
+ fi
+ AC_PATH_PROG(PKG_CONFIG, pkg-config, no)
+ if test x"$PKG_CONFIG" = xno ; then
+ AC_MSG_ERROR([pkg-config executable not found in your path, unable to determine schema directory])
+ fi
+ xsltdir=`$PKG_CONFIG --variable=xsltdir compiz-gconf`
+ AC_SUBST(xsltdir)
+fi
+
+AM_GCONF_SOURCE_2
+
+
+AM_CONDITIONAL(USE_SCHEMAS, test "x$use_schemas" = "xyes")
+if test "$use_schemas" = yes; then
+ AC_DEFINE(USE_SCHEMAS, 1, [Build gconf schemas])
+fi
+
AC_OUTPUT([
Makefile
metadata/Makefile
diff --git a/metadata/Makefile.am b/metadata/Makefile.am
index d26f323..e6e30c6 100644
--- a/metadata/Makefile.am
+++ b/metadata/Makefile.am
@@ -24,3 +24,18 @@ meta_DATA = \
wall.xml
EXTRA_DIST = $(meta_DATA)
+
+if USE_SCHEMAS
+schemadir = $(GCONF_SCHEMA_FILE_DIR)
+schema_DATA = $(patsubst %.xml,compiz-%.schemas,$(meta_DATA))
+
+%.schemas: $(meta_DATA)
+ xsltproc -o $@ $(xsltdir)/schemas.xslt $(subst compiz-,,$*).xml;
+
+if GCONF_SCHEMAS_INSTALL
+install-data-local:
+ if test -z "$(DESTDIR)" ; then \
+ GCONF_CONFIG_SOURCE=$(GCONF_SCHEMA_CONFIG_SOURCE) $(GCONFTOOL) --makefile-install-rule $(schema_DATA); \
+ fi
+endif
+endif