Skip to content

Commit

Permalink
Cosmopolitan 0.1
Browse files Browse the repository at this point in the history
All 196 tests passing on the following systems is confirmed:

  - Alpine Linux 5.4.43
  - Debian Linux 10 Buster 4.19.0
  - Red Hat Enterprise Linux 7 3.10.0
  - Red Hat Enterprise Linux 5 2.6.18
  - XNU 19.6.0
  - Windows 7
  - Windows 10
  - FreeBSD 12.1
  - OpenBSD 6.8

Proof:

  https://justine.lol/cosmopolitan/cosmopolitan-0.1.png

My name is Justine Tunney and I approve this release.
  • Loading branch information
jart committed Jan 29, 2021
1 parent 971bc81 commit 7ce8ccb
Show file tree
Hide file tree
Showing 2 changed files with 39 additions and 9 deletions.
2 changes: 1 addition & 1 deletion Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,7 @@
# build/config.mk

SHELL = /bin/sh
HOSTS ?= freebsd openbsd rhel7 rhel5 xnu win10
HOSTS ?= freebsd openbsd rhel7 rhel5 xnu win7 win10
SANITY := $(shell build/sanitycheck $$PPID)
GNUMAKEFLAGS += --output-sync

Expand Down
46 changes: 38 additions & 8 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,10 +1,40 @@
# Cosmopolitan

Fast portable static native textmode executable containers.

For an introduction to this project, please read the <a
href="https://justine.lol/ape.html">αcτµαlly pδrταblε εxεcµταblε</a>
blog post and <a
href="https://justine.lol/cosmopolitan/index.html">cosmopolitan libc</a>
website. API documentation is available <a
href="https://justine.lol/cosmopolitan/documentation.html">here</a>.
[Cosmopolitan Libc](https://justine.lol/cosmopolitan/index.html) makes C
a build-once run-anywhere language, like Java, except it doesn't need an
interpreter or virtual machine. Instead, it reconfigures stock GCC to
output a POSIX-approved polyglot format that runs natively on Linux +
Mac + Windows + FreeBSD + OpenBSD + BIOS with the best possible
performance and the tiniest footprint imaginable.

## Background

For an introduction to this project, please read the [αcτµαlly pδrταblε
εxεcµταblε](https://justine.lol/ape.html) blog post and [cosmopolitan
libc](https://justine.lol/cosmopolitan/index.html) website. We also have
[API documentation](https://justine.lol/cosmopolitan/documentation.html).

## Getting Started

Here's how to get started with the freestanding hermetically-sealed
monolithic source repository:

```sh
tar xf cosmopolitan-0.1.tar.gz # see our releases page
cd cosmo
make -j12
o//examples/hello.com
```

Here's how to get started with the amalgamated binaries, which let you
bring your own build system:

```sh
unzip cosmopolitan-amalgamated-0.1.zip # see our releases page
echo 'main() { printf("hello world\n"); }' >hello.c
gcc -g -O -static -fno-pie -no-pie -mno-red-zone -nostdlib -nostdinc \
-o hello.com.dbg hello.c -Wl,--gc-sections -Wl,-z,max-page-size=0x1000 -fuse-ld=bfd \
-Wl,-T,ape.lds -include cosmopolitan.h crt.o ape.o cosmopolitan.a
objcopy -SO binary hello.com.dbg hello.com
./hello.com
```

0 comments on commit 7ce8ccb

Please sign in to comment.