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