Skip to content

Commit

Permalink
Make xbyak.py installation location arch-independent
Browse files Browse the repository at this point in the history
I was investigating an issue with the Fedora package build:
builds on i686 would yield a package with /usr/lib/pkgconfig/xbyak.pc,
while builds on amd64 would yield a package with /usr/lib64/pkgconfig/xbyak.pc.

xbyak is arch-indepdent, in the sense of the installed payload being identical
on all architectures and located in a non-arch-specific directory (/usr/inlude).
The .pc file should be arch-independent too. Right now, if we install the
package from a different architecture, we would find the files in /usr/include,
but not the .pc file. (E.g. on amd64 the pkg-config search path is
/usr/lib64/pkgconfig:/usr/share/pkgconfig, so /usr/lib/pkgconfig/xbyak.pc will
not be found.) So install the file to $prefix/pkgconfig (usually
/usr/share/pkgconfig) so it will be found properly.

We need to specify 'includedir' in the variable list for pkgconfig.generate(),
because by default meson does not include this variable when dataonly:true
is used. The $prefix/include pattern is evaluated in meson, to handle the
case where the user specified an include_dir as absolute path.
  • Loading branch information
keszybz committed Mar 6, 2024
1 parent 9c0f5d3 commit c7c1eac
Showing 1 changed file with 5 additions and 2 deletions.
7 changes: 5 additions & 2 deletions meson.build
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,8 @@ project(
default_options: 'b_ndebug=if-release'
)

install_subdir('xbyak', install_dir: get_option('includedir'))
include_dir = get_option('prefix') / get_option('includedir')
install_subdir('xbyak', install_dir: include_dir)

xbyak_dep = declare_dependency(include_directories: include_directories('.'))

Expand All @@ -22,7 +23,9 @@ import('pkgconfig').generate(
name: meson.project_name(),
description: 'JIT assembler for x86(IA32), x64(AMD64, x86-64)',
version: meson.project_version(),
url: 'https://github.com/herumi/xbyak'
url: 'https://github.com/herumi/xbyak',
variables: ['includedir=@0@'.format(include_dir)],
dataonly: true,
)

if meson.version().version_compare('>=0.50.0')
Expand Down

0 comments on commit c7c1eac

Please sign in to comment.