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
	
	 Abdulaziz Ghuloum
						Abdulaziz Ghuloum