├── .gitmodules ├── website ├── static │ ├── .nojekyll │ ├── .gitignore │ ├── img │ │ ├── favicon.ico │ │ ├── pdf-24.png │ │ ├── logo-256.png │ │ ├── components-256.png │ │ ├── download-icon.png │ │ ├── sunrise-og-image.jpg │ │ ├── README.md │ │ ├── web.svg │ │ ├── web-dark.svg │ │ ├── windows-svgrepo-com-dark.svg │ │ ├── windows-svgrepo-com.svg │ │ ├── mosaic.svg │ │ ├── globe.svg │ │ ├── apple-svgrepo-com-dark.svg │ │ ├── apple-svgrepo-com.svg │ │ ├── bulb-on-svgrepo-com.svg │ │ ├── bulb-on-svgrepo-com-dark.svg │ │ ├── web-globe-dark.svg │ │ ├── web-globe.svg │ │ └── check-badge.svg │ ├── favicons │ │ ├── favicon.ico │ │ ├── favicon-48x48.png │ │ ├── apple-touch-icon.png │ │ ├── web-app-manifest-192x192.png │ │ ├── web-app-manifest-512x512.png │ │ └── site.webmanifest │ └── robots.txt ├── doxygen │ └── .gitignore ├── docs │ ├── faq │ │ ├── _project │ │ │ └── _content.mdx │ │ ├── _common │ │ │ ├── _flatpack-snap.mdx │ │ │ └── _nixos.mdx │ │ └── index.mdx │ ├── maintainer │ │ ├── _project │ │ │ ├── _more.mdx │ │ │ ├── _share-custom.mdx │ │ │ ├── _first-production-run.mdx │ │ │ ├── _patches.mdx │ │ │ ├── _first-development-run.mdx │ │ │ ├── _more-repos.mdx │ │ │ ├── _more-tests.mdx │ │ │ ├── _check-upstream-release.mdx │ │ │ └── _update-version-specific.mdx │ │ ├── _common │ │ │ ├── _close-milestone.mdx │ │ │ ├── _ci-tests.mdx │ │ │ ├── _update-website-config.mdx │ │ │ ├── _close-open-issues.mdx │ │ │ ├── _fix-open-issues.mdx │ │ │ ├── _share-on-twitter.mdx │ │ │ ├── _set-new-version.mdx │ │ │ ├── _increase-version.mdx │ │ │ ├── _update-main-branch.mdx │ │ │ ├── _publish-release.mdx │ │ │ ├── _gcc-check-upstream-release.mdx │ │ │ ├── _check-git.mdx │ │ │ ├── _prepare-release.mdx │ │ │ ├── _first-development-run-gcc.mdx │ │ │ ├── _tag-npm-latest.mdx │ │ │ ├── _update-changelog.mdx │ │ │ ├── _prepare-new-blog-post.mdx │ │ │ ├── _analytics.mdx │ │ │ ├── _platform-native-build.mdx │ │ │ └── _platform-docker-build.mdx │ │ └── index.mdx │ ├── install │ │ ├── _project │ │ │ ├── _miscellaneous.mdx │ │ │ ├── _testing.mdx │ │ │ ├── _manual-install-quick-test.mdx │ │ │ └── _automatic-install-quick-test.mdx │ │ ├── _common │ │ │ ├── _initialise-the-project.mdx │ │ │ ├── _xpm-package-refresher.mdx │ │ │ ├── _installation-details.mdx │ │ │ ├── _uninstall.mdx │ │ │ ├── _reproducibility-and-dependencies.mdx │ │ │ ├── _automatic-install-quick-test.mdx │ │ │ └── _manual-install-quick-test.mdx │ │ └── index.mdx │ ├── getting-started │ │ ├── _project │ │ │ ├── _more-credits.mdx │ │ │ ├── _more-licenses.mdx │ │ │ ├── _other-benefits.mdx │ │ │ ├── _upgrade-notice.mdx │ │ │ ├── _status.mdx │ │ │ ├── _compatibility.mdx │ │ │ └── _overview.mdx │ │ ├── _common │ │ │ ├── _releases.mdx │ │ │ ├── _install-preamble.mdx │ │ │ ├── _change-log.mdx │ │ │ ├── _support-and-feedback.mdx │ │ │ ├── _details-reproducible-operations.mdx │ │ │ ├── _license.mdx │ │ │ ├── _user-developer-maintainer.mdx │ │ │ ├── _credits-mac-stadium.mdx │ │ │ ├── _enjoyed-using.mdx │ │ │ ├── _benefits.mdx │ │ │ ├── _features.mdx │ │ │ ├── _content.mdx │ │ │ └── _what-are-xpm-packages.mdx │ │ └── index.mdx │ ├── user │ │ ├── _project │ │ │ ├── _use-in-testing.mdx │ │ │ └── _versioning.mdx │ │ ├── _common │ │ │ ├── _content.mdx │ │ │ ├── _versioning.mdx │ │ │ └── _libraries-and-rpath.mdx │ │ └── index.mdx │ ├── developer │ │ ├── _project │ │ │ ├── _other-repositories.mdx │ │ │ └── _more.mdx │ │ ├── index.mdx │ │ └── _common │ │ │ ├── _platform-native-section.mdx │ │ │ └── _platform-docker-section.mdx │ ├── project │ │ ├── about │ │ │ ├── _project │ │ │ │ ├── _more-intro.mdx │ │ │ │ └── _website.mdx │ │ │ ├── _common │ │ │ │ ├── _the-project-history.mdx │ │ │ │ ├── _intro-primary.mdx │ │ │ │ ├── _website-docusaurus-doxygen-template.mdx │ │ │ │ ├── _website-jekyll.mdx │ │ │ │ ├── _website-docusaurus-template.mdx │ │ │ │ ├── _the-project.mdx │ │ │ │ ├── _intro-secondary.mdx │ │ │ │ ├── _website-docusaurus-migration.mdx │ │ │ │ └── _the-author.mdx │ │ │ └── index.mdx │ │ └── history │ │ │ ├── _common │ │ │ ├── _history-rename-xpack.mdx │ │ │ ├── _history-gnu-arm-eclipse.mdx │ │ │ ├── _history-restructuring.mdx │ │ │ ├── _history-setup-discontinued.mdx │ │ │ ├── HistoryPlatformsAdded │ │ │ │ └── index.tsx │ │ │ ├── HistoryRenameXpack │ │ │ │ └── index.tsx │ │ │ ├── _history-xbb-v5.mdx │ │ │ ├── HistoryAppleSiliconAdded │ │ │ │ └── index.tsx │ │ │ ├── History32bitDiscontinued │ │ │ │ └── index.tsx │ │ │ ├── HistoryArmLinuxAdded │ │ │ │ └── index.tsx │ │ │ ├── HistoryZipAdded │ │ │ │ └── index.tsx │ │ │ ├── HistoryWindowsUcrt │ │ │ │ └── index.tsx │ │ │ └── HistoryXpm │ │ │ │ └── index.tsx │ │ │ ├── index.mdx │ │ │ └── _project │ │ │ └── _content.mdx │ ├── _project │ │ ├── _documentation.mdx │ │ ├── _github-actions-durations.mdx │ │ ├── _development-durations.mdx │ │ └── _release-schedule.mdx │ ├── _common │ │ ├── _release-schedule-continuous.mdx │ │ ├── _update-top-commons.mdx │ │ ├── _update-website-commons.mdx │ │ ├── _build-website-locally.mdx │ │ ├── _generate-website-commons.mdx │ │ ├── _symbolic-links-require-ntfs.mdx │ │ ├── _generate-top-commons.mdx │ │ ├── _prepare-website.mdx │ │ ├── _start-local-web-server.mdx │ │ ├── _continuous-integration.mdx │ │ ├── _prerequisites.mdx │ │ ├── _code-formatting.mdx │ │ ├── _branches-details.mdx │ │ ├── _xpm-clean-ups.mdx │ │ ├── _publish-website.mdx │ │ ├── _get-helper-sources-details.mdx │ │ ├── _get-project-sources.mdx │ │ └── _manual-tests.mdx │ ├── releases │ │ └── index.mdx │ └── tests │ │ └── index.md ├── blog │ ├── tags.yml │ ├── authors.yml │ ├── _common │ │ ├── _prerequisites-glib-2.28.mdx │ │ ├── _prerequisites-glib-2.27.mdx │ │ ├── _deprecation-notices-glib-2.28.mdx │ │ ├── _deprecation-notices-glib-2.27.mdx │ │ └── _download-analytics.mdx │ ├── 2024-09-18-web-site.mdx │ ├── 2025-02-13-xbb.mdx │ └── _templates │ │ └── blog-post-release-part-2-liquid.mdx ├── babel.config.js ├── README.md ├── .gitignore ├── tsconfig.json ├── sidebar-user.js ├── authors.yml ├── _xpack.github.io │ └── pages │ │ └── clang │ │ ├── releases.md │ │ ├── faq.md │ │ ├── support.md │ │ └── index.md ├── src │ ├── components │ │ ├── HomepageFeatures │ │ │ ├── styles.module.css │ │ │ ├── FeatureItem.tsx │ │ │ ├── index.tsx │ │ │ └── FeatureList.tsx │ │ ├── LinksVsForwarders │ │ │ └── index.tsx │ │ ├── InstallWithCopy │ │ │ └── index.tsx │ │ ├── HeadTitle │ │ │ └── index.tsx │ │ └── ReleasesList │ │ │ └── index.tsx │ ├── libs │ │ ├── dateYYYYMMDD.ts │ │ ├── versionMajor.ts │ │ ├── isXpackSubversionDouble.js │ │ ├── customField.ts │ │ ├── versionMajor.js │ │ ├── versionMinor.ts │ │ └── versionMinor.js │ ├── pages │ │ ├── index.module.css │ │ └── index.tsx │ └── plugins │ │ ├── SelectReleasesPlugin.js │ │ └── DocusaurusContentDocsWithDoxygenWrapper.js ├── sidebar-docs-user-custom.js ├── sidebars.ts ├── docusaurus-config-redirects.ts └── customFields.ts ├── .github ├── keepalive ├── workflows │ ├── body-github-pre-releases-test.md │ ├── keepalive.yml │ └── test-sourceforge-downloads.yml ├── copilot-instructions.md └── FUNDING.yml ├── LICENSE ├── .vscode ├── settings.json └── launch.json ├── README.md ├── .npmignore └── .gitignore /.gitmodules: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /website/static/.nojekyll: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /website/doxygen/.gitignore: -------------------------------------------------------------------------------- 1 | 2 | html 3 | xml 4 | -------------------------------------------------------------------------------- /website/static/.gitignore: -------------------------------------------------------------------------------- 1 | 2 | reference 3 | doxygen 4 | -------------------------------------------------------------------------------- /.github/keepalive: -------------------------------------------------------------------------------- 1 | Last keepalive: Mon Dec 1 00:23:16 UTC 2025 2 | -------------------------------------------------------------------------------- /website/static/img/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xpack-dev-tools/clang-xpack/HEAD/website/static/img/favicon.ico -------------------------------------------------------------------------------- /website/static/img/pdf-24.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xpack-dev-tools/clang-xpack/HEAD/website/static/img/pdf-24.png -------------------------------------------------------------------------------- /website/docs/faq/_project/_content.mdx: -------------------------------------------------------------------------------- 1 | 2 | {/* ------------------------------------------------------------------------ */} 3 | -------------------------------------------------------------------------------- /website/static/img/logo-256.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xpack-dev-tools/clang-xpack/HEAD/website/static/img/logo-256.png -------------------------------------------------------------------------------- /website/docs/maintainer/_project/_more.mdx: -------------------------------------------------------------------------------- 1 | 2 | {/* ------------------------------------------------------------------------ */} 3 | -------------------------------------------------------------------------------- /website/static/favicons/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xpack-dev-tools/clang-xpack/HEAD/website/static/favicons/favicon.ico -------------------------------------------------------------------------------- /website/docs/install/_project/_miscellaneous.mdx: -------------------------------------------------------------------------------- 1 | 2 | {/* ------------------------------------------------------------------------ */} 3 | -------------------------------------------------------------------------------- /website/static/img/components-256.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xpack-dev-tools/clang-xpack/HEAD/website/static/img/components-256.png -------------------------------------------------------------------------------- /website/static/img/download-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xpack-dev-tools/clang-xpack/HEAD/website/static/img/download-icon.png -------------------------------------------------------------------------------- /website/docs/maintainer/_project/_share-custom.mdx: -------------------------------------------------------------------------------- 1 | 2 | {/* ------------------------------------------------------------------------ */} 3 | -------------------------------------------------------------------------------- /website/static/img/sunrise-og-image.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xpack-dev-tools/clang-xpack/HEAD/website/static/img/sunrise-og-image.jpg -------------------------------------------------------------------------------- /website/docs/getting-started/_project/_more-credits.mdx: -------------------------------------------------------------------------------- 1 | 2 | {/* ------------------------------------------------------------------------ */} 3 | -------------------------------------------------------------------------------- /website/docs/getting-started/_project/_more-licenses.mdx: -------------------------------------------------------------------------------- 1 | 2 | {/* ------------------------------------------------------------------------ */} 3 | -------------------------------------------------------------------------------- /website/docs/getting-started/_project/_other-benefits.mdx: -------------------------------------------------------------------------------- 1 | 2 | {/* ------------------------------------------------------------------------ */} 3 | -------------------------------------------------------------------------------- /website/docs/getting-started/_project/_upgrade-notice.mdx: -------------------------------------------------------------------------------- 1 | 2 | {/* ------------------------------------------------------------------------ */} 3 | -------------------------------------------------------------------------------- /website/docs/maintainer/_project/_first-production-run.mdx: -------------------------------------------------------------------------------- 1 | 2 | {/* ------------------------------------------------------------------------ */} 3 | -------------------------------------------------------------------------------- /website/static/favicons/favicon-48x48.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xpack-dev-tools/clang-xpack/HEAD/website/static/favicons/favicon-48x48.png -------------------------------------------------------------------------------- /website/static/favicons/apple-touch-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xpack-dev-tools/clang-xpack/HEAD/website/static/favicons/apple-touch-icon.png -------------------------------------------------------------------------------- /website/static/favicons/web-app-manifest-192x192.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xpack-dev-tools/clang-xpack/HEAD/website/static/favicons/web-app-manifest-192x192.png -------------------------------------------------------------------------------- /website/static/favicons/web-app-manifest-512x512.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xpack-dev-tools/clang-xpack/HEAD/website/static/favicons/web-app-manifest-512x512.png -------------------------------------------------------------------------------- /website/blog/tags.yml: -------------------------------------------------------------------------------- 1 | # DO NOT EDIT! 2 | # Automatically generated from docusaurus-template-liquid/templates/docusaurus. 3 | 4 | releases: 5 | 6 | web: 7 | 8 | xbb: 9 | -------------------------------------------------------------------------------- /website/static/img/README.md: -------------------------------------------------------------------------------- 1 | # Images 2 | 3 | The .svg icons used in the home page are from: 4 | 5 | - https://www.svgrepo.com/collection/scarlab-duotone-line-vectors/ 6 | -------------------------------------------------------------------------------- /website/docs/user/_project/_use-in-testing.mdx: -------------------------------------------------------------------------------- 1 | 2 | {/* ------------------------------------------------------------------------ */} 3 | 4 | ## Using clang in testing 5 | 6 | TODO 7 | -------------------------------------------------------------------------------- /website/docs/maintainer/_project/_patches.mdx: -------------------------------------------------------------------------------- 1 | 2 | {/* ------------------------------------------------------------------------ */} 3 | 4 | ### Patches 5 | 6 | Starting with clang 18 there are no more patches. 7 | -------------------------------------------------------------------------------- /.github/workflows/body-github-pre-releases-test.md: -------------------------------------------------------------------------------- 1 | Binaries that are expected to be fully functional, to be tested before publishing. 2 | 3 | Warning: Do not use them in production, since occasionally they may be broken. 4 | -------------------------------------------------------------------------------- /website/docs/developer/_project/_other-repositories.mdx: -------------------------------------------------------------------------------- 1 | 2 | {/* ------------------------------------------------------------------------ */} 3 | 4 | ## Other repositories 5 | 6 | Other repositories in use are: 7 | 8 | - none 9 | -------------------------------------------------------------------------------- /website/docs/project/about/_project/_more-intro.mdx: -------------------------------------------------------------------------------- 1 | 2 | import IntroPrimary from '../_common/_intro-primary.mdx'; 3 | 4 | {/* ------------------------------------------------------------------------ */} 5 | 6 | 7 | -------------------------------------------------------------------------------- /website/babel.config.js: -------------------------------------------------------------------------------- 1 | // DO NOT EDIT! 2 | // Automatically generated from docusaurus-template-liquid/templates/docusaurus. 3 | 4 | module.exports = { 5 | presets: [require.resolve('@docusaurus/core/lib/babel/preset')], 6 | }; 7 | -------------------------------------------------------------------------------- /website/docs/developer/_project/_more.mdx: -------------------------------------------------------------------------------- 1 | 2 | import CodeBlock from '@theme/CodeBlock'; 3 | 4 | import customField from '@site/src/libs/customField'; 5 | 6 | {/* ------------------------------------------------------------------------ */} 7 | -------------------------------------------------------------------------------- /website/docs/install/_project/_testing.mdx: -------------------------------------------------------------------------------- 1 | 2 | import CodeBlock from '@theme/CodeBlock'; 3 | 4 | import customField from '@site/src/libs/customField'; 5 | 6 | {/* ------------------------------------------------------------------------ */} 7 | -------------------------------------------------------------------------------- /website/docs/_project/_documentation.mdx: -------------------------------------------------------------------------------- 1 | 2 | {/* ------------------------------------------------------------------------ */} 3 | 4 | The original LLVM clang documentation is available from 5 | the project web site: 6 | 7 | - https://clang.llvm.org/docs/ 8 | -------------------------------------------------------------------------------- /website/README.md: -------------------------------------------------------------------------------- 1 | # Website 2 | 3 | This website is built using [Docusaurus](https://docusaurus.io/), 4 | a modern static website generator. 5 | 6 | The folder was created with: 7 | 8 | ```sh 9 | npx create-docusaurus website classic --typescript 10 | ``` 11 | -------------------------------------------------------------------------------- /website/static/robots.txt: -------------------------------------------------------------------------------- 1 | Sitemap: https://xpack-dev-tools.github.io/clang-xpack/sitemap.xml 2 | 3 | User-agent: * 4 | Disallow: /clang-xpack/blog/archive/ 5 | Disallow: /clang-xpack/blog/authors/ 6 | Disallow: /clang-xpack/blog/page/ 7 | Disallow: /clang-xpack/blog/tags/ 8 | -------------------------------------------------------------------------------- /website/docs/getting-started/_project/_status.mdx: -------------------------------------------------------------------------------- 1 | 2 | {/* ------------------------------------------------------------------------ */} 3 | 4 | ## Status 5 | 6 | The **xPack LLVM clang** project is fully functional, 7 | stable, and suitable for use in production environments. 8 | -------------------------------------------------------------------------------- /website/docs/user/_project/_versioning.mdx: -------------------------------------------------------------------------------- 1 | 2 | import Versioning from '../_common/_versioning.mdx'; 3 | 4 | {/* ------------------------------------------------------------------------ */} 5 | 6 | {/* By default use the common versioning text; replace it with a custom one if necessary. */} 7 | 8 | -------------------------------------------------------------------------------- /website/.gitignore: -------------------------------------------------------------------------------- 1 | # Dependencies 2 | /node_modules 3 | 4 | # Production 5 | /build 6 | 7 | # Generated files 8 | .docusaurus 9 | .cache-loader 10 | 11 | # Misc 12 | .DS_Store 13 | .env.local 14 | .env.development.local 15 | .env.test.local 16 | .env.production.local 17 | 18 | npm-debug.log* 19 | yarn-debug.log* 20 | yarn-error.log* 21 | -------------------------------------------------------------------------------- /website/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | // DO NOT EDIT! 3 | // Automatically generated from docusaurus-template-liquid/templates/docusaurus. 4 | 5 | // This file is not used in compilation. It is here just for a nice editor experience. 6 | "extends": "@docusaurus/tsconfig", 7 | "compilerOptions": { 8 | "baseUrl": "." 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /website/docs/_project/_github-actions-durations.mdx: -------------------------------------------------------------------------------- 1 | 2 | {/* ------------------------------------------------------------------------ */} 3 | 4 | The builds take 3h30m hours to complete: 5 | 6 | - `darwin-x64`: 1h58m (nuc) 7 | - `darwin-arm64`: 0h49m (m1) 8 | - `linux-x64`: 2h22m (amd) 9 | - `linux-arm64`: 3h11m (ampere) 10 | - `win32-x64`: 3h23m (amd) 11 | -------------------------------------------------------------------------------- /website/docs/getting-started/_common/_releases.mdx: -------------------------------------------------------------------------------- 1 | {/* DO NOT EDIT! */} 2 | {/* Automatically generated from docusaurus-template-liquid/templates/docusaurus. */} 3 | 4 | {/* ------------------------------------------------------------------------ */} 5 | 6 | ## Releases 7 | 8 | A comprehensive list of releases may be found on the [Releases](/docs/releases/) 9 | pages. 10 | -------------------------------------------------------------------------------- /website/docs/getting-started/_project/_compatibility.mdx: -------------------------------------------------------------------------------- 1 | 2 | {/* ------------------------------------------------------------------------ */} 3 | 4 | ## Compatibility 5 | 6 | The **xPack LLVM clang** project is fully compatible with the upstream 7 | **LLVM clang**. 8 | 9 | The xPack LLVM clang distribution includes support for C/C++ and 10 | a limited set of the LLVM utilities. 11 | -------------------------------------------------------------------------------- /website/static/img/web.svg: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /website/static/img/web-dark.svg: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /website/docs/maintainer/_common/_close-milestone.mdx: -------------------------------------------------------------------------------- 1 | {/* DO NOT EDIT! */} 2 | {/* Automatically generated from docusaurus-template-liquid/templates/docusaurus. */} 3 | 4 | {/* ------------------------------------------------------------------------ */} 5 | 6 | ### Close milestone 7 | 8 | In https://github.com/xpack-dev-tools/clang-xpack/milestones: 9 | 10 | - Close the current milestone. 11 | -------------------------------------------------------------------------------- /website/docs/maintainer/_common/_ci-tests.mdx: -------------------------------------------------------------------------------- 1 | {/* DO NOT EDIT! */} 2 | {/* Automatically generated from docusaurus-template-liquid/templates/docusaurus. */} 3 | 4 | {/* ------------------------------------------------------------------------ */} 5 | 6 | ### CI tests 7 | 8 | - **Wait for CI tests to complete** 9 | - Check [GitHub Actions](https://github.com/xpack-dev-tools/clang-xpack/actions) 10 | -------------------------------------------------------------------------------- /website/sidebar-user.js: -------------------------------------------------------------------------------- 1 | 2 | export const userSidebarCategory = { 3 | type: 'category', 4 | label: 'User\'s Guide', 5 | link: { 6 | type: 'doc', 7 | id: 'user/index', 8 | }, 9 | items: [ 10 | { 11 | type: 'doc', 12 | id: 'user/predefined-macros/index', 13 | label: 'Predefined Macros' 14 | } 15 | ] 16 | } 17 | -------------------------------------------------------------------------------- /website/docs/project/about/_common/_the-project-history.mdx: -------------------------------------------------------------------------------- 1 | {/* DO NOT EDIT! */} 2 | {/* Automatically generated from docusaurus-template-liquid/templates/docusaurus. */} 3 | 4 | {/* ------------------------------------------------------------------------ */} 5 | 6 | ## The project history 7 | 8 | The **xPack LLVM clang** history is presented 9 | on a separate [History](/docs/project/history/) page. 10 | -------------------------------------------------------------------------------- /website/static/img/windows-svgrepo-com-dark.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /website/static/img/windows-svgrepo-com.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /website/docs/getting-started/_common/_install-preamble.mdx: -------------------------------------------------------------------------------- 1 | {/* DO NOT EDIT! */} 2 | {/* Automatically generated from docusaurus-template-liquid/templates/docusaurus. */} 3 | 4 | {/* ------------------------------------------------------------------------ */} 5 | 6 | The executables and other related files may be installed automatically with 7 | **xpm** or manually by downloading the 8 | **platform-specific archives**. 9 | -------------------------------------------------------------------------------- /.github/copilot-instructions.md: -------------------------------------------------------------------------------- 1 | # Copilot Instructions 2 | 3 | ## Project Overview 4 | 5 | This is the **xPack LLVM clang** project, part of the 6 | xPack Development Tools. 7 | 8 | ## Folder Structure 9 | 10 | 11 | - `/website`: Contains the Docusaurus web site 12 | 13 | ## Language and style 14 | 15 | - Use British English spelling and grammar. 16 | - Use a professional tone. 17 | - Prefer folder to directory. 18 | -------------------------------------------------------------------------------- /website/docs/install/_project/_manual-install-quick-test.mdx: -------------------------------------------------------------------------------- 1 | 2 | import CommonManualInstallQuickTest from '../_common/_manual-install-quick-test.mdx'; 3 | 4 | {/* ------------------------------------------------------------------------ */} 5 | 6 | 12 | -------------------------------------------------------------------------------- /website/docs/project/about/_project/_website.mdx: -------------------------------------------------------------------------------- 1 | 2 | import WebsiteJekyll from '../_common/_website-jekyll.mdx'; 3 | import WebsiteDocusaurusMigration from '../_common/_website-docusaurus-migration.mdx'; 4 | 5 | {/* ------------------------------------------------------------------------ */} 6 | 7 | ## The web site 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /website/docs/install/_project/_automatic-install-quick-test.mdx: -------------------------------------------------------------------------------- 1 | 2 | import CommonAutomaticInstallQuickTest from '../_common/_automatic-install-quick-test.mdx'; 3 | 4 | {/* ------------------------------------------------------------------------ */} 5 | 6 | 12 | -------------------------------------------------------------------------------- /website/docs/maintainer/_common/_update-website-config.mdx: -------------------------------------------------------------------------------- 1 | {/* DO NOT EDIT! */} 2 | {/* Automatically generated from docusaurus-template-liquid/templates/docusaurus. */} 3 | 4 | {/* ------------------------------------------------------------------------ */} 5 | 6 | ### Update the `websiteConfig` (if necessary) 7 | 8 | Check and possibly update the release-specific properties 9 | (like the release date) within `website/package.json`. 10 | -------------------------------------------------------------------------------- /website/docs/project/history/_common/_history-rename-xpack.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 | The project was renamed to **xPack LLVM clang** 9 | (in {props.releaseName || 'NAME'}). 10 | -------------------------------------------------------------------------------- /website/authors.yml: -------------------------------------------------------------------------------- 1 | # DO NOT EDIT! 2 | # Automatically generated from xbb-helper/templates/docusaurus/common. 3 | 4 | ilg-ul: 5 | name: Liviu Ionescu (ilg) 6 | email: ilg@livius.net 7 | url: https://github.com/ilg-ul 8 | image_url: https://github.com/ilg-ul.png 9 | page: true 10 | socials: 11 | x: ilegeul 12 | github: ilg-ul 13 | linkedin: https://www.linkedin.com/in/liviu-ionescu/ 14 | wordpress: https://ilgthegeek.wordpress.com 15 | -------------------------------------------------------------------------------- /website/docs/getting-started/_common/_change-log.mdx: -------------------------------------------------------------------------------- 1 | {/* DO NOT EDIT! */} 2 | {/* Automatically generated from docusaurus-template-liquid/templates/docusaurus. */} 3 | 4 | {/* ------------------------------------------------------------------------ */} 5 | 6 | ## Change log 7 | 8 | The release notes and change log may be accessed within the repository's 9 | [`CHANGELOG.md`](https://github.com/xpack-dev-tools/clang-xpack/blob/xpack/CHANGELOG.md) 10 | file. 11 | -------------------------------------------------------------------------------- /website/docs/project/about/_common/_intro-primary.mdx: -------------------------------------------------------------------------------- 1 | {/* DO NOT EDIT! */} 2 | {/* Automatically generated from docusaurus-template-liquid/templates/docusaurus. */} 3 | 4 | {/* ------------------------------------------------------------------------ */} 5 | 6 | The primary objective of this project is to streamline the **development of embedded projects**. 7 | [µOS++](http://micro-os-plus.github.io) is the first cross-platform 8 | project to benefit from the xPack tools. 9 | -------------------------------------------------------------------------------- /website/blog/authors.yml: -------------------------------------------------------------------------------- 1 | # DO NOT EDIT! 2 | # Automatically generated from docusaurus-template-liquid/templates/docusaurus. 3 | 4 | ilg-ul: 5 | name: Liviu Ionescu (ilg) 6 | email: ilg@livius.net 7 | url: https://github.com/ilg-ul 8 | image_url: https://github.com/ilg-ul.png 9 | page: true 10 | socials: 11 | x: ilegeul 12 | github: ilg-ul 13 | linkedin: https://www.linkedin.com/in/liviu-ionescu/ 14 | wordpress: https://ilgthegeek.wordpress.com 15 | -------------------------------------------------------------------------------- /website/docs/_common/_release-schedule-continuous.mdx: -------------------------------------------------------------------------------- 1 | {/* DO NOT EDIT! */} 2 | {/* Automatically generated from docusaurus-template-liquid/templates/docusaurus. */} 3 | 4 | {/* ------------------------------------------------------------------------ */} 5 | 6 | ## Release schedule 7 | 8 | The project employs a **continuous release** strategy, with updates 9 | being deployed progressively as development progresses, rather than 10 | adhering to a fixed release schedule. 11 | -------------------------------------------------------------------------------- /website/docs/project/about/_common/_website-docusaurus-doxygen-template.mdx: -------------------------------------------------------------------------------- 1 | {/* DO NOT EDIT! */} 2 | {/* Automatically generated from docusaurus-template-liquid/templates/docusaurus. */} 3 | 4 | {/* ------------------------------------------------------------------------ */} 5 | 6 | In **{props.date || 'DATE'}**, as part of the project restructuring, 7 | the Docusaurus template was instantiated within the `website` folder, 8 | alongside the Doxygen configuration, which was retained for the reference 9 | pages. 10 | -------------------------------------------------------------------------------- /website/docs/maintainer/_common/_close-open-issues.mdx: -------------------------------------------------------------------------------- 1 | {/* DO NOT EDIT! */} 2 | {/* Automatically generated from docusaurus-template-liquid/templates/docusaurus. */} 3 | 4 | {/* ------------------------------------------------------------------------ */} 5 | 6 | ### Close possible open issues 7 | 8 | Check GitHub Issues and Pull Requests: 9 | 10 | - https://github.com/xpack-dev-tools/clang-xpack/issues 11 | - https://github.com/xpack-dev-tools/clang-xpack/pulls 12 | 13 | Close those that have been addressed. 14 | 15 | -------------------------------------------------------------------------------- /website/docs/_common/_update-top-commons.mdx: -------------------------------------------------------------------------------- 1 | {/* DO NOT EDIT! */} 2 | {/* Automatically generated from docusaurus-template-liquid/templates/docusaurus. */} 3 | 4 | {/* ------------------------------------------------------------------------ */} 5 | 6 | ### Update the top commons 7 | 8 | Execute the top **generate-top-commons** npm script to update the 9 | `build-assets/package.json` and the GitHub workflow files. 10 | 11 | ```sh 12 | npm --prefix ~/Work/xpack-dev-tools/clang-xpack.git run generate-top-commons 13 | ``` 14 | -------------------------------------------------------------------------------- /website/docs/_common/_update-website-commons.mdx: -------------------------------------------------------------------------------- 1 | {/* DO NOT EDIT! */} 2 | {/* Automatically generated from docusaurus-template-liquid/templates/docusaurus. */} 3 | 4 | {/* ------------------------------------------------------------------------ */} 5 | 6 | ### Update the website commons 7 | 8 | Execute the **generate-website-commons** npm script from `website/package.json` 9 | within the project folder. 10 | 11 | ```sh 12 | npm --prefix ~/Work/xpack-dev-tools/clang-xpack.git/website run generate-website-commons 13 | ``` 14 | -------------------------------------------------------------------------------- /website/docs/getting-started/_project/_overview.mdx: -------------------------------------------------------------------------------- 1 | 2 | {/* ------------------------------------------------------------------------ */} 3 | 4 | The [clang](https://clang.llvm.org) project provides a language front-end and tooling infrastructure for languages in the C language family (C, C++, Objective C/C++, etc) for t[LLVM](https://llvm.org), a project maintained by the 5 | [LLVM Foundation](https://foundation.llvm.org/). 6 | 7 | **clang** is an open source project hosted on 8 | [GitHub](https://github.com/llvm/llvm-project). 9 | -------------------------------------------------------------------------------- /website/docs/project/about/_common/_website-jekyll.mdx: -------------------------------------------------------------------------------- 1 | {/* DO NOT EDIT! */} 2 | {/* Automatically generated from docusaurus-template-liquid/templates/docusaurus. */} 3 | 4 | {/* ------------------------------------------------------------------------ */} 5 | 6 | The initial website was launched in **{props.date || 'DATE'}** as 7 | a sub-site within the xPack website. 8 | It utilised the 9 | [Jekyll Doc Theme 6.0](https://idratherbewriting.com/documentation-theme-jekyll/) 10 | by [Tom Johnson](https://github.com/tomjoht). 11 | -------------------------------------------------------------------------------- /website/docs/project/about/_common/_website-docusaurus-template.mdx: -------------------------------------------------------------------------------- 1 | {/* DO NOT EDIT! */} 2 | {/* Automatically generated from docusaurus-template-liquid/templates/docusaurus. */} 3 | 4 | {/* ------------------------------------------------------------------------ */} 5 | 6 | In **{props.date || 'DATE'}**, the website content was added to the `website` folder, 7 | as an instance of the Docusaurus template. Additionally, a GitHub Action 8 | was added to automatically publish the site upon any pushes to the 9 | `website` Git branch. 10 | -------------------------------------------------------------------------------- /website/docs/getting-started/_common/_support-and-feedback.mdx: -------------------------------------------------------------------------------- 1 | {/* DO NOT EDIT! */} 2 | {/* Automatically generated from docusaurus-template-liquid/templates/docusaurus. */} 3 | 4 | {/* ------------------------------------------------------------------------ */} 5 | 6 | ## Support & feedback 7 | 8 | For prompt support and to provide feedback, it is recommended to utilise 9 | [GitHub Discussions](https://github.com/xpack-dev-tools/clang-xpack/discussions). 10 | 11 | For more detailed information, please visit the [Help Centre](/docs/support/) page. 12 | -------------------------------------------------------------------------------- /website/docs/_project/_development-durations.mdx: -------------------------------------------------------------------------------- 1 | 2 | {/* ------------------------------------------------------------------------ */} 3 | 4 | {/* Below 5 minutes use "Several minutes later" */} 5 | export const developmentDurations = { 6 | "work": "about 100 minutes (1h40m)", 7 | "darwin-x64": "About 107 minutes (1h47m) later", 8 | "darwin-arm64": "About 44 minutes later", 9 | "linux-x64": "About 125 minutes (2h05m) later", 10 | "win32-x64": "About 237 minutes (3h57m) later", 11 | "linux-arm64": "About 178 minutes (2h58m) later" 12 | } 13 | -------------------------------------------------------------------------------- /website/docs/maintainer/_common/_fix-open-issues.mdx: -------------------------------------------------------------------------------- 1 | {/* DO NOT EDIT! */} 2 | {/* Automatically generated from docusaurus-template-liquid/templates/docusaurus. */} 3 | 4 | {/* ------------------------------------------------------------------------ */} 5 | 6 | ### Fix possible open issues 7 | 8 | Check GitHub Issues and Pull Requests: 9 | 10 | - https://github.com/xpack-dev-tools/clang-xpack/issues 11 | - https://github.com/xpack-dev-tools/clang-xpack/pulls 12 | 13 | and resolve them; assign them to a milestone 14 | (such as 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 | 24 | -------------------------------------------------------------------------------- /website/docs/project/about/_common/_the-project.mdx: -------------------------------------------------------------------------------- 1 | {/* DO NOT EDIT! */} 2 | {/* Automatically generated from docusaurus-template-liquid/templates/docusaurus. */} 3 | 4 | {/* ------------------------------------------------------------------------ */} 5 | 6 | ## The project 7 | 8 | The **xPack LLVM clang** project is part of the 9 | [xPack Reproducible Build Framework](https://xpack.github.io) 10 | and is hosted on GitHub as 11 | [`xpack-dev-tools/clang-xpack`](https://github.com/xpack-dev-tools/clang-xpack/), 12 | part of the [xPack Binary Development Tools](https://github.com/xpack-dev-tools/). 13 | -------------------------------------------------------------------------------- /website/static/favicons/site.webmanifest: -------------------------------------------------------------------------------- 1 | { 2 | "name": "xPack", 3 | "short_name": "xPack", 4 | "icons": [ 5 | { 6 | "src": "/clang-xpack/favicons/web-app-manifest-192x192.png", 7 | "sizes": "192x192", 8 | "type": "image/png", 9 | "purpose": "maskable" 10 | }, 11 | { 12 | "src": "/clang-xpack/favicons/web-app-manifest-512x512.png", 13 | "sizes": "512x512", 14 | "type": "image/png", 15 | "purpose": "maskable" 16 | } 17 | ], 18 | "theme_color": "#ffffff", 19 | "background_color": "#ffffff", 20 | "display": "standalone" 21 | } 22 | -------------------------------------------------------------------------------- /website/docs/maintainer/_common/_set-new-version.mdx: -------------------------------------------------------------------------------- 1 | {/* DO NOT EDIT! */} 2 | {/* Automatically generated from docusaurus-template-liquid/templates/docusaurus. */} 3 | 4 | import CodeBlock from '@theme/CodeBlock'; 5 | 6 | {/* ------------------------------------------------------------------------ */} 7 | 8 | ### Set the new version 9 | 10 | Execute the following within the project folder: 11 | 12 | { 13 | `npm version 20.1.8-1.1 14 | `} 15 | 16 | The `postversion` npm script should also update tags via 17 | `git push origin --tags`; this should also trigger CI tests. 18 | -------------------------------------------------------------------------------- /website/docs/maintainer/_common/_increase-version.mdx: -------------------------------------------------------------------------------- 1 | {/* DO NOT EDIT! */} 2 | {/* Automatically generated from docusaurus-template-liquid/templates/docusaurus. */} 3 | 4 | {/* ------------------------------------------------------------------------ */} 5 | 6 | ### Increase the version and update the top `package.json` 7 | 8 | As required by npm projects, this one also utilises [SemVer](https://semver.org). 9 | 10 | - Determine the next version (such as 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 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /website/_xpack.github.io/pages/clang/faq.md: -------------------------------------------------------------------------------- 1 | --- 2 | 3 | title: The LLVM clang Frequently Asked Questions 4 | permalink: /dev-tools/clang/faq/ 5 | 6 | comments: true 7 | toc: false 8 | 9 | date: 2021-05-22 00:27:00 +0300 10 | 11 | redirect_to: https://xpack-dev-tools.github.io/clang-xpack/docs/faq/ 12 | 13 | --- 14 | 15 |
16 | 17 | {% capture question_10 %} 18 | Warum? 19 | {% endcapture %} 20 | 21 | {% capture answer_10 %} 22 | Darum! ;-) (to be added) 23 | {% endcapture %} 24 | 25 | {% include div-panel-group.html %} 26 | {% include faq-panel.html id="collapse-10" question=question_10 answer=answer_10 %} 27 | {% include div-end.html %} 28 | -------------------------------------------------------------------------------- /website/src/components/HomepageFeatures/styles.module.css: -------------------------------------------------------------------------------- 1 | /* 2 | * DO NOT EDIT! 3 | * Automatically generated from docusaurus-template-liquid/templates/docusaurus. 4 | */ 5 | 6 | .features { 7 | display: flex; 8 | align-items: center; 9 | padding: 2rem 0 0.5rem 0; /* 2rem 0; */ 10 | width: 100%; 11 | } 12 | 13 | .featureSvg { 14 | height: 100px; 15 | width: 100px; 16 | } 17 | 18 | /* ------------------------------------------------------------------------- */ 19 | 20 | svg.featureSvg path { 21 | stroke: var(--docusaurus-svg-color); 22 | } 23 | 24 | /* ------------------------------------------------------------------------- */ 25 | -------------------------------------------------------------------------------- /website/docs/project/about/_common/_intro-secondary.mdx: -------------------------------------------------------------------------------- 1 | {/* DO NOT EDIT! */} 2 | {/* Automatically generated from docusaurus-template-liquid/templates/docusaurus. */} 3 | 4 | {/* ------------------------------------------------------------------------ */} 5 | 6 | This project currently serves as a supplementary tool for building 7 | the main xPack Development Tools. Since these tools are exclusively 8 | built on macOS and GNU/Linux, to reduce maintenance efforts, 9 | Windows binaries are not currently provided. However, the project is versatile and can be 10 | utilised in any builds; if necessary, Windows binaries can be added in future 11 | releases. 12 | -------------------------------------------------------------------------------- /website/docs/getting-started/_common/_details-reproducible-operations.mdx: -------------------------------------------------------------------------------- 1 | {/* DO NOT EDIT! */} 2 | {/* Automatically generated from docusaurus-template-liquid/templates/docusaurus. */} 3 | 4 | {/* ------------------------------------------------------------------------ */} 5 | 6 |
7 | What are reproducible operations? 8 | 9 | To be **reproducible**, an operation must remain stable over time and 10 | across different environments. In other words, if the same operation is repeated 11 | after some time, possibly on a different machine or platform, the 12 | resulting behaviour must be functionally equivalent. 13 | 14 |
15 | -------------------------------------------------------------------------------- /website/docs/releases/index.mdx: -------------------------------------------------------------------------------- 1 | --- 2 | 3 | # DO NOT EDIT! 4 | # Automatically generated from docusaurus-template-liquid/templates/docusaurus. 5 | 6 | title: Releases 7 | description: The full list of project releases. 8 | keywords: 9 | - xpack 10 | - clang 11 | - releases 12 | 13 | hide_table_of_contents: true 14 | 15 | date: 2020-07-21 17:53:00 +0300 16 | 17 | --- 18 | 19 | import {ReleasesList} from '@site/src/components/ReleasesList'; 20 | 21 | {/* ------------------------------------------------------------------------ */} 22 | 23 | # The xPack LLVM clang releases 24 | 25 | The releases, in reverse chronological order, are: 26 | 27 | 28 | -------------------------------------------------------------------------------- /website/docs/getting-started/_common/_license.mdx: -------------------------------------------------------------------------------- 1 | {/* DO NOT EDIT! */} 2 | {/* Automatically generated from docusaurus-template-liquid/templates/docusaurus. */} 3 | 4 | {/* ------------------------------------------------------------------------ */} 5 | 6 | ## Licence 7 | 8 | Unless explicitly stated otherwise, the original content is 9 | distributed under the terms of the 10 | [MIT Licence](https://opensource.org/license/mit), with all 11 | rights reserved by [Liviu Ionescu](https://github.com/ilg-ul). 12 | 13 | The binary distributions include several open-source components; the 14 | corresponding licences are available in each archive within the 15 | `distro-info/licenses` folder. 16 | -------------------------------------------------------------------------------- /website/docs/_common/_generate-website-commons.mdx: -------------------------------------------------------------------------------- 1 | {/* DO NOT EDIT! */} 2 | {/* Automatically generated from docusaurus-template-liquid/templates/docusaurus. */} 3 | 4 | {/* ------------------------------------------------------------------------ */} 5 | 6 | ### Generate the website commons 7 | 8 | Execute the **generate-website-commons** npm script from `website/package.json` 9 | within the project folder. 10 | 11 | ```sh 12 | npm --prefix ~/Work/xpack-dev-tools/clang-xpack.git/website run generate-website-commons 13 | ``` 14 | 15 | ### Commit the website changes 16 | 17 | - Stage the `website` folder and top `README.md` 18 | - **Commit** with the message _**re-generate website commons**_ 19 | -------------------------------------------------------------------------------- /website/docs/project/about/_common/_website-docusaurus-migration.mdx: -------------------------------------------------------------------------------- 1 | {/* DO NOT EDIT! */} 2 | {/* Automatically generated from docusaurus-template-liquid/templates/docusaurus. */} 3 | 4 | {/* ------------------------------------------------------------------------ */} 5 | 6 | In **{props.date || 'DATE'}**, 7 | as part of the project restructuring, the website content was migrated 8 | from the xPack Jekyll sub-site to a local Docusaurus configuration 9 | stored in the `website` folder. To ensure continuity, HTML `` 10 | redirects were added to the legacy pages. 11 | Additionally, a GitHub Action was implemented to automatically 12 | publish the site upon any pushes to the `website` Git branch. 13 | -------------------------------------------------------------------------------- /website/docs/_common/_symbolic-links-require-ntfs.mdx: -------------------------------------------------------------------------------- 1 | {/* DO NOT EDIT! */} 2 | {/* Automatically generated from docusaurus-template-liquid/templates/docusaurus. */} 3 | 4 | {/* ------------------------------------------------------------------------ */} 5 | 6 | By design, xpm utilises symbolic links to folders (junction points on 7 | NTFS) to facilitate the sharing of common packages across projects. Any 8 | attempt to install packages on a drive that does not support symbolic 9 | links will result in an error: 10 | 11 | ``` 12 | error: volume X: does not support links, it might not be NTFS, or it might be a remote resource 13 | ``` 14 | 15 | Utilise a recent version of Windows and format the drive as NTFS. 16 | -------------------------------------------------------------------------------- /website/docs/maintainer/_common/_publish-release.mdx: -------------------------------------------------------------------------------- 1 | {/* DO NOT EDIT! */} 2 | {/* Automatically generated from docusaurus-template-liquid/templates/docusaurus. */} 3 | 4 | {/* ------------------------------------------------------------------------ */} 5 | 6 | ### Publish the release to npmjs.com 7 | 8 | Execute the following command within the project folder: 9 | 10 | ```sh 11 | npm publish --tag next 12 | ``` 13 | 14 | :::tip 15 | 16 | When publishing for the first time, utilise `--access public`. 17 | 18 | ::: 19 | 20 | After a few moments, the version will be visible at 21 | npmjs.com, 22 | under the **Versions** tab. 23 | -------------------------------------------------------------------------------- /website/docs/_common/_generate-top-commons.mdx: -------------------------------------------------------------------------------- 1 | {/* DO NOT EDIT! */} 2 | {/* Automatically generated from docusaurus-template-liquid/templates/docusaurus. */} 3 | 4 | {/* ------------------------------------------------------------------------ */} 5 | 6 | ### Generate the top commons 7 | 8 | Execute the top **generate-top-commons** npm script to update the 9 | `build-assets/package.json` and the GitHub workflow files. 10 | 11 | ```sh 12 | npm --prefix ~/Work/xpack-dev-tools/clang-xpack.git run generate-top-commons 13 | ``` 14 | 15 | ### Commit the top changes 16 | 17 | - Stage GitHub workflows and `package.json` files (top and from `build-assets`) 18 | - **Commit** with the message _**re-generate top commons**_ 19 | -------------------------------------------------------------------------------- /website/src/libs/dateYYYYMMDD.ts: -------------------------------------------------------------------------------- 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 dateYYYYMMDD(): string { 16 | return (new Date()).toISOString().slice(0,10).replace(/-/g,""); 17 | } 18 | -------------------------------------------------------------------------------- /website/docs/getting-started/_common/_user-developer-maintainer.mdx: -------------------------------------------------------------------------------- 1 | {/* DO NOT EDIT! */} 2 | {/* Automatically generated from docusaurus-template-liquid/templates/docusaurus. */} 3 | 4 | {/* ------------------------------------------------------------------------ */} 5 | 6 | :::info Dedicated Pages for Different Audiences 7 | 8 | To accommodate the diverse requirements of its audience, this site provides 9 | distinct pages: 10 | **[User's Guide](/docs/user/)**, 11 | **[Contributor's Guide](/docs/developer/)** and 12 | **[Maintainer's Guide](/docs/maintainer/)**. 13 | Each guide is tailored to ensure users can efficiently access the 14 | information and resources most relevant to their specific roles or requirements. 15 | 16 | ::: 17 | -------------------------------------------------------------------------------- /website/docs/maintainer/_common/_gcc-check-upstream-release.mdx: -------------------------------------------------------------------------------- 1 | {/* DO NOT EDIT! */} 2 | {/* Automatically generated from docusaurus-template-liquid/templates/docusaurus. */} 3 | 4 | {/* ------------------------------------------------------------------------ */} 5 | 6 | ### Check the latest upstream release 7 | 8 | The current release must be announced on the 9 | [GCC Timeline](https://gcc.gnu.org/releases.html) page. 10 | Compare the latest GCC release with the current xPack 11 | [release](https://github.com/xpack-dev-tools/gcc-xpack/releases). 12 | 13 | If necessary, update the triplet; otherwise, increase the fourth number, 14 | as described below. 15 | 16 | The actual version is located in the `gcc.git/gcc/BASE-VER` file. 17 | -------------------------------------------------------------------------------- /website/docs/_common/_prepare-website.mdx: -------------------------------------------------------------------------------- 1 | {/* DO NOT EDIT! */} 2 | {/* Automatically generated from docusaurus-template-liquid/templates/docusaurus. */} 3 | 4 | {/* ------------------------------------------------------------------------ */} 5 | 6 | ### Prepare the website 7 | 8 | The documentation site is built using [Docusaurus](https://docusaurus.io) and 9 | published on the project 10 | [GitHub Pages](https://xpack-dev-tools.github.io/clang-xpack/). 11 | 12 | - Switch to the `xpack-development` branch 13 | - Execute the **website-generate-commons** npm script in the `website/package.json` 14 | ```sh 15 | npm --prefix ~/Work/xpack-dev-tools/clang-xpack.git/website run website-generate-commons 16 | ``` 17 | - **Commit** all changes 18 | -------------------------------------------------------------------------------- /website/docs/maintainer/_common/_check-git.mdx: -------------------------------------------------------------------------------- 1 | {/* DO NOT EDIT! */} 2 | {/* Automatically generated from docusaurus-template-liquid/templates/docusaurus. */} 3 | 4 | {/* ------------------------------------------------------------------------ */} 5 | 6 | ### Check Git 7 | 8 | In the `xpack-dev-tools/clang-xpack` Git repository: 9 | 10 | - Switch to the `xpack-development` branch 11 | - Pull new changes 12 | - If necessary, **merge** the `xpack` branch 13 | - If necessary, **merge** the `website` branch 14 | 15 | :::caution 16 | 17 | This is critically important; otherwise you will release the previous content again! 18 | 19 | ::: 20 | 21 | The `xpack` branch should remain unchanged since the previous release 22 | and will be updated when the new release is published. 23 | -------------------------------------------------------------------------------- /website/src/libs/versionMajor.ts: -------------------------------------------------------------------------------- 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 getVersionMajor(version: string): number { 16 | // Remove from the first dot to the end. 17 | return parseInt(version.replace(/[.].*/, ''), 10); 18 | } 19 | -------------------------------------------------------------------------------- /website/docs/faq/_common/_flatpack-snap.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 |
9 | Flatpak & Snap also promise universal packages, why not utilise them? 10 | 11 | The concise answer is… _"because they work only on GNU/Linux"_. 12 | 13 | Both [Flatpak](https://flatpak.org) and [Snap](https://snapcraft.io) 14 | show promise as the future of application distribution. Whilst they may 15 | eventually achieve this, they are currently specific to GNU/Linux, with 16 | very limited prospect of expanding to other platforms. 17 | 18 |
19 | -------------------------------------------------------------------------------- /website/docs/getting-started/_common/_credits-mac-stadium.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 | MacStadium 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 | 31 | -------------------------------------------------------------------------------- /website/docs/project/history/_common/_history-xbb-v5.mdx: -------------------------------------------------------------------------------- 1 | {/* DO NOT EDIT! */} 2 | {/* Automatically generated from docusaurus-template-liquid/templates/docusaurus. */} 3 | 4 | {/* ------------------------------------------------------------------------ */} 5 | 6 | The project received a significant update by transitioning the build 7 | scripts from the unwieldy monolithic XBB Docker images to the more 8 | flexible and modular **xpm** packages. XBB version 9 | [5.0.0](https://xpack.github.io/blog/2023/02/07/xbb-v5.0.0-released/) 10 | marked a major milestone for the xPack project, as it was the first 11 | self-sustained release. This version enabled the creation of new 12 | binary packages utilising existing binary packages, eliminating the need for 13 | bespoke Docker images or other compiled tools. 14 | -------------------------------------------------------------------------------- /website/src/libs/isXpackSubversionDouble.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 isXpackSubversionDouble() { 18 | return (customField('xpackSubversion').indexOf('.') !== -1); 19 | } 20 | -------------------------------------------------------------------------------- /website/docs/project/history/_common/HistoryAppleSiliconAdded/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 HistoryAppleSiliconAdded(): JSX.Element { 16 | return ( 17 | <>Support for Apple Silicon macOS was added 18 | ); 19 | } 20 | -------------------------------------------------------------------------------- /website/src/components/HomepageFeatures/FeatureItem.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 React from 'react'; 16 | 17 | export type FeatureItem = { 18 | title: string; 19 | Svg: React.ComponentType>; 20 | description: JSX.Element; 21 | }; 22 | -------------------------------------------------------------------------------- /website/src/libs/customField.ts: -------------------------------------------------------------------------------- 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 useDocusaurusContext from '@docusaurus/useDocusaurusContext'; 16 | 17 | export default function customField(name: string): string { 18 | return useDocusaurusContext().siteConfig.customFields[name]; 19 | } 20 | -------------------------------------------------------------------------------- /website/docs/maintainer/_project/_more-tests.mdx: -------------------------------------------------------------------------------- 1 | 2 | {/* ------------------------------------------------------------------------ */} 3 | 4 | ### Running the tests with the system binaries 5 | 6 | To calibrate the tests with the system compiler: 7 | 8 | ```sh 9 | bash ~/Work/xpack-dev-tools/clang-xpack.git/scripts/test.sh --system 10 | ``` 11 | 12 | On Ubuntu, to install clang and libraries, use: 13 | 14 | ```sh 15 | sudo apt-get install --yes clang lld libc++-dev libc++abi-dev 16 | ``` 17 | 18 | On Manjaro, to install clang and libraries, use: 19 | 20 | ```sh 21 | pacman --sync clang lld libc++ libc++abi 22 | ``` 23 | 24 | On Linux x64, the 32-bit clang libraries are not available, skip the tests: 25 | 26 | ```sh 27 | bash ~/Work/xpack-dev-tools/clang-xpack.git/scripts/test.sh --system --skip-32 28 | ``` 29 | -------------------------------------------------------------------------------- /website/docs/project/history/_common/History32bitDiscontinued/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 History32bitDiscontinued({platforms}): JSX.Element { 16 | return ( 17 | <>Support for {platforms} (32-bit) was discontinued 18 | ); 19 | } 20 | -------------------------------------------------------------------------------- /website/docs/project/about/_common/_the-author.mdx: -------------------------------------------------------------------------------- 1 | {/* DO NOT EDIT! */} 2 | {/* Automatically generated from docusaurus-template-liquid/templates/docusaurus. */} 3 | 4 | {/* ------------------------------------------------------------------------ */} 5 | 6 | ## The author 7 | 8 | This project is currently maintained by **Liviu Ionescu** 9 | ([ilg-ul](https://github.com/ilg-ul)), 10 | a senior computer engineer, with expertise in **C++/C embedded systems**, 11 | **RTOSes**, **build tools**, operating systems, compilers 12 | and Internet technologies. 13 | 14 | He may be reached at [``](mailto:ilg@livius.net). 15 | Please note that this email address is provided as a courtesy. 16 | For all correspondence relating to the **xPack LLVM clang** 17 | project, please utilise the project [support](/docs/support/) page. 18 | -------------------------------------------------------------------------------- /website/docs/project/history/_common/HistoryArmLinuxAdded/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 HistoryArmLinuxAdded(): JSX.Element { 16 | return ( 17 | <>Support for 32/64-bit Arm GNU/Linux platforms (like Raspberry Pi) was added 18 | ); 19 | } 20 | -------------------------------------------------------------------------------- /website/docs/project/history/_common/HistoryZipAdded/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 HistoryZipAdded({platforms}): JSX.Element { 16 | return ( 17 | <>Standard .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 |
9 | Nix also provides reproducible builds, why not utilise it? 10 | 11 | The concise answer is… _"because of Windows"_. 12 | 13 | [Nix](https://nixos.org/) is a remarkable project that carefully 14 | controls versions down to individual libraries. However, it relies 15 | on file links, which are either unavailable or unreliable on Windows. 16 | 17 | As a result, Nix is currently only available on GNU/Linux and, with 18 | some limitations, on macOS. Additionally, mastering the Nix language 19 | requires considerable effort. 20 | 21 |
22 | -------------------------------------------------------------------------------- /website/docs/_common/_continuous-integration.mdx: -------------------------------------------------------------------------------- 1 | {/* DO NOT EDIT! */} 2 | {/* Automatically generated from docusaurus-template-liquid/templates/docusaurus. */} 3 | 4 | {/* ------------------------------------------------------------------------ */} 5 | 6 | The library is subject to continuous integration (CI) testing with every 7 | push utilising [GitHub Actions](https://github.com/xpack-dev-tools/clang-xpack/actions). 8 | This ensures compatibility and stability across Ubuntu, macOS, and Windows 9 | operating systems. 10 | 11 | Testing is conducted on both 32-bit and 64-bit bare-metal platforms, 12 | including Arm Cortex-M0, Cortex-M3, Cortex-M4F, Cortex-M7F, Cortex-A15, 13 | Cortex-A72, RISC-V RV32IMAC, and RV64IMAFDC. Additionally, native 14 | testing is performed utilising GCC and LLVM/clang compilers, ensuring 15 | comprehensive validation across various environments. 16 | -------------------------------------------------------------------------------- /website/docs/_common/_prerequisites.mdx: -------------------------------------------------------------------------------- 1 | {/* DO NOT EDIT! */} 2 | {/* Automatically generated from docusaurus-template-liquid/templates/docusaurus. */} 3 | 4 | import CodeBlock from '@theme/CodeBlock'; 5 | 6 | {/* ------------------------------------------------------------------------ */} 7 | 8 | ## Prerequisites 9 | 10 | **@xpack-dev-tools/clang** is 11 | a portable Node.js module; 12 | development can be 13 | conducted on macOS, GNU/Linux and Windows (although some npm scripts 14 | must be executed within a Git Bash terminal). 15 | 16 | The prerequisites are: 17 | 18 | - git 19 | - node >= {props.nodeVersion || 'N.N.N'} 20 | - npm 21 | 22 | 23 | To ensure compatibility with older node versions, it is preferable to revert to an older one: 24 | 25 | { 26 | `nvm use --lts ${props.nodeVersionMajor || 'NN'} 27 | code 28 | `} 29 | -------------------------------------------------------------------------------- /website/static/img/mosaic.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /website/src/components/InstallWithCopy/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 React from 'react'; 16 | import CodeBlock from '@theme/CodeBlock'; 17 | 18 | export default function InstallWithCopy({children}): JSX.Element { 19 | return ( 20 | 21 | {children} 22 | 23 | ); 24 | } 25 | -------------------------------------------------------------------------------- /website/src/libs/versionMinor.ts: -------------------------------------------------------------------------------- 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 getVersionMinor(version: string): number { 16 | // Remove from the beginning to the first dot and, in the remaining string 17 | // from the first dot to the end. 18 | return parseInt(version.replace(/^[0-9]*[.]/, '').replace(/[.].*/, ''), 10); 19 | } 20 | -------------------------------------------------------------------------------- /website/docs/faq/index.mdx: -------------------------------------------------------------------------------- 1 | --- 2 | 3 | # DO NOT EDIT! 4 | # Automatically generated from docusaurus-template-liquid/templates/docusaurus. 5 | 6 | title: FAQ 7 | description: Answers to previously asked questions, so you can find solutions without having to ask again. 8 | keywords: 9 | - xpack 10 | - clang 11 | - frequently 12 | - asked 13 | - questions 14 | 15 | hide_table_of_contents: true 16 | 17 | date: 2020-07-21 17:49:00 +0300 18 | 19 | --- 20 | 21 | import CommonNixOs from './_common/_nixos.mdx'; 22 | import CommonFlatpackSnap from './_common/_flatpack-snap.mdx'; 23 | 24 | import ProjectContent from './_project/_content.mdx'; 25 | 26 | {/* ------------------------------------------------------------------------ */} 27 | 28 | # The xPack LLVM clang Frequently Asked Questions 29 | 30 | 31 | 32 | 33 | 34 | 35 | -------------------------------------------------------------------------------- /website/docs/_common/_code-formatting.mdx: -------------------------------------------------------------------------------- 1 | {/* DO NOT EDIT! */} 2 | {/* Automatically generated from docusaurus-template-liquid/templates/docusaurus. */} 3 | 4 | {/* ------------------------------------------------------------------------ */} 5 | 6 | ## Code formatting 7 | 8 | For formatting style, the library employs a 9 | [.clang-format](https://clang.llvm.org/docs/ClangFormat.html) 10 | configuration file based on the GNU style. 11 | 12 | Code formatting is performed using `clang-format --style=file`, either manually 13 | via a script, or automatically through Visual Studio Code, or the Eclipse 14 | CppStyle plug-in. 15 | 16 | :::info 17 | 18 | Visual Studio Code can directly utilise the `.clang-format` file within the 19 | **Format Document** command. 20 | 21 | ::: 22 | 23 | :::tip 24 | 25 | Always reformat the source files that have been modified before committing 26 | them to the repository. 27 | 28 | ::: 29 | -------------------------------------------------------------------------------- /website/blog/_common/_prerequisites-glib-2.28.mdx: -------------------------------------------------------------------------------- 1 | {/* DO NOT EDIT! */} 2 | {/* Automatically generated from docusaurus-template-liquid/templates/docusaurus. */} 3 | 4 | {/* ------------------------------------------------------------------------ */} 5 | 6 | ## Prerequisites 7 | 8 | - x64 Windows: Windows 7 with the Universal C Runtime 9 | ([UCRT](https://support.microsoft.com/en-us/topic/update-for-universal-c-runtime-in-windows-c0514201-7fe6-95a3-b0a5-287930f3560c)), 10 | Windows 8, Windows 10, Windows 11 11 | - x64 macOS: 11.0 or later 12 | - arm64 macOS: 11.0 or later 13 | - x64 GNU/Linux: any system with **GLIBC 2.28** or higher 14 | (like Ubuntu 20 or later, Debian 10 or later, RedHat 8 or later, 15 | Fedora 29 or later, etc) 16 | - arm64 GNU/Linux: any system with **GLIBC 2.28** or higher 17 | (like Raspberry Pi OS, Ubuntu 20 or later, Debian 10 or later, 18 | RedHat 8 or later, Fedora 29 or later, etc) 19 | -------------------------------------------------------------------------------- /website/blog/_common/_prerequisites-glib-2.27.mdx: -------------------------------------------------------------------------------- 1 | {/* DO NOT EDIT! */} 2 | {/* Automatically generated from docusaurus-template-liquid/templates/docusaurus. */} 3 | 4 | {/* ------------------------------------------------------------------------ */} 5 | 6 | ## Prerequisites 7 | 8 | - x64 Windows: Windows 7 with the Universal C Runtime 9 | ([UCRT](https://support.microsoft.com/en-us/topic/update-for-universal-c-runtime-in-windows-c0514201-7fe6-95a3-b0a5-287930f3560c)), 10 | Windows 8, Windows 10, Windows 11 11 | - x64 macOS: 10.13 or later 12 | - arm64 macOS: 11.6 or later 13 | - x64 GNU/Linux: any system with **GLIBC 2.27** or higher 14 | (like Ubuntu 18 or later, Debian 10 or later, RedHat 8 or later, 15 | Fedora 29 or later, etc) 16 | - arm64/arm GNU/Linux: any system with **GLIBC 2.27** or higher 17 | (like Raspberry Pi OS, Ubuntu 18 or later, Debian 10 or later, 18 | RedHat 8 or later, Fedora 29 or later, etc) 19 | -------------------------------------------------------------------------------- /website/src/libs/versionMinor.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 getVersionMinor() { 18 | // Remove from the beginning to the first dot and, in the remaining string 19 | // from the first dot to the end. 20 | return parseInt(customField('upstreamVersion').replace(/^[0-9]*[.]/, '').replace(/[.].*/, ''), 10); 21 | } 22 | -------------------------------------------------------------------------------- /website/docs/maintainer/_project/_check-upstream-release.mdx: -------------------------------------------------------------------------------- 1 | 2 | import versionMajor from '@site/src/libs/versionMajor'; 3 | import versionMinor from '@site/src/libs/versionMinor'; 4 | 5 | {/* ------------------------------------------------------------------------ */} 6 | 7 | ### Check the latest upstream release 8 | 9 | The latest releases must have been announced in 10 | LLVM [Announcements](https://discourse.llvm.org/c/announce/46) and 11 | LLVM [GitHub Releases](https://github.com/llvm/llvm-project/releases/). 12 | Find the latest release that seems stable, usually 13 | like {versionMajor()}.{versionMinor()}.6, 14 | sometimes {versionMajor()}.{versionMinor()}.7, 15 | even {versionMajor()}.{versionMinor()}.8. 16 | 17 | Compare the latest upstream release with the latest xPack 18 | [release](https://github.com/xpack-dev-tools/clang-xpack/releases/). 19 | If necessary, update the triplet, otherwise increase the fourth number, 20 | as below. 21 | -------------------------------------------------------------------------------- /.github/FUNDING.yml: -------------------------------------------------------------------------------- 1 | # These are supported funding model platforms 2 | 3 | github: # Replace with up to 4 GitHub Sponsors-enabled usernames e.g., [user1, user2] 4 | patreon: # Replace with a single Patreon username 5 | open_collective: # Replace with a single Open Collective username 6 | ko_fi: ilegeul 7 | tidelift: # Replace with a single Tidelift platform-name/package-name e.g., npm/babel 8 | community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry 9 | liberapay: # Replace with a single Liberapay username 10 | issuehunt: # Replace with a single IssueHunt username 11 | lfx_crowdfunding: # Replace with a single LFX Crowdfunding project-name e.g., cloud-foundry 12 | polar: # Replace with a single Polar username 13 | buy_me_a_coffee: # Replace with a single Buy Me a Coffee username 14 | thanks_dev: # Replace with a single thanks.dev username 15 | custom: # Replace with up to 4 custom sponsorship URLs e.g., ['link1', 'link2'] 16 | -------------------------------------------------------------------------------- /website/docs/project/history/_common/HistoryXpm/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 HistoryXpm({specifier}): JSX.Element { 16 | return ( 17 | <>The xPack metadata has been added, and the package can now be more conveniently installed via xpm. It is available from 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 | Under the hood 21 | 22 | The primary purpose of `xpm init` is to create a `package.json` file, if not 23 | already present. 24 | 25 | In addition to `name` & `version`, the minimal `package.json` must 26 | include a property named `xpacks`, even if empty. This property is 27 | mandatory to identify the package as an **xpm package**. 28 | 29 |
30 | -------------------------------------------------------------------------------- /website/src/components/HeadTitle/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 React from 'react'; 16 | import Head from '@docusaurus/Head'; 17 | 18 | /* 19 | * Use this component for plain titles, without the site title appended. 20 | */ 21 | 22 | export default function HeadTitle({title}): JSX.Element { 23 | return ( 24 | 25 | {title} 26 | 27 | 28 | ); 29 | } 30 | -------------------------------------------------------------------------------- /website/docs/maintainer/_common/_tag-npm-latest.mdx: -------------------------------------------------------------------------------- 1 | {/* DO NOT EDIT! */} 2 | {/* Automatically generated from docusaurus-template-liquid/templates/docusaurus. */} 3 | 4 | import CodeBlock from '@theme/CodeBlock'; 5 | 6 | {/* ------------------------------------------------------------------------ */} 7 | 8 | ### Check npm package tags 9 | 10 | Execute the following command in a terminal: 11 | 12 | ```sh 13 | npm dist-tag ls @xpack-dev-tools/clang 14 | ``` 15 | 16 | ### Tag the npm package as `latest` 17 | 18 | When the release is considered stable, promote it as `latest`: 19 | 20 | { 21 | `npm dist-tag add @xpack-dev-tools/clang@20.1.8-1.1 latest 22 | `} 23 | 24 | Check the result: 25 | 26 | { 27 | `npm dist-tag ls @xpack-dev-tools/clang 28 | `} 29 | 30 | Should the release prove problematic and require unpublishing: 31 | 32 | { 33 | `npm unpublish @xpack-dev-tools/clang@20.1.8-1.1 34 | `} 35 | -------------------------------------------------------------------------------- /website/src/pages/index.module.css: -------------------------------------------------------------------------------- 1 | /** 2 | * DO NOT EDIT! 3 | * Automatically generated from docusaurus-template-liquid/templates/docusaurus. 4 | * 5 | * CSS files with the .module.css suffix will be treated as CSS modules 6 | * and scoped locally. 7 | */ 8 | 9 | .heroBanner { 10 | padding: 2rem 0; /* 4rem 0; */ 11 | text-align: center; 12 | position: relative; 13 | overflow: hidden; 14 | } 15 | 16 | @media screen and (max-width: 996px) { 17 | .heroBanner { 18 | padding: 2rem; 19 | } 20 | } 21 | 22 | .buttons { 23 | display: flex; 24 | align-items: center; 25 | justify-content: center; 26 | } 27 | 28 | /* -------------------------------------------------------------------------- */ 29 | 30 | /** Reduce the width of the install code */ 31 | .installWithCopy { 32 | display: flex; 33 | align-items: center; 34 | justify-content: center; 35 | } 36 | .installWithCopy > div > div { 37 | padding: 0 2em; 38 | } 39 | 40 | /* -------------------------------------------------------------------------- */ 41 | -------------------------------------------------------------------------------- /website/docs/maintainer/_common/_update-changelog.mdx: -------------------------------------------------------------------------------- 1 | {/* DO NOT EDIT! */} 2 | {/* Automatically generated from docusaurus-template-liquid/templates/docusaurus. */} 3 | 4 | {/* ------------------------------------------------------------------------ */} 5 | 6 | ### Update `CHANGELOG.md` 7 | 8 | - Open the `CHANGELOG.md` file 9 | - Check if all previously fixed issues are included 10 | - Check the latest commits `npm run git-log`; if necessary, copy/paste lines, 11 | group by dates and edit them using the regular expressions below 12 | - To convert the dates into headings, change from: 13 | ```txt 14 | 15 | 16 | ([0-9][0-9][0-9][0-9]-[0-9][0-9]-[0-9][0-9]) [*] 17 | ``` 18 | to: 19 | ```txt 20 | 21 | 22 | ## $1 23 | 24 | * 25 | ``` 26 | - To remove the remaining dates, change from: 27 | ```txt 28 | ^[0-9][0-9][0-9][0-9]-[0-9][0-9]-[0-9][0-9] [*] 29 | ``` 30 | to: 31 | ```txt 32 | * 33 | ``` 34 | - Add a new entry such as _**\* v20.1.8-1 prepared**_ 35 | - **Commit** with the message _**prepare v20.1.8-1**_ 36 | -------------------------------------------------------------------------------- /website/static/img/globe.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /website/docs/_common/_branches-details.mdx: -------------------------------------------------------------------------------- 1 | {/* DO NOT EDIT! */} 2 | {/* Automatically generated from docusaurus-template-liquid/templates/docusaurus. */} 3 | 4 | {/* ------------------------------------------------------------------------ */} 5 | 6 |
7 | Branches 8 | 9 | This project utilises multiple branches: 10 | 11 | - `master`, not actively used 12 | - `xpack`, containing the latest stable version (default) 13 | - `xpack-development`, containing the current development version 14 | - `website`, containing the current website content; pushes to this branch automatically trigger publication of the main website 15 | - `development`, containing the current preview website content; pushes to this branch automatically trigger publication of the preview website 16 | 17 | All development is conducted in the `xpack-development` branch, and contributions via 18 | Pull Requests should be directed to this branch. 19 | 20 | When new releases are published, the `xpack-development` branch is merged 21 | into `xpack`. 22 | 23 |
24 | -------------------------------------------------------------------------------- /website/docs/getting-started/_common/_enjoyed-using.mdx: -------------------------------------------------------------------------------- 1 | {/* DO NOT EDIT! */} 2 | {/* Automatically generated from docusaurus-template-liquid/templates/docusaurus. */} 3 | 4 | {/* ------------------------------------------------------------------------ */} 5 | 6 | ## Enjoyed Using This Project? Please Let Us Know! 7 | 8 | If you have found this project valuable, we would appreciate hearing from you! 9 | Here are some ways you can demonstrate your support: 10 | 11 | - **Donate**: Every contribution, regardless of size, helps sustain the 12 | xPack project. 13 | Your generosity maintains the development and ensures continued progress. 14 | - **Star** the project on [GitHub](https://github.com/xpack-dev-tools/clang-xpack/): 15 | Assist others in discovering our work by giving it a star — it truly makes a difference! 16 | - **Follow Us** on [X/Twitter](https://twitter.com/xpack_project/): Stay informed about our latest updates, releases, 17 | and news by following our account. 18 | 19 | Your support is greatly appreciated and motivates us to continue improving! 20 | -------------------------------------------------------------------------------- /website/docs/project/history/_project/_content.mdx: -------------------------------------------------------------------------------- 1 | 2 | import HistoryAppleSiliconAdded from '../_common/HistoryAppleSiliconAdded'; 3 | import History32bitDiscontinued from '../_common/History32bitDiscontinued'; 4 | 5 | import HistoryXBBv5 from '../_common/_history-xbb-v5.mdx'; 6 | import HistoryRestructuring from '../_common/_history-restructuring.mdx'; 7 | 8 | {/* ------------------------------------------------------------------------ */} 9 | 10 | ### May 2021 11 | 12 | The project was created in **May 2021**. 13 | 14 | ### October 2021 15 | 16 | The first **xPack LLVM clang** release was 17 | [v12.0.1-1](/blog/2021/10/21/clang-v12-0-1-1-released/). 18 | 19 | ### February 2022 20 | 21 | (in [v12.0.1-2](/blog/2022/02/08/clang-v12-0-1-2-released/)). 22 | 23 | ### May 2022 24 | 25 | (in [v13.0.1-1](/blog/2022/03/24/clang-v13-0-1-1-released/)). 26 | 27 | ### November 2022 28 | 29 | 30 | 31 | ### August 2024 32 | 33 | 34 | -------------------------------------------------------------------------------- /website/docs/_project/_release-schedule.mdx: -------------------------------------------------------------------------------- 1 | 2 | import versionMajor from '@site/src/libs/versionMajor'; 3 | import versionMinor from '@site/src/libs/versionMinor'; 4 | 5 | {/* ------------------------------------------------------------------------ */} 6 | 7 | ## Release schedule 8 | 9 | This distribution generally follows the official 10 | LLVM clang [releases](https://github.com/llvm/llvm-project/releases/), 11 | which are 2 major releases per year. 12 | 13 | Given that between the major releases there are 5-8 14 | intermediate releases 15 | (spaced 2 weeks apart), 16 | only the final patch of each minor version is retained 17 | (like {versionMajor()}.{versionMinor()}.[5678]). 18 | The rule is to wait for the new upstream release 19 | (like {versionMajor()+1}.{versionMinor()}.0), and 20 | release the previous one ({versionMajor()}.{versionMinor()}.[5678]) 21 | 22 | However, in order to spot possible issues, it is recommended to run 23 | builds as soon as new versions are available 24 | (like {versionMajor()}.{versionMinor()}.1), 25 | without making public releases. 26 | -------------------------------------------------------------------------------- /website/docs/project/about/index.mdx: -------------------------------------------------------------------------------- 1 | --- 2 | 3 | # DO NOT EDIT! 4 | # Automatically generated from docusaurus-template-liquid/templates/docusaurus. 5 | 6 | title: About 7 | description: Details about the project, including its history, the history of the website, and details about the author. 8 | keywords: 9 | - xpack 10 | - clang 11 | - about 12 | - history 13 | - web 14 | - author 15 | 16 | date: 2024-10-24 23:58:00 +0300 17 | 18 | --- 19 | 20 | import CommonTheProject from './_common/_the-project.mdx'; 21 | import CommonTheProjectHistory from './_common/_the-project-history.mdx'; 22 | 23 | import ProjectMoreIntro from './_project/_more-intro.mdx'; 24 | import ProjectWebsite from './_project/_website.mdx'; 25 | 26 | import CommonTheAuthor from './_common/_the-author.mdx'; 27 | 28 | {/* ------------------------------------------------------------------------ */} 29 | 30 | # About xPack LLVM clang 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | -------------------------------------------------------------------------------- /website/docs/install/_common/_xpm-package-refresher.mdx: -------------------------------------------------------------------------------- 1 | {/* DO NOT EDIT! */} 2 | {/* Automatically generated from docusaurus-template-liquid/templates/docusaurus. */} 3 | 4 | {/* ------------------------------------------------------------------------ */} 5 | 6 |
7 | xpm packages (xPacks) refresher 8 | 9 | **xpm packages**, abbreviated as **xPacks**, are general-purpose, 10 | language-neutral software packages. 11 | They utilise **the same format as npm packages**, 12 | which comprises a collection of files/folders 13 | and a `package.json` file with the package metadata. 14 | 15 | **xpm** can install source and binary packages. 16 | Binary packages include references to regular archives with the platform-specific binaries (such as `.tar.gz` for Unix or `.zip` for Windows). 17 | These archives are unpacked and links/forwarders to 18 | the executables are created within a `.bin` folder. 19 | 20 | For more details, please refer to the previous explanation on the 21 | [Getting Started](/docs/getting-started/#xpm-packages) page. 22 | 23 |
24 | -------------------------------------------------------------------------------- /website/static/img/apple-svgrepo-com-dark.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /website/static/img/apple-svgrepo-com.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /website/docs/_common/_xpm-clean-ups.mdx: -------------------------------------------------------------------------------- 1 | {/* DO NOT EDIT! */} 2 | {/* Automatically generated from docusaurus-template-liquid/templates/docusaurus. */} 3 | 4 | import Tabs from '@theme/Tabs'; 5 | import TabItem from '@theme/TabItem'; 6 | 7 | {/* ------------------------------------------------------------------------ */} 8 | 9 | For a comprehensive clean-up, please note that **xpm** utilises only two folders: 10 | 11 | 12 | 13 | 14 | 15 | - `%APPDATA%\Roaming\xPacks` 16 | - `%APPDATA%\Local\Caches\xPacks` 17 | 18 | 19 | 20 | 21 | 22 | - `${HOME}/Library/xPacks` 23 | - `${HOME}/Library/Caches/xPacks` 24 | 25 | 26 | 27 | 28 | 29 | - `${HOME}/.local/xPacks` 30 | - `${HOME}/.cache/xPacks` 31 | 32 | 33 | 34 | 35 | 36 | They can be removed at any time and space reclaimed; 37 | **xpm** will recreate them during new installations. 38 | 39 | However, projects linking to the user's global xPacks store will fail with 40 | broken paths. 41 | -------------------------------------------------------------------------------- /website/docs/maintainer/_common/_prepare-new-blog-post.mdx: -------------------------------------------------------------------------------- 1 | {/* DO NOT EDIT! */} 2 | {/* Automatically generated from docusaurus-template-liquid/templates/docusaurus. */} 3 | 4 | {/* ------------------------------------------------------------------------ */} 5 | 6 | ### Prepare a new blog post 7 | 8 | - Check and possibly update the `website/blog/_templates/blog-post*-release-liquid.mdx` 9 | - Execute the **generate-website-blog-post** npm script; this will add a file to the `website/blog` folder: 10 | ```sh 11 | npm --prefix ~/Work/xpack-dev-tools/clang-xpack.git/website run generate-website-blog-post 12 | ``` 13 | - Fix the TODO in the front matter `description` property (select maintenance vs. new release) 14 | - Fix the TODO in the summary (select maintenance vs. new release) 15 | - Add entries in the **Bug fixes**; utilise the following syntax 16 | ``` 17 | - [[#N](https://github.com/xpack-dev-tools/clang-xpack/issues/N)]: 18 | ``` 19 | - Copy/paste the **folder hierarchies** from the `website/docs/_project/_folders-hierarchies-*.mdx` files 20 | - **Commit** with the message _**website: blog post release 20.1.8-1.1 published**_ 21 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2021-2025 Liviu Ionescu 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /website/docs/getting-started/_common/_benefits.mdx: -------------------------------------------------------------------------------- 1 | {/* DO NOT EDIT! */} 2 | {/* Automatically generated from docusaurus-template-liquid/templates/docusaurus. */} 3 | 4 | {/* ------------------------------------------------------------------------ */} 5 | 6 | ## Benefits 7 | 8 | The primary advantages of utilising the **xPack LLVM clang** are: 9 | 10 | - A convenient, uniform and portable installation/uninstallation/upgrade 11 | procedure; the same procedure is utilised for all major 12 | platforms (**x64 Windows**, **x64 macOS**, **arm64 macOS**, **x64 GNU/Linux**, **arm64 GNU/Linux**). 13 | - Multiple versions of the same package may be installed simultaneously on 14 | the same system. 15 | - No need to be concerned about dependent libraries, as they are all included. 16 | - Not affected by system updates that 17 | might alter the versions of the dependent libraries. 18 | - Significantly lighter and easier to utilise than Docker images that provide 19 | similar functionality and are GNU/Linux centric. 20 | - Projects may be tied to specific tool versions; this provides excellent 21 | reproducibility, particularly useful in **CI/CD** environments. 22 | -------------------------------------------------------------------------------- /.vscode/settings.json: -------------------------------------------------------------------------------- 1 | { 2 | "editor.tabSize": 2, 3 | "editor.detectIndentation": false, 4 | "editor.stablePeek": true, 5 | "files.watcherExclude": { 6 | "**/.git/**": true, 7 | "**/node_modules/*/**": true, 8 | "**/build/**": true 9 | }, 10 | "markdownlint.config": { 11 | "MD041": false 12 | }, 13 | "spellright.language": [ 14 | "en_GB" 15 | ], 16 | "spellright.notificationClass": "warning", 17 | "cSpell.ignoreWords": [ 18 | "Ionescu", 19 | "Liviu", 20 | "Somsubhra", 21 | "Storsjö", 22 | "UCRT", 23 | "aarch", 24 | "armhf", 25 | "armv", 26 | "caffeinate", 27 | "cleanall", 28 | "cleanlibs", 29 | "cleanups", 30 | "endraw", 31 | "ilegeul", 32 | "iname", 33 | "libexec", 34 | "libstdc", 35 | "liquidjs", 36 | "llvmorg", 37 | "mstorsjo", 38 | "npmignore", 39 | "npmjs", 40 | "patchelf", 41 | "posix", 42 | "postversion", 43 | "readelf", 44 | "rpath", 45 | "runpath", 46 | "wksi", 47 | "writable", 48 | "xattr", 49 | "xbbla", 50 | "xbbli", 51 | "xbbma", 52 | "xbbmi", 53 | "xpack", 54 | "xpacks", 55 | "bufferoverflow" 56 | ] 57 | } 58 | -------------------------------------------------------------------------------- /website/blog/2024-09-18-web-site.mdx: -------------------------------------------------------------------------------- 1 | --- 2 | title: The project has a new web site 3 | seo_title: New web site 4 | description: The new site is built with Docusaurus. 5 | keywords: 6 | - xpack 7 | - clang 8 | - website 9 | 10 | date: 2024-09-18 13:21:00 +0300 11 | 12 | authors: ilg-ul 13 | 14 | tags: 15 | - web 16 | 17 | --- 18 | 19 | import {PageMetadata} from '@docusaurus/theme-common'; 20 | 21 | After some experimentation with modern site generators, 22 | the **xPack LLVM clang** project has a new web site. 23 | 24 | 25 | 26 | 27 | 28 | ## MDX 29 | 30 | The _new kid on the block_ is [MDX](https://mdxjs.com), that is a solution 31 | to integrate [JSX](https://react.dev/learn/writing-markup-with-jsx) with 32 | markdown. 33 | 34 | The result is a static site (kind of), enhanced with lots of JavaScript 35 | code, specific to [React](https://react.dev) components. 36 | 37 | ## Docusaurus 38 | 39 | The tool used to generate the site is [Docusaurus](https://docusaurus.io), 40 | a highly successful open source project. 41 | 42 | ## Minimal README 43 | 44 | The content of the `README.md` file was migrated to the 45 | [Getting Started](/docs/getting-started/) page 46 | -------------------------------------------------------------------------------- /website/blog/_common/_deprecation-notices-glib-2.28.mdx: -------------------------------------------------------------------------------- 1 | {/* DO NOT EDIT! */} 2 | {/* Automatically generated from docusaurus-template-liquid/templates/docusaurus. */} 3 | 4 | {/* ------------------------------------------------------------------------ */} 5 | 6 | ## Deprecation notices 7 | 8 | ### GNU/Linux minimum requirements 9 | 10 | The minimum requirement is **GLIBC 2.28**, available starting 11 | with Ubuntu 20, Debian 10 and RedHat 8. 12 | Support for RedHat 7 was dropped in 2022. 13 | Support for Ubuntu 18 was dropped in 2025. 14 | 15 | ### 32-bit support 16 | 17 | Support for 32-bit x64 GNU/Linux and x64 Windows was 18 | dropped in 2022 and for 32-bit Arm GNU/Linux in 2025. 19 | 20 | ### Pre-deprecation notice for x64 macOS 21 | 22 | Apple has discontinued support for the x64 (Intel) architecture. 23 | GitHub will no longer support this architecture on macOS after the 24 | macOS 15 runner image is retired in **November 2027**; building 25 | and testing x64 macOS binaries will become more difficult, requiring 26 | a self-hosted runner, and cannot be guaranteed in the long term. 27 | 28 | You should begin migrating your projects to arm64-based (Apple Silicon) 29 | binaries to prepare for this deprecation (tentatively planned for 2028). 30 | -------------------------------------------------------------------------------- /website/docs/user/_common/_versioning.mdx: -------------------------------------------------------------------------------- 1 | {/* DO NOT EDIT! */} 2 | {/* Automatically generated from docusaurus-template-liquid/templates/docusaurus. */} 3 | 4 | import Admonition from '@theme/Admonition'; 5 | 6 | import LinksVsForwarders from '@site/src/components/LinksVsForwarders'; 7 | 8 | {/* ------------------------------------------------------------------------ */} 9 | 10 | ## Versioning 11 | 12 | The version string utilised by the 13 | upstream {props.upstreamName ? props.upstreamName : 'LLVM clang'} project 14 | is a three-number string 15 | such as 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}/", 12 | "program": "/Users/ilg/Work/xpack-dev-tools-build/clang-17.0.1-1/darwin-x64/application/bin/clang-17", 13 | "args": [ 14 | "-v" 15 | ], 16 | "symbolSearchPath": "/Users/ilg/Work/xpack-dev-tools-build/clang-17.0.1-1/darwin-x64/sources/llvm-project-17.0.1.src/clang", 17 | "stopAtEntry": true, 18 | "filterStderr": true, 19 | "cwd": "${workspaceFolder}" 20 | }, 21 | { 22 | "type": "lldb", 23 | "request": "launch", 24 | "name": "clang -v link", 25 | // "program": "${workspaceFolder}/", 26 | "program": "/Users/ilg/tmp/clang-link", 27 | "args": [ 28 | "-v" 29 | ], 30 | // "symbolSearchPath": "/Users/ilg/Work/xpack-dev-tools-build/clang-17.0.1-1/darwin-x64/sources/llvm-project-17.0.1.src/clang", 31 | "stopAtEntry": true, 32 | "filterStderr": true, 33 | "cwd": "${workspaceFolder}" 34 | } 35 | ] 36 | } 37 | -------------------------------------------------------------------------------- /website/docs/maintainer/_project/_update-version-specific.mdx: -------------------------------------------------------------------------------- 1 | 2 | import CodeBlock from '@theme/CodeBlock'; 3 | import customField from '@site/src/libs/customField'; 4 | 5 | {/* ------------------------------------------------------------------------ */} 6 | 7 | ### Update the version specific code 8 | 9 | - open the `build-assets/scripts/versioning.sh` file 10 | - add a new `if` with the new version before the existing code 11 | 12 | ### Update Windows specifics 13 | 14 | Identify the release and the tag at: 15 | 16 | - https://github.com/mstorsjo/llvm-mingw/releases 17 | 18 | { 19 | `rm -rf ~/Work/mstorsjo/llvm-mingw.git 20 | mkdir -pv ~/Work/mstorsjo 21 | git clone https://github.com/mstorsjo/llvm-mingw ~/Work/mstorsjo/llvm-mingw.git 22 | 23 | git -C ~/Work/mstorsjo/llvm-mingw.git checkout ${customField('llvmMingwTag')} 24 | `} 25 | 26 | Compare with the previous release. If the differences are small, possibly 27 | make the necessary adjustments and proceed. 28 | 29 | If the changes are major, run the llvm-mingw build as documented in the 30 | [README-DEVELOP-MSTORSJO](https://github.com/xpack-dev-tools/clang-xpack/blob/xpack-development/build-assets/README-DEVELOP-MSTORSJO.md) to understand the 31 | extend of the changes. 32 | 33 | Check if there are changes in the tests, and update. 34 | 35 | Check if there are changes in the wrappers, and update. 36 | 37 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | [![GitHub package.json version](https://img.shields.io/github/package-json/v/xpack-dev-tools/clang-xpack)](https://github.com/xpack-dev-tools/clang-xpack/blob/xpack/package.json) 2 | [![GitHub release (latest by date)](https://img.shields.io/github/v/release/xpack-dev-tools/clang-xpack)](https://github.com/xpack-dev-tools/clang-xpack/releases) 3 | [![NPM Version](https://img.shields.io/npm/v/@xpack-dev-tools/clang?color=blue)](https://www.npmjs.com/package/@xpack-dev-tools/clang/) 4 | [![license](https://img.shields.io/github/license/xpack-dev-tools/clang-xpack)](https://github.com/xpack-dev-tools/clang-xpack/blob/xpack/LICENSE) 5 | 6 | # The xPack LLVM clang 7 | 8 | A standalone, cross-platform (Windows, macOS, GNU/Linux) binary 9 | distribution of LLVM clang, 10 | intended for reproducible builds. 11 | 12 | ## Project documentation 13 | 14 | For information on how to install and use this project, please refer to the 15 | [project website](https://xpack-dev-tools.github.io/clang-xpack/). 16 | 17 | ## Project source 18 | 19 | The source code of the current release is available on 20 | [GitHub tag v20.1.8-1.1 tree](https://github.com/xpack-dev-tools/clang-xpack/tree/v20.1.8-1.1). 21 | 22 | ## License 23 | 24 | Unless otherwise stated, the original content is released under the terms of the 25 | [MIT License](https://opensource.org/licenses/mit), 26 | with all rights reserved to 27 | [Liviu Ionescu](https://github.com/ilg-ul). 28 | -------------------------------------------------------------------------------- /website/docs/_common/_publish-website.mdx: -------------------------------------------------------------------------------- 1 | {/* DO NOT EDIT! */} 2 | {/* Automatically generated from docusaurus-template-liquid/templates/docusaurus. */} 3 | 4 | {/* ------------------------------------------------------------------------ */} 5 | 6 | ### Publish the website 7 | 8 | The website deployment is performed automatically when pushing to the 9 | `website` branch, utilising a dedicated workflow in 10 | [GitHub Actions](https://github.com/xpack-dev-tools/clang-xpack/actions/workflows/publish-github-pages.yml). 11 | 12 | - Open https://xpack-dev-tools.github.io/clang-xpack/docs/maintainer/#publish-the-website in a separate window 13 | - **Stop** the local web server 14 | - Switch to the `website` branch 15 | - **Merge** the `xpack-development` branch into the `website` branch 16 | - **Push** the `website` branch to GitHub 17 | :::info 18 | At this point, an automated GitHub Action will generate and publish the website. 19 | ::: 20 | - Check out the `xpack-development` branch 21 | - **Wait** for the publication to complete 22 | - **Refresh** the web page 23 | - The new release blog post is available 24 | at https://xpack-dev-tools.github.io/clang-xpack/blog/ 25 | - Record the post URL, as it must be used to update the release page 26 | and the X/Twitter announcement 27 | 28 | The `website` branch may be subsequently updated, provided the 29 | version in `package.json` remains unchanged. 30 | 31 | Verify the result at https://xpack-dev-tools.github.io/clang-xpack/. 32 | -------------------------------------------------------------------------------- /website/docs/user/_common/_libraries-and-rpath.mdx: -------------------------------------------------------------------------------- 1 | {/* DO NOT EDIT! */} 2 | {/* Automatically generated from docusaurus-template-liquid/templates/docusaurus. */} 3 | 4 | {/* ------------------------------------------------------------------------ */} 5 | 6 | ## Shared libraries 7 | 8 | On all platforms the binary xpm packages are **standalone**, 9 | and require only the standard runtime to be present on the host. 10 | 11 | All dependencies that are built as shared libraries are copied locally 12 | to the `libexec` folder (or to the same folder as the executable for Windows). 13 | 14 | ### `DT_RPATH` and `LD_LIBRARY_PATH` 15 | 16 | On GNU/Linux the binaries are adjusted to utilise a relative path: 17 | 18 | ```console 19 | $ readelf -d library.so | grep rpath 20 | 0x000000000000001d (RPATH) Library rpath: [$ORIGIN] 21 | ``` 22 | 23 | In the GNU `ld.so` search strategy, the `DT_RPATH` has 24 | the highest priority, higher than `LD_LIBRARY_PATH`, so if the latter 25 | is set in the environment, it should not interfere with the xPack binaries. 26 | 27 | Please note that previous versions, up to mid-2020, utilised `DT_RUNPATH`, which 28 | has a priority lower than `LD_LIBRARY_PATH`; setting `LD_LIBRARY_PATH` 29 | in the environment overrode `DT_RUNPATH`, resulting in failures to load 30 | the libraries. 31 | 32 | ### `@rpath` and `@loader_path` 33 | 34 | Similarly, on macOS, the binaries are adjusted with `install_name_tool` 35 | (part of CLT) to utilise a relative path. 36 | -------------------------------------------------------------------------------- /website/src/components/ReleasesList/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 {usePluginData} from '@docusaurus/useGlobalData'; 16 | import util from 'node:util'; 17 | import useBaseUrl from '@docusaurus/useBaseUrl'; 18 | 19 | export function ReleasesList({items}): JSX.Element { 20 | const pluginData = usePluginData('select-releases'); 21 | 22 | pluginData.releasesTable.forEach((item) => console.log(`${item.permalink} - ${item.title}`)) 23 | return ( 24 |
    25 | { 26 | pluginData.releasesTable.length > 0 ? 27 | pluginData.releasesTable.map(release => ( 28 |
  • 29 | {release.title} {release.downloadUrl ? (<>(download)) : (<>)} 30 |
  • 31 | )) : 32 | ( 33 |
  • 34 | none yet 35 |
  • 36 | ) 37 | } 38 |
39 | ) 40 | } 41 | -------------------------------------------------------------------------------- /website/docs/install/_common/_installation-details.mdx: -------------------------------------------------------------------------------- 1 | {/* DO NOT EDIT! */} 2 | {/* Automatically generated from docusaurus-template-liquid/templates/docusaurus. */} 3 | 4 | {/* ------------------------------------------------------------------------ */} 5 | 6 |
7 | Installation details 8 | 9 | The above `xpm install` command will perform the following: 10 | 11 | * identify the platform-specific archive for the desired version 12 | of @xpack-dev-tools/clang, download it into a cache and unpack 13 | it into a versioned folder 14 | within the **user's global xPacks store** (if not already present); 15 | check the output of the `xpm install` command for the actual 16 | folder used on your platform; 17 | * create a local symbolic link 18 | such as 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 |
38 | -------------------------------------------------------------------------------- /website/static/img/bulb-on-svgrepo-com.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /website/docs/install/_common/_uninstall.mdx: -------------------------------------------------------------------------------- 1 | {/* DO NOT EDIT! */} 2 | {/* Automatically generated from docusaurus-template-liquid/templates/docusaurus. */} 3 | 4 | import Tabs from '@theme/Tabs'; 5 | import TabItem from '@theme/TabItem'; 6 | import CodeBlock from '@theme/CodeBlock'; 7 | 8 | import LinksVsForwarders from '@site/src/components/LinksVsForwarders'; 9 | 10 | import CommonXpmCleanUps from '@site/docs/_common/_xpm-clean-ups.mdx'; 11 | 12 | {/* ------------------------------------------------------------------------ */} 13 | 14 | ### Uninstall 15 | 16 | The xpm binaries do not utilise any form of system installer; instead they 17 | are distributed as 18 | portable (.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 | { 34 | `xpm uninstall @xpack-dev-tools/clang --verbose 35 | `} 36 | 37 | To completely remove the package from the user's global xPacks store: 38 | 39 | { 40 | `xpm uninstall --global @xpack-dev-tools/clang --verbose 41 | `} 42 | 43 |
44 | Clean-ups 45 | 46 | 47 | 48 |
49 | -------------------------------------------------------------------------------- /website/static/img/bulb-on-svgrepo-com-dark.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /website/blog/_common/_deprecation-notices-glib-2.27.mdx: -------------------------------------------------------------------------------- 1 | {/* DO NOT EDIT! */} 2 | {/* Automatically generated from docusaurus-template-liquid/templates/docusaurus. */} 3 | 4 | {/* ------------------------------------------------------------------------ */} 5 | 6 | ## Deprecation notices 7 | 8 | ### GNU/Linux minimum requirements 9 | 10 | The minimum requirement is **GLIBC 2.27**, available starting 11 | with Ubuntu 18, Debian 10 and RedHat 8. 12 | Support for RedHat 7 was dropped in 2022. 13 | 14 | ### 32-bit support 15 | 16 | Support for 32-bit x64 GNU/Linux and x64 Windows was 17 | dropped in 2022. 18 | 19 | ### Pre-deprecation notice for 32-bit Arm GNU/Linux 20 | 21 | Due to the large user base of 32-bit Raspberry Pi systems, 22 | support for 32-bit Arm GNU/Linux (armv7l) will be preserved 23 | for a little while, but expect it to be dropped by 2025, 24 | so it is recommended to consider an upgrade to a RPi 4 or 5 with 25 | at least 4 GB (preferably 8 GB) of RAM. 26 | 27 | ## Pre-deprecation notice for Ubuntu 18.04 28 | 29 | Ubuntu 18.04 LTS _Bionic Beaver_ reached the end of the standard five-year 30 | maintenance window for Long-Term Support (LTS) release on 31 May 2023. 31 | 32 | As a courtesy, the xPack GNU/Linux releases will continue to be based on 33 | Ubuntu 18.04 for another year. 34 | 35 | From 2025 onwards, the GNU/Linux binaries will be built on **Debian 10**, 36 | (**GLIBC 2.28**), and are also expected to run on RedHat 8. 37 | 38 | Users are urged to update their build and test infrastructure to 39 | ensure a smooth transition to the next xPack releases. 40 | -------------------------------------------------------------------------------- /website/static/img/web-globe-dark.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /website/static/img/web-globe.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /website/docs/getting-started/_common/_features.mdx: -------------------------------------------------------------------------------- 1 | {/* DO NOT EDIT! */} 2 | {/* Automatically generated from docusaurus-template-liquid/templates/docusaurus. */} 3 | 4 | {/* ------------------------------------------------------------------------ */} 5 | 6 | ## Features 7 | 8 | All binaries are: 9 | 10 | - **Self-contained** (include all required libraries) 11 | - **File-system relocatable** (may be installed in any location) 12 | - Built on slightly older systems (to ensure compatibility with both 13 | old and new systems) 14 | 15 |
16 | Compatibility with older systems 17 | 18 | Given that most operating systems maintain significant compatibility 19 | with older versions, building an application on an older system ensures 20 | that the same binary may execute on newer versions. Conversely, building an 21 | application on a newer system may utilise library features that are 22 | not available in older versions, making backward compatibility less 23 | feasible. 24 | 25 |
26 | 27 | Similarly to [Flatpak](https://flatpak.org) or [Snap](https://snapcraft.io), 28 | but significantly simpler, xpm packages include all dependent shared libraries 29 | within the distributed archives, making the binaries independent of 30 | any similar libraries installed on the system. This ensures they 31 | may execute on any system without requiring specific libraries to be 32 | installed. 33 | 34 | Additionally, the builds are configured so that the binaries do not depend on 35 | being installed in specific folders, and may be installed in any 36 | location, including within user folders. 37 | -------------------------------------------------------------------------------- /website/docs/install/_common/_reproducibility-and-dependencies.mdx: -------------------------------------------------------------------------------- 1 | {/* DO NOT EDIT! */} 2 | {/* Automatically generated from docusaurus-template-liquid/templates/docusaurus. */} 3 | 4 | import CodeBlock from '@theme/CodeBlock'; 5 | 6 | {/* ------------------------------------------------------------------------ */} 7 | 8 |
9 | Reproducibility and `devDependencies` 10 | 11 | To ensure reproducibility, it is essential for each project to always 12 | utilise the exact desired versions of the required tools, regardless of the 13 | tools installed in the system. 14 | 15 | To achieve this objective, **xpm** records all locally installed binary packages 16 | as development dependencies in the project `package.json` file. 17 | 18 | The result appears as follows: 19 | 20 | { 21 | ` "xpack": { 22 | "minimumXpmRequired": "0.20.7", 23 | "dependencies": {}, 24 | "devDependencies": { 25 | "@xpack-dev-tools/clang": { 26 | "specifier": "20.1.8-1.1", 27 | "local": "link", 28 | "platforms": "all" 29 | } 30 | }, 31 | "properties": {}, 32 | "actions": {}, 33 | "buildConfigurations": {} 34 | } 35 | `} 36 | 37 | If the `package.json` is saved in the revision system, the above 38 | definition acts as a firm reference to the specific version of 39 | xPack LLVM clang. 40 | 41 | After cloning the project into a different location, the command `xpm install` 42 | may be used to install all development dependencies. 43 | 44 | This is particularly useful for CI/CD environments. 45 | 46 |
47 | -------------------------------------------------------------------------------- /website/blog/_common/_download-analytics.mdx: -------------------------------------------------------------------------------- 1 | {/* DO NOT EDIT! */} 2 | {/* Automatically generated from docusaurus-template-liquid/templates/docusaurus. */} 3 | 4 | import Image from '@theme/IdealImage'; 5 | 6 | {/* ------------------------------------------------------------------------ */} 7 | 8 | ## Analytics 9 | 10 | 11 | - GitHub [xpack-dev-tools/clang-xpack](https://github.com/xpack-dev-tools/clang-xpack/) 12 | - this release Github Release 13 | - all xPack releases [![Github All Releases](https://img.shields.io/github/downloads/xpack-dev-tools/clang-xpack/total)](https://github.com/xpack-dev-tools/clang-xpack/releases) 14 | - [individual file counters](https://somsubhra.github.io/github-release-stats/?username=xpack-dev-tools&repository=clang-xpack) (grouped by release) 15 | - npmjs.com [@xpack-dev-tools/clang](https://www.npmjs.com/package/@xpack-dev-tools/clang) 16 | - last month downloads [![NPM Downloads](https://img.shields.io/npm/dm/%40xpack-dev-tools%2Fclang?color=green)](https://www.npmjs.com/package/@xpack-dev-tools/clang/) 17 | - total downloads [![NPM Downloads](https://img.shields.io/npm/d18m/%40xpack-dev-tools%2Fclang?color=green)](https://www.npmjs.com/package/@xpack-dev-tools/clang/) 18 | 19 | Credit to [Shields IO](https://shields.io) for the badges and to 20 | [Somsubhra/github-release-stats](https://github.com/Somsubhra/github-release-stats) 21 | for the individual file counters. 22 | -------------------------------------------------------------------------------- /website/docs/maintainer/index.mdx: -------------------------------------------------------------------------------- 1 | --- 2 | 3 | # DO NOT EDIT! 4 | # Automatically generated from docusaurus-template-liquid/templates/docusaurus. 5 | 6 | title: Maintainer's Guide 7 | description: Assistance for project maintainers, including the release schedule, versioning scheme, and instructions on how to build, test, and publish. 8 | keywords: 9 | - xpack 10 | - clang 11 | - build 12 | - releases 13 | - publish 14 | - npmjs 15 | 16 | date: 2024-10-24 23:59:00 +0300 17 | 18 | --- 19 | 20 | import CommonContent from './_common/_content.mdx'; 21 | 22 | {/* ------------------------------------------------------------------------ */} 23 | 24 | # How to make new xPack LLVM clang releases 25 | 26 | [![GitHub package.json version](https://img.shields.io/github/package-json/v/xpack-dev-tools/clang-xpack?color=blue)](https://github.com/xpack-dev-tools/clang-xpack/blob/xpack/package.json) 27 | [![NPM Version](https://img.shields.io/npm/v/%40xpack-dev-tools%2Fclang?color=blue)](https://www.npmjs.com/package/@xpack-dev-tools/clang/) 28 | [![GitHub issues](https://img.shields.io/github/issues/xpack-dev-tools/clang-xpack)](https://github.com/xpack-dev-tools/clang-xpack/issues) 29 | [![GitHub pulls](https://img.shields.io/github/issues-pr/xpack-dev-tools/clang-xpack)](https://github.com/xpack-dev-tools/clang-xpack/pulls) 30 | [![licence](https://img.shields.io/github/license/xpack-dev-tools/clang-xpack)](https://github.com/xpack-dev-tools/clang-xpack/blob/xpack/LICENSE) 31 | 32 | This page is designed for maintainers of the 33 | **xPack LLVM clang** 34 | project and provides documentation on creating new releases. 35 | 36 | 37 | -------------------------------------------------------------------------------- /website/docs/install/_common/_automatic-install-quick-test.mdx: -------------------------------------------------------------------------------- 1 | {/* DO NOT EDIT! */} 2 | {/* Automatically generated from docusaurus-template-liquid/templates/docusaurus. */} 3 | 4 | import CodeBlock from '@theme/CodeBlock'; 5 | import Tabs from '@theme/Tabs'; 6 | import TabItem from '@theme/TabItem'; 7 | 8 | {/* ------------------------------------------------------------------------ */} 9 | 10 | ### Quick test 11 | 12 | To verify if the {props.descriptiveName} installed by **xpm** starts correctly, utilise something such as: 13 | 14 | 15 | 16 | 17 | 18 | { 19 | `C:\\> %USERPROFILE%\\AppData\\Roaming\\xPacks\\@xpack-dev-tools\\${props.permalinkName}\\20.1.8-1.1\\.content\\bin\\${props.programName}.exe --version 20 | ${props.branding}20.1.8 21 | `} 22 | 23 | 24 | 25 | 26 | 27 | { 28 | `% ~/Library/xPacks/@xpack-dev-tools/${props.permalinkName}/20.1.8-1.1/.content/bin/${props.programName} --version 29 | ${props.branding}20.1.8 30 | `} 31 | 32 | 33 | 34 | 35 | 36 | { 37 | `$ ~/.local/xPacks/@xpack-dev-tools/${props.permalinkName}/20.1.8-1.1/.content/bin/${props.programName} --version 38 | ${props.branding}20.1.8 39 | `} 40 | 41 | 42 | 43 | 44 | 45 | :::note 46 | 47 | The reported version is the upstream version, which is shorter than the xPack 48 | version, as the latter requires additional digits to identify the releases. 49 | 50 | ::: 51 | -------------------------------------------------------------------------------- /website/docs/_common/_get-helper-sources-details.mdx: -------------------------------------------------------------------------------- 1 | {/* DO NOT EDIT! */} 2 | {/* Automatically generated from docusaurus-template-liquid/templates/docusaurus. */} 3 | 4 | import CodeBlock from '@theme/CodeBlock'; 5 | 6 | {/* ------------------------------------------------------------------------ */} 7 | 8 |
9 | Obtain the writable helper sources (optional, for development purposes) 10 | 11 | The project has a dependency on a common helper, which is normally installed 12 | as a read-only dependency; for development purposes, to enable modifications 13 | to the scripts located within the helper, clone the 14 | {props.helperBranchName} branch and link it to the 15 | user's global xPacks store: 16 | 17 | { 18 | `rm -rf ~/Work/${props.helperOrganizationName}/${props.helperProjectName}.git && \\ 19 | mkdir -p ~/Work/${props.helperOrganizationName} && \\ 20 | git clone \\ 21 | \ --branch ${props.helperBranchName} \\ 22 | \ https://github.com/${props.helperOrganizationName}/${props.helperProjectName}.git \\ 23 | \ ~/Work/${props.helperOrganizationName}/${props.helperProjectName}.git \ 24 | `} 25 | 26 | Alternatively, if the repository has already been cloned: 27 | 28 | { 29 | `git -C ~/Work/${props.helperOrganizationName}/${props.helperProjectName}.git pull 30 | `} 31 | 32 | If a writable instance of this library is required in another project, 33 | add a link from the user's global xPacks store to it: 34 | 35 | { 36 | `xpm link -C ~/Work/${props.helperOrganizationName}/${props.helperProjectName}.git 37 | `} 38 | 39 |
40 | -------------------------------------------------------------------------------- /website/docs/maintainer/_common/_analytics.mdx: -------------------------------------------------------------------------------- 1 | {/* DO NOT EDIT! */} 2 | {/* Automatically generated from docusaurus-template-liquid/templates/docusaurus. */} 3 | 4 | {/* ------------------------------------------------------------------------ */} 5 | 6 | ## Analytics 7 | 8 | 9 | - GitHub [`xpack-dev-tools/clang-xpack`](https://github.com/xpack-dev-tools/clang-xpack/) repository 10 | - latest xPack release 11 | [![Github All Releases](https://img.shields.io/github/downloads/xpack-dev-tools/clang-xpack/latest/total)](https://github.com/xpack-dev-tools/clang-xpack/releases) 12 | - all xPack releases [![Github All Releases](https://img.shields.io/github/downloads/xpack-dev-tools/clang-xpack/total)](https://github.com/xpack-dev-tools/clang-xpack/releases) 13 | - [individual file counters](https://somsubhra.github.io/github-release-stats/?username=xpack-dev-tools&repository=clang-xpack) (grouped by release) 14 | - npmjs.com [`@xpack-dev-tools/clang`](https://www.npmjs.com/package/@xpack-dev-tools/clang/) package 15 | - latest release, per month 16 | [![NPM Version](https://img.shields.io/npm/v/%40xpack-dev-tools%2Fclang?color=blue)](https://www.npmjs.com/package/@xpack-dev-tools/clang/) 17 | [![NPM Downloads](https://img.shields.io/npm/dm/%40xpack-dev-tools%2Fclang?color=green)](https://www.npmjs.com/package/@xpack-dev-tools/clang/) 18 | - all releases [![NPM Downloads](https://img.shields.io/npm/dt/%40xpack-dev-tools%2Fclang?color=green)](https://www.npmjs.com/package/@xpack-dev-tools/clang/) 19 | 20 | Credits to [Shields IO](https://shields.io) for the badges and to 21 | [Somsubhra/github-release-stats](https://github.com/Somsubhra/github-release-stats) 22 | for the individual file counters. 23 | -------------------------------------------------------------------------------- /website/docs/install/_common/_manual-install-quick-test.mdx: -------------------------------------------------------------------------------- 1 | {/* DO NOT EDIT! */} 2 | {/* Automatically generated from docusaurus-template-liquid/templates/docusaurus. */} 3 | 4 | import CodeBlock from '@theme/CodeBlock'; 5 | import Tabs from '@theme/Tabs'; 6 | import TabItem from '@theme/TabItem'; 7 | 8 | {/* ------------------------------------------------------------------------ */} 9 | 10 | ### Quick test {#manual-install-quick-test} 11 | 12 | To verify if the {props.descriptiveName} installed manually starts correctly, utilise something such as: 13 | 14 | 15 | 16 | 17 | 18 | { 19 | `C:\\> %USERPROFILE%\\AppData\\Roaming\\xPacks\\${props.permalinkName}\\xpack-${props.permalinkName}-20.1.8-1\\bin\\${props.programName}.exe --version 20 | ${props.branding}20.1.8 21 | `} 22 | 23 | 24 | 25 | 26 | 27 | { 28 | `% ~/Library/xPacks/${props.permalinkName}/xpack-${props.permalinkName}-20.1.8-1/bin/${props.programName} --version 29 | ${props.branding}20.1.8 30 | `} 31 | 32 | 33 | 34 | 35 | 36 | { 37 | `$ ~/.local/xPacks/${props.permalinkName}/xpack-${props.permalinkName}-20.1.8-1/bin/${props.programName} --version 38 | ${props.branding}20.1.8 39 | `} 40 | 41 | 42 | 43 | 44 | 45 | :::note 46 | 47 | The reported version is the upstream version, which is shorter than the xPack 48 | version, as the latter requires additional digits to identify the releases. 49 | 50 | ::: 51 | -------------------------------------------------------------------------------- /website/docs/tests/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Test results 3 | 4 | --- 5 | 6 | ## Reports by version 7 | 8 | - [20.1.8-1](/docs/tests/20.1.8-1/) 9 | - [19.1.7-1](/docs/tests/19.1.7-1/) 10 | - [18.1.8-2](/docs/tests/18.1.8-2/) 11 | - [18.1.8-1](/docs/tests/18.1.8-1/) 12 | - [17.0.6-3](/docs/tests/17.0.6-3/) 13 | - [17.0.6-2](/docs/tests/17.0.6-2/) 14 | - [16.0.6-1](/docs/tests/16.0.6-1/) 15 | 16 | ## Notes 17 | 18 | ### x64 GNU/Linux 19 | 20 | All tests passed. 21 | 22 | ### arm64 GNU/Linux 23 | 24 | All tests passed. 25 | 26 | ### arm GNU/Linux 27 | 28 | Many LTO and some LLD fail; skipped. 29 | 30 | ### x64 macOS 31 | 32 | Most are fine, except LTO **throwcatch-main**. 33 | 34 | #### Failed test throwcatch-main 35 | 36 | - xfail: lto-throwcatch-main 37 | - xfail: gc-lto-throwcatch-main 38 | - xfail: lto-lld-throwcatch-main 39 | - xfail: gc-lto-lld-throwcatch-main 40 | 41 | This issue affects catching custom exceptions 42 | thrown from shared libraries when using `-flto`. The issue is old and was 43 | already reported, but got no much feedback: 44 | https://github.com/llvm/llvm-project/issues/64471. 45 | It can also be reproduced with Apple clang 15 on macOS 14.3.1 x86_64. 46 | 47 | ### arm64 macOS 48 | 49 | Most are fine, except some exception tests with lld. 50 | 51 | - xfail: lld-hello-exception 52 | - xfail: lld-exception-reduced 53 | - xfail: gc-lld-hello-exception 54 | - xfail: gc-lld-exception-reduced 55 | - xfail: lto-lld-hello-exception 56 | - xfail: lto-lld-exception-reduced 57 | - xfail: gc-lto-lld-hello-exception 58 | - xfail: gc-lto-lld-exception-reduced 59 | 60 | #### Failed test hello-exception 61 | 62 | Not yet explained. Not seen on HB. 63 | 64 | #### Failed test exception-reduced 65 | 66 | Not yet explained. Not seen on HB. 67 | 68 | ### Mingw-w64 Windows x86_64 69 | 70 | All tests passed. 71 | -------------------------------------------------------------------------------- /.npmignore: -------------------------------------------------------------------------------- 1 | # https://docs.npmjs.com/files/package.json#files 2 | # Certain files are always included, regardless of settings: 3 | # - package.json 4 | # - README 5 | # - CHANGES / CHANGELOG / HISTORY 6 | # - LICENSE / LICENCE 7 | # - NOTICE 8 | # - The file in the "main" field 9 | # README, CHANGES, LICENSE & NOTICE can have any case and extension. 10 | # 11 | # Conversely, some files are always ignored: 12 | # - .git 13 | # - CVS 14 | # - .svn 15 | # - .hg 16 | # - .lock-wscript 17 | # - .wafpickle-N 18 | # - .*.swp 19 | # - .DS_Store 20 | # - ._* 21 | # - npm-debug.log 22 | # - .npmrc 23 | # - node_modules 24 | # - config.gypi 25 | # - *.orig 26 | # ----------------------------------------------------------------------------- 27 | # .gitignore is not automatically included, add relevant lines again. 28 | 29 | .DS_Store 30 | .git/ 31 | .github/ 32 | .gitignore 33 | .gitmodules 34 | .clang-* 35 | .cmake-format 36 | 37 | # npm pack archives 38 | /*.tgz 39 | 40 | # tap 41 | coverage/ 42 | tests/ 43 | .tap/ 44 | 45 | # nyc test coverage 46 | .nyc_output/ 47 | 48 | # VS Code 49 | .vscode/ 50 | 51 | # CI 52 | .travis.yml 53 | .appveyor.yml 54 | 55 | README-*.md 56 | LICENSE-* 57 | !LICENSE-XPACK 58 | !LICENSE-liquid 59 | CONTRIBUTING** 60 | NOTES.md 61 | 62 | *.ts 63 | lib/**/*.ts 64 | # The above removes all TypeScript including the .d.ts files. 65 | # Bring those later back. 66 | !*.d.ts 67 | !lib/*.d.ts 68 | 69 | **/tsconfig*.json 70 | typedoc.json 71 | tsconfig.tsbuildinfo 72 | src/ 73 | xpacks/ 74 | node_modules/ 75 | docs/ 76 | # /assets/ # keep it, xpm needs it. 77 | scripts/ 78 | website/ 79 | tmp/ 80 | patches/ 81 | pkgconfig/ 82 | ci/ 83 | example*/ 84 | test*/ 85 | build*/ 86 | docs/ 87 | build-assets/ 88 | wrappers/ 89 | extras/ 90 | inspiration/ 91 | maintenance-scripts/ 92 | 93 | .prettierignore 94 | api-extractor.json 95 | eslint.config.js 96 | 97 | #end 98 | -------------------------------------------------------------------------------- /website/docs/developer/index.mdx: -------------------------------------------------------------------------------- 1 | --- 2 | 3 | # DO NOT EDIT! 4 | # Automatically generated from docusaurus-template-liquid/templates/docusaurus. 5 | 6 | title: Contributor's Guide 7 | description: Guidance for developers aiming to contribute new features or bug fixes, detailing how to build the binaries, including prerequisites, repositories utilised, and scripts. 8 | keywords: 9 | - xpack 10 | - clang 11 | - prerequisites 12 | - repositories 13 | - build 14 | 15 | date: 2024-10-25 13:10:00 +0300 16 | 17 | --- 18 | 19 | import CommonContent from './_common/_content.mdx'; 20 | 21 | {/* ------------------------------------------------------------------------ */} 22 | 23 | # How to contribute to xPack LLVM clang 24 | 25 | [![GitHub package.json version](https://img.shields.io/github/package-json/v/xpack-dev-tools/clang-xpack?color=blue)](https://github.com/xpack-dev-tools/clang-xpack/blob/xpack/package.json) 26 | [![NPM Version](https://img.shields.io/npm/v/%40xpack-dev-tools%2Fclang?color=blue)](https://www.npmjs.com/package/@xpack-dev-tools/clang/) 27 | [![license](https://img.shields.io/github/license/xpack-dev-tools/clang-xpack)](https://github.com/xpack-dev-tools/clang-xpack/blob/xpack/LICENSE) 28 | [![GitHub issues](https://img.shields.io/github/issues/xpack-dev-tools/clang-xpack)](https://github.com/xpack-dev-tools/clang-xpack/issues) 29 | [![GitHub pulls](https://img.shields.io/github/issues-pr/xpack-dev-tools/clang-xpack)](https://github.com/xpack-dev-tools/clang-xpack/pulls/) 30 | [![license](https://img.shields.io/github/license/xpack-dev-tools/clang-xpack)](https://github.com/xpack-dev-tools/clang-xpack/blob/xpack/LICENSE) 31 | 32 | This page is designed for developers who intend to contribute new features 33 | or resolve bugs within the 34 | **xPack LLVM clang** 35 | project and provides documentation on building and testing the package. 36 | 37 | 38 | -------------------------------------------------------------------------------- /website/src/components/HomepageFeatures/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 | import Heading from '@theme/Heading'; 17 | import Link from '@docusaurus/Link'; 18 | import styles from './styles.module.css'; 19 | 20 | import type { FeatureItem } from './FeatureItem'; 21 | import { FeatureList } from './FeatureList'; 22 | 23 | function Feature({title, Svg, description}: FeatureItem) { 24 | return ( 25 |
26 |
27 | 28 |
29 |
30 | {title} 31 |

{description}

32 |
33 |
34 | ); 35 | } 36 | 37 | export default function HomepageFeatures(): JSX.Element { 38 | return ( 39 | <> 40 |
41 |
42 |
43 | {FeatureList.map((props, idx) => ( 44 | 45 | ))} 46 |
47 |
48 |
49 |
50 |

Getting Started!

51 |
52 | 53 | ); 54 | } 55 | -------------------------------------------------------------------------------- /website/blog/2025-02-13-xbb.mdx: -------------------------------------------------------------------------------- 1 | --- 2 | 3 | # DO NOT EDIT! 4 | # Automatically generated from docusaurus-template-liquid/templates/docusaurus. 5 | 6 | title: The project was upgraded to use XBB v6.0.0 7 | seo_title: Upgrade to XBB v6.0.0 8 | description: The project was upgraded to use XBB v6.0.0 based on Debian 10 and macOS 11.0. 9 | keywords: 10 | - xpack 11 | - clang 12 | - website 13 | 14 | date: 2025-02-13 13:21:00 +0300 15 | 16 | authors: ilg-ul 17 | 18 | tags: 19 | - xbb 20 | 21 | --- 22 | 23 | import {PageMetadata} from '@docusaurus/theme-common'; 24 | 25 | The project configuration was upgraded to use **XBB v6.0.0** based 26 | on **Debian 10** and **macOS 11** 27 | and **support for Arm 32-bit was discontinued**. 28 | 29 | Therefore, all future builds will use XBB v6.0.0 or later. 30 | 31 | 32 | 33 | 34 | 35 | ## GLIBC 2.28 36 | 37 | The GNU/Linux base was raised to GLIBC 2.28, with builds performed on **Debian 10**. 38 | The resulting binaries should run on Ubuntu 20 or later, RedHat 8 or later, 39 | Fedora 29 or later, etc. 40 | 41 | ## MacOS 11.0 42 | 43 | The macOS base was raised to 11.0, with builds performed on** macOS 11.7** with 44 | `MACOSX_DEPLOYMENT_TARGET="11.0"`. The resulting binaries, both x64 and arm64, 45 | should run on any macOS 11 or later. 46 | 47 | ## Support for Arm 32-bit discontinued 48 | 49 | With regret for the inconvenience caused to some Raspberry Pi users, 50 | due to the extremely high burdon on maintenance (toolchain builds took 51 | more than half a day), support for Arm 32-bit GNU/Linux had to be discontinued. 52 | 53 | This allowed all arm64 GNU/Linux builds to be performed on the Oracle Ampere 54 | machine, which is many times faster than the Raspberry Pi 4 machines. 55 | 56 | ## Website updates 57 | 58 | The website was also updated to reflect the new changes, and references to 59 | **arm GNU/Linux**, **linux-arm** and **xbbla32** were removed. 60 | -------------------------------------------------------------------------------- /website/docs/install/index.mdx: -------------------------------------------------------------------------------- 1 | --- 2 | 3 | # DO NOT EDIT! 4 | # Automatically generated from docusaurus-template-liquid/templates/docusaurus. 5 | 6 | title: Installation Guide 7 | description: Explain the prerequisites, how to perform an automated or manual installation, how to uninstall, and the folder structures. 8 | keywords: 9 | - xpack 10 | - clang 11 | - prerequisites 12 | - automated 13 | - install 14 | - uninstall 15 | 16 | date: 2024-10-24 23:57:00 +0300 17 | 18 | --- 19 | 20 | import CommonContent from './_common/_content.mdx'; 21 | 22 | {/* ------------------------------------------------------------------------ */} 23 | 24 | # How to install xPack LLVM clang 25 | 26 | [![GitHub package.json version](https://img.shields.io/github/package-json/v/xpack-dev-tools/clang-xpack?color=blue)](https://github.com/xpack-dev-tools/clang-xpack/blob/xpack/package.json) 27 | [![GitHub release (latest by date)](https://img.shields.io/github/v/release/xpack-dev-tools/clang-xpack?color=blue)](https://github.com/xpack-dev-tools/clang-xpack/releases) 28 | [![GitHub Release Date](https://img.shields.io/github/release-date/xpack-dev-tools/clang-xpack)](https://github.com/xpack-dev-tools/clang-xpack/releases) 29 | [![NPM Version](https://img.shields.io/npm/v/%40xpack-dev-tools%2Fclang?color=blue&label=xpm)](https://www.npmjs.com/package/@xpack-dev-tools/clang/) 30 | [![GitHub Downloads (all assets, all releases)](https://img.shields.io/github/downloads/xpack-dev-tools/clang-xpack/total)](https://somsubhra.github.io/github-release-stats/?username=xpack-dev-tools&repository=clang-xpack) 31 | [![NPM Downloads](https://img.shields.io/npm/d18m/%40xpack-dev-tools%2Fclang?color=green&label=xpm%20downloads)](https://www.npmjs.com/package/@xpack-dev-tools/clang/) 32 | [![NPM Downloads](https://img.shields.io/npm/dm/%40xpack-dev-tools%2Fclang?color=green&label=xpm%20downloads)](https://www.npmjs.com/package/@xpack-dev-tools/clang/) 33 | [![license](https://img.shields.io/github/license/xpack-dev-tools/clang-xpack)](https://github.com/xpack-dev-tools/clang-xpack/blob/xpack/LICENSE) 34 | 35 | 36 | -------------------------------------------------------------------------------- /website/docs/getting-started/_common/_content.mdx: -------------------------------------------------------------------------------- 1 | {/* DO NOT EDIT! */} 2 | {/* Automatically generated from docusaurus-template-liquid/templates/docusaurus. */} 3 | 4 | import CommonDetailsReproducibleBuilds from '../_common/_details-reproducible-operations.mdx'; 5 | import CommonWhatAreXpmPackages from '../_common/_what-are-xpm-packages.mdx'; 6 | import CommonFeatures from '../_common/_features.mdx'; 7 | import CommonBenefits from '../_common/_benefits.mdx'; 8 | import CommonInstallPreamble from '../_common/_install-preamble.mdx'; 9 | 10 | import ProjectOverview from '../_project/_overview.mdx'; 11 | import ProjectOtherBenefits from '../_project/_other-benefits.mdx'; 12 | import ProjectUpgradeNotice from '../_project/_upgrade-notice.mdx'; 13 | import ProjectCompatibility from '../_project/_compatibility.mdx'; 14 | 15 | {/* ------------------------------------------------------------------------ */} 16 | 17 | 18 | ## Overview 19 | 20 | **xPack LLVM clang** is a 21 | standalone, cross-platform (Windows, macOS, GNU/Linux) binary 22 | distribution of LLVM clang, 23 | aimed at reproducible builds. 24 | 25 | 26 | 27 | 28 | 29 | The open-source **xPack LLVM clang** project is hosted on GitHub as 30 | [`xpack-dev-tools/clang-xpack`](https://github.com/xpack-dev-tools/clang-xpack/); 31 | it provides the platform-specific binaries as 32 | [release assets](https://github.com/xpack-dev-tools/clang-xpack/releases). 33 | 34 | In addition to the binary archives and the package metadata, 35 | this project also includes the 36 | [build scripts](https://github.com/xpack-dev-tools/clang-xpack/tree/xpack/build-assets/scripts). 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | ## Installation 51 | 52 | 53 | 54 | The details for installing the **xPack LLVM clang** on different platforms are 55 | provided in the 56 | [Installation Guide](/docs/install/) on the project's website. 57 | -------------------------------------------------------------------------------- /website/src/plugins/SelectReleasesPlugin.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 util from 'util'; 16 | 17 | // https://github.com/facebook/docusaurus/pull/9931 18 | 19 | export default async function SelectReleasesPlugin(context, options) { 20 | return { 21 | name: 'select-releases', 22 | async allContentLoaded({ allContent, actions }) { 23 | 24 | const allBlogs = allContent['docusaurus-plugin-content-blog'] 25 | // console.log('SelectReleasesPlugin 1 ' + util.inspect(allBlogs)) 26 | 27 | const blogPosts = allBlogs.default.blogPosts 28 | // console.log('SelectReleasesPlugin 2 ' + util.inspect(blogPosts)) 29 | 30 | const releasesTable = [] 31 | blogPosts.forEach(post => { 32 | // console.log('SelectReleasesPlugin 3 ' + util.inspect(post.metadata.tags)) 33 | post.metadata.tags.forEach(tag => { 34 | if (tag.label.toLowerCase() === 'releases') { 35 | const permalink = post.metadata.permalink.endsWith('/') ? 36 | post.metadata.permalink : 37 | post.metadata.permalink + '/' 38 | // console.log(permalink) 39 | releasesTable.push({ 40 | title: post.metadata.title, 41 | permalink, 42 | downloadUrl: post.metadata.frontMatter['download_url'] 43 | }) 44 | } 45 | }) 46 | }) 47 | 48 | // console.log('SelectReleasesPlugin 4 ' + util.inspect(releasesTable)) 49 | 50 | actions.setGlobalData({ releasesTable: releasesTable }) 51 | }, 52 | }; 53 | } 54 | -------------------------------------------------------------------------------- /website/docs/_common/_get-project-sources.mdx: -------------------------------------------------------------------------------- 1 | {/* DO NOT EDIT! */} 2 | {/* Automatically generated from docusaurus-template-liquid/templates/docusaurus. */} 3 | 4 | import BranchesDetails from './_branches-details.mdx' 5 | 6 | {/* ------------------------------------------------------------------------ */} 7 | 8 | ## Obtain project sources 9 | 10 | The project is hosted on GitHub: 11 | 12 | - https://github.com/xpack-dev-tools/clang-xpack.git 13 | 14 | 15 | 16 | To clone the stable branch (`xpack`), execute the following commands in a 17 | terminal (on Windows use the _Git Bash_ console): 18 | 19 | ```sh 20 | rm -rf ~/Work/xpack-dev-tools/clang-xpack.git && \ 21 | mkdir -p ~/Work/xpack-dev-tools && \ 22 | git clone \ 23 | --branch xpack \ 24 | https://github.com/xpack-dev-tools/clang-xpack.git \ 25 | ~/Work/xpack-dev-tools/clang-xpack.git 26 | ``` 27 | 28 |
29 | For development purposes, clone the `xpack-development` branch. 30 | 31 | ```sh 32 | rm -rf ~/Work/xpack-dev-tools/clang-xpack.git && \ 33 | mkdir -p ~/Work/xpack-dev-tools && \ 34 | git clone \ 35 | --branch xpack-development \ 36 | https://github.com/xpack-dev-tools/clang-xpack.git \ 37 | ~/Work/xpack-dev-tools/clang-xpack.git 38 | ``` 39 | 40 |
41 | 42 | Alternatively, if the repository has already been cloned: 43 | 44 | ```sh 45 | git -C ~/Work/xpack-dev-tools/clang-xpack.git pull 46 | ``` 47 | 48 | :::tip 49 | 50 | To contribute Pull Requests, fork the project and ensure the **Copy the master branch only** is **disabled**. 51 | 52 | Utilise the `xpack-development` branch and ensure you contribute the 53 | Pull Requests back to the `xpack-development` branch. 54 | 55 | ::: 56 | 57 | ## Add links for development 58 | 59 | During development, it is convenient to maintain a writable instance of the 60 | library to enable changes in parallel with the parent project. 61 | 62 | To facilitate the use of a writable instance of this library in other 63 | projects, add a link from the user's global xPacks store to this local 64 | development folder: 65 | 66 | ```sh 67 | xpm link -C ~/Work/xpack-dev-tools/clang-xpack.git 68 | ``` 69 | 70 | And in the projects referring it: 71 | 72 | ```sh 73 | xpm link @xpack-dev-tools/clang 74 | ``` 75 | 76 | -------------------------------------------------------------------------------- /website/src/pages/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 React from 'react'; 16 | import clsx from 'clsx'; 17 | import useDocusaurusContext from '@docusaurus/useDocusaurusContext'; 18 | import Layout from '@theme/Layout'; 19 | import Heading from '@theme/Heading'; 20 | import HeadTitle from '@site/src/components/HeadTitle'; 21 | 22 | import styles from './index.module.css'; 23 | import HomepageFeatures from '@site/src/components/HomepageFeatures'; 24 | import InstallWithCopy from '@site/src/components/InstallWithCopy'; 25 | 26 | function HomepageHeader() { 27 | const {siteConfig} = useDocusaurusContext(); 28 | return ( 29 |
30 | 31 |
32 | {siteConfig.title} 33 |

{siteConfig.tagline} 34 | 35 | 36 | 37 | 38 | 39 |

40 |
41 | xpm install @xpack-dev-tools/clang@20.1.8-1.1 --verbose 42 |
43 |
44 |
45 | ); 46 | } 47 | 48 | export default function Home(): JSX.Element { 49 | const {siteConfig} = useDocusaurusContext(); 50 | return ( 51 | 54 | 55 |
56 | 57 |
58 |
59 | ); 60 | } 61 | -------------------------------------------------------------------------------- /website/src/components/HomepageFeatures/FeatureList.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 Link from '@docusaurus/Link'; 16 | 17 | import type { FeatureItem } from './FeatureItem'; 18 | 19 | export const FeatureList: FeatureItem[] = [ 20 | { 21 | title: 'Multi-version, cross-platform', 22 | Svg: require('@site/static/img/mosaic.svg').default, 23 | description: ( 24 | <> 25 | The xPack Framework aims to automate the installation of multiple versions of development tools that are otherwise not easily available in common software distributions, across multiple platforms (Windows, macOS, GNU/Linux). 26 | 27 | ), 28 | }, 29 | { 30 | title: 'Easy to Use & Reproducible', 31 | Svg: require('@site/static/img/check-badge.svg').default, 32 | description: ( 33 | <> 34 | The binary packages can be added to projects 35 | as development dependencies, 36 | and conveniently installed with 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 | { 15 | `npm --prefix ~/Work/xpack-dev-tools/clang-xpack.git/build-assets install && \\ 16 | xpm install -C ~/Work/xpack-dev-tools/clang-xpack.git/build-assets && \\ 17 | xpm install --config ${props.platform} -C ~/Work/xpack-dev-tools/clang-xpack.git/build-assets 18 | `} 19 | 20 |
21 | ... or, with the writable helper ... 22 | 23 | { 24 | `npm --prefix ~/Work/xpack-dev-tools/clang-xpack.git/build-assets install && \\ 25 | xpm install -C ~/Work/xpack-dev-tools/clang-xpack.git/build-assets && \\ 26 | xpm run link-deps -C ~/Work/xpack-dev-tools/clang-xpack.git/build-assets && \\ 27 | xpm install --config ${props.platform} -C ~/Work/xpack-dev-tools/clang-xpack.git/build-assets 28 | `} 29 | 30 |
31 | 32 | To execute the native build: 33 | 34 | { 35 | `xpm run build --config ${props.platform} -C ~/Work/xpack-dev-tools/clang-xpack.git/build-assets 36 | `} 37 | 38 | or, for increased verbosity, execute the similar development build: 39 | 40 | { 41 | `xpm run build-development --config ${props.platform} -C ~/Work/xpack-dev-tools/clang-xpack.git/build-assets 42 | `} 43 | 44 | {developmentDurations[ props.platform ]}, the output of the build script is a compressed 45 | archive and its SHA signature, created within 46 | the 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 | { 54 | `xpm run deep-clean --config ${props.platform} -C ~/Work/xpack-dev-tools/clang-xpack.git/build-assets 55 | `} 56 | -------------------------------------------------------------------------------- /website/sidebars.ts: -------------------------------------------------------------------------------- 1 | // DO NOT EDIT! 2 | // Automatically generated from docusaurus-template-liquid/templates/docusaurus. 3 | 4 | import type {SidebarsConfig} from '@docusaurus/plugin-content-docs'; 5 | import {customDocsUserSidebarCategory} from "./sidebar-docs-user-custom"; 6 | 7 | /** 8 | * Creating a sidebar enables you to: 9 | - create an ordered group of docs 10 | - render a sidebar for each doc of that group 11 | - provide next/previous navigation 12 | 13 | The sidebars can be generated from the filesystem, or explicitly defined here. 14 | 15 | Create as many sidebars as you want. 16 | */ 17 | const sidebars: SidebarsConfig = { 18 | 19 | docsSidebar: [ 20 | { 21 | type: 'doc', 22 | id: 'getting-started/index', 23 | label: 'Getting Started' 24 | }, 25 | { 26 | type: 'doc', 27 | id: 'install/index', 28 | label: 'Installation Guide' 29 | }, 30 | customDocsUserSidebarCategory, 31 | { 32 | type: 'doc', 33 | id: 'developer/index', 34 | label: 'Contributor\'s Guide' 35 | }, 36 | { 37 | type: 'doc', 38 | id: 'maintainer/index', 39 | label: 'Maintainer\'s Guide' 40 | }, 41 | { 42 | type: 'doc', 43 | id: 'tests/index', 44 | label: 'Tests results' 45 | }, 46 | { 47 | type: 'doc', 48 | id: 'faq/index', 49 | label: 'FAQ' 50 | }, 51 | { 52 | type: 'doc', 53 | id: 'support/index', 54 | label: 'Help Centre' 55 | }, 56 | { 57 | type: 'doc', 58 | id: 'releases/index', 59 | label: 'Releases' 60 | }, 61 | { 62 | type: 'category', 63 | label: 'Project', 64 | link: { 65 | type: 'doc', 66 | id: 'project/about/index', 67 | }, 68 | collapsed: false, 69 | items: [ 70 | { 71 | type: 'doc', 72 | id: 'project/about/index', 73 | label: 'About' 74 | }, 75 | { 76 | type: 'doc', 77 | id: 'project/history/index', 78 | label: 'History' 79 | }, 80 | { 81 | type: 'link', 82 | label: 'License', 83 | href: 'https://opensource.org/license/mit', 84 | }, 85 | ] 86 | }, 87 | ], 88 | 89 | testsSidebar: [{type: 'autogenerated', dirName: 'tests'}], 90 | }; 91 | 92 | export default sidebars; 93 | -------------------------------------------------------------------------------- /website/blog/_templates/blog-post-release-part-2-liquid.mdx: -------------------------------------------------------------------------------- 1 | 2 | ## Folders hierarchy 3 | 4 | After install, the package creates a hierarchy of folders like the following 5 | (only the first two depth levels are shown): 6 | 7 | {%- assign platforms_array = platforms | split: "," %} 8 | 9 | {%- assign names_array = "" | split: "" %} 10 | 11 | {%- for platform in platforms_array %} 12 | {%- case platform %} 13 | {%- when "win32-x64" %} 14 | {%- assign names_array = names_array | concat: "Windows" %} 15 | {%- when "darwin-x64", "darwin-arm64" %} 16 | {%- assign names_array = names_array | concat: "macOS" %} 17 | {%- when "linux-x64", "linux-arm64", "linux-arm" %} 18 | {%- assign names_array = names_array | concat: "GNU/Linux" %} 19 | {%- endcase %} 20 | {%- endfor %} 21 | 22 | {%- assign names_array = names_array | uniq %} 23 | 24 | 25 | 26 | {%- for name in names_array %} 27 | {%- case name %} 28 | {%- when "Windows" %} 29 | 30 | 31 | 32 | { 33 | `C:\> tree /f %USERPROFILE%\\AppData\\Roaming\\xPacks\\@{{packageScope}}\\{{packageName}}\\${frontMatter.version}.${frontMatter.npm_subversion}\\.content 34 | Folder PATH listing 35 | Volume serial number is B02D-925C 36 | ├── README.md 37 | ├── bin 38 | TODO 39 | `} 40 | 41 | 42 | 43 | {%- when "macOS" %} 44 | 45 | 46 | 47 | { 48 | `$ tree -L 2 ~/Library/xPacks/\{{packageScopedName}}/${frontMatter.version}.${frontMatter.npm_subversion}/.content/ 49 | /Users/ilg/Library/xPacks/\{{packageScopedName}}/${frontMatter.version}.${frontMatter.npm_subversion}/.content/ 50 | ├── README.md 51 | ├── bin 52 | TODO 53 | `} 54 | 55 | 56 | 57 | {%- when "GNU/Linux" %} 58 | 59 | 60 | 61 | { 62 | `$ tree -L 2 ~/.local/xPacks/\{{packageScopedName}}/${frontMatter.version}.${frontMatter.npm_subversion}/.content/ 63 | /home/ilg/.local/xPacks/\{{packageScopedName}}/${frontMatter.version}.${frontMatter.npm_subversion}/.content/ 64 | ├── README.md 65 | ├── bin 66 | TODO 67 | `} 68 | 69 | 70 | 71 | {%- endcase %} 72 | {%- endfor %} 73 | 74 | 75 | 76 | 77 | 78 | 79 | -------------------------------------------------------------------------------- /website/docs/getting-started/index.mdx: -------------------------------------------------------------------------------- 1 | --- 2 | 3 | # DO NOT EDIT! 4 | # Automatically generated from docusaurus-template-liquid/templates/docusaurus. 5 | 6 | title: Getting Started 7 | description: The initial steps to explore the project, including what xpm packages are, the project's features, benefits, compatibility, and available documentation. 8 | keywords: 9 | - xpack 10 | - clang 11 | - overview 12 | - features 13 | - benefits 14 | - compatibility 15 | - documentation 16 | 17 | date: 2020-07-21 17:49:00 +0300 18 | 19 | --- 20 | 21 | import Link from '@docusaurus/Link'; 22 | 23 | import ProjectDocumentation from '@site/docs/_project/_documentation.mdx'; 24 | import ProjectReleaseSchedule from '@site/docs/_project/_release-schedule.mdx'; 25 | 26 | import CommonUserDeveloperMaintainer from './_common/_user-developer-maintainer.mdx'; 27 | import CommonLicense from './_common/_license.mdx'; 28 | import CommonEnjoyedUsing from './_common/_enjoyed-using.mdx'; 29 | import CommonSupportAndFeedback from './_common/_support-and-feedback.mdx'; 30 | import CommonChangeLog from './_common/_change-log.mdx'; 31 | import CommonReleases from './_common/_releases.mdx'; 32 | import CommonCreditsMacStadium from './_common/_credits-mac-stadium.mdx'; 33 | import ProjectMoreCredits from './_project/_more-credits.mdx'; 34 | import ProjectMoreLicenses from './_project/_more-licenses.mdx'; 35 | import ProjectStatus from './_project/_status.mdx'; 36 | 37 | import CommonContent from './_common/_content.mdx'; 38 | 39 | {/* ------------------------------------------------------------------------ */} 40 | 41 | # Getting Started with xPack LLVM clang 42 | 43 | [![license](https://img.shields.io/github/license/xpack-dev-tools/clang-xpack)](https://github.com/xpack-dev-tools/clang-xpack/blob/xpack/LICENSE) 44 | [![GitHub Repo stars](https://img.shields.io/github/stars/xpack-dev-tools/clang-xpack)](https://github.com/xpack-dev-tools/clang-xpack) 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | ## Documentation 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | Thanks to [Shields IO](https://shields.io) for the badges. 73 | 74 | 75 | -------------------------------------------------------------------------------- /website/docs/_common/_manual-tests.mdx: -------------------------------------------------------------------------------- 1 | {/* DO NOT EDIT! */} 2 | {/* Automatically generated from docusaurus-template-liquid/templates/docusaurus. */} 3 | 4 | import CommonXpmCleanUps from '@site/docs/_common/_xpm-clean-ups.mdx'; 5 | 6 | {/* ------------------------------------------------------------------------ */} 7 | 8 | ### Manual tests 9 | 10 | There are predefined xpm actions available to manually execute various 11 | tests on the local development machine. 12 | 13 | It is recommended to commence by performing some clean-ups (not necessary 14 | following the initial `git clone`): 15 | 16 | ```sh 17 | npm --prefix ~/Work/xpack-dev-tools/clang-xpack.git/tests install 18 | xpm run deep-clean -C ~/Work/xpack-dev-tools/clang-xpack.git/tests 19 | ``` 20 | 21 | :::tip 22 | 23 | During the initial execution, the installation step may require a considerable 24 | amount of time, as it needs to download the toolchain archives, which 25 | can be relatively large, up to several hundred megabytes. 26 | 27 | ::: 28 | 29 | To execute the tests with the system compiler (usually not available on Windows): 30 | 31 | ```sh 32 | xpm run install -C ~/Work/xpack-dev-tools/clang-xpack.git/tests 33 | xpm run test -C ~/Work/xpack-dev-tools/clang-xpack.git/tests 34 | ``` 35 | 36 | To execute a selection of tests with the latest versions of toolchains: 37 | 38 | ```sh 39 | xpm run install-selected -C ~/Work/xpack-dev-tools/clang-xpack.git/tests 40 | xpm run test-selected -C ~/Work/xpack-dev-tools/clang-xpack.git/tests 41 | ``` 42 | 43 | To execute all tests with the latest versions of toolchains: 44 | 45 | ```sh 46 | xpm run install-latest -C ~/Work/xpack-dev-tools/clang-xpack.git/tests 47 | xpm run test-latest -C ~/Work/xpack-dev-tools/clang-xpack.git/tests 48 | ``` 49 | 50 | To execute all tests with all toolchain versions: 51 | 52 | ```sh 53 | xpm run install-all -C ~/Work/xpack-dev-tools/clang-xpack.git/tests 54 | xpm run test-all -C ~/Work/xpack-dev-tools/clang-xpack.git/tests 55 | ``` 56 | 57 | ### Clean-ups 58 | 59 | Executing all tests may require several gigabytes of space. 60 | 61 | To clean up the tests folder, utilise: 62 | 63 | ```sh 64 | npm --prefix ~/Work/xpack-dev-tools/clang-xpack.git/tests install 65 | xpm run deep-clean -C ~/Work/xpack-dev-tools/clang-xpack.git/tests 66 | ``` 67 | 68 | A considerable amount of space may also be utilised by the toolchains. 69 | When no longer required, they can be removed with `xpm uninstall`. 70 | 71 |
72 | xpm clean-ups 73 | 74 | 75 | 76 |
77 | -------------------------------------------------------------------------------- /website/_xpack.github.io/pages/clang/support.md: -------------------------------------------------------------------------------- 1 | --- 2 | 3 | title: How to get help for xPack LLVM clang 4 | permalink: /dev-tools/clang/support/ 5 | 6 | comments: true 7 | 8 | date: 2021-05-22 00:27:00 +0300 9 | 10 | redirect_to: https://xpack-dev-tools.github.io/clang-xpack/docs/support/ 11 | 12 | --- 13 | 14 | ## Quicklinks 15 | 16 | The quick answer is to use the GitHub 17 | [Discussions](https://github.com/xpack-dev-tools/clang-xpack/discussions/). 18 | 19 | ## Check the documentation 20 | 21 | To save space and bandwidth, the original documentation is available 22 | [online](https://clang.llvm.org/docs/UsersManual.html). 23 | 24 | ## Check the FAQ 25 | 26 | Check the [FAQ]({{ site.baseurl }}/clang/faq/) 27 | for similar problems. 28 | 29 | ## Check the GitHub Discussions 30 | 31 | Check the GitHub [Discussions](https://github.com/xpack-dev-tools/clang-xpack/discussions/) for 32 | similar problems. 33 | 34 | ## Check the GitHub Issues 35 | 36 | Check the GitHub 37 | [Issues](https://github.com/xpack-dev-tools/clang-xpack/issues/) 38 | tracker for similar problems. 39 | 40 | ## Ask questions in GitHub Discussions 41 | 42 | If you still could not find a solution, if you have interesting use 43 | cases, if you have custom configurations, and generally if you have 44 | any experience that you want to share with others, use the GitHub 45 | [Discussions](https://github.com/xpack-dev-tools/clang-xpack/discussions/), 46 | and enter a **New discussion** in the **Q&A** category. 47 | 48 | ## Register a new support ticket only if necessary 49 | 50 | If you are convinced that you identified a bug (if you have doubts, 51 | use the GitHub Discussions), 52 | or you have a pertinent suggestion how to enhance the **xPack LLVM clang** 53 | distribution, register a **New Issue** in the GitHub 54 | [Issues](https://github.com/xpack-dev-tools/clang-xpack/issues/) 55 | tracker. 56 | 57 | {% include tip.html content="**DO NOT** use the GitHub Issues tracker 58 | for questions and support, **use the GitHub Discussions**." %} 59 | 60 | ## Use of private e-mail 61 | 62 | {% include important.html content="Please, please, please: **do not use 63 | private e-mail** for support, **use the GitHub 64 | [Discussions](https://github.com/xpack-dev-tools/clang-xpack/discussions/)**." %} 65 | 66 | Sending private messages will be automatically replied with 67 | a link to this page. 68 | The reason for this rude behaviour is simply an attempt to use 69 | the time more efficiently; since discussions are archived, other people 70 | having similar problems might benefit from the answers. 71 | -------------------------------------------------------------------------------- /website/static/img/check-badge.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /website/docs/developer/_common/_platform-docker-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 | {props.platform === "win32-x64" ? (

The Windows builds execute on GNU/Linux, utilising mingw-w64.

) : ''} 13 | 14 | To prepare the docker build: 15 | 16 | { 17 | `npm --prefix ~/Work/xpack-dev-tools/clang-xpack.git/build-assets install && \\ 18 | xpm install -C ~/Work/xpack-dev-tools/clang-xpack.git/build-assets && \\ 19 | xpm run docker-prepare --config ${props.platform} -C ~/Work/xpack-dev-tools/clang-xpack.git/build-assets 20 | `} 21 | 22 |
23 | ... or, with the writable helper ... 24 | 25 | { 26 | `npm --prefix ~/Work/xpack-dev-tools/clang-xpack.git/build-assets install && \\ 27 | xpm install -C ~/Work/xpack-dev-tools/clang-xpack.git/build-assets && \\ 28 | xpm run link-deps -C ~/Work/xpack-dev-tools/clang-xpack.git/build-assets && \\ 29 | xpm run docker-prepare --config ${props.platform} -C ~/Work/xpack-dev-tools/clang-xpack.git/build-assets && \\ 30 | xpm run docker-link-deps --config ${props.platform} -C ~/Work/xpack-dev-tools/clang-xpack.git/build-assets 31 | `} 32 | 33 |
34 | 35 | To execute the docker build: 36 | 37 | { 38 | `xpm run docker-build --config ${props.platform} -C ~/Work/xpack-dev-tools/clang-xpack.git/build-assets 39 | `} 40 | 41 | or, for increased verbosity, execute the similar development build: 42 | 43 | { 44 | `xpm run docker-build-development --config ${props.platform} -C ~/Work/xpack-dev-tools/clang-xpack.git/build-assets 45 | `} 46 | 47 | {developmentDurations[ props.platform ]}, the output of the build script is a compressed 48 | archive and its SHA signature, created within 49 | the 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 | { 57 | `xpm run deep-clean --config ${props.platform} -C ~/Work/xpack-dev-tools/clang-xpack.git/build-assets 58 | `} 59 | -------------------------------------------------------------------------------- /website/docusaurus-config-redirects.ts: -------------------------------------------------------------------------------- 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 | import util from 'node:util'; 13 | 14 | export const redirects = { 15 | // fromExtensions: ['html', 'htm'], // /myPage.html -> /myPage 16 | // toExtensions: ['exe', 'zip'], // /myAsset -> /myAsset.zip (if latter exists) 17 | redirects: [ 18 | // // /docs/oldDoc -> /docs/newDoc 19 | // { 20 | // to: '/docs/newDoc', 21 | // from: '/docs/oldDoc', 22 | // }, 23 | // // Redirect from multiple old paths to the new path 24 | // { 25 | // to: '/docs/newDoc2', 26 | // from: ['/docs/oldDocFrom2019', '/docs/legacyDocFrom2016'], 27 | // }, 28 | 29 | { 30 | from: '/docs/developer-info', 31 | to: '/docs/developer', 32 | }, 33 | { 34 | from: '/docs/maintainer-info', 35 | to: '/docs/maintainer', 36 | }, 37 | { 38 | from: '/docs/user-info', 39 | to: '/docs/user', 40 | }, 41 | { 42 | from: '/docs/about', 43 | to: '/docs/project/about', 44 | }, 45 | ], 46 | createRedirects(existingPath) { 47 | console.log(existingPath); 48 | // if (existingPath.includes('/evenimente')) { 49 | // // console.log(`to ${existingPath} from ${existingPath.replace('/evenimente', '/events')}`); 50 | // // Redirect from /events/X to /evenimente/X 51 | // return [ 52 | // existingPath.replace('/evenimente', '/events') 53 | // ]; 54 | // } else if (existingPath.includes('/amintiri')) { 55 | // // console.log(`to ${existingPath} from ${existingPath.replace('/amintiri', '/blog')}`); 56 | // // Redirect from /blog/Z to /amintiri/X 57 | // return [ 58 | // existingPath.replace('/amintiri', '/blog') 59 | // ]; 60 | // } 61 | // return undefined; // Return a falsy value: no redirect created 62 | // }, 63 | 64 | if (existingPath.includes('/user-info')) { 65 | return [ 66 | existingPath.replace('/user-info', '/user') 67 | ]; 68 | } else if (existingPath.includes('/developer-info')) { 69 | return [ 70 | existingPath.replace('/developer-info', '/developer') 71 | ]; 72 | } else if (existingPath.includes('/maintainer-info')) { 73 | return [ 74 | existingPath.replace('/maintainer-info', '/maintainer') 75 | ]; 76 | } 77 | } 78 | } 79 | -------------------------------------------------------------------------------- /.github/workflows/keepalive.yml: -------------------------------------------------------------------------------- 1 | # ----------------------------------------------------------------------------- 2 | # 3 | # This file is part of the xPack project (http://xpack.github.io). 4 | # Copyright (c) 2025 Liviu Ionescu. All rights reserved. 5 | # 6 | # Permission to use, copy, modify, and/or distribute this software 7 | # for any purpose is hereby granted, under the terms of the MIT license. 8 | # 9 | # If a copy of the license was not distributed with this file, it can 10 | # be obtained from https://opensource.org/licenses/mit. 11 | # 12 | # ----------------------------------------------------------------------------- 13 | 14 | name: 'Keep Alive' 15 | 16 | on: 17 | schedule: 18 | - cron: '0 0 1 * *' # Monthly on the 1st at midnight UTC 19 | workflow_dispatch: 20 | 21 | jobs: 22 | keepalive: 23 | runs-on: ubuntu-latest 24 | steps: 25 | - name: Checkout 26 | uses: actions/checkout@v4 27 | with: 28 | token: ${{ secrets.GITHUB_TOKEN }} 29 | 30 | - name: Update keepalive timestamp 31 | run: | 32 | # Check if there are any commits in the last 30 days 33 | last_commit_date=$(git log -1 --format=%ct) 34 | current_date=$(date +%s) 35 | days_since_commit=$(( (current_date - last_commit_date) / 86400 )) 36 | 37 | if [ $days_since_commit -lt 30 ]; then 38 | echo "Repository has commits within the last 30 days (${days_since_commit} days ago). Skipping keepalive update." 39 | exit 0 40 | fi 41 | 42 | echo "No commits in the last ${days_since_commit} days. Updating keepalive timestamp." 43 | echo "Last keepalive: $(date -u)" > .github/keepalive 44 | git config --local user.email "action@github.com" 45 | git config --local user.name "GitHub Action" 46 | git add .github/keepalive 47 | if git diff --staged --quiet; then 48 | echo "No changes to commit" 49 | else 50 | git commit -m "chore: update keepalive timestamp [skip ci]" 51 | 52 | # Push to the default branch (xpack) 53 | git push 54 | 55 | # Merge into xpack-development branch if it exists 56 | if git ls-remote --heads origin xpack-development | grep -q xpack-development; then 57 | echo "Merging keepalive update into xpack-development branch" 58 | current_branch=$(git rev-parse --abbrev-ref HEAD) 59 | git fetch origin xpack-development 60 | git checkout xpack-development 61 | git merge --no-edit ${current_branch} 62 | git push origin xpack-development 63 | git checkout ${current_branch} 64 | else 65 | echo "xpack-development branch does not exist, skipping merge" 66 | fi 67 | fi 68 | -------------------------------------------------------------------------------- /.github/workflows/test-sourceforge-downloads.yml: -------------------------------------------------------------------------------- 1 | # ----------------------------------------------------------------------------- 2 | # 3 | # This file is part of the xPack project (http://xpack.github.io). 4 | # Copyright (c) 2025 Liviu Ionescu. All rights reserved. 5 | # 6 | # Permission to use, copy, modify, and/or distribute this software 7 | # for any purpose is hereby granted, under the terms of the MIT license. 8 | # 9 | # If a copy of the license was not distributed with this file, it can 10 | # be obtained from https://opensource.org/licenses/mit. 11 | # 12 | # ----------------------------------------------------------------------------- 13 | 14 | # https://github.com/xpack-dev-tools/clang-xpack/actions/workflows/test-sourceforge-downloads.yml 15 | name: 'Test SourceForge downloads' 16 | 17 | on: 18 | schedule: 19 | - cron: '37 13 * * 6' # every Saturday 20 | workflow_dispatch: 21 | 22 | jobs: 23 | test: 24 | runs-on: ubuntu-latest 25 | steps: 26 | - name: Checkout 27 | uses: actions/checkout@v2 28 | with: 29 | repository: xpack-dev-tools/xbb-helper-xpack 30 | ref: 'xpack-development' 31 | 32 | - name: Show environment 33 | run: | 34 | ls -lLA 35 | env | sort | grep -E '^[^ \t]+=' 36 | 37 | - name: Run test 38 | run: | 39 | #!/usr/bin/env bash 40 | set -e 41 | 42 | # The script is in the xbb-helper-xpack repo. 43 | source maintenance-scripts/download-sourceforge-source.sh 44 | 45 | date 46 | 47 | # https://github.com/xpack-dev-tools/clang-xpack/tags 48 | # https://sourceforge.net/projects/clang-xpack/files/ 49 | name="clang" 50 | 51 | if [ "${GITHUB_REF_NAME}" == "xpack-development" ] 52 | then 53 | threshold=100 54 | else 55 | threshold=66 56 | fi 57 | 58 | # 2025 59 | platforms="win32-x64,linux-x64,linux-arm64,darwin-x64,darwin-arm64" 60 | 61 | download_sourceforge "${name}" "20.1.8-1" ${threshold} "${platforms}" 62 | 63 | # 2024 64 | platforms="win32-x64,linux-x64,linux-arm64,linux-arm,darwin-x64,darwin-arm64" 65 | 66 | download_sourceforge "${name}" "19.1.7-1" ${threshold} "${platforms}" 67 | download_sourceforge "${name}" "18.1.8-2" ${threshold} "${platforms}" 68 | download_sourceforge "${name}" "17.0.6-3" ${threshold} "${platforms}" 69 | download_sourceforge "${name}" "16.0.6-1" ${threshold} "${platforms}" 70 | download_sourceforge "${name}" "15.0.7-4" ${threshold} "${platforms}" 71 | download_sourceforge "${name}" "14.0.6-2" ${threshold} "${platforms}" 72 | download_sourceforge "${name}" "13.0.1-1" ${threshold} "${platforms}" 73 | download_sourceforge "${name}" "12.0.1-2" ${threshold} "${platforms}" 74 | -------------------------------------------------------------------------------- /website/docs/maintainer/_common/_platform-native-build.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 | To check the available space: 11 | 12 | ```sh 13 | xpm run check-space -C ~/Work/xpack-dev-tools/clang-xpack.git/build-assets 14 | ``` 15 | 16 | To free the space utilised by all previous builds of all `xpack-dev-tools` packages: 17 | 18 | ```sh 19 | xpm run clear-all-projects-builds -C ~/Work/xpack-dev-tools/clang-xpack.git/build-assets 20 | ``` 21 | 22 | To update the build scripts and build the development binaries: 23 | 24 | { 25 | `export XBB_ENVIRONMENT_MACOSX_DEPLOYMENT_TARGET='11.0' && \\ 26 | rm -rf ~/Work/xpack-dev-tools/clang-xpack.git/package-lock.json && \\ 27 | rm -rf ~/Work/xpack-dev-tools/clang-xpack.git/build-assets/package-lock.json && \\ 28 | git -C ~/Work/xpack-dev-tools/clang-xpack.git pull && \\ 29 | npm --prefix ~/Work/xpack-dev-tools/clang-xpack.git/build-assets install && \\ 30 | xpm install -C ~/Work/xpack-dev-tools/clang-xpack.git/build-assets && \\ 31 | git -C ~/Work/xpack-dev-tools/xbb-helper-xpack.git pull && \\ 32 | xpm link -C ~/Work/xpack-dev-tools/xbb-helper-xpack.git && \\ 33 | xpm run link-deps -C ~/Work/xpack-dev-tools/clang-xpack.git/build-assets && \\ 34 | \\ 35 | xpm run deep-clean --config ${props.platform} -C ~/Work/xpack-dev-tools/clang-xpack.git/build-assets && \\ 36 | xpm install --config ${props.platform} -C ~/Work/xpack-dev-tools/clang-xpack.git/build-assets && \\ 37 | xpm run build-development --config ${props.platform} -C ~/Work/xpack-dev-tools/clang-xpack.git/build-assets 38 | `} 39 | 40 | {developmentDurations[ props.platform ]}, the output of the build script is a compressed 41 | archive and its SHA signature, created in 42 | the 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 | { 50 | `export XBB_ENVIRONMENT_MACOSX_DEPLOYMENT_TARGET='11.0' && \\ 51 | rm -rf ~/Work/xpack-dev-tools/clang-xpack.git/package-lock.json && \\ 52 | rm -rf ~/Work/xpack-dev-tools/clang-xpack.git/build-assets/package-lock.json && \\ 53 | git -C ~/Work/xpack-dev-tools/clang-xpack.git pull && \\ 54 | npm --prefix ~/Work/xpack-dev-tools/clang-xpack.git/build-assets install && \\ 55 | xpm install -C ~/Work/xpack-dev-tools/clang-xpack.git/build-assets && \\ 56 | \\ 57 | xpm run deep-clean --config ${props.platform} -C ~/Work/xpack-dev-tools/clang-xpack.git/build-assets && \\ 58 | xpm install --config ${props.platform} -C ~/Work/xpack-dev-tools/clang-xpack.git/build-assets && \\ 59 | xpm run build --config ${props.platform} -C ~/Work/xpack-dev-tools/clang-xpack.git/build-assets 60 | `} 61 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # Logs 2 | logs 3 | *.log 4 | npm-debug.log* 5 | yarn-debug.log* 6 | yarn-error.log* 7 | lerna-debug.log* 8 | .pnpm-debug.log* 9 | 10 | # Diagnostic reports (https://nodejs.org/api/report.html) 11 | report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json 12 | 13 | # Runtime data 14 | pids 15 | *.pid 16 | *.seed 17 | *.pid.lock 18 | 19 | # Directory for instrumented libs generated by jscoverage/JSCover 20 | lib-cov 21 | 22 | # Coverage directory used by tools like istanbul 23 | coverage 24 | *.lcov 25 | 26 | # nyc test coverage 27 | .nyc_output 28 | 29 | # Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files) 30 | .grunt 31 | 32 | # Bower dependency directory (https://bower.io/) 33 | bower_components 34 | 35 | # node-waf configuration 36 | .lock-wscript 37 | 38 | # Compiled binary addons (https://nodejs.org/api/addons.html) 39 | build/Release 40 | 41 | # Dependency directories 42 | node_modules/ 43 | jspm_packages/ 44 | 45 | # Snowpack dependency directory (https://snowpack.dev/) 46 | web_modules/ 47 | 48 | # TypeScript cache 49 | *.tsbuildinfo 50 | 51 | # Optional npm cache directory 52 | .npm 53 | 54 | # Optional eslint cache 55 | .eslintcache 56 | 57 | # Optional stylelint cache 58 | .stylelintcache 59 | 60 | # Microbundle cache 61 | .rpt2_cache/ 62 | .rts2_cache_cjs/ 63 | .rts2_cache_es/ 64 | .rts2_cache_umd/ 65 | 66 | # Optional REPL history 67 | .node_repl_history 68 | 69 | # Output of 'npm pack' 70 | *.tgz 71 | 72 | # Yarn Integrity file 73 | .yarn-integrity 74 | 75 | # dotenv environment variable files 76 | .env 77 | .env.development.local 78 | .env.test.local 79 | .env.production.local 80 | .env.local 81 | 82 | # parcel-bundler cache (https://parceljs.org/) 83 | .cache 84 | .parcel-cache 85 | 86 | # Next.js build output 87 | .next 88 | out 89 | 90 | # Nuxt.js build / generate output 91 | .nuxt 92 | # dist 93 | 94 | # Gatsby files 95 | .cache/ 96 | # Comment in the public line in if your project uses Gatsby and not Next.js 97 | # https://nextjs.org/blog/next-9-1#public-directory-support 98 | # public 99 | 100 | # vuepress build output 101 | .vuepress/dist 102 | 103 | # vuepress v2.x temp and cache directory 104 | .temp 105 | .cache 106 | 107 | # Docusaurus cache and generated files 108 | .docusaurus 109 | 110 | # Serverless directories 111 | .serverless/ 112 | 113 | # FuseBox cache 114 | .fusebox/ 115 | 116 | # DynamoDB Local files 117 | .dynamodb/ 118 | 119 | # TernJS port file 120 | .tern-port 121 | 122 | # Stores VSCode versions used for testing VSCode extensions 123 | .vscode-test 124 | 125 | # yarn v2 126 | .yarn/cache 127 | .yarn/unplugged 128 | .yarn/build-state.yml 129 | .yarn/install-state.gz 130 | .pnp.* 131 | 132 | # ----- custom ----- 133 | 134 | xpacks/ 135 | 136 | .tap 137 | 138 | cjs/ 139 | **/*.js.map 140 | **/*.d.ts 141 | **/*.d.ts.map 142 | 143 | # /docs/ 144 | 145 | tsconfig.tsbuildinfo 146 | 147 | tmp/ 148 | 149 | .vscode/c_cpp_properties.json 150 | 151 | build*/ 152 | !build-assets/ 153 | 154 | Thumbs.db 155 | .DS_Store 156 | 157 | tests/top 158 | 159 | website/.docusaurus 160 | website/build 161 | website/html 162 | 163 | # ----- end ----- 164 | -------------------------------------------------------------------------------- /website/docs/maintainer/_common/_platform-docker-build.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 | To check the available space: 11 | 12 | ```sh 13 | xpm run check-space -C ~/Work/xpack-dev-tools/clang-xpack.git/build-assets 14 | ``` 15 | 16 | To free the space utilised by all previous builds of all `xpack-dev-tools` packages: 17 | 18 | ```sh 19 | xpm run clear-all-projects-builds -C ~/Work/xpack-dev-tools/clang-xpack.git/build-assets 20 | ``` 21 | 22 | To update the build scripts and build the development binaries: 23 | 24 | { 25 | `rm -rf ~/Work/xpack-dev-tools/clang-xpack.git/package-lock.json && \\ 26 | rm -rf ~/Work/xpack-dev-tools/clang-xpack.git/build-assets/package-lock.json && \\ 27 | git -C ~/Work/xpack-dev-tools/clang-xpack.git pull && \\ 28 | npm --prefix ~/Work/xpack-dev-tools/clang-xpack.git/build-assets install && \\ 29 | xpm install -C ~/Work/xpack-dev-tools/clang-xpack.git/build-assets && \\ 30 | git -C ~/Work/xpack-dev-tools/xbb-helper-xpack.git pull && \\ 31 | xpm link -C ~/Work/xpack-dev-tools/xbb-helper-xpack.git && \\ 32 | xpm run link-deps -C ~/Work/xpack-dev-tools/clang-xpack.git/build-assets && \\ 33 | \\ 34 | xpm run deep-clean --config ${props.platform} -C ~/Work/xpack-dev-tools/clang-xpack.git/build-assets && \\ 35 | xpm run docker-prepare --config ${props.platform} -C ~/Work/xpack-dev-tools/clang-xpack.git/build-assets && \\ 36 | xpm run docker-link-deps --config ${props.platform} -C ~/Work/xpack-dev-tools/clang-xpack.git/build-assets && \\ 37 | xpm run docker-build-development --config ${props.platform} -C ~/Work/xpack-dev-tools/clang-xpack.git/build-assets 38 | `} 39 | 40 | {developmentDurations[ props.platform ]}, the output of the build script is a compressed 41 | archive and its SHA signature, created in 42 | the 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 | { 50 | `rm -rf ~/Work/xpack-dev-tools/clang-xpack.git/package-lock.json && \\ 51 | rm -rf ~/Work/xpack-dev-tools/clang-xpack.git/build-assets/package-lock.json && \\ 52 | git -C ~/Work/xpack-dev-tools/clang-xpack.git pull && \\ 53 | npm --prefix ~/Work/xpack-dev-tools/clang-xpack.git/build-assets install && \\ 54 | xpm install -C ~/Work/xpack-dev-tools/clang-xpack.git/build-assets && \\ 55 | \\ 56 | xpm run deep-clean --config ${props.platform} -C ~/Work/xpack-dev-tools/clang-xpack.git/build-assets && \\ 57 | xpm run docker-prepare --config ${props.platform} -C ~/Work/xpack-dev-tools/clang-xpack.git/build-assets && \\ 58 | xpm run docker-build --config ${props.platform} -C ~/Work/xpack-dev-tools/clang-xpack.git/build-assets 59 | `} 60 | -------------------------------------------------------------------------------- /website/customFields.ts: -------------------------------------------------------------------------------- 1 | // DO NOT EDIT! 2 | // Automatically generated from docusaurus-template-liquid/templates/docusaurus. 3 | 4 | import { fileURLToPath } from 'node:url'; 5 | import path from 'node:path'; 6 | import fs from 'node:fs'; 7 | 8 | // ---------------------------------------------------------------------------- 9 | 10 | export function getCustomFields() { 11 | const pwd = fileURLToPath(import.meta.url); 12 | // console.log(pwd); 13 | 14 | // First get the version from the top package.json. 15 | const topFilePath = path.join(path.dirname(path.dirname(pwd)), 'package.json'); 16 | // console.log(filePath); 17 | const topFileContent = fs.readFileSync(topFilePath); 18 | 19 | const topPackageJson = JSON.parse(topFileContent.toString()); 20 | const packageVersion = topPackageJson.version; 21 | // Remove the pre used during development. 22 | const releaseVersion = packageVersion.replace(/[.-]pre.*/, ''); 23 | // Remove the pre-release. 24 | const releaseSemver = releaseVersion.replace(/[-].*$/, ''); 25 | 26 | let upstreamVersion = releaseSemver; 27 | 28 | let versionFields = { 29 | packageVersion, 30 | releaseVersion, 31 | releaseSemver, 32 | upstreamVersion, 33 | } 34 | 35 | console.log(`package version: ${topPackageJson.version}`); 36 | 37 | if (topPackageJson.xpack && !releaseVersion.startsWith('0.0.0')) { 38 | 39 | // Remove the first part, up to the last dot. 40 | const npmSubversion = releaseVersion.replace(/^.*[.]/, ''); 41 | 42 | // Remove from the last dot to the end. 43 | const xpackVersion = releaseVersion.replace(/[.][0-9]*$/, ''); 44 | 45 | // Remove the first part, up to the dash. 46 | const xpackSubversion = xpackVersion.replace(/^.*[-]/, ''); 47 | 48 | versionFields = { 49 | ...versionFields, 50 | xpackVersion, 51 | xpackSubversion, 52 | npmSubversion, 53 | } 54 | } 55 | 56 | let engineVersionFields; 57 | 58 | if (topPackageJson?.engines?.node) { 59 | const enginesNodeVersion = topPackageJson.engines.node.replace(/[^0-9]*/, '') || ''; 60 | const enginesNodeVersionMajor = enginesNodeVersion.replace(/[.].*/, ''); 61 | engineVersionFields = { 62 | enginesNodeVersion, 63 | enginesNodeVersionMajor 64 | } 65 | } else { 66 | engineVersionFields = {}; 67 | } 68 | 69 | const docusaurusFields = { 70 | docusaurusVersion: require('@docusaurus/core/package.json').version, 71 | buildTime: new Date().getTime(), 72 | } 73 | 74 | let websiteFields = {}; 75 | try { 76 | const websiteFilePath = path.join(path.dirname(path.dirname(pwd)), 'website', 'package.json'); 77 | // console.log(filePath); 78 | const websiteFileContent = fs.readFileSync(websiteFilePath); 79 | const websitePackageJson = JSON.parse(websiteFileContent.toString()); 80 | websiteFields = websitePackageJson?.websiteConfig?.customFields ?? {}; 81 | } catch (error) { 82 | // Most probably there is no website/package.json. 83 | } 84 | 85 | return { 86 | ...versionFields, 87 | ...engineVersionFields, 88 | ...docusaurusFields, 89 | ...websiteFields, 90 | } 91 | } 92 | 93 | // ---------------------------------------------------------------------------- 94 | -------------------------------------------------------------------------------- /website/docs/getting-started/_common/_what-are-xpm-packages.mdx: -------------------------------------------------------------------------------- 1 | {/* DO NOT EDIT! */} 2 | {/* Automatically generated from docusaurus-template-liquid/templates/docusaurus. */} 3 | 4 | {/* ------------------------------------------------------------------------ */} 5 | 6 | ## What are xpm packages? (xPacks) {#xpm-packages} 7 | 8 | **xpm packages**, also known as **xPacks**, are highly adaptable and 9 | language-neutral software solutions. They have been effectively employed 10 | in C and C++ projects, demonstrating their versatility and practicality. 11 | 12 |
13 | What the heck are xpm packages (xPacks)? Please, do not introduce another package format! 14 | 15 | At first glance, the use of xpm packages may appear complex; however, 16 | in practice, they are remarkably straightforward. Their design philosophy 17 | is centred on automating frequent tasks in software development, 18 | such as dependency installation, and ensuring reproducibility. 19 | 20 | xpm packages are managed by **[xpm](https://xpack.github.io/xpm/)** 21 | (the xPack Project Manager), a 22 | utility that complements the **[npm](https://docs.npmjs.com/cli/)** 23 | CLI, the widely-utilised JavaScript 24 | package manager, by introducing language-neutral features. 25 | 26 | The xPacks Framework **does not establish a new package format**. 27 | Instead, it **adopts the standard npm package format**, which comprises 28 | a collection of files and folders, along with a `package.json` 29 | file containing the metadata. 30 | 31 | **xpm** is capable of installing packages from the same repositories 32 | as **npm**, whether they are public or private. 33 | 34 | Packages, which are typically regular archives or git repositories, 35 | are extracted into distinct folders within the project. 36 | 37 | Based on their contents, xpm packages fall into two categories: 38 | 39 | - Source xpm packages: These contain source libraries. 40 | - Binary xpm packages: These typically consist of executables, 41 | often platform-specific binary tools. 42 | 43 | **Source xpm packages** are standard npm packages that incorporate 44 | **library source files**, usually written in C/C++, although they 45 | are not restricted to any particular programming language. 46 | 47 | **Binary xpm packages** are also standard npm packages but have 48 | minimal contents, generally limited to a `package.json` file. 49 | Since these packages provide executables for multiple platforms — 50 | many of which can be considerably large — it is impractical to 51 | include all binaries within the npm package itself. Instead, the 52 | `package.json` file includes references (URLs) to platform-specific 53 | binary archives (e.g., `.tar.gz` for Unix or `.zip` for Windows). 54 | 55 | These archives, along with the package metadata, are extracted. 56 | Additionally, links or forwarders to the executables are created 57 | within a `.bin` folder, thereby eliminating the need to add multiple 58 | folders to the system PATH. 59 | 60 | In conclusion, xpm packages simplify and streamline the installation 61 | process for source libraries and tools, enhancing efficiency and 62 | automation. For further information, please refer to the 63 | [xpm Concepts](https://xpack.github.io/xpm/docs/guide/concepts/) page. 64 | 65 |
66 | -------------------------------------------------------------------------------- /website/src/plugins/DocusaurusContentDocsWithDoxygenWrapper.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 pluginContentDocs from '@docusaurus/plugin-content-docs'; 16 | import { validateOptions as pluginContentDocsValidateOptions } from '@docusaurus/plugin-content-docs'; 17 | 18 | import pluginDoxygen from '@xpack/docusaurus-plugin-doxygen' 19 | import { validateOptions as pluginDoxygenValidateOptions, extendCliGenerateDoxygen } from '@xpack/docusaurus-plugin-doxygen' 20 | 21 | // ---------------------------------------------------------------------------- 22 | 23 | export function validateOptions({ validate, options }) { 24 | // console.log(options) 25 | 26 | // Split the options between the Docs plugin and the Doxygen plugin. 27 | const doxygenPluginOptions = options.doxygenPluginOptions ?? {} 28 | 29 | // Validate the Docs plugin options, with the Doxygen one removed. 30 | delete options.doxygenPluginOptions 31 | const actualDocsPluginOptions = pluginContentDocsValidateOptions({ validate, options }) 32 | 33 | // Validate the Doxygen plugin options. 34 | const actualDoxygenPluginOptions = pluginDoxygenValidateOptions({ validate, options: doxygenPluginOptions }) 35 | 36 | // Recompose the options. It will be split again below, during initialisation. 37 | const validatedOptions = { 38 | ...actualDocsPluginOptions, 39 | doxygenPluginOptions: actualDoxygenPluginOptions 40 | } 41 | 42 | // console.log(validatedOptions) 43 | return validatedOptions 44 | } 45 | 46 | // ---------------------------------------------------------------------------- 47 | 48 | export default async function pluginContentDocsWithDoxygenWrapper(context, options) { 49 | 50 | const doxygenPluginOptions = options.doxygenPluginOptions ?? {} 51 | // console.log(doxygenPluginOptions) 52 | 53 | delete options.doxygenPluginOptions 54 | // console.log(options) 55 | 56 | // Instantiate the original docs plugin. 57 | const pluginContentDocsInstance = await pluginContentDocs(context, options); 58 | 59 | // Instantiate the doxygen plugin. 60 | const pluginDoxygenInstance = await pluginDoxygen(context, doxygenPluginOptions); 61 | 62 | return { 63 | // Get all properties from the Docusaurus Docs plugin. 64 | ...pluginContentDocsInstance, 65 | 66 | // Extend the Docs plugin lifecycle method with the Doxygen plugin one. 67 | async loadContent() { 68 | // Run custom logic before to load Doxygen pages; ignore returned data 69 | await pluginDoxygenInstance.loadContent?.(); 70 | 71 | const content = await pluginContentDocsInstance.loadContent?.(); 72 | // console.log(content) 73 | 74 | // Return the Docs plugin content, it'll be processed in contentLoaded() 75 | return content; 76 | }, 77 | 78 | // https://docusaurus.io/docs/api/plugin-methods/extend-infrastructure#extendCli 79 | extendCli(cli) { 80 | extendCliGenerateDoxygen(cli, context, doxygenPluginOptions) 81 | } 82 | 83 | }; 84 | } 85 | 86 | // ---------------------------------------------------------------------------- 87 | -------------------------------------------------------------------------------- /website/_xpack.github.io/pages/clang/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | 3 | title: The LLVM clang 4 | permalink: /dev-tools/clang/ 5 | 6 | summary: "A binary distribution of the LLVM clang." 7 | keywords: 8 | - LLVM 9 | - clang 10 | - c++ 11 | 12 | comments: true 13 | 14 | date: 2021-05-22 00:27:00 +0300 15 | 16 | redirect_to: https://xpack-dev-tools.github.io/clang-xpack/ 17 | 18 | --- 19 | 20 | ## Quicklinks 21 | 22 | If you already know the general facts about the xPack LLVM clang, you can 23 | directly skip to the desired pages. 24 | 25 | User pages: 26 | 27 | - [install]({{ site.baseurl }}/clang/install/) 28 | - [support]({{ site.baseurl }}/clang/support/) 29 | - [releases]({{ site.baseurl }}/clang/releases/) 30 | 31 | Developer & maintainer pages: 32 | 33 | - [GitHub](https://github.com/xpack-dev-tools/clang-xpack/) 34 | - [README-MAINTAINER](https://github.com/xpack-dev-tools/clang-xpack/blob/xpack/README-MAINTAINER.md) 35 | 36 | ## Overview 37 | 38 | The **xPack LLVM clang** 39 | is an cross-platform standalone binary distribution of the 40 | [LLVM clang](https://clang.llvm.org). 41 | 42 | ## Benefits 43 | 44 | The main advantages of using the **xPack LLVM clang** are: 45 | 46 | - a convenient, uniform and portable install/uninstall/upgrade procedure, 47 | the same procedure is used for all major 48 | platforms (Intel Windows 64-bit, Intel GNU/Linux 64-bit, Arm GNU/Linux 49 | 64/32-bit, Intel macOS 64-bit, Apple Silicon macOS 64-bit) 50 | - a convenient integration with Continuous Integration environments, 51 | like GitHub Actions 52 | - a better integration with development environments 53 | like **Eclipse Embedded CDT**. 54 | 55 | All binaries are self-contained, they include all required libraries, 56 | and can be installed in any location. 57 | 58 | ## Compatibility 59 | 60 | The **xPack LLVM clang** is fully compatible with the 61 | original LLVM releases. 62 | 63 | ## Install 64 | 65 | The details of installing the **xPack LLVM clang** on various 66 | platforms are presented in the separate 67 | [install]({{ site.baseurl }}/clang/install/) page. 68 | 69 | ## Documentation 70 | 71 | To save space and bandwidth, the original documentation is available 72 | [online](https://clang.llvm.org/docs/UsersManual.html). 73 | 74 | ## Predefined macros 75 | 76 | The list of build-in macros is available in a 77 | [separate page]({{ site.baseurl }}/clang/predefined-macros/). 78 | 79 | ## Support 80 | 81 | For the various support options, please read the separate 82 | [support]({{ site.baseurl }}/clang/support/) page. 83 | 84 | ## Change log 85 | 86 | The release and change log is available in the repository 87 | [`CHANGELOG.md`](https://github.com/xpack-dev-tools/clang-xpack/blob/xpack/CHANGELOG.md) file. 88 | 89 | ## Build details 90 | 91 | For those interested in building the binaries, please read the 92 | [README-MAINTAINER](https://github.com/xpack-dev-tools/clang-xpack/blob/xpack/README-MAINTAINER.md) 93 | page. 94 | However, the ultimate source for details are the build scripts themselves, 95 | all available from the 96 | [`clang-xpack.git/scripts`](https://github.com/xpack-dev-tools/clang-xpack/tree/xpack/scripts/) 97 | folder. 98 | 99 | ## Releases 100 | 101 | See the [releases]({{ site.baseurl }}/clang/releases/) pages. 102 | 103 | ## Tests reports 104 | 105 | - [16.0.6-1]({{ site.baseurl }}/clang/tests/16.0.6-1/) 106 | - [17.0.6-2]({{ site.baseurl }}/clang/tests/17.0.6-2/) 107 | - [17.0.6-3]({{ site.baseurl }}/clang/tests/17.0.6-3/) 108 | - [18.1.8-1]({{ site.baseurl }}/clang/tests/18.1.8-1/) 109 | --------------------------------------------------------------------------------