RFC: fixup.scm -> guile.scm, update sid

Jim Blandy <[email protected]>
Newsgroups gmane.comp.emulators.sid.devel,gmane.comp.tools.cgen.devel
Message-ID <[email protected]>
I need review from both SID and CGEN folks for this.

cgen/ChangeLog:
2005-02-02  Jim Blandy  <[email protected]>

	* 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  <[email protected]>

	* 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.

Index: sid/component/cgen-cpu/CGEN.sh.in
===================================================================
RCS file: /cvs/src/src/sid/component/cgen-cpu/CGEN.sh.in,v
retrieving revision 1.4
diff -c -p -r1.4 CGEN.sh.in
*** sid/component/cgen-cpu/CGEN.sh.in	8 Sep 2003 18:55:35 -0000	1.4
--- sid/component/cgen-cpu/CGEN.sh.in	2 Feb 2005 23:17:16 -0000
*************** then
*** 68,74 ****
  else
      cgen=guile
  fi
! 
  
  rm -f tmp-desc-$$.h1 tmp-desc-$$.h
  rm -f tmp-cpu-$$.h1 tmp-cpu-$$.h
--- 68,74 ----
  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
*************** do
*** 96,102 ****
      esac
  done
  
! ${cgen} -s ${cgendir}/cgen-sid.scm \
  	-s ${cgendir} \
  	${cgenflags} \
  	-f "${archflags}" \
--- 96,102 ----
      esac
  done
  
! ${cgen} ${cgendir}/cgen-sid.scm \
  	-s ${cgendir} \
  	${cgenflags} \
  	-f "${archflags}" \
Index: sid/component/cgen-cpu/ChangeLog
===================================================================
RCS file: /cvs/src/src/sid/component/cgen-cpu/ChangeLog,v
retrieving revision 1.52
diff -c -p -r1.52 ChangeLog
*** sid/component/cgen-cpu/ChangeLog	25 Jun 2004 17:44:35 -0000	1.52
--- sid/component/cgen-cpu/ChangeLog	2 Feb 2005 23:17:16 -0000
***************
*** 1,3 ****
--- 1,8 ----
+ 2005-02-02  Jim Blandy  <[email protected]>
+ 
+ 	* 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  <[email protected]>
  
  	* tracedis.cxx (register_name): Add parameter for the cgen MACH. Save
Index: cgen/cgen-sid.scm
===================================================================
RCS file: /cvs/src/src/cgen/cgen-sid.scm,v
retrieving revision 1.3
diff -c -p -r1.3 cgen-sid.scm
*** cgen/cgen-sid.scm	8 Sep 2003 17:17:22 -0000	1.3
--- cgen/cgen-sid.scm	2 Feb 2005 23:17:21 -0000
***************
*** 10,18 ****
  ; 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"))
--- 10,15 ----
Index: cgen/guile.scm
===================================================================
RCS file: cgen/guile.scm
diff -N cgen/guile.scm
*** cgen/guile.scm	1 Jan 1970 00:00:00 -0000
--- cgen/guile.scm	2 Feb 2005 23:17:21 -0000
***************
*** 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!)
+ )
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.