https://bugs.winehq.org/show_bug.cgi?id=46651
Bug ID: 46651 Summary: winegcc does not accept additional flags Product: Wine Version: 4.1 Hardware: x86-64 OS: Mac OS X Status: UNCONFIRMED Severity: normal Priority: P2 Component: -unknown Assignee: wine-bugs@winehq.org Reporter: mrx@hcc.im
Created attachment 63573 --> https://bugs.winehq.org/attachment.cgi?id=63573 log
As macOS 10.14 SDK does not provide 32-bit libraries anymore, one possible way to compile wine is to get an earlier SDK and use `-isysroot` switch to make compiler use correct SDK path. (Getting a complete Xcode and using `xcode-select` should be possible but takes too much disk space. Stripped down macOS SDK and toolchain could save several GBs)
However, when compiling wine, `winegcc` does not pass any flag to underlying `cc`, so wine dlls that link to macOS frameworks won't find the correct SDK to link to.
There is a log below which is one of the failing dll. Command line is given by `make`. The 10.13 SDK is at `/Users/MrX/Developer13/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk`, and different ways trying to pass the `-isysroot` switch such as environment variable and appending desired switch all failed.
I've tried to manually build the file using command line given by `winegcc -v` with `-isysroot` appended and I could get the desired .so file.
https://bugs.winehq.org/show_bug.cgi?id=46651
Austin English austinenglish@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Component|-unknown |tools CC| |austinenglish@gmail.com Keywords| |download, source
https://bugs.winehq.org/show_bug.cgi?id=46651
--- Comment #1 from Ken Thomases ken@codeweavers.com --- A workaround is to set the environment variable SDKROOT to the path to the SDK before the build, like so:
export SDKROOT=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk