doc/api: remove dependency on findutils on FreeBSD
Checks
Commit Message
Standard "find" on BSD does not support the "-printf" so gfind from
findutils package was used to enable full doc builds. We can remove this
extra dependency by using "sed" and "tr" to adjust the output from
regular find instread.
Fixes: 8260f4f98cfe ("mk: use script to generate examples.dox")
Fixes: 499fe9dfcfc7 ("doc: add dependency on examples for API doxygen")
Fixes: 897e55c8d27f ("doc: fix Doxygen examples build on FreeBSD")
Cc: bluca@debian.org
Cc: thomas@monjalon.net
Cc: stable@dpdk.org
Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
---
doc/api/generate_examples.sh | 12 ++----------
1 file changed, 2 insertions(+), 10 deletions(-)
Comments
22/12/2021 16:18, Bruce Richardson:
> Standard "find" on BSD does not support the "-printf" so gfind from
> findutils package was used to enable full doc builds. We can remove this
> extra dependency by using "sed" and "tr" to adjust the output from
> regular find instread.
>
> Fixes: 8260f4f98cfe ("mk: use script to generate examples.dox")
> Fixes: 499fe9dfcfc7 ("doc: add dependency on examples for API doxygen")
> Fixes: 897e55c8d27f ("doc: fix Doxygen examples build on FreeBSD")
> Cc: bluca@debian.org
> Cc: thomas@monjalon.net
> Cc: stable@dpdk.org
>
> Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
> ---
> -$FIND "${EXAMPLES_DIR}" -type f -name '*.c' -printf '@example examples/%P\n' | LC_ALL=C sort
> +$FIND "${EXAMPLES_DIR}" -type f -name '*.c' | sed "s|${EXAMPLES_DIR}|@example examples|" | LC_ALL=C sort
Broke up this long line (after each pipe),
and applied, thanks.
@@ -6,21 +6,13 @@ 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' \) | tr '\n' ' ' )" > ${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' | sed "s|${EXAMPLES_DIR}|@example examples|" | LC_ALL=C sort
printf '*/\n'