4

In this multi-language GPRBuild project I'm working on, I have some c++ library files (*.a) I need to link into my executable. Is there an gpr attribute to tell it what to link in or anyway to pass -l -L switches to the linker?

Daniel Ogburn
  • 551
  • 1
  • 6
  • 16

2 Answers2

9

Within the main project file,

package Linker is
   for Default_Switches ("Ada") use ("-L/where/ever", "-lbar");
end Linker;
Simon Wright
  • 25,108
  • 2
  • 35
  • 62
9

Or even better:

Project my_library is
  For externally_built use "true";
  For library_dir use "/where/ever";
  For library_name use "mylibname";
  For source_dirs use (); -- no sources.
  For library_kind use "static";
  -- if it is a static lib .a

  -- for library_kind use "dynamic";
  -- if it is an so.
End my_library;

And in the application project. With "my_library.gpr";

Simon Wright
  • 25,108
  • 2
  • 35
  • 62
persan
  • 106
  • 1
  • 1
  • Although my answer directly addresses Daniel’s question, yours is indeed a better overall solution to Daniel’s problem; there might, for example, be several application projects. – Simon Wright Mar 08 '15 at 11:49