Skip to content
Snippets Groups Projects
Commit f36b30bc authored by Allan Blanchard's avatar Allan Blanchard
Browse files

[doc] allow sequential build of manuals

parent 714cb4e1
No related branches found
No related tags found
No related merge requests found
#! /usr/bin/env bash #! /usr/bin/env bash
# GNU parallel needs to be installed # Look for GNU parallel
PARALLEL=1
if ! command -v parallel >/dev/null 2>/dev/null; then if ! command -v parallel >/dev/null 2>/dev/null; then
echo "parallel is required" echo "parallel not found, building in sequential"
exit 127 PARALLEL=0
fi fi
# latexmk needs to be installed # latexmk needs to be installed
...@@ -73,26 +74,42 @@ EACSL_DOC=../src/plugins/e-acsl/doc ...@@ -73,26 +74,42 @@ EACSL_DOC=../src/plugins/e-acsl/doc
export -f build export -f build
# Note: The makefiles of ACSL/E-ACSL are not parallelizable when producing both if [[ $PARALLEL -eq 1 ]]; then
# acsl.pdf and acsl-implementation.pdf (race conditions in intermediary files, # Note: The makefiles of ACSL/E-ACSL are not parallelizable when producing both
# leading to non-deterministic errors). # acsl.pdf and acsl-implementation.pdf (race conditions in intermediary files,
# Therefore, we perform a second call to parellel for these files. # leading to non-deterministic errors).
SHELL=(type -p bash) parallel --halt soon,fail=1 --csv build {1} {2} {3} ::: \ # Therefore, we perform a second call to parellel for these files.
userman/userman.pdf,user-manual.pdf,$FC_SUFFIX \ SHELL=(type -p bash) parallel --halt soon,fail=1 --csv build {1} {2} {3} ::: \
developer/developer.pdf,plugin-development-guide.pdf,$FC_SUFFIX \ userman/userman.pdf,user-manual.pdf,$FC_SUFFIX \
rte/main.pdf,rte-manual.pdf,$FC_SUFFIX \ developer/developer.pdf,plugin-development-guide.pdf,$FC_SUFFIX \
aorai/main.pdf,aorai-manual.pdf,$FC_SUFFIX \ rte/main.pdf,rte-manual.pdf,$FC_SUFFIX \
aorai/aorai-example.tgz,aorai-example.tgz,$FC_SUFFIX \ aorai/main.pdf,aorai-manual.pdf,$FC_SUFFIX \
value/main.pdf,eva-manual.pdf,$FC_SUFFIX \ aorai/aorai-example.tgz,aorai-example.tgz,$FC_SUFFIX \
metrics/metrics.pdf,metrics-manual.pdf,$FC_SUFFIX \ value/main.pdf,eva-manual.pdf,$FC_SUFFIX \
../src/plugins/wp/doc/manual/wp.pdf,wp-manual.pdf,$FC_SUFFIX \ metrics/metrics.pdf,metrics-manual.pdf,$FC_SUFFIX \
acsl/acsl-implementation.pdf,acsl-implementation.pdf,$FC_SUFFIX \ ../src/plugins/wp/doc/manual/wp.pdf,wp-manual.pdf,$FC_SUFFIX \
$EACSL_DOC/refman/e-acsl-implementation.pdf,e-acsl-implementation.pdf,$FC_SUFFIX \ acsl/acsl-implementation.pdf,acsl-implementation.pdf,$FC_SUFFIX \
$EACSL_DOC/userman/main.pdf,e-acsl-manual.pdf,$FC_SUFFIX \ $EACSL_DOC/refman/e-acsl-implementation.pdf,e-acsl-implementation.pdf,$FC_SUFFIX \
$EACSL_DOC/userman/main.pdf,e-acsl-manual.pdf,$FC_SUFFIX \
SHELL=(type -p bash) parallel --halt soon,fail=1 --csv build {1} {2} {3} ::: \
acsl/acsl.pdf,acsl.pdf,$ACSL_SUFFIX \ SHELL=(type -p bash) parallel --halt soon,fail=1 --csv build {1} {2} {3} ::: \
$EACSL_DOC/refman/e-acsl.pdf,e-acsl.pdf,$EACSL_SUFFIX acsl/acsl.pdf,acsl.pdf,$ACSL_SUFFIX \
$EACSL_DOC/refman/e-acsl.pdf,e-acsl.pdf,$EACSL_SUFFIX
else
build userman/userman.pdf user-manual.pdf $FC_SUFFIX
build developer/developer.pdf plugin-development-guide.pdf $FC_SUFFIX
build rte/main.pdf rte-manual.pdf $FC_SUFFIX
build aorai/main.pdf aorai-manual.pdf $FC_SUFFIX
build aorai/aorai-example.tgz aorai-example.tgz $FC_SUFFIX
build value/main.pdf eva-manual.pdf $FC_SUFFIX
build metrics/metrics.pdf metrics-manual.pdf $FC_SUFFIX
build ../src/plugins/wp/doc/manual/wp.pdf wp-manual.pdf $FC_SUFFIX
build acsl/acsl.pdf acsl.pdf $ACSL_SUFFIX
build acsl/acsl-implementation.pdf acsl-implementation.pdf $FC_SUFFIX
build $EACSL_DOC/refman/e-acsl-implementation.pdf e-acsl-implementation.pdf $FC_SUFFIX
build $EACSL_DOC/userman/main.pdf e-acsl-manual.pdf $FC_SUFFIX
build $EACSL_DOC/refman/e-acsl.pdf e-acsl.pdf $EACSL_SUFFIX
fi
# Sanity check: version differences between Frama-C, ACSL and E-ACSL # Sanity check: version differences between Frama-C, ACSL and E-ACSL
FAIL = 0 FAIL = 0
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment