Files
sysprof/m4/appstream-xml.m4
Christian Hergert 29c4ec495f Land Sysprof 2.x
This is a major redesign a modernization of Sysprof. The core data
structures and design are largely the same, but it has been ported to
Gtk3 and has lots of additions that should make your profiling experience
smoother. Especially for those that are new to profiling.

There are some very simple help docs added, but we really need the
experts to come in and write some documentation here.
2016-04-13 05:24:03 -07:00

87 lines
2.9 KiB
Plaintext

# appstream-xml.m4
#
# serial 6
dnl APPSTREAM_XML
dnl Installs and validates AppData XML files.
dnl
dnl Call APPSTREAM_XML in configure.ac to check for the appstream-util tool.
dnl Add @APPSTREAM_XML_RULES@ to a Makefile.am to substitute the make rules. Add
dnl .appdata.xml files to appstream_XML in Makefile.am and they will be validated
dnl at make check time, if appstream-util is installed, as well as installed
dnl to the correct location automatically. Add --enable-appstream-util to
dnl DISTCHECK_CONFIGURE_FLAGS in Makefile.am to require valid AppData XML when
dnl doing a distcheck.
dnl
dnl Adding files to appstream_XML does not distribute them automatically.
AC_DEFUN([APPSTREAM_XML],
[
m4_pattern_allow([AM_V_GEN])
AC_ARG_ENABLE([appstream-util],
[AS_HELP_STRING([--disable-appstream-util],
[Disable validating AppData XML files during check phase])])
AS_IF([test "x$enable_appstream_validate" != "xno"],
[AC_PATH_PROG([APPSTREAM_UTIL], [appstream-util])
AS_IF([test "x$APPSTREAM_UTIL" = "x"],
[have_appstream_validate=no],
[have_appstream_validate=yes
AC_SUBST([APPSTREAM_UTIL])])],
[have_appstream_validate=no])
AS_IF([test "x$have_appstream_validate" != "xno"],
[appstream_validate=yes],
[appstream_validate=no
AS_IF([test "x$enable_appstream_validate" = "xyes"],
[AC_MSG_ERROR([AppData validation was requested but appstream-util was not found])])])
AC_SUBST([appstreamxmldir], [${datadir}/appdata])
APPSTREAM_XML_RULES='
.PHONY : uninstall-appstream-xml install-appstream-xml clean-appstream-xml
mostlyclean-am: clean-appstream-xml
%.appdata.valid: %.appdata.xml
$(AM_V_GEN) if test -f "$<"; then d=; else d="$(srcdir)/"; fi; \
if test -n "$(APPSTREAM_UTIL)"; \
then $(APPSTREAM_UTIL) --nonet validate $${d}$<; fi \
&& touch [$]@
check-am: $(appstream_XML:.appdata.xml=.appdata.valid)
uninstall-am: uninstall-appstream-xml
install-data-am: install-appstream-xml
.SECONDARY: $(appstream_XML)
install-appstream-xml: $(appstream_XML)
@$(NORMAL_INSTALL)
if test -n "$^"; then \
test -z "$(appstreamxmldir)" || $(MKDIR_P) "$(DESTDIR)$(appstreamxmldir)"; \
$(INSTALL_DATA) $^ "$(DESTDIR)$(appstreamxmldir)"; \
fi
uninstall-appstream-xml:
@$(NORMAL_UNINSTALL)
@list='\''$(appstream_XML)'\''; test -n "$(appstreamxmldir)" || list=; \
files=`for p in $$list; do echo $$p; done | sed -e '\''s|^.*/||'\''`; \
test -n "$$files" || exit 0; \
echo " ( cd '\''$(DESTDIR)$(appstreamxmldir)'\'' && rm -f" $$files ")"; \
cd "$(DESTDIR)$(appstreamxmldir)" && rm -f $$files
clean-appstream-xml:
rm -f $(appstream_XML:.appdata.xml=.appdata.valid)
'
_APPSTREAM_XML_SUBST(APPSTREAM_XML_RULES)
])
dnl _APPSTREAM_XML_SUBST(VARIABLE)
dnl Abstract macro to do either _AM_SUBST_NOTMAKE or AC_SUBST
AC_DEFUN([_APPSTREAM_XML_SUBST],
[
AC_SUBST([$1])
m4_ifdef([_AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE([$1])])
]
)