Source-Changes-HG archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
[src/trunk]: src/tools/gcc Now that we know what sources are needed to build ...
details: https://anonhg.NetBSD.org/src/rev/67284b8b3a77
branches: trunk
changeset: 749458:67284b8b3a77
user: uebayasi <uebayasi%NetBSD.org@localhost>
date: Mon Nov 30 09:50:59 2009 +0000
description:
Now that we know what sources are needed to build a given library, we need
the rules how to build those sources. Generate makefiles defining ${COPTS},
${CPPFLAGS}, and ${SRCS} (== template).
Note that ${CPPFLAGS} is actually dfined as _CPPFLAGS like
_CPPFLAGS.tmp___gcc_bcmp.c=-DL__gcc_bcmp
and used to generate wrapper files (e.g. tmp___gcc_bcmp.c). Otherwise it's
automagically passed to ${CC} by bsd.*.mk.
diffstat:
tools/gcc/mknative-gcc | 43 +++++++++++++++++++++++++++++++++++++++++--
1 files changed, 41 insertions(+), 2 deletions(-)
diffs (72 lines):
diff -r 73843657c82d -r 67284b8b3a77 tools/gcc/mknative-gcc
--- a/tools/gcc/mknative-gcc Mon Nov 30 09:34:39 2009 +0000
+++ b/tools/gcc/mknative-gcc Mon Nov 30 09:50:59 2009 +0000
@@ -1,5 +1,5 @@
#!/bin/sh
-# $NetBSD: mknative-gcc,v 1.37 2009/11/30 09:33:36 uebayasi Exp $
+# $NetBSD: mknative-gcc,v 1.38 2009/11/30 09:50:59 uebayasi Exp $
#
# Shell script for generating all the constants needed for a native
# platform build of src/gnu/dist/gcc.
@@ -236,6 +236,40 @@
sed -e 's,^, ,; s,$, \\,'
}
+_lookup_objs () {
+ local _obj=$1; local _key=$2
+
+ eval grep \^$_obj\\\ \$_TOP/\${libgcc_db_objs_${_key}} | cut -f2
+}
+
+get_libgcc_gen_srcs_tmpsrcs () {
+ cut -f1 $_TOP/${libgcc_db_objs_libs} | \
+ while read _obj; do
+ printf 'SRCS.tmp_%s=%s\n' \
+ "$( _lookup_objs $_obj srcs )" \
+ "$( _lookup_objs $_obj tmpsrcs )"
+ done | \
+ sed -e 's,\$(\(.*\)),${G_\1},'
+}
+
+get_libgcc_gen_srcs_cppflags () {
+ cut -f1 $_TOP/${libgcc_db_objs_libs} | \
+ while read _obj; do
+ printf '_CPPFLAGS.tmp_%s=%s\n' \
+ "$( _lookup_objs $_obj srcs )" \
+ "$( _lookup_objs $_obj cppflags | xargs )"
+ done
+}
+
+get_libgcc_gen_srcs_copts () {
+ cut -f1 $_TOP/${libgcc_db_objs_libs} | \
+ while read _obj; do
+ printf 'COPTS.tmp_%s=%s\n' \
+ "$( _lookup_objs $_obj srcs )" \
+ "$( _lookup_objs $_obj copts | xargs )"
+ done
+}
+
get_libgcc_new_generate () {
for _lib in libgcc_s.so libgcc.a libgcc_eh.a libgcov.a; do
for _tmp in tmpsrcs tmpfpsrcs tmpasmsrcs; do
@@ -246,6 +280,11 @@
get_libgcc_gen_srcs $_lib | \
write_mk ${_machine_arch_subdir}/${_lib%.*}.srcs.mk
done
+
+ for _arg in tmpsrcs cppflags copts; do
+ eval get_libgcc_gen_srcs_${_arg} | \
+ eval writefile \$libgcc_srcs_mk_${_arg}
+ done
}
#####
@@ -268,7 +307,7 @@
get_libgcc_new_analyze
libgcc_srcs_mk=${_machine_arch_subdir}/srcs.mk
- libgcc_srcs_mk_tmpsrc=${_machine_arch_subdir}/srcs.tmpsrc.mk
+ libgcc_srcs_mk_tmpsrcs=${_machine_arch_subdir}/srcs.tmpsrcs.mk
libgcc_srcs_mk_cppflags=${_machine_arch_subdir}/srcs.cppflags.mk
libgcc_srcs_mk_copts=${_machine_arch_subdir}/srcs.copts.mk
Home |
Main Index |
Thread Index |
Old Index