On Sep 4, 2017, at 17:23, Jeremy Huddleston Sequoia wrote:

> Jeremy Huddleston Sequoia (jeremyhu) pushed a commit to branch master
> in repository macports-base.
> 
> 
> https://github.com/macports/macports-base/commit/69c745b2d71ac333d21da953497fd6ae903ce242
> 
> commit 69c745b2d71ac333d21da953497fd6ae903ce242
> 
> Author: Jeremy Huddleston Sequoia <[email protected]>
> AuthorDate: Mon Sep 4 15:19:04 2017 -0700
> 
> 
>     portconfigure: Don't fall back on macosx if we are unable to find an 
> appropriate versioned SDK
>     
>     Signed-off-by: Jeremy Huddleston Sequoia <[email protected]>
> 
> ---
>  src/port1.0/portconfigure.tcl | 12 ++++++++----
>  1 file changed, 8 insertions(+), 4 deletions(-)
> 
> diff --git a/src/port1.0/portconfigure.tcl b/src/port1.0/portconfigure.tcl
> index 4b9f02e..a93e05d 100644
> --- a/src/port1.0/portconfigure.tcl
> +++ b/src/port1.0/portconfigure.tcl
> @@ -419,10 +419,14 @@ proc portconfigure::configure_get_sdkroot {sdk_version} 
> {
>          return $sdk
>      }
>  
> -    if {![catch {set sdk [exec xcrun --sdk macosx --show-sdk-path 2> 
> /dev/null]}]} {
> -        ui_warn "Unable to determine location of the macOS ${sdk_version} 
> SDK.  Using the default macOS SDK."
> -        return $sdk
> -    }
> +    # TODO: Support falling back to "macosx" if it is present?
> +    #       This leads to problems when it is newer than the base OS because 
> many OSS assume that
> +    #       the SDK version matches the deployment target, so they 
> unconditionally try to use
> +    #       symbols that are only available on newer OS versions..
> +    #if {![catch {set sdk [exec xcrun --sdk macosx --show-sdk-path 2> 
> /dev/null]}]} {
> +    #    ui_warn "Unable to determine location of the macOS ${sdk_version} 
> SDK.  Using the default macOS SDK."
> +    #    return $sdk
> +    #}

But this doesn't really help, does it? Xcode 8 only contains the 10.12 SDK, so 
when running on OS X 10.11 the only SDK you can use is a mismatched one. 
Similarly with Xcode 9 which only contains the 10.13 SDK even when running on 
macOS 10.12.

So, what does the code now do in these situations where an SDK matching the OS 
version does not exist?

Reply via email to