Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src/trunk]: src/tools/gcc common part of mknative



details:   https://anonhg.NetBSD.org/src/rev/bcdf12b2f6cb
branches:  trunk
changeset: 555751:bcdf12b2f6cb
user:      mrg <mrg%NetBSD.org@localhost>
date:      Thu Nov 27 00:58:26 2003 +0000

description:
common part of mknative

diffstat:

 tools/gcc/mknative.common |  59 +++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 59 insertions(+), 0 deletions(-)

diffs (63 lines):

diff -r 1a42eeb03828 -r bcdf12b2f6cb tools/gcc/mknative.common
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/tools/gcc/mknative.common Thu Nov 27 00:58:26 2003 +0000
@@ -0,0 +1,59 @@
+#      $NetBSD: mknative.common,v 1.1 2003/11/27 00:58:26 mrg Exp $
+#
+# from: NetBSD: mknative,v 1.12 2003/03/05 06:17:17 mrg Exp
+#
+# shell-fragment common to all "mknative" scripts
+
+bomb () {
+       echo >&1 "ABORT: $*"
+       exit 1
+}
+
+# usage: getvars MAKEFILE VARNAME [VARNAME...]
+getvars () {
+       _mf="$1"; shift
+       $MAKE -f - _x_ <<EOF || bomb "getvars $_mf $* failed"
+_x_:
+.for var in $*
+       @echo G_\${var}=\${\${var}:Q} | sed 's,$_VPATH,\$\${GNUHOSTDIST},g'
+.endfor
+.include "$_TMPDIR/$_mf"
+EOF
+}
+
+# usage: write_c FILENAME
+write_c () {
+       echo '/* This file is automatically generated.  DO NOT EDIT! */' >$_TOP/$1.tmp || \
+               bomb "cannot create $1"
+       grep '$''NetBSD' $0 | sed 's,[#$],,g;s,.*,/* Generated from: & */,' >>$_TOP/$1.tmp
+       echo '' >>$_TOP/$1.tmp
+       writefile $1
+}
+
+# usage: write_mk FILENAME
+write_mk () {
+       echo '# This file is automatically generated.  DO NOT EDIT!' >$_TOP/$1.tmp || \
+               bomb "cannot create $1"
+       grep '$''NetBSD' $0 | sed 's,[#$],,g;s,.*,# Generated from: &,' >>$_TOP/$1.tmp
+       echo '#' >>$_TOP/$1.tmp
+       writefile $1
+}
+
+writefile () {
+       sed -e 's,netbsd\(elf\)*1[0-9\.]*\(_\)*[A-Z]*,netbsd\1,' \
+           -e 's,^/\* #undef HAVE_MMAP \*/$,#define HAVE_MMAP 1,' >>$_TOP/$1.tmp
+
+       # Compare new file, sans "generated from" comments and RCS Id, to
+       # old file.  If they match, don't change anything.
+       rm -f $_TMPDIR/.1 $_TMPDIR/.2
+       grep -v 'Generated from:' $_TOP/$1 >$_TMPDIR/.1 2>/dev/null
+       grep -v 'Generated from:' $_TOP/$1.tmp >$_TMPDIR/.2
+
+       # will not overwrite a file that has the same content
+       if cmp $_TMPDIR/.1 $_TMPDIR/.2 >/dev/null 2>&1; then
+               rm -f $_TOP/$1.tmp
+       else
+               echo >&2 "$1 changed"
+               mv -f $_TOP/$1.tmp $_TOP/$1
+       fi
+}



Home | Main Index | Thread Index | Old Index