xref: /aosp_15_r20/external/flashrom/doc/sphinx-wrapper.sh (revision 0d6140be3aa665ecc836e8907834fcd3e3b018fc)
1*0d6140beSAndroid Build Coastguard Worker#!/bin/sh
2*0d6140beSAndroid Build Coastguard Worker
3*0d6140beSAndroid Build Coastguard WorkerOUTPUT_HOME="$1"
4*0d6140beSAndroid Build Coastguard WorkerMAN_OUTPUTS="$2"
5*0d6140beSAndroid Build Coastguard WorkerSPHINXBUILD="$3"
6*0d6140beSAndroid Build Coastguard Workershift 3
7*0d6140beSAndroid Build Coastguard Worker
8*0d6140beSAndroid Build Coastguard Worker"${SPHINXBUILD}" "$@" || exit $?
9*0d6140beSAndroid Build Coastguard Worker
10*0d6140beSAndroid Build Coastguard WorkerSPHINXBUILD_MAJOR="$("${SPHINXBUILD}" --version | cut -d' ' -f2 | cut -d'.' -f1)"
11*0d6140beSAndroid Build Coastguard Workerif [ "${SPHINXBUILD_MAJOR}" -ge 4 ]; then
12*0d6140beSAndroid Build Coastguard Worker	exit 0
13*0d6140beSAndroid Build Coastguard Workerfi
14*0d6140beSAndroid Build Coastguard Worker
15*0d6140beSAndroid Build Coastguard Worker# sphinx-build 3.x outputs man pages to "8" directory instead of expected "man8".
16*0d6140beSAndroid Build Coastguard Worker# The following block checks for "man8" (and other output paths in ${MAN_OUTPUTS})
17*0d6140beSAndroid Build Coastguard Worker# and, if that is missing, but "8" dir exists instead, it renames "8" to "man8"
18*0d6140beSAndroid Build Coastguard Worker# and creates a symlink named "8" that points to "man8", so that anyone is happy
19*0d6140beSAndroid Build Coastguard Worker# during the rest of current build and subsequent builds as well.
20*0d6140beSAndroid Build Coastguard Worker
21*0d6140beSAndroid Build Coastguard Workerfor MAN_OUTPUT in ${MAN_OUTPUTS}; do
22*0d6140beSAndroid Build Coastguard Worker	PATH_TARGET="${OUTPUT_HOME}/${MAN_OUTPUT}"
23*0d6140beSAndroid Build Coastguard Worker	PATH_ACTUAL="${OUTPUT_HOME}/${MAN_OUTPUT#man}"
24*0d6140beSAndroid Build Coastguard Worker	if [ -d "${PATH_ACTUAL}" -a ! -L "${PATH_ACTUAL}" ]; then
25*0d6140beSAndroid Build Coastguard Worker		rm -rf "${PATH_TARGET}"
26*0d6140beSAndroid Build Coastguard Worker		mv "${PATH_ACTUAL}" "${PATH_TARGET}"
27*0d6140beSAndroid Build Coastguard Worker		ln -s "${MAN_OUTPUT}" "${PATH_ACTUAL}"
28*0d6140beSAndroid Build Coastguard Worker	fi
29*0d6140beSAndroid Build Coastguard Workerdone
30