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: [email protected]
Cc: [email protected]
Signed-off-by: Bruce Richardson <[email protected]>
---
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.30.2