mescc: Mes C Library: Support make: Implement clock_gettime, time.
[mes.git] / lib / libc+tcc.c
1 /* -*-comment-start: "//";comment-end:""-*-
2  * GNU Mes --- Maxwell Equations of Software
3  * Copyright © 2017,2018 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
4  *
5  * This file is part of GNU Mes.
6  *
7  * GNU Mes is free software; you can redistribute it and/or modify it
8  * under the terms of the GNU General Public License as published by
9  * the Free Software Foundation; either version 3 of the License, or (at
10  * your option) any later version.
11  *
12  * GNU Mes is distributed in the hope that it will be useful, but
13  * WITHOUT ANY WARRANTY; without even the implied warranty of
14  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15  * GNU General Public License for more details.
16  *
17  * You should have received a copy of the GNU General Public License
18  * along with GNU Mes.  If not, see <http://www.gnu.org/licenses/>.
19  */
20
21 #include <errno.h>
22 #include <fcntl.h>
23 #include <limits.h>
24 #include <setjmp.h>
25 #include <stdarg.h>
26 #include <stdio.h>
27 #include <stdlib.h>
28 #include <string.h>
29 #include <time.h>
30 #include <signal.h>
31 #include <sys/mman.h>
32 #include <sys/stat.h>
33 #include <sys/time.h>
34 #include <unistd.h>
35
36 #include <libc.c>
37
38 #if __GNU__
39 #include <hurd/tcc.c>
40 #elif __linux__
41 #include <linux/tcc.c>
42 #else
43 #error both __GNU__ and _linux__ are undefined, choose one
44 #endif
45
46 #if __MESC__
47 #include <x86-mes/setjmp.c>
48 #elif __i386__
49 #include <x86-mes-gcc/setjmp.c>
50 #elif __x86_64__
51 #include <x86_64-mes-gcc/setjmp.c>
52 #else
53 #error arch not supported
54 #endif
55
56 #include <ctype/islower.c>
57 #include <ctype/isupper.c>
58 #include <ctype/tolower.c>
59 #include <ctype/toupper.c>
60 #include <mes/search-path.c>
61 #include <posix/execvp.c>
62 #include <stdio/fclose.c>
63 #include <stdio/fdopen.c>
64 #include <stdio/ferror.c>
65 #include <stdio/fflush.c>
66 #include <stdio/fopen.c>
67 #include <stdio/fprintf.c>
68 #include <stdio/fread.c>
69 #include <stdio/fseek.c>
70 #include <stdio/ftell.c>
71 #include <stdio/fwrite.c>
72 #include <stdio/printf.c>
73 #include <stdio/remove.c>
74 #include <stdio/snprintf.c>
75 #include <stdio/sprintf.c>
76 #include <stdio/sscanf.c>
77 #include <stdio/vfprintf.c>
78 #include <stdio/vprintf.c>
79 #include <stdio/vsnprintf.c>
80 #include <stdio/vsprintf.c>
81 #include <stdio/vsscanf.c>
82 #include <stdlib/calloc.c>
83 #include <stdlib/qsort.c>
84 #include <stdlib/strtof.c>
85 #include <stdlib/strtol.c>
86 #include <stdlib/strtold.c>
87 #include <stdlib/strtoll.c>
88 #include <stdlib/strtoul.c>
89 #include <stdlib/strtoull.c>
90 #include <string/memcmp.c>
91 #include <string/memmem.c>
92 #include <string/memmove.c>
93 #include <string/memset.c>
94 #include <string/strcat.c>
95 #include <string/strchr.c>
96 #include <string/strlwr.c>
97 #include <string/strncpy.c>
98 #include <string/strrchr.c>
99 #include <string/strstr.c>
100 #include <string/strupr.c>
101 #include <stub/sigaction.c>
102 #include <stub/ldexp.c>
103 #include <stub/mprotect.c>
104 #include <stub/localtime.c>
105 #include <stub/strtod.c>
106 #include <stub/sigemptyset.c>