Skip to content

Commit 0df9c83

Browse files
committed
docs: update readme and include all on 1st page
1 parent feb3771 commit 0df9c83

File tree

4 files changed

+50
-66
lines changed

4 files changed

+50
-66
lines changed

docs/.vitepress/config.mts

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,6 @@ export default defineConfig({
1515
},
1616
nav: [
1717
{ text: "Home", link: "/" },
18-
{ text: "Readme", link: "/readme" },
1918
{ text: "Releases", link: "https://files.dyne.org/?dir=musl" },
2019
],
2120
socialLinks: [

docs/.vitepress/theme/custom.css

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,3 +5,8 @@
55
:root:not(.dark) img {
66
filter: invert(0);
77
}
8+
9+
.spacer {
10+
height: 4rem;
11+
width: 100%;
12+
}

docs/index.md

Lines changed: 11 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -5,40 +5,35 @@ layout: home
55
hero:
66
name: "C / C++ toolchains"
77
text: "For static builds."
8-
tagline: Direct downloads ~50 MB each<br/>Extract into /opt/musl-dyne
8+
tagline: "Direct downloads ~50 MB each<br/>Extract into /opt/dyne, works in any distro."
99
image:
1010
src: musl-logo-infinity-optimized.svg
1111
alt: Hands-on, Dyne.org style
1212
actions:
13-
- theme: brand
14-
text: X86 64‑bit
15-
link: 'https://files.dyne.org/?dir=musl'
16-
- theme: brand
17-
text: ARM HF 32‑bit
18-
link: 'https://files.dyne.org/?dir=musl'
19-
- theme: brand
20-
text: ARM 64‑bit
21-
link: 'https://files.dyne.org/?dir=musl'
22-
- theme: brand
23-
text: RISC‑V 64‑bit
13+
- thene: sponsor
14+
text: "📥 DOWNLOAD: X86 64‑bit, ARM HF 32‑bit, ARM 64‑bit, RISC‑V 64‑bit"
2415
link: 'https://files.dyne.org/?dir=musl'
2516

2617
features:
2718
- title: 👟 Zero dependencies
28-
details: Produce static ELF binaries that run on any Linux distribution
19+
details: Produce static ELF binaries that run on any GNU/Linux distribution and are free to be redistributed.
2920

3021
- title: 🚀 GCC 15.1 / Binutils 2.44
31-
details: Built with recent GNU tools and musl-libc releases
22+
details: Built with recent GNU tools and musl-libc releases, libreSSL, ZLib-ng, libCURL, etc.
3223

3324
- title: 🤏 Optimized for size
34-
details: Stripped and compiled with -Os to fit anywhere
25+
details: Stripped and compiled with -Os to fit anywhere and produce the smallest binaries possible.
3526

3627
- title: 🦾 Latest C++ support
37-
details: Includes libstdc++ and libatomic for modern C++20 builds
28+
details: Includes libstdc++ and libatomic to support modern C++17 and C++20 code.
3829

3930

4031
---
4132

33+
<div class="spacer"></div>
34+
35+
<!--@include:readme.md-->
36+
4237
<!--
4338
<p>&nbsp;</p>
4439
#### One liner root install

docs/readme.md

Lines changed: 34 additions & 49 deletions
Original file line numberDiff line numberDiff line change
@@ -1,58 +1,54 @@
1-
# GNU / musl compilers by Dyne.org
1+
# 💪 GNU / musl compilers by Dyne.org
22

33
## Introduction
44

5-
This is a pre-built cross-compilation toolchain that combine the GNU
6-
compiler collection (GCC with Binutils, GMP, MPC and MPFR) with the
7-
musl C library. Pronounced "muscl", our C/C++ compiler packages are
8-
optimized to be small in size and produce static binaries,
9-
redistributed by the Dyne.org foundation.
5+
This is a **fully static**, pre-built cross-compilation toolchain for x86_64 Linux hosts (any, including WSL2 and Alpine) that combines the GNU compiler collection (GCC with Binutils, GMP, MPC and MPFR) with the musl C library (pronounced "muscle").
106

11-
Our goal is to provide x86 64-bit Linux hosts (including WSL2) with
12-
ready to use cross-compilers that build static binaries for different
13-
architectures without installing additional system packages or
14-
fighting with distribution-specific patches.
7+
Our C/C++ toolchain is optimized to be small in size, produce static binaries, and **support the latest C++20 standard** and be updated for future versions.
8+
9+
We enable bare-metal as well virtualized **builds of static binaries that run everywhere**, without installing additional system packages, chroots, docker images, qemu or dealing with distribution-specific patches.
1510

1611
## Usage
1712

18-
The hard-coded absolute path this toolchain resides is: `/opt/musl-dyne`
13+
The hard-coded absolute path this toolchain resides is: `/opt/dyne/gcc-musl`
1914

20-
One should therefore include `/opt/musl-dyne/bin` in $PATH:
15+
One should therefore include `/opt/dyne/gcc-musl/bin` in $PATH:
2116
```sh
22-
export PATH=/opt/musl-dyne/bin:$PATH
17+
export PATH=/opt/dyne/gcc-musl/bin:$PATH
2318
```
2419

2520
Look inside the bin directory for the list of executable compiler
26-
tools and setup `CC`, `CXX` and `LD` flags accordingly for each build
27-
system used by your projects.
21+
tools and setup `CC`, `CXX`, `LD` and `AR` flags accordingly for each build system used by your projects.
2822

29-
## Source components
23+
We also ship base libraries commonly used in C/C++ applications: **libreSSL, ZLib-ng, libSSH2 and libCURL**, as well ccache to speed compilation. There are found in `/opt/dyne/$ARCH` where `$ARCH` is the targetes architecture that must be installed. Multiple target architectures can be installed and coexist in `/opt/dyne`.
3024

31-
All sources are mirrored on [files.dyne.org](https://files.dyne.org/musl?dir=musl/sources)
25+
### Easy use in CMake
3226

33-
The latest build is made with:
27+
If you are using `cmake` for your builds then use our toolchain file:
28+
```sh
29+
-DCMAKE_TOOLCHAIN_FILE="/opt/dyne/gcc-musl/settings.cmake"
30+
```
31+
Make sure to config `-DARCH=""` to your target architecture, here a list of all configurable options and their defaults:
32+
```cmake
33+
# Configurable settings
34+
set(ARCH "x86_64-linux-musl" CACHE STRING "Target architecture to (cross)compile")
35+
set(CMAKE_CXX_FLAGS "-static --static -g0 -Os -fstack-protector-all -D_FORTIFY_SOURCE=2 -fno-strict-overflow" CACHE STRING "C++ Compilation flags, default set for small and secure binaries")
36+
set(CMAKE_C_FLAGS "-static --static -g0 -Os -fstack-protector-all -D_FORTIFY_SOURCE=2 -fno-strict-overflow" CACHE STRING "C Compilation flags, default set for small and secure binaries")
37+
set(ROOT "/opt" CACHE STRING "Base root prefix for installation (often referred as PREFIX or DESTDIR)")
38+
option(CCACHE "Use ccache to speed up compilation" 1)
39+
option(FOR_MUSL_DYNE "Install target will copy everything inside /opt/musl-dyne" 0)
40+
option(FORCE_STATIC "Force linker flags to build static executables (may fix or break some cases)" 0)
41+
```
3442

35-
- binutils-2.44.tar.gz
36-
- gcc-15.1.0.tar.xz
37-
- gmp-6.1.2.tar.bz2
38-
- linux-5.8.5.tar.xz
39-
- mpc-1.1.0.tar.gz
40-
- mpfr-4.0.2.tar.bz2
41-
- musl-1.2.5.tar.gz
43+
## Source components
4244

43-
plus additional base libs and utils:
45+
All sources are mirrored on [files.dyne.org](https://files.dyne.org/musl?dir=musl/sources)
4446

45-
- libressl-4.1.0
46-
- zlib-ng-2.2.4
47-
- curl-8.15.0
48-
- libssh2-1.11.1
49-
- ccache-4.11.3
47+
The latest build includes the following source components: `binutils-2.44.tar.gz`, `gcc-15.1.0.tar.xz`, `gmp-6.1.2.tar.bz2`, `linux-5.8.5.tar.xz`, `mpc-1.1.0.tar.gz`, `mpfr-4.0.2.tar.bz2`, and `musl-1.2.5.tar.gz`.
5048

51-
Build flags used: `--disable-nls --disable-libmudflap
52-
--disable-libsanitizer`. Features enabled: decimal-float, fixed-point,
53-
quadmath and lto, as well libitm to satisfy advanced C++ requirements.
54-
Debugging functions are omitted.
49+
Additional base libraries and utilities provided are `libressl-4.1.0`, `zlib-ng-2.2.4`, `curl-8.15.0`, `libssh2-1.11.1`, and `ccache-4.11.3`.
5550

51+
Build flags used: `--disable-nls --disable-libmudflap --disable-libsanitizer --disable-lto`. Features enabled: decimal-float, fixed-point, quadmath, as well libitm to satisfy advanced C++ requirements. Debugging functions are omitted.
5652

5753

5854
Builds are fully automated over CI and use semantic versioning that is
@@ -70,20 +66,9 @@ following architectures:
7066
| ARM HF 32-bit | arm_hf | `arm-linux-musleabihf` |
7167
| RISC-V 64-bit | riscv_64 | `riscv64-linux-musl` |
7268

73-
More target may be available in the future, get in touch with us if
74-
you need:
75-
76-
- `aarch64[_be]-linux-musl`
77-
- `i*86-linux-musl`
78-
- `microblaze[el]-linux-musl`
79-
- `mips-linux-musl`
80-
- `mips[el]-linux-musl[sf]`
81-
- `mips64[el]-linux-musl[n32][sf]`
82-
- `powerpc-linux-musl[sf]`
83-
- `powerpc64[le]-linux-musl`
84-
- `s390x-linux-musl`
85-
- `sh*[eb]-linux-musl[fdpic][sf]`
86-
- `x86_64-linux-musl[x32]`
69+
More target may be available in the future, [get in touch with us](mailto:info@dyne.org) if you need:
70+
71+
Supported architectures include: `aarch64[_be]-linux-musl`, `i*86-linux-musl`, `microblaze[el]-linux-musl`, `mips-linux-musl`, `mips[el]-linux-musl[sf]`, `mips64[el]-linux-musl[n32][sf]`, `powerpc-linux-musl[sf]`, `powerpc64[le]-linux-musl`, `s390x-linux-musl`, `sh*[eb]-linux-musl[fdpic][sf]`, and `x86_64-linux-musl[x32]`.
8772

8873
## Patches included
8974

0 commit comments

Comments
 (0)