Hi,

With Roger's patch removing the need for GNU sed, it appears that
compilation is also working with Mac OS make.

> 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.

> 
>> --- /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.

What do you think i should put there instead ?

I have been keeping that downstream for a while, it is kind of sad that people 
cannot
compile on mac os just because of this file missing.

Cheers
Bertrand

> 
> Jan



Reply via email to