comp.lang.ada
 help / color / mirror / Atom feed
From: Victor Porton <porton@narod.ru>
Subject: Re: Upgrading GNAT GPS 5.0 -> 5.3
Date: Thu, 14 Aug 2014 19:15:51 +0300
Date: 2014-08-14T19:15:51+03:00	[thread overview]
Message-ID: <lsinbk$pbj$1@speranza.aioe.org> (raw)
In-Reply-To: 1oacgorukz06m.19lkc26ly0rts.dlg@40tude.net

Dmitry A. Kazakov wrote:

> On Thu, 14 Aug 2014 18:59:48 +0300, Victor Porton wrote:
> 
>> Dmitry A. Kazakov wrote:
>> 
>>> On Thu, 14 Aug 2014 15:18:49 +0300, Victor Porton wrote:
>>> 
>>>> Egil H H wrote:
>>>> 
>>>>> On Wednesday, August 13, 2014 10:10:31 PM UTC+2, Victor Porton wrote:
>>>>>  
>>>>>>    package Linker is
>>>>>> 
>>>>>>       for Linker_Options use ("-lraptor2");
>>>>>> 
>>>>>>    end Linker;
>>>>>>
>>>>> 
>>>>> From the GPRbuild User's Guide (emphasis mine):
>>>>> Linker.Linker_Options:
>>>>> This attribute specifies additional switches to be given to the linker
>>>>> when linking an executable.
>>>>> *It*is*ignored*when*defined*in*the*main*project* and taken into
>>>>> account in all other projects that are imported directly or
>>>>> indirectly. These switches complement the Linker.Switches defined in
>>>>> the main project. This is useful when a particular subsystem depends
>>>>> on an external library: adding this dependency as a Linker_Options in
>>>>> the project of the subsystem is more convenient than adding it to all
>>>>> the Linker.Switches of the main projects that depend upon this
>>>>> subsystem.
>>>> 
>>>> I don't understand.
>>>> 
>>>> Does this mean that it's impossible to link a library to the main
>>>> project?!
>>> 
>>> It means that the option is intended for library projects not for the
>>> client projects.
>> 
>> But if I wanted to add linker option -lraptor2 to a non-library project,
>> what I would need to do?
> 
> You never need that for a library. However, you were already answered in
> this thread how to do this:
> 
> project Messy_Client is
>    ...
>    package Linker is
>       for Default_Switches ("ada") use ("-L<some-path>", "-lraptor2");
>    end Linker;
> 
> end Messy_Client;

In GNAT GPS 5.3 this works only if Messy_Client is a library project (and 
with Linker_Options instead of Default_Switches).

IN GNAT 5.0 it worked for non-library projects also.

It looks like a bug in GNAT GPS 5.3.

>> Many non-library projects need to link to libraries.
> 
> They should *always* use library projects instead of linking directly to
> external libraries.

Why?!

It is completely legit for a non-library project to link to a C library 
directly to obtain some functionality from a C library.

I don't understand you.

-- 
Victor Porton - http://portonvictor.org


  reply	other threads:[~2014-08-14 16:15 UTC|newest]

Thread overview: 35+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-08-13 17:50 Upgrading GNAT GPS 5.0 -> 5.3 Victor Porton
2014-08-13 19:17 ` Victor Porton
2014-08-13 19:28 ` Simon Wright
2014-08-13 19:33   ` Victor Porton
2014-08-13 19:41     ` Per Sandberg
2014-08-13 20:10       ` Victor Porton
2014-08-13 20:29         ` Björn Lundin
2014-08-13 20:36           ` Victor Porton
2014-08-13 22:36             ` Björn Lundin
2014-08-14 12:03               ` Victor Porton
2014-08-14  7:19         ` Egil H H
2014-08-14  7:32           ` Simon Wright
2014-08-14  8:00           ` Dmitry A. Kazakov
2014-08-14 12:14           ` Victor Porton
2014-08-14 12:18           ` Victor Porton
2014-08-14 15:56             ` Dmitry A. Kazakov
2014-08-14 15:59               ` Victor Porton
2014-08-14 16:09                 ` Dmitry A. Kazakov
2014-08-14 16:15                   ` Victor Porton [this message]
2014-08-14 16:49                     ` Simon Wright
2014-08-14 17:18                       ` Victor Porton
2014-08-14 17:22                     ` Dmitry A. Kazakov
2014-08-14 17:27                       ` Victor Porton
2014-08-14 17:32                         ` Simon Wright
2014-08-14 17:43                           ` Victor Porton
2014-08-14 20:03                             ` Dmitry A. Kazakov
2014-08-14 20:27                               ` Victor Porton
2014-08-15  7:00                                 ` Dmitry A. Kazakov
2014-08-15 12:06                                   ` porton.victor
2014-08-16 11:53                                   ` Stephen Leake
2014-08-15  6:36                               ` Simon Wright
2014-08-14 20:50                             ` Simon Wright
2014-08-15 12:07                               ` porton.victor
2014-08-16 11:55                                 ` Stephen Leake
2014-08-16 16:11                                 ` Simon Wright
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox