True, looks like even Xcode 13.1 RC is still able to build for i386 with the 10.13 SDK. For CrossOver though we build an i386 .app, which requires xcodebuild, etc.
I would also prefer to stick with the toolchain that Apple tested/supported for i386 (and that we’ve already been using).

On Oct 21, 2021, at 2:27 PM, Dean Greer <gcenx83@gmail.com> wrote:

I’m still not getting why your using Xcode9 in this manner when. XCode10/11/12 compiled 32Bit wine without issue as long as SDKROOT is set to MacOSX10.13.SDK

On Thu, Oct 21, 2021 at 5:22 PM Brendan Shanks <bshanks@codeweavers.com> wrote:

> On Oct 21, 2021, at 12:35 PM, Alexandre Julliard <julliard@winehq.org> wrote:
>
> Brendan Shanks <bshanks@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