@xpack-dev-tools/gcc

A binary xPack with the GNU Compiler Collection executables

Usage no npm install needed!

<script type="module">
  import xpackDevToolsGcc from 'https://cdn.skypack.dev/@xpack-dev-tools/gcc';
</script>

README

GitHub release (latest by date) npm (scoped)

The xPack GNU Compiler Collection (GCC)

A standalone cross-platform (Windows/macOS/Linux) GCC binary distribution, intended for reproducible builds.

In addition to the the binary archives and the package meta data, this project also includes the build scripts.

Overview

This open source project is hosted on GitHub as xpack-dev-tools/gcc-xpack and provides the platform specific binaries for the xPack GNU Compiler Collection; it includes, in addition to project metadata, the full build scripts.

Release schedule

This distribution generally follows the official GNU Compiler Collection releases.

User info

This section is intended as a shortcut for those who plan to use the GCC binaries. For full details please read the xPack GNU Compiler Collection pages.

Supported languages

The xPack GCC binaries include suport for:

  • C
  • C++
  • Obj-C
  • Obj-C++

-static-libgcc -static-libstdc++

To avoid issues with shared libraries, specific to toolchains installed in custom locations, it is highly recommended to use only the static versions of the GCC libraries.

For this append -static-libgcc -static-libstdc++ to the linker line.

Easy install

The easiest way to install GCC is using the binary xPack, available as @xpack-dev-tools/gcc from the npmjs.com registry.

Prerequisites

The only requirement is a recent xpm, which is a portable Node.js command line application. To install it, follow the instructions from the xpm page.

Install

With the xpm tool available, installing the latest version of the package and adding it as a dependency for a project is quite easy:

cd my-project
xpm init # Only at first use.

xpm install @xpack-dev-tools/gcc@latest

ls -l xpacks/.bin

This command will:

  • install the latest available version, into the central xPacks store, if not already there
  • add symbolic links to the central store (or .cmd forwarders on Windows) into the local xpacks/.bin folder.

The central xPacks store is a platform dependent folder; check the output of the xpm command for the actual folder used on your platform). This location is configurable via the environment variable XPACKS_REPO_FOLDER; for more details please check the xpm folders page.

It is also possible to install GCC globally, in the user home folder:

xpm install --global @xpack-dev-tools/gcc@latest

Uninstall

To remove the links from the current project:

cd my-project

xpm uninstall @xpack-dev-tools/gcc

To completely remove the package from the global store:

xpm uninstall --global @xpack-dev-tools/gcc

Manual install

For all platforms, the xPack GNU Compiler Collection binaries are released as portable archives that can be installed in any location.

The archives can be downloaded from the GitHub releases page.

For more details please read the Install page.

Versioning

The version strings used by the GCC project are three number string like 11.2.0; to this string the xPack distribution adds a four number, but since semver allows only three numbers, all additional ones can be added only as pre-release strings, separated by a dash, like 11.2.0-1. When published as a npm package, the version gets a fifth number, like 11.2.0-1.1.

Since adherance of third party packages to semver is not guaranteed, it is recommended to use semver expressions like ^11.2.0 and ~11.2.0 with caution, and prefer exact matches, like 11.2.0-1.1.

Maintainer info

Support

The quick answer is to use the xPack forums; please select the correct forum.

For more details please read the Support page.

License

The original content is released under the MIT License, with all rights reserved to Liviu Ionescu.

The binary distributions include several open-source components; the corresponding licenses are available in the installed distro-info/licenses folder.

Download analytics

Credit to Shields IO for the badges and to Somsubhra/github-release-stats for the individual file counters.