Get Cosmopolitan into releasable state

A new rollup tool now exists for flattening out the headers in a way
that works better for our purposes than cpp. A lot of the API clutter
has been removed. APIs that aren't a sure thing in terms of general
recommendation are now marked internal.

There's now a smoke test for the amalgamation archive and gigantic
header file. So we can now guarantee you can use this project on the
easiest difficulty setting without the gigantic repository.

A website is being created, which is currently a work in progress:
https://justine.storage.googleapis.com/cosmopolitan/index.html
This commit is contained in:
Justine Tunney 2020-11-25 08:19:00 -08:00
parent dba7552c1e
commit ea0b5d9d1c
775 changed files with 6864 additions and 3963 deletions

View file

@ -18,7 +18,7 @@
02110-1301 USA
*/
#include "libc/assert.h"
#include "libc/fmt/bing.h"
#include "libc/fmt/bing.internal.h"
#include "libc/str/str.h"
/**

View file

@ -31,7 +31,7 @@
be thread safe).
*/
#include "libc/fmt/paland.inc"
#include "libc/fmt/palandprintf.h"
#include "libc/fmt/palandprintf.internal.h"
#include "libc/math.h"
/**

View file

@ -27,7 +27,7 @@
#include "libc/assert.h"
#include "libc/conv/conv.h"
#include "libc/fmt/paland.inc"
#include "libc/fmt/palandprintf.h"
#include "libc/fmt/palandprintf.internal.h"
uintmax_t __udivmodti4(uintmax_t, uintmax_t, uintmax_t *);

View file

@ -41,7 +41,7 @@
#include "libc/conv/conv.h"
#include "libc/fmt/fmt.h"
#include "libc/fmt/paland.inc"
#include "libc/fmt/palandprintf.h"
#include "libc/fmt/palandprintf.internal.h"
#include "libc/mem/mem.h"
#include "libc/runtime/internal.h"
#include "libc/str/str.h"

View file

@ -1,8 +1,8 @@
#ifndef COSMOPOLITAN_LIBC_FMT_PFLINK_H_
#define COSMOPOLITAN_LIBC_FMT_PFLINK_H_
#include "libc/dce.h"
#if !(__ASSEMBLER__ + __LINKER__ + 0)
#ifndef __STRICT_ANSI__
#include "libc/dce.h"
/**
* @fileoverview builtin+preprocessor+linker tricks for printf/scanf.
@ -37,7 +37,7 @@
STATIC_YOINK("malloc"); \
STATIC_YOINK("calloc"); \
STATIC_YOINK("free_s"); \
STATIC_YOINK("grow"); \
STATIC_YOINK("__grow"); \
} \
FMT; \
})

View file

@ -17,7 +17,7 @@
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
02110-1301 USA
*/
#include "libc/fmt/palandprintf.h"
#include "libc/fmt/palandprintf.internal.h"
int spacepad(int out(long, void *), void *arg, unsigned long n) {
int i, rc;

View file

@ -19,8 +19,8 @@
*/
#include "libc/bits/weaken.h"
#include "libc/fmt/paland.inc"
#include "libc/fmt/palandprintf.h"
#include "libc/nexgen32e/tinystrlen.h"
#include "libc/fmt/palandprintf.internal.h"
#include "libc/nexgen32e/tinystrlen.internal.h"
#include "libc/str/str.h"
#include "libc/str/thompike.h"
#include "libc/str/tpenc.h"

View file

@ -17,7 +17,7 @@
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
02110-1301 USA
*/
#include "libc/bits/safemacros.h"
#include "libc/bits/safemacros.internal.h"
#include "libc/dce.h"
#include "libc/errno.h"
#include "libc/fmt/fmt.h"

View file

@ -1,28 +0,0 @@
#ifndef COSMOPOLITAN_LIBC_FMT_TYPEFMT_H_
#define COSMOPOLITAN_LIBC_FMT_TYPEFMT_H_
#if !(__ASSEMBLER__ + __LINKER__ + 0)
COSMOPOLITAN_C_START_
/**
* Returns printf directive to format scalar type of expression.
*
* @see TYPE_NAME()
*/
#define TYPE_FMT(X, DXOB, UXOB) \
_Generic((X), long double \
: "Lf", double \
: "f", float \
: "f", char \
: "c", signed char \
: "hh" DXOB, unsigned char \
: "hh" UXOB, short \
: "h" DXOB, unsigned short \
: "h" UXOB, int \
: DXOB, unsigned \
: UXOB, long \
: "l" DXOB, unsigned long \
: "l" UXOB)
COSMOPOLITAN_C_END_
#endif /* !(__ASSEMBLER__ + __LINKER__ + 0) */
#endif /* COSMOPOLITAN_LIBC_FMT_TYPEFMT_H_ */

View file

@ -76,7 +76,7 @@ static textstartup void g_cp437i_init() {
unsigned i;
for (i = 0; i < 256; ++i) g_cp437i[i] = kCp437[i] << 8 | i;
memcpy(g_cp437i + 256, kCp437iMultimappings, sizeof(kCp437iMultimappings));
djbsort(ARRAYLEN(g_cp437i), g_cp437i);
djbsort(g_cp437i, ARRAYLEN(g_cp437i));
}
const void *const g_cp437i_ctor[] initarray = {g_cp437i_init};

View file

@ -18,7 +18,7 @@
02110-1301 USA
*/
#include "libc/assert.h"
#include "libc/fmt/bing.h"
#include "libc/fmt/bing.internal.h"
#include "libc/str/str.h"
void *unhexbuf(void *buf, size_t size, const char *hexdigs) {

View file

@ -22,8 +22,9 @@
#include "libc/fmt/fmt.h"
#include "libc/mem/mem.h"
#include "libc/runtime/runtime.h"
#include "libc/str/oldutf16.internal.h"
#include "libc/str/str.h"
#include "libc/str/tpdecodecb.h"
#include "libc/str/tpdecodecb.internal.h"
#include "libc/sysv/errfuns.h"
/**
@ -232,7 +233,7 @@ int vcscanf(int callback(void *), void *arg, const char *fmt, va_list va) {
size_t j = 0;
for (;;) {
if (ismalloc && !width && j + 2 + 1 >= bufsize &&
!weaken(grow)(&buf, &bufsize, charbytes, 0)) {
!weaken(__grow)(&buf, &bufsize, charbytes, 0)) {
width = bufsize - 1;
}
if (c != -1 && j + !rawmode < bufsize && (rawmode || !isspace(c))) {

View file

@ -17,7 +17,7 @@
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
02110-1301 USA
*/
#include "libc/bits/safemacros.h"
#include "libc/bits/safemacros.internal.h"
#include "libc/dce.h"
#include "libc/fmt/fmt.h"
#include "libc/limits.h"