Ticket #555: patch-sdl.setup

File patch-sdl.setup, 1.8 KB (added by Christian Kellermann, 13 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"))