tvOS: added support AppleTVOS

pull/5490/head
Roman Shpuntov 6 years ago committed by Jussi Pakkanen
parent 4b73f50222
commit 3b17344b11
  1. 2
      mesonbuild/build.py
  2. 6
      mesonbuild/compilers/compilers.py
  3. 4
      mesonbuild/dependencies/ui.py
  4. 4
      mesonbuild/envconfig.py

@ -1783,7 +1783,7 @@ class SharedLibrary(BuildTarget):
# We replicate what Autotools does here and take the first
# number of the version by default.
self.soversion = self.ltversion.split('.')[0]
# macOS and iOS dylib compatibility_version and current_version
# macOS, iOS and tvOS dylib compatibility_version and current_version
if 'darwin_versions' in kwargs:
self.darwin_versions = self._validate_darwin_versions(kwargs['darwin_versions'])
elif self.soversion:

@ -402,7 +402,7 @@ base_options = {'b_pch': coredata.UserBooleanOption('Use precompiled headers', T
True),
'b_pie': coredata.UserBooleanOption('Build executables as position independent',
False),
'b_bitcode': coredata.UserBooleanOption('Generate and embed bitcode (only macOS and iOS)',
'b_bitcode': coredata.UserBooleanOption('Generate and embed bitcode (only macOS/iOS/tvOS)',
False),
'b_vscrt': coredata.UserComboOption('VS run-time library type to use.',
['none', 'md', 'mdd', 'mt', 'mtd', 'from_buildtype'],
@ -2166,8 +2166,8 @@ class ClangCompiler(GnuLikeCompiler):
if extra_args is None:
extra_args = []
# Starting with XCode 8, we need to pass this to force linker
# visibility to obey OS X and iOS minimum version targets with
# -mmacosx-version-min, -miphoneos-version-min, etc.
# visibility to obey OS X/iOS/tvOS minimum version targets with
# -mmacosx-version-min, -miphoneos-version-min, -mtvos-version-min etc.
# https://github.com/Homebrew/homebrew-core/issues/3727
if self.compiler_type.is_osx_compiler and version_compare(self.version, '>=8.0'):
extra_args.append('-Wl,-no_weak_imports')

@ -372,8 +372,8 @@ class QtBaseDependency(ExternalDependency):
continue
(k, v) = tuple(line.split(':', 1))
qvars[k] = v
# Qt on macOS uses a framework, but Qt for iOS does not
if self.env.machines.host.is_darwin() and 'ios' not in qvars['QMAKE_XSPEC']:
# Qt on macOS uses a framework, but Qt for iOS/tvOS does not
if self.env.machines.host.is_darwin() and 'ios' not in qvars['QMAKE_XSPEC'] and 'tvos' not in qvars['QMAKE_XSPEC']:
mlog.debug("Building for macOS, looking for framework")
self._framework_detect(qvars, mods, kwargs)
return qmake

@ -214,9 +214,9 @@ class MachineInfo:
def is_darwin(self) -> bool:
"""
Machine is Darwin (iOS/OS X)?
Machine is Darwin (iOS/tvOS/OS X)?
"""
return self.system in {'darwin', 'ios'}
return self.system in {'darwin', 'ios', 'tvos'}
def is_android(self) -> bool:
"""

Loading…
Cancel
Save