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

@ -58,7 +58,7 @@
#define AVIR_CIMAGERESIZER_INCLUDED
#include "third_party/avir/notice.h"
#include "libc/bits/xmmintrin.h"
#include "libc/bits/xmmintrin.internal.h"
#include "libc/str/str.h"
#include "libc/mem/mem.h"
#include "libc/bits/bits.h"

View file

@ -17,11 +17,11 @@
#define AVIR_FLOAT4_SSE_INCLUDED
#include "third_party/avir/avir.h"
#include "libc/bits/mmintrin.h"
#include "libc/bits/xmmintrin.h"
#include "libc/bits/xmmintrin.h"
#include "libc/bits/xmmintrin.h"
#include "libc/bits/emmintrin.h"
#include "libc/bits/mmintrin.internal.h"
#include "libc/bits/xmmintrin.internal.h"
#include "libc/bits/xmmintrin.internal.h"
#include "libc/bits/xmmintrin.internal.h"
#include "libc/bits/emmintrin.internal.h"
namespace avir {

View file

@ -16,12 +16,12 @@
#ifndef AVIR_FLOAT8_AVX_INCLUDED
#define AVIR_FLOAT8_AVX_INCLUDED
#include "libc/bits/mmintrin.h"
#include "libc/bits/avxintrin.h"
#include "libc/bits/smmintrin.h"
#include "libc/bits/pmmintrin.h"
#include "libc/bits/avx2intrin.h"
#include "libc/bits/xmmintrin.h"
#include "libc/bits/mmintrin.internal.h"
#include "libc/bits/avxintrin.internal.h"
#include "libc/bits/smmintrin.internal.h"
#include "libc/bits/pmmintrin.internal.h"
#include "libc/bits/avx2intrin.internal.h"
#include "libc/bits/xmmintrin.internal.h"
#include "third_party/avir/avir_dil.h"
namespace avir {

View file

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

View file

@ -17,7 +17,7 @@
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
02110-1301 USA
*/
#include "libc/bits/xmmintrin.h"
#include "libc/bits/xmmintrin.internal.h"
#include "libc/runtime/runtime.h"
#include "third_party/avir/lanczos1f.h"
namespace {

View file

@ -1,5 +1,5 @@
#include "libc/mem/mem.h"
#include "third_party/dlmalloc/dlmalloc.h"
#include "third_party/dlmalloc/dlmalloc.internal.h"
/**
* Frees and clears (sets to NULL) each non-null pointer in the given

View file

@ -1,5 +1,5 @@
#include "libc/str/str.h"
#include "third_party/dlmalloc/dlmalloc.h"
#include "third_party/dlmalloc/dlmalloc.internal.h"
void *dlcalloc(size_t n_elements, size_t elem_size) {
void *mem;

View file

@ -1,6 +1,6 @@
#include "libc/mem/mem.h"
#include "libc/str/str.h"
#include "third_party/dlmalloc/dlmalloc.h"
#include "third_party/dlmalloc/dlmalloc.internal.h"
/*
Common support for independent_X routines, handling
@ -152,7 +152,7 @@ static void **ialloc(mstate m, size_t n_elements, size_t *sizes, int opts,
* int n = read_number_of_nodes_needed();
* if (n <= 0) return 0;
* pool = (struct Node**)(independent_calloc(n, sizeof(struct Node), 0);
* if (pool == 0) die();
* if (pool == 0) __die();
* // organize into a linked list...
* struct Node* first = pool[0];
* for (i = 0; i < n-1; ++i)
@ -206,8 +206,7 @@ void **dlindependent_calloc(size_t n_elements, size_t elem_size,
* int msglen = strlen(msg);
* size_t sizes[3] = { sizeof(struct Head), msglen, sizeof(struct Foot) };
* void* chunks[3];
* if (independent_comalloc(3, sizes, chunks) == 0)
* die();
* if (independent_comalloc(3, sizes, chunks) == 0) __die();
* struct Head* head = (struct Head*)(chunks[0]);
* char* body = (char*)(chunks[1]);
* struct Foot* foot = (struct Foot*)(chunks[2]);

View file

@ -1,4 +1,4 @@
#include "third_party/dlmalloc/dlmalloc.h"
#include "third_party/dlmalloc/dlmalloc.internal.h"
/* Check properties of any chunk, whether free, inuse, mmapped etc */
forceinline void do_check_any_chunk(mstate m, mchunkptr p) {

View file

@ -1,5 +1,5 @@
#include "libc/mem/mem.h"
#include "third_party/dlmalloc/dlmalloc.h"
#include "third_party/dlmalloc/dlmalloc.internal.h"
size_t dlmalloc_usable_size(const void* mem) {
if (mem != 0) {

View file

@ -1,5 +1,5 @@
#include "libc/bits/initializer.h"
#include "libc/bits/safemacros.h"
#include "libc/bits/initializer.internal.h"
#include "libc/bits/safemacros.internal.h"
#include "libc/calls/internal.h"
#include "libc/calls/struct/sysinfo.h"
#include "libc/conv/conv.h"
@ -14,7 +14,7 @@
#include "libc/sysv/consts/map.h"
#include "libc/sysv/consts/prot.h"
#include "libc/sysv/errfuns.h"
#include "third_party/dlmalloc/dlmalloc.h"
#include "third_party/dlmalloc/dlmalloc.internal.h"
STATIC_YOINK("_init_dlmalloc");

View file

@ -1,6 +1,6 @@
#include "third_party/dlmalloc/dlmalloc.h"
#include "libc/mem/mem.h"
#include "libc/str/str.h"
#include "third_party/dlmalloc/dlmalloc.internal.h"
/**
* Prints on stderr the amount of space obtained from the system (both

View file

@ -1,4 +1,4 @@
#include "third_party/dlmalloc/dlmalloc.h"
#include "third_party/dlmalloc/dlmalloc.internal.h"
/* Realloc using mmap */
static mchunkptr mmap_resize(mstate m, mchunkptr oldp, size_t nb, int flags) {

View file

@ -1,7 +1,7 @@
#include "libc/bits/bits.h"
#include "libc/mem/mem.h"
#include "libc/sysv/errfuns.h"
#include "third_party/dlmalloc/dlmalloc.h"
#include "third_party/dlmalloc/dlmalloc.internal.h"
void* dlmemalign$impl(mstate m, size_t alignment, size_t bytes) {
void* mem = 0;

View file

@ -1,5 +1,5 @@
#include "libc/mem/mem.h"
#include "third_party/dlmalloc/dlmalloc.h"
#include "third_party/dlmalloc/dlmalloc.internal.h"
void *dlmemalign(size_t alignment, size_t bytes) {
if (alignment <= MALLOC_ALIGNMENT) return dlmalloc(bytes);

View file

@ -1,7 +1,7 @@
#include "libc/errno.h"
#include "libc/mem/mem.h"
#include "libc/sysv/errfuns.h"
#include "third_party/dlmalloc/dlmalloc.h"
#include "third_party/dlmalloc/dlmalloc.internal.h"
int dlposix_memalign(void** pp, size_t alignment, size_t bytes) {
void* mem;

View file

@ -1,5 +1,5 @@
#include "libc/mem/mem.h"
#include "third_party/dlmalloc/dlmalloc.h"
#include "third_party/dlmalloc/dlmalloc.internal.h"
void *dlpvalloc(size_t bytes) {
size_t pagesz;

View file

@ -1,6 +1,6 @@
#include "libc/str/str.h"
#include "libc/sysv/errfuns.h"
#include "third_party/dlmalloc/dlmalloc.h"
#include "third_party/dlmalloc/dlmalloc.internal.h"
void *dlrealloc(void *oldmem, size_t bytes) {
void *mem = 0;

View file

@ -1,6 +1,6 @@
#include "libc/mem/mem.h"
#include "libc/sysv/errfuns.h"
#include "third_party/dlmalloc/dlmalloc.h"
#include "third_party/dlmalloc/dlmalloc.internal.h"
void *dlrealloc_in_place(void *oldmem, size_t bytes) {
void *mem = 0;

View file

@ -1,5 +1,5 @@
#include "libc/mem/mem.h"
#include "third_party/dlmalloc/dlmalloc.h"
#include "third_party/dlmalloc/dlmalloc.internal.h"
void *dlvalloc(size_t bytes) {
size_t pagesz;

View file

@ -1,5 +1,5 @@
#include "libc/mem/mem.h"
#include "third_party/dlmalloc/dlmalloc.h"
#include "third_party/dlmalloc/dlmalloc.internal.h"
/**
* Returns (by copy) a struct containing various summary statistics:

View file

@ -1,5 +1,5 @@
#include "libc/mem/mem.h"
#include "third_party/dlmalloc/dlmalloc.h"
#include "third_party/dlmalloc/dlmalloc.internal.h"
/**
* Returns the number of bytes obtained from the system. The total

View file

@ -1,6 +1,6 @@
#include "libc/limits.h"
#include "libc/mem/mem.h"
#include "third_party/dlmalloc/dlmalloc.h"
#include "third_party/dlmalloc/dlmalloc.internal.h"
/**
* Returns the number of bytes that the heap is allowed to obtain from

View file

@ -1,5 +1,5 @@
#include "libc/mem/mem.h"
#include "third_party/dlmalloc/dlmalloc.h"
#include "third_party/dlmalloc/dlmalloc.internal.h"
static void internal_inspect_all(mstate m,
void (*handler)(void* start, void* end,

View file

@ -1,5 +1,5 @@
#include "libc/mem/mem.h"
#include "third_party/dlmalloc/dlmalloc.h"
#include "third_party/dlmalloc/dlmalloc.internal.h"
/**
* Returns the maximum number of bytes obtained from the system. This

View file

@ -1,6 +1,6 @@
#include "libc/limits.h"
#include "libc/mem/mem.h"
#include "third_party/dlmalloc/dlmalloc.h"
#include "third_party/dlmalloc/dlmalloc.internal.h"
/**
* Sets the maximum number of bytes to obtain from the system, causing

View file

@ -1,5 +1,5 @@
#include "libc/mem/mem.h"
#include "third_party/dlmalloc/dlmalloc.h"
#include "third_party/dlmalloc/dlmalloc.internal.h"
/**
* If possible, gives memory back to the system (via negative arguments

View file

@ -1,6 +1,6 @@
#include "libc/limits.h"
#include "libc/mem/mem.h"
#include "third_party/dlmalloc/dlmalloc.h"
#include "third_party/dlmalloc/dlmalloc.internal.h"
/**
* Sets memory allocation parameter.

View file

@ -18,9 +18,9 @@
02110-1301 USA
*/
#include "libc/conv/itoa.h"
#include "libc/runtime/missioncritical.h"
#include "libc/runtime/runtime.h"
#include "libc/str/str.h"
#include "third_party/dlmalloc/dlmalloc.h"
#include "third_party/dlmalloc/dlmalloc.internal.h"
static uintptr_t lastfree_;

View file

@ -2,7 +2,7 @@
#include "libc/stdio/stdio.h"
#include "libc/runtime/runtime.h"
#include "libc/macros.h"
#include "libc/calls/openbsd.h"
#include "libc/calls/openbsd.internal.h"
/* $OpenBSD: flexdef.h,v 1.15 2015/11/19 23:48:06 tedu Exp $ */

View file

@ -56,8 +56,8 @@ asm(".include \"third_party/lex/COPYING\"");
#include "libc/x/x.h"
#include "libc/runtime/runtime.h"
#include "libc/x/x.h"
#include "libc/bits/safemacros.h"
#include "libc/bits/safemacros.h"
#include "libc/bits/safemacros.internal.h"
#include "libc/bits/safemacros.internal.h"
#include "tables.h"
static char flex_version[] = FLEX_VERSION;

View file

@ -43,8 +43,7 @@
#include "libc/stdio/stdio.h" /* fprintf, fopen, ftello */
#include "libc/time/time.h" /* clock_t, clock, CLOCKS_PER_SEC */
#include "libc/assert.h"
#include "libc/bits/initializer.h"
#include "libc/bits/initializer.h"
#include "libc/bits/initializer.internal.h"
#include "libc/runtime/runtime.h" /* assert */
#include "datagen.h" /* RDG_genBuffer */

View file

@ -54,7 +54,7 @@
#include "third_party/lz4cli/lz4hc.h" /* still required for legacy format */
#define LZ4F_STATIC_LINKING_ONLY
#include "libc/runtime/runtime.h"
#include "libc/bits/initializer.h"
#include "libc/bits/initializer.internal.h"
#include "third_party/lz4cli/lz4frame.h"

View file

@ -40,7 +40,7 @@
* by: oz
*/
#include "libc/bits/safemacros.h"
#include "libc/bits/safemacros.internal.h"
#include "libc/conv/conv.h"
#include "libc/errno.h"
#include "libc/limits.h"

View file

@ -44,7 +44,7 @@ asm(".include \"third_party/m4/COPYING\"");
#include "libc/assert.h"
#include "libc/log/bsd.h"
#include "libc/calls/openbsd.h"
#include "libc/calls/openbsd.internal.h"
#include "libc/calls/calls.h"
#include "libc/sysv/consts/sig.h"
#include "third_party/getopt/getopt.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/fmt/fmt.h"
#include "libc/str/str.h"
#include "third_party/regex/regex.h"

View file

@ -35,6 +35,8 @@
#include "third_party/stb/internal.h"
#include "third_party/stb/stb_image.h"
#define ROL(w, k) ((w) << (k) | CheckUnsigned(w) >> (sizeof(w) * 8 - (k)))
asm(".ident\t\"\\n\\n\
stb_image (Public Domain)\\n\
Credit: Sean Barrett, et al.\\n\

View file

@ -5,8 +5,8 @@
Use of this source code is governed by the BSD-style licenses that can
be found in the third_party/zlib/LICENSE file.
*/
#include "libc/bits/emmintrin.h"
#include "libc/bits/tmmintrin.h"
#include "libc/bits/emmintrin.internal.h"
#include "libc/bits/tmmintrin.internal.h"
#include "third_party/zlib/internal.h"
asm(".ident\t\"\\n\\n\

View file

@ -1,6 +1,6 @@
#ifndef THIRD_PARTY_ZLIB_CHUNKCOPY_H
#define THIRD_PARTY_ZLIB_CHUNKCOPY_H
#include "libc/bits/emmintrin.h"
#include "libc/bits/emmintrin.internal.h"
#include "third_party/zlib/zutil.h"
asm(".ident\t\"\\n\\n\

View file

@ -5,10 +5,10 @@
Use of this source code is governed by the BSD-style licenses that can
be found in the third_party/zlib/LICENSE file.
*/
#include "libc/bits/emmintrin.h"
#include "libc/bits/smmintrin.h"
#include "libc/bits/tmmintrin.h"
#include "libc/bits/wmmintrin.h"
#include "libc/bits/emmintrin.internal.h"
#include "libc/bits/smmintrin.internal.h"
#include "libc/bits/tmmintrin.internal.h"
#include "libc/bits/wmmintrin.internal.h"
#include "libc/runtime/runtime.h"
#include "libc/str/str.h"
#include "third_party/zlib/deflate.h"

View file

@ -5,7 +5,7 @@
Use of this source code is governed by the BSD-style licenses that can
be found in the third_party/zlib/LICENSE file.
*/
#include "libc/bits/emmintrin.h"
#include "libc/bits/emmintrin.internal.h"
#include "libc/str/str.h"
#include "third_party/zlib/deflate.h"
#include "third_party/zlib/internal.h"