scsh-0.6/scheme/link-packages.scm

87 lines
1.9 KiB
Scheme

; Copyright (c) 1993-1999 by Richard Kelsey and Jonathan Rees. See file COPYING.
; Static linker. Doesn't work very well this way (debug info is
; screwed up), so it's probably better to continue using linker.image
; instead.
(define-structure linker linker-interface
(open scheme-level-2
compiler write-images
debuginfo
segments ;with-fresh-compiler-state
packages
packages-internal ;set-package-integrate?!
names ;name->symbol
scan-package ;collect-packages
compile-packages ;compile-package
reification
closures ;make closure to pass to write-image
filenames
debug-data ;with-fresh-compiler-state
locations
tables fluids signals util)
(files (link link)))
(define-structure reification (export reify-structures)
(open scheme-level-2
packages
packages-internal ;?
usual-macros ;find-free-names-in-syntax-rules
names bindings
meta-types ;usual-variable-type
locations
primops
tables records
signals ;error
features ;force-output
util ;filter
inline) ;name->extrinsic
(files (link reify)))
; Database of procedure names 'n' stuff.
; (copy in more-packages.scm ...)
(define-structure debuginfo debuginfo-interface
(open scheme-level-2
tables
debug-data
packages
packages-internal
syntactic
segments ;debug-data-table
features) ;make-immutable!
(files (env debuginfo)))
; Mumble.
(define-structure flatloading (export flatload all-file-names)
(open scheme packages packages-internal filenames)
(files (env flatload)))
(define-structure loadc (export load-configuration
;; (structure-ref :syntax)
)
(open scheme
environments ; *structure-ref
syntactic ; $source-file-name
fluids)
(files (link loadc)))
; Everything.
(define-structure link-config (export ) ;dummy structure...
(open scheme-level-2
linker
defpackage
types
analysis
loadc
flatloading
interfaces
signals) ;warn
;; (files (alt init-defpackage.scm)) -- or (env ...), depending
)