Builds of the GNAT Ada compiler from FSF GCC releases.
We aim to provide builds for various platforms on every major GCC release. There are also weekly unstable "snapshots" builds of GCC's next version, to be found in the snapshots-index branch.
To start the builds you will need python3 (up to version 3.12) and the e3-core package.
This can be done in a virtual env, e.g.:
$ python3 -m venv my-virtual-env
$ source my-virtual-env/bin/activate
$ pip install e3-core==22.10.0A Python 3.12 specific environment can be created with uv instead:
$ uv venv --python=3.12To build a spec, for example mpc, run the anod script:
$ ./anod build mpc -v --loglevel DEBUG-v --loglevel DEBUG will produce many information log about the build.
For a cross compiler:
$ ./anod build gcc --target=avr-elf -v --loglevel DEBUGBuilding release packages can be done using the release_package spec:
$ ./anod build release_package --qualifier=package=<package name>Currently supported package names are gnat, gprbuild and gnatprove.
Only builds in the msys2 mingw64 environement are supported. You will need:
-
mingw-w64-x86_64-python-psutilpackage fore3-coreinstallation to work. -
The Unix and Windows PATH of the repo checkout must match:
C:\dir1\dir2\GNAT-FSF-builds<->\dir1\dir2\GNAT-FSF-builds. This can be done by "mounting" Windows directories in msys2, e.g.:mount C:/Users /Users.
Until the e3-core/anod documentation is available online, the best way to
write a spec is to start from an existing one. A good starting point would be
gnatcoll.anod.
- First, change the
version,tarballand,source_pkg_buildurl - Modify the list of
build_deps, you probably need at leastgcc. - Change the configure/make options
A little script is available to speedup the process of publising GNAT FSF package to the Alire index.
Edit the PKG_VERSION and CRATE_VERSION constant and then run the script to generate all the GNAT manifests. The script also checks the correctness of sha256 hashes.