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/conv/conv.h"
#include "libc/conv/strlol.h"
#include "libc/conv/strlol.internal.h"
#include "libc/limits.h"
/**
@@ -29,4 +29,6 @@
* @note calling strtoimax() directly with base 0 permits greater
* flexibility in terms of inputs
*/
int atoi(const char *s) { return STRLOL(s, NULL, 10, INT_MIN, INT_MAX); }
int atoi(const char *s) {
return STRLOL(s, NULL, 10, INT_MIN, INT_MAX);
}

View File

@@ -18,7 +18,9 @@
│ 02110-1301 USA │
╚─────────────────────────────────────────────────────────────────────────────*/
#include "libc/conv/conv.h"
#include "libc/conv/strlol.h"
#include "libc/conv/strlol.internal.h"
#include "libc/limits.h"
long atol(const char *s) { return STRLOL(s, NULL, 10, LONG_MIN, LONG_MAX); }
long atol(const char *s) {
return STRLOL(s, NULL, 10, LONG_MIN, LONG_MAX);
}

View File

@@ -18,7 +18,7 @@
│ 02110-1301 USA │
╚─────────────────────────────────────────────────────────────────────────────*/
#include "libc/conv/conv.h"
#include "libc/conv/strlol.h"
#include "libc/conv/strlol.internal.h"
#include "libc/limits.h"
long long atoll(const char *s) {

View File

@@ -18,7 +18,7 @@
│ 02110-1301 USA │
╚─────────────────────────────────────────────────────────────────────────────*/
#include "libc/conv/conv.h"
#include "libc/conv/isslash.h"
#include "libc/conv/isslash.internal.h"
#include "libc/str/str.h"
/**

View File

@@ -18,7 +18,7 @@
│ 02110-1301 USA │
╚─────────────────────────────────────────────────────────────────────────────*/
#include "libc/conv/conv.h"
#include "libc/conv/isslash.h"
#include "libc/conv/isslash.internal.h"
/**
* Returns pointer to last filename component in path.

View File

@@ -8,13 +8,6 @@
│ cosmopolitan § conversion ─╬─│┼
╚────────────────────────────────────────────────────────────────────────────│*/
/**
* COBOL timestamp (1601) for UNIX epoch (1970).
*
* It's a well-known fact in the social sciences that the introduction
* of the UNIX operation system signalled the end of modernity. Windows
* timestamps are living proof.
*/
#define MODERNITYSECONDS 11644473600ull
#define HECTONANOSECONDS 10000000ull

View File

@@ -18,7 +18,7 @@
│ 02110-1301 USA │
╚─────────────────────────────────────────────────────────────────────────────*/
#include "libc/conv/conv.h"
#include "libc/conv/isslash.h"
#include "libc/conv/isslash.internal.h"
/**
* Returns true if pathname could be absolute on any known platform.

View File

@@ -2,9 +2,9 @@
#define COSMOPOLITAN_LIBC_CONV_ITOA_H_
#if !(__ASSEMBLER__ + __LINKER__ + 0)
COSMOPOLITAN_C_START_
/*
/*───────────────────────────────────────────────────────────────────────────│─╗
│ cosmopolitan § integer conversion ─╬─│┼
╚────────────────────────────────────────────────────────────────────────────│─╝
FASTEST + TINY
- uint64toarray_radix10(0x31337, a) l: 68 (20ns) m: 112 (33ns)
@@ -14,9 +14,7 @@ COSMOPOLITAN_C_START_
- snprintf(a, sizeof(a), "%d", 0x31337) l: 199 (58ns) m: 421 (123ns)
- uint128toarray_radix10(0x31337, a) l: 93 (27ns) m: 141 (41ns)
- int128toarray_radix10(0x31337, a) l: 96 (28ns) m: 173 (51ns)
*/
- int128toarray_radix10(0x31337, a) l: 96 (28ns) m: 173 (51ns) */
size_t int64toarray_radix10(int64_t, char[hasatleast 21]);
size_t uint64toarray_radix10(uint64_t, char[hasatleast 21]);

View File

@@ -18,7 +18,7 @@
│ 02110-1301 USA │
╚─────────────────────────────────────────────────────────────────────────────*/
#include "libc/conv/conv.h"
#include "libc/conv/strlol.h"
#include "libc/conv/strlol.internal.h"
#include "libc/limits.h"
/**

View File

@@ -18,7 +18,7 @@
│ 02110-1301 USA │
╚─────────────────────────────────────────────────────────────────────────────*/
#include "libc/conv/conv.h"
#include "libc/conv/strlol.h"
#include "libc/conv/strlol.internal.h"
#include "libc/limits.h"
long long strtoll(const char *s, char **endptr, int optional_base) {

View File

@@ -18,7 +18,7 @@
│ 02110-1301 USA │
╚─────────────────────────────────────────────────────────────────────────────*/
#include "libc/conv/conv.h"
#include "libc/conv/strlol.h"
#include "libc/conv/strlol.internal.h"
#include "libc/limits.h"
unsigned long strtoul(const char *s, char **endptr, int optional_base) {

View File

@@ -18,7 +18,7 @@
│ 02110-1301 USA │
╚─────────────────────────────────────────────────────────────────────────────*/
#include "libc/conv/conv.h"
#include "libc/conv/strlol.h"
#include "libc/conv/strlol.internal.h"
#include "libc/limits.h"
unsigned long long strtoull(const char *s, char **endptr, int optional_base) {

View File

@@ -18,7 +18,7 @@
│ 02110-1301 USA │
╚─────────────────────────────────────────────────────────────────────────────*/
#include "libc/conv/conv.h"
#include "libc/conv/wcslol.h"
#include "libc/conv/wcslol.internal.h"
#include "libc/limits.h"
#include "libc/str/str.h"