diff --git a/lab/ypsilon-ffi/gears.scm b/lab/gears.scm similarity index 100% rename from lab/ypsilon-ffi/gears.scm rename to lab/gears.scm diff --git a/lab/ypsilon-ffi/glut-demo.scm b/lab/glut-demo.scm similarity index 100% rename from lab/ypsilon-ffi/glut-demo.scm rename to lab/glut-demo.scm diff --git a/lib/Makefile.am b/lib/Makefile.am index cac397a..d09c41a 100644 --- a/lib/Makefile.am +++ b/lib/Makefile.am @@ -1,5 +1,7 @@ libstreamsdir=$(pkglibdir)/streams dist_libstreams_DATA=streams/primitive.ss streams/derived.ss -dist_pkglib_DATA=streams.ss match.ss pregexp.ss +dist_pkglib_DATA= streams.ss match.ss pregexp.ss gl.ss glut.ss \ + ypsilon-compat.ikarus.ss ypsilon-compat.ypsilon.ss + diff --git a/lib/Makefile.in b/lib/Makefile.in index 7d63eaa..e21a9d8 100644 --- a/lib/Makefile.in +++ b/lib/Makefile.in @@ -160,7 +160,9 @@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ libstreamsdir = $(pkglibdir)/streams dist_libstreams_DATA = streams/primitive.ss streams/derived.ss -dist_pkglib_DATA = streams.ss match.ss pregexp.ss +dist_pkglib_DATA = streams.ss match.ss pregexp.ss gl.ss glut.ss \ + ypsilon-compat.ikarus.ss ypsilon-compat.ypsilon.ss + all: all-am .SUFFIXES: diff --git a/lab/ypsilon-ffi/gl.scm b/lib/gl.ss similarity index 100% rename from lab/ypsilon-ffi/gl.scm rename to lib/gl.ss diff --git a/lab/ypsilon-ffi/glut.scm b/lib/glut.ss similarity index 100% rename from lab/ypsilon-ffi/glut.scm rename to lib/glut.ss diff --git a/lab/ypsilon-ffi/ypsilon-compat.ikarus.ss b/lib/ypsilon-compat.ikarus.ss similarity index 96% rename from lab/ypsilon-ffi/ypsilon-compat.ikarus.ss rename to lib/ypsilon-compat.ikarus.ss index 3ab205d..d62b520 100644 --- a/lab/ypsilon-ffi/ypsilon-compat.ikarus.ss +++ b/lib/ypsilon-compat.ikarus.ss @@ -88,17 +88,21 @@ (check-byte* who (string->utf8 x))] [else (die who "not a char*" x)])) + (define pointer-size + (cond + [(<= (fixnum-width) 32) 4] + [else 8])) (define (check-char** who x) (cond [(and (vector? x) (vector-andmap string? x)) (let ([n (vector-length x)]) - (let ([p (malloc (* n 4))]) + (let ([p (malloc (* n pointer-size))]) (let f ([i 0]) (cond [(= i n) p] [else - (pointer-set-int p (* i 4) + (pointer-set-int p (* i pointer-size) (pointer->integer (check-char* who (vector-ref x i)))) (f (+ i 1))]))))] [else (die who "not a char**" x)])) @@ -233,7 +237,7 @@ (syntax-case x () [(_ function-name argnum argtype argval) (begin - (printf "syntax ~s\n" (syntax->datum x)) + ;(printf "syntax ~s\n" (syntax->datum x)) #'(void))]))) ) diff --git a/lab/ypsilon-ffi/ypsilon-compat.ypsilon.ss b/lib/ypsilon-compat.ypsilon.ss similarity index 100% rename from lab/ypsilon-ffi/ypsilon-compat.ypsilon.ss rename to lib/ypsilon-compat.ypsilon.ss diff --git a/scheme/last-revision b/scheme/last-revision index dc41878..480d250 100644 --- a/scheme/last-revision +++ b/scheme/last-revision @@ -1 +1 @@ -1607 +1610