From: "Alex R. Mosteo" <devnull@mailinator.com>
Subject: Re: [GNAT 2006] Project file and conditional withing/linking
Date: Fri, 09 Jun 2006 09:45:40 +0200
Date: 2006-06-09T09:45:40+02:00 [thread overview]
Message-ID: <4esn72F1gdphpU1@individual.net> (raw)
In-Reply-To: m23befo2a6.fsf@grendel.local
Simon Wright wrote:
> "Alex R. Mosteo" <devnull@mailinator.com> writes:
>
>> I'm using a project file and, depending on some external variables,
>> I want to include some library for linking or not. The library is
>> defined in its own project file.
>>
>> The problem is that withing the library project causes its linker
>> options to be added no matter what I try, and I'd like to remove
>> these linker options (otherwise the library is always linked).
>
> I don't see why you use Linker_Options? I would have thought you could
> do everything with Default_Switches ("ada").
Actually, the previous GtkAda version used Default_Switches and current one
uses Linker_Options. I don't know the reason nor the implications. In any
case, I'm just using the installed GtkAda project files.
>> Conditionally withing seems out of the question: the "with"s are to be at
>> the top. I've tried overriding with
>>
>> for Gtkada.Linker'Default_Switches ("ada") use ();
>> for Gtkada.Linker.Linker_Options use ();
>
> No, you can define your own switches, not theirs.
>
>> I could remove the withing and copy the switches to my project file,
>> but I'd strongly prefer to keep using the stock installed library
>> project file.
>
> We have defined environment-dependent symbols in non-source Projects
> and then used the symbols to create the appropriate switches in the
> user project. Something like
>
> package Linker is
> case Use_Other_Package is
> when Yes =>
> for Default_Switches ("ada")
> use ("-foo") & Other_Package.Linker_Switches;
> when No =>
> for Default_Switches ("ada") use ("-bar");
> end case;
> end Linker;
I used to do this with the GAP 2005 release, but it seems the GAP/GPL 2006
release will pass the linker options to gnatlink no matter what, once you
with the project. Maybe this is the difference between Default_Switches and
Linker_Options. Going to set up a test case.
Certainly, there are several solutions when you have control over all the
project files. I'm attempting to find a solution without modifying the
GtkAda stock project file.
next prev parent reply other threads:[~2006-06-09 7:45 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-06-08 2:37 [GNAT 2006] Project file and conditional withing/linking Alex R. Mosteo
2006-06-08 12:19 ` mor3b
2006-06-08 19:50 ` Simon Wright
2006-06-09 7:45 ` Alex R. Mosteo [this message]
2006-06-09 8:08 ` Alex R. Mosteo
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox