20.1.8-1.1).
15 |
16 |
--------------------------------------------------------------------------------
/website/docs/maintainer/_project/_first-development-run.mdx:
--------------------------------------------------------------------------------
1 |
2 | {/* ------------------------------------------------------------------------ */}
3 |
4 | ### Bootstrap
5 |
6 | For Windows, it is necessary to build a bootstrap;
7 | for a better control, it is recommended to do a first run only to
8 | build and test only the bootstrap;
9 | for this un-comment a line in `application.sh`:
10 |
11 | ```sh
12 | XBB_APPLICATION_BOOTSTRAP_ONLY="y"
13 | ```
14 |
15 | After the bootstrap passes the tests, comment out this line and repeat to build the final binaries.
16 |
--------------------------------------------------------------------------------
/website/docs/project/history/_common/_history-gnu-arm-eclipse.mdx:
--------------------------------------------------------------------------------
1 | {/* DO NOT EDIT! */}
2 | {/* Automatically generated from docusaurus-template-liquid/templates/docusaurus. */}
3 |
4 | {/* ------------------------------------------------------------------------ */}
5 |
6 | This project commenced in **{props.date || 'DATE'}** as one of the support tools for the
7 | **GNU Arm Eclipse** plug-ins,
8 | which were subsequently rebranded as **GNU MCU Eclipse** plug-ins and are now
9 | integrated into the [Eclipse Embedded CDT](https://eclipse-embed-cdt.github.io).
10 |
--------------------------------------------------------------------------------
/website/docs/_common/_build-website-locally.mdx:
--------------------------------------------------------------------------------
1 | {/* DO NOT EDIT! */}
2 | {/* Automatically generated from docusaurus-template-liquid/templates/docusaurus. */}
3 |
4 | {/* ------------------------------------------------------------------------ */}
5 |
6 | ### Build the static website locally
7 |
8 | Validate the website content by performing a local build using the npm **build** script:
9 |
10 | ```sh
11 | npm --prefix ~/Work/xpack-dev-tools/clang-xpack.git/website run build
12 | ```
13 |
14 | Resolve any broken links that may be identified during the build process.
15 |
--------------------------------------------------------------------------------
/website/docs/maintainer/_common/_share-on-twitter.mdx:
--------------------------------------------------------------------------------
1 | {/* DO NOT EDIT! */}
2 | {/* Automatically generated from docusaurus-template-liquid/templates/docusaurus. */}
3 |
4 | {/* ------------------------------------------------------------------------ */}
5 |
6 | ## Share on X/Twitter
7 |
8 | - In a separate browser window, open [X/Twitter](https://x.com/)
9 | - Utilising the `@xpack_project` account
10 | - Paste the release name such as **xPack LLVM clang v20.1.8-1.1 released**
11 | - Paste the link to the web page
12 | [release](/docs/releases/)
13 | - Click the **Tweet** button
14 |
--------------------------------------------------------------------------------
/website/docs/maintainer/_project/_more-repos.mdx:
--------------------------------------------------------------------------------
1 |
2 | {/* ------------------------------------------------------------------------ */}
3 |
4 | Other repositories in use are:
5 |
6 | - https://github.com/mstorsjo/llvm-mingw/releases - for the Windows builds
7 | - https://github.com/xpack-dev-tools/llvm-project - a fork used to create the
8 | patches up to clang 17; the patches were accepted upstream and starting
9 | with clang 18 are no longer needed;
10 |
11 | Other projects referred are:
12 |
13 | - https://ftpmirror.gnu.org/gnu/binutils/
14 | - https://www.mingw-w64.org/source/
15 |
16 |
--------------------------------------------------------------------------------
/website/docs/project/history/index.mdx:
--------------------------------------------------------------------------------
1 | ---
2 |
3 | # DO NOT EDIT!
4 | # Automatically generated from docusaurus-template-liquid/templates/docusaurus.
5 |
6 | title: History
7 | description: The most important moments since the project was created.
8 | keywords:
9 | - xpack
10 | - clang
11 | - history
12 |
13 | date: 2024-10-24 23:58:00 +0300
14 |
15 | ---
16 |
17 | import ProjectContent from './_project/_content.mdx';
18 |
19 | {/* ------------------------------------------------------------------------ */}
20 |
21 | # The history of **xPack LLVM clang**
22 |
23 | 20.1.8-1.1)
11 | - Update the version in the top `package.json` file
12 | - Use the new version, suffixed by `.pre`,
13 | such as 20.1.8-1.1.pre.
14 |
--------------------------------------------------------------------------------
/website/docs/project/history/_common/_history-restructuring.mdx:
--------------------------------------------------------------------------------
1 | {/* DO NOT EDIT! */}
2 | {/* Automatically generated from docusaurus-template-liquid/templates/docusaurus. */}
3 |
4 | {/* ------------------------------------------------------------------------ */}
5 |
6 | The project underwent comprehensive restructuring. To streamline the top-level
7 | `package.json` by presenting only user-related definitions whilst concealing
8 | build-related ones, all build-related files were relocated to the
9 | `build-assets` folder. Furthermore, the development Git branch was
10 | renamed to `xpack-development` for enhanced clarity.
11 |
--------------------------------------------------------------------------------
/website/_xpack.github.io/pages/clang/releases.md:
--------------------------------------------------------------------------------
1 | ---
2 |
3 | title: The xPack LLVM clang releases
4 | permalink: /dev-tools/clang/releases/
5 |
6 | search: exclude
7 | github_editme: false
8 |
9 | comments: false
10 | toc: false
11 |
12 | date: 2021-05-22 00:27:00 +0300
13 |
14 | redirect_to: https://xpack-dev-tools.github.io/clang-xpack/docs/releases/
15 |
16 | ---
17 |
18 | ___
19 | {% for post in site.posts %}{% if post.categories contains "releases" %}{% if post.categories contains "clang" %}
20 | * [{{ post.title }}]({{ site.baseurl }}{{ post.url }}) [(download)]({{ post.download_url }}){% endif %}{% endif %}{% endfor %}
21 |
--------------------------------------------------------------------------------
/website/docs/maintainer/_common/_update-main-branch.mdx:
--------------------------------------------------------------------------------
1 | {/* DO NOT EDIT! */}
2 | {/* Automatically generated from docusaurus-template-liquid/templates/docusaurus. */}
3 |
4 | {/* ------------------------------------------------------------------------ */}
5 |
6 | ### Update the stable branch
7 |
8 | In this Git repository:
9 |
10 | - Select the `xpack` branch
11 | - **Merge** the `xpack-development` branch into the `xpack` branch
12 | - **Push** the `xpack` branch to GitHub
13 | - Check out the `xpack-development` branch
14 |
15 | :::note
16 |
17 | Avoid further updates to the `xpack` branch until the next release.
18 |
19 | :::
20 |
--------------------------------------------------------------------------------
/website/docs/project/history/_common/_history-setup-discontinued.mdx:
--------------------------------------------------------------------------------
1 | {/* DO NOT EDIT! */}
2 | {/* Automatically generated from docusaurus-template-liquid/templates/docusaurus. */}
3 |
4 | import Link from '@docusaurus/Link';
5 |
6 | {/* ------------------------------------------------------------------------ */}
7 |
8 | To enhance flexibility and
9 | permit multiple versions of a tool to be installed on the same system,
10 | the Windows setup format was discontinued. From
11 | version {props.releaseName || 'NAME'} onwards,
12 | for Windows, only a standard `.zip` archive is distributed.
13 |
--------------------------------------------------------------------------------
/website/docs/user/_common/_content.mdx:
--------------------------------------------------------------------------------
1 | {/* DO NOT EDIT! */}
2 | {/* Automatically generated from docusaurus-template-liquid/templates/docusaurus. */}
3 |
4 | import CommonLibrariesAndRpath from '../_common/_libraries-and-rpath.mdx';
5 |
6 | import ProjectMore from '../_project/_more.mdx';
7 | import ProjectVersioning from '../_project/_versioning.mdx';
8 | import ProjectUseInTesting from '../_project/_use-in-testing.mdx';
9 |
10 | {/* ------------------------------------------------------------------------ */}
11 |
12 |
9 |
10 | ## Credits
11 |
12 | Special thanks to **MacStadium** for providing the Apple Silicon
13 | development infrastructure as part of their generous
14 | [Free and Open Source Software](https://www.macstadium.com/company/opensource)
15 | programme.
16 |
--------------------------------------------------------------------------------
/website/docs/maintainer/_common/_prepare-release.mdx:
--------------------------------------------------------------------------------
1 | {/* DO NOT EDIT! */}
2 | {/* Automatically generated from docusaurus-template-liquid/templates/docusaurus. */}
3 |
4 | {/* ------------------------------------------------------------------------ */}
5 |
6 | ### Prepare the release
7 |
8 |
9 | - Switch to the `xpack-development` branch
10 | - If there are changes, **commit** all changes to the `xpack-development` branch
11 | - Check the latest commits `npm run git-log`
12 | - Update `CHANGELOG.md`, add a line such as _**\* v20.1.8-1.1 published on npmjs.com**_
13 | - **Commit** with the message _**CHANGELOG: publish npm v20.1.8-1.1**_
14 | - Check the list of files included in the npm package:
15 | ```sh
16 | npm run npm-pack
17 | ```
18 | - Possibly update `.npmignore`
19 |
--------------------------------------------------------------------------------
/website/docs/_common/_start-local-web-server.mdx:
--------------------------------------------------------------------------------
1 | {/* DO NOT EDIT! */}
2 | {/* Automatically generated from docusaurus-template-liquid/templates/docusaurus. */}
3 |
4 | {/* ------------------------------------------------------------------------ */}
5 |
6 | ### Start the local web server
7 |
8 | Execute the npm script **clear** followed by **start** in the website sub-project,
9 | or execute the following within the project folder:
10 |
11 | ```sh
12 | npm --prefix ~/Work/xpack-dev-tools/clang-xpack.git/website run clear
13 | npm --prefix ~/Work/xpack-dev-tools/clang-xpack.git/website run start
14 | ```
15 |
16 | Navigate to the **Maintainer Info** page,
17 | the **[Start the local web server](http://localhost:3000/clang-xpack/docs/maintainer/#start-the-local-web-server)** section.
18 |
--------------------------------------------------------------------------------
/website/docs/project/history/_common/HistoryPlatformsAdded/index.tsx:
--------------------------------------------------------------------------------
1 | /*
2 | * DO NOT EDIT!
3 | * Automatically generated from docusaurus-template-liquid/templates/docusaurus.
4 | *
5 | * This file is part of the xPack project (http://xpack.github.io).
6 | * Copyright (c) 2024-2025 Liviu Ionescu. All rights reserved.
7 | *
8 | * Permission to use, copy, modify, and/or distribute this software
9 | * for any purpose is hereby granted, under the terms of the MIT license.
10 | *
11 | * If a copy of the license was not distributed with this file, it can
12 | * be obtained from https://opensource.org/licenses/mit.
13 | */
14 |
15 | export default function HistoryPlatformsAdded({platforms}): JSX.Element {
16 | return (
17 | <>Support for {platforms} was added>
18 | );
19 | }
20 |
--------------------------------------------------------------------------------
/website/docs/project/history/_common/HistoryRenameXpack/index.tsx:
--------------------------------------------------------------------------------
1 | /*
2 | * DO NOT EDIT!
3 | * Automatically generated from docusaurus-template-liquid/templates/docusaurus.
4 | *
5 | * This file is part of the xPack project (http://xpack.github.io).
6 | * Copyright (c) 2024-2025 Liviu Ionescu. All rights reserved.
7 | *
8 | * Permission to use, copy, modify, and/or distribute this software
9 | * for any purpose is hereby granted, under the terms of the MIT license.
10 | *
11 | * If a copy of the license was not distributed with this file, it can
12 | * be obtained from https://opensource.org/licenses/mit.
13 | */
14 |
15 | export default function HistoryRenameXpack(): JSX.Element {
16 | return (
17 | <>The project was renamed xPack LLVM clang>
18 | );
19 | }
20 |
--------------------------------------------------------------------------------
/website/docs/user/index.mdx:
--------------------------------------------------------------------------------
1 | ---
2 |
3 | # DO NOT EDIT!
4 | # Automatically generated from docusaurus-template-liquid/templates/docusaurus.
5 |
6 | title: User's Guide
7 | description: User information, including the versioning scheme, usage of shared libraries, and RPATH configuration on GNU/Linux.
8 | keywords:
9 | - xpack
10 | - clang
11 | - user
12 | - guide
13 | - versioning
14 | - shared
15 | - rpath
16 |
17 | date: 2024-07-21 18:56:00 +0300
18 |
19 | ---
20 |
21 | import Content from './_common/_content.mdx';
22 |
23 | {/* ------------------------------------------------------------------------ */}
24 |
25 | # How to use xPack LLVM clang
26 |
27 | This page is intended for those who plan to integrate
28 | **xPack LLVM clang** into their workflows.
29 |
30 | .zip archives were added in parallel with Windows setup files>
18 | );
19 | }
20 |
--------------------------------------------------------------------------------
/website/docs/maintainer/_common/_first-development-run-gcc.mdx:
--------------------------------------------------------------------------------
1 |
2 | import versionMajor from '@site/src/libs/versionMajor';
3 |
4 | {/* ------------------------------------------------------------------------ */}
5 |
6 | The strategy with the development builds is to run them in descending order
7 | ({versionMajor()}.2, {versionMajor() - 1}.3, {versionMajor() - 2}.4, {versionMajor() - 3}.5).
8 |
9 | For this update the top `package.json` and `build-assets/scripts/VERSION` files
10 | and run the build scripts.
11 |
12 | After each build, save the folder hierarchies and executables, to be used
13 | in the blog posts.
14 |
15 | Then perform the steps to make the production builds in ascending order
16 | ({versionMajor() - 3}.5, {versionMajor() - 2}.4, {versionMajor() - 1}.3, {versionMajor()}.2),
17 | with full tests and website updates.
18 |
--------------------------------------------------------------------------------
/website/sidebar-docs-user-custom.js:
--------------------------------------------------------------------------------
1 | /*
2 | * This file is part of the xPack project (http://xpack.github.io).
3 | * Copyright (c) 2024-2025 Liviu Ionescu. All rights reserved.
4 | *
5 | * Permission to use, copy, modify, and/or distribute this software
6 | * for any purpose is hereby granted, under the terms of the MIT license.
7 | *
8 | * If a copy of the license was not distributed with this file, it can
9 | * be obtained from https://opensource.org/licenses/mit.
10 | */
11 |
12 | export const customDocsUserSidebarCategory = {
13 | type: 'category',
14 | label: 'User\'s Guide',
15 | link: {
16 | type: 'doc',
17 | id: 'user/index',
18 | },
19 | items: [
20 | {
21 | type: 'doc',
22 | id: 'user/index',
23 | label: 'TODO'
24 | }
25 | ]
26 | }
27 |
--------------------------------------------------------------------------------
/website/src/libs/versionMajor.js:
--------------------------------------------------------------------------------
1 | /*
2 | * DO NOT EDIT!
3 | * Automatically generated from docusaurus-template-liquid/templates/docusaurus.
4 | *
5 | * This file is part of the xPack project (http://xpack.github.io).
6 | * Copyright (c) 2024-2025 Liviu Ionescu. All rights reserved.
7 | *
8 | * Permission to use, copy, modify, and/or distribute this software
9 | * for any purpose is hereby granted, under the terms of the MIT license.
10 | *
11 | * If a copy of the license was not distributed with this file, it can
12 | * be obtained from https://opensource.org/licenses/mit.
13 | */
14 |
15 | import customField from '@site/src/libs/customField';
16 |
17 | export default function getVersionMajor() {
18 | // Remove from the first dot to the end.
19 | return parseInt(customField('upstreamVersion').replace(/[.].*/, ''), 10);
20 | }
21 |
--------------------------------------------------------------------------------
/website/src/components/LinksVsForwarders/index.tsx:
--------------------------------------------------------------------------------
1 | /*
2 | * DO NOT EDIT!
3 | * Automatically generated from docusaurus-template-liquid/templates/docusaurus.
4 | *
5 | * This file is part of the xPack project (http://xpack.github.io).
6 | * Copyright (c) 2024-2025 Liviu Ionescu. All rights reserved.
7 | *
8 | * Permission to use, copy, modify, and/or distribute this software
9 | * for any purpose is hereby granted, under the terms of the MIT license.
10 | *
11 | * If a copy of the license was not distributed with this file, it can
12 | * be obtained from https://opensource.org/licenses/mit.
13 | */
14 |
15 | import clsx from 'clsx';
16 |
17 | export default function LinksVsForwarders({isWindows}): JSX.Element {
18 | if (isWindows)
19 | return ( <>forwarder scripts> )
20 | else
21 | return ( <>symbolic links> )
22 | }
23 |
--------------------------------------------------------------------------------
/website/docs/project/history/_common/HistoryWindowsUcrt/index.tsx:
--------------------------------------------------------------------------------
1 | /*
2 | * DO NOT EDIT!
3 | * Automatically generated from docusaurus-template-liquid/templates/docusaurus.
4 | *
5 | * This file is part of the xPack project (http://xpack.github.io).
6 | * Copyright (c) 2024-2025 Liviu Ionescu. All rights reserved.
7 | *
8 | * Permission to use, copy, modify, and/or distribute this software
9 | * for any purpose is hereby granted, under the terms of the MIT license.
10 | *
11 | * If a copy of the license was not distributed with this file, it can
12 | * be obtained from https://opensource.org/licenses/mit.
13 | */
14 |
15 | export default function HistoryWindowsUcrt(): JSX.Element {
16 | return (
17 | <>In the Windows binaries, the MSVC runtime was replaced with the newer Universal C Runtime (UCRT)>
18 | );
19 | }
20 |
--------------------------------------------------------------------------------
/website/docs/faq/_common/_nixos.mdx:
--------------------------------------------------------------------------------
1 | {/* DO NOT EDIT! */}
2 | {/* Automatically generated from docusaurus-template-liquid/templates/docusaurus. */}
3 |
4 | import Link from '@docusaurus/Link';
5 |
6 | {/* ------------------------------------------------------------------------ */}
7 |
8 | npmjs.com as {specifier ? specifier : '@xpack-dev-tools/clang'}>
18 | );
19 | }
20 |
--------------------------------------------------------------------------------
/website/docs/install/_common/_initialise-the-project.mdx:
--------------------------------------------------------------------------------
1 | {/* DO NOT EDIT! */}
2 | {/* Automatically generated from docusaurus-template-liquid/templates/docusaurus. */}
3 |
4 | {/* ------------------------------------------------------------------------ */}
5 |
6 | ### Initialise the project
7 |
8 | Upon initial use, ensure that a `package.json` file is present in the
9 | project root folder.
10 |
11 | This may be achieved by executing `xpm init` in the desired project folder
12 | (substitute `my-project` accordingly):
13 |
14 | ```sh
15 | cd my-project
16 | xpm init
17 | ```
18 |
19 | 20.1.8;
16 | to this string the xPack distribution adds a fourth number,
17 | but since [SemVer](https://semver.org) allows only three numbers,
18 | all additional ones can
19 | be added only as pre-release strings, separated by a dash,
20 | such as 20.1.8-1. When
21 | published as an npm package, the version receives
22 | a fifth number,
23 | such as 20.1.8-1.1.
24 |
25 | Since adherence of third-party packages to SemVer is not guaranteed,
26 | it is recommended to avoid referencing the xPack LLVM clang dependency via
27 | SemVer expressions
28 | such as ^20.1.8-1 or ~20.1.8-1, and
29 | prefer exact matches,
30 | such as 20.1.8-1.1.
31 |
--------------------------------------------------------------------------------
/.vscode/launch.json:
--------------------------------------------------------------------------------
1 | {
2 | // Use IntelliSense to learn about possible attributes.
3 | // Hover to view descriptions of existing attributes.
4 | // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
5 | "version": "0.2.0",
6 | "configurations": [
7 | {
8 | "type": "lldb",
9 | "request": "launch",
10 | "name": "clang -v",
11 | // "program": "${workspaceFolder}/xpacks/@xpack-dev-tools/clang pointing to the
19 | versioned folder in the user's global xPacks store
20 | * add links/forwarders into
21 | the local `xpacks/.bin` folder, referring to the binaries in
22 | xpacks/@xpack-dev-tools/clang/.content/bin;
23 |
24 | * add @xpack-dev-tools/clang to
25 | `package.json` as a
26 | development dependency; this associates a specific version of xPack LLVM clang with
27 | the current project (details below).
28 |
29 | :::tip
30 |
31 | The installation location may be configured using the
32 | `XPACKS_STORE_FOLDER` environment variable; for more details please refer to the
33 | [xpm folders](https://xpack.github.io/xpm/folders/) page.
34 |
35 | :::
36 |
37 | .zip or .tar.gz) archives;
19 | therefore they do not require the execution of any uninstaller; simply removing the
20 | links and possibly the user's global xPacks store folder and
21 | the user xPack cache folder is sufficient.
22 |
23 | To remove the links created by
24 | **xpm** in the current project,
25 | navigate to the project folder:
26 |
27 | ```sh
28 | cd my-project
29 | ```
30 |
31 | and request **xpm** to uninstall the package:
32 |
33 | {props.helperBranchName} branch and link it to the
15 | user's global xPacks store:
16 |
17 | {description}
32 |{siteConfig.tagline} 34 | 35 | 36 | 37 | 38 | 39 |
40 |xpm install.
37 | This feature also ensures reproducibility, which is particularly
38 | beneficial in CI/CD environments.
39 | >
40 | ),
41 | },
42 | {
43 | title: 'Part of the Node.js ecosystem',
44 | Svg: require('@site/static/img/globe.svg').default,
45 | description: (
46 | <>
47 | The xpm CLI tool
48 | complements npm with
49 | several extra features specific to C/C++ projects.
50 | This allows the
51 | binary packages to nicely integrate into the Node.js ecosystem,
52 | while still allowing the binary archives to be installed manually.
53 | >
54 | ),
55 | },
56 | ];
57 |
--------------------------------------------------------------------------------
/website/docs/developer/_common/_platform-native-section.mdx:
--------------------------------------------------------------------------------
1 | {/* DO NOT EDIT! */}
2 | {/* Automatically generated from docusaurus-template-liquid/templates/docusaurus. */}
3 |
4 | import CodeBlock from '@theme/CodeBlock';
5 |
6 | import {developmentDurations} from '@site/docs/_project/_development-durations.mdx';
7 |
8 | {/* ------------------------------------------------------------------------ */}
9 |
10 | {/* Arguments: props.platform */}
11 |
12 | To prepare the native build:
13 |
14 | build-assets/build/{props.platform}/deploy folder:
47 |
48 | - xpack-clang-20.1.8-1-{props.platform}.tar.gz
49 | - xpack-clang-20.1.8-1-{props.platform}.tar.gz.sha
50 |
51 | To re-execute the build, invoke the **deep-clean** action and repeat from installation:
52 |
53 | The Windows builds execute on GNU/Linux, utilising mingw-w64.
) : ''} 13 | 14 | To prepare the docker build: 15 | 16 |build-assets/build/{props.platform}/deploy folder:
50 |
51 | - xpack-clang-20.1.8-1-{props.platform}.tar.gz
52 | - xpack-clang-20.1.8-1-{props.platform}.tar.gz.sha
53 |
54 | To re-execute the build, invoke the **deep-clean** action and repeat from installation:
55 |
56 | build-assets/build/{props.platform}/deploy folder:
43 |
44 | - xpack-clang-20.1.8-1-{props.platform}.tar.gz
45 | - xpack-clang-20.1.8-1-{props.platform}.tar.gz.sha
46 |
47 | To update the build scripts and build the release binaries:
48 |
49 | build-assets/build/{props.platform}/deploy folder:
43 |
44 | - xpack-clang-20.1.8-1-{props.platform}.{props.platform === 'win32-x64' ? 'zip' : 'tar.gz'}
45 | - xpack-clang-20.1.8-1-{props.platform}.{props.platform === 'win32-x64' ? 'zip' : 'tar.gz'}.sha
46 |
47 | To update the build scripts and build the release binaries:
48 |
49 |