Added some more implementations to test
This commit is contained in:
parent
8b0057474e
commit
e1f9b60787
|
|
@ -5,4 +5,8 @@ docuptmp
|
||||||
*.so
|
*.so
|
||||||
*.o
|
*.o
|
||||||
*.meta
|
*.meta
|
||||||
|
*.link
|
||||||
old
|
old
|
||||||
|
retropikzel.*
|
||||||
|
test/import
|
||||||
|
test/pffi-define
|
||||||
|
|
|
||||||
40
Makefile
40
Makefile
|
|
@ -4,17 +4,20 @@ CHICKEN_INSTALL_REPOSITORY=${HOME}/.local/share/chicken
|
||||||
ENV_CHICKEN_REPOSITORY_PATH=${CHICKEN_REPOSITORY_PATH}
|
ENV_CHICKEN_REPOSITORY_PATH=${CHICKEN_REPOSITORY_PATH}
|
||||||
|
|
||||||
|
|
||||||
VERSION=v0.1.0
|
VERSION=v0-1-0
|
||||||
SASH=sash -c -r7 -L .
|
SASH=sash -c -r7 -L .
|
||||||
GUILE=GUILE_AUTO_COMPILE=0 guile --no-auto-compile --fresh-auto-compile --r7rs -L .
|
GUILE=GUILE_AUTO_COMPILE=0 guile --no-auto-compile --fresh-auto-compile --r7rs -L .
|
||||||
RACKET=racket -I r7rs --make -S $(shell pwd) --script
|
RACKET=racket -I r7rs --make -S $(shell pwd) --script
|
||||||
STKLOS=STKLOS_FRAMES=200 stklos -A . --compiler-flags='+line-info,+time-display,unroll-iterations=3' -f
|
STKLOS=STKLOS_FRAMES=200 stklos -A . --compiler-flags='+line-info,+time-display,unroll-iterations=3' -f
|
||||||
KAWA=java --add-exports java.base/jdk.internal.foreign.abi=ALL-UNNAMED --add-exports java.base/jdk.internal.foreign.layout=ALL-UNNAMED --add-exports java.base/jdk.internal.foreign=ALL-UNNAMED --enable-native-access=ALL-UNNAMED --enable-preview -jar kawa.jar --r7rs --full-tailcalls -Dkawa.import.path=".."
|
KAWA=java --add-exports java.base/jdk.internal.foreign.abi=ALL-UNNAMED --add-exports java.base/jdk.internal.foreign.layout=ALL-UNNAMED --add-exports java.base/jdk.internal.foreign=ALL-UNNAMED --enable-native-access=ALL-UNNAMED --enable-preview -jar kawa.jar --r7rs --full-tailcalls -Dkawa.import.path=".."
|
||||||
CYCLONE=cyclone -t -A .
|
CYCLONE=cyclone -t -A .
|
||||||
GAMBIT=gsc -:r7rs,search=$(shell pwd) test/
|
GAMBIT=gsc -:r7rs .
|
||||||
CHICKEN=CHICKEN_INCLUDE_PATH=$(shell pwd):$(shell pwd)/retropikzel/pffi/v0.1.0/ CHICKEN_REPOSITORY_PATH=${ENV_CHICKEN_REPOSITORY_PATH}:${CHICKEN_INSTALL_REPOSITORY} csc -X r7rs -R r7rs
|
CHICKEN_ENV=CHICKEN_REPOSITORY_PATH=${ENV_CHICKEN_REPOSITORY_PATH}:${CHICKEN_INSTALL_REPOSITORY}:$(shell pwd) CHICKEN_INCLUDE_PATH=$(shell pwd) LD_LIBRARY_PATH=${GUIX_ENVIRONMENT}/lib
|
||||||
|
CHICKEN=${CHICKEN_ENV} csc -X r7rs -R r7rs -sJ
|
||||||
|
CHICKEN_I=${CHICKEN_ENV} csi -R r7rs -s
|
||||||
|
GERBIL=gxc -exe -prelude :scheme/r7rs
|
||||||
|
|
||||||
build: build-rkt build-main-scm
|
build: build-rkt build-main-scm build-main-chicken
|
||||||
|
|
||||||
chicken-install:
|
chicken-install:
|
||||||
mkdir -p ${CHICKEN_INSTALL_REPOSITORY}
|
mkdir -p ${CHICKEN_INSTALL_REPOSITORY}
|
||||||
|
|
@ -29,6 +32,21 @@ build-rkt:
|
||||||
build-main-scm:
|
build-main-scm:
|
||||||
cp retropikzel/pffi/${VERSION}/main.sld retropikzel/pffi/${VERSION}/main.scm
|
cp retropikzel/pffi/${VERSION}/main.sld retropikzel/pffi/${VERSION}/main.scm
|
||||||
|
|
||||||
|
build-main-chicken:
|
||||||
|
cp retropikzel/pffi/${VERSION}/main.sld retropikzel/pffi/${VERSION}/retropikzel.pffi.${VERSION}.main.scm
|
||||||
|
cp retropikzel/pffi/${VERSION}/chicken.scm retropikzel/pffi/${VERSION}/retropikzel.pffi.${VERSION}.chicken.scm
|
||||||
|
cp retropikzel/pffi/${VERSION}/main.sld retropikzel.pffi.${VERSION}.main.scm
|
||||||
|
cp retropikzel/pffi/${VERSION}/chicken.scm retropikzel.pffi.${VERSION}.chicken.scm
|
||||||
|
#${CHICKEN} -o retropikzel/pffi/${VERSION}/retropikzel.pffi.${VERSION}.chicken.so \
|
||||||
|
#retropikzel/pffi/${VERSION}/retropikzel.pffi.${VERSION}.chicken.scm
|
||||||
|
#${CHICKEN} -o retropikzel/pffi/${VERSION}/retropikzel.pffi.${VERSION}.main.so \
|
||||||
|
#retropikzel/pffi/${VERSION}/retropikzel.pffi.${VERSION}.main.scm
|
||||||
|
#${CHICKEN} -o retropikzel.pffi.${VERSION}.chicken.so retropikzel.pffi.${VERSION}.chicken.scm
|
||||||
|
#${CHICKEN} -o retropikzel.pffi.${VERSION}.main.so retropikzel.pffi.${VERSION}.main.scm
|
||||||
|
${CHICKEN} retropikzel.pffi.${VERSION}.chicken.scm
|
||||||
|
${CHICKEN} retropikzel.pffi.${VERSION}.main.scm
|
||||||
|
cp *.so test/
|
||||||
|
|
||||||
update-documentation:
|
update-documentation:
|
||||||
schubert document
|
schubert document
|
||||||
mkdir -p docutmp
|
mkdir -p docutmp
|
||||||
|
|
@ -48,20 +66,22 @@ test/import.scm: clean build
|
||||||
#${RACKET} $@
|
#${RACKET} $@
|
||||||
${STKLOS} $@
|
${STKLOS} $@
|
||||||
${KAWA} $@
|
${KAWA} $@
|
||||||
${CYCLONE} $@ && test/import
|
#${CYCLONE} $@ && test/import
|
||||||
#${GAMBIT} $@
|
#${GAMBIT} $@
|
||||||
#${CHICKEN} $@
|
#${CHICKEN} $@
|
||||||
|
#${GERBIL} $@
|
||||||
|
|
||||||
|
test/import.scm: clean build
|
||||||
|
${CHICKEN_I} test/import.scm
|
||||||
|
${CHICKEN} -o test/import $@ && ${CHICKEN_ENV} test/import
|
||||||
|
|
||||||
test/pffi-define.scm: clean build
|
test/pffi-define.scm: clean build
|
||||||
${SASH} $@
|
${SASH} $@
|
||||||
${GUILE} $@
|
${GUILE} $@
|
||||||
#${RACKET} $@
|
|
||||||
#${STKLOS} $@
|
|
||||||
${KAWA} $@
|
${KAWA} $@
|
||||||
#${CYCLONE} $@ && test/pffi-define
|
|
||||||
|
|
||||||
test/pffi-define.scm: build
|
#test/pffi-define.scm: clean build
|
||||||
${CYCLONE} $@ && test/pffi-define
|
#${CYCLONE} $@ && test/pffi-define
|
||||||
|
|
||||||
test/size-of.scm:
|
test/size-of.scm:
|
||||||
${SASH} $@
|
${SASH} $@
|
||||||
|
|
|
||||||
|
|
@ -27,3 +27,7 @@ For bugs you can use the
|
||||||
- Will only work on nodejs
|
- Will only work on nodejs
|
||||||
|
|
||||||
|
|
||||||
|
## Hacking
|
||||||
|
|
||||||
|
main.sld is the real main which is copied to other suffixes like .scm and .rkt.
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
((packager . "retropikzel")
|
((packager . "retropikzel")
|
||||||
(name . "pffi")
|
(name . "pffi")
|
||||||
(version . "v0.1.0")
|
(version . "v0-1-0")
|
||||||
(type . "library")
|
(type . "library")
|
||||||
(description . "Portable Foreign Function Interface for R7RS schemes")
|
(description . "Portable Foreign Function Interface for R7RS schemes")
|
||||||
(license . "LGPL")
|
(license . "LGPL")
|
||||||
|
|
|
||||||
|
|
@ -8,6 +8,7 @@
|
||||||
"gambit-c"
|
"gambit-c"
|
||||||
"chicken"
|
"chicken"
|
||||||
"chibi-scheme"
|
"chibi-scheme"
|
||||||
|
"gerbil"
|
||||||
"openjdk"
|
"openjdk"
|
||||||
"curl"
|
"curl"
|
||||||
"sdl2"
|
"sdl2"
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
(define-library
|
(define-library
|
||||||
(retropikzel pffi v0.1.0 chibi)
|
(retropikzel pffi v0-1-0 chibi)
|
||||||
(import (scheme base)
|
(import (scheme base)
|
||||||
(scheme write)
|
(scheme write)
|
||||||
(scheme file)
|
(scheme file)
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
(define-library
|
(define-library
|
||||||
(retropikzel pffi v0.1.0 chicken)
|
(retropikzel pffi v0-1-0 chicken)
|
||||||
(import (scheme base)
|
(import (scheme base)
|
||||||
(scheme write)
|
(scheme write)
|
||||||
(scheme file)
|
(scheme file)
|
||||||
|
|
@ -33,7 +33,6 @@
|
||||||
((pffi-define scheme-name shared-object c-name return-type argument-types)
|
((pffi-define scheme-name shared-object c-name return-type argument-types)
|
||||||
(error "Not defined"))))
|
(error "Not defined"))))
|
||||||
|
|
||||||
|
|
||||||
(define pffi-size-of
|
(define pffi-size-of
|
||||||
(lambda (type)
|
(lambda (type)
|
||||||
(error "Not defined")))
|
(error "Not defined")))
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
(define-library
|
(define-library
|
||||||
(retropikzel pffi v0.1.0 cyclone)
|
(retropikzel pffi v0-1-0 cyclone)
|
||||||
(import (scheme base)
|
(import (scheme base)
|
||||||
(scheme write)
|
(scheme write)
|
||||||
(scheme file)
|
(scheme file)
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
(define-library
|
(define-library
|
||||||
(retropikzel pffi v0.1.0 empty)
|
(retropikzel pffi v0-1-0 empty)
|
||||||
(import (scheme base)
|
(import (scheme base)
|
||||||
(scheme write)
|
(scheme write)
|
||||||
(scheme file)
|
(scheme file)
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
(define-library
|
(define-library
|
||||||
(retropikzel pffi v0.1.0 gambit)
|
(retropikzel pffi v0-1-0 gambit)
|
||||||
(import (scheme base)
|
(import (scheme base)
|
||||||
(scheme write)
|
(scheme write)
|
||||||
(scheme file)
|
(scheme file)
|
||||||
|
|
@ -0,0 +1,84 @@
|
||||||
|
(define-library
|
||||||
|
(retropikzel pffi v0-1-0 gerbil)
|
||||||
|
(import (scheme base)
|
||||||
|
(scheme write)
|
||||||
|
(scheme file)
|
||||||
|
(scheme process-context))
|
||||||
|
(export pffi-shared-object-load
|
||||||
|
pffi-define
|
||||||
|
pffi-size-of
|
||||||
|
pffi-pointer-allocate
|
||||||
|
pffi-pointer-null
|
||||||
|
pffi-string->pointer
|
||||||
|
pffi-pointer->string
|
||||||
|
pffi-pointer->bytevector
|
||||||
|
pffi-pointer-free
|
||||||
|
pffi-pointer?
|
||||||
|
pffi-pointer-null?
|
||||||
|
pffi-pointer-set!
|
||||||
|
pffi-pointer-get
|
||||||
|
pffi-pointer-deref)
|
||||||
|
(begin
|
||||||
|
|
||||||
|
(define pffi-type->native-type
|
||||||
|
(lambda (type)
|
||||||
|
(error "Not defined")))
|
||||||
|
|
||||||
|
(define pffi-pointer?
|
||||||
|
(lambda (object)
|
||||||
|
(error "Not defined")))
|
||||||
|
|
||||||
|
(define-syntax pffi-define
|
||||||
|
(syntax-rules ()
|
||||||
|
((pffi-define scheme-name shared-object c-name return-type argument-types)
|
||||||
|
(error "Not defined"))))
|
||||||
|
|
||||||
|
|
||||||
|
(define pffi-size-of
|
||||||
|
(lambda (type)
|
||||||
|
(error "Not defined")))
|
||||||
|
|
||||||
|
(define pffi-pointer-allocate
|
||||||
|
(lambda (size)
|
||||||
|
(error "Not defined")))
|
||||||
|
|
||||||
|
(define pffi-pointer-null
|
||||||
|
(lambda ()
|
||||||
|
(error "Not defined")))
|
||||||
|
|
||||||
|
(define pffi-string->pointer
|
||||||
|
(lambda (string-content)
|
||||||
|
(error "Not defined")))
|
||||||
|
|
||||||
|
(define pffi-pointer->string
|
||||||
|
(lambda (pointer)
|
||||||
|
pointer))
|
||||||
|
|
||||||
|
(define pffi-pointer->bytevector
|
||||||
|
(lambda (pointer size)
|
||||||
|
(error "Not defined")))
|
||||||
|
|
||||||
|
(define pffi-shared-object-load
|
||||||
|
(lambda (header path)
|
||||||
|
(error "Not defined")))
|
||||||
|
|
||||||
|
(define pffi-pointer-free
|
||||||
|
(lambda (pointer)
|
||||||
|
(error "Not defined")))
|
||||||
|
|
||||||
|
(define pffi-pointer-null?
|
||||||
|
(lambda (pointer)
|
||||||
|
(error "Not defined")))
|
||||||
|
|
||||||
|
(define pffi-pointer-set!
|
||||||
|
(lambda (pointer type offset value)
|
||||||
|
(let ((p pointer))
|
||||||
|
(error "Not defined"))))
|
||||||
|
|
||||||
|
(define pffi-pointer-get
|
||||||
|
(lambda (pointer type offset)
|
||||||
|
(error "Not defined")))
|
||||||
|
|
||||||
|
(define pffi-pointer-deref
|
||||||
|
(lambda (pointer)
|
||||||
|
(error "Not defined")))))
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
(define-library
|
(define-library
|
||||||
(retropikzel pffi v0.1.0 guile)
|
(retropikzel pffi v0-1-0 guile)
|
||||||
(import (scheme base)
|
(import (scheme base)
|
||||||
(scheme write)
|
(scheme write)
|
||||||
(scheme file)
|
(scheme file)
|
||||||
|
|
@ -3,33 +3,33 @@
|
||||||
|
|
||||||
;> ## Procedures
|
;> ## Procedures
|
||||||
(define-library
|
(define-library
|
||||||
(retropikzel pffi v0.1.0 main)
|
(retropikzel pffi v0-1-0 main)
|
||||||
(cond-expand
|
(cond-expand
|
||||||
(sagittarius
|
(sagittarius
|
||||||
(import (scheme base)
|
(import (scheme base)
|
||||||
(scheme write)
|
(scheme write)
|
||||||
(scheme file)
|
(scheme file)
|
||||||
(scheme process-context)
|
(scheme process-context)
|
||||||
(retropikzel pffi v0.1.0 sagittarius)))
|
(retropikzel pffi v0-1-0 sagittarius)))
|
||||||
(guile
|
(guile
|
||||||
(import (scheme base)
|
(import (scheme base)
|
||||||
(scheme write)
|
(scheme write)
|
||||||
(scheme file)
|
(scheme file)
|
||||||
(scheme process-context)
|
(scheme process-context)
|
||||||
(retropikzel pffi v0.1.0 guile)))
|
(retropikzel pffi v0-1-0 guile)))
|
||||||
(racket
|
(racket
|
||||||
(import (scheme base)
|
(import (scheme base)
|
||||||
(scheme write)
|
(scheme write)
|
||||||
(scheme file)
|
(scheme file)
|
||||||
(scheme process-context)
|
(scheme process-context)
|
||||||
(retropikzel pffi v0.1.0 racket)))
|
(retropikzel pffi v0-1-0 racket)))
|
||||||
(stklos
|
(stklos
|
||||||
(import (scheme base)
|
(import (scheme base)
|
||||||
(scheme write)
|
(scheme write)
|
||||||
(scheme file)
|
(scheme file)
|
||||||
(scheme process-context)
|
(scheme process-context)
|
||||||
(stklos)
|
(stklos)
|
||||||
(retropikzel pffi v0.1.0 stklos)))
|
(retropikzel pffi v0-1-0 stklos)))
|
||||||
(kawa
|
(kawa
|
||||||
(import (scheme base)
|
(import (scheme base)
|
||||||
(scheme write)
|
(scheme write)
|
||||||
|
|
@ -40,25 +40,25 @@
|
||||||
(scheme write)
|
(scheme write)
|
||||||
(scheme file)
|
(scheme file)
|
||||||
(scheme process-context)
|
(scheme process-context)
|
||||||
(retropikzel pffi v0.1.0 cyclone)))
|
(retropikzel pffi v0-1-0 cyclone)))
|
||||||
(gambit
|
(gambit
|
||||||
(import (scheme base)
|
(import (scheme base)
|
||||||
(scheme write)
|
(scheme write)
|
||||||
(scheme file)
|
(scheme file)
|
||||||
(scheme process-context)
|
(scheme process-context)
|
||||||
(retropikzel pffi v0.1.0 gambit)))
|
(retropikzel pffi v0-1-0 gambit)))
|
||||||
(chicken
|
(chicken
|
||||||
(import (scheme base)
|
(import (scheme base)
|
||||||
(scheme write)
|
(scheme write)
|
||||||
(scheme file)
|
(scheme file)
|
||||||
(scheme process-context)
|
(scheme process-context)
|
||||||
(retropikzel pffi v0.1.0 chicken)))
|
(retropikzel pffi v0-1-0 chicken)))
|
||||||
(chibi
|
(chibi
|
||||||
(import (scheme base)
|
(import (scheme base)
|
||||||
(scheme write)
|
(scheme write)
|
||||||
(scheme file)
|
(scheme file)
|
||||||
(scheme process-context)
|
(scheme process-context)
|
||||||
(retropikzel pffi v0.1.0 chibi))))
|
(retropikzel pffi v0-1-0 chibi))))
|
||||||
(export pffi-shared-object-auto-load
|
(export pffi-shared-object-auto-load
|
||||||
pffi-shared-object-load
|
pffi-shared-object-load
|
||||||
pffi-define
|
pffi-define
|
||||||
|
|
@ -78,7 +78,7 @@
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
(define library-version "v0.1.0")
|
(define library-version "v0-1-0")
|
||||||
|
|
||||||
;> ## Procedures
|
;> ## Procedures
|
||||||
|
|
||||||
|
|
@ -238,6 +238,5 @@
|
||||||
shared-object)))))))
|
shared-object)))))))
|
||||||
|
|
||||||
(cond-expand
|
(cond-expand
|
||||||
(kawa
|
(kawa (include "kawa.scm"))
|
||||||
(include "kawa.scm"))
|
|
||||||
(else #t))))
|
(else #t))))
|
||||||
|
|
@ -2,33 +2,33 @@
|
||||||
|
|
||||||
;> ## Procedures
|
;> ## Procedures
|
||||||
(define-library
|
(define-library
|
||||||
(retropikzel pffi v0.1.0 main)
|
(retropikzel pffi v0-1-0 main)
|
||||||
(cond-expand
|
(cond-expand
|
||||||
(sagittarius
|
(sagittarius
|
||||||
(import (scheme base)
|
(import (scheme base)
|
||||||
(scheme write)
|
(scheme write)
|
||||||
(scheme file)
|
(scheme file)
|
||||||
(scheme process-context)
|
(scheme process-context)
|
||||||
(retropikzel pffi v0.1.0 sagittarius)))
|
(retropikzel pffi v0-1-0 sagittarius)))
|
||||||
(guile
|
(guile
|
||||||
(import (scheme base)
|
(import (scheme base)
|
||||||
(scheme write)
|
(scheme write)
|
||||||
(scheme file)
|
(scheme file)
|
||||||
(scheme process-context)
|
(scheme process-context)
|
||||||
(retropikzel pffi v0.1.0 guile)))
|
(retropikzel pffi v0-1-0 guile)))
|
||||||
(racket
|
(racket
|
||||||
(import (scheme base)
|
(import (scheme base)
|
||||||
(scheme write)
|
(scheme write)
|
||||||
(scheme file)
|
(scheme file)
|
||||||
(scheme process-context)
|
(scheme process-context)
|
||||||
(retropikzel pffi v0.1.0 racket)))
|
(retropikzel pffi v0-1-0 racket)))
|
||||||
(stklos
|
(stklos
|
||||||
(import (scheme base)
|
(import (scheme base)
|
||||||
(scheme write)
|
(scheme write)
|
||||||
(scheme file)
|
(scheme file)
|
||||||
(scheme process-context)
|
(scheme process-context)
|
||||||
(stklos)
|
(stklos)
|
||||||
(retropikzel pffi v0.1.0 stklos)))
|
(retropikzel pffi v0-1-0 stklos)))
|
||||||
(kawa
|
(kawa
|
||||||
(import (scheme base)
|
(import (scheme base)
|
||||||
(scheme write)
|
(scheme write)
|
||||||
|
|
@ -39,25 +39,25 @@
|
||||||
(scheme write)
|
(scheme write)
|
||||||
(scheme file)
|
(scheme file)
|
||||||
(scheme process-context)
|
(scheme process-context)
|
||||||
(retropikzel pffi v0.1.0 cyclone)))
|
(retropikzel pffi v0-1-0 cyclone)))
|
||||||
(gambit
|
(gambit
|
||||||
(import (scheme base)
|
(import (scheme base)
|
||||||
(scheme write)
|
(scheme write)
|
||||||
(scheme file)
|
(scheme file)
|
||||||
(scheme process-context)
|
(scheme process-context)
|
||||||
(retropikzel pffi v0.1.0 gambit)))
|
(retropikzel pffi v0-1-0 gambit)))
|
||||||
(chicken
|
(chicken
|
||||||
(import (scheme base)
|
(import (scheme base)
|
||||||
(scheme write)
|
(scheme write)
|
||||||
(scheme file)
|
(scheme file)
|
||||||
(scheme process-context)
|
(scheme process-context)
|
||||||
(retropikzel pffi v0.1.0 chicken)))
|
(retropikzel pffi v0-1-0 chicken)))
|
||||||
(chibi
|
(chibi
|
||||||
(import (scheme base)
|
(import (scheme base)
|
||||||
(scheme write)
|
(scheme write)
|
||||||
(scheme file)
|
(scheme file)
|
||||||
(scheme process-context)
|
(scheme process-context)
|
||||||
(retropikzel pffi v0.1.0 chibi))))
|
(retropikzel pffi v0-1-0 chibi))))
|
||||||
(export pffi-shared-object-auto-load
|
(export pffi-shared-object-auto-load
|
||||||
pffi-shared-object-load
|
pffi-shared-object-load
|
||||||
pffi-define
|
pffi-define
|
||||||
|
|
@ -77,7 +77,7 @@
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
(define library-version "v0.1.0")
|
(define library-version "v0-1-0")
|
||||||
|
|
||||||
;> ## Procedures
|
;> ## Procedures
|
||||||
|
|
||||||
|
|
@ -237,6 +237,5 @@
|
||||||
shared-object)))))))
|
shared-object)))))))
|
||||||
|
|
||||||
(cond-expand
|
(cond-expand
|
||||||
(kawa
|
(kawa (include "kawa.scm"))
|
||||||
(include "kawa.scm"))
|
|
||||||
(else #t))))
|
(else #t))))
|
||||||
|
|
@ -2,33 +2,33 @@
|
||||||
|
|
||||||
;> ## Procedures
|
;> ## Procedures
|
||||||
(define-library
|
(define-library
|
||||||
(retropikzel pffi v0.1.0 main)
|
(retropikzel pffi v0-1-0 main)
|
||||||
(cond-expand
|
(cond-expand
|
||||||
(sagittarius
|
(sagittarius
|
||||||
(import (scheme base)
|
(import (scheme base)
|
||||||
(scheme write)
|
(scheme write)
|
||||||
(scheme file)
|
(scheme file)
|
||||||
(scheme process-context)
|
(scheme process-context)
|
||||||
(retropikzel pffi v0.1.0 sagittarius)))
|
(retropikzel pffi v0-1-0 sagittarius)))
|
||||||
(guile
|
(guile
|
||||||
(import (scheme base)
|
(import (scheme base)
|
||||||
(scheme write)
|
(scheme write)
|
||||||
(scheme file)
|
(scheme file)
|
||||||
(scheme process-context)
|
(scheme process-context)
|
||||||
(retropikzel pffi v0.1.0 guile)))
|
(retropikzel pffi v0-1-0 guile)))
|
||||||
(racket
|
(racket
|
||||||
(import (scheme base)
|
(import (scheme base)
|
||||||
(scheme write)
|
(scheme write)
|
||||||
(scheme file)
|
(scheme file)
|
||||||
(scheme process-context)
|
(scheme process-context)
|
||||||
(retropikzel pffi v0.1.0 racket)))
|
(retropikzel pffi v0-1-0 racket)))
|
||||||
(stklos
|
(stklos
|
||||||
(import (scheme base)
|
(import (scheme base)
|
||||||
(scheme write)
|
(scheme write)
|
||||||
(scheme file)
|
(scheme file)
|
||||||
(scheme process-context)
|
(scheme process-context)
|
||||||
(stklos)
|
(stklos)
|
||||||
(retropikzel pffi v0.1.0 stklos)))
|
(retropikzel pffi v0-1-0 stklos)))
|
||||||
(kawa
|
(kawa
|
||||||
(import (scheme base)
|
(import (scheme base)
|
||||||
(scheme write)
|
(scheme write)
|
||||||
|
|
@ -39,25 +39,25 @@
|
||||||
(scheme write)
|
(scheme write)
|
||||||
(scheme file)
|
(scheme file)
|
||||||
(scheme process-context)
|
(scheme process-context)
|
||||||
(retropikzel pffi v0.1.0 cyclone)))
|
(retropikzel pffi v0-1-0 cyclone)))
|
||||||
(gambit
|
(gambit
|
||||||
(import (scheme base)
|
(import (scheme base)
|
||||||
(scheme write)
|
(scheme write)
|
||||||
(scheme file)
|
(scheme file)
|
||||||
(scheme process-context)
|
(scheme process-context)
|
||||||
(retropikzel pffi v0.1.0 gambit)))
|
(retropikzel pffi v0-1-0 gambit)))
|
||||||
(chicken
|
(chicken
|
||||||
(import (scheme base)
|
(import (scheme base)
|
||||||
(scheme write)
|
(scheme write)
|
||||||
(scheme file)
|
(scheme file)
|
||||||
(scheme process-context)
|
(scheme process-context)
|
||||||
(retropikzel pffi v0.1.0 chicken)))
|
(retropikzel pffi v0-1-0 chicken)))
|
||||||
(chibi
|
(chibi
|
||||||
(import (scheme base)
|
(import (scheme base)
|
||||||
(scheme write)
|
(scheme write)
|
||||||
(scheme file)
|
(scheme file)
|
||||||
(scheme process-context)
|
(scheme process-context)
|
||||||
(retropikzel pffi v0.1.0 chibi))))
|
(retropikzel pffi v0-1-0 chibi))))
|
||||||
(export pffi-shared-object-auto-load
|
(export pffi-shared-object-auto-load
|
||||||
pffi-shared-object-load
|
pffi-shared-object-load
|
||||||
pffi-define
|
pffi-define
|
||||||
|
|
@ -77,7 +77,7 @@
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
(define library-version "v0.1.0")
|
(define library-version "v0-1-0")
|
||||||
|
|
||||||
;> ## Procedures
|
;> ## Procedures
|
||||||
|
|
||||||
|
|
@ -237,6 +237,5 @@
|
||||||
shared-object)))))))
|
shared-object)))))))
|
||||||
|
|
||||||
(cond-expand
|
(cond-expand
|
||||||
(kawa
|
(kawa (include "kawa.scm"))
|
||||||
(include "kawa.scm"))
|
|
||||||
(else #t))))
|
(else #t))))
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
(define-library
|
(define-library
|
||||||
(retropikzel pffi v0.1.0 racket)
|
(retropikzel pffi v0-1-0 racket)
|
||||||
(import (scheme base)
|
(import (scheme base)
|
||||||
(scheme write)
|
(scheme write)
|
||||||
(scheme file)
|
(scheme file)
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
(define-library
|
(define-library
|
||||||
(retropikzel pffi v0.1.0 sagittarius)
|
(retropikzel pffi v0-1-0 sagittarius)
|
||||||
(import (scheme base)
|
(import (scheme base)
|
||||||
(scheme write)
|
(scheme write)
|
||||||
(scheme file)
|
(scheme file)
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
(define-library
|
(define-library
|
||||||
(retropikzel pffi v0.1.0 stklos)
|
(retropikzel pffi v0-1-0 stklos)
|
||||||
(import (scheme base)
|
(import (scheme base)
|
||||||
(scheme write)
|
(scheme write)
|
||||||
(scheme file)
|
(scheme file)
|
||||||
|
|
@ -1,25 +0,0 @@
|
||||||
(define-library
|
|
||||||
(retropikzel pffi v0.1.0 guile)
|
|
||||||
(import (scheme base)
|
|
||||||
(scheme write)
|
|
||||||
(scheme file)
|
|
||||||
(scheme process-context)
|
|
||||||
(retropikzel pffi v0.1.0 kawa))
|
|
||||||
(export pffi-shared-object-load
|
|
||||||
pffi-define
|
|
||||||
pffi-size-of
|
|
||||||
pffi-pointer-allocate
|
|
||||||
pffi-pointer-null
|
|
||||||
pffi-string->pointer
|
|
||||||
pffi-pointer->string
|
|
||||||
pffi-pointer->bytevector
|
|
||||||
pffi-pointer-free
|
|
||||||
pffi-pointer?
|
|
||||||
pffi-pointer-null?
|
|
||||||
pffi-pointer-set!
|
|
||||||
pffi-pointer-get
|
|
||||||
pffi-pointer-deref)
|
|
||||||
(begin
|
|
||||||
|
|
||||||
|
|
||||||
))
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
(import (scheme base)
|
(import (scheme base)
|
||||||
(scheme write)
|
(scheme write)
|
||||||
(retropikzel pffi v0.1.0 main))
|
(retropikzel pffi v0-1-0 main))
|
||||||
|
|
||||||
(display "Hello")
|
(display "Hello")
|
||||||
(newline)
|
(newline)
|
||||||
|
|
|
||||||
BIN
test/pffi-define
BIN
test/pffi-define
Binary file not shown.
|
|
@ -2,22 +2,19 @@
|
||||||
(scheme write)
|
(scheme write)
|
||||||
(scheme process-context)
|
(scheme process-context)
|
||||||
(scheme eval)
|
(scheme eval)
|
||||||
(cyclone foreign)
|
(retropikzel pffi v0-1-0 main))
|
||||||
(retropikzel pffi v0.1.0 main))
|
|
||||||
|
|
||||||
(define libc (pffi-shared-object-auto-load (list "stdio.h") "c" (list)))
|
(define libcurl (pffi-shared-object-auto-load (list "curl/curl.h") "curl" (list)))
|
||||||
|
|
||||||
(display libc)
|
(display libcurl)
|
||||||
(newline)
|
(newline)
|
||||||
|
|
||||||
;(pffi-shared-object-load #t (display "this"))
|
(pffi-define curl-version libcurl 'curl_version 'string (list))
|
||||||
|
|
||||||
(display "=================")
|
(display "=================")
|
||||||
(newline)
|
(newline)
|
||||||
|
|
||||||
;(pffi-define "hello")
|
(display (pffi-pointer->string (curl-version)))
|
||||||
;(c-define puts int "puts" string)
|
|
||||||
;(puts "I'm from C")
|
|
||||||
|
|
||||||
(newline)
|
(newline)
|
||||||
(display "=================")
|
(display "=================")
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue