| @@ -1,523 +1,541 @@ | | | @@ -1,523 +1,541 @@ |
1 | #!/bin/sh | | 1 | #!/bin/sh |
2 | # $NetBSD: mknative-gcc,v 1.35 2009/11/30 08:20:23 uebayasi Exp $ | | 2 | # $NetBSD: mknative-gcc,v 1.36 2009/11/30 09:32:13 uebayasi Exp $ |
3 | # | | 3 | # |
4 | # Shell script for generating all the constants needed for a native | | 4 | # Shell script for generating all the constants needed for a native |
5 | # platform build of src/gnu/dist/gcc. | | 5 | # platform build of src/gnu/dist/gcc. |
6 | # | | 6 | # |
7 | | | 7 | |
8 | # initialise | | 8 | # initialise |
9 | | | 9 | |
10 | _TMPDIR=$2 | | 10 | _TMPDIR=$2 |
11 | _TOP=$3 | | 11 | _TOP=$3 |
12 | _PLATFORM=$4 | | 12 | _PLATFORM=$4 |
13 | _VPATH=`grep VPATH ${_TMPDIR}/Makefile | sed 's,^.*=[ ]*,,'` | | 13 | _VPATH=`grep VPATH ${_TMPDIR}/Makefile | sed 's,^.*=[ ]*,,'` |
14 | _GNU_DIST=`cd ${_VPATH}; pwd` | | 14 | _GNU_DIST=`cd ${_VPATH}; pwd` |
15 | | | 15 | |
16 | . $_TOP/tools/gcc/mknative.common | | 16 | . $_TOP/tools/gcc/mknative.common |
17 | | | 17 | |
18 | ##### gnu/lib/crtstuff ##### | | 18 | ##### gnu/lib/crtstuff ##### |
19 | | | 19 | |
20 | get_crtstuff () { | | 20 | get_crtstuff () { |
21 | _subdir="$1" | | 21 | _subdir="$1" |
22 | mkdir -p $_TOP/gnu/lib/$_subdir/arch | | 22 | mkdir -p $_TOP/gnu/lib/$_subdir/arch |
23 | | | 23 | |
24 | getvars gcc/Makefile \ | | 24 | getvars gcc/Makefile \ |
25 | INCLUDES CRTSTUFF_CFLAGS CRTSTUFF_T_CFLAGS \ | | 25 | INCLUDES CRTSTUFF_CFLAGS CRTSTUFF_T_CFLAGS \ |
26 | tm_defines xm_file xm_defines \ | | 26 | tm_defines xm_file xm_defines \ |
27 | | write_mk gnu/lib/$_subdir/arch/$MACHINE_ARCH.mk | | 27 | | write_mk gnu/lib/$_subdir/arch/$MACHINE_ARCH.mk |
28 | } | | 28 | } |
29 | | | 29 | |
30 | ##### gnu/lib/libg2c ##### | | 30 | ##### gnu/lib/libg2c ##### |
31 | | | 31 | |
32 | get_libg2c () { | | 32 | get_libg2c () { |
33 | mkdir -p $_TOP/gnu/lib/libg2c3/arch/$MACHINE_ARCH | | 33 | mkdir -p $_TOP/gnu/lib/libg2c3/arch/$MACHINE_ARCH |
34 | | | 34 | |
35 | write_c gnu/lib/libg2c3/arch/$MACHINE_ARCH/config.h <$_TMPDIR/$_PLATFORM/libf2c/libU77/config.h | | 35 | write_c gnu/lib/libg2c3/arch/$MACHINE_ARCH/config.h <$_TMPDIR/$_PLATFORM/libf2c/libU77/config.h |
36 | write_c gnu/lib/libg2c3/arch/$MACHINE_ARCH/g2c.h <$_TMPDIR/$_PLATFORM/libf2c/g2c.h | | 36 | write_c gnu/lib/libg2c3/arch/$MACHINE_ARCH/g2c.h <$_TMPDIR/$_PLATFORM/libf2c/g2c.h |
37 | | | 37 | |
38 | { | | 38 | { |
39 | getvars $_PLATFORM/libf2c/Makefile \ | | 39 | getvars $_PLATFORM/libf2c/Makefile \ |
40 | F2CEXT | | 40 | F2CEXT |
41 | getvars $_PLATFORM/libf2c/libF77/Makefile \ | | 41 | getvars $_PLATFORM/libf2c/libF77/Makefile \ |
42 | ALL_CFLAGS OBJS | | 42 | ALL_CFLAGS OBJS |
43 | getvars $_PLATFORM/libf2c/libI77/Makefile \ | | 43 | getvars $_PLATFORM/libf2c/libI77/Makefile \ |
44 | ALL_CFLAGS OBJS | sed 's,=,+=,' | | 44 | ALL_CFLAGS OBJS | sed 's,=,+=,' |
45 | getvars $_PLATFORM/libf2c/libU77/Makefile \ | | 45 | getvars $_PLATFORM/libf2c/libU77/Makefile \ |
46 | ALL_CFLAGS OBJS | sed 's,=,+=,' | | 46 | ALL_CFLAGS OBJS | sed 's,=,+=,' |
47 | } | write_mk gnu/lib/libg2c3/arch/$MACHINE_ARCH/defs.mk | | 47 | } | write_mk gnu/lib/libg2c3/arch/$MACHINE_ARCH/defs.mk |
48 | } | | 48 | } |
49 | | | 49 | |
50 | ##### gnu/lib/libgcc ##### | | 50 | ##### gnu/lib/libgcc ##### |
51 | | | 51 | |
52 | get_libgcc_list_funcs_asm () { | | 52 | get_libgcc_list_funcs_asm () { |
53 | getvars gcc/Makefile LIB1ASMFUNCS | { | | 53 | getvars gcc/Makefile LIB1ASMFUNCS | { |
54 | # print newline separated list | | 54 | # print newline separated list |
55 | sed -e ' | | 55 | sed -e ' |
56 | s,^.*=,, | | 56 | s,^.*=,, |
57 | s, *$,, | | 57 | s, *$,, |
58 | s, *, ,g | | 58 | s, *, ,g |
59 | s, ,\ | | 59 | s, ,\ |
60 | ,g' | | 60 | ,g' |
61 | } | { | | 61 | } | { |
62 | # print foo and foo_s | | 62 | # print foo and foo_s |
63 | sed -ne ' | | 63 | sed -ne ' |
64 | /./ { | | 64 | /./ { |
65 | p | | 65 | p |
66 | s,$,_s, | | 66 | s,$,_s, |
67 | p | | 67 | p |
68 | } | | 68 | } |
69 | ' | | 69 | ' |
70 | } | sort | | 70 | } | sort |
71 | } | | 71 | } |
72 | | | 72 | |
73 | get_libgcc_list_funcs_lib () { | | 73 | get_libgcc_list_funcs_lib () { |
74 | local _lib=$1 | | 74 | local _lib=$1 |
75 | local _lib_prefix=${_lib%.*} | | 75 | local _lib_prefix=${_lib%.*} |
76 | local _lib_suffix=${_lib#*.} | | 76 | local _lib_suffix=${_lib#*.} |
77 | | | 77 | |
78 | sed -ne ' | | 78 | sed -ne ' |
79 | /^\.\/'${_lib_prefix}'\.'${_lib_suffix}': .*\.o$/ { | | 79 | /^\.\/'${_lib_prefix}'\.'${_lib_suffix}': .*\.o$/ { |
80 | s,^.*/,, | | 80 | s,^.*/,, |
81 | s,\.o$,, | | 81 | s,\.o$,, |
82 | p | | 82 | p |
83 | } | | 83 | } |
84 | ' build/gcc/libgcc.mk | sort | | 84 | ' build/gcc/libgcc.mk | sort |
85 | } | | 85 | } |
86 | | | 86 | |
87 | get_libgcc_list_objs_libs () { | | 87 | get_libgcc_list_objs_libs () { |
88 | cat build/gcc/libgcc.mk | \ | | 88 | cat build/gcc/libgcc.mk | \ |
89 | egrep '^\.\/(libgcc_s\.so|libgcc\.a|libgcc_eh\.a|libgcov\.a): (libgcc_s|libgcc|libgcc_eh|libgcov)\/.*\.o$' | \ | | 89 | egrep '^\.\/(libgcc_s\.so|libgcc\.a|libgcc_eh\.a|libgcov\.a): (libgcc_s|libgcc|libgcc_eh|libgcov)\/.*\.o$' | \ |
90 | sed -e ' | | 90 | sed -e ' |
91 | s,^\.\/,, | | 91 | s,^\.\/,, |
92 | s,: .*/, , | | 92 | s,: .*/, , |
93 | s,^\(.*\) \(.*\)$,\2 \1, | | 93 | s,^\(.*\) \(.*\)$,\2 \1, |
94 | ' | sort | | 94 | ' | sort |
95 | } | | 95 | } |
96 | | | 96 | |
97 | get_libgcc_list_objs_srcs () { | | 97 | get_libgcc_list_objs_srcs () { |
98 | { | | 98 | { |
99 | cut -f1 $_TOP/${libgcc_db_objs_libs} | sed -e 's,\.o$,,' | \ | | 99 | cut -f1 $_TOP/${libgcc_db_objs_libs} | sed -e 's,\.o$,,' | \ |
100 | comm -23 /dev/stdin $_TOP/${libgcc_db_funcs}.S | \ | | 100 | comm -23 /dev/stdin $_TOP/${libgcc_db_funcs}.S | \ |
101 | sed -e 's,\(.*\),\1.o \1.c,' | | 101 | sed -e 's,\(.*\),\1.o \1.c,' |
102 | | | 102 | |
103 | cut -f1 $_TOP/${libgcc_db_objs_libs} | sed -e 's,\.o$,,' | \ | | 103 | cut -f1 $_TOP/${libgcc_db_objs_libs} | sed -e 's,\.o$,,' | \ |
104 | comm -12 /dev/stdin $_TOP/${libgcc_db_funcs}.S | \ | | 104 | comm -12 /dev/stdin $_TOP/${libgcc_db_funcs}.S | \ |
105 | sed -e 's,\(.*\),\1.o \1.S,' | | 105 | sed -e 's,\(.*\),\1.o \1.S,' |
106 | } | sort | | 106 | } | sort |
107 | } | | 107 | } |
108 | | | 108 | |
109 | get_libgcc_list_objs_tmpsrcs () { | | 109 | get_libgcc_list_objs_tmpsrcs () { |
110 | grep 'GCC_FOR_TARGET.*\.o$' build/gcc/libgcc.mk | \ | | 110 | grep 'GCC_FOR_TARGET.*\.o$' build/gcc/libgcc.mk | \ |
111 | sed -ne ' | | 111 | sed -ne ' |
112 | s,^.* -c \([^ ]*\).* -o .*/\([^ ]*\.o\)$,\2 \1, | | 112 | s,^.* -c \([^ ]*\).* -o .*/\([^ ]*\.o\)$,\2 \1, |
113 | # basename | | 113 | # basename |
114 | /\$/ { s,\$.*/,,; } | | 114 | /\$/ { s,\$.*/,,; } |
115 | /\// { s,\/.*/,,; } | | 115 | /\// { s,\/.*/,,; } |
116 | p | | 116 | p |
117 | ' | sort | | 117 | ' | sort |
118 | } | | 118 | } |
119 | | | 119 | |
120 | get_libgcc_list_objs_xflags () { | | 120 | get_libgcc_list_objs_xflags () { |
121 | local _flags=$1 | | 121 | local _flags=$1 |
122 | | | 122 | |
123 | grep 'GCC_FOR_TARGET.*\.o$' build/gcc/libgcc.mk | \ | | 123 | grep 'GCC_FOR_TARGET.*\.o$' build/gcc/libgcc.mk | \ |
124 | sed -n ' | | 124 | sed -n ' |
125 | x | | 125 | x |
126 | :loop | | 126 | :loop |
127 | g | | 127 | g |
128 | s/^\(.*\) \(-['${_flags}'][^ ][^ ]*\) \(.*\) \(-o .*\)\/\(.*\.o\)$/\5 \2/p | | 128 | s/^\(.*\) \(-['${_flags}'][^ ][^ ]*\) \(.*\) \(-o .*\)\/\(.*\.o\)$/\5 \2/p |
129 | g | | 129 | g |
130 | s/^\(.*\) \(-['${_flags}'][^ ][^ ]*\) \(.*\) \(-o .*\)\/\(.*\.o\)$/\1 \3 \4\/\5/ | | 130 | s/^\(.*\) \(-['${_flags}'][^ ][^ ]*\) \(.*\) \(-o .*\)\/\(.*\.o\)$/\1 \3 \4\/\5/ |
131 | h | | 131 | h |
132 | t loop | | 132 | t loop |
133 | ' | sort | | 133 | ' | sort |
134 | } | | 134 | } |
135 | | | 135 | |
136 | get_libgcc_list_objs_cppflags () { | | 136 | get_libgcc_list_objs_cppflags () { |
137 | get_libgcc_list_objs_xflags D | | 137 | get_libgcc_list_objs_xflags D |
138 | } | | 138 | } |
139 | | | 139 | |
140 | get_libgcc_list_objs_copts () { | | 140 | get_libgcc_list_objs_copts () { |
141 | get_libgcc_list_objs_xflags fmx | | 141 | get_libgcc_list_objs_xflags fmx |
142 | } | | 142 | } |
143 | | | 143 | |
144 | get_libgcc_list_tmpsrcs () { | | 144 | get_libgcc_list_tmpsrcs () { |
145 | local _lib=$1 | | 145 | local _lib=$1 |
146 | local _tmpallsrcs=$( mktemp /tmp/mknative-gcc._tmpallsrcs.XXXXXX ) | | 146 | local _tmpallsrcs=$( mktemp /tmp/mknative-gcc._tmpallsrcs.XXXXXX ) |
147 | | | 147 | |
148 | touch $_TOP/${libgcc_db_tmpsrcs}.tmpsrcs.${_lib%.*} | | 148 | touch $_TOP/${libgcc_db_tmpsrcs}.tmpsrcs.${_lib%.*} |
149 | touch $_TOP/${libgcc_db_tmpsrcs}.tmpfpsrcs.${_lib%.*} | | 149 | touch $_TOP/${libgcc_db_tmpsrcs}.tmpfpsrcs.${_lib%.*} |
150 | touch $_TOP/${libgcc_db_tmpsrcs}.tmpasmsrcs.${_lib%.*} | | 150 | touch $_TOP/${libgcc_db_tmpsrcs}.tmpasmsrcs.${_lib%.*} |
151 | | | 151 | |
152 | # all files | | 152 | # all files |
153 | local _lib_prefix=${_lib%.*} | | 153 | local _lib_prefix=${_lib%.*} |
154 | local _lib_suffix=${_lib#*.} | | 154 | local _lib_suffix=${_lib#*.} |
155 | join $_TOP/$libgcc_db_objs_libs $_TOP/$libgcc_db_objs_tmpsrcs | \ | | 155 | join $_TOP/$libgcc_db_objs_libs $_TOP/$libgcc_db_objs_tmpsrcs | \ |
156 | grep ${_lib_prefix}'\.'${_lib_suffix} | cut -d' ' -f 3 | sort -u > \ | | 156 | grep ${_lib_prefix}'\.'${_lib_suffix} | cut -d' ' -f 3 | sort -u > \ |
157 | $_tmpallsrcs | | 157 | $_tmpallsrcs |
158 | | | 158 | |
159 | # TMPFPSRCS = [fdp]p-bit.c | | 159 | # TMPFPSRCS = [fdp]p-bit.c |
160 | grep '[fdt]p-bit\.c' <$_tmpallsrcs | sort -u | \ | | 160 | grep '[fdt]p-bit\.c' <$_tmpallsrcs | sort -u | \ |
161 | writefile ${libgcc_db_tmpsrcs}.tmpfpsrcs.${_lib%.*} | | 161 | writefile ${libgcc_db_tmpsrcs}.tmpfpsrcs.${_lib%.*} |
162 | | | 162 | |
163 | # TMPASMSRCS = $(LIB1ASMSRC) | | 163 | # TMPASMSRCS = $(LIB1ASMSRC) |
164 | grep '\$(LIB1ASMSRC)' <$_tmpallsrcs | sort -u | \ | | 164 | grep '\$(LIB1ASMSRC)' <$_tmpallsrcs | sort -u | \ |
165 | writefile ${libgcc_db_tmpsrcs}.tmpasmsrcs.${_lib%.*} | | 165 | writefile ${libgcc_db_tmpsrcs}.tmpasmsrcs.${_lib%.*} |
166 | | | 166 | |
167 | # TMPSRCS is anything else; exclude TMPFPSRCS and TMPASMSRCS | | 167 | # TMPSRCS is anything else; exclude TMPFPSRCS and TMPASMSRCS |
168 | cat $_tmpallsrcs | \ | | 168 | cat $_tmpallsrcs | \ |
169 | comm -23 /dev/stdin $_TOP/${libgcc_db_tmpsrcs}.tmpfpsrcs.${_lib%.*} | \ | | 169 | comm -23 /dev/stdin $_TOP/${libgcc_db_tmpsrcs}.tmpfpsrcs.${_lib%.*} | \ |
170 | comm -23 /dev/stdin $_TOP/${libgcc_db_tmpsrcs}.tmpasmsrcs.${_lib%.*} | \ | | 170 | comm -23 /dev/stdin $_TOP/${libgcc_db_tmpsrcs}.tmpasmsrcs.${_lib%.*} | \ |
171 | writefile ${libgcc_db_tmpsrcs}.tmpsrcs.${_lib%.*} | | 171 | writefile ${libgcc_db_tmpsrcs}.tmpsrcs.${_lib%.*} |
172 | | | 172 | |
173 | rm -f $_tmpallsrcs | | 173 | rm -f $_tmpallsrcs |
174 | } | | 174 | } |
175 | | | 175 | |
176 | get_libgcc_new_analyze () { | | 176 | get_libgcc_new_analyze () { |
177 | mkdir -p $_TOP/${_machine_arch_subdir} | | 177 | mkdir -p $_TOP/${_machine_arch_subdir} |
178 | | | 178 | |
179 | get_libgcc_list_funcs_asm | \ | | 179 | get_libgcc_list_funcs_asm | \ |
180 | writefile ${libgcc_db_funcs}.S | | 180 | writefile ${libgcc_db_funcs}.S |
181 | | | 181 | |
182 | for _lib in libgcc_s.so libgcc.a libgcc_eh.a libgcov.a; do | | 182 | for _lib in libgcc_s.so libgcc.a libgcc_eh.a libgcov.a; do |
183 | get_libgcc_list_funcs_lib $_lib | \ | | 183 | get_libgcc_list_funcs_lib $_lib | \ |
184 | writefile ${libgcc_db_funcs}.${_lib%.*} | | 184 | writefile ${libgcc_db_funcs}.${_lib%.*} |
185 | done | | 185 | done |
186 | | | 186 | |
187 | get_libgcc_list_objs_libs | writefile ${libgcc_db_objs_libs} | | 187 | get_libgcc_list_objs_libs | writefile ${libgcc_db_objs_libs} |
188 | get_libgcc_list_objs_srcs | writefile ${libgcc_db_objs_srcs} | | 188 | get_libgcc_list_objs_srcs | writefile ${libgcc_db_objs_srcs} |
189 | get_libgcc_list_objs_tmpsrcs | writefile ${libgcc_db_objs_tmpsrcs} | | 189 | get_libgcc_list_objs_tmpsrcs | writefile ${libgcc_db_objs_tmpsrcs} |
190 | get_libgcc_list_objs_cppflags | writefile ${libgcc_db_objs_cppflags} | | 190 | get_libgcc_list_objs_cppflags | writefile ${libgcc_db_objs_cppflags} |
191 | get_libgcc_list_objs_copts | writefile ${libgcc_db_objs_copts} | | 191 | get_libgcc_list_objs_copts | writefile ${libgcc_db_objs_copts} |
192 | | | 192 | |
193 | for _lib in libgcc_s.so libgcc.a libgcc_eh.a libgcov.a; do | | 193 | for _lib in libgcc_s.so libgcc.a libgcc_eh.a libgcov.a; do |
194 | get_libgcc_list_tmpsrcs $_lib | | 194 | get_libgcc_list_tmpsrcs $_lib |
195 | done | | 195 | done |
196 | } | | 196 | } |
197 | | | 197 | |
198 | ##### | | 198 | ##### |
199 | | | 199 | |
| | | 200 | get_libgcc_gen_srcs () { |
| | | 201 | local _lib=$1 |
| | | 202 | |
| | | 203 | printf '\n' |
| | | 204 | printf 'SRCS.%s = \\\n' $_lib |
| | | 205 | { |
| | | 206 | comm -23 $_TOP/${libgcc_db_funcs}.${_lib%.*} $_TOP/${libgcc_db_funcs}.S | \ |
| | | 207 | sed -e 's,$,.c,; s,^,tmp_,' |
| | | 208 | comm -12 $_TOP/${libgcc_db_funcs}.${_lib%.*} $_TOP/${libgcc_db_funcs}.S | \ |
| | | 209 | sed -e 's,$,.S,; s,^,tmp_,' |
| | | 210 | } | sort | \ |
| | | 211 | sed -e 's,^, ,; s,$, \\,' |
| | | 212 | } |
| | | 213 | |
200 | get_libgcc_new_generate () { | | 214 | get_libgcc_new_generate () { |
| | | 215 | for _lib in libgcc_s.so libgcc.a libgcc_eh.a libgcov.a; do |
| | | 216 | get_libgcc_gen_srcs $_lib | \ |
| | | 217 | write_mk ${_machine_arch_subdir}/${_lib%.*}.srcs.mk |
| | | 218 | done |
201 | } | | 219 | } |
202 | | | 220 | |
203 | ##### | | 221 | ##### |
204 | | | 222 | |
205 | get_libgcc_new () { | | 223 | get_libgcc_new () { |
206 | _subdir="$1" | | 224 | _subdir="$1" |
207 | | | 225 | |
208 | # List of generated files. | | 226 | # List of generated files. |
209 | | | 227 | |
210 | _machine_arch_subdir=gnu/lib/lib$_subdir/arch${_archsubdir}/$MACHINE_ARCH | | 228 | _machine_arch_subdir=gnu/lib/lib$_subdir/arch${_archsubdir}/$MACHINE_ARCH |
211 | | | 229 | |
212 | libgcc_db_funcs=${_machine_arch_subdir}/funcs | | 230 | libgcc_db_funcs=${_machine_arch_subdir}/funcs |
213 | libgcc_db_tmpsrcs=${_machine_arch_subdir}/tmpsrcs | | 231 | libgcc_db_tmpsrcs=${_machine_arch_subdir}/tmpsrcs |
214 | libgcc_db_objs_libs=${_machine_arch_subdir}/objs.libs | | 232 | libgcc_db_objs_libs=${_machine_arch_subdir}/objs.libs |
215 | libgcc_db_objs_srcs=${_machine_arch_subdir}/objs.srcs | | 233 | libgcc_db_objs_srcs=${_machine_arch_subdir}/objs.srcs |
216 | libgcc_db_objs_tmpsrcs=${_machine_arch_subdir}/objs.tmpsrcs | | 234 | libgcc_db_objs_tmpsrcs=${_machine_arch_subdir}/objs.tmpsrcs |
217 | libgcc_db_objs_cppflags=${_machine_arch_subdir}/objs.cppflags | | 235 | libgcc_db_objs_cppflags=${_machine_arch_subdir}/objs.cppflags |
218 | libgcc_db_objs_copts=${_machine_arch_subdir}/objs.copts | | 236 | libgcc_db_objs_copts=${_machine_arch_subdir}/objs.copts |
219 | | | 237 | |
| | | 238 | get_libgcc_new_analyze |
| | | 239 | |
220 | libgcc_srcs_mk=${_machine_arch_subdir}/srcs.mk | | 240 | libgcc_srcs_mk=${_machine_arch_subdir}/srcs.mk |
221 | libgcc_srcs_mk_tmpsrc=${_machine_arch_subdir}/srcs.tmpsrc.mk | | 241 | libgcc_srcs_mk_tmpsrc=${_machine_arch_subdir}/srcs.tmpsrc.mk |
222 | libgcc_srcs_mk_cppflags=${_machine_arch_subdir}/srcs.cppflags.mk | | 242 | libgcc_srcs_mk_cppflags=${_machine_arch_subdir}/srcs.cppflags.mk |
223 | libgcc_srcs_mk_copts=${_machine_arch_subdir}/srcs.copts.mk | | 243 | libgcc_srcs_mk_copts=${_machine_arch_subdir}/srcs.copts.mk |
224 | | | 244 | |
225 | get_libgcc_new_analyze | | | |
226 | | | | |
227 | get_libgcc_new_generate | | 245 | get_libgcc_new_generate |
228 | } | | 246 | } |
229 | | | 247 | |
230 | get_libgcc () { | | 248 | get_libgcc () { |
231 | _subdir="$1" | | 249 | _subdir="$1" |
232 | mkdir -p $_TOP/gnu/lib/lib$_subdir/arch | | 250 | mkdir -p $_TOP/gnu/lib/lib$_subdir/arch |
233 | | | 251 | |
234 | case "$_subdir" in | | 252 | case "$_subdir" in |
235 | gcc3) | | 253 | gcc3) |
236 | _extravars="USE_COLLECT2 LIB2FUNCS_1 LIB2FUNCS_2 xm_file" | | 254 | _extravars="USE_COLLECT2 LIB2FUNCS_1 LIB2FUNCS_2 xm_file" |
237 | _archsubdir="" | | 255 | _archsubdir="" |
238 | ;; | | 256 | ;; |
239 | gcc4) | | 257 | gcc4) |
240 | _extravars="COLLECT2 UNWIND_H xm_include_list" | | 258 | _extravars="COLLECT2 UNWIND_H xm_include_list" |
241 | _archsubdir="" | | 259 | _archsubdir="" |
242 | ;; | | 260 | ;; |
243 | esac | | 261 | esac |
244 | | | 262 | |
245 | # DPBIT, FPBIT only used on mn10[23]00, we don't need them. | | 263 | # DPBIT, FPBIT only used on mn10[23]00, we don't need them. |
246 | # XXX we should probably grab everything Just In Case for | | 264 | # XXX we should probably grab everything Just In Case for |
247 | # the future. | | 265 | # the future. |
248 | { | | 266 | { |
249 | getvars gcc/Makefile \ | | 267 | getvars gcc/Makefile \ |
250 | INCLUDES LIB2ADD LIB2ADDEH \ | | 268 | INCLUDES LIB2ADD LIB2ADDEH \ |
251 | LIB1ASMFUNCS LIB1ASMSRC \ | | 269 | LIB1ASMFUNCS LIB1ASMSRC \ |
252 | LIB2_DIVMOD_FUNCS LIB2FUNCS_ST \ | | 270 | LIB2_DIVMOD_FUNCS LIB2FUNCS_ST \ |
253 | LIBGCC2_CFLAGS \ | | 271 | LIBGCC2_CFLAGS \ |
254 | SHLIB_MKMAP SHLIB_MKMAP_OPTS \ | | 272 | SHLIB_MKMAP SHLIB_MKMAP_OPTS \ |
255 | SHLIB_MAPFILES SHLIB_NM_FLAGS \ | | 273 | SHLIB_MAPFILES SHLIB_NM_FLAGS \ |
256 | EXTRA_HEADERS xm_defines \ | | 274 | EXTRA_HEADERS xm_defines \ |
257 | tm_defines ${_extravars} | | 275 | tm_defines ${_extravars} |
258 | } | write_mk gnu/lib/lib$_subdir/arch${_archsubdir}/$MACHINE_ARCH.mk | | 276 | } | write_mk gnu/lib/lib$_subdir/arch${_archsubdir}/$MACHINE_ARCH.mk |
259 | | | 277 | |
260 | # Generate new style files. | | 278 | # Generate new style files. |
261 | if [ -n "${MKNATIVE_LIBGCC_NEW}" ]; then | | 279 | if [ -n "${MKNATIVE_LIBGCC_NEW}" ]; then |
262 | get_libgcc_new $_subdir | | 280 | get_libgcc_new $_subdir |
263 | fi | | 281 | fi |
264 | } | | 282 | } |
265 | | | 283 | |
266 | ##### gnu/lib/libgcov ##### | | 284 | ##### gnu/lib/libgcov ##### |
267 | | | 285 | |
268 | get_libgcov () { | | 286 | get_libgcov () { |
269 | _subdir="$1" | | 287 | _subdir="$1" |
270 | | | 288 | |
271 | mkdir -p $_TOP/gnu/lib/lib$_subdir/libgcov/arch/$MACHINE_ARCH | | 289 | mkdir -p $_TOP/gnu/lib/lib$_subdir/libgcov/arch/$MACHINE_ARCH |
272 | | | 290 | |
273 | { | | 291 | { |
274 | getvars gcc/Makefile \ | | 292 | getvars gcc/Makefile \ |
275 | LIBGCOV | | 293 | LIBGCOV |
276 | } | write_mk gnu/lib/lib$_subdir/libgcov/arch/$MACHINE_ARCH/defs.mk | | 294 | } | write_mk gnu/lib/lib$_subdir/libgcov/arch/$MACHINE_ARCH/defs.mk |
277 | | | 295 | |
278 | write_c gnu/lib/lib$_subdir/libgcov/arch/$MACHINE_ARCH/gcov-iov.h \ | | 296 | write_c gnu/lib/lib$_subdir/libgcov/arch/$MACHINE_ARCH/gcov-iov.h \ |
279 | <$_TMPDIR/gcc/gcov-iov.h | | 297 | <$_TMPDIR/gcc/gcov-iov.h |
280 | | | 298 | |
281 | } | | 299 | } |
282 | | | 300 | |
283 | ##### gnu/usr.bin/gcc[34]/libiberty ##### | | 301 | ##### gnu/usr.bin/gcc[34]/libiberty ##### |
284 | | | 302 | |
285 | get_gcc_libiberty () { | | 303 | get_gcc_libiberty () { |
286 | _subdir="$1" | | 304 | _subdir="$1" |
287 | mkdir -p $_TOP/gnu/usr.bin/$_subdir/libiberty/arch/$MACHINE_ARCH | | 305 | mkdir -p $_TOP/gnu/usr.bin/$_subdir/libiberty/arch/$MACHINE_ARCH |
288 | | | 306 | |
289 | getvars libiberty/Makefile \ | | 307 | getvars libiberty/Makefile \ |
290 | ALLOCA EXTRA_OFILES LIBOBJS REQUIRED_OFILES \ | | 308 | ALLOCA EXTRA_OFILES LIBOBJS REQUIRED_OFILES \ |
291 | | write_mk gnu/usr.bin/$_subdir/libiberty/defs.mk | | 309 | | write_mk gnu/usr.bin/$_subdir/libiberty/defs.mk |
292 | | | 310 | |
293 | write_c gnu/usr.bin/$_subdir/libiberty/arch/$MACHINE_ARCH/config.h \ | | 311 | write_c gnu/usr.bin/$_subdir/libiberty/arch/$MACHINE_ARCH/config.h \ |
294 | <$_TMPDIR/libiberty/config.h | | 312 | <$_TMPDIR/libiberty/config.h |
295 | } | | 313 | } |
296 | | | 314 | |
297 | ##### gnu/lib/libobjc ##### | | 315 | ##### gnu/lib/libobjc ##### |
298 | | | 316 | |
299 | get_libobjc () { | | 317 | get_libobjc () { |
300 | case "$1" in | | 318 | case "$1" in |
301 | *4) | | 319 | *4) |
302 | _subdir="$1/arch/$MACHINE_ARCH" | | 320 | _subdir="$1/arch/$MACHINE_ARCH" |
303 | _options="ALL_OPT_FILES" | | 321 | _options="ALL_OPT_FILES" |
304 | _unwind="UNWIND_H" | | 322 | _unwind="UNWIND_H" |
305 | ;; | | 323 | ;; |
306 | *) | | 324 | *) |
307 | _subdir="$1" | | 325 | _subdir="$1" |
308 | _options="" | | 326 | _options="" |
309 | _unwind="" | | 327 | _unwind="" |
310 | ;; | | 328 | ;; |
311 | esac | | 329 | esac |
312 | | | 330 | |
313 | mkdir -p $_TOP/gnu/lib/$_subdir | | 331 | mkdir -p $_TOP/gnu/lib/$_subdir |
314 | | | 332 | |
315 | { | | 333 | { |
316 | if [ -n "$_options" ]; then | | 334 | if [ -n "$_options" ]; then |
317 | getvars gcc/Makefile $_options | | 335 | getvars gcc/Makefile $_options |
318 | fi | | 336 | fi |
319 | getvars $_PLATFORM/libobjc/Makefile \ | | 337 | getvars $_PLATFORM/libobjc/Makefile \ |
320 | ALL_CFLAGS INCLUDES OBJS OBJC_H \ | | 338 | ALL_CFLAGS INCLUDES OBJS OBJC_H \ |
321 | | sed "s,$_GNU_DIST,\${GNUHOSTDIST},g" | | 339 | | sed "s,$_GNU_DIST,\${GNUHOSTDIST},g" |
322 | if [ -n "$_unwind" ]; then | | 340 | if [ -n "$_unwind" ]; then |
323 | getvars gcc/Makefile $_unwind | | 341 | getvars gcc/Makefile $_unwind |
324 | fi | | 342 | fi |
325 | } | write_mk gnu/lib/$_subdir/defs.mk | | 343 | } | write_mk gnu/lib/$_subdir/defs.mk |
326 | | | 344 | |
327 | write_c gnu/lib/$_subdir/config.h \ | | 345 | write_c gnu/lib/$_subdir/config.h \ |
328 | <$_TMPDIR/$_PLATFORM/libobjc/config.h | | 346 | <$_TMPDIR/$_PLATFORM/libobjc/config.h |
329 | } | | 347 | } |
330 | | | 348 | |
331 | ##### gnu/lib/libstdc++-v3 ##### | | 349 | ##### gnu/lib/libstdc++-v3 ##### |
332 | | | 350 | |
333 | get_libstdcxx_v3 () { | | 351 | get_libstdcxx_v3 () { |
334 | _subdir="$1" | | 352 | _subdir="$1" |
335 | mkdir -p $_TOP/gnu/lib/$_subdir/arch/$MACHINE_ARCH | | 353 | mkdir -p $_TOP/gnu/lib/$_subdir/arch/$MACHINE_ARCH |
336 | | | 354 | |
337 | case ${_subdir} in | | 355 | case ${_subdir} in |
338 | *4) | | 356 | *4) |
339 | _src_CC_files="atomicity_file CCODECVT_CC CCOLLATE_CC CCTYPE_CC CMESSAGES_CC CMONEY_CC CNUMERIC_CC CTIME_CC CLOCALE_CC BASIC_FILE_CC" | | 357 | _src_CC_files="atomicity_file CCODECVT_CC CCOLLATE_CC CCTYPE_CC CMESSAGES_CC CMONEY_CC CNUMERIC_CC CTIME_CC CLOCALE_CC BASIC_FILE_CC" |
340 | _headers1="host_headers debug_headers tr1_headers c_compatibility_headers_extra" | | 358 | _headers1="host_headers debug_headers tr1_headers c_compatibility_headers_extra" |
341 | _headers2="thread_host_headers host_headers_extra" | | 359 | _headers2="thread_host_headers host_headers_extra" |
342 | _build_headers="c++allocator.h c++config.h cxxabi_tweaks.h gthr-default.h gthr-posix.h gthr-single.h gthr-tpf.h gthr.h" | | 360 | _build_headers="c++allocator.h c++config.h cxxabi_tweaks.h gthr-default.h gthr-posix.h gthr-single.h gthr-tpf.h gthr.h" |
343 | _unwind="UNWIND_H" | | 361 | _unwind="UNWIND_H" |
344 | ;; | | 362 | ;; |
345 | *) | | 363 | *) |
346 | _src_CC_files="" | | 364 | _src_CC_files="" |
347 | _headers1="target_headers" | | 365 | _headers1="target_headers" |
348 | _headers2="thread_target_headers target_headers_extra" | | 366 | _headers2="thread_target_headers target_headers_extra" |
349 | _build_headers="c++config.h gthr-default.h gthr-posix.h gthr-single.h gthr.h" | | 367 | _build_headers="c++config.h gthr-default.h gthr-posix.h gthr-single.h gthr.h" |
350 | _unwind="" | | 368 | _unwind="" |
351 | ;; | | 369 | ;; |
352 | esac | | 370 | esac |
353 | | | 371 | |
354 | # build files | | 372 | # build files |
355 | for h in $_build_headers; do | | 373 | for h in $_build_headers; do |
356 | write_c gnu/lib/$_subdir/arch/$MACHINE_ARCH/$h \ | | 374 | write_c gnu/lib/$_subdir/arch/$MACHINE_ARCH/$h \ |
357 | <$_TMPDIR/$_PLATFORM/libstdc++-v3/include/$_PLATFORM/bits/$h | | 375 | <$_TMPDIR/$_PLATFORM/libstdc++-v3/include/$_PLATFORM/bits/$h |
358 | done | | 376 | done |
359 | | | 377 | |
360 | write_c gnu/lib/$_subdir/arch/$MACHINE_ARCH/config.h \ | | 378 | write_c gnu/lib/$_subdir/arch/$MACHINE_ARCH/config.h \ |
361 | <$_TMPDIR/$_PLATFORM/libstdc++-v3/config.h | | 379 | <$_TMPDIR/$_PLATFORM/libstdc++-v3/config.h |
362 | | | 380 | |
363 | { | | 381 | { |
364 | # libmath | | 382 | # libmath |
365 | getvars $_PLATFORM/libstdc++-v3/libmath/Makefile \ | | 383 | getvars $_PLATFORM/libstdc++-v3/libmath/Makefile \ |
366 | libmath_la_SOURCES libmath_la_LIBADD | | 384 | libmath_la_SOURCES libmath_la_LIBADD |
367 | | | 385 | |
368 | # libsupc++ | | 386 | # libsupc++ |
369 | getvars $_PLATFORM/libstdc++-v3/libsupc++/Makefile \ | | 387 | getvars $_PLATFORM/libstdc++-v3/libsupc++/Makefile \ |
370 | sources | sed 's/^G_sources=/G_LIBSUPCXX_SOURCES=/' | | 388 | sources | sed 's/^G_sources=/G_LIBSUPCXX_SOURCES=/' |
371 | getvars $_PLATFORM/libstdc++-v3/libsupc++/Makefile \ | | 389 | getvars $_PLATFORM/libstdc++-v3/libsupc++/Makefile \ |
372 | c_sources | sed 's/^G_c_sources=/G_LIBSUPCXX_C_SOURCES=/' | | 390 | c_sources | sed 's/^G_c_sources=/G_LIBSUPCXX_C_SOURCES=/' |
373 | | | 391 | |
374 | # src | | 392 | # src |
375 | getvars $_PLATFORM/libstdc++-v3/src/Makefile \ | | 393 | getvars $_PLATFORM/libstdc++-v3/src/Makefile \ |
376 | sources $_src_CC_files SECTION_FLAGS | sed 's/^G_sources=/G_SRC_SOURCES=/' | | 394 | sources $_src_CC_files SECTION_FLAGS | sed 's/^G_sources=/G_SRC_SOURCES=/' |
377 | | | 395 | |
378 | # include | | 396 | # include |
379 | getvars $_PLATFORM/libstdc++-v3/include/Makefile \ | | 397 | getvars $_PLATFORM/libstdc++-v3/include/Makefile \ |
380 | c_base_headers_rename std_headers_rename | | 398 | c_base_headers_rename std_headers_rename |
381 | getvars $_PLATFORM/libstdc++-v3/include/Makefile \ | | 399 | getvars $_PLATFORM/libstdc++-v3/include/Makefile \ |
382 | bits_headers backward_headers ext_headers c_base_headers_extra \ | | 400 | bits_headers backward_headers ext_headers c_base_headers_extra \ |
383 | $_headers1 | sed -e 's#/[^ ][^ ]*/##g' -e 's/\${GNUHOSTDIST}//g' | | 401 | $_headers1 | sed -e 's#/[^ ][^ ]*/##g' -e 's/\${GNUHOSTDIST}//g' |
384 | getvars $_PLATFORM/libstdc++-v3/include/Makefile \ | | 402 | getvars $_PLATFORM/libstdc++-v3/include/Makefile \ |
385 | $_headers2 | sed -e 's#\./[^ ][^ ]*/##g' -e 's/\${GNUHOSTDIST}//g' | | 403 | $_headers2 | sed -e 's#\./[^ ][^ ]*/##g' -e 's/\${GNUHOSTDIST}//g' |
386 | | | 404 | |
387 | if [ -n "$_unwind" ]; then | | 405 | if [ -n "$_unwind" ]; then |
388 | getvars gcc/Makefile $_unwind | | 406 | getvars gcc/Makefile $_unwind |
389 | fi | | 407 | fi |
390 | } | write_mk gnu/lib/$_subdir/arch/$MACHINE_ARCH/defs.mk | | 408 | } | write_mk gnu/lib/$_subdir/arch/$MACHINE_ARCH/defs.mk |
391 | } | | 409 | } |
392 | | | 410 | |
393 | ##### gnu/usr.bin/gcc3 ##### | | 411 | ##### gnu/usr.bin/gcc3 ##### |
394 | | | 412 | |
395 | get_gcc () { | | 413 | get_gcc () { |
396 | _subdir="$1" | | 414 | _subdir="$1" |
397 | mkdir -p $_TOP/gnu/usr.bin/$_subdir/arch/$MACHINE_ARCH | | 415 | mkdir -p $_TOP/gnu/usr.bin/$_subdir/arch/$MACHINE_ARCH |
398 | case ${_subdir} in | | 416 | case ${_subdir} in |
399 | gcc4) | | 417 | gcc4) |
400 | mkdir -p $_TOP/gnu/usr.bin/$_subdir/libcpp/arch/$MACHINE_ARCH | | 418 | mkdir -p $_TOP/gnu/usr.bin/$_subdir/libcpp/arch/$MACHINE_ARCH |
401 | _buildname="BUILD_" | | 419 | _buildname="BUILD_" |
402 | _libcppsubdir="" | | 420 | _libcppsubdir="" |
403 | _extravars="TM_H ALL_OPT_FILES" | | 421 | _extravars="TM_H ALL_OPT_FILES" |
404 | _hconfig_h="" | | 422 | _hconfig_h="" |
405 | _extravars2="tm_file_list build_xm_include_list" | | 423 | _extravars2="tm_file_list build_xm_include_list" |
406 | _extravars3="tm_p_include_list" | | 424 | _extravars3="tm_p_include_list" |
407 | | | 425 | |
408 | ;; | | 426 | ;; |
409 | *) | | 427 | *) |
410 | _buildname="HOST_" | | 428 | _buildname="HOST_" |
411 | _libcppsubdir="gcc/" | | 429 | _libcppsubdir="gcc/" |
412 | _extravars="" | | 430 | _extravars="" |
413 | _hconfig_h="HCONFIG_H" | | 431 | _hconfig_h="HCONFIG_H" |
414 | _extravars2="" | | 432 | _extravars2="" |
415 | _extravars3="" | | 433 | _extravars3="" |
416 | ;; | | 434 | ;; |
417 | esac | | 435 | esac |
418 | | | 436 | |
419 | { | | 437 | { |
420 | getvars gcc/Makefile \ | | 438 | getvars gcc/Makefile \ |
421 | ${_buildname}EARLY_SUPPORT ${_buildname}ERRORS ${_buildname}PRINT \ | | 439 | ${_buildname}EARLY_SUPPORT ${_buildname}ERRORS ${_buildname}PRINT \ |
422 | ${_buildname}RTL ${_buildname}SUPPORT ${_buildname}VARRAY | \ | | 440 | ${_buildname}RTL ${_buildname}SUPPORT ${_buildname}VARRAY | \ |
423 | sed -e 's#build/errors.o#build-errors.o#g' \ | | 441 | sed -e 's#build/errors.o#build-errors.o#g' \ |
424 | -e 's#build/print-rtl.o#build-print-rtl.o#g' \ | | 442 | -e 's#build/print-rtl.o#build-print-rtl.o#g' \ |
425 | -e 's#build/rtl.o#build-rtl.o#g' \ | | 443 | -e 's#build/rtl.o#build-rtl.o#g' \ |
426 | -e 's#build/varray.o#build-varray.o#g' \ | | 444 | -e 's#build/varray.o#build-varray.o#g' \ |
427 | -e 's#build/ggc-none.o#build-ggc-none.o#g' \ | | 445 | -e 's#build/ggc-none.o#build-ggc-none.o#g' \ |
428 | -e 's#build/##g' | | 446 | -e 's#build/##g' |
429 | getvars gcc/Makefile \ | | 447 | getvars gcc/Makefile \ |
430 | ALL_CFLAGS ALL_CPPFLAGS C_AND_OBJC_OBJS C_OBJS CCCP_OBJS \ | | 448 | ALL_CFLAGS ALL_CPPFLAGS C_AND_OBJC_OBJS C_OBJS CCCP_OBJS \ |
431 | GCOV_OBJS PROTO_OBJS ${_extravars1} \ | | 449 | GCOV_OBJS PROTO_OBJS ${_extravars1} \ |
432 | INCLUDES md_file OBJC_OBJS OBJS out_file version \ | | 450 | INCLUDES md_file OBJC_OBJS OBJS out_file version \ |
433 | BUILD_PREFIX RTL_H TREE_H ${_hconfig_h} BASIC_BLOCK_H GCC_H \ | | 451 | BUILD_PREFIX RTL_H TREE_H ${_hconfig_h} BASIC_BLOCK_H GCC_H \ |
434 | GTFILES_SRCDIR GTFILES_FILES_FILES GTFILES_FILES_LANGS \ | | 452 | GTFILES_SRCDIR GTFILES_FILES_FILES GTFILES_FILES_LANGS \ |
435 | GTFILES GTFILES_LANG_DIR_NAMES \ | | 453 | GTFILES GTFILES_LANG_DIR_NAMES \ |
436 | tm_defines host_xm_file host_xm_defines tm_p_file \ | | 454 | tm_defines host_xm_file host_xm_defines tm_p_file \ |
437 | target_cpu_default ${_extravars} ${_extravars2} \ | | 455 | target_cpu_default ${_extravars} ${_extravars2} \ |
438 | lang_specs_files ${_extravars3} | | 456 | lang_specs_files ${_extravars3} |
439 | getvars gcc/Makefile \ | | 457 | getvars gcc/Makefile \ |
440 | LIB2ADDEHDEP | sed 's/unwind.inc//' | | 458 | LIB2ADDEHDEP | sed 's/unwind.inc//' |
441 | getvars gcc/Makefile \ | | 459 | getvars gcc/Makefile \ |
442 | CXX_OBJS CXX_C_OBJS | sed 's/cp\///g' | | 460 | CXX_OBJS CXX_C_OBJS | sed 's/cp\///g' |
443 | getvars gcc/Makefile \ | | 461 | getvars gcc/Makefile \ |
444 | F77_OBJS | sed 's/f\///g' | | 462 | F77_OBJS | sed 's/f\///g' |
445 | case ${_subdir} in | | 463 | case ${_subdir} in |
446 | gcc4) | | 464 | gcc4) |
447 | getvars libcpp/Makefile \ | | 465 | getvars libcpp/Makefile \ |
448 | libcpp_a_OBJS | | 466 | libcpp_a_OBJS |
449 | ;; | | 467 | ;; |
450 | gcc3) | | 468 | gcc3) |
451 | getvars gcc/Makefile \ | | 469 | getvars gcc/Makefile \ |
452 | LIBCPP_OBJS LIBCPP_H | | 470 | LIBCPP_OBJS LIBCPP_H |
453 | ;; | | 471 | ;; |
454 | esac | | 472 | esac |
455 | getvars gcc/Makefile \ | | 473 | getvars gcc/Makefile \ |
456 | ENABLE_SHARED | | 474 | ENABLE_SHARED |
457 | case ${_subdir} in | | 475 | case ${_subdir} in |
458 | gcc4) | | 476 | gcc4) |
459 | echo G_SHLIB_LINK="$CC -shared" | | 477 | echo G_SHLIB_LINK="$CC -shared" |
460 | echo G_SHLIB_MULTILIB=. | | 478 | echo G_SHLIB_MULTILIB=. |
461 | ;; | | 479 | ;; |
462 | gcc3) | | 480 | gcc3) |
463 | getvars gcc/Makefile \ | | 481 | getvars gcc/Makefile \ |
464 | SHLIB_LINK SHLIB_MULTILIB | | 482 | SHLIB_LINK SHLIB_MULTILIB |
465 | ;; | | 483 | ;; |
466 | esac | | 484 | esac |
467 | } | write_mk gnu/usr.bin/$_subdir/arch/$MACHINE_ARCH/defs.mk | | 485 | } | write_mk gnu/usr.bin/$_subdir/arch/$MACHINE_ARCH/defs.mk |
468 | | | 486 | |
469 | case "$_subdir" in | | 487 | case "$_subdir" in |
470 | gcc3) | | 488 | gcc3) |
471 | hfiles='auto-host configargs cs-hconfig gencheck hconfig gthr-default' | | 489 | hfiles='auto-host configargs cs-hconfig gencheck hconfig gthr-default' |
472 | ;; | | 490 | ;; |
473 | gcc4) | | 491 | gcc4) |
474 | write_c gnu/usr.bin/$_subdir/libcpp/arch/$MACHINE_ARCH/config.h <$_TMPDIR/libcpp/config.h | | 492 | write_c gnu/usr.bin/$_subdir/libcpp/arch/$MACHINE_ARCH/config.h <$_TMPDIR/libcpp/config.h |
475 | hfiles='auto-host configargs gencheck gthr-default tm bconfig config multilib' | | 493 | hfiles='auto-host configargs gencheck gthr-default tm bconfig config multilib' |
476 | ;; | | 494 | ;; |
477 | esac | | 495 | esac |
478 | for f in $hfiles; do | | 496 | for f in $hfiles; do |
479 | write_c gnu/usr.bin/$_subdir/arch/$MACHINE_ARCH/$f.h <$_TMPDIR/gcc/$f.h | | 497 | write_c gnu/usr.bin/$_subdir/arch/$MACHINE_ARCH/$f.h <$_TMPDIR/gcc/$f.h |
480 | done | | 498 | done |
481 | } | | 499 | } |
482 | | | 500 | |
483 | ##### main ##### | | 501 | ##### main ##### |
484 | | | 502 | |
485 | case "$1" in | | 503 | case "$1" in |
486 | # .mk and .h files for libgcc bootstrap (from host build) | | 504 | # .mk and .h files for libgcc bootstrap (from host build) |
487 | libgcc) | | 505 | libgcc) |
488 | get_libgcc gcc3 | | 506 | get_libgcc gcc3 |
489 | get_crtstuff crtstuff3 | | 507 | get_crtstuff crtstuff3 |
490 | exit 0 | | 508 | exit 0 |
491 | ;; | | 509 | ;; |
492 | | | 510 | |
493 | libgcc4) | | 511 | libgcc4) |
494 | get_libgcc gcc4 | | 512 | get_libgcc gcc4 |
495 | get_crtstuff crtstuff4 | | 513 | get_crtstuff crtstuff4 |
496 | exit 0 | | 514 | exit 0 |
497 | ;; | | 515 | ;; |
498 | | | 516 | |
499 | # gcc files | | 517 | # gcc files |
500 | gcc4) | | 518 | gcc4) |
501 | get_gcc gcc4 | | 519 | get_gcc gcc4 |
502 | get_libgcc gcc4 | | 520 | get_libgcc gcc4 |
503 | get_libgcov gcc4 | | 521 | get_libgcov gcc4 |
504 | get_crtstuff crtstuff4 | | 522 | get_crtstuff crtstuff4 |
505 | get_gcc_libiberty gcc4 | | 523 | get_gcc_libiberty gcc4 |
506 | get_libobjc libobjc4 | | 524 | get_libobjc libobjc4 |
507 | get_libstdcxx_v3 libstdc++-v3_4 | | 525 | get_libstdcxx_v3 libstdc++-v3_4 |
508 | exit 0 | | 526 | exit 0 |
509 | ;; | | 527 | ;; |
510 | | | 528 | |
511 | gcc3) | | 529 | gcc3) |
512 | get_gcc gcc3 | | 530 | get_gcc gcc3 |
513 | get_libg2c | | 531 | get_libg2c |
514 | get_libgcc gcc3 | | 532 | get_libgcc gcc3 |
515 | get_crtstuff crtstuff3 | | 533 | get_crtstuff crtstuff3 |
516 | get_gcc_libiberty gcc3 | | 534 | get_gcc_libiberty gcc3 |
517 | get_libobjc libobjc3 | | 535 | get_libobjc libobjc3 |
518 | get_libstdcxx_v3 libstdc++-v3 | | 536 | get_libstdcxx_v3 libstdc++-v3 |
519 | exit 0 | | 537 | exit 0 |
520 | ;; | | 538 | ;; |
521 | | | 539 | |
522 | *) echo invalid arguments; exit 1;; | | 540 | *) echo invalid arguments; exit 1;; |
523 | esac | | 541 | esac |