Skip to content

Latest commit

 

History

History
55 lines (38 loc) · 1.81 KB

README.md

File metadata and controls

55 lines (38 loc) · 1.81 KB

gccarch

gccarch is a tool to query information about architectures supported by the GNU Compiler Collection (GCC), as described in the GCC documentation under "Status of Supported Architectures from Maintainers' Point of View".

gccarch makes it easier to query the information presented in the ASCII-art table on that page.

Note that gccarch treats question marks in the original table as equivalent to an empty entry, meaning it does not differentiate between a feature not being present on an architecture and a feature being of ambiguous status for an architecture.

How to Use

gccarch supports the following flags, which are exclusive of each other.

  • -a <NAME>/--arch <NAME>: print what features are supported by an architecture.
  • -A/--archs: print all architectures supported by GCC.
  • -f <NAME>/--feat <NAME>: print all architectures which support a feature.
  • -F/--feats: print all features tracked by GCC.

gccarch also supports the usual convenience commands:

  • -h/--help: print the help text.
  • -V/--version: print the current version.

Installing

gccarch can be installed using a Rust toolchain. First you'll need to install Rust. Then run the following:

$ cargo install gccarch

gccarch should now be installed. You can confirm this with cargo install --list | grep gccarch. Make sure your Cargo binary directory is in your PATH environment variable.

Why Was This Made?

gccarch was made mostly as an excuse to practice working with nom (for parsing the ASCII table data) and bitvec (for storing the data about feature support for each architecture).

License

gccarch is dual-licensed with the MIT and Apache 2.0 licenses.