I might have a cleaner solution for you.
Copy the following; Xcode9.4.1.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain
Rename XcodeDefault.xctoolchain > Xcode9.xctoolchain
Open ToolchainsInfo.plist Remove the current contents and add the following; CompatibilityVersion Number 2 DisplayName String Xcode 9.4.1 Bundle identifier String Xcode9.toolchain
Now move to ~/Library/Developer/Toolchains/
The toolchain is now visible within Xcode, it can also be used by setting; export TOOLCHAINS="Xcode9.toolchain"
Just need to set SDKROOT as appropriate.
On Thu, Oct 21, 2021 at 7:46 PM Brendan Shanks bshanks@codeweavers.com wrote:
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