Skip to content

Darwin: fix ARM64 build and runtime compatibility issues#747

Open
moreaki wants to merge 1 commit into
VirtualBox:mainfrom
moreaki:agent/darwin-arm64-build-compat
Open

Darwin: fix ARM64 build and runtime compatibility issues#747
moreaki wants to merge 1 commit into
VirtualBox:mainfrom
moreaki:agent/darwin-arm64-build-compat

Conversation

@moreaki

@moreaki moreaki commented Jul 8, 2026

Copy link
Copy Markdown

Summary

Add the minimal Darwin/Qt build compatibility fixes needed for the macOS/Arm test tree.

The changes cover:

  • ignore Homebrew's include/c++ fallback when probing iostream on Darwin;
  • treat an explicit Darwin --with-qt-path as a normal Qt framework root instead of VirtualBox's private libQt6CoreVBox tool package;
  • derive Qt framework header and -F paths from the detected QtCore.framework;
  • cast Carbon hotkey Unicode constants before constructing QChar, matching Qt 6's stricter overload set;
  • fix two small Darwin warning issues in DNS and power-service code.

Why

These are the smallest supporting fixes needed to keep the external macOS/Arm build usable for the Windows-on-Arm HiDPI and graphics-throughput work tracked in #742.

Compatibility note

The Qt path change is Darwin-only. Non-Darwin builds keep the existing tool-package path. Darwin builds without an explicit custom Qt root also keep the existing tool lookup. The custom-root path now only changes behavior when --with-qt-path points at a framework-based Qt installation.

The iostream probe change is also Darwin-only and only rejects Homebrew's include/c++ fallback for that standard C++ header.

Validation

  • Applied independently to origin/main.
  • git diff --check passes.
  • python3 -m py_compile configure.py passes.
  • A Qt 6.11.1/Carbon syntax probe confirms QChar(kShiftUnicode) is rejected while QChar(static_cast<ushort>(kShiftUnicode)) compiles.
  • A direct -F /opt/homebrew/opt/qt/Frameworks syntax probe confirms <QtCore/QtGlobal> is usable through the framework path.
  • A reduced configure probe with --only-qt --disable-kbuild --disable-xcode --with-qt-path=/opt/homebrew/opt/qt reaches the Darwin framework path and reports Using framework at '/opt/homebrew/opt/qt/Frameworks/QtCore.framework'.

Refs #742.

@oracle-contributor-agreement

Copy link
Copy Markdown

Thank you for your pull request and welcome to our community! To contribute, please sign the Oracle Contributor Agreement (OCA).
The following contributors of this PR have not signed the OCA:

To sign the OCA, please create an Oracle account and sign the OCA in Oracle's Contributor Agreement Application.

When signing the OCA, please provide your GitHub username. After signing the OCA and getting an OCA approval from Oracle, this PR will be automatically updated.

If you are an Oracle employee, please make sure that you are a member of the main Oracle GitHub organization, and your membership in this organization is public.

@oracle-contributor-agreement oracle-contributor-agreement Bot added the OCA Required At least one contributor does not have an approved Oracle Contributor Agreement. label Jul 8, 2026
@moreaki moreaki force-pushed the agent/darwin-arm64-build-compat branch from 696583a to 58be8b4 Compare July 8, 2026 09:12
@moreaki moreaki marked this pull request as ready for review July 8, 2026 09:13
Signed-off-by: Roberto Nibali <rnibali@gmail.com>
@moreaki moreaki force-pushed the agent/darwin-arm64-build-compat branch from 58be8b4 to 81e2f01 Compare July 8, 2026 09:20
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

OCA Required At least one contributor does not have an approved Oracle Contributor Agreement.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant