From 0ba240a4e0f7c6216ae3b0635dfd465425892f2f Mon Sep 17 00:00:00 2001 From: Jan Nieuwenhuizen Date: Wed, 23 May 2018 13:37:55 +0200 Subject: [PATCH] build: Build mini-libc and libc+tcc-gcc too. * include/getopt.h[__GNUC__ && POSIX]: Only use include_next. * lib/libc+tcc-gcc.c[POSIX](longjmp, setjmp, __udivdi3, __umoddi3): Remove. * build-aux/build-cc.sh: Build mini-libc-gcc and libc+tcc-gcc too. * build-aux/build-mlibc.sh: Build mini-libc-gcc too. --- build-aux/build-cc.sh | 3 ++- build-aux/build-mlibc.sh | 1 + include/getopt.h | 3 ++- lib/libc+tcc-gcc.c | 4 ++++ lib/mini-libc-mes.c | 2 -- lib/mini-libc.c | 8 +++++++- 6 files changed, 16 insertions(+), 5 deletions(-) diff --git a/build-aux/build-cc.sh b/build-aux/build-cc.sh index 930c97bd..b147c001 100755 --- a/build-aux/build-cc.sh +++ b/build-aux/build-cc.sh @@ -46,7 +46,8 @@ build-aux/mes-snarf.scm src/posix.c build-aux/mes-snarf.scm src/reader.c build-aux/mes-snarf.scm src/vector.c +NOLINK=1 sh build-aux/cc.sh lib/mini-libc-gcc NOLINK=1 sh build-aux/cc.sh lib/libc-gcc -#NOLINK=1 sh build-aux/cc.sh lib/libc+tcc-gcc +NOLINK=1 sh build-aux/cc.sh lib/libc+tcc-gcc sh build-aux/cc.sh src/mes diff --git a/build-aux/build-mlibc.sh b/build-aux/build-mlibc.sh index 9d10fb5e..1739cf63 100755 --- a/build-aux/build-mlibc.sh +++ b/build-aux/build-mlibc.sh @@ -59,6 +59,7 @@ C32FLAGS=${C32FLAGS-" "} NOLINK=1 sh build-aux/cc-mlibc.sh lib/crt1 +NOLINK=1 sh build-aux/cc-mlibc.sh lib/mini-libc-gcc NOLINK=1 sh build-aux/cc-mlibc.sh lib/libc-gcc NOLINK=1 sh build-aux/cc-mlibc.sh lib/libc+tcc-gcc diff --git a/include/getopt.h b/include/getopt.h index c7362caa..3c0aa1b5 100644 --- a/include/getopt.h +++ b/include/getopt.h @@ -32,7 +32,6 @@ #include int isdigit (int); int isxdigit (int); -#endif // ! (__GNUC__ && POSIX) char *optarg; int optind; @@ -56,5 +55,7 @@ int getopt (int argc, char *const *argv, char const *shortopts); int getopt_long (int argc, char *const *argv, char const *shortopts, struct option const *longopts, int *longind); +#endif // ! (__GNUC__ && POSIX) + #endif // __MES_GETOPT_H diff --git a/lib/libc+tcc-gcc.c b/lib/libc+tcc-gcc.c index 703e6495..0f7135e1 100644 --- a/lib/libc+tcc-gcc.c +++ b/lib/libc+tcc-gcc.c @@ -34,6 +34,8 @@ #include #include +#if !POSIX + int errno; void @@ -95,3 +97,5 @@ __umoddi3 (unsigned long long a, unsigned long long b) int bi = b; return ai % bi; } + +#endif // !POSIX diff --git a/lib/mini-libc-mes.c b/lib/mini-libc-mes.c index 11083def..5aa1b856 100644 --- a/lib/mini-libc-mes.c +++ b/lib/mini-libc-mes.c @@ -19,6 +19,4 @@ */ #include - -typedef unsigned long size_t; #include diff --git a/lib/mini-libc.c b/lib/mini-libc.c index ff0377ec..23b07254 100644 --- a/lib/mini-libc.c +++ b/lib/mini-libc.c @@ -1,6 +1,6 @@ /* -*-comment-start: "//";comment-end:""-*- * Mes --- Maxwell Equations of Software - * Copyright © 2016,2017 Jan (janneke) Nieuwenhuizen + * Copyright © 2016,2017,2018 Jan (janneke) Nieuwenhuizen * * This file is part of Mes. * @@ -18,6 +18,12 @@ * along with Mes. If not, see . */ +#ifndef __MES_SIZE_T +#define __MES_SIZE_T +#undef size_t +typedef unsigned long size_t; +#endif + size_t strlen (char const* s) {