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: 8260f4f98c ("mk: use script to generate examples.dox")
Cc: stable@dpdk.org

Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
This commit is contained in:
Bruce Richardson 2021-09-15 18:36:33 +01:00 committed by Thomas Monjalon
parent 1f8cc1a388
commit 897e55c8d2

View File

@ -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'