Re: [PATCH v3 7/8] perf python: Switch module to linking libraries from building source

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, Jun 13, 2024 at 04:31:21PM -0700, Ian Rogers wrote:
> setup.py was building most perf sources causing setup.py to mimic the
> Makefile logic as well as flex/bison code to be stubbed out, due to
> complexity building. By using libraries fewer functions are stubbed
> out, the build is faster and the Makefile logic is reused which should
> simplify updating. The libraries are passed through LDFLAGS to avoid
> complexity in python.
> 
> Force the -fPIC flag for libbpf.a to ensure it is suitable for linking
> into the perf python module.
> 
> Signed-off-by: Ian Rogers <irogers@xxxxxxxxxx>
> Reviewed-by: James Clark <james.clark@xxxxxxx>
> ---
>  tools/perf/Makefile.config |   5 +
>  tools/perf/Makefile.perf   |   6 +-
>  tools/perf/util/python.c   | 271 ++++++++++++++-----------------------
>  tools/perf/util/setup.py   |  33 +----
>  4 files changed, 110 insertions(+), 205 deletions(-)
> 
> diff --git a/tools/perf/Makefile.config b/tools/perf/Makefile.config
> index 7f1e016a9253..639be696f597 100644
> --- a/tools/perf/Makefile.config
> +++ b/tools/perf/Makefile.config
> @@ -910,6 +910,11 @@ else
>           endif
>           CFLAGS += -DHAVE_LIBPYTHON_SUPPORT
>           $(call detected,CONFIG_LIBPYTHON)
> +	 ifeq ($(filter -fPIC,$(CFLAGS)),)

Nitpick: mixed TAB and SPACEs.


> +           # Building a shared library requires position independent code.
> +           CFLAGS += -fPIC
> +           CXXFLAGS += -fPIC
> +         endif


I'm curious if it's ok for static libraries too..

Thanks,
Namhyung


>        endif
>      endif
>    endif




[Index of Archives]     [Linux Samsung SoC]     [Linux Rockchip SoC]     [Linux Actions SoC]     [Linux for Synopsys ARC Processors]     [Linux NFS]     [Linux NILFS]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]


  Powered by Linux