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
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?
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