xref: /netbsd-src/sys/arch/usermode/include/genheaders.sh (revision 7788a0781fe6ff2cce37368b4578a7ade0850cb1)
1#!/bin/sh
2#
3# Public domain
4#
5
6HDRS="asm.h"
7HDRS="$HDRS bswap.h"
8HDRS="$HDRS byte_swap.h"
9HDRS="$HDRS disklabel.h"
10HDRS="$HDRS elf_machdep.h"
11HDRS="$HDRS endian.h"
12HDRS="$HDRS endian_machdep.h"
13HDRS="$HDRS int_const.h"
14HDRS="$HDRS int_fmtio.h"
15HDRS="$HDRS int_limits.h"
16HDRS="$HDRS int_mwgwtypes.h"
17HDRS="$HDRS int_types.h"
18HDRS="$HDRS limits.h"
19HDRS="$HDRS netbsd32_machdep.h"
20HDRS="$HDRS param.h"
21HDRS="$HDRS ptrace.h"
22HDRS="$HDRS wchar_limits.h"
23HDRS="$HDRS cdefs.h"
24
25for 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
45EOF
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 12" >> ${hdr}
61		echo "#undef USPACE" >> ${hdr}
62		echo "#define USPACE (PAGE_SIZE*UPAGES)" >> ${hdr}
63		echo "" >> ${hdr}
64		echo "#undef NKMEMPAGES_MAX_UNLIMITED" >> ${hdr}
65		echo "#include \"opt_kmempages.h\"" >> ${hdr}
66	fi
67
68	echo >>${hdr}
69	echo "#endif" >> ${hdr}
70done
71