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