mescc: Move simple main to scaffold.
authorJan Nieuwenhuizen <janneke@gnu.org>
Sun, 6 Aug 2017 11:14:09 +0000 (13:14 +0200)
committerJan Nieuwenhuizen <janneke@gnu.org>
Sun, 6 Aug 2017 11:14:09 +0000 (13:14 +0200)
* scaffold/main.c (main): Move from doc/examples/main.c
* make.scm: Build it.
* README: Update.
* guile/mescc.scm (main):
* scripts/mescc.mes (main): Remove fallback doc/examples/main.c

README
doc/examples/main.c [deleted file]
guile/mescc.scm
make.scm
scaffold/main.c [new file with mode: 0644]
scripts/mescc.mes

diff --git a/README b/README
index 704f46b8baffb7e4262857edfee063dedd26d089..685ee30682f0c787880671573cda44180c7cf278 100644 (file)
--- a/README
+++ b/README
@@ -53,5 +53,5 @@ General Public Licence version 3 or later.  See the file COPYING.
 
 * Mescc compiler
 
 
 * Mescc compiler
 
-   scripts/mescc.mes doc/examples/main.c > a.out
+   scripts/mescc.mes scaffold/main.c > a.out
 
 
diff --git a/doc/examples/main.c b/doc/examples/main.c
deleted file mode 100644 (file)
index 65a64af..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-/* -*-comment-start: "//";comment-end:""-*-
- * Mes --- Maxwell Equations of Software
- * Copyright © 2016,2017 Jan Nieuwenhuizen <janneke@gnu.org>
- *
- * This file is part of Mes.
- *
- * Mes is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 3 of the License, or (at
- * your option) any later version.
- *
- * Mes is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with Mes.  If not, see <http://www.gnu.org/licenses/>.
- */
-
-int
-main (int argc, char *argv[])
-{
-  if (argc > 1) return argc;
-  return 42;
-}
index 899474587f1452ea36857c6d0d3f6b8d015ba6c4..55447215c20e49c8257ffe9b67a20171abd9917f 100755 (executable)
@@ -115,8 +115,7 @@ Usage: mescc.scm [OPTION]... FILE...
 (define (main args)
   (let* ((options (parse-opts args))
          (files (option-ref options '() '()))
 (define (main args)
   (let* ((options (parse-opts args))
          (files (option-ref options '() '()))
-         (file (if (null? files) (string-append %docdir "examples/main.c")
-                   (car files)))
+         (file (car files))
          (preprocess? (option-ref options 'E #f))
          (compile? (option-ref options 'c #f))
          (debug-info? (option-ref options 'g #f))
          (preprocess? (option-ref options 'E #f))
          (compile? (option-ref options 'c #f))
          (debug-info? (option-ref options 'g #f))
index 04b05f20400183e4198ce4ee0cd5af3ccddc30fc..8be7ca89f8c4c7f01e772a2512beda5b3afe27d6 100755 (executable)
--- a/make.scm
+++ b/make.scm
@@ -248,6 +248,19 @@ exec ${GUILE-guile} --no-auto-compile -L . -L guile -C . -C guile -s "$0" ${1+"$
 
 ;;(add-target (group "check-scaffold" #:dependencies (filter (target-prefix? "check-scaffold") %targets)))
 
 
 ;;(add-target (group "check-scaffold" #:dependencies (filter (target-prefix? "check-scaffold") %targets)))
 
+(add-target (bin.gcc "scaffold/main.c"))
+(add-target (check "scaffold/main.gcc" #:exit 42))
+
+(add-target (bin.gcc "scaffold/main.c" #:libc #f))
+(add-target (check "scaffold/main.mlibc-gcc" #:exit 42))
+
+(add-target (bin.mescc "scaffold/main.c" #:libc mini-libc-mes.E))
+(add-target (check "scaffold/main.mini-guile" #:exit 42))
+
+(add-target (bin.mescc "scaffold/main.c"))
+(add-target (check "scaffold/main.guile" #:exit 42))
+
+
 (add-target (bin.gcc "scaffold/hello.c"))
 (add-target (check "scaffold/hello.gcc" #:exit 42))
 
 (add-target (bin.gcc "scaffold/hello.c"))
 (add-target (check "scaffold/hello.gcc" #:exit 42))
 
diff --git a/scaffold/main.c b/scaffold/main.c
new file mode 100644 (file)
index 0000000..5ac0120
--- /dev/null
@@ -0,0 +1,25 @@
+/* -*-comment-start: "//";comment-end:""-*-
+ * Mes --- Maxwell Equations of Software
+ * Copyright © 2016,2017 Jan Nieuwenhuizen <janneke@gnu.org>
+ *
+ * This file is part of Mes.
+ *
+ * Mes is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 3 of the License, or (at
+ * your option) any later version.
+ *
+ * Mes is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with Mes.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+int
+main (int argc, char *argv[])
+{
+  return 42;
+}
index 542621e003eccdf4b8d7d1ca4e3093964adfa79f..677ea56d5cbdc859cbe2f72429b62a5906f5146e 100755 (executable)
@@ -119,8 +119,7 @@ Usage: mescc.mes [OPTION]... FILE...
   (let* ((args (cons* (car args) (cdr (member "--" args))))
          (options (parse-opts args))
          (files (option-ref options '() '()))
   (let* ((args (cons* (car args) (cdr (member "--" args))))
          (options (parse-opts args))
          (files (option-ref options '() '()))
-         (file (if (null? files) (string-append %docdir "examples/main.c")
-                   (car files)))
+         (file (car files))
          (preprocess? (option-ref options 'E #f))
          (compile? (option-ref options 'c #f))
          (debug-info? (option-ref options 'g #f))
          (preprocess? (option-ref options 'E #f))
          (compile? (option-ref options 'c #f))
          (debug-info? (option-ref options 'g #f))