Home | History | Annotate | Line # | Download | only in include
genheaders.sh revision 1.2
      1 #!/bin/sh
      2 #
      3 # Public domain
      4 #
      5 
      6 HDRS="asm.h"
      7 HDRS="$HDRS bswap.h"
      8 HDRS="$HDRS byte_swap.h"
      9 HDRS="$HDRS disklabel.h"
     10 HDRS="$HDRS elf_machdep.h"
     11 HDRS="$HDRS endian.h"
     12 HDRS="$HDRS endian_machdep.h"
     13 HDRS="$HDRS int_const.h"
     14 HDRS="$HDRS int_fmtio.h"
     15 HDRS="$HDRS int_limits.h"
     16 HDRS="$HDRS int_mwgwtypes.h"
     17 HDRS="$HDRS int_types.h"
     18 HDRS="$HDRS limits.h"
     19 HDRS="$HDRS netbsd32_machdep.h"
     20 HDRS="$HDRS param.h"
     21 HDRS="$HDRS ptrace.h"
     22 HDRS="$HDRS wchar_limits.h"
     23 
     24 for hdr in ${HDRS}; do
     25 	G="_USERMODE_$(echo ${hdr} | sed 's/\./_/g' | tr [a-z] [A-Z])"
     26 
     27 	cat > ${hdr} << EOF
     28 /* \$NetBSD\$ */
     29 
     30 /*
     31  * Automatically generated by $0 on $(date)
     32  * Do not modify directly!
     33  */
     34 #ifndef $G
     35 #define $G
     36 
     37 #if defined(__i386__)
     38 #include "../../i386/include/${hdr}"
     39 #elif defined(__x86_64__)
     40 #include "../../amd64/include/${hdr}"
     41 #else
     42 #error port me
     43 #endif
     44 EOF
     45 
     46 	# header specific quirks
     47 	if [ "$hdr" = "disklabel.h" ]; then
     48 		echo "#undef DISKUNIT" >> ${hdr}
     49 		echo "#undef DISKPART" >> ${hdr}
     50 		echo "#undef DISKMINOR" >> ${hdr}
     51 	elif [ "$hdr" = "ptrace.h" ]; then
     52 		echo "#undef __HAVE_PTRACE_MACHDEP" >> ${hdr}
     53 		echo "#undef __HAVE_PROCFS_MACHDEP" >> ${hdr}
     54 	elif [ "$hdr" = "param.h" ]; then
     55 		echo "#undef USPACE" >> ${hdr}
     56 		echo "#define USPACE (PAGE_SIZE*4)" >> ${hdr}
     57 	fi
     58 
     59 	echo >>${hdr}
     60 	echo "#endif" >> ${hdr}
     61 done
     62