Home | History | Annotate | Line # | Download | only in include
genheaders.sh revision 1.6
      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 HDRS="$HDRS cdefs.h"
     24 
     25 for hdr in ${HDRS}; do
     26 	G="_USERMODE_$(echo ${hdr} | sed 's/\./_/g' | tr [a-z] [A-Z])"
     27 
     28 	cat > ${hdr} << EOF
     29 /* \$NetBSD\$ */
     30 
     31 /*
     32  * Automatically generated by $0 on $(date)
     33  * Do not modify directly!
     34  */
     35 #ifndef $G
     36 #define $G
     37 
     38 #if defined(__i386__)
     39 #include "../../i386/include/${hdr}"
     40 #elif defined(__x86_64__)
     41 #include "../../amd64/include/${hdr}"
     42 #else
     43 #error port me
     44 #endif
     45 EOF
     46 
     47 	# header specific quirks
     48 	if [ "$hdr" = "disklabel.h" ]; then
     49 		echo "#include <machine/types.h>" >> ${hdr}
     50 		echo "#ifndef __HAVE_OLD_DISKLABEL" >> ${hdr}
     51 		echo "#undef DISKUNIT" >> ${hdr}
     52 		echo "#undef DISKPART" >> ${hdr}
     53 		echo "#undef DISKMINOR" >> ${hdr}
     54 		echo "#endif" >> ${hdr}
     55 	elif [ "$hdr" = "ptrace.h" ]; then
     56 		echo "#undef __HAVE_PTRACE_MACHDEP" >> ${hdr}
     57 		echo "#undef __HAVE_PROCFS_MACHDEP" >> ${hdr}
     58 	elif [ "$hdr" = "param.h" ]; then
     59 		echo "#undef UPAGES" >> ${hdr}
     60 		echo "#define UPAGES 8" >> ${hdr}
     61 		echo "#undef USPACE" >> ${hdr}
     62 		echo "#define USPACE (PAGE_SIZE*UPAGES)" >> ${hdr}
     63 	fi
     64 
     65 	echo >>${hdr}
     66 	echo "#endif" >> ${hdr}
     67 done
     68