[PATCH v5 0/6] perf: build: Fix cross compilation

Leo Yan posted 6 patches 1 year, 5 months ago
tools/build/feature/Makefile       | 53 ++++++++++++++++++++++++------
tools/perf/Documentation/Build.txt | 28 ++++++++++++++++
tools/perf/Makefile.config         | 20 ++++++++++-
tools/perf/Makefile.perf           | 27 ++++++++++++++-
4 files changed, 116 insertions(+), 12 deletions(-)
[PATCH v5 0/6] perf: build: Fix cross compilation
Posted by Leo Yan 1 year, 5 months ago
This patch series fixes cross compilation issues.

The first patch sets the package path if the package configuration path
is not specified. This helps the compiler to find the architecture's
package in a Multiarch system.

The patch 02 sets the Python configuration path and renames the .so to

The patches 03, 04 and 05 fix the static build failures.

The patch 06 adds document for how to cross compile.

Changes from v4:
- Polished patch 06 for removing redundant sentences.

Changes from v3:
- Added more completed comments and logs for PKG_CONFIG_SYSROOT_DIR.
  (Namhyung)
- Didn't include the patch 07 for "perf docs: Remove the Android cross
  building document" in this version, which will be sent out separately.
  (Namhyung/James)

Changes from v2:
- Reordered lib paths for PKG_CONFIG_LIBDIR. (Namhyung)
- Verified the Android NDK and based on the testing result to remove the
  file android.txt. (Ian)

Changes from v1:
- Kept the cross-compile-pkg-config if it is available. (Namhyung)
- Removed the patch 02 for fixing pkg-config path for libtraceevent, as
  this will be resolved in Guilherme Amadio's patch "perf build: Use
  pkg-config for feature check for libtrace{event,fs}".
- Added patch 06 for document.


Leo Yan (6):
  perf: build: Setup PKG_CONFIG_LIBDIR for cross compilation
  perf: build: Set Python configuration for cross compilation
  perf: build: Only link libebl.a for old libdw
  perf: build: Link lib 'lzma' for static build
  perf: build: Link lib 'zstd' for static build
  perf docs: Document cross compilation

 tools/build/feature/Makefile       | 53 ++++++++++++++++++++++++------
 tools/perf/Documentation/Build.txt | 28 ++++++++++++++++
 tools/perf/Makefile.config         | 20 ++++++++++-
 tools/perf/Makefile.perf           | 27 ++++++++++++++-
 4 files changed, 116 insertions(+), 12 deletions(-)

-- 
2.34.1
Re: [PATCH v5 0/6] perf: build: Fix cross compilation
Posted by Leo Yan 1 year, 4 months ago
Hi Arnaldo, Namhyung,

On 7/17/2024 9:22 AM, Leo Yan wrote:
> This patch series fixes cross compilation issues.

If this series is fine for you, would you mind to pick up this series?

Thanks!

Leo
Re: [PATCH v5 0/6] perf: build: Fix cross compilation
Posted by Namhyung Kim 1 year, 4 months ago
Hi Leo,

On Thu, Jul 25, 2024 at 07:53:18AM +0100, Leo Yan wrote:
> Hi Arnaldo, Namhyung,
> 
> On 7/17/2024 9:22 AM, Leo Yan wrote:
> > This patch series fixes cross compilation issues.
> 
> If this series is fine for you, would you mind to pick up this series?

Sure, I think we can carry this through perf-tools if Arnaldo is ok.

Thanks,
Namhyung
Re: [PATCH v5 0/6] perf: build: Fix cross compilation
Posted by Arnaldo Carvalho de Melo 1 year, 4 months ago
On Thu, Jul 25, 2024 at 06:27:30PM -0700, Namhyung Kim wrote:
> Hi Leo,
> 
> On Thu, Jul 25, 2024 at 07:53:18AM +0100, Leo Yan wrote:
> > Hi Arnaldo, Namhyung,
> > 
> > On 7/17/2024 9:22 AM, Leo Yan wrote:
> > > This patch series fixes cross compilation issues.
> > 
> > If this series is fine for you, would you mind to pick up this series?
> 
> Sure, I think we can carry this through perf-tools if Arnaldo is ok.

Well, rc1 isn't out, this has been out for a few weeks, so I think its
ok to have it for the current merge window.

- Arnaldo
Re: [PATCH v5 0/6] perf: build: Fix cross compilation
Posted by Ian Rogers 1 year, 5 months ago
On Wed, Jul 17, 2024 at 1:22 AM Leo Yan <leo.yan@arm.com> wrote:
>
> This patch series fixes cross compilation issues.
>
> The first patch sets the package path if the package configuration path
> is not specified. This helps the compiler to find the architecture's
> package in a Multiarch system.
>
> The patch 02 sets the Python configuration path and renames the .so to
>
> The patches 03, 04 and 05 fix the static build failures.
>
> The patch 06 adds document for how to cross compile.
>
> Changes from v4:
> - Polished patch 06 for removing redundant sentences.
>
> Changes from v3:
> - Added more completed comments and logs for PKG_CONFIG_SYSROOT_DIR.
>   (Namhyung)
> - Didn't include the patch 07 for "perf docs: Remove the Android cross
>   building document" in this version, which will be sent out separately.
>   (Namhyung/James)
>
> Changes from v2:
> - Reordered lib paths for PKG_CONFIG_LIBDIR. (Namhyung)
> - Verified the Android NDK and based on the testing result to remove the
>   file android.txt. (Ian)
>
> Changes from v1:
> - Kept the cross-compile-pkg-config if it is available. (Namhyung)
> - Removed the patch 02 for fixing pkg-config path for libtraceevent, as
>   this will be resolved in Guilherme Amadio's patch "perf build: Use
>   pkg-config for feature check for libtrace{event,fs}".
> - Added patch 06 for document.
>
>
> Leo Yan (6):
>   perf: build: Setup PKG_CONFIG_LIBDIR for cross compilation
>   perf: build: Set Python configuration for cross compilation
>   perf: build: Only link libebl.a for old libdw
>   perf: build: Link lib 'lzma' for static build
>   perf: build: Link lib 'zstd' for static build
>   perf docs: Document cross compilation

Tested-by: Ian Rogers <irogers@google.com>

Thanks,
Ian