> On Sep 28, 2025, at 5:31 AM, Chris Sherlock <[email protected]> > wrote: > So I have done a bit of digging, and the meson.build needs to detect the > version of macOS being used. > > So after a bit of research, I worked out the following code snippet that you > add after the project() directive in the root meson.build file in harfbuzz: > > if host_machine.system() == 'darwin' > if host_machine.cpu_family() == 'aarch64' or host_machine.cpu_family() == > 'x86_64' > # Set the hardening mode for C and C++ compilers > > add_project_arguments('-D_LIBCPP_HARDENING_MODE=_LIBCPP_HARDENING_MODE_EXTENSIVE', > language: ['c', 'cpp']) > # Undefine the old macro to ensure it's not used > add_project_arguments('-U_LIBCPP_ENABLE_ASSERTIONS', language: ['c', > 'cpp']) > endif > endif > > The problem is… how on earth is that generated? It does seem like a Harfbuzz > issue… but I don’t know how we propose a change like this… > > Chris
I don’t run into any of what you describe. I use LibreOffice LODE for all the build tools and LODE includes a locally compiled meson 1.8.3. I then rebuilt with meson 1.9.1 from Homebrew using the "MESON=/opt/homebrew/bin/meson ./autogen.sh” that I described in my previous e-mail. So what is different in your build environment (other than not using LODE)? I am building on macOS Tahoe 26.0 on my Mac Silicon laptop with Xcode 26.0. The only special step is I remove both "/opt/homebrew/bin” and “/opt/homebrew/sbin" from my $PATH in order for ./autogen.sh to complete without error. Since I am not seeing any errors when building Harfbuzz, I assume that meson is generating the right C++ defines for Harfbuzz. But then I did a “make distclean && ./autogen.sh” when changing which meson to use. Have you tried cleaning your build like that? Or, at least try cleaning LibreOffice's harfbuzz build using “cd external/harfbuzz && make clean && make”. That will delete LibreOffice's Harfbuzz in build folder in workdir/UnpackedTarball/harfbuzz. Hope that helps, Patrick
smime.p7s
Description: S/MIME cryptographic signature
