From 88e842958168e149b1d958e1695d4ecc1256812f Mon Sep 17 00:00:00 2001 From: Arun Isaac Date: Thu, 4 Nov 2021 14:51:36 +0530 Subject: build-aux: Use paths relative to top-level in generate-cwl-output.sh. This removes the assumption that the source tree and the build tree are the same, and is required to support VPATH builds. * build-aux/generate-cwl-output.sh.in: Accept and write to paths relative to the top-level directory. Do not change directory. * Makefile.am (doc/capture-output-file.out, doc/capture-output-file-with-parameter-reference.out, doc/checksum.out, doc/decompress-compile-run.out, doc/pass-stdin.out): Pass relative paths in input arguments. --- Makefile.am | 10 +++++----- build-aux/generate-cwl-output.sh.in | 17 +++++++++++------ 2 files changed, 16 insertions(+), 11 deletions(-) diff --git a/Makefile.am b/Makefile.am index 3c6c194..c7ff854 100644 --- a/Makefile.am +++ b/Makefile.am @@ -106,25 +106,25 @@ CLEAN_DIRECTORIES = doc/cwl-output GENERATE_CWL_OUTPUT = ./build-aux/generate-cwl-output.sh doc/capture-output-file.out: doc/capture-output-file.cwl doc/hello.tar $(GENERATE_CWL_OUTPUT) - $(CWLTOOL_GEN)$(GENERATE_CWL_OUTPUT) $< --archive hello.tar + $(CWLTOOL_GEN)$(GENERATE_CWL_OUTPUT) $< --archive doc/hello.tar doc/capture-output-file-with-parameter-reference.out: doc/capture-output-file-with-parameter-reference.cwl doc/hello.tar $(GENERATE_CWL_OUTPUT) - $(CWLTOOL_GEN)$(GENERATE_CWL_OUTPUT) $< --archive hello.tar --extractfile hello.txt + $(CWLTOOL_GEN)$(GENERATE_CWL_OUTPUT) $< --archive doc/hello.tar --extractfile hello.txt doc/capture-stdout.out: doc/capture-stdout.cwl $(GENERATE_CWL_OUTPUT) $(CWLTOOL_GEN)$(GENERATE_CWL_OUTPUT) $< --message '"Hello World!"' doc/checksum.out: doc/checksum.cwl doc/hello.txt $(GENERATE_CWL_OUTPUT) - $(CWLTOOL_GEN)$(GENERATE_CWL_OUTPUT) $< --file hello.txt + $(CWLTOOL_GEN)$(GENERATE_CWL_OUTPUT) $< --file doc/hello.txt doc/decompress-compile-run.out: doc/decompress-compile-run.cwl doc/hello.c.gz $(GENERATE_CWL_OUTPUT) - $(CWLTOOL_GEN)$(GENERATE_CWL_OUTPUT) $< --compressed-source hello.c.gz + $(CWLTOOL_GEN)$(GENERATE_CWL_OUTPUT) $< --compressed-source doc/hello.c.gz doc/hello-world.out: doc/hello-world.cwl $(GENERATE_CWL_OUTPUT) $(CWLTOOL_GEN)$(GENERATE_CWL_OUTPUT) $< --message '"Hello World!"' doc/pass-stdin.out: doc/pass-stdin.cwl doc/hello.txt $(GENERATE_CWL_OUTPUT) - $(CWLTOOL_GEN)$(GENERATE_CWL_OUTPUT) $< --file hello.txt + $(CWLTOOL_GEN)$(GENERATE_CWL_OUTPUT) $< --file doc/hello.txt doc/hello.tar.out: doc/hello.tar echo "$$ tar --list --file $(notdir $<)" > $@ diff --git a/build-aux/generate-cwl-output.sh.in b/build-aux/generate-cwl-output.sh.in index ca5803e..8eb36c9 100755 --- a/build-aux/generate-cwl-output.sh.in +++ b/build-aux/generate-cwl-output.sh.in @@ -20,18 +20,23 @@ set -o pipefail -cwl_file=$(basename $1) +cwl_file=$1 shift -cd doc output_file=$(basename $cwl_file .cwl).out { - echo "\$ ccwl compile $(basename $cwl_file .cwl).scm > $cwl_file" - echo "\$ cwltool $cwl_file $@" + echo "\$ ccwl compile $(basename $cwl_file .cwl).scm > $(basename $cwl_file)" + echo -n "\$ cwltool $(basename $cwl_file) " + for arg in $@ + do + echo -n "${arg#doc/} " + done + echo + # On Guix, workflows involving gcc need to preserve the # LIBRARY_PATH environment variable. - @CWLTOOL@ --preserve-environment LIBRARY_PATH --outdir cwl-output $cwl_file "$@" 2>&1 \ + @CWLTOOL@ --preserve-environment LIBRARY_PATH --outdir doc/cwl-output $cwl_file "$@" 2>&1 \ | @SED@ '1,2d' \ | @SED@ 's|\[1;30mINFO\[0m ||g' \ | @SED@ "s|$(pwd)|/home/manimekalai|g" -} > $output_file +} > doc/$output_file -- cgit v1.2.3