That symbol is in the 10.8 SDK. We build against that SDK all the time. It works fine.
Here's the documentation for that function: https://developer.apple.com/library/mac/documentation/Security/Reference/secureTransportRef/#//apple_ref/c/func/SSLGetProtocolVersionMax. Notice that under Availability it says, "Available in OS X v10.8 and later."
Here is the declaration from Security.framework/Headers/SecureTransport.h:
---------- OSStatus SSLGetProtocolVersionMax (SSLContextRef context, SSLProtocol *maxVersion) __OSX_AVAILABLE_STARTING(__MAC_10_8, __IPHONE_5_0); ----------
Notice the __MAC_10_8 identifier in the __OSX_AVAILABLE_STARTING() decorator.
You need to fix your build environment and/or your build commands. Whatever problem you're encountering while trying to build is specific to your system.
-Ken
On Apr 2, 2015, at 11:58 AM, Sergey Isakov isakov-sl@bk.ru wrote:
Your proposition that SDK10.8 contains the symbol is wrong —— #if MAC_OS_X_VERSION_MAX_ALLOWED >= 1080 +#ifdef SSLGetProtocolVersionMax if(SSLGetProtocolVersionMax != NULL) {
On 01 апр. 2015 г., at 21:36, Ken Thomases ken@codeweavers.com wrote:
If you were having problems building Wine without this patch, then you have a system configuration problem. Or you're configuring Wine incorrectly.
-Ken
On Apr 1, 2015, at 11:52 AM, Sergey Isakov isakov-sl@bk.ru wrote:
Sorry but I committed the patch make me compilation be possible.
On 01 апр. 2015 г., at 18:34, Ken Thomases ken@codeweavers.com wrote:
Hi,
This patch makes no sense. Wine builds just fine for OS X versions greater than 10.8. Indeed, as near as I know, it still builds just fine for 10.5 and up (the Mac driver requires 10.6 or later, but on 10.5 it just will be skipped; it won't break anything).
On Apr 1, 2015, at 6:48 AM, Sergey Isakov isakov-sl@bk.ru wrote:
Undefined symbols for architecture i386: "_kCGDisplayShowDuplicateLowResolutionModes", referenced from: -[WineApplicationController modeMatchingMode:forDisplay:] in cocoa_app.o ld: symbol(s) not found for architecture i386
If you're getting this error, you're not building against a 10.8+ SDK properly. The compiler is seeing the headers for a 10.8+ SDK but the linker is seeing libraries and frameworks from some pre-10.8 SDK.
Instead of checking for NULL we should check #ifdef
No. The things being tested are not macros in any version of the SDK. Your #ifdef checks will never pass. You have effectively done "#if 0".
Finally, changes to separate DLLs (secur32 and winemac.drv, in this case) should be in separate patches unless they are inter-dependent.
-Ken