Skip to content

Commit bc5692c

Browse files
committed
website: add Tools page & menu
1 parent 272d4f8 commit bc5692c

File tree

7 files changed

+412
-116
lines changed

7 files changed

+412
-116
lines changed

website/docs/getting-started/_overview.mdx

Lines changed: 0 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -4,15 +4,5 @@
44
The project home page groups the available tools as main tools
55
and suplementary tools.
66

7-
The intended use case for the **main tools** is building and testing **C/C++
8-
projects**, with an emphasis on **embedded projects**.
9-
10-
The **supplementary tools** were needed to build the main tools.
11-
Since these tools are exclusively
12-
built on macOS and GNU/Linux, to reduce maintenance efforts, for now
13-
there are no Windows binaries. However, the projects are versatile and can be
14-
used in any builds; if necessary, Windows binaries can be added in future
15-
releases.
16-
177
All projects are open source and are hosted in the GitHub Organization
188
[`xpack-dev-tools`](https://github.com/xpack-dev-tools/);

website/docs/tools/index.mdx

Lines changed: 93 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,93 @@
1+
---
2+
title: The xPack Binary Development Tools
3+
description: The list of binary tools.
4+
keywords:
5+
- xpack
6+
- xpack-dev-tools.github.io
7+
- tools
8+
- main
9+
- supplementary
10+
11+
date: 2024-10-14 12:32:00 +0300
12+
13+
---
14+
15+
<head><title>{frontMatter.title}</title></head>
16+
<head><meta property="og:title" content={frontMatter.title}/></head>
17+
18+
import customField from '@site/src/libs/customField';
19+
20+
{/* ------------------------------------------------------------------------ */}
21+
22+
# {frontMatter.title}
23+
24+
There are several tools, grouped by their expected use.
25+
26+
## Main tools
27+
28+
The intended use case for the **main tools** is building and testing **C/C++
29+
projects**, with an emphasis on **embedded projects**, but native projects
30+
can benefit as well.
31+
32+
### Toolchains
33+
34+
The core tools are the toolchains. There are two Arm Embedded GCC toolchains,
35+
one for 32-bit devices (`arm-none-eabi-gcc`) and one for 64-bit devices
36+
(`aarch64-none-elf-gcc`). The second supported embedded architecture is
37+
RISC-V, with the `riscv-none-elf-gcc` toolchain that supports both 32 and
38+
64-bit devices.
39+
40+
For native builds, the two main toolchains (`gcc` and `clang`) are supported.
41+
42+
To cross-build Windows projects, the `mingw-w64-gcc` toolchain is included.
43+
44+
### Build tools
45+
46+
The main system build generators (`cmake` and `meson`) are supported.
47+
48+
As a modern replacement to make, the `ninja` small build system is included.
49+
50+
### Emulators
51+
52+
To test the Arm and RISC-V executables, the `qemu-system-arm`,
53+
`qemu-system-aarch64` and `qemu-system-riscv` emulators are supported.
54+
55+
### OpenOCD
56+
57+
To flash and debug bare metal boards, the `openocd` on-chip debugger
58+
in incuded.
59+
60+
## Supplementary tools
61+
62+
The **supplementary tools** were needed to build the main tools.
63+
Since these tools are exclusively
64+
built on macOS and GNU/Linux, to reduce maintenance efforts, for now
65+
there are no Windows binaries. However, the projects are versatile and can be
66+
used in any builds; if necessary, Windows binaries can be added in future
67+
releases.
68+
69+
The `bison`, `flex`, `m4`, `patchelf`, `pkg-config`, `realpath`, `sed`,
70+
`wine` are provided.
71+
72+
## Work in progress
73+
74+
Some projects are not yet production ready, and need some more work.
75+
76+
## Common internal projects
77+
78+
### The xPack Build Box
79+
80+
For reproducibility, the GNU/Linux builds, that are also used
81+
to build the Windows binaries, are based on several Docker images.
82+
83+
The scripts to create these Docker images are stored in a separate project.
84+
85+
- [`xbb`](https://github.com/xpack-dev-tools/xbb)
86+
87+
### The xPack Build Box Helper
88+
89+
The build procedures for all projects have many things
90+
in common; to avoid code duplication, the common scripts and
91+
other resources were grouped in a helper project.
92+
93+
- [`xbb-helper`](https://github.com/xpack-dev-tools/xbb-helper-xpack)

website/docusaurus.config.ts

Lines changed: 22 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,12 @@ import {fileURLToPath} from 'node:url';
1515
import path from 'node:path';
1616
import fs from 'node:fs';
1717

18+
19+
import addToolsToSidebar from './src/libs/addToolsToSidebar';
20+
21+
22+
// ----------------------------------------------------------------------------
23+
1824
function getCustomFields() {
1925
const pwd = fileURLToPath(import.meta.url);
2026
// logger.info(pwd);
@@ -76,9 +82,17 @@ function getCustomFields() {
7682
}
7783
}
7884

85+
// ----------------------------------------------------------------------------
86+
7987
const customFields = getCustomFields();
8088
logger.info(customFields);
8189

90+
91+
addToolsToSidebar();
92+
93+
94+
// ----------------------------------------------------------------------------
95+
8296
const config: Config = {
8397
title: 'xPack Binary Development Tools',
8498
tagline: 'Cross-platform binary tools for software development, aimed at reproducible builds',
@@ -264,8 +278,9 @@ const config: Config = {
264278
}
265279
],
266280
navbar: {
267-
// overriden by i18n/en/docusaurus-theme-classic.
281+
// Overriden by i18n/en/docusaurus-theme-classic.
268282
title: 'The xPack Binary Development Tools',
283+
269284
logo: {
270285
alt: 'xPack Logo',
271286
src: 'img/components-256.png',
@@ -284,6 +299,12 @@ const config: Config = {
284299
to: 'docs/getting-started',
285300
position: 'left',
286301
},
302+
{
303+
type: 'docSidebar',
304+
label: 'Tools',
305+
position: 'left',
306+
sidebarId: 'toolsSidebar'
307+
},
287308
{
288309
label: 'About',
289310
to: 'docs/about',

website/sidebars.ts

Lines changed: 126 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,132 @@ const sidebars: SidebarsConfig = {
3030
label: 'About'
3131
},
3232
],
33+
toolsSidebar: [
34+
{
35+
type: 'doc',
36+
label: 'Tools',
37+
id: 'tools/index'
38+
},
39+
{
40+
type: 'category',
41+
label: 'Main Tools',
42+
collapsed: false,
43+
items: [
44+
{
45+
type: 'link',
46+
label: 'xPack GNU AArch64 Embedded GCC',
47+
href: 'https://xpack-dev-tools.github.io/aarch64-none-elf-gcc-xpack/',
48+
},
49+
{
50+
type: 'link',
51+
label: 'xPack GNU Arm Embedded GCC',
52+
href: 'https://xpack-dev-tools.github.io/arm-none-eabi-gcc-xpack/',
53+
},
54+
{
55+
type: 'link',
56+
label: 'xPack LLVM clang',
57+
href: 'https://xpack-dev-tools.github.io/clang-xpack/',
58+
},
59+
{
60+
type: 'link',
61+
label: 'xPack CMake',
62+
href: 'https://xpack-dev-tools.github.io/cmake-xpack/',
63+
},
64+
{
65+
type: 'link',
66+
label: 'xPack GNU GCC',
67+
href: 'https://xpack-dev-tools.github.io/gcc-xpack/',
68+
},
69+
{
70+
type: 'link',
71+
label: 'xPack Meson Build',
72+
href: 'https://xpack-dev-tools.github.io/meson-build-xpack/',
73+
},
74+
{
75+
type: 'link',
76+
label: 'xPack MinGW-w64 GCC',
77+
href: 'https://xpack-dev-tools.github.io/mingw-w64-gcc-xpack/',
78+
},
79+
{
80+
type: 'link',
81+
label: 'xPack Ninja Build',
82+
href: 'https://xpack-dev-tools.github.io/ninja-build-xpack/',
83+
},
84+
{
85+
type: 'link',
86+
label: 'xPack OpenOCD',
87+
href: 'https://xpack-dev-tools.github.io/openocd-xpack/',
88+
},
89+
{
90+
type: 'link',
91+
label: 'xPack QEMU Arm',
92+
href: 'https://xpack-dev-tools.github.io/qemu-arm-xpack/',
93+
},
94+
{
95+
type: 'link',
96+
label: 'xPack QEMU RISC-V',
97+
href: 'https://xpack-dev-tools.github.io/qemu-riscv-xpack/',
98+
},
99+
{
100+
type: 'link',
101+
label: 'xPack GNU RISC-V Embedded GCC',
102+
href: 'https://xpack-dev-tools.github.io/riscv-none-elf-gcc-xpack/',
103+
},
104+
{
105+
type: 'link',
106+
label: 'xPack Windows Build Tools',
107+
href: 'https://xpack-dev-tools.github.io/windows-build-tools-xpack/',
108+
},
109+
]
110+
},
111+
{
112+
type: 'category',
113+
label: 'Supplementary Tools',
114+
collapsed: true,
115+
items: [
116+
{
117+
type: 'link',
118+
label: 'xPack bison',
119+
href: 'https://xpack-dev-tools.github.io/bison-xpack/',
120+
},
121+
{
122+
type: 'link',
123+
label: 'xPack flex',
124+
href: 'https://xpack-dev-tools.github.io/flex-xpack/',
125+
},
126+
{
127+
type: 'link',
128+
label: 'xPack GNU m4',
129+
href: 'https://xpack-dev-tools.github.io/m4-xpack/',
130+
},
131+
{
132+
type: 'link',
133+
label: 'xPack NixOS PatchELF',
134+
href: 'https://xpack-dev-tools.github.io/patchelf-xpack/',
135+
},
136+
{
137+
type: 'link',
138+
label: 'xPack pkg-config',
139+
href: 'https://xpack-dev-tools.github.io/pkg-config-xpack/',
140+
},
141+
{
142+
type: 'link',
143+
label: 'xPack GNU realpath',
144+
href: 'https://xpack-dev-tools.github.io/realpath-xpack/',
145+
},
146+
{
147+
type: 'link',
148+
label: 'xPack GNU sed',
149+
href: 'https://xpack-dev-tools.github.io/sed-xpack/',
150+
},
151+
{
152+
type: 'link',
153+
label: 'xPack WineHQ',
154+
href: 'https://xpack-dev-tools.github.io/wine-xpack/',
155+
},
156+
]
157+
},
158+
]
33159
};
34160

35161
export default sidebars;

0 commit comments

Comments
 (0)