Extra libraries found in $pkglibdir can now be imported directly.
For example, (import (streams)) just works!
This commit is contained in:
parent
61fe1ce007
commit
a7680d723d
|
@ -4,12 +4,13 @@ EXTRA_DIST=ikarus.boot.orig ikarus.enumerations.ss ikarus.exceptions.ss ikarus.a
|
||||||
|
|
||||||
all: $(nodist_pkglib_DATA)
|
all: $(nodist_pkglib_DATA)
|
||||||
|
|
||||||
ikarus.version.ss: Makefile
|
ikarus.config.ss: Makefile
|
||||||
echo '(define ikarus-version "$(PACKAGE_VERSION)")' >$@
|
echo '(define ikarus-version "$(PACKAGE_VERSION)")' >$@
|
||||||
|
echo '(define ikarus-lib-dir "$(pkglibdir)")' >>$@
|
||||||
|
|
||||||
CLEANFILES=$(nodist_pkglib_DATA) ikarus.version.ss
|
CLEANFILES=$(nodist_pkglib_DATA) ikarus.config.ss
|
||||||
|
|
||||||
ikarus.boot: $(EXTRA_DIST) ikarus.version.ss
|
ikarus.boot: $(EXTRA_DIST) ikarus.config.ss
|
||||||
../src/ikarus -b ./ikarus.boot.orig --r6rs-script makefile.ss
|
../src/ikarus -b ./ikarus.boot.orig --r6rs-script makefile.ss
|
||||||
|
|
||||||
# pkglibdir
|
# pkglibdir
|
||||||
|
|
|
@ -183,7 +183,7 @@ EXTRA_DIST = ikarus.boot.orig ikarus.enumerations.ss \
|
||||||
ikarus/code-objects.ss ikarus/compiler.ss \
|
ikarus/code-objects.ss ikarus/compiler.ss \
|
||||||
ikarus/intel-assembler.ss ikarus/fasl/write.ss \
|
ikarus/intel-assembler.ss ikarus/fasl/write.ss \
|
||||||
unicode/unicode-char-cases.ss unicode/unicode-charinfo.ss
|
unicode/unicode-char-cases.ss unicode/unicode-charinfo.ss
|
||||||
CLEANFILES = $(nodist_pkglib_DATA) ikarus.version.ss
|
CLEANFILES = $(nodist_pkglib_DATA) ikarus.config.ss
|
||||||
all: all-am
|
all: all-am
|
||||||
|
|
||||||
.SUFFIXES:
|
.SUFFIXES:
|
||||||
|
@ -369,10 +369,11 @@ uninstall-am: uninstall-nodist_pkglibDATA
|
||||||
|
|
||||||
all: $(nodist_pkglib_DATA)
|
all: $(nodist_pkglib_DATA)
|
||||||
|
|
||||||
ikarus.version.ss: Makefile
|
ikarus.config.ss: Makefile
|
||||||
echo '(define ikarus-version "$(PACKAGE_VERSION)")' >$@
|
echo '(define ikarus-version "$(PACKAGE_VERSION)")' >$@
|
||||||
|
echo '(define ikarus-lib-dir "$(pkglibdir)")' >>$@
|
||||||
|
|
||||||
ikarus.boot: $(EXTRA_DIST) ikarus.version.ss
|
ikarus.boot: $(EXTRA_DIST) ikarus.config.ss
|
||||||
../src/ikarus -b ./ikarus.boot.orig --r6rs-script makefile.ss
|
../src/ikarus -b ./ikarus.boot.orig --r6rs-script makefile.ss
|
||||||
|
|
||||||
# pkglibdir
|
# pkglibdir
|
||||||
|
|
Binary file not shown.
|
@ -23,7 +23,7 @@
|
||||||
(import (ikarus))
|
(import (ikarus))
|
||||||
(letrec-syntax ([compile-time-string
|
(letrec-syntax ([compile-time-string
|
||||||
(lambda (x)
|
(lambda (x)
|
||||||
(include "ikarus.version.ss")
|
(include "ikarus.config.ss")
|
||||||
ikarus-version)])
|
ikarus-version)])
|
||||||
(define (print-greeting)
|
(define (print-greeting)
|
||||||
(printf "Ikarus Scheme version ~a\n" (compile-time-string))
|
(printf "Ikarus Scheme version ~a\n" (compile-time-string))
|
||||||
|
@ -37,6 +37,10 @@
|
||||||
(import (ikarus)
|
(import (ikarus)
|
||||||
(ikarus greeting)
|
(ikarus greeting)
|
||||||
(only (ikarus load) load-r6rs-top-level))
|
(only (ikarus load) load-r6rs-top-level))
|
||||||
|
(library-path
|
||||||
|
(let ()
|
||||||
|
(include "ikarus.config.ss")
|
||||||
|
(list "." ikarus-lib-dir)))
|
||||||
(let-values ([(files script script-type args)
|
(let-values ([(files script script-type args)
|
||||||
(let f ([args (command-line-arguments)])
|
(let f ([args (command-line-arguments)])
|
||||||
(cond
|
(cond
|
||||||
|
|
|
@ -382,6 +382,7 @@
|
||||||
[pointer-value i]
|
[pointer-value i]
|
||||||
[system i]
|
[system i]
|
||||||
[installed-libraries i]
|
[installed-libraries i]
|
||||||
|
[library-path i]
|
||||||
[current-primitive-locations $boot]
|
[current-primitive-locations $boot]
|
||||||
[boot-library-expand $boot]
|
[boot-library-expand $boot]
|
||||||
[current-library-collection $boot]
|
[current-library-collection $boot]
|
||||||
|
|
|
@ -3400,7 +3400,14 @@
|
||||||
(define (eval-binding x)
|
(define (eval-binding x)
|
||||||
(let ((loc (car x)) (expr (cdr x)))
|
(let ((loc (car x)) (expr (cdr x)))
|
||||||
(cond
|
(cond
|
||||||
(loc (set-symbol-value! loc (eval-core (expanded->core expr))))
|
(loc (set-symbol-value! loc
|
||||||
|
(let ([g (gensym loc)])
|
||||||
|
(eval-core
|
||||||
|
(expanded->core
|
||||||
|
(build-application no-source
|
||||||
|
(build-lambda no-source
|
||||||
|
(list g) g)
|
||||||
|
(list expr)))))))
|
||||||
(else (eval-core (expanded->core expr))))))
|
(else (eval-core (expanded->core expr))))))
|
||||||
(let ((rtc (make-collector))
|
(let ((rtc (make-collector))
|
||||||
(itc (make-collector))
|
(itc (make-collector))
|
||||||
|
|
|
@ -23,7 +23,7 @@
|
||||||
visit-library library-name library-version library-exists?
|
visit-library library-name library-version library-exists?
|
||||||
find-library-by-name install-library library-spec invoke-library
|
find-library-by-name install-library library-spec invoke-library
|
||||||
extend-library-subst! extend-library-env! current-library-expander
|
extend-library-subst! extend-library-env! current-library-expander
|
||||||
current-library-collection)
|
current-library-collection library-path)
|
||||||
(import (rnrs) (psyntax compat) (rnrs r5rs))
|
(import (rnrs) (psyntax compat) (rnrs r5rs))
|
||||||
|
|
||||||
(define (make-collection)
|
(define (make-collection)
|
||||||
|
@ -76,7 +76,6 @@
|
||||||
'(".")
|
'(".")
|
||||||
(lambda (x)
|
(lambda (x)
|
||||||
(if (and (list? x) (for-all string? x))
|
(if (and (list? x) (for-all string? x))
|
||||||
;(map values x)
|
|
||||||
(map (lambda (x) x) x)
|
(map (lambda (x) x) x)
|
||||||
(error 'library-path "not a list of strings" x)))))
|
(error 'library-path "not a list of strings" x)))))
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue