I have a toolchain without libada, so only have -gnatbind, do I need to do anything special to be able to detect it with alr toolchain --select?
I wish I could help you more but I’m also trying to figure it out
There is sadly not much info on it in the docs (Alire - Docs)
As far as I could figure it out alire requires the toolchains to be packaged(see alr get gnat_arm_elf as an example). The packaged toolchains are in the gnat-fsf-builds repo and need to be build using it’s python build script (and also packaged for alire)
The furthest I got without using gnat-fsf-build was setting the compiler to use in the .gpr file using Driver for the compiler and Runtime
I haven’t tried it but you could also try to use alire in a system with no gnat compiler. When you set your custom toolchain as the system compiler, alire should be able to detect it as your system compiler as gnat_external. I haven’t tried this tho and I suspect that you will need to have no instance of gnat on your system except for your custom build.
Maybe some of these ideas will help! Wish you good luck!
that can’t be it, as it can see external builds, like the beta 16:
$ alr toolchain --select
Welcome to the toolchain selection assistant
In this assistant you can set up the default toolchain to be used with any crate
that does not specify its own top-level dependency on a version of gnat or
gprbuild.
If you choose "None", Alire will use whatever version is found in the
environment.
ⓘ Currently configured: gnat_external=16.0.0
Please select the gnat version for use with this configuration
1. gnat_native=15.2.1
2. None
3. gnat_external=16.0.0 [Detected at /home/laguest/opt/gnat-16-snapshots/bin/gnat]
4. gnat_arm_elf=15.2.1
5. gnat_avr_elf=15.2.1
6. gnat_riscv64_elf=15.2.1
7. gnat_xtensa_esp32_elf=15.2.1
8. gnat_arm_elf=15.1.2
9. gnat_avr_elf=15.1.2
0. gnat_native=15.1.2
a. (See more choices...)
Enter your choice index (first is default):
> a
This toolchain is someone else’s and built using their script which I modified to build ada without the rts and it’s not a system compiler, it’s a cross compiler.
Well the external you show has gnat and you only have -gnatbind. I guess you also have to build cross-gnattools so that alire can detect your cross compiler?
could you send me the link to the other persons toolchain? Alire doesn’t pick up my cross compiler…
Yes, that gnat-16, but it’s not showing the cross compiler I have in my path.
Hmm, mebbe I need to set it up like the pi pico with the changes in the gpr file. Most likely.
Yeah, I think this is either going to need a port of the embedded runtimes or a port of the full runtime, but this is a games console, sooo might be a tad heavy.
![]()
could you also document how you adapt the runtime to your system? Having more info about this will be useful (especially me since my endevour isn’t going that well and adapting a runtime is not that well documented…)
I’ve started a new thread so this one doesn’t get too distracted because I still want an answer to my original question.