1#!/bin/csh 2# 3# check that all major header files can be #include'd 4# singly with various combinations of _KERNEL, _KERNEL_STRUCTURES, and 5# userland access. 6# 7# The goal is that the only error reported should be a specific #error 8# indicating that particular support is not available. 9 10cd /usr/src/sys 11set files = ( sys/*.h vm/*.h net*/*.h ddb/*.h i386/include/*.h ) 12rm -rf /tmp/chkdir 13mkdir /tmp/chkdir 14cd /tmp/chkdir 15 16awk -f /usr/src/sys/tools/makeobjops.awk -- -h /usr/src/sys/kern/device_if.m 17awk -f /usr/src/sys/tools/makeobjops.awk -- -h /usr/src/sys/kern/bus_if.m 18awk -f /usr/src/sys/tools/makeobjops.awk -- -h /usr/src/sys/dev/netif/mii_layer/miibus_if.m 19awk -f /usr/src/sys/tools/makeobjops.awk -- -h /usr/src/sys/bus/ppbus/ppbus_if.m 20awk -f /usr/src/sys/tools/makeobjops.awk -- -h /usr/src/sys/bus/pccard/card_if.m 21awk -f /usr/src/sys/tools/makeobjops.awk -- -h /usr/src/sys/bus/pccard/power_if.m 22awk -f /usr/src/sys/tools/makeobjops.awk -- -h /usr/src/sys/dev/agp/agp_if.m 23awk -f /usr/src/sys/tools/makeobjops.awk -- -h /usr/src/sys/bus/pci/pci_if.m 24awk -f /usr/src/sys/tools/makeobjops.awk -- -h /usr/src/sys/bus/pci/pcib_if.m 25awk -f /usr/src/sys/tools/makeobjops.awk -- -h /usr/src/sys/bus/usb/usb_if.m 26awk -f /usr/src/sys/tools/makeobjops.awk -- -h /usr/src/sys/bus/isa/isa_if.m 27 28echo -n > opt_cam.h 29echo -n > opt_scsi.h 30echo -n > opt_ktr.h 31echo -n > opt_icmp_bandlim.h 32echo "#define INET 1" > opt_inet.h 33 34ln -s /usr/src/sys/arch/i386/include machine 35 36foreach i ( $files ) 37 if ( "$i" == "sys/sysunion.h" ) then 38 continue 39 endif 40 41 cat > chkincl.c << EOF 42#include <$i> 43EOF 44 echo "TRY $i (_KERNEL)" 45 cc -D_KERNEL -DKLD_MODULE -fno-builtin -I/usr/src/sys -I. -Wall -Wstrict-prototypes -c chkincl.c -o chkincl.o 46end 47foreach i ( $files ) 48 if ( "$i" == "sys/sysunion.h" ) then 49 continue 50 endif 51 52 cat > chkincl.c << EOF 53#include <$i> 54EOF 55 echo "TRY $i (_KERNEL_STRUCTURES)" 56 cc -D_KERNEL_STRUCTURES -fno-builtin -I/usr/src/sys -I. -Wall -Wstrict-prototypes -c chkincl.c -o chkincl.o 57end 58 59foreach i ( $files ) 60 if ( "$i" == "sys/sysunion.h" ) then 61 continue 62 endif 63 64 cat > chkincl.c << EOF 65#include <$i> 66EOF 67 echo "TRY $i (USER)" 68 cc -fno-builtin -I/usr/src/sys -I. -Wall -Wstrict-prototypes -c chkincl.c -o chkincl.o 69end 70 71