❌ About FreshRSS

Normal view

There are new articles available, click to refresh the page.
Before yesterdayAda Forum - Latest topics

GNAT-LLVM (for macOS)

26 August 2023 at 15:52

If you want to build a single source file, you can say llvm-gnatmake foo.adb and all will be well. The link is done using llvm-gcc -shared-libgcc.

If you try building with gprbuild (the equivalent of the above would be gprbuild --target=llvm --no-project foo.adb), gprbuild tries to do the link with clang -static-libgcc, which fails because clang doesn’t support that option.

The only way I’ve found round this is to use an actual project with

package Linker is
   for Driver use "g++";
end Linker;

but does anyone know a way of saying the same thing to gprbuild from the command line?

Why g++ I hear you ask? It looks to me as though gprbuild would normally use a C compiler, unless it detects the faintest whiff of C++, in which case it’ll use a C++ compiler, so as to be sure of getting the C++ libraries. It looks on the PATH for a C[++] compiler that’s compatible with the target, llvm, and the only one it finds is /usr/bin/clang[++].

2 posts - 1 participant

Read full topic