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