I upgraded to GNAT Community 2018 (everything worked fine with GNAT GPL 2017). I have this project file:
with "opengl";
library project OpenGL.Soil is
for Library_Name use "SoilAda";
for Languages use ("ada", "c");
for Source_Dirs use ("src/soil");
-- snip compiler config
end OpenGL.Soil;
Now in src/soil, there are a couple of .ads and .adb files as well as .h and .c files. Previously, this project file compiled all of them and linked them together just fine when used. Since GNAT Community 2018, this file only compiles the Ada sources, not the C sources.
Things I have tried:
Naming package setting Spec_Suffix and Implementation_Suffix for C to the respective file endings.Source_Files and put all Ada and C files in it.No matter what I did, GPRBuild, when invoked, will not compile the C files (resulting in linker errors). There is no error or warning output regarding the C files even if they are explicitly specified.
How can I make GPRBuild compile the C files again?
Reason was that there were still 32bit object files from the previous compiler lying around. GPRBuild did not re-compile those but also didn't try and link them (which would have failed), calling gprclean -r on the project and compiling again fixed it.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With