| @@ -1,340 +1,348 @@ | | | @@ -1,340 +1,348 @@ |
1 | #!/bin/sh | | 1 | #!/bin/sh |
2 | # $NetBSD: mknative-gcc,v 1.25 2008/10/11 05:03:44 mrg Exp $ | | 2 | # $NetBSD: mknative-gcc,v 1.26 2009/11/30 05:50:07 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_new () { |
| | | 53 | } |
| | | 54 | |
52 | get_libgcc () { | | 55 | get_libgcc () { |
53 | _subdir="$1" | | 56 | _subdir="$1" |
54 | mkdir -p $_TOP/gnu/lib/lib$_subdir/arch | | 57 | mkdir -p $_TOP/gnu/lib/lib$_subdir/arch |
55 | | | 58 | |
56 | case "$_subdir" in | | 59 | case "$_subdir" in |
57 | gcc3) | | 60 | gcc3) |
58 | _extravars="USE_COLLECT2 LIB2FUNCS_1 LIB2FUNCS_2 xm_file" | | 61 | _extravars="USE_COLLECT2 LIB2FUNCS_1 LIB2FUNCS_2 xm_file" |
59 | _archsubdir="" | | 62 | _archsubdir="" |
60 | ;; | | 63 | ;; |
61 | gcc4) | | 64 | gcc4) |
62 | _extravars="COLLECT2 UNWIND_H xm_include_list" | | 65 | _extravars="COLLECT2 UNWIND_H xm_include_list" |
63 | _archsubdir="" | | 66 | _archsubdir="" |
64 | ;; | | 67 | ;; |
65 | esac | | 68 | esac |
66 | | | 69 | |
67 | # DPBIT, FPBIT only used on mn10[23]00, we don't need them. | | 70 | # DPBIT, FPBIT only used on mn10[23]00, we don't need them. |
68 | # XXX we should probably grab everything Just In Case for | | 71 | # XXX we should probably grab everything Just In Case for |
69 | # the future. | | 72 | # the future. |
70 | { | | 73 | { |
71 | getvars gcc/Makefile \ | | 74 | getvars gcc/Makefile \ |
72 | INCLUDES LIB2ADD LIB2ADDEH \ | | 75 | INCLUDES LIB2ADD LIB2ADDEH \ |
73 | LIB1ASMFUNCS LIB1ASMSRC \ | | 76 | LIB1ASMFUNCS LIB1ASMSRC \ |
74 | LIB2_DIVMOD_FUNCS LIB2FUNCS_ST \ | | 77 | LIB2_DIVMOD_FUNCS LIB2FUNCS_ST \ |
75 | LIBGCC2_CFLAGS \ | | 78 | LIBGCC2_CFLAGS \ |
76 | SHLIB_MKMAP SHLIB_MKMAP_OPTS \ | | 79 | SHLIB_MKMAP SHLIB_MKMAP_OPTS \ |
77 | SHLIB_MAPFILES SHLIB_NM_FLAGS \ | | 80 | SHLIB_MAPFILES SHLIB_NM_FLAGS \ |
78 | EXTRA_HEADERS xm_defines \ | | 81 | EXTRA_HEADERS xm_defines \ |
79 | tm_defines ${_extravars} | | 82 | tm_defines ${_extravars} |
80 | } | write_mk gnu/lib/lib$_subdir/arch${_archsubdir}/$MACHINE_ARCH.mk | | 83 | } | write_mk gnu/lib/lib$_subdir/arch${_archsubdir}/$MACHINE_ARCH.mk |
| | | 84 | |
| | | 85 | # Generate new style files. |
| | | 86 | if [ -n "${MKNATIVE_LIBGCC_NEW} ] |
| | | 87 | get_libgcc_new |
| | | 88 | fi |
81 | } | | 89 | } |
82 | | | 90 | |
83 | ##### gnu/lib/libgcov ##### | | 91 | ##### gnu/lib/libgcov ##### |
84 | | | 92 | |
85 | get_libgcov () { | | 93 | get_libgcov () { |
86 | _subdir="$1" | | 94 | _subdir="$1" |
87 | | | 95 | |
88 | mkdir -p $_TOP/gnu/lib/lib$_subdir/libgcov/arch/$MACHINE_ARCH | | 96 | mkdir -p $_TOP/gnu/lib/lib$_subdir/libgcov/arch/$MACHINE_ARCH |
89 | | | 97 | |
90 | { | | 98 | { |
91 | getvars gcc/Makefile \ | | 99 | getvars gcc/Makefile \ |
92 | LIBGCOV | | 100 | LIBGCOV |
93 | } | write_mk gnu/lib/lib$_subdir/libgcov/arch/$MACHINE_ARCH/defs.mk | | 101 | } | write_mk gnu/lib/lib$_subdir/libgcov/arch/$MACHINE_ARCH/defs.mk |
94 | | | 102 | |
95 | write_c gnu/lib/lib$_subdir/libgcov/arch/$MACHINE_ARCH/gcov-iov.h \ | | 103 | write_c gnu/lib/lib$_subdir/libgcov/arch/$MACHINE_ARCH/gcov-iov.h \ |
96 | <$_TMPDIR/gcc/gcov-iov.h | | 104 | <$_TMPDIR/gcc/gcov-iov.h |
97 | | | 105 | |
98 | } | | 106 | } |
99 | | | 107 | |
100 | ##### gnu/usr.bin/gcc[34]/libiberty ##### | | 108 | ##### gnu/usr.bin/gcc[34]/libiberty ##### |
101 | | | 109 | |
102 | get_gcc_libiberty () { | | 110 | get_gcc_libiberty () { |
103 | _subdir="$1" | | 111 | _subdir="$1" |
104 | mkdir -p $_TOP/gnu/usr.bin/$_subdir/libiberty/arch/$MACHINE_ARCH | | 112 | mkdir -p $_TOP/gnu/usr.bin/$_subdir/libiberty/arch/$MACHINE_ARCH |
105 | | | 113 | |
106 | getvars libiberty/Makefile \ | | 114 | getvars libiberty/Makefile \ |
107 | ALLOCA EXTRA_OFILES LIBOBJS REQUIRED_OFILES \ | | 115 | ALLOCA EXTRA_OFILES LIBOBJS REQUIRED_OFILES \ |
108 | | write_mk gnu/usr.bin/$_subdir/libiberty/defs.mk | | 116 | | write_mk gnu/usr.bin/$_subdir/libiberty/defs.mk |
109 | | | 117 | |
110 | write_c gnu/usr.bin/$_subdir/libiberty/arch/$MACHINE_ARCH/config.h \ | | 118 | write_c gnu/usr.bin/$_subdir/libiberty/arch/$MACHINE_ARCH/config.h \ |
111 | <$_TMPDIR/libiberty/config.h | | 119 | <$_TMPDIR/libiberty/config.h |
112 | } | | 120 | } |
113 | | | 121 | |
114 | ##### gnu/lib/libobjc ##### | | 122 | ##### gnu/lib/libobjc ##### |
115 | | | 123 | |
116 | get_libobjc () { | | 124 | get_libobjc () { |
117 | case "$1" in | | 125 | case "$1" in |
118 | *4) | | 126 | *4) |
119 | _subdir="$1/arch/$MACHINE_ARCH" | | 127 | _subdir="$1/arch/$MACHINE_ARCH" |
120 | _options="ALL_OPT_FILES" | | 128 | _options="ALL_OPT_FILES" |
121 | _unwind="UNWIND_H" | | 129 | _unwind="UNWIND_H" |
122 | ;; | | 130 | ;; |
123 | *) | | 131 | *) |
124 | _subdir="$1" | | 132 | _subdir="$1" |
125 | _options="" | | 133 | _options="" |
126 | _unwind="" | | 134 | _unwind="" |
127 | ;; | | 135 | ;; |
128 | esac | | 136 | esac |
129 | | | 137 | |
130 | mkdir -p $_TOP/gnu/lib/$_subdir | | 138 | mkdir -p $_TOP/gnu/lib/$_subdir |
131 | | | 139 | |
132 | { | | 140 | { |
133 | if [ -n "$_options" ]; then | | 141 | if [ -n "$_options" ]; then |
134 | getvars gcc/Makefile $_options | | 142 | getvars gcc/Makefile $_options |
135 | fi | | 143 | fi |
136 | getvars $_PLATFORM/libobjc/Makefile \ | | 144 | getvars $_PLATFORM/libobjc/Makefile \ |
137 | ALL_CFLAGS INCLUDES OBJS OBJC_H \ | | 145 | ALL_CFLAGS INCLUDES OBJS OBJC_H \ |
138 | | sed "s,$_GNU_DIST,\${GNUHOSTDIST},g" | | 146 | | sed "s,$_GNU_DIST,\${GNUHOSTDIST},g" |
139 | if [ -n "$_unwind" ]; then | | 147 | if [ -n "$_unwind" ]; then |
140 | getvars gcc/Makefile $_unwind | | 148 | getvars gcc/Makefile $_unwind |
141 | fi | | 149 | fi |
142 | } | write_mk gnu/lib/$_subdir/defs.mk | | 150 | } | write_mk gnu/lib/$_subdir/defs.mk |
143 | | | 151 | |
144 | write_c gnu/lib/$_subdir/config.h \ | | 152 | write_c gnu/lib/$_subdir/config.h \ |
145 | <$_TMPDIR/$_PLATFORM/libobjc/config.h | | 153 | <$_TMPDIR/$_PLATFORM/libobjc/config.h |
146 | } | | 154 | } |
147 | | | 155 | |
148 | ##### gnu/lib/libstdc++-v3 ##### | | 156 | ##### gnu/lib/libstdc++-v3 ##### |
149 | | | 157 | |
150 | get_libstdcxx_v3 () { | | 158 | get_libstdcxx_v3 () { |
151 | _subdir="$1" | | 159 | _subdir="$1" |
152 | mkdir -p $_TOP/gnu/lib/$_subdir/arch/$MACHINE_ARCH | | 160 | mkdir -p $_TOP/gnu/lib/$_subdir/arch/$MACHINE_ARCH |
153 | | | 161 | |
154 | case ${_subdir} in | | 162 | case ${_subdir} in |
155 | *4) | | 163 | *4) |
156 | _src_CC_files="atomicity_file CCODECVT_CC CCOLLATE_CC CCTYPE_CC CMESSAGES_CC CMONEY_CC CNUMERIC_CC CTIME_CC CLOCALE_CC BASIC_FILE_CC" | | 164 | _src_CC_files="atomicity_file CCODECVT_CC CCOLLATE_CC CCTYPE_CC CMESSAGES_CC CMONEY_CC CNUMERIC_CC CTIME_CC CLOCALE_CC BASIC_FILE_CC" |
157 | _headers1="host_headers debug_headers tr1_headers c_compatibility_headers_extra" | | 165 | _headers1="host_headers debug_headers tr1_headers c_compatibility_headers_extra" |
158 | _headers2="thread_host_headers host_headers_extra" | | 166 | _headers2="thread_host_headers host_headers_extra" |
159 | _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" | | 167 | _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" |
160 | _unwind="UNWIND_H" | | 168 | _unwind="UNWIND_H" |
161 | ;; | | 169 | ;; |
162 | *) | | 170 | *) |
163 | _src_CC_files="" | | 171 | _src_CC_files="" |
164 | _headers1="target_headers" | | 172 | _headers1="target_headers" |
165 | _headers2="thread_target_headers target_headers_extra" | | 173 | _headers2="thread_target_headers target_headers_extra" |
166 | _build_headers="c++config.h gthr-default.h gthr-posix.h gthr-single.h gthr.h" | | 174 | _build_headers="c++config.h gthr-default.h gthr-posix.h gthr-single.h gthr.h" |
167 | _unwind="" | | 175 | _unwind="" |
168 | ;; | | 176 | ;; |
169 | esac | | 177 | esac |
170 | | | 178 | |
171 | # build files | | 179 | # build files |
172 | for h in $_build_headers; do | | 180 | for h in $_build_headers; do |
173 | write_c gnu/lib/$_subdir/arch/$MACHINE_ARCH/$h \ | | 181 | write_c gnu/lib/$_subdir/arch/$MACHINE_ARCH/$h \ |
174 | <$_TMPDIR/$_PLATFORM/libstdc++-v3/include/$_PLATFORM/bits/$h | | 182 | <$_TMPDIR/$_PLATFORM/libstdc++-v3/include/$_PLATFORM/bits/$h |
175 | done | | 183 | done |
176 | | | 184 | |
177 | write_c gnu/lib/$_subdir/arch/$MACHINE_ARCH/config.h \ | | 185 | write_c gnu/lib/$_subdir/arch/$MACHINE_ARCH/config.h \ |
178 | <$_TMPDIR/$_PLATFORM/libstdc++-v3/config.h | | 186 | <$_TMPDIR/$_PLATFORM/libstdc++-v3/config.h |
179 | | | 187 | |
180 | { | | 188 | { |
181 | # libmath | | 189 | # libmath |
182 | getvars $_PLATFORM/libstdc++-v3/libmath/Makefile \ | | 190 | getvars $_PLATFORM/libstdc++-v3/libmath/Makefile \ |
183 | libmath_la_SOURCES libmath_la_LIBADD | | 191 | libmath_la_SOURCES libmath_la_LIBADD |
184 | | | 192 | |
185 | # libsupc++ | | 193 | # libsupc++ |
186 | getvars $_PLATFORM/libstdc++-v3/libsupc++/Makefile \ | | 194 | getvars $_PLATFORM/libstdc++-v3/libsupc++/Makefile \ |
187 | sources | sed 's/^G_sources=/G_LIBSUPCXX_SOURCES=/' | | 195 | sources | sed 's/^G_sources=/G_LIBSUPCXX_SOURCES=/' |
188 | getvars $_PLATFORM/libstdc++-v3/libsupc++/Makefile \ | | 196 | getvars $_PLATFORM/libstdc++-v3/libsupc++/Makefile \ |
189 | c_sources | sed 's/^G_c_sources=/G_LIBSUPCXX_C_SOURCES=/' | | 197 | c_sources | sed 's/^G_c_sources=/G_LIBSUPCXX_C_SOURCES=/' |
190 | | | 198 | |
191 | # src | | 199 | # src |
192 | getvars $_PLATFORM/libstdc++-v3/src/Makefile \ | | 200 | getvars $_PLATFORM/libstdc++-v3/src/Makefile \ |
193 | sources $_src_CC_files SECTION_FLAGS | sed 's/^G_sources=/G_SRC_SOURCES=/' | | 201 | sources $_src_CC_files SECTION_FLAGS | sed 's/^G_sources=/G_SRC_SOURCES=/' |
194 | | | 202 | |
195 | # include | | 203 | # include |
196 | getvars $_PLATFORM/libstdc++-v3/include/Makefile \ | | 204 | getvars $_PLATFORM/libstdc++-v3/include/Makefile \ |
197 | c_base_headers_rename std_headers_rename | | 205 | c_base_headers_rename std_headers_rename |
198 | getvars $_PLATFORM/libstdc++-v3/include/Makefile \ | | 206 | getvars $_PLATFORM/libstdc++-v3/include/Makefile \ |
199 | bits_headers backward_headers ext_headers c_base_headers_extra \ | | 207 | bits_headers backward_headers ext_headers c_base_headers_extra \ |
200 | $_headers1 | sed -e 's#/[^ ][^ ]*/##g' -e 's/\${GNUHOSTDIST}//g' | | 208 | $_headers1 | sed -e 's#/[^ ][^ ]*/##g' -e 's/\${GNUHOSTDIST}//g' |
201 | getvars $_PLATFORM/libstdc++-v3/include/Makefile \ | | 209 | getvars $_PLATFORM/libstdc++-v3/include/Makefile \ |
202 | $_headers2 | sed -e 's#\./[^ ][^ ]*/##g' -e 's/\${GNUHOSTDIST}//g' | | 210 | $_headers2 | sed -e 's#\./[^ ][^ ]*/##g' -e 's/\${GNUHOSTDIST}//g' |
203 | | | 211 | |
204 | if [ -n "$_unwind" ]; then | | 212 | if [ -n "$_unwind" ]; then |
205 | getvars gcc/Makefile $_unwind | | 213 | getvars gcc/Makefile $_unwind |
206 | fi | | 214 | fi |
207 | } | write_mk gnu/lib/$_subdir/arch/$MACHINE_ARCH/defs.mk | | 215 | } | write_mk gnu/lib/$_subdir/arch/$MACHINE_ARCH/defs.mk |
208 | } | | 216 | } |
209 | | | 217 | |
210 | ##### gnu/usr.bin/gcc3 ##### | | 218 | ##### gnu/usr.bin/gcc3 ##### |
211 | | | 219 | |
212 | get_gcc () { | | 220 | get_gcc () { |
213 | _subdir="$1" | | 221 | _subdir="$1" |
214 | mkdir -p $_TOP/gnu/usr.bin/$_subdir/arch/$MACHINE_ARCH | | 222 | mkdir -p $_TOP/gnu/usr.bin/$_subdir/arch/$MACHINE_ARCH |
215 | case ${_subdir} in | | 223 | case ${_subdir} in |
216 | gcc4) | | 224 | gcc4) |
217 | mkdir -p $_TOP/gnu/usr.bin/$_subdir/libcpp/arch/$MACHINE_ARCH | | 225 | mkdir -p $_TOP/gnu/usr.bin/$_subdir/libcpp/arch/$MACHINE_ARCH |
218 | _buildname="BUILD_" | | 226 | _buildname="BUILD_" |
219 | _libcppsubdir="" | | 227 | _libcppsubdir="" |
220 | _extravars="TM_H ALL_OPT_FILES" | | 228 | _extravars="TM_H ALL_OPT_FILES" |
221 | _hconfig_h="" | | 229 | _hconfig_h="" |
222 | _extravars2="tm_file_list build_xm_include_list" | | 230 | _extravars2="tm_file_list build_xm_include_list" |
223 | _extravars3="tm_p_include_list" | | 231 | _extravars3="tm_p_include_list" |
224 | | | 232 | |
225 | ;; | | 233 | ;; |
226 | *) | | 234 | *) |
227 | _buildname="HOST_" | | 235 | _buildname="HOST_" |
228 | _libcppsubdir="gcc/" | | 236 | _libcppsubdir="gcc/" |
229 | _extravars="" | | 237 | _extravars="" |
230 | _hconfig_h="HCONFIG_H" | | 238 | _hconfig_h="HCONFIG_H" |
231 | _extravars2="" | | 239 | _extravars2="" |
232 | _extravars3="" | | 240 | _extravars3="" |
233 | ;; | | 241 | ;; |
234 | esac | | 242 | esac |
235 | | | 243 | |
236 | { | | 244 | { |
237 | getvars gcc/Makefile \ | | 245 | getvars gcc/Makefile \ |
238 | ${_buildname}EARLY_SUPPORT ${_buildname}ERRORS ${_buildname}PRINT \ | | 246 | ${_buildname}EARLY_SUPPORT ${_buildname}ERRORS ${_buildname}PRINT \ |
239 | ${_buildname}RTL ${_buildname}SUPPORT ${_buildname}VARRAY | \ | | 247 | ${_buildname}RTL ${_buildname}SUPPORT ${_buildname}VARRAY | \ |
240 | sed -e 's#build/errors.o#build-errors.o#g' \ | | 248 | sed -e 's#build/errors.o#build-errors.o#g' \ |
241 | -e 's#build/print-rtl.o#build-print-rtl.o#g' \ | | 249 | -e 's#build/print-rtl.o#build-print-rtl.o#g' \ |
242 | -e 's#build/rtl.o#build-rtl.o#g' \ | | 250 | -e 's#build/rtl.o#build-rtl.o#g' \ |
243 | -e 's#build/varray.o#build-varray.o#g' \ | | 251 | -e 's#build/varray.o#build-varray.o#g' \ |
244 | -e 's#build/ggc-none.o#build-ggc-none.o#g' \ | | 252 | -e 's#build/ggc-none.o#build-ggc-none.o#g' \ |
245 | -e 's#build/##g' | | 253 | -e 's#build/##g' |
246 | getvars gcc/Makefile \ | | 254 | getvars gcc/Makefile \ |
247 | ALL_CFLAGS ALL_CPPFLAGS C_AND_OBJC_OBJS C_OBJS CCCP_OBJS \ | | 255 | ALL_CFLAGS ALL_CPPFLAGS C_AND_OBJC_OBJS C_OBJS CCCP_OBJS \ |
248 | GCOV_OBJS PROTO_OBJS ${_extravars1} \ | | 256 | GCOV_OBJS PROTO_OBJS ${_extravars1} \ |
249 | INCLUDES md_file OBJC_OBJS OBJS out_file version \ | | 257 | INCLUDES md_file OBJC_OBJS OBJS out_file version \ |
250 | BUILD_PREFIX RTL_H TREE_H ${_hconfig_h} BASIC_BLOCK_H GCC_H \ | | 258 | BUILD_PREFIX RTL_H TREE_H ${_hconfig_h} BASIC_BLOCK_H GCC_H \ |
251 | GTFILES_SRCDIR GTFILES_FILES_FILES GTFILES_FILES_LANGS \ | | 259 | GTFILES_SRCDIR GTFILES_FILES_FILES GTFILES_FILES_LANGS \ |
252 | GTFILES GTFILES_LANG_DIR_NAMES \ | | 260 | GTFILES GTFILES_LANG_DIR_NAMES \ |
253 | tm_defines host_xm_file host_xm_defines tm_p_file \ | | 261 | tm_defines host_xm_file host_xm_defines tm_p_file \ |
254 | target_cpu_default ${_extravars} ${_extravars2} \ | | 262 | target_cpu_default ${_extravars} ${_extravars2} \ |
255 | lang_specs_files ${_extravars3} | | 263 | lang_specs_files ${_extravars3} |
256 | getvars gcc/Makefile \ | | 264 | getvars gcc/Makefile \ |
257 | LIB2ADDEHDEP | sed 's/unwind.inc//' | | 265 | LIB2ADDEHDEP | sed 's/unwind.inc//' |
258 | getvars gcc/Makefile \ | | 266 | getvars gcc/Makefile \ |
259 | CXX_OBJS CXX_C_OBJS | sed 's/cp\///g' | | 267 | CXX_OBJS CXX_C_OBJS | sed 's/cp\///g' |
260 | getvars gcc/Makefile \ | | 268 | getvars gcc/Makefile \ |
261 | F77_OBJS | sed 's/f\///g' | | 269 | F77_OBJS | sed 's/f\///g' |
262 | case ${_subdir} in | | 270 | case ${_subdir} in |
263 | gcc4) | | 271 | gcc4) |
264 | getvars libcpp/Makefile \ | | 272 | getvars libcpp/Makefile \ |
265 | libcpp_a_OBJS | | 273 | libcpp_a_OBJS |
266 | ;; | | 274 | ;; |
267 | gcc3) | | 275 | gcc3) |
268 | getvars gcc/Makefile \ | | 276 | getvars gcc/Makefile \ |
269 | LIBCPP_OBJS LIBCPP_H | | 277 | LIBCPP_OBJS LIBCPP_H |
270 | ;; | | 278 | ;; |
271 | esac | | 279 | esac |
272 | getvars gcc/Makefile \ | | 280 | getvars gcc/Makefile \ |
273 | ENABLE_SHARED | | 281 | ENABLE_SHARED |
274 | case ${_subdir} in | | 282 | case ${_subdir} in |
275 | gcc4) | | 283 | gcc4) |
276 | echo G_SHLIB_LINK="$CC -shared" | | 284 | echo G_SHLIB_LINK="$CC -shared" |
277 | echo G_SHLIB_MULTILIB=. | | 285 | echo G_SHLIB_MULTILIB=. |
278 | ;; | | 286 | ;; |
279 | gcc3) | | 287 | gcc3) |
280 | getvars gcc/Makefile \ | | 288 | getvars gcc/Makefile \ |
281 | SHLIB_LINK SHLIB_MULTILIB | | 289 | SHLIB_LINK SHLIB_MULTILIB |
282 | ;; | | 290 | ;; |
283 | esac | | 291 | esac |
284 | } | write_mk gnu/usr.bin/$_subdir/arch/$MACHINE_ARCH/defs.mk | | 292 | } | write_mk gnu/usr.bin/$_subdir/arch/$MACHINE_ARCH/defs.mk |
285 | | | 293 | |
286 | case "$_subdir" in | | 294 | case "$_subdir" in |
287 | gcc3) | | 295 | gcc3) |
288 | hfiles='auto-host configargs cs-hconfig gencheck hconfig gthr-default' | | 296 | hfiles='auto-host configargs cs-hconfig gencheck hconfig gthr-default' |
289 | ;; | | 297 | ;; |
290 | gcc4) | | 298 | gcc4) |
291 | write_c gnu/usr.bin/$_subdir/libcpp/arch/$MACHINE_ARCH/config.h <$_TMPDIR/libcpp/config.h | | 299 | write_c gnu/usr.bin/$_subdir/libcpp/arch/$MACHINE_ARCH/config.h <$_TMPDIR/libcpp/config.h |
292 | hfiles='auto-host configargs gencheck gthr-default tm bconfig config multilib' | | 300 | hfiles='auto-host configargs gencheck gthr-default tm bconfig config multilib' |
293 | ;; | | 301 | ;; |
294 | esac | | 302 | esac |
295 | for f in $hfiles; do | | 303 | for f in $hfiles; do |
296 | write_c gnu/usr.bin/$_subdir/arch/$MACHINE_ARCH/$f.h <$_TMPDIR/gcc/$f.h | | 304 | write_c gnu/usr.bin/$_subdir/arch/$MACHINE_ARCH/$f.h <$_TMPDIR/gcc/$f.h |
297 | done | | 305 | done |
298 | } | | 306 | } |
299 | | | 307 | |
300 | ##### main ##### | | 308 | ##### main ##### |
301 | | | 309 | |
302 | case "$1" in | | 310 | case "$1" in |
303 | # .mk and .h files for libgcc bootstrap (from host build) | | 311 | # .mk and .h files for libgcc bootstrap (from host build) |
304 | libgcc) | | 312 | libgcc) |
305 | get_libgcc gcc3 | | 313 | get_libgcc gcc3 |
306 | get_crtstuff crtstuff3 | | 314 | get_crtstuff crtstuff3 |
307 | exit 0 | | 315 | exit 0 |
308 | ;; | | 316 | ;; |
309 | | | 317 | |
310 | libgcc4) | | 318 | libgcc4) |
311 | get_libgcc gcc4 | | 319 | get_libgcc gcc4 |
312 | get_crtstuff crtstuff4 | | 320 | get_crtstuff crtstuff4 |
313 | exit 0 | | 321 | exit 0 |
314 | ;; | | 322 | ;; |
315 | | | 323 | |
316 | # gcc files | | 324 | # gcc files |
317 | gcc4) | | 325 | gcc4) |
318 | get_gcc gcc4 | | 326 | get_gcc gcc4 |
319 | get_libgcc gcc4 | | 327 | get_libgcc gcc4 |
320 | get_libgcov gcc4 | | 328 | get_libgcov gcc4 |
321 | get_crtstuff crtstuff4 | | 329 | get_crtstuff crtstuff4 |
322 | get_gcc_libiberty gcc4 | | 330 | get_gcc_libiberty gcc4 |
323 | get_libobjc libobjc4 | | 331 | get_libobjc libobjc4 |
324 | get_libstdcxx_v3 libstdc++-v3_4 | | 332 | get_libstdcxx_v3 libstdc++-v3_4 |
325 | exit 0 | | 333 | exit 0 |
326 | ;; | | 334 | ;; |
327 | | | 335 | |
328 | gcc3) | | 336 | gcc3) |
329 | get_gcc gcc3 | | 337 | get_gcc gcc3 |
330 | get_libg2c | | 338 | get_libg2c |
331 | get_libgcc gcc3 | | 339 | get_libgcc gcc3 |
332 | get_crtstuff crtstuff3 | | 340 | get_crtstuff crtstuff3 |
333 | get_gcc_libiberty gcc3 | | 341 | get_gcc_libiberty gcc3 |
334 | get_libobjc libobjc3 | | 342 | get_libobjc libobjc3 |
335 | get_libstdcxx_v3 libstdc++-v3 | | 343 | get_libstdcxx_v3 libstdc++-v3 |
336 | exit 0 | | 344 | exit 0 |
337 | ;; | | 345 | ;; |
338 | | | 346 | |
339 | *) echo invalid arguments; exit 1;; | | 347 | *) echo invalid arguments; exit 1;; |
340 | esac | | 348 | esac |