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

Dean Greer gcenx83 at gmail.com
Thu Oct 21 19:18:46 CDT 2021


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 at 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 at 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 at codeweavers.com>
> wrote:
>
>>
>> > 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
>>
>>
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.winehq.org/pipermail/wine-devel/attachments/20211021/93865ba1/attachment.htm>


More information about the wine-devel mailing list