From 78ed1bc7f52e392b2ff3e4e9bec029a7849c6f94 Mon Sep 17 00:00:00 2001 From: jimb Date: Mon, 7 Feb 2005 18:51:31 +0000 Subject: [PATCH] cgen/ChangeLog: 2005-02-07 Jim Blandy * guile.scm: New file, containing Guile-specific definitions and adaptations. This is loaded by the app-specific shell scripts. Initially identical to fixup.scm. * cgen-sid.scm: Don't load fixup.scm here. sid/component/cgen-cpu/ChangeLog: 2005-02-02 Jim Blandy * CGEN.sh.in: Request on the command line that cgen/guile.scm be loaded before cgen-sid.scm; cgen-sid.scm no longer loads fixup.scm. --- cgen/ChangeLog | 5 ++++ cgen/cgen-sid.scm | 3 -- cgen/guile.scm | 59 +++++++++++++++++++++++++++++++++++++++ sid/component/cgen-cpu/CGEN.sh.in | 4 +-- sid/component/cgen-cpu/ChangeLog | 5 ++++ 5 files changed, 71 insertions(+), 5 deletions(-) create mode 100644 cgen/guile.scm diff --git a/cgen/ChangeLog b/cgen/ChangeLog index be71879f6f..02edcf0cc3 100644 --- a/cgen/ChangeLog +++ b/cgen/ChangeLog @@ -1,5 +1,10 @@ 2005-02-07 Jim Blandy + * guile.scm: New file, containing Guile-specific definitions and + adaptations. This is loaded by the app-specific shell scripts. + Initially identical to fixup.scm. + * cgen-sid.scm: Don't load fixup.scm here. + * cos.scm: Profile elm-xset! when requested, not elm-set!; the latter is a macro. diff --git a/cgen/cgen-sid.scm b/cgen/cgen-sid.scm index 7a00cc5962..50a32d12fc 100644 --- a/cgen/cgen-sid.scm +++ b/cgen/cgen-sid.scm @@ -10,9 +10,6 @@ ; Load the various support routines. (define (load-files srcdir) - ; Fix up Scheme to be what we use (guile is always in flux). - (primitive-load-path (string-append srcdir "/fixup.scm")) - (load (string-append srcdir "/read.scm")) (load (string-append srcdir "/utils-sim.scm")) (load (string-append srcdir "/sid.scm")) diff --git a/cgen/guile.scm b/cgen/guile.scm new file mode 100644 index 0000000000..23d98f725b --- /dev/null +++ b/cgen/guile.scm @@ -0,0 +1,59 @@ +; Guile-specific functions. +; Copyright (C) 2000, 2004 Red Hat, Inc. +; This file is part of CGEN. +; See file COPYING.CGEN for details. + +(define *guile-major-version* (string->number (major-version))) +(define *guile-minor-version* (string->number (minor-version))) + +; eval takes a module argument in 1.6 and later + +(if (or (> *guile-major-version* 1) + (>= *guile-minor-version* 6)) + (define (eval1 expr) + (eval expr (current-module))) + (define (eval1 expr) + (eval expr)) +) + +; symbol-bound? is deprecated in 1.6 + +(if (or (> *guile-major-version* 1) + (>= *guile-minor-version* 6)) + (define (symbol-bound? table s) + (if table + (error "must pass #f for symbol-bound? first arg")) + ; FIXME: Not sure this is 100% correct. + (module-defined? (current-module) s)) +) + +(if (symbol-bound? #f 'load-from-path) + (begin + (define (load file) + (begin + ;(load-from-path file) + (primitive-load-path file) + )) + ) +) + +; FIXME: to be deleted +(define =? =) +(define >=? >=) + +(if (not (symbol-bound? #f '%stat)) + (begin + (define %stat stat) + ) +) + +(if (symbol-bound? #f 'debug-enable) + (debug-enable 'backtrace) +) + +; Guile 1.3 has reverse!, Guile 1.2 has list-reverse!. +; CGEN uses reverse! +(if (and (not (symbol-bound? #f 'reverse!)) + (symbol-bound? #f 'list-reverse!)) + (define reverse! list-reverse!) +) diff --git a/sid/component/cgen-cpu/CGEN.sh.in b/sid/component/cgen-cpu/CGEN.sh.in index ca7e9f6b40..b115344a9d 100644 --- a/sid/component/cgen-cpu/CGEN.sh.in +++ b/sid/component/cgen-cpu/CGEN.sh.in @@ -68,7 +68,7 @@ then else cgen=guile fi - +cgen="${cgen} -l ${cgendir}/guile.scm -s" rm -f tmp-desc-$$.h1 tmp-desc-$$.h rm -f tmp-cpu-$$.h1 tmp-cpu-$$.h @@ -96,7 +96,7 @@ do esac done -${cgen} -s ${cgendir}/cgen-sid.scm \ +${cgen} ${cgendir}/cgen-sid.scm \ -s ${cgendir} \ ${cgenflags} \ -f "${archflags}" \ diff --git a/sid/component/cgen-cpu/ChangeLog b/sid/component/cgen-cpu/ChangeLog index aa13427d9c..d097f68a6b 100644 --- a/sid/component/cgen-cpu/ChangeLog +++ b/sid/component/cgen-cpu/ChangeLog @@ -1,3 +1,8 @@ +2005-02-02 Jim Blandy + + * CGEN.sh.in: Request on the command line that cgen/guile.scm be + loaded before cgen-sid.scm; cgen-sid.scm no longer loads fixup.scm. + 2004-06-25 Dave Brolley * tracedis.cxx (register_name): Add parameter for the cgen MACH. Save -- 2.11.0