build: Resurrect guile-2.0. Thanks rain1!

* module/mes/guile.scm: New file.
* module/mes/elf.scm: Include it.
* module/mes/bytevectors.scm: : Include it.
* module/mes/as.scm: Include it.
* module/mes/as-i386.scm: Include it.
* module/mes/M1.scm: Include it.
* module/language/c99/compiler.scm: Include it.
* make.scm: Update.
This commit is contained in:
Jan Nieuwenhuizen 2017-07-22 00:29:57 +02:00
parent 822d0df889
commit 1bddb52c75
8 changed files with 58 additions and 6 deletions

View file

@ -1,7 +1,6 @@
#! /bin/sh #! /bin/sh
# -*- scheme -*- # -*- scheme -*-
#exec ${GUILE-guile} --no-auto-compile -L . -L guile -C . -C guile -s "$0" ${1+"$@"} exec ${GUILE-guile} --no-auto-compile -L . -L guile -C . -C guile -s "$0" ${1+"$@"}
exec ${GUILE-guile} -L . -L guile -C . -C guile -s "$0" ${1+"$@"}
!# !#
(use-modules (srfi srfi-26)) (use-modules (srfi srfi-26))
@ -23,8 +22,8 @@ exec ${GUILE-guile} -L . -L guile -C . -C guile -s "$0" ${1+"$@"}
(setenv "host" %host-type) (setenv "host" %host-type)
(apply system* `("guile" (apply system* `("guile"
"--no-auto-compile" "--no-auto-compile"
"-L" "." "-L" "guile" "-L" "."
"-C" "." "-C" "guile" "-C" "."
"-s" "-s"
"build-aux/compile-all.scm" "build-aux/compile-all.scm"
,@scm-files))) ,@scm-files)))

View file

@ -28,12 +28,13 @@
#:use-module (system base pmatch) #:use-module (system base pmatch)
#:use-module (ice-9 optargs) #:use-module (ice-9 optargs)
#:use-module (ice-9 pretty-print) #:use-module (ice-9 pretty-print)
#:use-module (nyacc lang c99 parser)
#:use-module (nyacc lang c99 pprint)
#:use-module (mes guile)
#:use-module (mes as) #:use-module (mes as)
#:use-module (mes as-i386) #:use-module (mes as-i386)
#:use-module (mes elf) #:use-module (mes elf)
#:use-module (mes M1) #:use-module (mes M1)
#:use-module (nyacc lang c99 parser)
#:use-module (nyacc lang c99 pprint)
#:export (c99-ast->info #:export (c99-ast->info
c99-input->ast c99-input->ast
c99-input->elf c99-input->elf

View file

@ -26,6 +26,7 @@
#:use-module (srfi srfi-1) #:use-module (srfi srfi-1)
#:use-module (srfi srfi-26) #:use-module (srfi srfi-26)
#:use-module (system base pmatch) #:use-module (system base pmatch)
#:use-module (mes guile)
#:use-module (mes as) #:use-module (mes as)
#:use-module (mes elf) #:use-module (mes elf)
#:export (object->M1 #:export (object->M1

View file

@ -25,6 +25,7 @@
;;; Code: ;;; Code:
(define-module (mes as-i386) (define-module (mes as-i386)
#:use-module (mes guile)
#:use-module (mes as) #:use-module (mes as)
#:export ( #:export (
i386:accu-not i386:accu-not

View file

@ -24,6 +24,7 @@
(define-module (mes as) (define-module (mes as)
#:use-module (srfi srfi-1) #:use-module (srfi srfi-1)
#:use-module (mes guile)
#:use-module (mes bytevectors) #:use-module (mes bytevectors)
#:export (dec->hex #:export (dec->hex
int->bv16 int->bv16

View file

@ -23,6 +23,7 @@
;;; Code: ;;; Code:
(define-module (mes bytevectors) (define-module (mes bytevectors)
#:use-module (mes guile)
#:export (bytevector-u32-native-set! #:export (bytevector-u32-native-set!
bytevector-u16-native-set! bytevector-u16-native-set!
make-bytevector)) make-bytevector))

View file

@ -23,6 +23,7 @@
;;; Code: ;;; Code:
(define-module (mes elf) (define-module (mes elf)
#:use-module (mes guile)
#:export (M1->elf)) #:export (M1->elf))
(cond-expand (cond-expand

47
module/mes/guile.scm Normal file
View file

@ -0,0 +1,47 @@
;;; -*-scheme-*-
;;; Mes --- Maxwell Equations of Software
;;; Copyright © 2017 Jan Nieuwenhuizen <janneke@gnu.org>
;;;
;;; This file is part of Mes.
;;;
;;; 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.
;;;
;;; 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 Mes. If not, see <http://www.gnu.org/licenses/>.
;;; Commentary:
;;; Code:
(define-module (mes guile))
(cond-expand
(guile-2.2)
(guile-2
(eval-when (compile load eval)
(define-syntax include-from-path
(lambda (x)
(syntax-case x ()
((k filename)
(let ((fn (syntax->datum #'filename)))
(with-syntax ((fn (datum->syntax
#'filename
(canonicalize-path
(or (%search-load-path fn)
(syntax-violation 'include-from-path
"file not found in path"
x #'filename))))))
#'(include fn))))))))
(export include-from-path))
(guile
(use-modules (ice-9 syncase)))
(mes))