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 - |
_______________________________________________
svn-src-head@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"

Reply via email to