Ticket #555: patch-sdl.setup

File patch-sdl.setup, 1.8 KB (added by Christian Kellermann, 15 years ago)

escape unknown compiler flags with -C for csc

Line 
1--- sdl.setup Sat Mar 12 18:46:56 2011
2+++ /tmp/sdl/sdl.setup Fri Apr 1 19:13:11 2011
3@@ -1,18 +1,22 @@
4 ;;;; -*- Scheme -*-
5
6-(let ((sdl-cflags (map (lambda (o)
7- (if (or (string-prefix? "-D" o))
8- (string-append "-C " o)
9- o))
10- (string-split
11- (with-input-from-pipe "sdl-config --cflags" read-line))))
12- (sdl-lflags (map (lambda (o) (if (or (string-prefix? "-L" o)
13- (string-prefix? "-l" o)) o (string-append "-L " o)))
14- (string-split (string-append (with-input-from-pipe "sdl-config --libs" read-line) " -lSDL_gfx -lSDL_net -lSDL_ttf -lSDL_image")))))
15- (compile -s -O2 sdl.scm -j sdl -lSDL ,@sdl-cflags ,@sdl-lflags)
16- (compile -c -O2 sdl.scm -unit sdl ,@sdl-cflags ,@sdl-lflags)
17- (compile -s -O2 sdl.import.scm ,@sdl-cflags ,@sdl-lflags)
18- (compile -O2 sdl-csi.scm ,@sdl-cflags ,@sdl-lflags))
19+(let* ((escape-flags (lambda (fs)
20+ (map
21+ (lambda (s) (if (not (or (string-prefix-ci? "-l" s)
22+ (string-prefix-ci? "-i" s)
23+ (string-prefix-ci? "-d" s)))
24+ (sprintf " -C ~a " s)
25+ (sprintf " ~a " s)))
26+ (string-split fs))))
27+ (sdl-cflags (apply string-append (escape-flags (with-input-from-pipe "sdl-config --cflags" read-line))))
28+ (raw-lflags (escape-flags (with-input-from-pipe "sdl-config --libs" read-line)))
29+ (sdl-lflags (string-append (apply string-append raw-lflags) " -lSDL_gfx -lSDL_net -lSDL_ttf -lSDL_image")))
30+ (display sdl-lflags)
31+ (newline)
32+ (compile -s -O2 sdl.scm -j sdl -lSDL ,sdl-cflags ,sdl-lflags)
33+ (compile -c -O2 sdl.scm -unit sdl ,sdl-cflags ,sdl-lflags)
34+ (compile -s -O2 sdl.import.scm ,sdl-cflags ,sdl-lflags)
35+ (compile -O2 sdl-csi.scm ,sdl-cflags ,sdl-lflags))
36
37 (install-extension 'sdl '("sdl.so" "sdl.import.so" "sdl.o") '((version "v0.5.2")))
38 (install-program 'sdl-csi '("sdl-csi"))