Re: Filter a library from the list of libraries?

Steven Watanabe via Boost-build <[email protected]>
Newsgroups gmane.comp.lib.boost.build
Organization Providere Consulting, Inc.
Message-ID <[email protected]>
AMDG

On 08/21/2018 02:49 PM, Kuhl, Brian via Boost-build wrote:
> (Many thanks to Steven on answering my last question so quickly)
> ..
> My next challenge is to remove the -ldl library from the list of libraries handed to the shared library linker a.k.a the link.dll action.
> I'm trying to use MATCH for this with no success.
> 
> 
>     local libraries = [ feature.get-values     <libraries>  : $(options) ] ;
>     toolset.flags clang-vxworks.link     LIBRARIES    : $(libraries) ;
> 
>     # link shared libraries without libld.a
>     for local e in $(libraries)
>     {
>         local dll_libs = [ MATCH "-l(?!dl)\w+" : $(e) ] ;
>     }
>     toolset.flags clang-vxworks.link.dll DLL_LIBS : $(dll_libs) ;
> 
> 
> Could someone identify my issue? (perhaps something in the regex needs escaping?) or perhaps suggest a better method to accomplish the same thing?
> 

"(?!)" is a perlism and is not supported by MATCH.

https://boostorg.github.io/build/manual/develop/index.html#jam.language.rules.builtins.utility._match__

If you just want to remove an option, try
[ set.difference $(libraries) : -ldl ]

In Christ,
Steven Watanabe
_______________________________________________
Unsubscribe & other changes: https://lists.boost.org/mailman/listinfo.cgi/boost-build
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.