build: support libc-mes+tcc.
authorJan Nieuwenhuizen <janneke@gnu.org>
Thu, 27 Jul 2017 16:41:45 +0000 (18:41 +0200)
committerJan Nieuwenhuizen <janneke@gnu.org>
Thu, 27 Jul 2017 16:41:45 +0000 (18:41 +0200)
guile/guix/make.scm
make.scm

index eae1ec7558802f8948da6d19f4ab09ca7e2a667b..854ce044e272e573190664fafdf918bb24e3023e 100644 (file)
@@ -57,6 +57,7 @@
             snarf
 
             libc-mes.E
+            libc-mes+tcc.E
             mini-libc-mes.E
             add-target
             get-target
 
 (define mini-libc-mes.E (cpp.mescc "mlibc/mini-libc-mes.c"))
 (define libc-mes.E (cpp.mescc "mlibc/libc-mes.c"))
+(define libc-mes+tcc.E (cpp.mescc "mlibc/libc-mes+tcc.c"))
 
 (define* (compile.gcc input-file-name #:key (libc #t) (cc (if libc %CC %CC32)) (defines '()) (includes '()) (dependencies '()))
   (let* ((base-name (base-name input-file-name ".c"))
          ;;(foo (format (current-error-port) "COMPILE[~s .c] base=~s\n" input-file-name base-name))
          (suffix (cond ((not libc) ".0-M1")
                        ((eq? libc libc-mes.E) ".M1")
+                       ((eq? libc libc-mes+tcc.E) ".tcc-M1")
                        (else ".mini-M1")))
          (target-file-name (string-append base-name suffix))
          (E-target (cpp.mescc input-file-name #:cc cc #:defines defines #:includes includes #:dependencies dependencies)))
          ;;(foo (format (current-error-port) "m1-asm[~s .m1] base=~s\n" input-file-name base-name))
          (suffix (cond ((not libc) ".0-hex2")
                        ((eq? libc libc-mes.E) ".hex2")
+                       ((eq? libc libc-mes+tcc.E) ".tcc-hex2")
                        (else ".mini-hex2")))
          (target-file-name (string-append base-name suffix))
          (m1-target (compile.mescc input-file-name #:cc cc #:libc libc #:defines defines #:includes includes #:dependencies dependencies))
                          (compile.mescc "mlibc/libc-mes.c" #:libc #f #:defines defines #:includes includes))
                         ((eq? libc mini-libc-mes.E)
                          (compile.mescc "mlibc/mini-libc-mes.c" #:libc #f #:defines defines #:includes includes))
+                        ((eq? libc libc-mes+tcc.E)
+                         (compile.mescc "mlibc/libc-mes+tcc.c" #:libc #f #:defines defines #:includes includes))
                         (else #f))))
     (target (file-name target-file-name)
             ;;(inputs `(,@(if libc (list libc.m1) '()) ,m1-target))
          ;;(foo (format (current-error-port) "bin[~s .c] base=~s\n" input-file-name base-name))
          (suffix (cond ((not libc) ".0-guile")
                        ((eq? libc libc-mes.E) ".guile")
+                       ((eq? libc libc-mes+tcc.E) ".tcc-guile")
                        (else ".mini-guile")))
          (target-file-name (string-append base-name suffix))
          (hex2-target (m1-asm input-file-name #:m1 m1 #:cc cc #:libc libc #:defines defines #:includes includes #:dependencies dependencies)))
index b2c95943c98c3f84095332407ae418717b9f5838..dfef35a73f932c4ac7f210801a072a73503b849a 100755 (executable)
--- a/make.scm
+++ b/make.scm
@@ -62,8 +62,8 @@ exec ${GUILE-guile} --no-auto-compile -L . -L guile -C . -C guile -s "$0" ${1+"$
                                                                      ((eq? libc mini-libc-mes.E) "mini-")
                                                                      (else "")) "guile") #:exit exit)))
 
-
-(add-scaffold-test "t" #:libc mini-libc-mes.E)
+;;(add-scaffold-test "t" #:libc mini-libc-mes.E)
+(add-scaffold-test "t" #:libc libc-mes+tcc.E)
 
 ;; tests/00: exit, functions without libc
 (add-scaffold-test "00-exit-0" #:libc #f)