Anforderungen  |   Konzepte  |   Entwurf  |   Entwicklung  |   Qualitätssicherung  |   Lebenszyklus  |   Steuerung
 
 
 
 


Quelle  mac_sdk.gni   Sprache: unbekannt

 
# Copyright 2014 The Chromium Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

import("//chromium/build/config/chrome_build.gni")
import("//chromium/build/config/gclient_args.gni")
import("//chromium/build/config/mac/mac_sdk_overrides.gni")
import("//chromium/build/toolchain/goma.gni")
import("//chromium/build/toolchain/toolchain.gni")

assert(current_os == "mac" || current_toolchain == default_toolchain)

declare_args() {
  # The MACOSX_DEPLOYMENT_TARGET variable used when compiling. This partially
  # controls the minimum supported version of macOS for Chromium by
  # affecting the symbol availability rules. This may differ from
  # mac_min_system_version when dropping support for older macOSes but where
  # additional code changes are required to be compliant with the availability
  # rules.
  # Must be of the form x.x.x for Info.plist files.
  mac_deployment_target = "10.11.0"

  # The value of the LSMinimmumSystemVersion in Info.plist files. This partially
  # controls the minimum supported version of macOS for Chromium by
  # affecting the Info.plist. This may differ from mac_deployment_target when
  # dropping support for older macOSes. This should be greater than or equal to
  # the mac_deployment_target version.
  # Must be of the form x.x.x for Info.plist files.
  mac_min_system_version = "10.11.0"

  # Path to a specific version of the Mac SDK, not including a slash at the end.
  # If empty, the path to the lowest version greater than or equal to
  # mac_sdk_min is used.
  mac_sdk_path = ""

  # The SDK name as accepted by xcodebuild.
  mac_sdk_name = "macosx"

  # The SDK version used when making official builds. This is a single exact
  # version, not a minimum. If this version isn't available official builds
  # will fail.
  mac_sdk_official_version = "11.3"

  # Production builds should use hermetic Xcode. If you want to do production
  # builds with system Xcode to test new SDKs, set this.
  # Don't set this on any bots.
  mac_allow_system_xcode_for_official_builds_for_testing = false
}

# Check that the version of macOS SDK used is the one requested when building
# a version of Chrome shipped to the users. Disable the check if building for
# iOS as the version macOS SDK used is not relevant for the tool build for the
# host (they are not shipped) --- this is required as Chrome on iOS is usually
# build with the latest version of Xcode that may not ship with the version of
# the macOS SDK used to build Chrome on mac.
# TODO(crbug.com/635745): the check for target_os should be replaced by a
# check that current_toolchain is default_toolchain, and the file should
# assert that current_os is "mac" once this file is no longer included by
# iOS toolchains.
if (is_chrome_branded && is_official_build && target_os != "ios") {
  assert(!use_system_xcode ||
             mac_allow_system_xcode_for_official_builds_for_testing,
         "official branded builds should use hermetic xcode")
}

# The path to the hermetic install of Xcode. Only relevant when
# use_system_xcode = false.
if (!use_system_xcode) {
  _hermetic_xcode_path = "//chromium/build/mac_files/xcode_binaries"
}

script_name = "//chromium/build/config/apple/sdk_info.py"
sdk_info_args = []
if (!use_system_xcode) {
  sdk_info_args += [
    "--developer_dir",
    rebase_path(_hermetic_xcode_path, "", root_build_dir),
  ]
}

# Goma RBE requires paths relative to source directory. When using system
# Xcode, this is done by creating symbolic links in root_build_dir.
if (use_system_xcode && use_goma) {
  sdk_info_args += [
    "--get_sdk_info",
    "--create_symlink_at",
    "sdk/xcode_links",
  ]
}
sdk_info_args += [ mac_sdk_name ]

#_mac_sdk_result = exec_script(script_name, sdk_info_args, "scope")
#xcode_version = _mac_sdk_result.xcode_version
#xcode_build = _mac_sdk_result.xcode_build
if (mac_sdk_path == "" && use_system_xcode && use_goma) {
  mac_sdk_path = _mac_sdk_result.sdk_path
}

if (use_system_xcode) {
  # The tool will print the SDK path on the first line, and the version on the
  # second line.
  find_sdk_args = [
    "--print_sdk_path",
    "--print_bin_path",
    mac_sdk_min,
  ]
  find_sdk_lines =
      exec_script("//chromium/build/mac/find_sdk.py", find_sdk_args, "list lines")
  mac_sdk_version = find_sdk_lines[2]
  if (mac_sdk_path == "") {
    mac_sdk_path = find_sdk_lines[0]
    mac_bin_path = find_sdk_lines[1]
  } else {
    mac_bin_path = find_sdk_lines[1]
  }
} else {
  mac_sdk_version = mac_sdk_official_version
  _dev = _hermetic_xcode_path + "/Contents/Developer"
  _sdk = "MacOSX${mac_sdk_version}.sdk"
  mac_sdk_path = _dev + "/Platforms/MacOSX.platform/Developer/SDKs/$_sdk"
  mac_bin_path = _dev + "/Toolchains/XcodeDefault.xctoolchain/usr/bin/"

  # If we're using hermetic Xcode, then we want the paths to be relative so that
  # generated ninja files are independent of the directory location.
  # TODO(thakis): Do this at the uses of this variable instead.
  mac_bin_path = rebase_path(mac_bin_path, root_build_dir)
}

[ Dauer der Verarbeitung: 0.15 Sekunden  (vorverarbeitet)  ]

                                                                                                                                                                                                                                                                                                                                                                                                     


Neuigkeiten

     Aktuelles
     Motto des Tages

Software

     Produkte
     Quellcodebibliothek

Aktivitäten

     Artikel über Sicherheit
     Anleitung zur Aktivierung von SSL

Muße

     Gedichte
     Musik
     Bilder

Jenseits des Üblichen ....

Besucherstatistik

Besucherstatistik

Monitoring

Montastic status badge