Mon Nov 30 09:33:36 2009 UTC ()
For each library, generate a makefile of the list of template sources too.


(uebayasi)
diff -r1.36 -r1.37 src/tools/gcc/mknative-gcc

cvs diff -r1.36 -r1.37 src/tools/gcc/mknative-gcc (expand / switch to unified diff)

--- src/tools/gcc/mknative-gcc 2009/11/30 09:32:13 1.36
+++ src/tools/gcc/mknative-gcc 2009/11/30 09:33:36 1.37
@@ -1,15 +1,15 @@ @@ -1,15 +1,15 @@
1#!/bin/sh 1#!/bin/sh
2# $NetBSD: mknative-gcc,v 1.36 2009/11/30 09:32:13 uebayasi Exp $ 2# $NetBSD: mknative-gcc,v 1.37 2009/11/30 09:33:36 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
@@ -187,42 +187,72 @@ get_libgcc_new_analyze () { @@ -187,42 +187,72 @@ get_libgcc_new_analyze () {
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
 200get_libgcc_gen_tmpsrcs_tmpsrcs () {
 201 local _lib=$1
 202
 203 printf '\n'
 204 printf 'TMPSRCS.%s = \\\n' $_lib
 205 sed -e 's,^, ,; s,$, \\,' $_TOP/${libgcc_db_tmpsrcs}.tmpsrcs.${_lib%.*}
 206}
 207
 208get_libgcc_gen_tmpsrcs_tmpfpsrcs () {
 209 local _lib=$1
 210
 211 printf '\n'
 212 printf 'TMPFPSRCS.%s = \\\n' $_lib
 213 sed -e 's,^, ,; s,$, \\,' $_TOP/${libgcc_db_tmpsrcs}.tmpfpsrcs.${_lib%.*}
 214}
 215
 216get_libgcc_gen_tmpsrcs_tmpasmsrcs () {
 217 local _lib=$1
 218
 219 printf '\n'
 220 printf 'TMPASMSRCS.%s = \\\n' $_lib
 221 sed -e 's,^, ,; s,$, \\,' $_TOP/${libgcc_db_tmpsrcs}.tmpasmsrcs.${_lib%.*} | \
 222 sed -e 's,LIB1ASMSRC,G_&,'
 223}
 224
200get_libgcc_gen_srcs () { 225get_libgcc_gen_srcs () {
201 local _lib=$1 226 local _lib=$1
202 227
203 printf '\n' 228 printf '\n'
204 printf 'SRCS.%s = \\\n' $_lib 229 printf 'SRCS.%s = \\\n' $_lib
205 { 230 {
206 comm -23 $_TOP/${libgcc_db_funcs}.${_lib%.*} $_TOP/${libgcc_db_funcs}.S | \ 231 comm -23 $_TOP/${libgcc_db_funcs}.${_lib%.*} $_TOP/${libgcc_db_funcs}.S | \
207 sed -e 's,$,.c,; s,^,tmp_,' 232 sed -e 's,$,.c,; s,^,tmp_,'
208 comm -12 $_TOP/${libgcc_db_funcs}.${_lib%.*} $_TOP/${libgcc_db_funcs}.S | \ 233 comm -12 $_TOP/${libgcc_db_funcs}.${_lib%.*} $_TOP/${libgcc_db_funcs}.S | \
209 sed -e 's,$,.S,; s,^,tmp_,' 234 sed -e 's,$,.S,; s,^,tmp_,'
210 } | sort | \ 235 } | sort | \
211 sed -e 's,^, ,; s,$, \\,' 236 sed -e 's,^, ,; s,$, \\,'
212} 237}
213 238
214get_libgcc_new_generate () { 239get_libgcc_new_generate () {
215 for _lib in libgcc_s.so libgcc.a libgcc_eh.a libgcov.a; do 240 for _lib in libgcc_s.so libgcc.a libgcc_eh.a libgcov.a; do
 241 for _tmp in tmpsrcs tmpfpsrcs tmpasmsrcs; do
 242 eval get_libgcc_gen_tmpsrcs_${_tmp} $_lib | \
 243 write_mk ${_machine_arch_subdir}/${_lib%.*}.tmpsrcs.${_tmp}.mk
 244 done
 245
216 get_libgcc_gen_srcs $_lib | \ 246 get_libgcc_gen_srcs $_lib | \
217 write_mk ${_machine_arch_subdir}/${_lib%.*}.srcs.mk 247 write_mk ${_machine_arch_subdir}/${_lib%.*}.srcs.mk
218 done 248 done
219} 249}
220 250
221##### 251#####
222 252
223get_libgcc_new () { 253get_libgcc_new () {
224 _subdir="$1" 254 _subdir="$1"
225 255
226 # List of generated files. 256 # List of generated files.
227 257
228 _machine_arch_subdir=gnu/lib/lib$_subdir/arch${_archsubdir}/$MACHINE_ARCH 258 _machine_arch_subdir=gnu/lib/lib$_subdir/arch${_archsubdir}/$MACHINE_ARCH