hoxsl build integration

This does not include hoxsl as a submodule; I want to move away from doing
that.  Instead, it recognizes the `HOXSL` environment variable.
master
Mike Gerwitz 2015-07-09 17:01:41 -04:00
commit dd563bba47
4 changed files with 68 additions and 5 deletions

1
.gitignore vendored
View File

@ -1,6 +1,7 @@
/test/index.html
/test/**/xspec/
/src/**/*.texi
/conf.xsl
*.apply
*.info

View File

@ -18,12 +18,34 @@
SUBDIRS = doc
path_src := src
path_test := test
path_src = src
path_test = test
.PHONY: check test texis
# all source files will be run through hoxsl; see `applies' target
apply_src := $(shell find "$(path_src)" -name '*.xsl')
apply_dest := $(apply_src:%.xsl=%.xsl.apply)
# needed by test runner
export SAXON_CP
.DELETE_ON_ERROR:
.PHONY: check test texis applies
.DEFAULT_GOAL := applies
test: check
check:
check: | applies
$(path_test)/runner
# the "applies" are hoxsl-generated stylesheets containing definitions to
# permit partial function application
applies: $(apply_dest)
%.apply: %
$(JAVA) -jar "$(SAXON_CP)" \
-xsl:"$(HOXSL)/transform/apply-gen.xsl" \
"$<" > "$@"
clean-local:
$(RM) $(apply_dest)

29
conf.xsl.in 100644
View File

@ -0,0 +1,29 @@
<?xml version="1.0"?>
<!--
General configuration
Copyright (C) 2015 LoVullo Associates, Inc.
This file is part of TAME.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see
<http://www.gnu.org/licenses/>.
-->
<stylesheet version="2.0"
xmlns="http://www.w3.org/1999/XSL/Transform">
<!-- hoxsl path is configured at build time -->
<import href="@HOXSL@/apply/thrush.xsl" />
</stylesheet>

View File

@ -23,6 +23,17 @@ AM_INIT_AUTOMAKE([foreign])
AC_ARG_VAR([JAVA], [The Java executable])
AC_CHECK_PROGS(JAVA, [java])
AC_CONFIG_FILES([Makefile doc/Makefile])
AC_ARG_VAR([SAXON_CP], [Saxon class path])
: ${HOXSL=hoxsl}
AC_ARG_VAR([HOXSL], [Path to hoxsl])
AC_MSG_CHECKING([hoxsl path HOXSL=$HOXSL])
AS_IF(test ! -d "$HOXSL",
AC_MSG_ERROR([hoxsl path '$HOXSL' does not exist!]))
AC_MSG_RESULT(found)
AC_CONFIG_FILES([Makefile doc/Makefile conf.xsl])
AC_OUTPUT