;;;; -*- Scheme -*- (let* ((escape-flags (lambda (fs) (map (lambda (s) (if (not (or (string-prefix-ci? "-l" s) (string-prefix-ci? "-i" s) (string-prefix-ci? "-d" s))) (sprintf " -C ~a " s) (sprintf " ~a " s))) (string-split fs)))) (sdl-cflags (apply string-append (escape-flags (with-input-from-pipe "sdl-config --cflags" read-line)))) (raw-lflags (escape-flags (with-input-from-pipe "sdl-config --libs" read-line))) (sdl-lflags (string-append (apply string-append raw-lflags) " -lSDL_gfx -lSDL_net -lSDL_ttf -lSDL_image"))) (display sdl-lflags) (newline) (compile -s -O2 sdl.scm -j sdl -lSDL ,sdl-cflags ,sdl-lflags) (compile -c -O2 sdl.scm -unit sdl ,sdl-cflags ,sdl-lflags) (compile -s -O2 sdl.import.scm ,sdl-cflags ,sdl-lflags) (compile -O2 sdl-csi.scm ,sdl-cflags ,sdl-lflags)) (install-extension 'sdl '("sdl.so" "sdl.import.so" "sdl.o") '((version "v0.5.4"))) (install-program 'sdl-csi '("sdl-csi"))