Home | History | Annotate | Line # | Download | only in include
genheaders.sh revision 1.10
      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 HDRS="$HDRS mcontext.h"
     25 HDRS="$HDRS frame_regs.h"
     26 
     27 for hdr in ${HDRS}; do
     28 	G="_USERMODE_$(echo ${hdr} | sed 's/\./_/g' | tr [a-z] [A-Z])"
     29 
     30 	cat > ${hdr} << EOF
     31 /* \$NetBSD\$ */
     32 
     33 /*
     34  * Automatically generated by $0 on $(date)
     35  * Do not modify directly!
     36  */
     37 #ifndef $G
     38 #define $G
     39 
     40 #if defined(__i386__)
     41 #include "../../i386/include/${hdr}"
     42 #elif defined(__x86_64__)
     43 #include "../../amd64/include/${hdr}"
     44 #elif defined(__arm__)
     45 #include "../../arm/include/${hdr}"
     46 #else
     47 #error port me
     48 #endif
     49 EOF
     50 
     51 	# header specific quirks
     52 	if [ "$hdr" = "disklabel.h" ]; then
     53 		echo "#include <machine/types.h>" >> ${hdr}
     54 		echo "#ifndef __HAVE_OLD_DISKLABEL" >> ${hdr}
     55 		echo "#undef DISKUNIT" >> ${hdr}
     56 		echo "#undef DISKPART" >> ${hdr}
     57 		echo "#undef DISKMINOR" >> ${hdr}
     58 		echo "#endif" >> ${hdr}
     59 	elif [ "$hdr" = "ptrace.h" ]; then
     60 		echo "#undef __HAVE_PTRACE_MACHDEP" >> ${hdr}
     61 		echo "#undef __HAVE_PROCFS_MACHDEP" >> ${hdr}
     62 	elif [ "$hdr" = "param.h" ]; then
     63 		cat >> ${hdr} << EOF
     64 #ifdef __arm__
     65 #define MACHINE "evbarm"
     66 #define PGSHIFT 12
     67 #define NBPG (1 << PGSHIFT)
     68 #define PGOFSET (NBPG - 1)
     69 #define NKMEMPAGES_MIN_DEFAULT  ((8 * 1024 * 1024) >> PAGE_SHIFT)
     70 #endif
     71 EOF
     72 		echo "#undef UPAGES" >> ${hdr}
     73 		echo "#define UPAGES 12" >> ${hdr}
     74 		echo "#undef USPACE" >> ${hdr}
     75 		echo "#define USPACE (PAGE_SIZE*UPAGES)" >> ${hdr}
     76 		echo "" >> ${hdr}
     77 		echo "#undef NKMEMPAGES_MAX_UNLIMITED" >> ${hdr}
     78 		echo "#include \"opt_kmempages.h\"" >> ${hdr}
     79 		echo "" >> ${hdr}
     80 	elif [ "$hdr" = "elf_machdep.h" ]; then
     81 		echo "#ifdef ELF_MD_PROBE_FUNC" >> ${hdr}
     82 		echo "#undef ELF_MD_PROBE_FUNC" >> ${hdr}
     83 		echo "#endif" >> ${hdr}
     84 	fi
     85 
     86 	echo >>${hdr}
     87 	echo "#endif" >> ${hdr}
     88 done
     89