mescc: Resurrect guile-1.8.
authorJan Nieuwenhuizen <janneke@gnu.org>
Wed, 3 Jan 2018 07:33:55 +0000 (08:33 +0100)
committerJan Nieuwenhuizen <janneke@gnu.org>
Wed, 3 Jan 2018 07:33:55 +0000 (08:33 +0100)
* guile/mescc.scm: Use GUILE_LOAD_COMPILED_PATH instead of -C.
  [guile]: Include syncase.
* module/language/c99/compiler.scm [guile]: Stub pretty-print-c99.
  Set stack to unlimited.
* module/language/c99/info.scm [guile]: Include (ice-9 syncase).
* module/mes/as-i386.scm [guile]: Likewise.
* module/mes/guile.scm [guile]: Add compose, export it.

guile/mescc.scm
module/language/c99/compiler.scm
module/language/c99/info.scm
module/mes/as-i386.scm
module/mes/guile.scm

index 5c5fcab83ee07f6c3854021f905822fcb94c9729..ce372e8529257c36d74db5e35a4320bc06813d4b 100755 (executable)
@@ -5,7 +5,8 @@ GUILEDIR=${GUILEDIR-@GUILEDIR@}
 [ "$GODIR" = @"GODIR"@ ] && GODIR=$(dirname $0)
 [ "$GUILEDIR" = @"GUILEDIR"@ ] && GUILEDIR=$(dirname $0)
 export GUILE_AUTO_COMPILE=${GUILE_AUTO_COMPILE-0}
-exec ${GUILE-guile} -L $GUILEDIR -C $GODIR -e '(mescc)' -s "$0" "$@"
+GUILE_LOAD_COMPILED_PATH=$GODIR:$GUILE_LOAD_COMPILED_PATH
+exec ${GUILE-guile} -L $GUILEDIR -e '(mescc)' -s "$0" "$@"
 !#
 
 ;;; Mes --- The Maxwell Equations of Software
@@ -45,6 +46,11 @@ GUILE='~/src/guile-1.8/build/pre-inst-guile --debug -q' guile/mescc.scm
   #:use-module (srfi srfi-26)
   #:export (main))
 
+(cond-expand
+ (guile-2)
+ (guile
+  (use-modules (ice-9 syncase))))
+
 (define %prefix (if (string-prefix? "@PREFIX" "@PREFIX@") (or (getenv "MES_PREFIX") "") "@PREFIX@"))
 (module-define! (resolve-module '(language c99 compiler)) '%prefix %prefix)
 
index c7e8644eea36b7a508334793b9635940e1c0a2fe..552ba1fe8371fe75ecde97c0d8c467d75bbeb670 100644 (file)
@@ -1,7 +1,7 @@
 ;;; -*-scheme-*-
 
 ;;; Mes --- Maxwell Equations of Software
-;;; Copyright © 2016,2017 Jan Nieuwenhuizen <janneke@gnu.org>
+;;; Copyright © 2016,2017,2018 Jan Nieuwenhuizen <janneke@gnu.org>
 ;;;
 ;;; This file is part of Mes.
 ;;;
@@ -29,7 +29,7 @@
   #:use-module (ice-9 optargs)
   #:use-module (ice-9 pretty-print)
   #:use-module (nyacc lang c99 parser)
-  #:use-module (nyacc lang c99 pprint)
+  ;;#:use-module (nyacc lang c99 pprint)
   #:use-module (mes guile)
   #:use-module (mes as)
   #:use-module (mes as-i386)
             info->object))
 
 (cond-expand
- (guile-2)
+ (guile-2
+  (use-modules (nyacc lang c99 pprint)))
  (guile
+  (debug-set! stack 0)
+  (use-modules (ice-9 optargs))
   (use-modules (ice-9 syncase)))
+ ;; guile-1.8 does not have (sxml match), short-circuit me
+ (define* (pretty-print-c99 tree
+                            #:optional (port (current-output-port))
+                            #:key ugly per-line-prefix (basic-offset 2))
+   (write tree port))
  (mes))
 
 (include-from-path "language/c99/compiler.mes")
index 9c001ee4209e8dbbec7fa3c9ce479225b4e99bd2..41f546e88977a7f5d33099cab70af23b520233b4 100644 (file)
@@ -63,7 +63,8 @@
 (cond-expand
  (guile-2)
  (guile
-  (use-modules (ice-9 syncase)))
+  (use-modules (ice-9 syncase))
+  (use-modules (ice-9 optargs)))
  (mes
   (mes-use-module (mes optargs))))
 
index 4df6886454eb513b141a5e6d4a1ff84613c35581..c999be4735b8969a4f9eec823e74125b8501bd2d 100644 (file)
@@ -1,7 +1,7 @@
 ;;; -*-scheme-*-
 
 ;;; Mes --- Maxwell Equations of Software
-;;; Copyright © 2016,2017 Jan Nieuwenhuizen <janneke@gnu.org>
+;;; Copyright © 2016,2017,2018 Jan Nieuwenhuizen <janneke@gnu.org>
 ;;;
 ;;; This file is part of Mes.
 ;;;
             i386:z->accu
             ))
 
+(cond-expand
+ (guile-2)
+ (guile
+  (use-modules (ice-9 syncase)))
+ (mes))
+
 (include-from-path "mes/as-i386.mes")
index ab9f0fb6b542e13deb43751abe1d6ff7a758ce66..8e81a7e3ad5f0bcdaa7be0bbe57758f40bccdd9b 100644 (file)
                #'(include fn))))))))
   (export include-from-path))
  (guile
-  (use-modules (ice-9 syncase)))
+  (use-modules (ice-9 syncase))
+  (define (compose proc . rest)
+  (if (null? rest) proc
+      (lambda args
+        (proc (apply (apply compose rest) args)))))
+  (export compose))
  (mes))