(define version "0.1") (define modules '(sentence-split)) (define emit-types? (version>=? (chicken-version) "4.12.0")) (define (module-file module extension) (string-append (symbol->string module) extension)) (define sentence-split-flags-list '("")) (define (compile-module module #!optional (extra-flags-list '())) (newline) (printf "Compiling Module: ~A~N~%" module) (newline) (compile -J -v -s -O3 -d1 ,@extra-flags-list ,@(if emit-types? `(-emit-type-file ,(module-file module ".types")) '()) ,(module-file module ".scm")) (compile -v -s -O3 -d0 ,(module-file module ".import.scm") ,@extra-flags-list) (newline)) (newline) (compile-module 'sentence-split sentence-split-flags-list) (newline) (define products (append-map (lambda (module) (cons* (module-file module ".so") (module-file module ".import.so") (if emit-types? (list (module-file module ".types")) '()))) modules)) (install-extension 'sentence-split products `((version ,version)))