On 05.02.2026 16:30, Bertrand Marquis wrote: >> On 5 Feb 2026, at 13:29, Jan Beulich <[email protected]> wrote: >> >> On 05.02.2026 12:33, Bertrand Marquis wrote: >>> Xen does not currently document how to build the hypervisor on macOS, and >>> there is no Darwin configuration for selecting a Homebrew-based GNU >>> toolchain. Native builds are not supported; the hypervisor must be >>> cross-built with a GNU toolchain and GNU make/sed. >>> >>> Add a minimal Darwin.mk which selects the GNU tool definitions used by >>> the macOS workflow and point to the build guide for required tools and >>> setup. Document the Homebrew cross toolchain and GNU tools needed to >>> build the hypervisor on macOS. >>> >>> Signed-off-by: Bertrand Marquis <[email protected]> >>> --- >>> config/Darwin.mk | 6 ++++ >>> docs/misc/build-on-macos.md | 66 +++++++++++++++++++++++++++++++++++++ >>> 2 files changed, 72 insertions(+) >>> create mode 100644 config/Darwin.mk >>> create mode 100644 docs/misc/build-on-macos.md >> >> I'm sorry, I should have paid attention already on the RFC, but: With all >> other Pandoc files in this directory being named *.pandoc, do we really want >> to have an outlier named *.md there? > > Right but this might not be needed anymore as the only thing needed after > Roger's > patch is only a toolchain so brew is one solution but there are a lot of > others.
Even better. >>> --- /dev/null >>> +++ b/config/Darwin.mk >>> @@ -0,0 +1,6 @@ >>> +# Use GNU tool definitions; the macOS workflow relies on Homebrew GNU >>> tools. >>> +# See docs/misc/build-on-macos.md for required tools and setup. >>> +include $(XEN_ROOT)/config/StdGNU.mk >> >> Given Roger's consideration towards possibly using a more MacOS-native >> build arrangement as an alternative, I'm actually not quite sure this should >> then be the default mode here. Roger, what are your thoughts? > > Even with Mac OS sed and make working, something is still needed here to > compile on Mac OS. > > What would you suggest the default mode should be here ? Mac OS is not GNU > but everything used correspond to what is defined by StdGNU.mk. > > I am only forcing cross compilation here to prevent using the host toolchain. That part is okay with me. > What do you think i should put there instead ? Using StdGNU.mk may still be okay, as long as the comment properly represents the overall situation. Jan
