-
-
Notifications
You must be signed in to change notification settings - Fork 645
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
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
Showing
2 changed files
with
39 additions
and
9 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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 | ||
``` |