mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* [PATCH] perf tools: Add EXCLUDE_EXTLIBS and EXTRA_PERFLIBS to makefile
@ 2017-05-17 20:26 David Carrillo-Cisneros
  2017-05-25 22:10 ` David Carrillo-Cisneros
  0 siblings, 1 reply; 2+ messages in thread
From: David Carrillo-Cisneros @ 2017-05-17 20:26 UTC (permalink / raw)
  To: linux-kernel
  Cc: Peter Zijlstra, Ingo Molnar, Arnaldo Carvalho de Melo,
	Alexander Shishkin, Stephane Eranian, Paul Turner,
	David Carrillo-Cisneros

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 <davidcc@google.com>
---
 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

^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: [PATCH] perf tools: Add EXCLUDE_EXTLIBS and EXTRA_PERFLIBS to makefile
  2017-05-17 20:26 [PATCH] perf tools: Add EXCLUDE_EXTLIBS and EXTRA_PERFLIBS to makefile David Carrillo-Cisneros
@ 2017-05-25 22:10 ` David Carrillo-Cisneros
  0 siblings, 0 replies; 2+ messages in thread
From: David Carrillo-Cisneros @ 2017-05-25 22:10 UTC (permalink / raw)
  To: linux-kernel
  Cc: Peter Zijlstra, Ingo Molnar, Arnaldo Carvalho de Melo,
	Alexander Shishkin, Stephane Eranian, Paul Turner,
	David Carrillo-Cisneros, Jiri Olsa

+Jiri

On Wed, May 17, 2017 at 1:26 PM, David Carrillo-Cisneros
<davidcc@google.com> 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 <davidcc@google.com>
> ---
>  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
>

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2017-05-25 22:11 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-05-17 20:26 [PATCH] perf tools: Add EXCLUDE_EXTLIBS and EXTRA_PERFLIBS to makefile David Carrillo-Cisneros
2017-05-25 22:10 ` David Carrillo-Cisneros

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

Powered by JetHome