It worked!!
Thanks.
AMDG
# Mangle the library and executable names
On 09/12/2012 05:59 AM, Juan Carlos Franzoy wrote:
>
> This solution would duplicate all the targets which depends on A or B.
> Is there any way of including conditionally some sources (A or AS, B or BS
> for instance) in a target? or any other way to reduce verbosity?
> Is there any way of doing defining only one target for library A?
>
rule tag ( name : type ? : property-set )
{
if $(type) in STATIC_LIB SHARED_LIB IMPORT_LIB EXE &&
[ $(property-set).get <link> ] == static &&
! [ $(property-set).get <shared-a> ]
{
return $(name)S ;
}
}
project : requirements <tag>@tag ;
# library A
lib A : ... : <link>shared:<define>A_DYN_LINK : :
<link>shared:<define>A_DYN_LINK ;
# Force a separate subdirectory for B
feature.feature shared-a : on : optional ;
# Targets for B and BS
lib B.lib : ... A/<link>shared : <link>static <shared-a>on ;
lib B.lib-s : ... A/<link>static : <link>static ;
# Target alternative to select the correct version of B
alias B : B.lib : <link>shared ;
alias B : B.lib-s : <link>static ;
exe C : B ;
In Christ,
Steven Watanabe
_______________________________________________
Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost-build