Compare commits

...

1 Commits

Author SHA1 Message Date
Ignacio Roldán Etchevery
e6cc45816e Add missing --osx-sdk and --osx-version-min options
- Add missing `--osx-version-min` option to the iOS AOT compiler script.
- Add missing `--osx-sdk` and `--osx-version-min` options to the macOS desktop script.
- Use xcrun to get macosx sdk path in the macOS desktop script. Previously the path was hard-coded. This matches the iOS script.
2021-07-12 22:27:57 +02:00
3 changed files with 32 additions and 13 deletions

View File

@@ -123,6 +123,16 @@ def setup_desktop_template(env: dict, opts: DesktopOpts, product: str, target_pl
#'--enable-static-gcc-libs'
]
elif target_platform == 'osx':
osx_sysroot_path = opts.osx_sdk_path
if not osx_sysroot_path and sys.platform == 'darwin':
# Auto-detect on macOS
osx_sysroot_path = xcrun_find_sdk('macosx')
osx_sysroot_flags = ['-isysroot', osx_sysroot_path, '-mmacosx-version-min=%s' % opts.osx_version_min]
CFLAGS = osx_sysroot_flags
if is_cross_compiling(target_platform):
osxcross_root = os.environ['OSXCROSS_ROOT']
osx_toolchain_path = path_join(osxcross_root, 'target')
@@ -152,15 +162,10 @@ def setup_desktop_template(env: dict, opts: DesktopOpts, product: str, target_pl
env['_%s-%s_CC' % (product, target)] = '%s/usr/bin/clang' % osx_toolchain
env['_%s-%s_CXX' % (product, target)] = '%s/usr/bin/clang++' % osx_toolchain
osx_sysroot = '/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk'
CFLAGS += ['-arch', target_arch[target_platform][target]]
CFLAGS = [
'-isysroot', osx_sysroot,
'-arch', target_arch[target_platform][target]
]
env['_%s-%s_CFLAGS' % (product, target)] = CFLAGS
env['_%s-%s_CXXFLAGS' % (product, target)] = CFLAGS
env['_%s-%s_CFLAGS' % (product, target)] = CFLAGS
env['_%s-%s_CXXFLAGS' % (product, target)] = CFLAGS
env['_%s-%s_CONFIGURE_FLAGS' % (product, target)] = CONFIGURE_FLAGS
@@ -253,9 +258,13 @@ def run_main(raw_args, target_platform):
default_help = 'default: %(default)s'
default_osx_version_min = '10.9'
parser.add_argument('action', choices=['configure', 'make', 'copy-bcl', 'clean'])
parser.add_argument('--target', choices=targets[target_platform], action='append', required=True)
parser.add_argument('--with-llvm', action='store_true', default=False, help=default_help)
parser.add_argument('--osx-sdk', default='', help=default_help)
parser.add_argument('--osx-version-min', default=default_osx_version_min, help=default_help)
cmd_utils.add_runtime_arguments(parser, default_help)

10
ios.py
View File

@@ -390,8 +390,10 @@ def setup_ios_cross_template(env: dict, opts: iOSOpts, target: str, host_arch: s
AC_VARS = ['ac_cv_func_shm_open_working_with_mmap=no']
CFLAGS = ['-isysroot', osx_sysroot_path, '-mmacosx-version-min=10.9', '-Qunused-arguments']
CXXFLAGS = ['-isysroot', osx_sysroot_path, '-mmacosx-version-min=10.9', '-Qunused-arguments', '-stdlib=libc++']
osx_sysroot_flags = ['-isysroot', osx_sysroot_path, '-mmacosx-version-min=%s' % opts.osx_version_min]
CFLAGS = osx_sysroot_flags + ['-Qunused-arguments']
CXXFLAGS = osx_sysroot_flags + ['-Qunused-arguments', '-stdlib=libc++']
CPPFLAGS = ['-DMONOTOUCH=1']
LDFLAGS = ['-stdlib=libc++']
@@ -500,7 +502,8 @@ def main(raw_args):
default_ios_toolchain = '/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain'
default_osx_toolchain = '/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain'
default_ios_version_min = '10.0' # Same as Godot
default_ios_version_min = '10.0'
default_osx_version_min = '10.9'
parser.add_argument('action', choices=['configure', 'make', 'clean'])
parser.add_argument('--target', choices=target_values, action='append', required=True)
@@ -509,6 +512,7 @@ def main(raw_args):
parser.add_argument('--ios-version-min', default=default_ios_version_min, help=default_help)
parser.add_argument('--osx-toolchain', default=default_osx_toolchain, help=default_help)
parser.add_argument('--osx-sdk', default='', help=default_help)
parser.add_argument('--osx-version-min', default=default_osx_version_min, help=default_help)
parser.add_argument('--osx-triple-abi', default='darwin18', help=default_help)
cmd_utils.add_runtime_arguments(parser, default_help)

View File

@@ -38,12 +38,15 @@ class iOSOpts(RuntimeOpts):
ios_version_min: str
osx_toolchain_path: str
osx_sdk_path: str
osx_version_min: str
osx_triple_abi: str
@dataclass
class DesktopOpts(RuntimeOpts):
with_llvm: bool
osx_sdk_path: str
osx_version_min: str
@dataclass
@@ -95,7 +98,8 @@ def ios_opts_from_args(args):
ios_sdk_path = abspath(args.ios_sdk) if args.ios_sdk else '',
ios_version_min = args.ios_version_min,
osx_toolchain_path = abspath(args.osx_toolchain),
osx_sdk_path = abspath(args.osx_sdk) if args.ios_sdk else '',
osx_sdk_path = abspath(args.osx_sdk) if args.osx_sdk else '',
osx_version_min = args.osx_version_min,
osx_triple_abi = args.osx_triple_abi
)
@@ -111,7 +115,9 @@ def bcl_opts_from_args(args):
def desktop_opts_from_args(args):
return DesktopOpts(
**vars(runtime_opts_from_args(args)),
with_llvm = args.with_llvm
with_llvm = args.with_llvm,
osx_sdk_path = abspath(args.osx_sdk) if args.osx_sdk else '',
osx_version_min = args.osx_version_min
)