From a342f43571b9d96776d35c94c3f98c5f64096c48 Mon Sep 17 00:00:00 2001 From: Kristof Provost Date: Sat, 22 Jul 2017 12:51:19 +0000 Subject: [PATCH] Handle WITH/WITHOUT_PF in libsysdecode Only filter out the PF ioctls if we're building without pf support. Until now those were always filtered out, so truss did not show symbolic names for pf ioctls. Differential Revision: https://reviews.freebsd.org/D11629 --- lib/libsysdecode/Makefile | 2 +- lib/libsysdecode/mkioctls | 8 +++++++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/lib/libsysdecode/Makefile b/lib/libsysdecode/Makefile index 9ce166c88641..073cb7ad804a 100644 --- a/lib/libsysdecode/Makefile +++ b/lib/libsysdecode/Makefile @@ -122,7 +122,7 @@ tables.h: mktables ioctl.c: .PHONY .endif ioctl.c: mkioctls .META - env CPP="${CPP}" \ + env CPP="${CPP}" MK_PF="${MK_PF}" \ /bin/sh ${.CURDIR}/mkioctls ${SYSROOT:U${DESTDIR}}${INCLUDEDIR} > ${.TARGET} beforedepend: ioctl.c tables.h diff --git a/lib/libsysdecode/mkioctls b/lib/libsysdecode/mkioctls index 743029a24f20..03f53ead642e 100644 --- a/lib/libsysdecode/mkioctls +++ b/lib/libsysdecode/mkioctls @@ -17,8 +17,14 @@ LC_ALL=C; export LC_ALL # XXX should we use an ANSI cpp? ioctl_includes=$( cd $includedir + + filter='tee' + if [ "${MK_PF}" == "no" ]; then + filter='egrep -v (net/pfvar|net/if_pfsync)\.h' + fi + find -H -s * -name '*.h' | \ - egrep -v '(net/pfvar|net/if_pfsync)\.h' | \ + $filter | \ xargs egrep -l \ '^#[ ]*define[ ]+[A-Za-z_][A-Za-z0-9_]*[ ]+_IO[^a-z0-9_]' | awk '{printf("#include <%s>\\n", $1)}'