Age | Commit message (Collapse) | Author |
|
|
|
|
|
|
|
|
|
|
|
This reverts commit 6c593b9a10e450f342efc1cf871dbcf7bb3612fe,
9f535729159baf467c3bd8dc7ec017a40289a12c, and
c7c1eac070851068d7adc3a67ad2efd196145687
Closes: #189
|
|
|
|
This patch fixes a couple of issues introduced in commits
c7c1eac070851068d7adc3a67ad2efd196145687 and
9f535729159baf467c3bd8dc7ec017a40289a12c:
- Dropped `dataonly: true` from `pkgconfig.generate()`, since it
generates a .pc file unsuitable for libraries. Instead, I've just set
`install_dir` to `$datadir/pkgconfig`, which generates the following:
$ cat /usr/share/pkgconfig/xbyak.pc
prefix=/usr
includedir=${prefix}/include
Name: xbyak
Description: JIT assembler for x86(IA32), x64(AMD64, x86-64)
URL: https://github.com/herumi/xbyak
Version: 7.06
Cflags: -I${includedir}
- Changed `share/cmake/xbyak` to
`get_option('datadir')/'cmake'/meson.project_name()` to avoid
hardcoding "share" as the datadir.
- Added `arch_independent: true` to the
`cmake.write_basic_package_version_file()` call so that the generated
CMake version file doesn't contain arch-specific checks unsuitable for
a file located in /usr/share/cmake.
|
|
|
|
The justification is similar as for the .pc file: the include directory
is arch-independent, so the cmake description should be too.
|
|
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
I previously set the path to ${CMAKE_CURRENT_LIST_FILE}/include,
that was wrong and ended up pointing to a nonexistent directory.
|
|
|