Builds of the GNAT Ada compiler from FSF GCC releases
To start the builds you will need python3
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.1.0
To 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 DEBUG
To build the full aarch64-elf cross-compiler package:
./anod build release_package --qualifier=package=gnat --target=aarch64-elf -v
Then the binary files will be at:
sbx/aarch64-elf-linux64/release_package-gnat-aarch64-elf-linux64/install/gnat-aarch64-elf-linux64-x86_64-<vserion>.tar.gz
Which can then be attached to a github release for this project. Once released a toml describing the release can be added to and alire index, which can then be used to install it.
Only builds in the msys2 mingw64 environement are supported. You will need:
-
mingw-w64-x86_64-python-psutil
package fore3-core
installation 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
,tarball
and,source_pkg_build
url - 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.