svn commit: r338095 - head/lib/libsysdecode
Alex Richardson
arichardson at FreeBSD.org
Mon Aug 20 10:39:39 UTC 2018
Author: arichardson
Date: Mon Aug 20 10:39:37 2018
New Revision: 338095
URL: https://svnweb.freebsd.org/changeset/base/338095
Log:
Make mkioctls script work on Linux and MacOS
Using find -s will not work with the Linux or MacOS find command. We pipe
to sort instead since the only real requirement here is that the order
stays the same. While I am touching this file I also fixed a `==` construct
which is not supported by POSIX sh but appears to work on FreeBSD.
Reviewed By: imp
Approved By: jhb (mentor)
Differential Revision: https://reviews.freebsd.org/D14246
Modified:
head/lib/libsysdecode/mkioctls
Modified: head/lib/libsysdecode/mkioctls
==============================================================================
--- head/lib/libsysdecode/mkioctls Mon Aug 20 09:29:21 2018 (r338094)
+++ head/lib/libsysdecode/mkioctls Mon Aug 20 10:39:37 2018 (r338095)
@@ -17,18 +17,29 @@ LC_ALL=C; export LC_ALL
# XXX should we use an ANSI cpp?
ioctl_includes=$(
cd $includedir
+ set -e
+ # if /bin/sh is bash this will avoid further errors due to missing commands
+ if set -o | grep -q pipefail; then
+ set -o pipefail
+ fi
filter='tee'
- if [ "${MK_PF}" == "no" ]; then
+ if [ "${MK_PF}" = "no" ]; then
filter='egrep -v (net/pfvar|net/if_pfsync)\.h'
fi
-
- find -H -s * -name '*.h' | \
+ # find -s would avoid the need to invoke sort but it is non-portable
+ find -L ./* -type f -name '*.h' | \
+ LC_ALL=C sort | \
$filter | \
xargs egrep -l \
'^#[ ]*define[ ]+[A-Za-z_][A-Za-z0-9_]*[ ]+_IO[^a-z0-9_]' |
awk '{printf("#include <%s>\\n", $1)}'
)
+
+if [ -z "$ioctl_includes" ]; then
+ echo "Failed to build list of ioctl headers"
+ exit 1
+fi
awk -v x="$ioctl_includes" 'BEGIN {print x}' |
$CPP -nostdinc -I$includedir -dM -DCOMPAT_43TTY - |
More information about the svn-src-all
mailing list