New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Haiku paths support #11310
Haiku paths support #11310
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Everything looks alright to me other than my 2 comments, 1 of which might not actually be actionable.
Appreciate your upstreaming :) |
Should you also change default_libdir()? |
Default value |
It would also be nice if you updated the docs to mention Haiku support. Perhaps we need a more expressive way to do https://mesonbuild.com/Builtin-options.html#directories if anyone has any ideas. Maybe the same table, but add columns for Default | Windows | Haiku with a comment about default being overridden on certain platforms. Just a thought. Release notes snippet would be good to. |
Can you rebase this? |
Codecov Report
@@ Coverage Diff @@
## master #11310 +/- ##
==========================================
- Coverage 68.87% 68.35% -0.53%
==========================================
Files 414 414
Lines 90234 90284 +50
Branches 20694 20709 +15
==========================================
- Hits 62153 61711 -442
- Misses 23409 23960 +551
+ Partials 4672 4613 -59
Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here. |
This patch set correct install path used by Haiku operating system (https://www.haiku-os.org/). Currently Haiku use after install Bash scripts to adjust install locations to Haiku native ones, but it is a hack and native Meson support would be preferred.
Background:
Haiku (and its descendent BeOS) use its own file system hierarchy that significantly differs from other UNIX-like systems. There are four install prefixes recognized by system:
/boot
is a mount point of a volume containing currently booted system installation (something likeC:
in Windows, not boot loader data as in Linux).non-packaged
directories means software not managed by package manager and installed manually (such asninja install
).All development-related files such as pkg-config *.pc files, C/C++ headers, static libraries, symbolic links to dynamic libraries, compilers etc. should be installed to
$prefix/develop
directory.Summary:
prefix
/boot/system/non-packaged
bindir
bin
datadir
data
includedir
develop/headers
infodir
documentation/info
libdir
lib
(runtime),develop/lib
(static libraries, symlinks for compiler use)libexecdir
lib
localedir
data/locale
mandir
documentation/man
sbindir
bin
sysconfdir
settings
pkgconfig
develop/lib/pkgconfig
,data/pkgconfig
Example install layout:
Patch do not correctly handle symlinks to dynamic libraries used by compiler yet.