Initial file

This commit is contained in:
Justin Ethier 2020-08-07 10:34:04 -04:00
parent f6252d3185
commit 8f00b39db1
3 changed files with 45 additions and 0 deletions

View file

@ -0,0 +1,17 @@
all: calls
sys.o: sys.c
cc -c sys.c
calls.c: calls.scm
cyclone -d calls.scm
calls: sys.o calls.c
cc calls.c -O2 -Wall -I/usr/local/include -c -o calls.o
cc calls.o /usr/local/share/cyclone/scheme/cyclone/common.o /usr/local/share/cyclone/scheme/base.o /usr/local/share/cyclone/srfi/18.o /usr/local/share/cyclone/scheme/write.o -pthread -lcyclone -lck -lm -lcyclonebn -ldl -O2 -fPIC -Wall -Wno-shift-negative-value -Wno-unused-command-line-argument -I/usr/local/include -L/usr/local/lib -Wl,--export-dynamic -o calls
.PHONY: clean
clean:
rm -f *.o calls.c calls

View file

@ -0,0 +1,22 @@
(import (scheme base)
(scheme write)
(srfi 18))
;;(include-c-header "sys.c")
(define *done* #f)
(define *dummy signal-done) ;; Hack to prevent optimizing-out signal-done
(define (signal-done obj)
(write `(Called from C set *done* to ,obj))
(newline)
(set! *done* obj)
#t)
(define (wait)
(thread-sleep! 1)
(if *done*
#t
(wait)))
(wait)

6
examples/callbacks/sys.c Normal file
View file

@ -0,0 +1,6 @@
#include "cyclone/types.h"
extern object __glo_signal_91done;
void call_scm(object obj)
{
}