From c594cdadbed70bc64274a84b804579412be4a06b Mon Sep 17 00:00:00 2001 From: Justin Ethier <justin.ethier@gmail.com> Date: Tue, 19 Apr 2016 23:28:40 -0400 Subject: [PATCH] Added include-c-header --- examples/game-of-life-png/example/life.sld | 1 + scheme/cyclone/libraries.sld | 10 ++++++++++ 2 files changed, 11 insertions(+) diff --git a/examples/game-of-life-png/example/life.sld b/examples/game-of-life-png/example/life.sld index d1a0f84f..85b58c38 100644 --- a/examples/game-of-life-png/example/life.sld +++ b/examples/game-of-life-png/example/life.sld @@ -1,4 +1,5 @@ (define-library (example life) + (include-c-header "../write-png.h") (export life) (import (scheme base) ;TODO: (except (scheme base) set!) (scheme write) diff --git a/scheme/cyclone/libraries.sld b/scheme/cyclone/libraries.sld index a642026d..93d192e8 100644 --- a/scheme/cyclone/libraries.sld +++ b/scheme/cyclone/libraries.sld @@ -30,6 +30,7 @@ lib:imports lib:body lib:includes + lib:include-c-headers lib:import->filename lib:import->metalist lib:import->path @@ -115,6 +116,15 @@ (tagged-list? 'include code)) (cddr ast)))) +(define (lib:include-c-headers ast) + (map + (lambda (inc-lst) + (cadr inc-lst)) + (filter + (lambda (code) + (tagged-list? 'include-c-header code)) + (cddr ast)))) + ;; TODO: include-ci, cond-expand (define (lib:atom->string atom)