Home | History | Annotate | Line # | Download | only in include
genheaders.sh revision 1.10.2.1
      1       1.1  jmcneill #!/bin/sh
      2       1.1  jmcneill #
      3       1.1  jmcneill # Public domain
      4       1.1  jmcneill #
      5       1.1  jmcneill 
      6       1.1  jmcneill HDRS="asm.h"
      7       1.1  jmcneill HDRS="$HDRS bswap.h"
      8       1.1  jmcneill HDRS="$HDRS byte_swap.h"
      9       1.1  jmcneill HDRS="$HDRS disklabel.h"
     10       1.1  jmcneill HDRS="$HDRS elf_machdep.h"
     11       1.1  jmcneill HDRS="$HDRS endian.h"
     12       1.1  jmcneill HDRS="$HDRS endian_machdep.h"
     13       1.1  jmcneill HDRS="$HDRS int_const.h"
     14       1.1  jmcneill HDRS="$HDRS int_fmtio.h"
     15       1.1  jmcneill HDRS="$HDRS int_limits.h"
     16       1.1  jmcneill HDRS="$HDRS int_mwgwtypes.h"
     17       1.1  jmcneill HDRS="$HDRS int_types.h"
     18       1.1  jmcneill HDRS="$HDRS limits.h"
     19       1.1  jmcneill HDRS="$HDRS netbsd32_machdep.h"
     20       1.1  jmcneill HDRS="$HDRS param.h"
     21       1.1  jmcneill HDRS="$HDRS ptrace.h"
     22       1.1  jmcneill HDRS="$HDRS wchar_limits.h"
     23       1.6   reinoud HDRS="$HDRS cdefs.h"
     24      1.10   reinoud HDRS="$HDRS mcontext.h"
     25      1.10   reinoud HDRS="$HDRS frame_regs.h"
     26  1.10.2.1  christos HDRS="$HDRS cpufunc.h"
     27       1.1  jmcneill 
     28       1.1  jmcneill for hdr in ${HDRS}; do
     29       1.1  jmcneill 	G="_USERMODE_$(echo ${hdr} | sed 's/\./_/g' | tr [a-z] [A-Z])"
     30       1.1  jmcneill 
     31       1.1  jmcneill 	cat > ${hdr} << EOF
     32       1.1  jmcneill /* \$NetBSD\$ */
     33       1.1  jmcneill 
     34       1.1  jmcneill /*
     35       1.1  jmcneill  * Automatically generated by $0 on $(date)
     36       1.1  jmcneill  * Do not modify directly!
     37       1.1  jmcneill  */
     38       1.1  jmcneill #ifndef $G
     39       1.1  jmcneill #define $G
     40       1.1  jmcneill 
     41       1.1  jmcneill #if defined(__i386__)
     42       1.1  jmcneill #include "../../i386/include/${hdr}"
     43       1.1  jmcneill #elif defined(__x86_64__)
     44       1.1  jmcneill #include "../../amd64/include/${hdr}"
     45       1.9  jmcneill #elif defined(__arm__)
     46       1.9  jmcneill #include "../../arm/include/${hdr}"
     47       1.1  jmcneill #else
     48       1.1  jmcneill #error port me
     49       1.1  jmcneill #endif
     50       1.1  jmcneill EOF
     51       1.1  jmcneill 
     52       1.1  jmcneill 	# header specific quirks
     53       1.1  jmcneill 	if [ "$hdr" = "disklabel.h" ]; then
     54       1.3  jmcneill 		echo "#include <machine/types.h>" >> ${hdr}
     55       1.3  jmcneill 		echo "#ifndef __HAVE_OLD_DISKLABEL" >> ${hdr}
     56       1.1  jmcneill 		echo "#undef DISKUNIT" >> ${hdr}
     57       1.1  jmcneill 		echo "#undef DISKPART" >> ${hdr}
     58       1.1  jmcneill 		echo "#undef DISKMINOR" >> ${hdr}
     59       1.3  jmcneill 		echo "#endif" >> ${hdr}
     60       1.1  jmcneill 	elif [ "$hdr" = "ptrace.h" ]; then
     61       1.1  jmcneill 		echo "#undef __HAVE_PTRACE_MACHDEP" >> ${hdr}
     62       1.1  jmcneill 		echo "#undef __HAVE_PROCFS_MACHDEP" >> ${hdr}
     63       1.2  jmcneill 	elif [ "$hdr" = "param.h" ]; then
     64       1.9  jmcneill 		cat >> ${hdr} << EOF
     65       1.9  jmcneill #ifdef __arm__
     66       1.9  jmcneill #define MACHINE "evbarm"
     67       1.9  jmcneill #define PGSHIFT 12
     68       1.9  jmcneill #define NBPG (1 << PGSHIFT)
     69       1.9  jmcneill #define PGOFSET (NBPG - 1)
     70       1.9  jmcneill #define NKMEMPAGES_MIN_DEFAULT  ((8 * 1024 * 1024) >> PAGE_SHIFT)
     71       1.9  jmcneill #endif
     72       1.9  jmcneill EOF
     73       1.3  jmcneill 		echo "#undef UPAGES" >> ${hdr}
     74       1.7   reinoud 		echo "#define UPAGES 12" >> ${hdr}
     75       1.2  jmcneill 		echo "#undef USPACE" >> ${hdr}
     76       1.3  jmcneill 		echo "#define USPACE (PAGE_SIZE*UPAGES)" >> ${hdr}
     77       1.8   reinoud 		echo "" >> ${hdr}
     78       1.8   reinoud 		echo "#undef NKMEMPAGES_MAX_UNLIMITED" >> ${hdr}
     79       1.8   reinoud 		echo "#include \"opt_kmempages.h\"" >> ${hdr}
     80       1.9  jmcneill 		echo "" >> ${hdr}
     81       1.9  jmcneill 	elif [ "$hdr" = "elf_machdep.h" ]; then
     82       1.9  jmcneill 		echo "#ifdef ELF_MD_PROBE_FUNC" >> ${hdr}
     83       1.9  jmcneill 		echo "#undef ELF_MD_PROBE_FUNC" >> ${hdr}
     84       1.9  jmcneill 		echo "#endif" >> ${hdr}
     85       1.1  jmcneill 	fi
     86       1.1  jmcneill 
     87       1.1  jmcneill 	echo >>${hdr}
     88       1.1  jmcneill 	echo "#endif" >> ${hdr}
     89       1.1  jmcneill done
     90