From 897e55c8d27f7c69cdc0c330deb67d15bd0b583d Mon Sep 17 00:00:00 2001 From: Bruce Richardson Date: Wed, 15 Sep 2021 18:36:33 +0100 Subject: [PATCH] doc: fix Doxygen examples build on FreeBSD On FreeBSD, "find" does not support the "printf" flag, so we need to use "gfind" from the "findutils" package. Fixes: 8260f4f98cfe ("mk: use script to generate examples.dox") Cc: stable@dpdk.org Signed-off-by: Bruce Richardson --- doc/api/generate_examples.sh | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/doc/api/generate_examples.sh b/doc/api/generate_examples.sh index dae7ee0be0..3e08236596 100755 --- a/doc/api/generate_examples.sh +++ b/doc/api/generate_examples.sh @@ -5,12 +5,22 @@ EXAMPLES_DIR=$1 API_EXAMPLES=$2 +FIND=find +if [ "$(uname)" = "FreeBSD" ] ; then +# on FreeBSD, we need GNU find for "-printf" flag + FIND=gfind + if ! which -s $FIND ; then + echo "Error: need '$FIND' on FreeBSD. Install 'findutils' pkg" + exit 1 + fi +fi + # generate a .d file including both C files and also build files, so we can # detect both file changes and file additions/deletions -echo "$API_EXAMPLES: $(find ${EXAMPLES_DIR} -type f \( -name '*.c' -o -name 'meson.build' \) -printf '%p ' )" > ${API_EXAMPLES}.d +echo "$API_EXAMPLES: $($FIND ${EXAMPLES_DIR} -type f \( -name '*.c' -o -name 'meson.build' \) -printf '%p ' )" > ${API_EXAMPLES}.d exec > "${API_EXAMPLES}" printf '/**\n' printf '@page examples DPDK Example Programs\n\n' -find "${EXAMPLES_DIR}" -type f -name '*.c' -printf '@example examples/%P\n' | LC_ALL=C sort +$FIND "${EXAMPLES_DIR}" -type f -name '*.c' -printf '@example examples/%P\n' | LC_ALL=C sort printf '*/\n' -- 2.20.1