freebsd-ports/www/aws/files/temparse.gpr.in
John Marino 640e99a0f6 www/aws: Upgrade from 3.1.0.0 => 3.2.0.0
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.
2014-05-17 21:21:18 +00:00

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;