0b652851b1
* gnu/packages/patches/mes-nyacc-0.86.0.patch: Support bootstrap build. * gnu/packages/commencement.scm (%fake-bootstrap mes-boot0, mescc-tools-boot, nyacc-boot, mes-boot, tcc-boot0, tcc-boot, make-mesboot0, diffutils-mesboot, binutils-mesboot0, gcc-core-mesboot, mesboot-headers, glibc-mesboot0, gcc-mesboot0, binutils-mesboot, make-mesboot, gmp-boot, mpfr-boot, mpc-boot, gcc-mesboot1, gcc-mesboot1-wrapper, glibc-headers-mesboot, glibc-mesboot, gcc-mesboot, gcc-mesboot-wrapper, m4-mesboot): New variable. * gnu/packages/patches/binutils-boot-2.20.1a.patch: New file. New file. * gnu/packages/patches/gcc-boot-2.95.3.patch: New file. * gnu/packages/patches/gcc-boot-4.7.4.patch: New file. * gnu/packages/patches/glibc-boot-2.16.0.patch: New file. * gnu/packages/patches/glibc-boot-2.2.5.patch: New file. * gnu/packages/patches/glibc-bootstrap-system-2.16.0.patch: New file. * gnu/packages/patches/tcc-boot-0.9.27.patch: New file. * gnu/local.mk (dist_patch_DATA): Add them.
226 lines
7.4 KiB
Diff
226 lines
7.4 KiB
Diff
Two small patches off the current Mes `wip' branch, that enable using
|
|
Nyacc-0.86.0; and a fix for running ./check.sh.
|
|
|
|
From 9e610736bf779f3295c1192e748cd19cbbe3be28 Mon Sep 17 00:00:00 2001
|
|
From: Jan Nieuwenhuizen <janneke@gnu.org>
|
|
Date: Wed, 5 Sep 2018 20:28:06 +0200
|
|
Subject: [PATCH 1/2] mes: Support Nyacc 0.85.3: Add char-set-copy.
|
|
|
|
* mes/module/srfi/srfi-14.mes (char-set-copy): New function>
|
|
---
|
|
mes/module/srfi/srfi-14.mes | 3 +++
|
|
1 file changed, 3 insertions(+)
|
|
|
|
diff --git a/mes/module/srfi/srfi-14.mes b/mes/module/srfi/srfi-14.mes
|
|
index 0be39b1e..a16d16ce 100644
|
|
--- a/mes/module/srfi/srfi-14.mes
|
|
+++ b/mes/module/srfi/srfi-14.mes
|
|
@@ -52,3 +52,6 @@
|
|
|
|
(define (char-whitespace? c)
|
|
(char-set-contains? char-set:whitespace c))
|
|
+
|
|
+(define (char-set-copy cs)
|
|
+ (map identity cs))
|
|
--
|
|
2.18.0
|
|
|
|
From b952bdf44f11edbfc277600dc35236aae1769b54 Mon Sep 17 00:00:00 2001
|
|
From: Jan Nieuwenhuizen <janneke@gnu.org>
|
|
Date: Wed, 5 Sep 2018 22:14:34 +0200
|
|
Subject: [PATCH 2/2] mes: Support Nyacc 0.85.3: Integrate progress.
|
|
|
|
* mes/module/nyacc/lang/sx-util.mes: New file.
|
|
* mes/module/nyacc/version.mes: New file.
|
|
* mes/module/nyacc/lang/c99/cpp.mes (nyacc): Include them.
|
|
* mes/module/nyacc/lang/c99/parser.mes (nyacc): Include them.
|
|
* module/mescc/preprocess.scm (need-progress): New function.
|
|
(progress): New function.
|
|
(insert-progress-monitors): Use them to Integrate progress.
|
|
---
|
|
mes/module/mescc/preprocess.mes | 1 +
|
|
mes/module/nyacc/lang/c99/cpp.mes | 1 +
|
|
mes/module/nyacc/lang/c99/parser.mes | 1 +
|
|
mes/module/nyacc/lang/sx-util.mes | 27 +++++++++++++++++++++
|
|
mes/module/nyacc/version.mes | 26 +++++++++++++++++++++
|
|
module/mescc/preprocess.scm | 35 ++++++++++++++++++++++++++++
|
|
6 files changed, 91 insertions(+)
|
|
create mode 100644 mes/module/nyacc/lang/sx-util.mes
|
|
create mode 100644 mes/module/nyacc/version.mes
|
|
|
|
diff --git a/mes/module/mescc/preprocess.mes b/mes/module/mescc/preprocess.mes
|
|
index c7c5fcaa..022a372c 100644
|
|
--- a/mes/module/mescc/preprocess.mes
|
|
+++ b/mes/module/mescc/preprocess.mes
|
|
@@ -24,4 +24,5 @@
|
|
(mes-use-module (srfi srfi-13))
|
|
(mes-use-module (srfi srfi-26))
|
|
(mes-use-module (nyacc lang c99 parser))
|
|
+(mes-use-module (nyacc version))
|
|
(include-from-path "mescc/preprocess.scm")
|
|
diff --git a/mes/module/nyacc/lang/c99/cpp.mes b/mes/module/nyacc/lang/c99/cpp.mes
|
|
index fad1dc55..b25c4a93 100644
|
|
--- a/mes/module/nyacc/lang/c99/cpp.mes
|
|
+++ b/mes/module/nyacc/lang/c99/cpp.mes
|
|
@@ -28,5 +28,6 @@
|
|
|
|
(mes-use-module (nyacc parse))
|
|
(mes-use-module (nyacc lex))
|
|
+(mes-use-module (nyacc lang sx-util))
|
|
(mes-use-module (nyacc lang util))
|
|
(include-from-path "nyacc/lang/c99/cpp.scm")
|
|
diff --git a/mes/module/nyacc/lang/c99/parser.mes b/mes/module/nyacc/lang/c99/parser.mes
|
|
index c51552d6..1a9aaf73 100644
|
|
--- a/mes/module/nyacc/lang/c99/parser.mes
|
|
+++ b/mes/module/nyacc/lang/c99/parser.mes
|
|
@@ -32,6 +32,7 @@
|
|
|
|
(mes-use-module (nyacc lex))
|
|
(mes-use-module (nyacc parse))
|
|
+(mes-use-module (nyacc lang sx-util))
|
|
(mes-use-module (nyacc lang util))
|
|
(mes-use-module (nyacc lang c99 cpp))
|
|
|
|
diff --git a/mes/module/nyacc/lang/sx-util.mes b/mes/module/nyacc/lang/sx-util.mes
|
|
new file mode 100644
|
|
index 00000000..41ac5b4a
|
|
--- /dev/null
|
|
+++ b/mes/module/nyacc/lang/sx-util.mes
|
|
@@ -0,0 +1,27 @@
|
|
+;;; -*-scheme-*-
|
|
+
|
|
+;;; GNU Mes --- Maxwell Equations of Software
|
|
+;;; Copyright © 2018 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
|
|
+;;;
|
|
+;;; This file is part of GNU Mes.
|
|
+;;;
|
|
+;;; GNU Mes is free software; you can redistribute it and/or modify it
|
|
+;;; under the terms of the GNU General Public License as published by
|
|
+;;; the Free Software Foundation; either version 3 of the License, or (at
|
|
+;;; your option) any later version.
|
|
+;;;
|
|
+;;; GNU Mes is distributed in the hope that it will be useful, but
|
|
+;;; WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
+;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
+;;; GNU General Public License for more details.
|
|
+;;;
|
|
+;;; You should have received a copy of the GNU General Public License
|
|
+;;; along with GNU Mes. If not, see <http://www.gnu.org/licenses/>.
|
|
+
|
|
+;;; Commentary:
|
|
+
|
|
+;;; Code:
|
|
+
|
|
+(mes-use-module (srfi srfi-1))
|
|
+(mes-use-module (srfi srfi-16))
|
|
+(include-from-path "nyacc/lang/sx-util.scm")
|
|
diff --git a/mes/module/nyacc/version.mes b/mes/module/nyacc/version.mes
|
|
new file mode 100644
|
|
index 00000000..b9db628e
|
|
--- /dev/null
|
|
+++ b/mes/module/nyacc/version.mes
|
|
@@ -0,0 +1,26 @@
|
|
+;;; -*-scheme-*-
|
|
+
|
|
+;;; GNU Mes --- Maxwell Equations of Software
|
|
+;;; Copyright © 2018 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
|
|
+;;;
|
|
+;;; This file is part of GNU Mes.
|
|
+;;;
|
|
+;;; GNU Mes is free software; you can redistribute it and/or modify it
|
|
+;;; under the terms of the GNU General Public License as published by
|
|
+;;; the Free Software Foundation; either version 3 of the License, or (at
|
|
+;;; your option) any later version.
|
|
+;;;
|
|
+;;; GNU Mes is distributed in the hope that it will be useful, but
|
|
+;;; WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
+;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
+;;; GNU General Public License for more details.
|
|
+;;;
|
|
+;;; You should have received a copy of the GNU General Public License
|
|
+;;; along with GNU Mes. If not, see <http://www.gnu.org/licenses/>.
|
|
+
|
|
+;;; Commentary:
|
|
+
|
|
+;;; Code:
|
|
+
|
|
+(include-from-path "nyacc/version.scm")
|
|
+(display "nyacc version\n")
|
|
diff --git a/module/mescc/preprocess.scm b/module/mescc/preprocess.scm
|
|
index 9e341cba..c2efb32c 100644
|
|
--- a/module/mescc/preprocess.scm
|
|
+++ b/module/mescc/preprocess.scm
|
|
@@ -26,9 +26,44 @@
|
|
#:use-module (srfi srfi-1)
|
|
#:use-module (srfi srfi-26)
|
|
#:use-module (nyacc lang c99 parser)
|
|
+ #:use-module (nyacc lang c99 parser)
|
|
+ #:use-module (nyacc version)
|
|
#:use-module (mes guile)
|
|
#:export (c99-input->ast))
|
|
|
|
+(format (current-error-port) "*nyacc-version*=~a\n" *nyacc-version*)
|
|
+;; list of which rules you want progress reported
|
|
+(define need-progress
|
|
+ (assoc-ref
|
|
+ '(("0.85.3" (1 2 3))
|
|
+ ("0.86.0" (1 2 3)))
|
|
+ *nyacc-version*))
|
|
+
|
|
+(define (progress o)
|
|
+ (when (and o (getenv "NYACC_DEBUG"))
|
|
+ (display " :" (current-error-port))
|
|
+ (display o (current-error-port))
|
|
+ (display "\n" (current-error-port))))
|
|
+
|
|
+(define (insert-progress-monitors act-v len-v)
|
|
+ (let ((n (vector-length act-v)))
|
|
+ (let loop ((ix 0))
|
|
+ (when (< ix n)
|
|
+ (if (memq ix need-progress)
|
|
+ (vector-set
|
|
+ act-v ix
|
|
+ (lambda args
|
|
+ (progress (list-ref args (1- (vector-ref len-v ix))))
|
|
+ (apply (vector-ref act-v ix) args))))
|
|
+ (loop (1+ ix))))))
|
|
+
|
|
+(cond-expand
|
|
+ (guile
|
|
+ (insert-progress-monitors (@@ (nyacc lang c99 parser) c99-act-v)
|
|
+ (@@ (nyacc lang c99 parser) c99-len-v)))
|
|
+ (mes
|
|
+ (insert-progress-monitors c99-act-v c99-len-v)))
|
|
+
|
|
(define (logf port string . rest)
|
|
(apply format (cons* port string rest))
|
|
(force-output port)
|
|
--
|
|
2.18.0
|
|
|
|
From 20deefe6ea0d62a3338a8e2a9552d2a20b0f607e Mon Sep 17 00:00:00 2001
|
|
From: Jan Nieuwenhuizen <janneke@gnu.org>
|
|
Date: Sun, 9 Sep 2018 07:11:50 +0200
|
|
Subject: [PATCH] build: Oops, fix ./check.sh for bootstrap build.
|
|
|
|
* build-aux/config.sh (top_builddir): Set default to `.'.
|
|
---
|
|
build-aux/config.sh | 1 +
|
|
1 file changed, 1 insertion(+)
|
|
|
|
diff --git a/build-aux/config.sh b/build-aux/config.sh
|
|
index a4b9fdef..4fa84441 100644
|
|
--- a/build-aux/config.sh
|
|
+++ b/build-aux/config.sh
|
|
@@ -17,6 +17,7 @@
|
|
# along with GNU Mes. If not, see <http://www.gnu.org/licenses/>.
|
|
|
|
srcdir=${srcdir-.}
|
|
+top_builddir=${top_builddir-.}
|
|
if [ "$V" = 2 ]; then
|
|
echo $0
|
|
echo srcdest=${srcdest}
|
|
--
|
|
2.18.0
|
|
|