640e99a0f6
The templates parser was split out from AWS and due to quirk how GPRBuild interacts with aggregate library projects, linking it as a separate library was more than challenging. It would drop a library exchange file (aws.lexch) in /usr/local/lib/templates_parser during the linking process. Ports are not support to touch areas outside of their work directory -- if they do, builders will notice and fail the port. After hours of trying to get GPRLib to behave, I was reduced to copying the *.ali files over to the work directory and creating a custom gpr file to make linking legal. In the process, I noticed AWS was linking back to work directory (sanity checks don't flag this yet) so that was fixed the the custom "-R" option that I added to GPRBuild a couple of years ago. I had to create a custom aws.gpr file for lib/gnat, and it works really well. Currently something like 238 of 243 tests are passing and the failing ones are socket related and may looking for linux-specific output in a couple of cases. * Documentation is now based on Sphinx. * A fixed package list has replaced the generated one (due to number of options, this was a real chore to generate and validate) * The option to generate only a shared library was removed. It was confusing and not really useful. It produces static and shared libraries by default, and the shared ones can be suppressed optionally. * The FreeBSD-specific makefile was removed. The previous issue was caused by the way the compiler was built which has since been fixed * ASIS was added as dependency * RUN_DEPENDS were defined (they were missing before) * GNUTLS support was fixed. It requires version 3 now and does not required gcrypt or openssl anymore which indicated a previous problem. The aws-demos port had some missing files and other problems. It has been updated at the same time. Note that the output directory has changed from share/examples/aws-demos to share/examples/aws. A couple of tests that were broken now build, and a new test was added. This update comes straight from the latest repositories and was custom packaged. The annual Adacore release was about 5 months old.
33 lines
1.3 KiB
Text
33 lines
1.3 KiB
Text
-- This is a workaround for the nasty habit gprlib has of using
|
|
-- ${LOCALBASE}/lib/templates_parser as the OBJECT_DIR, dumping .lexch
|
|
-- files there which is a build violation. By copying the prebuilt
|
|
-- library and ali files over to the project object directory and using
|
|
-- a custom gpr file restricts the libaws.lexch generation there.
|
|
|
|
with "../shared";
|
|
|
|
project TemParse is
|
|
|
|
for Library_Name use "templates_parser";
|
|
for Library_Kind use Shared.Library_Type;
|
|
case Shared.Library_Type is
|
|
when "relocatable" =>
|
|
for Library_Version use "libtemplates_parser.so";
|
|
for Source_Dirs use ("@PREFIX@/include/templates_parser.relocatable");
|
|
when others =>
|
|
for Source_Dirs use ("@PREFIX@/include/templates_parser");
|
|
end case;
|
|
for Object_Dir use "../" & Shared'Object_Dir & "/temparse";
|
|
for Library_Dir use "../" & Shared'Library_Dir & "/temparse";
|
|
for Externally_Built use "true";
|
|
|
|
package Naming is
|
|
-- for Specification ("Templates_Parser.Configuration")
|
|
-- use "templates_parser-configuration__aws.ads";
|
|
for Implementation ("Templates_Parser.Input")
|
|
use "templates_parser-input__standalone.adb";
|
|
for Implementation ("Templates_Parser_Tasking")
|
|
use "templates_parser_tasking__standard_tasking.adb";
|
|
end Naming;
|
|
|
|
end TemParse;
|