1
0
forked from rosa/hakurei

internal/rosa/meson: always prepend D

All flags in practice use this convention. An escape hatch is available by leaving the value empty.

Signed-off-by: Ophestra <cat@gensokyo.uk>
This commit is contained in:
2026-07-14 22:13:04 +09:00
parent 098943ab46
commit 4cf235675a
24 changed files with 87 additions and 90 deletions
+7 -10
View File
@@ -56,8 +56,8 @@ func (*MesonHelper) wantsDir() (string, bool) { return `"$(mktemp -d)"`, false }
// isPython returns whether the legacy python implementation is used.
func (attr *MesonHelper) isPython() bool {
return attr != nil &&
(!attr.Muon || len(attr.SkipTests) != 0 || attr.InteractiveTest)
return attr == nil ||
!attr.Muon || len(attr.SkipTests) != 0 || attr.InteractiveTest
}
// script generates the cure script.
@@ -106,16 +106,13 @@ func (attr *MesonHelper) script(t Toolchain, name string) string {
` + muon + ` setup \
` + strings.Join(slices.Collect(func(yield func(string) bool) {
for _, v := range append([]KV{
{"Dwrap_mode", "nofallback"},
{"Dprefix", "/system"},
{"Dbuildtype", "release"},
{"wrap_mode", "nofallback"},
{"prefix", "/system"},
{"buildtype", "release"},
}, attr.Setup...) {
s := "-" + v[0]
if len(v[0]) > 0 && v[0][0] != 'D' {
s = "-" + s
}
s := v[0]
if v[1] != "" {
s += "=" + v[1]
s = "-D" + s + "=" + v[1]
}
if !yield(s) {
return
+9 -9
View File
@@ -13,16 +13,16 @@ package cairo {
exec = meson {
setup = {
"Ddwrite": "enabled";
"Dfontconfig": "enabled";
"Dfreetype": "enabled";
"dwrite": "enabled";
"fontconfig": "enabled";
"freetype": "enabled";
"Dpng": "enabled";
"Dtee": "enabled";
"Dxcb": "enabled";
"Dxlib": "disabled";
"Dxlib-xcb": "disabled";
"Dzlib": "enabled";
"png": "enabled";
"tee": "enabled";
"xcb": "enabled";
"xlib": "disabled";
"xlib-xcb": "disabled";
"zlib": "enabled";
};
// runs the entire test suite in a single meson test
interactiveTest = true;
+4 -4
View File
@@ -19,9 +19,9 @@ package dbus {
exec = meson {
setup = {
"Depoll": "enabled";
"Dinotify": "enabled";
"Dx11_autolaunch": "disabled";
"epoll": "enabled";
"inotify": "enabled";
"x11_autolaunch": "disabled";
};
};
@@ -50,7 +50,7 @@ package xdg-dbus-proxy {
exec = meson {
setup = {
"Dman": "disabled";
"man": "disabled";
};
};
+1 -1
View File
@@ -18,7 +18,7 @@ package dtc {
exec = meson {
setup = {
"Dyaml": "disabled";
"yaml": "disabled";
};
};
+1 -1
View File
@@ -12,7 +12,7 @@ package fribidi {
exec = meson {
setup = {
"Ddocs": "false";
"docs": "false";
};
};
}
+4 -4
View File
@@ -14,10 +14,10 @@ package fuse {
exec = meson {
setup = {
"Ddefault_library": "both";
"Dtests": "true";
"Duseroot": "false";
"Dinitscriptdir": "/system/etc";
"default_library": "both";
"tests": "true";
"useroot": "false";
"initscriptdir": "/system/etc";
};
postCompile = "python3 -m pytest test/";
+1 -1
View File
@@ -17,7 +17,7 @@ package glib {
exec = meson {
setup = {
"Ddefault_library": "both";
"default_library": "both";
};
// fails with ipv6 disabled
skipTests = [ "gio" ];
+4 -4
View File
@@ -12,10 +12,10 @@ package harfbuzz {
exec = meson {
setup = {
"Dcairo": "enabled";
"Dpng": "enabled";
"Dzlib": "enabled";
"Dfreetype": "enabled";
"cairo": "enabled";
"png": "enabled";
"zlib": "enabled";
"freetype": "enabled";
};
};
+6 -6
View File
@@ -13,12 +13,12 @@ package kmod {
exec = meson {
setup = {
"Dmoduledir": "/system/lib/modules";
"Dsysconfdir": "/system/etc";
"Dbashcompletiondir": "no";
"Dfishcompletiondir": "no";
"Dxz": "disabled";
"Dmanpages": "false";
"moduledir": "/system/lib/modules";
"sysconfdir": "/system/etc";
"bashcompletiondir": "no";
"fishcompletiondir": "no";
"xz": "disabled";
"manpages": "false";
};
// makes assumptions about the running kernel
+1 -1
View File
@@ -13,7 +13,7 @@ package libdrm {
exec = meson {
setup = {
"Dintel": "enabled";
"intel": "enabled";
};
};
+2 -2
View File
@@ -12,8 +12,8 @@ package libepoxy {
exec = meson {
setup = {
"Dglx": "yes";
"Degl": "yes";
"glx": "yes";
"egl": "yes";
};
};
+1 -1
View File
@@ -13,7 +13,7 @@ package libevdev {
exec = meson {
setup = {
"Ddocumentation": "disabled";
"documentation": "disabled";
};
};
+2 -2
View File
@@ -13,8 +13,8 @@ package libglvnd {
exec = meson {
setup = {
"Dx11": "enabled";
"Dglx": "enabled";
"x11": "enabled";
"glx": "enabled";
};
postCompile = `
+3 -3
View File
@@ -14,9 +14,9 @@ package libinput {
bin = [ "bash" ];
exec = meson {
setup = {
"Dmtdev": "false";
"Dlibwacom": "false";
"Ddebug-gui": "false";
"mtdev": "false";
"libwacom": "false";
"debug-gui": "false";
};
};
+3 -3
View File
@@ -12,9 +12,9 @@ package libva {
exec = meson {
setup = {
"Dwith_x11": "yes";
"Dwith_glx": "yes";
"Dwith_wayland": "yes";
"with_x11": "yes";
"with_glx": "yes";
"with_wayland": "yes";
};
};
+10 -10
View File
@@ -14,14 +14,14 @@ package mesa {
exec = meson {
setup = {
"Dplatforms": "x11,wayland";
"Dvideo-codecs": "all";
"platforms": "x11,wayland";
"video-codecs": "all";
"Dglvnd": "enabled";
"Dgbm": "enabled";
"Degl": "enabled";
"glvnd": "enabled";
"gbm": "enabled";
"egl": "enabled";
"Dgallium-drivers": join {
"gallium-drivers": join {
elems = [
"asahi", // Apple AGX
"crocus", // Intel legacy
@@ -51,7 +51,7 @@ package mesa {
sep = ",";
};
"Dvulkan-drivers": join {
"vulkan-drivers": join {
elems = [
"amd", // AMD (aka RADV)
"broadcom", // Broadcom VC5 (Raspberry Pi 4, aka V3D)
@@ -72,7 +72,7 @@ package mesa {
sep = ",";
};
"Dvulkan-layers": join {
"vulkan-layers": join {
elems = [
"device-select",
"intel-nullhw",
@@ -84,8 +84,8 @@ package mesa {
sep = ",";
};
"Dfreedreno-kmds": "msm,virtio";
"Damdgpu-virtio": "true";
"freedreno-kmds": "msm,virtio";
"amdgpu-virtio": "true";
};
};
+2 -2
View File
@@ -12,8 +12,8 @@ package p11-kit {
exec = meson {
setup = {
"Dsystemd": "disabled";
"Dlibffi": "enabled";
"systemd": "disabled";
"libffi": "enabled";
};
};
+3 -3
View File
@@ -13,9 +13,9 @@ package pango {
exec = meson {
setup = {
"Dfontconfig": "enabled";
"Dfreetype": "enabled";
"Dcairo": "enabled";
"fontconfig": "enabled";
"freetype": "enabled";
"cairo": "enabled";
};
// Fontconfig error: Cannot load default config file: File not found: /etc/fonts/fonts.conf
skipTest = true;
+1 -1
View File
@@ -13,7 +13,7 @@ package pixman {
exec = meson {
setup = {
"Dtests": "enabled";
"tests": "enabled";
};
};
}
+3 -3
View File
@@ -17,9 +17,9 @@ package seatd {
exec = meson {
setup = {
"Dlibseat-logind": "disabled";
"Dlibseat-seatd": "enabled";
"Dlibseat-builtin": "enabled";
"libseat-logind": "disabled";
"libseat-seatd": "enabled";
"libseat-builtin": "enabled";
};
};
+3 -3
View File
@@ -19,9 +19,9 @@ echo 'int main(){}' > tests/sanity-test.c
exec = meson {
setup = {
"Ddefault_library": "both";
"Ddocumentation": "false";
"Dtests": "true";
"default_library": "both";
"documentation": "false";
"tests": "true";
};
};
+3 -3
View File
@@ -13,9 +13,9 @@ package wlroots {
exec = meson {
setup = {
"Dxwayland": "enabled";
"Dallocators": "gbm";
"Dbackends": "drm,libinput";
"xwayland": "enabled";
"allocators": "gbm";
"backends": "drm,libinput";
};
};
+12 -12
View File
@@ -80,7 +80,7 @@ package libXau {
exec = meson {
setup = {
"Ddefault_library": "both";
"default_library": "both";
};
};
@@ -682,7 +682,7 @@ package libpciaccess {
exec = meson {
setup = {
"Dzlib": "enabled";
"zlib": "enabled";
};
};
@@ -705,17 +705,17 @@ package xserver {
exec = meson {
setup = {
"Dxorg": "true";
"Dxephyr": "true";
"Dxnest": "true";
"Dipv6": "false";
"xorg": "true";
"xephyr": "true";
"xnest": "true";
"ipv6": "false";
"Dudev": "false";
"Dudev_kms": "false";
"Dglx": "false";
"udev": "false";
"udev_kms": "false";
"glx": "false";
// ../../usr/src/xserver/glamor/glamor_glx.c:24:10: fatal error: 'epoxy/glx.h' file not found
"Dglamor": "false";
"glamor": "false";
};
};
@@ -784,8 +784,8 @@ package xwayland {
bin = [ "bash" ];
exec = meson {
setup = {
"Dipv6": "false";
"Dsystemd_notify": "false";
"ipv6": "false";
"systemd_notify": "false";
};
};
+1 -1
View File
@@ -16,7 +16,7 @@ package xkbcommon {
exec = meson {
setup = {
"Denable-x11": "false";
"enable-x11": "false";
};
};