From 112fb3abf7e83b24bd853914fc45d3eb22fb5092 Mon Sep 17 00:00:00 2001 From: kp 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)}'