| @@ -1,514 +1,523 @@ | | | @@ -1,514 +1,523 @@ |
1 | #!/bin/sh | | 1 | #!/bin/sh |
2 | # $NetBSD: mknative-gcc,v 1.34 2009/11/30 08:05:41 uebayasi Exp $ | | 2 | # $NetBSD: mknative-gcc,v 1.35 2009/11/30 08:20:23 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_libgcc_mk_libs_list_tmpsrcs_files () { | | 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 () { |
| | | 177 | mkdir -p $_TOP/${_machine_arch_subdir} |
| | | 178 | |
| | | 179 | get_libgcc_list_funcs_asm | \ |
| | | 180 | writefile ${libgcc_db_funcs}.S |
| | | 181 | |
| | | 182 | for _lib in libgcc_s.so libgcc.a libgcc_eh.a libgcov.a; do |
| | | 183 | get_libgcc_list_funcs_lib $_lib | \ |
| | | 184 | writefile ${libgcc_db_funcs}.${_lib%.*} |
| | | 185 | done |
| | | 186 | |
| | | 187 | get_libgcc_list_objs_libs | writefile ${libgcc_db_objs_libs} |
| | | 188 | get_libgcc_list_objs_srcs | writefile ${libgcc_db_objs_srcs} |
| | | 189 | get_libgcc_list_objs_tmpsrcs | writefile ${libgcc_db_objs_tmpsrcs} |
| | | 190 | get_libgcc_list_objs_cppflags | writefile ${libgcc_db_objs_cppflags} |
| | | 191 | get_libgcc_list_objs_copts | writefile ${libgcc_db_objs_copts} |
| | | 192 | |
| | | 193 | for _lib in libgcc_s.so libgcc.a libgcc_eh.a libgcov.a; do |
| | | 194 | get_libgcc_list_tmpsrcs $_lib |
| | | 195 | done |
| | | 196 | } |
| | | 197 | |
| | | 198 | ##### |
| | | 199 | |
| | | 200 | get_libgcc_new_generate () { |
| | | 201 | } |
| | | 202 | |
176 | ##### | | 203 | ##### |
177 | | | 204 | |
178 | get_libgcc_new () { | | 205 | get_libgcc_new () { |
179 | _subdir="$1" | | 206 | _subdir="$1" |
180 | | | 207 | |
181 | # List of generated files. | | 208 | # List of generated files. |
182 | | | 209 | |
183 | _machine_arch_subdir=gnu/lib/lib$_subdir/arch${_archsubdir}/$MACHINE_ARCH | | 210 | _machine_arch_subdir=gnu/lib/lib$_subdir/arch${_archsubdir}/$MACHINE_ARCH |
184 | | | 211 | |
185 | libgcc_db_funcs=${_machine_arch_subdir}/funcs | | 212 | libgcc_db_funcs=${_machine_arch_subdir}/funcs |
186 | libgcc_db_tmpsrcs=${_machine_arch_subdir}/tmpsrcs | | 213 | libgcc_db_tmpsrcs=${_machine_arch_subdir}/tmpsrcs |
187 | libgcc_db_objs_libs=${_machine_arch_subdir}/objs.libs | | 214 | libgcc_db_objs_libs=${_machine_arch_subdir}/objs.libs |
188 | libgcc_db_objs_srcs=${_machine_arch_subdir}/objs.srcs | | 215 | libgcc_db_objs_srcs=${_machine_arch_subdir}/objs.srcs |
189 | libgcc_db_objs_tmpsrcs=${_machine_arch_subdir}/objs.tmpsrcs | | 216 | libgcc_db_objs_tmpsrcs=${_machine_arch_subdir}/objs.tmpsrcs |
190 | libgcc_db_objs_cppflags=${_machine_arch_subdir}/objs.cppflags | | 217 | libgcc_db_objs_cppflags=${_machine_arch_subdir}/objs.cppflags |
191 | libgcc_db_objs_copts=${_machine_arch_subdir}/objs.copts | | 218 | libgcc_db_objs_copts=${_machine_arch_subdir}/objs.copts |
192 | | | 219 | |
193 | libgcc_srcs_mk=${_machine_arch_subdir}/srcs.mk | | 220 | libgcc_srcs_mk=${_machine_arch_subdir}/srcs.mk |
194 | libgcc_srcs_mk_tmpsrc=${_machine_arch_subdir}/srcs.tmpsrc.mk | | 221 | libgcc_srcs_mk_tmpsrc=${_machine_arch_subdir}/srcs.tmpsrc.mk |
195 | libgcc_srcs_mk_cppflags=${_machine_arch_subdir}/srcs.cppflags.mk | | 222 | libgcc_srcs_mk_cppflags=${_machine_arch_subdir}/srcs.cppflags.mk |
196 | libgcc_srcs_mk_copts=${_machine_arch_subdir}/srcs.copts.mk | | 223 | libgcc_srcs_mk_copts=${_machine_arch_subdir}/srcs.copts.mk |
197 | | | 224 | |
198 | # Collect data from gcc/Makefile and gcc/libgcc.mk. | | 225 | get_libgcc_new_analyze |
199 | | | 226 | |
200 | mkdir -p $_TOP/${_machine_arch_subdir} | | 227 | get_libgcc_new_generate |
201 | | | | |
202 | get_libgcc_list_funcs_asm | \ | | | |
203 | writefile ${libgcc_db_funcs}.S | | | |
204 | | | | |
205 | for _lib in libgcc_s.so libgcc.a libgcc_eh.a libgcov.a; do | | | |
206 | get_libgcc_list_funcs_lib $_lib | \ | | | |
207 | writefile ${libgcc_db_funcs}.${_lib%.*} | | | |
208 | done | | | |
209 | | | | |
210 | get_libgcc_list_objs_libs | writefile ${libgcc_db_objs_libs} | | | |
211 | get_libgcc_list_objs_srcs | writefile ${libgcc_db_objs_srcs} | | | |
212 | get_libgcc_list_objs_tmpsrcs | writefile ${libgcc_db_objs_tmpsrcs} | | | |
213 | get_libgcc_list_objs_cppflags | writefile ${libgcc_db_objs_cppflags} | | | |
214 | get_libgcc_list_objs_copts | writefile ${libgcc_db_objs_copts} | | | |
215 | | | | |
216 | for _lib in libgcc_s.so libgcc.a libgcc_eh.a libgcov.a; do | | | |
217 | get_libgcc_libgcc_mk_libs_list_tmpsrcs_files $_lib | | | |
218 | done | | | |
219 | } | | 228 | } |
220 | | | 229 | |
221 | get_libgcc () { | | 230 | get_libgcc () { |
222 | _subdir="$1" | | 231 | _subdir="$1" |
223 | mkdir -p $_TOP/gnu/lib/lib$_subdir/arch | | 232 | mkdir -p $_TOP/gnu/lib/lib$_subdir/arch |
224 | | | 233 | |
225 | case "$_subdir" in | | 234 | case "$_subdir" in |
226 | gcc3) | | 235 | gcc3) |
227 | _extravars="USE_COLLECT2 LIB2FUNCS_1 LIB2FUNCS_2 xm_file" | | 236 | _extravars="USE_COLLECT2 LIB2FUNCS_1 LIB2FUNCS_2 xm_file" |
228 | _archsubdir="" | | 237 | _archsubdir="" |
229 | ;; | | 238 | ;; |
230 | gcc4) | | 239 | gcc4) |
231 | _extravars="COLLECT2 UNWIND_H xm_include_list" | | 240 | _extravars="COLLECT2 UNWIND_H xm_include_list" |
232 | _archsubdir="" | | 241 | _archsubdir="" |
233 | ;; | | 242 | ;; |
234 | esac | | 243 | esac |
235 | | | 244 | |
236 | # DPBIT, FPBIT only used on mn10[23]00, we don't need them. | | 245 | # DPBIT, FPBIT only used on mn10[23]00, we don't need them. |
237 | # XXX we should probably grab everything Just In Case for | | 246 | # XXX we should probably grab everything Just In Case for |
238 | # the future. | | 247 | # the future. |
239 | { | | 248 | { |
240 | getvars gcc/Makefile \ | | 249 | getvars gcc/Makefile \ |
241 | INCLUDES LIB2ADD LIB2ADDEH \ | | 250 | INCLUDES LIB2ADD LIB2ADDEH \ |
242 | LIB1ASMFUNCS LIB1ASMSRC \ | | 251 | LIB1ASMFUNCS LIB1ASMSRC \ |
243 | LIB2_DIVMOD_FUNCS LIB2FUNCS_ST \ | | 252 | LIB2_DIVMOD_FUNCS LIB2FUNCS_ST \ |
244 | LIBGCC2_CFLAGS \ | | 253 | LIBGCC2_CFLAGS \ |
245 | SHLIB_MKMAP SHLIB_MKMAP_OPTS \ | | 254 | SHLIB_MKMAP SHLIB_MKMAP_OPTS \ |
246 | SHLIB_MAPFILES SHLIB_NM_FLAGS \ | | 255 | SHLIB_MAPFILES SHLIB_NM_FLAGS \ |
247 | EXTRA_HEADERS xm_defines \ | | 256 | EXTRA_HEADERS xm_defines \ |
248 | tm_defines ${_extravars} | | 257 | tm_defines ${_extravars} |
249 | } | write_mk gnu/lib/lib$_subdir/arch${_archsubdir}/$MACHINE_ARCH.mk | | 258 | } | write_mk gnu/lib/lib$_subdir/arch${_archsubdir}/$MACHINE_ARCH.mk |
250 | | | 259 | |
251 | # Generate new style files. | | 260 | # Generate new style files. |
252 | if [ -n "${MKNATIVE_LIBGCC_NEW}" ]; then | | 261 | if [ -n "${MKNATIVE_LIBGCC_NEW}" ]; then |
253 | get_libgcc_new $_subdir | | 262 | get_libgcc_new $_subdir |
254 | fi | | 263 | fi |
255 | } | | 264 | } |
256 | | | 265 | |
257 | ##### gnu/lib/libgcov ##### | | 266 | ##### gnu/lib/libgcov ##### |
258 | | | 267 | |
259 | get_libgcov () { | | 268 | get_libgcov () { |
260 | _subdir="$1" | | 269 | _subdir="$1" |
261 | | | 270 | |
262 | mkdir -p $_TOP/gnu/lib/lib$_subdir/libgcov/arch/$MACHINE_ARCH | | 271 | mkdir -p $_TOP/gnu/lib/lib$_subdir/libgcov/arch/$MACHINE_ARCH |
263 | | | 272 | |
264 | { | | 273 | { |
265 | getvars gcc/Makefile \ | | 274 | getvars gcc/Makefile \ |
266 | LIBGCOV | | 275 | LIBGCOV |
267 | } | write_mk gnu/lib/lib$_subdir/libgcov/arch/$MACHINE_ARCH/defs.mk | | 276 | } | write_mk gnu/lib/lib$_subdir/libgcov/arch/$MACHINE_ARCH/defs.mk |
268 | | | 277 | |
269 | write_c gnu/lib/lib$_subdir/libgcov/arch/$MACHINE_ARCH/gcov-iov.h \ | | 278 | write_c gnu/lib/lib$_subdir/libgcov/arch/$MACHINE_ARCH/gcov-iov.h \ |
270 | <$_TMPDIR/gcc/gcov-iov.h | | 279 | <$_TMPDIR/gcc/gcov-iov.h |
271 | | | 280 | |
272 | } | | 281 | } |
273 | | | 282 | |
274 | ##### gnu/usr.bin/gcc[34]/libiberty ##### | | 283 | ##### gnu/usr.bin/gcc[34]/libiberty ##### |
275 | | | 284 | |
276 | get_gcc_libiberty () { | | 285 | get_gcc_libiberty () { |
277 | _subdir="$1" | | 286 | _subdir="$1" |
278 | mkdir -p $_TOP/gnu/usr.bin/$_subdir/libiberty/arch/$MACHINE_ARCH | | 287 | mkdir -p $_TOP/gnu/usr.bin/$_subdir/libiberty/arch/$MACHINE_ARCH |
279 | | | 288 | |
280 | getvars libiberty/Makefile \ | | 289 | getvars libiberty/Makefile \ |
281 | ALLOCA EXTRA_OFILES LIBOBJS REQUIRED_OFILES \ | | 290 | ALLOCA EXTRA_OFILES LIBOBJS REQUIRED_OFILES \ |
282 | | write_mk gnu/usr.bin/$_subdir/libiberty/defs.mk | | 291 | | write_mk gnu/usr.bin/$_subdir/libiberty/defs.mk |
283 | | | 292 | |
284 | write_c gnu/usr.bin/$_subdir/libiberty/arch/$MACHINE_ARCH/config.h \ | | 293 | write_c gnu/usr.bin/$_subdir/libiberty/arch/$MACHINE_ARCH/config.h \ |
285 | <$_TMPDIR/libiberty/config.h | | 294 | <$_TMPDIR/libiberty/config.h |
286 | } | | 295 | } |
287 | | | 296 | |
288 | ##### gnu/lib/libobjc ##### | | 297 | ##### gnu/lib/libobjc ##### |
289 | | | 298 | |
290 | get_libobjc () { | | 299 | get_libobjc () { |
291 | case "$1" in | | 300 | case "$1" in |
292 | *4) | | 301 | *4) |
293 | _subdir="$1/arch/$MACHINE_ARCH" | | 302 | _subdir="$1/arch/$MACHINE_ARCH" |
294 | _options="ALL_OPT_FILES" | | 303 | _options="ALL_OPT_FILES" |
295 | _unwind="UNWIND_H" | | 304 | _unwind="UNWIND_H" |
296 | ;; | | 305 | ;; |
297 | *) | | 306 | *) |
298 | _subdir="$1" | | 307 | _subdir="$1" |
299 | _options="" | | 308 | _options="" |
300 | _unwind="" | | 309 | _unwind="" |
301 | ;; | | 310 | ;; |
302 | esac | | 311 | esac |
303 | | | 312 | |
304 | mkdir -p $_TOP/gnu/lib/$_subdir | | 313 | mkdir -p $_TOP/gnu/lib/$_subdir |
305 | | | 314 | |
306 | { | | 315 | { |
307 | if [ -n "$_options" ]; then | | 316 | if [ -n "$_options" ]; then |
308 | getvars gcc/Makefile $_options | | 317 | getvars gcc/Makefile $_options |
309 | fi | | 318 | fi |
310 | getvars $_PLATFORM/libobjc/Makefile \ | | 319 | getvars $_PLATFORM/libobjc/Makefile \ |
311 | ALL_CFLAGS INCLUDES OBJS OBJC_H \ | | 320 | ALL_CFLAGS INCLUDES OBJS OBJC_H \ |
312 | | sed "s,$_GNU_DIST,\${GNUHOSTDIST},g" | | 321 | | sed "s,$_GNU_DIST,\${GNUHOSTDIST},g" |
313 | if [ -n "$_unwind" ]; then | | 322 | if [ -n "$_unwind" ]; then |
314 | getvars gcc/Makefile $_unwind | | 323 | getvars gcc/Makefile $_unwind |
315 | fi | | 324 | fi |
316 | } | write_mk gnu/lib/$_subdir/defs.mk | | 325 | } | write_mk gnu/lib/$_subdir/defs.mk |
317 | | | 326 | |
318 | write_c gnu/lib/$_subdir/config.h \ | | 327 | write_c gnu/lib/$_subdir/config.h \ |
319 | <$_TMPDIR/$_PLATFORM/libobjc/config.h | | 328 | <$_TMPDIR/$_PLATFORM/libobjc/config.h |
320 | } | | 329 | } |
321 | | | 330 | |
322 | ##### gnu/lib/libstdc++-v3 ##### | | 331 | ##### gnu/lib/libstdc++-v3 ##### |
323 | | | 332 | |
324 | get_libstdcxx_v3 () { | | 333 | get_libstdcxx_v3 () { |
325 | _subdir="$1" | | 334 | _subdir="$1" |
326 | mkdir -p $_TOP/gnu/lib/$_subdir/arch/$MACHINE_ARCH | | 335 | mkdir -p $_TOP/gnu/lib/$_subdir/arch/$MACHINE_ARCH |
327 | | | 336 | |
328 | case ${_subdir} in | | 337 | case ${_subdir} in |
329 | *4) | | 338 | *4) |
330 | _src_CC_files="atomicity_file CCODECVT_CC CCOLLATE_CC CCTYPE_CC CMESSAGES_CC CMONEY_CC CNUMERIC_CC CTIME_CC CLOCALE_CC BASIC_FILE_CC" | | 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" |
331 | _headers1="host_headers debug_headers tr1_headers c_compatibility_headers_extra" | | 340 | _headers1="host_headers debug_headers tr1_headers c_compatibility_headers_extra" |
332 | _headers2="thread_host_headers host_headers_extra" | | 341 | _headers2="thread_host_headers host_headers_extra" |
333 | _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" | | 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" |
334 | _unwind="UNWIND_H" | | 343 | _unwind="UNWIND_H" |
335 | ;; | | 344 | ;; |
336 | *) | | 345 | *) |
337 | _src_CC_files="" | | 346 | _src_CC_files="" |
338 | _headers1="target_headers" | | 347 | _headers1="target_headers" |
339 | _headers2="thread_target_headers target_headers_extra" | | 348 | _headers2="thread_target_headers target_headers_extra" |
340 | _build_headers="c++config.h gthr-default.h gthr-posix.h gthr-single.h gthr.h" | | 349 | _build_headers="c++config.h gthr-default.h gthr-posix.h gthr-single.h gthr.h" |
341 | _unwind="" | | 350 | _unwind="" |
342 | ;; | | 351 | ;; |
343 | esac | | 352 | esac |
344 | | | 353 | |
345 | # build files | | 354 | # build files |
346 | for h in $_build_headers; do | | 355 | for h in $_build_headers; do |
347 | write_c gnu/lib/$_subdir/arch/$MACHINE_ARCH/$h \ | | 356 | write_c gnu/lib/$_subdir/arch/$MACHINE_ARCH/$h \ |
348 | <$_TMPDIR/$_PLATFORM/libstdc++-v3/include/$_PLATFORM/bits/$h | | 357 | <$_TMPDIR/$_PLATFORM/libstdc++-v3/include/$_PLATFORM/bits/$h |
349 | done | | 358 | done |
350 | | | 359 | |
351 | write_c gnu/lib/$_subdir/arch/$MACHINE_ARCH/config.h \ | | 360 | write_c gnu/lib/$_subdir/arch/$MACHINE_ARCH/config.h \ |
352 | <$_TMPDIR/$_PLATFORM/libstdc++-v3/config.h | | 361 | <$_TMPDIR/$_PLATFORM/libstdc++-v3/config.h |
353 | | | 362 | |
354 | { | | 363 | { |
355 | # libmath | | 364 | # libmath |
356 | getvars $_PLATFORM/libstdc++-v3/libmath/Makefile \ | | 365 | getvars $_PLATFORM/libstdc++-v3/libmath/Makefile \ |
357 | libmath_la_SOURCES libmath_la_LIBADD | | 366 | libmath_la_SOURCES libmath_la_LIBADD |
358 | | | 367 | |
359 | # libsupc++ | | 368 | # libsupc++ |
360 | getvars $_PLATFORM/libstdc++-v3/libsupc++/Makefile \ | | 369 | getvars $_PLATFORM/libstdc++-v3/libsupc++/Makefile \ |
361 | sources | sed 's/^G_sources=/G_LIBSUPCXX_SOURCES=/' | | 370 | sources | sed 's/^G_sources=/G_LIBSUPCXX_SOURCES=/' |
362 | getvars $_PLATFORM/libstdc++-v3/libsupc++/Makefile \ | | 371 | getvars $_PLATFORM/libstdc++-v3/libsupc++/Makefile \ |
363 | c_sources | sed 's/^G_c_sources=/G_LIBSUPCXX_C_SOURCES=/' | | 372 | c_sources | sed 's/^G_c_sources=/G_LIBSUPCXX_C_SOURCES=/' |
364 | | | 373 | |
365 | # src | | 374 | # src |
366 | getvars $_PLATFORM/libstdc++-v3/src/Makefile \ | | 375 | getvars $_PLATFORM/libstdc++-v3/src/Makefile \ |
367 | sources $_src_CC_files SECTION_FLAGS | sed 's/^G_sources=/G_SRC_SOURCES=/' | | 376 | sources $_src_CC_files SECTION_FLAGS | sed 's/^G_sources=/G_SRC_SOURCES=/' |
368 | | | 377 | |
369 | # include | | 378 | # include |
370 | getvars $_PLATFORM/libstdc++-v3/include/Makefile \ | | 379 | getvars $_PLATFORM/libstdc++-v3/include/Makefile \ |
371 | c_base_headers_rename std_headers_rename | | 380 | c_base_headers_rename std_headers_rename |
372 | getvars $_PLATFORM/libstdc++-v3/include/Makefile \ | | 381 | getvars $_PLATFORM/libstdc++-v3/include/Makefile \ |
373 | bits_headers backward_headers ext_headers c_base_headers_extra \ | | 382 | bits_headers backward_headers ext_headers c_base_headers_extra \ |
374 | $_headers1 | sed -e 's#/[^ ][^ ]*/##g' -e 's/\${GNUHOSTDIST}//g' | | 383 | $_headers1 | sed -e 's#/[^ ][^ ]*/##g' -e 's/\${GNUHOSTDIST}//g' |
375 | getvars $_PLATFORM/libstdc++-v3/include/Makefile \ | | 384 | getvars $_PLATFORM/libstdc++-v3/include/Makefile \ |
376 | $_headers2 | sed -e 's#\./[^ ][^ ]*/##g' -e 's/\${GNUHOSTDIST}//g' | | 385 | $_headers2 | sed -e 's#\./[^ ][^ ]*/##g' -e 's/\${GNUHOSTDIST}//g' |
377 | | | 386 | |
378 | if [ -n "$_unwind" ]; then | | 387 | if [ -n "$_unwind" ]; then |
379 | getvars gcc/Makefile $_unwind | | 388 | getvars gcc/Makefile $_unwind |
380 | fi | | 389 | fi |
381 | } | write_mk gnu/lib/$_subdir/arch/$MACHINE_ARCH/defs.mk | | 390 | } | write_mk gnu/lib/$_subdir/arch/$MACHINE_ARCH/defs.mk |
382 | } | | 391 | } |
383 | | | 392 | |
384 | ##### gnu/usr.bin/gcc3 ##### | | 393 | ##### gnu/usr.bin/gcc3 ##### |
385 | | | 394 | |
386 | get_gcc () { | | 395 | get_gcc () { |
387 | _subdir="$1" | | 396 | _subdir="$1" |
388 | mkdir -p $_TOP/gnu/usr.bin/$_subdir/arch/$MACHINE_ARCH | | 397 | mkdir -p $_TOP/gnu/usr.bin/$_subdir/arch/$MACHINE_ARCH |
389 | case ${_subdir} in | | 398 | case ${_subdir} in |
390 | gcc4) | | 399 | gcc4) |
391 | mkdir -p $_TOP/gnu/usr.bin/$_subdir/libcpp/arch/$MACHINE_ARCH | | 400 | mkdir -p $_TOP/gnu/usr.bin/$_subdir/libcpp/arch/$MACHINE_ARCH |
392 | _buildname="BUILD_" | | 401 | _buildname="BUILD_" |
393 | _libcppsubdir="" | | 402 | _libcppsubdir="" |
394 | _extravars="TM_H ALL_OPT_FILES" | | 403 | _extravars="TM_H ALL_OPT_FILES" |
395 | _hconfig_h="" | | 404 | _hconfig_h="" |
396 | _extravars2="tm_file_list build_xm_include_list" | | 405 | _extravars2="tm_file_list build_xm_include_list" |
397 | _extravars3="tm_p_include_list" | | 406 | _extravars3="tm_p_include_list" |
398 | | | 407 | |
399 | ;; | | 408 | ;; |
400 | *) | | 409 | *) |
401 | _buildname="HOST_" | | 410 | _buildname="HOST_" |
402 | _libcppsubdir="gcc/" | | 411 | _libcppsubdir="gcc/" |
403 | _extravars="" | | 412 | _extravars="" |
404 | _hconfig_h="HCONFIG_H" | | 413 | _hconfig_h="HCONFIG_H" |
405 | _extravars2="" | | 414 | _extravars2="" |
406 | _extravars3="" | | 415 | _extravars3="" |
407 | ;; | | 416 | ;; |
408 | esac | | 417 | esac |
409 | | | 418 | |
410 | { | | 419 | { |
411 | getvars gcc/Makefile \ | | 420 | getvars gcc/Makefile \ |
412 | ${_buildname}EARLY_SUPPORT ${_buildname}ERRORS ${_buildname}PRINT \ | | 421 | ${_buildname}EARLY_SUPPORT ${_buildname}ERRORS ${_buildname}PRINT \ |
413 | ${_buildname}RTL ${_buildname}SUPPORT ${_buildname}VARRAY | \ | | 422 | ${_buildname}RTL ${_buildname}SUPPORT ${_buildname}VARRAY | \ |
414 | sed -e 's#build/errors.o#build-errors.o#g' \ | | 423 | sed -e 's#build/errors.o#build-errors.o#g' \ |
415 | -e 's#build/print-rtl.o#build-print-rtl.o#g' \ | | 424 | -e 's#build/print-rtl.o#build-print-rtl.o#g' \ |
416 | -e 's#build/rtl.o#build-rtl.o#g' \ | | 425 | -e 's#build/rtl.o#build-rtl.o#g' \ |
417 | -e 's#build/varray.o#build-varray.o#g' \ | | 426 | -e 's#build/varray.o#build-varray.o#g' \ |
418 | -e 's#build/ggc-none.o#build-ggc-none.o#g' \ | | 427 | -e 's#build/ggc-none.o#build-ggc-none.o#g' \ |
419 | -e 's#build/##g' | | 428 | -e 's#build/##g' |
420 | getvars gcc/Makefile \ | | 429 | getvars gcc/Makefile \ |
421 | ALL_CFLAGS ALL_CPPFLAGS C_AND_OBJC_OBJS C_OBJS CCCP_OBJS \ | | 430 | ALL_CFLAGS ALL_CPPFLAGS C_AND_OBJC_OBJS C_OBJS CCCP_OBJS \ |
422 | GCOV_OBJS PROTO_OBJS ${_extravars1} \ | | 431 | GCOV_OBJS PROTO_OBJS ${_extravars1} \ |
423 | INCLUDES md_file OBJC_OBJS OBJS out_file version \ | | 432 | INCLUDES md_file OBJC_OBJS OBJS out_file version \ |
424 | BUILD_PREFIX RTL_H TREE_H ${_hconfig_h} BASIC_BLOCK_H GCC_H \ | | 433 | BUILD_PREFIX RTL_H TREE_H ${_hconfig_h} BASIC_BLOCK_H GCC_H \ |
425 | GTFILES_SRCDIR GTFILES_FILES_FILES GTFILES_FILES_LANGS \ | | 434 | GTFILES_SRCDIR GTFILES_FILES_FILES GTFILES_FILES_LANGS \ |
426 | GTFILES GTFILES_LANG_DIR_NAMES \ | | 435 | GTFILES GTFILES_LANG_DIR_NAMES \ |
427 | tm_defines host_xm_file host_xm_defines tm_p_file \ | | 436 | tm_defines host_xm_file host_xm_defines tm_p_file \ |
428 | target_cpu_default ${_extravars} ${_extravars2} \ | | 437 | target_cpu_default ${_extravars} ${_extravars2} \ |
429 | lang_specs_files ${_extravars3} | | 438 | lang_specs_files ${_extravars3} |
430 | getvars gcc/Makefile \ | | 439 | getvars gcc/Makefile \ |
431 | LIB2ADDEHDEP | sed 's/unwind.inc//' | | 440 | LIB2ADDEHDEP | sed 's/unwind.inc//' |
432 | getvars gcc/Makefile \ | | 441 | getvars gcc/Makefile \ |
433 | CXX_OBJS CXX_C_OBJS | sed 's/cp\///g' | | 442 | CXX_OBJS CXX_C_OBJS | sed 's/cp\///g' |
434 | getvars gcc/Makefile \ | | 443 | getvars gcc/Makefile \ |
435 | F77_OBJS | sed 's/f\///g' | | 444 | F77_OBJS | sed 's/f\///g' |
436 | case ${_subdir} in | | 445 | case ${_subdir} in |
437 | gcc4) | | 446 | gcc4) |
438 | getvars libcpp/Makefile \ | | 447 | getvars libcpp/Makefile \ |
439 | libcpp_a_OBJS | | 448 | libcpp_a_OBJS |
440 | ;; | | 449 | ;; |
441 | gcc3) | | 450 | gcc3) |
442 | getvars gcc/Makefile \ | | 451 | getvars gcc/Makefile \ |
443 | LIBCPP_OBJS LIBCPP_H | | 452 | LIBCPP_OBJS LIBCPP_H |
444 | ;; | | 453 | ;; |
445 | esac | | 454 | esac |
446 | getvars gcc/Makefile \ | | 455 | getvars gcc/Makefile \ |
447 | ENABLE_SHARED | | 456 | ENABLE_SHARED |
448 | case ${_subdir} in | | 457 | case ${_subdir} in |
449 | gcc4) | | 458 | gcc4) |
450 | echo G_SHLIB_LINK="$CC -shared" | | 459 | echo G_SHLIB_LINK="$CC -shared" |
451 | echo G_SHLIB_MULTILIB=. | | 460 | echo G_SHLIB_MULTILIB=. |
452 | ;; | | 461 | ;; |
453 | gcc3) | | 462 | gcc3) |
454 | getvars gcc/Makefile \ | | 463 | getvars gcc/Makefile \ |
455 | SHLIB_LINK SHLIB_MULTILIB | | 464 | SHLIB_LINK SHLIB_MULTILIB |
456 | ;; | | 465 | ;; |
457 | esac | | 466 | esac |
458 | } | write_mk gnu/usr.bin/$_subdir/arch/$MACHINE_ARCH/defs.mk | | 467 | } | write_mk gnu/usr.bin/$_subdir/arch/$MACHINE_ARCH/defs.mk |
459 | | | 468 | |
460 | case "$_subdir" in | | 469 | case "$_subdir" in |
461 | gcc3) | | 470 | gcc3) |
462 | hfiles='auto-host configargs cs-hconfig gencheck hconfig gthr-default' | | 471 | hfiles='auto-host configargs cs-hconfig gencheck hconfig gthr-default' |
463 | ;; | | 472 | ;; |
464 | gcc4) | | 473 | gcc4) |
465 | write_c gnu/usr.bin/$_subdir/libcpp/arch/$MACHINE_ARCH/config.h <$_TMPDIR/libcpp/config.h | | 474 | write_c gnu/usr.bin/$_subdir/libcpp/arch/$MACHINE_ARCH/config.h <$_TMPDIR/libcpp/config.h |
466 | hfiles='auto-host configargs gencheck gthr-default tm bconfig config multilib' | | 475 | hfiles='auto-host configargs gencheck gthr-default tm bconfig config multilib' |
467 | ;; | | 476 | ;; |
468 | esac | | 477 | esac |
469 | for f in $hfiles; do | | 478 | for f in $hfiles; do |
470 | write_c gnu/usr.bin/$_subdir/arch/$MACHINE_ARCH/$f.h <$_TMPDIR/gcc/$f.h | | 479 | write_c gnu/usr.bin/$_subdir/arch/$MACHINE_ARCH/$f.h <$_TMPDIR/gcc/$f.h |
471 | done | | 480 | done |
472 | } | | 481 | } |
473 | | | 482 | |
474 | ##### main ##### | | 483 | ##### main ##### |
475 | | | 484 | |
476 | case "$1" in | | 485 | case "$1" in |
477 | # .mk and .h files for libgcc bootstrap (from host build) | | 486 | # .mk and .h files for libgcc bootstrap (from host build) |
478 | libgcc) | | 487 | libgcc) |
479 | get_libgcc gcc3 | | 488 | get_libgcc gcc3 |
480 | get_crtstuff crtstuff3 | | 489 | get_crtstuff crtstuff3 |
481 | exit 0 | | 490 | exit 0 |
482 | ;; | | 491 | ;; |
483 | | | 492 | |
484 | libgcc4) | | 493 | libgcc4) |
485 | get_libgcc gcc4 | | 494 | get_libgcc gcc4 |
486 | get_crtstuff crtstuff4 | | 495 | get_crtstuff crtstuff4 |
487 | exit 0 | | 496 | exit 0 |
488 | ;; | | 497 | ;; |
489 | | | 498 | |
490 | # gcc files | | 499 | # gcc files |
491 | gcc4) | | 500 | gcc4) |
492 | get_gcc gcc4 | | 501 | get_gcc gcc4 |
493 | get_libgcc gcc4 | | 502 | get_libgcc gcc4 |
494 | get_libgcov gcc4 | | 503 | get_libgcov gcc4 |
495 | get_crtstuff crtstuff4 | | 504 | get_crtstuff crtstuff4 |
496 | get_gcc_libiberty gcc4 | | 505 | get_gcc_libiberty gcc4 |
497 | get_libobjc libobjc4 | | 506 | get_libobjc libobjc4 |
498 | get_libstdcxx_v3 libstdc++-v3_4 | | 507 | get_libstdcxx_v3 libstdc++-v3_4 |
499 | exit 0 | | 508 | exit 0 |
500 | ;; | | 509 | ;; |
501 | | | 510 | |
502 | gcc3) | | 511 | gcc3) |
503 | get_gcc gcc3 | | 512 | get_gcc gcc3 |
504 | get_libg2c | | 513 | get_libg2c |
505 | get_libgcc gcc3 | | 514 | get_libgcc gcc3 |
506 | get_crtstuff crtstuff3 | | 515 | get_crtstuff crtstuff3 |
507 | get_gcc_libiberty gcc3 | | 516 | get_gcc_libiberty gcc3 |
508 | get_libobjc libobjc3 | | 517 | get_libobjc libobjc3 |
509 | get_libstdcxx_v3 libstdc++-v3 | | 518 | get_libstdcxx_v3 libstdc++-v3 |
510 | exit 0 | | 519 | exit 0 |
511 | ;; | | 520 | ;; |
512 | | | 521 | |
513 | *) echo invalid arguments; exit 1;; | | 522 | *) echo invalid arguments; exit 1;; |
514 | esac | | 523 | esac |