Add GSettings m4 macros helper

https://bugzilla.gnome.org/show_bug.cgi?id=616312
This commit is contained in:
Bastien Nocera 2010-04-21 12:25:23 +01:00
parent 12b801cab4
commit 0d322e77a5
2 changed files with 44 additions and 1 deletions

View File

@ -1,6 +1,6 @@
include $(top_srcdir)/Makefile.decl
installed_m4= glib-2.0.m4 glib-gettext.m4
installed_m4= glib-2.0.m4 glib-gettext.m4 gsettings.m4
EXTRA_DIST+=$(installed_m4)

43
m4macros/gsettings.m4 Normal file
View File

@ -0,0 +1,43 @@
dnl AM_GSETTINGS
dnl Defines GSETTINGS_SCHEMAS_INSTALL which controls whether
dnl the schema should be compiled
dnl
AC_DEFUN([AM_GSETTINGS],
[
AC_ARG_ENABLE(schemas-install,
AC_HELP_STRING([--disable-schemas-install],
[Disable the schemas installation]),
[case ${enableval} in
yes|no) ;;
*) AC_MSG_ERROR([bad value ${enableval} for --enable-schemas-install]) ;;
esac])
AM_CONDITIONAL([GSETTINGS_SCHEMAS_INSTALL], [test "$enable_schemas_install" != no])
AC_SUBST(gsettingsschemadir, [${datadir}/glib-2.0/schemas])
AC_SUBST(gsettingsupdateschemacache, `pkg-config --variable gsettingsupdateschemacache gio-2.0`)
GSETTINGS_CHECK_RULE='
.PHONY : check-gsettings-schema
gschema_xml_files := $(wildcard *.gschema.xml)
check-gsettings-schema: gsettings_schema_validate_stamp
CLEANFILES += gsettings_schema_validate_stamp
gsettings_schema_validate_stamp: $(gschema_xml_files)
$(gsettingsupdateschemacache) --dry-run --schema-files $?
touch [$]@
all: check-gsettings-schema
'
_GSETTINGS_SUBST(GSETTINGS_CHECK_RULE)
])
dnl _GSETTINGS_SUBST(VARIABLE)
dnl Abstract macro to do either _AM_SUBST_NOTMAKE or AC_SUBST
AC_DEFUN([_GSETTINGS_SUBST],
[
AC_SUBST([$1])
m4_ifdef([_AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE([$1])])
]
)