Our great sponsors
-
trendy_terminal
A Windows/Linux library for enabling terminal settings and driving character-by-character input.
-
InfluxDB
Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
Your post made me remember a feature I wanted to add to Alire for a long time. So here you go, in the next version of Alire it should be quite easy to support platform specific code: https://github.com/alire-project/alire/pull/961/files
The typical way that I've seen is to use the build system to change out body implementations for the platform being compiled. This is modeled after the traditional notion of treating translation units like "modules" in C and C++. When I wrote Trendy Terminal, that's the route that I took. This route avoids virtual function call (dynamic dispatch) overhead.
(Actually, for a GUI, the solution is to use a portable GUI such as Ada GUI, but for other cases this approach may be needed.)
For the Windows side, you could consider the GWindows framework: https://sourceforge.net/projects/gnavi/ , https://github.com/zertovitch/gwindows instead of win32ada.
Related posts
- Alire 2.0 Released
- MACbook M1 - alr, gnat development troubles
- Since MSys2 dropped support for Ada (!), how can I build Ada projects such as sdlada and gprbuild-bootstrap that require command-line tools (e.g. makefiles or bootstrap.sh) on Windows?
- Alire - inability to install some packages from the repository
- Your feedback wanted on Alire policy about Unicode