+Jiri

On Wed, May 17, 2017 at 1:26 PM, David Carrillo-Cisneros
<[email protected]> wrote:
> The goal is to allow users to override linking of libraries that
> were automatically added to PERFLIBS.
>
> EXCLUDE_EXTLIBS contains linker flags to be removed from LIBS
> while EXTRA_PERFLIBS contains linker flags to be added.
>
> My use case is to force certain library to be build statically,
> e.g. for libelf:
>
>   EXCLUDE_EXTLIBS=-lelf EXTRA_PERFLIBS=path/libelf.a
>
> Signed-off-by: David Carrillo-Cisneros <[email protected]>
> ---
>  tools/perf/Makefile.perf | 8 +++++++-
>  1 file changed, 7 insertions(+), 1 deletion(-)
>
> diff --git a/tools/perf/Makefile.perf b/tools/perf/Makefile.perf
> index 79fe31f20a17..685443085e1a 100644
> --- a/tools/perf/Makefile.perf
> +++ b/tools/perf/Makefile.perf
> @@ -33,6 +33,11 @@ include ../scripts/utilities.mak
>  #
>  # Define EXTRA_CFLAGS=-m64 or EXTRA_CFLAGS=-m32 as appropriate for 
> cross-builds.
>  #
> +# Define EXCLUDE_EXTLIBS=-lmylib to exclude libmylib from the auto-generated
> +# EXTLIBS.
> +#
> +# Define EXTRA_PERFLIBS to pass extra libraries to PERFLIBS.
> +#
>  # Define NO_DWARF if you do not want debug-info analysis feature at all.
>  #
>  # Define WERROR=0 to disable treating any warnings as errors.
> @@ -352,7 +357,8 @@ ifdef ASCIIDOC8
>    export ASCIIDOC8
>  endif
>
> -LIBS = -Wl,--whole-archive $(PERFLIBS) -Wl,--no-whole-archive 
> -Wl,--start-group $(EXTLIBS) -Wl,--end-group
> +EXTLIBS := $(call filter-out,$(EXCLUDE_EXTLIBS),$(EXTLIBS))
> +LIBS = -Wl,--whole-archive $(PERFLIBS) $(EXTRA_PERFLIBS) 
> -Wl,--no-whole-archive -Wl,--start-group $(EXTLIBS) -Wl,--end-group
>
>  ifeq ($(USE_CLANG), 1)
>    CLANGLIBS_LIST = AST Basic CodeGen Driver Frontend Lex Tooling Edit Sema 
> Analysis Parse Serialization
> --
> 2.13.0.303.g4ebf302169-goog
>

Reply via email to