Skip to content

Commit

Permalink
website updates
Browse files Browse the repository at this point in the history
  • Loading branch information
ilg-ul committed Jul 28, 2024
1 parent 1b6094a commit 6a90d8c
Show file tree
Hide file tree
Showing 6 changed files with 197 additions and 305 deletions.
275 changes: 9 additions & 266 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,278 +3,21 @@
[![npm (scoped)](https://img.shields.io/npm/v/@xpack-dev-tools/riscv-none-elf-gcc.svg?color=blue)](https://www.npmjs.com/package/@xpack-dev-tools/riscv-none-elf-gcc/)
[![license](https://img.shields.io/github/license/xpack-dev-tools/riscv-none-elf-gcc-xpack)](https://github.com/xpack-dev-tools/riscv-none-elf-gcc-xpack/blob/xpack/LICENSE)

## The xPack GNU RISC-V Embedded GCC
# The xPack GNU RISC-V Embedded GCC

A standalone cross-platform (Windows/macOS/Linux) **GNU RISC-V Embedded GCC**
binary distribution, intended for reproducible builds.
A standalone cross-platform (Windows, macOS, GNU/Linux)
binary distribution of GNU RISC-V Embedded GCC,
intended for reproducible builds.

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

### Upgrade notice

This project replaces the deprecated
[`xpack-dev-tools/riscv-none-embed-gcc-xpack`](https://github.com/xpack-dev-tools/riscv-none-embed-gcc-xpack)
project, which followed the SiFive releases; upgrade your projects to get further updates.

## Overview

This open source project is hosted on GitHub as
[`xpack-dev-tools/riscv-none-elf-gcc-xpack`](https://github.com/xpack-dev-tools/riscv-none-elf-gcc-xpack)
and provides the platform specific binaries for the
[xPack GNU RISC-V Embedded GCC](https://xpack.github.io/riscv-none-elf-gcc/).

The binaries can be installed automatically as **binary xPacks** or manually as
**portable archives**.

## Release schedule

This distribution plans to follow the official
[GNU](https://gcc.gnu.org/releases.html) release schedule.
To save some time, the initial X.1 release will be skipped.
Updates for previous releases,
like (X-1).3, (X-2).4, (X-3).5, are also planned.

## User info

This section is intended as a shortcut for those who plan
to use the GNU RISC-V Embedded GCC binaries. For full details please read the
[xPack GNU RISC-V Embedded GCC](https://xpack.github.io/riscv-none-elf-gcc/) pages.

### Easy install

The easiest way to install GNU RISC-V Embedded GCC is using the **binary xPack**, available as
[`@xpack-dev-tools/riscv-none-elf-gcc`](https://www.npmjs.com/package/@xpack-dev-tools/riscv-none-elf-gcc)
from the [`npmjs.com`](https://www.npmjs.com) registry.

#### Prerequisites

A recent [xpm](https://xpack.github.io/xpm/),
which is a portable [Node.js](https://nodejs.org/) command line application
that complements [npm](https://docs.npmjs.com)
with several extra features specific to
**C/C++ projects**.

It is recommended to install/update to the latest version with:

```sh
npm install --location=global xpm@latest
```

For details please follow the instructions in the
[xPack install](https://xpack.github.io/install/) page.

#### Install

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

```sh
cd my-project
xpm init # Add a package.json if not already present

xpm install @xpack-dev-tools/riscv-none-elf-gcc@latest --verbose

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
location in the home 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_STORE_FOLDER`; for more details please check the
[xpm folders](https://xpack.github.io/xpm/folders/) page.

For xPacks aware tools, like the **Eclipse Embedded C/C++ plug-ins**,
it is also possible to install GNU RISC-V Embedded GCC globally, in the user home folder:

```sh
xpm install --global @xpack-dev-tools/riscv-none-elf-gcc@latest --verbose
```

Eclipse will automatically
identify binaries installed with
`xpm` and provide a convenient method to manage paths.

After install, the package should create a structure like this (only the
first two depth levels are shown):

```console
$ tree -L 2 /Users/ilg/Library/xPacks/\@xpack-dev-tools/riscv-none-elf-gcc/14.1.0-1/.content/
/Users/ilg/Library/xPacks/\@xpack-dev-tools/riscv-none-elf-gcc/14.1.0-1/.content/
├── README.md
├── bin
│   ├── riscv-none-elf-addr2line
│   ├── riscv-none-elf-ar
│   ├── riscv-none-elf-as
│   ├── riscv-none-elf-c++
│   ├── riscv-none-elf-c++filt
│   ├── riscv-none-elf-cpp
│   ├── riscv-none-elf-elfedit
│   ├── riscv-none-elf-g++
│   ├── riscv-none-elf-gcc
│   ├── riscv-none-elf-gcc-14.1.0
│   ├── riscv-none-elf-gcc-ar
│   ├── riscv-none-elf-gcc-nm
│   ├── riscv-none-elf-gcc-ranlib
│   ├── riscv-none-elf-gcov
│   ├── riscv-none-elf-gcov-dump
│   ├── riscv-none-elf-gcov-tool
│   ├── riscv-none-elf-gdb
│   ├── riscv-none-elf-gdb-add-index
│   ├── riscv-none-elf-gdb-add-index-py3
│   ├── riscv-none-elf-gdb-py3
│   ├── riscv-none-elf-gfortran
│   ├── riscv-none-elf-gprof
│   ├── riscv-none-elf-ld
│   ├── riscv-none-elf-ld.bfd
│   ├── riscv-none-elf-lto-dump
│   ├── riscv-none-elf-nm
│   ├── riscv-none-elf-objcopy
│   ├── riscv-none-elf-objdump
│   ├── riscv-none-elf-ranlib
│   ├── riscv-none-elf-readelf
│   ├── riscv-none-elf-size
│   ├── riscv-none-elf-strings
│   └── riscv-none-elf-strip
├── distro-info
│   └── licenses
├── include
│   └── gdb
├── lib
│   ├── bfd-plugins
│   ├── gcc
│   ├── libcc1.0.so
│   ├── libcc1.so -> libcc1.0.so
│   └── python3.11
├── libexec
│   ├── gcc
│   ├── libbz2.1.0.8.dylib
│   ├── libcrypt.2.dylib
│   ├── libcrypto.1.1.dylib
│   ├── libexpat.1.8.10.dylib
│   ├── libexpat.1.dylib -> libexpat.1.8.10.dylib
│   ├── libffi.8.dylib
│   ├── libgmp.10.dylib
│   ├── libiconv.2.dylib
│   ├── libisl.23.dylib
│   ├── liblzma.5.dylib
│   ├── libmpc.3.dylib
│   ├── libmpfr.6.dylib
│   ├── libncurses.6.dylib
│   ├── libpanel.6.dylib
│   ├── libpython3.11.dylib
│   ├── libreadline.8.2.dylib
│   ├── libreadline.8.dylib -> libreadline.8.2.dylib
│   ├── libsqlite3.0.dylib
│   ├── libssl.1.1.dylib
│   ├── libz.1.2.13.dylib
│   ├── libz.1.dylib -> libz.1.2.13.dylib
│   └── libzstd.1.5.5.dylib
├── riscv-none-elf
│   ├── bin
│   ├── include
│   ├── lib
│   └── share
└── share
└── gcc-14.1.0

19 directories, 58 files
```

No other files are installed in any system folders or other locations.

#### Uninstall

To remove the links created by xpm in the current project:

```sh
cd my-project

xpm uninstall @xpack-dev-tools/riscv-none-elf-gcc
```

To completely remove the package from the central xPack store:

```sh
xpm uninstall --global @xpack-dev-tools/riscv-none-elf-gcc
```

### Manual install

For all platforms, the **xPack GNU RISC-V Embedded GCC**
binaries are released as portable
archives that can be installed in any location.

The archives can be downloaded from the
GitHub [Releases](https://github.com/xpack-dev-tools/riscv-none-elf-gcc-xpack/releases/)
page.

For more details please read the
[Install](https://xpack.github.io/riscv-none-elf-gcc/install/) page.

### Versioning

The version strings used by the GCC project are three number strings
like `14.1.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 `14.1.0-1`.
When published as a npm package, the version gets
a fifth number, like `14.1.0-1.1`.

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

## Maintainer info

For maintainer info, please see the
[README-MAINTAINER](https://github.com/xpack-dev-tools/riscv-none-elf-gcc-xpack/blob/xpack/README-MAINTAINER.md).

## Support

The quick advice for getting support is to use the GitHub
[Discussions](https://github.com/xpack-dev-tools/riscv-none-elf-gcc-xpack/discussions/).

For more details please read the
[Support](https://xpack.github.io/riscv-none-elf-gcc/support/) page.
For information on how to install and use the tools provided by this project,
please refer to the
[project web site](https://xpack-dev-tools.github.io/riscv-none-elf-gcc-xpack/).

## License

Unless otherwise stated, the content is released under the terms of the
Unless otherwise stated, the original content is released under the terms of the
[MIT License](https://opensource.org/licenses/mit/),
with all rights reserved to
[Liviu Ionescu](https://github.com/ilg-ul).

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

## Download analytics

- GitHub [`xpack-dev-tools/riscv-none-elf-gcc-xpack`](https://github.com/xpack-dev-tools/riscv-none-elf-gcc-xpack/) repo
- latest xPack release
[![Github All Releases](https://img.shields.io/github/downloads/xpack-dev-tools/riscv-none-elf-gcc-xpack/latest/total.svg)](https://github.com/xpack-dev-tools/riscv-none-elf-gcc-xpack/releases/)
- all xPack releases [![Github All Releases](https://img.shields.io/github/downloads/xpack-dev-tools/riscv-none-elf-gcc-xpack/total.svg)](https://github.com/xpack-dev-tools/riscv-none-elf-gcc-xpack/releases/)
- previous `riscv-none-elf-gcc` releases [![Github All Releases](https://img.shields.io/github/downloads/xpack-dev-tools/riscv-none-elf-gcc-xpack/total.svg)](https://github.com/xpack-dev-tools/riscv-none-elf-gcc-xpack/releases/)
- [individual file counters](https://somsubhra.github.io/github-release-stats/?username=xpack-dev-tools&repository=riscv-none-elf-gcc-xpack) (grouped per release)
- npmjs.com [`@xpack-dev-tools/riscv-none-elf-gcc`](https://www.npmjs.com/package/@xpack-dev-tools/riscv-none-elf-gcc/) xPack
- latest release, per month
[![npm (scoped)](https://img.shields.io/npm/v/@xpack-dev-tools/riscv-none-elf-gcc.svg)](https://www.npmjs.com/package/@xpack-dev-tools/riscv-none-elf-gcc/)
[![npm](https://img.shields.io/npm/dm/@xpack-dev-tools/riscv-none-elf-gcc.svg)](https://www.npmjs.com/package/@xpack-dev-tools/riscv-none-elf-gcc/)
- all releases [![npm](https://img.shields.io/npm/dt/@xpack-dev-tools/riscv-none-elf-gcc.svg)](https://www.npmjs.com/package/@xpack-dev-tools/riscv-none-elf-gcc/)

Credit to [Shields IO](https://shields.io) for the badges and to
[Somsubhra/github-release-stats](https://github.com/Somsubhra/github-release-stats)
for the individual file counters.
11 changes: 7 additions & 4 deletions website/docs/developer-info/_common/_platform-docker-section.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,8 @@ To prepare the docker build on { platforms[props.platform].machineName }:
xpm run docker-prepare --config ${ props.platform } -C ~/Work/xpack-dev-tools/riscv-none-elf-gcc-xpack.git`
} </CodeBlock>

or, with the writable helper:
<details>
<summary>... or, with the writable helper ...</summary>

<CodeBlock language="sh"> {
`xpm run install -C ~/Work/xpack-dev-tools/riscv-none-elf-gcc-xpack.git && \\
Expand All @@ -49,16 +50,18 @@ xpm run docker-prepare --config ${ props.platform } -C ~/Work/xpack-dev-tools/ri
xpm run docker-link-deps --config ${ props.platform } -C ~/Work/xpack-dev-tools/riscv-none-elf-gcc-xpack.git`
} </CodeBlock>

</details>

To run the build:

<CodeBlock language="sh"> {
`xpm run docker-build --config ${ props.platform } -C ~/Work/xpack-dev-tools/riscv-none-elf-gcc-xpack.git`
} </CodeBlock>

or, for more verbosity:
or, for more verbosity, invoke the development build:

<CodeBlock language="sh"> {
`xpm run docker-build-develop --config ${ props.platform } -C ~/Work/xpack-dev-tools/riscv-none-elf-gcc-xpack.git`
`xpm run docker-build-development --config ${ props.platform } -C ~/Work/xpack-dev-tools/riscv-none-elf-gcc-xpack.git`
} </CodeBlock>

{ durations[ props.platform ] }, the output of the build script is a compressed
Expand All @@ -70,6 +73,6 @@ archive and its SHA signature, created in the `deploy` folder:
To rerun the build, invoke the deep-clean action and repeat from install:

<CodeBlock language="sh"> {
`xpm run deep-clean --config { props.platform } -C ~/Work/xpack-dev-tools/riscv-none-elf-gcc-xpack.git`
`xpm run deep-clean --config ${ props.platform } -C ~/Work/xpack-dev-tools/riscv-none-elf-gcc-xpack.git`
} </CodeBlock>

11 changes: 7 additions & 4 deletions website/docs/developer-info/_common/_platform-native-section.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -30,24 +30,27 @@ To prepare the native build on { platforms[props.platform].machineName }:
xpm install --config ${ props.platform } -C ~/Work/xpack-dev-tools/riscv-none-elf-gcc-xpack.git`
} </CodeBlock>

or, with the writable helper:
<details>
<summary>... or, with the writable helper ...</summary>

<CodeBlock language="sh"> {
`xpm run install -C ~/Work/xpack-dev-tools/riscv-none-elf-gcc-xpack.git && \\
xpm run link-deps -C ~/Work/xpack-dev-tools/riscv-none-elf-gcc-xpack.git && \\
xpm install --config ${ props.platform } -C ~/Work/xpack-dev-tools/riscv-none-elf-gcc-xpack.git`
} </CodeBlock>

</details>

To run the build:

<CodeBlock language="sh"> {
`xpm run build --config ${ props.platform } -C ~/Work/xpack-dev-tools/riscv-none-elf-gcc-xpack.git`
} </CodeBlock>

or, for more verbosity:
or, for more verbosity, invoke the development build:

<CodeBlock language="sh"> {
`xpm run build-develop --config ${ props.platform } -C ~/Work/xpack-dev-tools/riscv-none-elf-gcc-xpack.git`
`xpm run build-development --config ${ props.platform } -C ~/Work/xpack-dev-tools/riscv-none-elf-gcc-xpack.git`
} </CodeBlock>

{ durations[ props.platform ] }, the output of the build script is a compressed
Expand All @@ -59,6 +62,6 @@ archive and its SHA signature, created in the `deploy` folder:
To rerun the build, invoke the deep-clean action and repeat from install:

<CodeBlock language="sh"> {
`xpm run deep-clean --config { props.platform } -C ~/Work/xpack-dev-tools/riscv-none-elf-gcc-xpack.git`
`xpm run deep-clean --config ${ props.platform } -C ~/Work/xpack-dev-tools/riscv-none-elf-gcc-xpack.git`
} </CodeBlock>

Loading

0 comments on commit 6a90d8c

Please sign in to comment.