Hi Jan, > On 5 Feb 2026, at 16:43, Jan Beulich <[email protected]> wrote: > > 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.
Agree. What do you think of the following: Use GNU tool definitions as the tools we are using are either GNU compatible or we only use features which are supported on Mac OS. Bertrand
