diff --git a/Makefile b/Makefile index 2032efa..620987d 100644 --- a/Makefile +++ b/Makefile @@ -12,23 +12,15 @@ VERSION=$(shell cat retropikzel/${LIBRARY}/VERSION) DESCRIPTION=$(shell head -n1 retropikzel/${LIBRARY}/README.md) README=retropikzel/${LIBRARY}/README.html TESTFILE=retropikzel/${LIBRARY}/test.scm +PACKAGE_ARGS=$(shell cat retropikzel/${LIBRARY}/PACKAGE_ARGS || echo "") +CSC_OPTIONS=$(shell cat retropikzel/${LIBRARY}/CSC_OPTIONS || echo "") +APTPACKAGES=$(shell cat retropikzel/${LIBRARY}/APT_PACKAGES || echo "") PKG=retropikzel-${LIBRARY}-${VERSION}.tgz -SFX=scm -SNOW=snow-chibi --impls=${SCHEME} install --always-yes -LIB_PATHS= -ifeq "${RNRS}" "r6rs" -SNOW=snow-chibi --impls=${SCHEME} install --always-yes --install-source-dir=. --install-library-dir=. SFX=sps -LIB_PATHS=-I .akku/lib -endif - -APT_PACKAGES= -CSC_OPTIONS= -ifeq "${LIBRARY}" "gi-repository" -APT_PACKAGES=libgirepository-2.0-dev -CSC_OPTIONS=-L -lgirepository-2.0 -L -lgobject-2.0 -L -lglib-2.0 +ifeq "${RNRS}" "r7rs" +SFX=scm endif all: package @@ -37,6 +29,7 @@ package: retropikzel/${LIBRARY}/LICENSE retropikzel/${LIBRARY}/VERSION echo "
$$(cat retropikzel/${LIBRARY}/README.md)" > ${README}
snow-chibi package \
--always-yes \
+ ${PACKAGE_ARGS} \
--version=${VERSION} \
--authors=${AUTHOR} \
--doc=${README} \
@@ -51,13 +44,16 @@ testfiles: package
mkdir -p .tmp
cp -r test-resources .tmp/
cp -r retropikzel .tmp/
- cp ${PKG} .tmp/
# R6RS testfiles
printf "#!r6rs\n(import (except (rnrs) remove) (srfi :64) (foreign c) (retropikzel ${LIBRARY}))" > .tmp/test.sps
cat ${TESTFILE} >> .tmp/test.sps
# R7RS testfiles
echo "(import (scheme base) (scheme write) (scheme read) (scheme char) (scheme file) (scheme process-context) (srfi 64) (foreign c) (retropikzel ${LIBRARY}))" > .tmp/test.scm
cat ${TESTFILE} >> .tmp/test.scm
+ cp -r ../foreign-c/foreign .tmp/
+ cp -r ../generated-foreign-c-libraries/c2foreign-c .tmp/
+ cp ${PKG} .tmp/
+ cd .tmp && if [ "${RNRS}" = "r6rs" ]; then snow-chibi --impls=generic install --always-yes --install-source-dir=. --install-library-dir=. ${PKG}; fi
cd .tmp && if [ "${RNRS}" = "r6rs" ]; then akku install akku-r7rs; fi
test: testfiles
diff --git a/retropikzel/gi-repository/APT_PACKAGES b/retropikzel/gi-repository/APT_PACKAGES
new file mode 100644
index 0000000..25d6579
--- /dev/null
+++ b/retropikzel/gi-repository/APT_PACKAGES
@@ -0,0 +1 @@
+libgirepository-2.0-dev
diff --git a/retropikzel/gi-repository/CSC_OPTIONS b/retropikzel/gi-repository/CSC_OPTIONS
new file mode 100644
index 0000000..3fd5b00
--- /dev/null
+++ b/retropikzel/gi-repository/CSC_OPTIONS
@@ -0,0 +1 @@
+-L -lgirepository-2.0 -L -lgobject-2.0 -L -lglib-2.0
diff --git a/retropikzel/spite.scm b/retropikzel/spite.scm
index 610e24c..51aab36 100644
--- a/retropikzel/spite.scm
+++ b/retropikzel/spite.scm
@@ -15,17 +15,14 @@
(define event* (make-c-bytevector 4000))
(define draw-rect* (make-c-bytevector (* (c-type-size 'int) 4)))
(define draw-slice-rect* (make-c-bytevector (* (c-type-size 'int) 4)))
-(define fill-triangle-vertex-size (+ (* (c-type-size 'int) 6) (* (c-type-size 'float) 2)))
+(define fill-triangle-vertex-size 1024
+ ;; FIXME
+ ;(+ (* (c-type-size 'int) 6) (* (c-type-size 'float) 2))
+ )
(define fill-triangle-vertex1* (make-c-bytevector fill-triangle-vertex-size 0))
(define fill-triangle-vertex2* (make-c-bytevector fill-triangle-vertex-size 0))
(define fill-triangle-vertex3* (make-c-bytevector fill-triangle-vertex-size 0))
(define fill-triangle-vertexes* (make-c-bytevector (* fill-triangle-vertex-size 3 0)))
-(c-bytevector-set!
- fill-triangle-vertexes* 'pointer (* fill-triangle-vertex-size 0) fill-triangle-vertex1*)
-(c-bytevector-set!
- fill-triangle-vertexes* 'pointer (* fill-triangle-vertex-size 1) fill-triangle-vertex2*)
-(c-bytevector-set!
- fill-triangle-vertexes* 'pointer (* fill-triangle-vertex-size 2) fill-triangle-vertex3*)
(define main-loop-start-time 0)
(define delta-time 0)
@@ -259,6 +256,9 @@
(define spite-start
(lambda (update-procedure draw-procedure)
+ (c-bytevector-set! fill-triangle-vertexes* 'pointer (* fill-triangle-vertex-size 0) fill-triangle-vertex1*)
+ (c-bytevector-set! fill-triangle-vertexes* 'pointer (* fill-triangle-vertex-size 1) fill-triangle-vertex2*)
+ (c-bytevector-set! fill-triangle-vertexes* 'pointer (* fill-triangle-vertex-size 2) fill-triangle-vertex3*)
(cond
((not started?)
(set! started? #t)
diff --git a/retropikzel/spite/APT_PACKAGES b/retropikzel/spite/APT_PACKAGES
new file mode 100644
index 0000000..8c335f0
--- /dev/null
+++ b/retropikzel/spite/APT_PACKAGES
@@ -0,0 +1 @@
+libsdl2-dev libsdl2-image-dev
diff --git a/retropikzel/spite/CSC_OPTIONS b/retropikzel/spite/CSC_OPTIONS
new file mode 100644
index 0000000..fda77aa
--- /dev/null
+++ b/retropikzel/spite/CSC_OPTIONS
@@ -0,0 +1 @@
+-L -lSDL2_image -L -lSDL2
diff --git a/retropikzel/spite/PACKAGE_ARGS b/retropikzel/spite/PACKAGE_ARGS
new file mode 100644
index 0000000..8e5b7ab
--- /dev/null
+++ b/retropikzel/spite/PACKAGE_ARGS
@@ -0,0 +1 @@
+--foreign-depends SDL2_image,sdl2