[PATCH 0/1] Cross-compiling 32-bit macOS from 64-bit-only macOS.

Brendan Shanks bshanks at codeweavers.com
Thu Oct 21 16:21:47 CDT 2021


> On Oct 21, 2021, at 12:35 PM, Alexandre Julliard <julliard at winehq.org> wrote:
> 
> Brendan Shanks <bshanks at codeweavers.com> writes:
> 
>> With the toolchain working, building i386 with it is now a cross-compile.
>> Apple does not prefix the commands with the host triplet though
>> (i.e. 'i386-apple-darwin'), which Wine seems to expect for cross-compiling.
>> 
>> Specifically, configure adds "-b <host triplet>" to TARGETFLAGS, causing
>> winebuild to search for commands like ld and nm prefixed with that host
>> triplet, which fails.
>> 
>> This is a patch which only sets that TARGETFLAGS when the host triplet
>> appears in $CC. I'm open to a different approach to fixing this though.
> 
> It seems to me that this should be done the same way we do it on Linux:
> if we are on an x86_64 host and --enable-win64 is not specified, we add
> -m32 and set host_cpu=i386. Passing --host is not required in this
> configuration.

Thanks Alexandre, that does work correctly and without any changes needed. This patch can be disregarded.

For a WOW64 build, running configure like this works:

DEVELOPER_DIR="/Applications/Xcode9.app" \
SDKROOT="/Applications/Xcode9.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk" \
../configure --with-wine64=<path to wine64 build>

Or for a standalone 32-bit build:

DEVELOPER_DIR="/Applications/Xcode9.app" \
SDKROOT="/Applications/Xcode9.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk" \
../configure --with-wine-tools=<path to wine64 build>

Brendan




More information about the wine-devel mailing list