diff --git a/.gitignore b/.gitignore index 0469163..3b50a51 100644 --- a/.gitignore +++ b/.gitignore @@ -22,4 +22,5 @@ test/* retropikzel/pffi/*/*.c retropikzel/pffi/*/*.o* retropikzel/pffi/*/*.so +retropikzel/pffi/*/compiled tmp diff --git a/Makefile b/Makefile index 22aa6f6..d9a284b 100644 --- a/Makefile +++ b/Makefile @@ -36,6 +36,7 @@ clean: rm -rf retropikzel/pffi/${VERSION}/*.so rm -rf retropikzel/pffi/${VERSION}/*.meta rm -rf retropikzel/pffi/${VERSION}/retropikzel.* + rm -rf retropikzel/pffi/${VERSION}/compiled rm -rf retropikzel.* rm -rf test/*.c rm -rf test/*.o* diff --git a/README.md b/README.md index 422136f..620c696 100644 --- a/README.md +++ b/README.md @@ -206,7 +206,7 @@ Arguments: - Procedure used as callback function - Argument count must mathc the argument-types count -### pffi-size-of +#### pffi-size-of Get the size of type. @@ -221,7 +221,7 @@ Returns: - The size of the given type -### pffi-pointer-allocate +#### pffi-pointer-allocate Allocates a pointer of given size. @@ -236,7 +236,7 @@ Returns: - A pointer of given size -### pffi-pointer-null +#### pffi-pointer-null Create a null pointer. @@ -244,7 +244,7 @@ Returns: - object - Null pointer -### pffi-string->pointer +#### pffi-string->pointer Arguments: @@ -257,7 +257,7 @@ Returns: - Pointer of the given string -### pffi-pointer->string +#### pffi-pointer->string Arguments: @@ -269,14 +269,14 @@ Returns: - string - String from the given pointer -### pffi-pointer-free +#### pffi-pointer-free Arguments: - pointer - object - The pointer you want to free -### pffi-pointer? +#### pffi-pointer? Arguments: @@ -289,7 +289,7 @@ Returns: - Returns true if given object is pointer, otherwise false -### pffi-pointer-set! +#### pffi-pointer-set! Arguments: @@ -303,7 +303,7 @@ Arguments: - value - object - The value to be placed into the object -### pffi-pointer-get +#### pffi-pointer-get Arguments: @@ -321,7 +321,7 @@ Returns: - object - The value in the poiner in the given offset as given type -### pffi-pointer-deref +#### pffi-pointer-deref Arguments: diff --git a/VERSION b/VERSION index d94ab43..96555c7 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -v0-2-2 +v0-3-0 diff --git a/composition.scm b/composition.scm index 2dc3098..8c089b7 100644 --- a/composition.scm +++ b/composition.scm @@ -1,6 +1,6 @@ ((packager . "retropikzel") (name . "pffi") - (version . "v0-2-2") + (version . "v0-3-0") (type . "library") (description . "Portable Foreign Function Interface for R7RS schemes") (license . "LGPL") diff --git a/retropikzel/pffi/v0-2-2/schubert-doc.md b/retropikzel/pffi/v0-2-2/schubert-doc.md deleted file mode 100644 index 6488fff..0000000 --- a/retropikzel/pffi/v0-2-2/schubert-doc.md +++ /dev/null @@ -1,57 +0,0 @@ -# pffi - - -## Procedures - - -### pffi-call - -Arguments: - -- shared-object (object) - - Shared object returned by pffi-shared-object-load or pffi-shared-object-auto-load -- name (symbol) - - Name of the C function you want to call -- type (symbol) - - Return type of the C function you want to call -- arguments (list (cons type value)...) - - Arguments you want to pass to the C function as pairs of type and value - -Example: - -(define sdl2* (pffi-shared-object-auto-load "SDL2" (list)) - -(pffi-call sdl2* 'SDL_Init 'int '((int . 32))) - -(define window* (pffi-call sdl2* - 'SDL_CreateWindow - 'pointer - (list (cons 'pointer (pffi-string->pointer "Hello")) - (cons 'int 1) - (cons 'int 1) - (cons 'int 400) - (cons 'int 400) - (cons 'int 4)) - - -### pffi-shared-object-load - -Arguments: -- path (string) The path to the shared object you want to load, including any "lib" infront and .so/.dll at the end - -Returns: - - - -### pffi-shared-object-auto-load - -Arguments: -- object-name (symbol) - - The name of the dynamic library file you want to load without the "lib" in fron of it or .so/.dll at the end -- addition-paths (list (string)...) - - Any additional paths you want to search for the library - -Returns: -- (object) Shared object, the type depends on the implementation - - diff --git a/retropikzel/pffi/v0-2-2/chicken.scm b/retropikzel/pffi/v0-3-0/chicken.scm similarity index 99% rename from retropikzel/pffi/v0-2-2/chicken.scm rename to retropikzel/pffi/v0-3-0/chicken.scm index 045d92e..4ad4418 100644 --- a/retropikzel/pffi/v0-2-2/chicken.scm +++ b/retropikzel/pffi/v0-3-0/chicken.scm @@ -1,5 +1,5 @@ (define-library - (retropikzel pffi v0-2-2 chicken) + (retropikzel pffi v0-3-0 chicken) (import (scheme base) (scheme write) (scheme file) diff --git a/retropikzel/pffi/v0-2-2/cyclone.sld b/retropikzel/pffi/v0-3-0/cyclone.sld similarity index 99% rename from retropikzel/pffi/v0-2-2/cyclone.sld rename to retropikzel/pffi/v0-3-0/cyclone.sld index 8e071f3..29eb404 100644 --- a/retropikzel/pffi/v0-2-2/cyclone.sld +++ b/retropikzel/pffi/v0-3-0/cyclone.sld @@ -1,5 +1,5 @@ (define-library - (retropikzel pffi v0-2-2 cyclone) + (retropikzel pffi v0-3-0 cyclone) (import (scheme base) (scheme write) (scheme file) diff --git a/retropikzel/pffi/v0-2-2/empty.scm b/retropikzel/pffi/v0-3-0/empty.scm similarity index 98% rename from retropikzel/pffi/v0-2-2/empty.scm rename to retropikzel/pffi/v0-3-0/empty.scm index c20bec2..b8b7b6a 100644 --- a/retropikzel/pffi/v0-2-2/empty.scm +++ b/retropikzel/pffi/v0-3-0/empty.scm @@ -1,5 +1,5 @@ (define-library - (retropikzel pffi v0-2-2 empty) + (retropikzel pffi v0-3-0 empty) (import (scheme base) (scheme write) (scheme file) diff --git a/retropikzel/pffi/v0-2-2/gambit.scm b/retropikzel/pffi/v0-3-0/gambit.scm similarity index 98% rename from retropikzel/pffi/v0-2-2/gambit.scm rename to retropikzel/pffi/v0-3-0/gambit.scm index d88f44b..d4f7a6b 100644 --- a/retropikzel/pffi/v0-2-2/gambit.scm +++ b/retropikzel/pffi/v0-3-0/gambit.scm @@ -1,5 +1,5 @@ (define-library - (retropikzel pffi v0-2-2 gambit) + (retropikzel pffi v0-3-0 gambit) (import (scheme base) (scheme write) (scheme file) diff --git a/retropikzel/pffi/v0-2-2/gerbil.scm b/retropikzel/pffi/v0-3-0/gerbil.scm similarity index 98% rename from retropikzel/pffi/v0-2-2/gerbil.scm rename to retropikzel/pffi/v0-3-0/gerbil.scm index 7d5664a..ebc3662 100644 --- a/retropikzel/pffi/v0-2-2/gerbil.scm +++ b/retropikzel/pffi/v0-3-0/gerbil.scm @@ -1,5 +1,5 @@ (define-library - (retropikzel pffi v0-2-2 gerbil) + (retropikzel pffi v0-3-0 gerbil) (import (scheme base) (scheme write) (scheme file) diff --git a/retropikzel/pffi/v0-2-2/guile.scm b/retropikzel/pffi/v0-3-0/guile.scm similarity index 99% rename from retropikzel/pffi/v0-2-2/guile.scm rename to retropikzel/pffi/v0-3-0/guile.scm index 974d50a..c7f57a5 100644 --- a/retropikzel/pffi/v0-2-2/guile.scm +++ b/retropikzel/pffi/v0-3-0/guile.scm @@ -1,5 +1,5 @@ (define-library - (retropikzel pffi v0-2-2 guile) + (retropikzel pffi v0-3-0 guile) (import (scheme base) (scheme write) (scheme file) diff --git a/retropikzel/pffi/v0-2-2/kawa.scm b/retropikzel/pffi/v0-3-0/kawa.scm similarity index 100% rename from retropikzel/pffi/v0-2-2/kawa.scm rename to retropikzel/pffi/v0-3-0/kawa.scm diff --git a/retropikzel/pffi/v0-2-2/main.rkt b/retropikzel/pffi/v0-3-0/main.rkt similarity index 100% rename from retropikzel/pffi/v0-2-2/main.rkt rename to retropikzel/pffi/v0-3-0/main.rkt diff --git a/retropikzel/pffi/v0-2-2/main.scm b/retropikzel/pffi/v0-3-0/main.scm similarity index 93% rename from retropikzel/pffi/v0-2-2/main.scm rename to retropikzel/pffi/v0-3-0/main.scm index eb284bd..8f0aca2 100644 --- a/retropikzel/pffi/v0-2-2/main.scm +++ b/retropikzel/pffi/v0-3-0/main.scm @@ -1,32 +1,32 @@ (define-library - (retropikzel pffi v0-2-2 main) + (retropikzel pffi v0-3-0 main) (cond-expand (sagittarius (import (scheme base) (scheme write) (scheme file) (scheme process-context) - (retropikzel pffi v0-2-2 sagittarius))) + (retropikzel pffi v0-3-0 sagittarius))) (guile (import (scheme base) (scheme write) (scheme file) (scheme process-context) - (retropikzel pffi v0-2-2 guile))) + (retropikzel pffi v0-3-0 guile))) (racket (import (scheme base) (scheme write) (scheme file) (scheme process-context) (only (racket base) system-type) - (retropikzel pffi v0-2-2 racket))) + (retropikzel pffi v0-3-0 racket))) (stklos (import (scheme base) (scheme write) (scheme file) (scheme process-context) (stklos) - (retropikzel pffi v0-2-2 stklos))) + (retropikzel pffi v0-3-0 stklos))) (kawa (import (scheme base) (scheme write) @@ -37,31 +37,31 @@ (scheme write) (scheme file) (scheme process-context) - (retropikzel pffi v0-2-2 cyclone))) + (retropikzel pffi v0-3-0 cyclone))) (gambit (import (scheme base) (scheme write) (scheme file) (scheme process-context) - (retropikzel pffi v0-2-2 gambit))) + (retropikzel pffi v0-3-0 gambit))) (chicken (import (scheme base) (scheme write) (scheme file) (scheme process-context) - (retropikzel pffi v0-2-2 chicken))) + (retropikzel pffi v0-3-0 chicken))) (chibi (import (scheme base) (scheme write) (scheme file) (scheme process-context) - (retropikzel pffi v0-2-2 chibi))) + (retropikzel pffi v0-3-0 chibi))) (mit-scheme (import (scheme base) (scheme write) (scheme file) (scheme process-context) - (retropikzel pffi v0-2-2 mit-scheme)))) + (retropikzel pffi v0-3-0 mit-scheme)))) (export pffi-shared-object-auto-load pffi-shared-object-load pffi-define @@ -84,7 +84,7 @@ - (define library-version "v0-2-2") + (define library-version "v0-3-0") (define slash (cond-expand (windows (string #\\)) (else "/"))) (define platform-file-extension diff --git a/retropikzel/pffi/v0-2-2/main.sld b/retropikzel/pffi/v0-3-0/main.sld similarity index 93% rename from retropikzel/pffi/v0-2-2/main.sld rename to retropikzel/pffi/v0-3-0/main.sld index eb284bd..8f0aca2 100644 --- a/retropikzel/pffi/v0-2-2/main.sld +++ b/retropikzel/pffi/v0-3-0/main.sld @@ -1,32 +1,32 @@ (define-library - (retropikzel pffi v0-2-2 main) + (retropikzel pffi v0-3-0 main) (cond-expand (sagittarius (import (scheme base) (scheme write) (scheme file) (scheme process-context) - (retropikzel pffi v0-2-2 sagittarius))) + (retropikzel pffi v0-3-0 sagittarius))) (guile (import (scheme base) (scheme write) (scheme file) (scheme process-context) - (retropikzel pffi v0-2-2 guile))) + (retropikzel pffi v0-3-0 guile))) (racket (import (scheme base) (scheme write) (scheme file) (scheme process-context) (only (racket base) system-type) - (retropikzel pffi v0-2-2 racket))) + (retropikzel pffi v0-3-0 racket))) (stklos (import (scheme base) (scheme write) (scheme file) (scheme process-context) (stklos) - (retropikzel pffi v0-2-2 stklos))) + (retropikzel pffi v0-3-0 stklos))) (kawa (import (scheme base) (scheme write) @@ -37,31 +37,31 @@ (scheme write) (scheme file) (scheme process-context) - (retropikzel pffi v0-2-2 cyclone))) + (retropikzel pffi v0-3-0 cyclone))) (gambit (import (scheme base) (scheme write) (scheme file) (scheme process-context) - (retropikzel pffi v0-2-2 gambit))) + (retropikzel pffi v0-3-0 gambit))) (chicken (import (scheme base) (scheme write) (scheme file) (scheme process-context) - (retropikzel pffi v0-2-2 chicken))) + (retropikzel pffi v0-3-0 chicken))) (chibi (import (scheme base) (scheme write) (scheme file) (scheme process-context) - (retropikzel pffi v0-2-2 chibi))) + (retropikzel pffi v0-3-0 chibi))) (mit-scheme (import (scheme base) (scheme write) (scheme file) (scheme process-context) - (retropikzel pffi v0-2-2 mit-scheme)))) + (retropikzel pffi v0-3-0 mit-scheme)))) (export pffi-shared-object-auto-load pffi-shared-object-load pffi-define @@ -84,7 +84,7 @@ - (define library-version "v0-2-2") + (define library-version "v0-3-0") (define slash (cond-expand (windows (string #\\)) (else "/"))) (define platform-file-extension diff --git a/retropikzel/pffi/v0-2-2/racket.rkt b/retropikzel/pffi/v0-3-0/racket.rkt similarity index 99% rename from retropikzel/pffi/v0-2-2/racket.rkt rename to retropikzel/pffi/v0-3-0/racket.rkt index 1374afd..987202b 100644 --- a/retropikzel/pffi/v0-2-2/racket.rkt +++ b/retropikzel/pffi/v0-3-0/racket.rkt @@ -1,7 +1,7 @@ #lang r7rs (define-library - (retropikzel pffi v0-2-2 racket) + (retropikzel pffi v0-3-0 racket) (import (scheme base) (scheme write) (scheme file) diff --git a/retropikzel/pffi/v0-2-2/sagittarius.scm b/retropikzel/pffi/v0-3-0/sagittarius.scm similarity index 99% rename from retropikzel/pffi/v0-2-2/sagittarius.scm rename to retropikzel/pffi/v0-3-0/sagittarius.scm index 2d7ee48..6aa1d1e 100644 --- a/retropikzel/pffi/v0-2-2/sagittarius.scm +++ b/retropikzel/pffi/v0-3-0/sagittarius.scm @@ -1,5 +1,5 @@ (define-library - (retropikzel pffi v0-2-2 sagittarius) + (retropikzel pffi v0-3-0 sagittarius) (import (scheme base) (scheme write) (scheme file) diff --git a/retropikzel/pffi/v0-2-2/stklos.scm b/retropikzel/pffi/v0-3-0/stklos.scm similarity index 98% rename from retropikzel/pffi/v0-2-2/stklos.scm rename to retropikzel/pffi/v0-3-0/stklos.scm index f86d132..f6d421d 100644 --- a/retropikzel/pffi/v0-2-2/stklos.scm +++ b/retropikzel/pffi/v0-3-0/stklos.scm @@ -1,5 +1,5 @@ (define-library - (retropikzel pffi v0-2-2 stklos) + (retropikzel pffi v0-3-0 stklos) (import (scheme base) (scheme write) (scheme file) diff --git a/test/200_import.scm b/test/200_import.scm index 93c2dea..9d8fac8 100644 --- a/test/200_import.scm +++ b/test/200_import.scm @@ -1,6 +1,6 @@ (import (scheme base) (scheme write) - (retropikzel pffi v0-2-2 main)) + (retropikzel pffi v0-3-0 main)) (display "Hello from import.scm") (newline) diff --git a/test/300_size-of.scm b/test/300_size-of.scm index 2148fe1..6be3432 100644 --- a/test/300_size-of.scm +++ b/test/300_size-of.scm @@ -1,6 +1,6 @@ (import (scheme base) (scheme write) - (retropikzel pffi v0-2-2 main)) + (retropikzel pffi v0-3-0 main)) (display 'int8) (display " ") diff --git a/test/400_pointer-allocate-free.scm b/test/400_pointer-allocate-free.scm index 2f35065..942570d 100644 --- a/test/400_pointer-allocate-free.scm +++ b/test/400_pointer-allocate-free.scm @@ -1,6 +1,6 @@ (import (scheme base) (scheme write) - (retropikzel pffi v0-2-2 main)) + (retropikzel pffi v0-3-0 main)) (define p (pffi-pointer-allocate (+ (* (pffi-size-of 'uint32) 3) (* (pffi-size-of 'uint8) 4) diff --git a/test/401_is-pointer.scm b/test/401_is-pointer.scm index 3ee565a..e42fdce 100644 --- a/test/401_is-pointer.scm +++ b/test/401_is-pointer.scm @@ -1,6 +1,6 @@ (import (scheme base) (scheme write) - (retropikzel pffi v0-2-2 main)) + (retropikzel pffi v0-3-0 main)) (define p (pffi-pointer-allocate (+ (* (pffi-size-of 'uint32) 3) (* (pffi-size-of 'uint8) 4) diff --git a/test/402_null-pointer.scm b/test/402_null-pointer.scm index af8600b..516ace9 100644 --- a/test/402_null-pointer.scm +++ b/test/402_null-pointer.scm @@ -1,6 +1,6 @@ (import (scheme base) (scheme write) - (retropikzel pffi v0-2-2 main)) + (retropikzel pffi v0-3-0 main)) (define p (pffi-pointer-allocate (+ (* (pffi-size-of 'uint32) 3) (* (pffi-size-of 'uint8) 4) diff --git a/test/410_pointer-set-get.scm b/test/410_pointer-set-get.scm index 8884106..6bc56ba 100644 --- a/test/410_pointer-set-get.scm +++ b/test/410_pointer-set-get.scm @@ -1,6 +1,6 @@ (import (scheme base) (scheme write) - (retropikzel pffi v0-2-2 main)) + (retropikzel pffi v0-3-0 main)) (define p (pffi-pointer-allocate (+ (* (pffi-size-of 'uint32) 3) (* (pffi-size-of 'uint8) 4) diff --git a/test/500_string-to-pointer-to-string.scm b/test/500_string-to-pointer-to-string.scm index 1ae42ba..7c214fe 100644 --- a/test/500_string-to-pointer-to-string.scm +++ b/test/500_string-to-pointer-to-string.scm @@ -1,6 +1,6 @@ (import (scheme base) (scheme write) - (retropikzel pffi v0-2-2 main)) + (retropikzel pffi v0-3-0 main)) (define original "Hello world") diff --git a/test/600_pffi-define.scm b/test/600_pffi-define.scm index b68ee11..fc9c4d6 100644 --- a/test/600_pffi-define.scm +++ b/test/600_pffi-define.scm @@ -2,7 +2,7 @@ (scheme write) (scheme process-context) (scheme eval) - (retropikzel pffi v0-2-2 main)) + (retropikzel pffi v0-3-0 main)) (define libcurl (pffi-shared-object-auto-load (list "curl/curl.h") (list) diff --git a/test/700_libc.scm b/test/700_libc.scm index 62d9e10..6e501bc 100644 --- a/test/700_libc.scm +++ b/test/700_libc.scm @@ -2,7 +2,7 @@ (scheme write) (scheme process-context) (scheme eval) - (retropikzel pffi v0-2-2 main)) + (retropikzel pffi v0-3-0 main)) (define libc (pffi-shared-object-auto-load (list "curl/curl.h") (list) diff --git a/test/800_libcurl.scm b/test/800_libcurl.scm index a46c9be..f478f21 100644 --- a/test/800_libcurl.scm +++ b/test/800_libcurl.scm @@ -1,7 +1,7 @@ (import (scheme base) (scheme write) (scheme process-context) - (retropikzel pffi v0-2-2 main)) + (retropikzel pffi v0-3-0 main)) (define libcurl (pffi-shared-object-auto-load (list "curl/curl.h") ; Headers (list ".") ; Additional search paths