From dac64990c69b3d52af2edda89993b646052d01c9 Mon Sep 17 00:00:00 2001 From: Oliver Smith Date: Wed, 13 Jan 2021 10:29:18 +0100 Subject: [PATCH] doc/manuals: support OSMO_GSM_MANUALS_DIR Instead of only relying on pkg-config, support the environment variable and fallback path like in other Osmocom repositories too. The same script is used in other Osmocom repositories where manuals are built without autotools. Related: OS#4912 Change-Id: Iecfbfc2a7588c316642aa37be637cf3c02f76ac4 --- doc/manuals/Makefile | 2 +- doc/manuals/osmo-gsm-manuals-dir.sh | 26 ++++++++++++++++++++++++++ 2 files changed, 27 insertions(+), 1 deletion(-) create mode 100755 doc/manuals/osmo-gsm-manuals-dir.sh diff --git a/doc/manuals/Makefile b/doc/manuals/Makefile index 1bd4b6e..d9a613d 100644 --- a/doc/manuals/Makefile +++ b/doc/manuals/Makefile @@ -1,4 +1,4 @@ -OSMO_GSM_MANUALS_DIR:=$(shell pkg-config osmo-gsm-manuals --variable=osmogsmmanualsdir) +OSMO_GSM_MANUALS_DIR:=$(shell ./osmo-gsm-manuals-dir.sh) sdcdir = . diff --git a/doc/manuals/osmo-gsm-manuals-dir.sh b/doc/manuals/osmo-gsm-manuals-dir.sh new file mode 100755 index 0000000..f132eaa --- /dev/null +++ b/doc/manuals/osmo-gsm-manuals-dir.sh @@ -0,0 +1,26 @@ +#!/bin/sh -e +# Find OSMO_GSM_MANUALS_DIR and print it to stdout. Print where it was taken from to stderr. + +# Find it in env, pkg-conf and ../../../osmo-gsm-manuals +RET="$OSMO_GSM_MANUALS_DIR" +if [ -n "$RET" ]; then + RET="$(realpath $RET)" + echo "OSMO_GSM_MANUALS_DIR: $RET (from env)" >&2 +else + RET="$(pkg-config osmo-gsm-manuals --variable=osmogsmmanualsdir 2>/dev/null || true)" + if [ -n "$RET" ]; then + echo "OSMO_GSM_MANUALS_DIR: $RET (from pkg-conf)" >&2 + else + RET="$(realpath $(realpath $(dirname $0))/../../../osmo-gsm-manuals)" + echo "OSMO_GSM_MANUALS_DIR: $RET (fallback)" >&2 + fi +fi + +# Print the result or error message +if [ -d "$RET" ]; then + echo "$RET" +else + echo "ERROR: OSMO_GSM_MANUALS_DIR does not exist!" >&2 + echo "Install osmo-gsm-manuals or set OSMO_GSM_MANUALS_DIR." >&2 + exit 1 +fi