Tue Dec 1 04:59:24 2009 UTC ()
Skip parameters for multilib build for now.


(uebayasi)
diff -r1.42 -r1.43 src/tools/gcc/mknative-gcc

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

--- src/tools/gcc/mknative-gcc 2009/12/01 03:13:26 1.42
+++ src/tools/gcc/mknative-gcc 2009/12/01 04:59:24 1.43
@@ -1,15 +1,15 @@ @@ -1,15 +1,15 @@
1#!/bin/sh 1#!/bin/sh
2# $NetBSD: mknative-gcc,v 1.42 2009/12/01 03:13:26 uebayasi Exp $ 2# $NetBSD: mknative-gcc,v 1.43 2009/12/01 04:59:24 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
@@ -80,75 +80,80 @@ get_libgcc_list_funcs_asm () { @@ -80,75 +80,80 @@ get_libgcc_list_funcs_asm () {
80 p 80 p
81 s,$,_s, 81 s,$,_s,
82 p 82 p
83 } 83 }
84 ' 84 '
85 } | sort 85 } | sort
86} 86}
87 87
88get_libgcc_list_funcs_lib () { 88get_libgcc_list_funcs_lib () {
89 local _lib=$1 89 local _lib=$1
90 local _lib_prefix=${_lib%.*} 90 local _lib_prefix=${_lib%.*}
91 local _lib_suffix=${_lib#*.} 91 local _lib_suffix=${_lib#*.}
92 92
 93 cat build/gcc/libgcc.mk | \
 94 grep -v '/32/' | \
93 sed -ne ' 95 sed -ne '
94 /^\.\/'${_lib_prefix}'\.'${_lib_suffix}': .*\.o$/ { 96 /^\.\/'${_lib_prefix}'\.'${_lib_suffix}': .*\.o$/ {
95 s,^.*/,, 97 s,^.*/,,
96 s,\.o$,, 98 s,\.o$,,
97 p 99 p
98 } 100 }
99 ' build/gcc/libgcc.mk | sort 101 ' | sort
100} 102}
101 103
102get_libgcc_list_objs_libs () { 104get_libgcc_list_objs_libs () {
103 cat build/gcc/libgcc.mk | \ 105 cat build/gcc/libgcc.mk | \
 106 grep -v '/32/' | \
104 egrep '^\.\/(libgcc_s\.so|libgcc\.a|libgcc_eh\.a|libgcov\.a): (libgcc_s|libgcc|libgcc_eh|libgcov)\/.*\.o$' | \ 107 egrep '^\.\/(libgcc_s\.so|libgcc\.a|libgcc_eh\.a|libgcov\.a): (libgcc_s|libgcc|libgcc_eh|libgcov)\/.*\.o$' | \
105 sed -e ' 108 sed -e '
106 s,^\.\/,, 109 s,^\.\/,,
107 s,: .*/, , 110 s,: .*/, ,
108 s,^\(.*\) \(.*\)$,\2 \1, 111 s,^\(.*\) \(.*\)$,\2 \1,
109 ' | sort 112 ' | sort
110} 113}
111 114
112get_libgcc_list_objs_srcs () { 115get_libgcc_list_objs_srcs () {
113 if [ -e $_TOP/${libgcc_db_funcs}.S ]; then 116 if [ -e $_TOP/${libgcc_db_funcs}.S ]; then
114 cut -f1 $_TOP/${libgcc_db_objs_libs} | sed -e 's,\.o$,,' | \ 117 cut -f1 $_TOP/${libgcc_db_objs_libs} | sed -e 's,\.o$,,' | \
115 comm -23 /dev/stdin $_TOP/${libgcc_db_funcs}.S | \ 118 comm -23 /dev/stdin $_TOP/${libgcc_db_funcs}.S | \
116 sed -e 's,\(.*\),\1.o \1.c,' 119 sed -e 's,\(.*\),\1.o \1.c,'
117 120
118 cut -f1 $_TOP/${libgcc_db_objs_libs} | sed -e 's,\.o$,,' | \ 121 cut -f1 $_TOP/${libgcc_db_objs_libs} | sed -e 's,\.o$,,' | \
119 comm -12 /dev/stdin $_TOP/${libgcc_db_funcs}.S | \ 122 comm -12 /dev/stdin $_TOP/${libgcc_db_funcs}.S | \
120 sed -e 's,\(.*\),\1.o \1.S,' 123 sed -e 's,\(.*\),\1.o \1.S,'
121 else 124 else
122 cut -f1 $_TOP/${libgcc_db_objs_libs} | sed -e 's,\.o$,,' | \ 125 cut -f1 $_TOP/${libgcc_db_objs_libs} | sed -e 's,\.o$,,' | \
123 sed -e 's,\(.*\),\1.o \1.c,' 126 sed -e 's,\(.*\),\1.o \1.c,'
124 fi | sort 127 fi | sort
125} 128}
126 129
127get_libgcc_list_objs_tmplsrcs () { 130get_libgcc_list_objs_tmplsrcs () {
128 grep 'GCC_FOR_TARGET.*\.o$' build/gcc/libgcc.mk | \ 131 grep 'GCC_FOR_TARGET.*\.o$' build/gcc/libgcc.mk | \
 132 grep -v '/32/' | \
129 sed -ne ' 133 sed -ne '
130 s,^.* -c \([^ ]*\).* -o .*/\([^ ]*\.o\)$,\2 \1, 134 s,^.* -c \([^ ]*\).* -o .*/\([^ ]*\.o\)$,\2 \1,
131 # basename 135 # basename
132 /\$/ { s,\$.*/,,; } 136 /\$/ { s,\$.*/,,; }
133 /\// { s,\/.*/,,; } 137 /\// { s,\/.*/,,; }
134 p 138 p
135 ' | sort 139 ' | sort -u
136} 140}
137 141
138get_libgcc_list_objs_xflags () { 142get_libgcc_list_objs_xflags () {
139 local _flags=$1 143 local _flags=$1
140 144
141 grep 'GCC_FOR_TARGET.*\.o$' build/gcc/libgcc.mk | \ 145 grep 'GCC_FOR_TARGET.*\.o$' build/gcc/libgcc.mk | \
 146 grep -v '/32/' | \
142 sed -n ' 147 sed -n '
143 x 148 x
144 :loop 149 :loop
145 g 150 g
146 s/^\(.*\) \(-['${_flags}'][^ ][^ ]*\) \(.*\) \(-o .*\)\/\(.*\.o\)$/\5 \2/p 151 s/^\(.*\) \(-['${_flags}'][^ ][^ ]*\) \(.*\) \(-o .*\)\/\(.*\.o\)$/\5 \2/p
147 g 152 g
148 s/^\(.*\) \(-['${_flags}'][^ ][^ ]*\) \(.*\) \(-o .*\)\/\(.*\.o\)$/\1 \3 \4\/\5/ 153 s/^\(.*\) \(-['${_flags}'][^ ][^ ]*\) \(.*\) \(-o .*\)\/\(.*\.o\)$/\1 \3 \4\/\5/
149 h 154 h
150 t loop 155 t loop
151 ' | sort 156 ' | sort
152} 157}
153 158
154get_libgcc_list_objs_cppflags () { 159get_libgcc_list_objs_cppflags () {