(define version "1.2") (define modules '(link-grammar)) (define emit-types? (version>=? (chicken-version) "4.12.0")) (define (module-file module extension) (string-append (symbol->string module) extension)) (define link-grammar-flags-list '("-llink-grammar")) (define (compile-module module #!optional (extra-flags-list '())) (newline) (printf "Compiling Module: ~A~N~%" module) (print "For BSD based OSs please ensure CSC_Options=\"-C -I/usr/local/include/\"") (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 'link-grammar link-grammar-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 'link-grammar products `((version ,version)))