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