Static/import library suffix problem

classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

Static/import library suffix problem

Boost - Build mailing list
For the Embarcadero toolset on Windows the static library and import
library suffix for the bcc64 64-bit compiler is '.a' and not '.lib'.
However if the library is a system library such as the Windows system
library advapi, the suffix is naturally '.lib'. In embarcadero.jam I have:

type.set-generated-target-suffix STATIC_LIB : <toolset>embarcadero
<target-os>windows <address-model>64 : a ;
type.set-generated-target-suffix IMPORT_LIB : <toolset>embarcadero
<target-os>windows <address-model>64 : a ;

but this means, for example, that advapi.a, which of course does not
exist, is added to the linker command rather than the correct advapi.lib
when advapi is specified in some jam file. How can I fix this ?

Is advapi a SEARCHED_LIB, and should specifying:

type.set-generated-target-suffix SEARCHED_LIB : <toolset>embarcadero
<target-os>windows <address-model>64 : lib ;

solve this problem, or must I do something else to distinguish
static/import libraries which are system libraries from other libraries
produced by the bcc64 compiler in Boost Build ?








_______________________________________________
Unsubscribe & other changes: https://lists.boost.org/mailman/listinfo.cgi/boost-build
Reply | Threaded
Open this post in threaded view
|

Re: Static/import library suffix problem

Boost - Build mailing list
On 4/6/2020 9:55 AM, Edward Diener via Boost-build wrote:

> For the Embarcadero toolset on Windows the static library and import
> library suffix for the bcc64 64-bit compiler is '.a' and not '.lib'.
> However if the library is a system library such as the Windows system
> library advapi, the suffix is naturally '.lib'. In embarcadero.jam I have:
>
> type.set-generated-target-suffix STATIC_LIB : <toolset>embarcadero
> <target-os>windows <address-model>64 : a ;
> type.set-generated-target-suffix IMPORT_LIB : <toolset>embarcadero
> <target-os>windows <address-model>64 : a ;
>
> but this means, for example, that advapi.a, which of course does not
> exist, is added to the linker command rather than the correct advapi.lib
> when advapi is specified in some jam file. How can I fix this ?
>
> Is advapi a SEARCHED_LIB, and should specifying:
>
> type.set-generated-target-suffix SEARCHED_LIB : <toolset>embarcadero
> <target-os>windows <address-model>64 : lib ;
>
> solve this problem, or must I do something else to distinguish
> static/import libraries which are system libraries from other libraries
> produced by the bcc64 compiler in Boost Build ?

Please ignore ! This post is my error. The Embarcadero distribution has
64-bit import libraries for the Windows system libraries with the '.a'
extension.

_______________________________________________
Unsubscribe & other changes: https://lists.boost.org/mailman/listinfo.cgi/boost-build