Merge remote-tracking branch 'origin/main' into rebranch

This commit is contained in:
swift-ci
2021-09-02 18:13:05 -07:00
4 changed files with 42 additions and 29 deletions

View File

@@ -348,12 +348,12 @@ config.link = lit.util.which('link', config.environment.get('PATH', '')) or
# Find the resource directory. Assume it's near the swift compiler if not set. # Find the resource directory. Assume it's near the swift compiler if not set.
test_resource_dir = lit_config.params.get('test_resource_dir') test_resource_dir = lit_config.params.get('test_resource_dir')
config.resource_dir_opt = ""
if test_resource_dir: if test_resource_dir:
resource_dir_opt = ("-resource-dir %s" % test_resource_dir) config.resource_dir_opt = ("-resource-dir %s" % test_resource_dir)
else: else:
test_resource_dir = make_path(config.swift_lib_dir, 'swift') test_resource_dir = make_path(config.swift_lib_dir, 'swift')
resource_dir_opt = "" stdlib_resource_dir_opt = config.resource_dir_opt
stdlib_resource_dir_opt = resource_dir_opt
sourcekitd_framework_dir = config.swift_lib_dir sourcekitd_framework_dir = config.swift_lib_dir
config.substitutions.append( ('%test-resource-dir', test_resource_dir) ) config.substitutions.append( ('%test-resource-dir', test_resource_dir) )
lit_config.note('Using resource dir: ' + test_resource_dir) lit_config.note('Using resource dir: ' + test_resource_dir)
@@ -396,7 +396,7 @@ if test_sdk_overlay_dir is not None:
"-L %s -Xlinker -rpath -Xlinker %s" % "-L %s -Xlinker -rpath -Xlinker %s" %
(sdk_overlay_link_path_dir, sdk_overlay_link_path_dir)) (sdk_overlay_link_path_dir, sdk_overlay_link_path_dir))
lit_config.note('Using SDK overlay dir: ' + test_sdk_overlay_dir) lit_config.note('Using SDK overlay dir: ' + test_sdk_overlay_dir)
resource_dir_opt += (" %s" % sdk_overlay_dir_opt) config.resource_dir_opt += (" %s" % sdk_overlay_dir_opt)
# Default to Swift 4 for now. # Default to Swift 4 for now.
# Note that this accepts both `--param swift-version` (like the compiler flag) # Note that this accepts both `--param swift-version` (like the compiler flag)
@@ -931,7 +931,7 @@ if run_vendor == 'apple':
symlink_if_not_exists("clang", "clang") symlink_if_not_exists("clang", "clang")
symlink_if_not_exists("shims", "shims") symlink_if_not_exists("shims", "shims")
symlink_if_not_exists("freestanding", "macosx") symlink_if_not_exists("freestanding", "macosx")
resource_dir_opt = "-resource-dir %s" % new_resource_dir config.resource_dir_opt = "-resource-dir %s" % new_resource_dir
lit_config.note('Using freestanding resource dir: ' + new_resource_dir) lit_config.note('Using freestanding resource dir: ' + new_resource_dir)
xcrun_prefix = ( xcrun_prefix = (
@@ -941,7 +941,7 @@ if run_vendor == 'apple':
"Developer", "Library", "Frameworks") "Developer", "Library", "Frameworks")
target_options = ( target_options = (
"-target %s %s %s" % "-target %s %s %s" %
(config.variant_triple, resource_dir_opt, mcp_opt)) (config.variant_triple, config.resource_dir_opt, mcp_opt))
target_options_for_mock_sdk = ( target_options_for_mock_sdk = (
"-target %s %s %s" % "-target %s %s %s" %
(config.variant_triple, stdlib_resource_dir_opt, mcp_opt)) (config.variant_triple, stdlib_resource_dir_opt, mcp_opt))
@@ -1217,7 +1217,7 @@ elif run_os in ['windows-msvc']:
config.target_build_swift = \ config.target_build_swift = \
('%r -target %s %s %s %s %s -libc %s' % \ ('%r -target %s %s %s %s %s -libc %s' % \
(config.swiftc, config.variant_triple, resource_dir_opt, \ (config.swiftc, config.variant_triple, config.resource_dir_opt, \
config.swift_test_options, config.swift_driver_test_options,\ config.swift_test_options, config.swift_driver_test_options,\
swift_execution_tests_extra_flags, \ swift_execution_tests_extra_flags, \
config.swift_stdlib_msvc_runtime)) config.swift_stdlib_msvc_runtime))
@@ -1227,7 +1227,7 @@ elif run_os in ['windows-msvc']:
config.target_swift_frontend = \ config.target_swift_frontend = \
('%r -target %s %s %s %s %s' % (config.swift_frontend, \ ('%r -target %s %s %s %s %s' % (config.swift_frontend, \
config.variant_triple, \ config.variant_triple, \
resource_dir_opt, mcp_opt, \ config.resource_dir_opt, mcp_opt, \
config.swift_test_options, \ config.swift_test_options, \
config.swift_frontend_test_options)) config.swift_frontend_test_options))
@@ -1249,7 +1249,7 @@ elif run_os in ['windows-msvc']:
config.target_sdk_name))) config.target_sdk_name)))
config.target_sil_opt = \ config.target_sil_opt = \
('%r -target %s %s %s %s' % (config.sil_opt, config.variant_triple, \ ('%r -target %s %s %s %s' % (config.sil_opt, config.variant_triple, \
resource_dir_opt, mcp_opt, \ config.resource_dir_opt, mcp_opt, \
config.sil_test_options)) config.sil_test_options))
subst_target_sil_opt_mock_sdk = config.target_sil_opt subst_target_sil_opt_mock_sdk = config.target_sil_opt
subst_target_sil_opt_mock_sdk_after = '' subst_target_sil_opt_mock_sdk_after = ''
@@ -1264,14 +1264,14 @@ elif run_os in ['windows-msvc']:
config.target_swift_ide_test = \ config.target_swift_ide_test = \
('%r -target %s %s %s %s' % (config.swift_ide_test, \ ('%r -target %s %s %s %s' % (config.swift_ide_test, \
config.variant_triple, \ config.variant_triple, \
resource_dir_opt, mcp_opt, ccp_opt)) config.resource_dir_opt, mcp_opt, ccp_opt))
subst_target_swift_ide_test_mock_sdk = config.target_swift_ide_test subst_target_swift_ide_test_mock_sdk = config.target_swift_ide_test
subst_target_swift_ide_test_mock_sdk_after = '' subst_target_swift_ide_test_mock_sdk_after = ''
config.target_swiftc_driver = \ config.target_swiftc_driver = \
('%r -target %s %s %s %s' % (config.swiftc, config.variant_triple, \ ('%r -target %s %s %s %s' % (config.swiftc, config.variant_triple, \
resource_dir_opt, mcp_opt, \ config.resource_dir_opt, mcp_opt, \
config.swift_driver_test_options)) config.swift_driver_test_options))
config.target_swift_modulewrap = \ config.target_swift_modulewrap = \
('%r -modulewrap -target %s' % (config.swiftc, config.variant_triple)) ('%r -modulewrap -target %s' % (config.swiftc, config.variant_triple))
@@ -1365,7 +1365,7 @@ elif (run_os in ['linux-gnu', 'linux-gnueabihf', 'freebsd', 'openbsd', 'windows-
config.target_build_swift = ( config.target_build_swift = (
'%s -target %s -toolchain-stdlib-rpath %s %s %s %s %s' '%s -target %s -toolchain-stdlib-rpath %s %s %s %s %s'
% (config.swiftc, config.variant_triple, resource_dir_opt, mcp_opt, % (config.swiftc, config.variant_triple, config.resource_dir_opt, mcp_opt,
config.swift_test_options, config.swift_driver_test_options, config.swift_test_options, config.swift_driver_test_options,
swift_execution_tests_extra_flags)) swift_execution_tests_extra_flags))
config.target_codesign = "echo" config.target_codesign = "echo"
@@ -1375,7 +1375,7 @@ elif (run_os in ['linux-gnu', 'linux-gnueabihf', 'freebsd', 'openbsd', 'windows-
config.target_add_rpath = r'-Xlinker -rpath -Xlinker \1' config.target_add_rpath = r'-Xlinker -rpath -Xlinker \1'
config.target_swift_frontend = ( config.target_swift_frontend = (
'%s -target %s %s %s %s %s ' '%s -target %s %s %s %s %s '
% (config.swift_frontend, config.variant_triple, resource_dir_opt, mcp_opt, % (config.swift_frontend, config.variant_triple, config.resource_dir_opt, mcp_opt,
config.swift_test_options, config.swift_frontend_test_options)) config.swift_test_options, config.swift_frontend_test_options))
subst_target_swift_frontend_mock_sdk = config.target_swift_frontend subst_target_swift_frontend_mock_sdk = config.target_swift_frontend
subst_target_swift_frontend_mock_sdk_after = "" subst_target_swift_frontend_mock_sdk_after = ""
@@ -1384,7 +1384,7 @@ elif (run_os in ['linux-gnu', 'linux-gnueabihf', 'freebsd', 'openbsd', 'windows-
use_interpreter_for_simple_runs() use_interpreter_for_simple_runs()
config.target_sil_opt = ( config.target_sil_opt = (
'%s -target %s %s %s %s' % '%s -target %s %s %s %s' %
(config.sil_opt, config.variant_triple, resource_dir_opt, mcp_opt, config.sil_test_options)) (config.sil_opt, config.variant_triple, config.resource_dir_opt, mcp_opt, config.sil_test_options))
subst_target_sil_opt_mock_sdk = config.target_sil_opt subst_target_sil_opt_mock_sdk = config.target_sil_opt
subst_target_sil_opt_mock_sdk_after = "" subst_target_sil_opt_mock_sdk_after = ""
config.target_swift_symbolgraph_extract = ( config.target_swift_symbolgraph_extract = (
@@ -1395,13 +1395,13 @@ elif (run_os in ['linux-gnu', 'linux-gnueabihf', 'freebsd', 'openbsd', 'windows-
(config.swift_api_extract, config.variant_triple, config.variant_sdk)) (config.swift_api_extract, config.variant_triple, config.variant_sdk))
config.target_swift_ide_test = ( config.target_swift_ide_test = (
'%s -target %s %s %s %s' % '%s -target %s %s %s %s' %
(config.swift_ide_test, config.variant_triple, resource_dir_opt, (config.swift_ide_test, config.variant_triple, config.resource_dir_opt,
mcp_opt, ccp_opt)) mcp_opt, ccp_opt))
subst_target_swift_ide_test_mock_sdk = config.target_swift_ide_test subst_target_swift_ide_test_mock_sdk = config.target_swift_ide_test
subst_target_swift_ide_test_mock_sdk_after = "" subst_target_swift_ide_test_mock_sdk_after = ""
config.target_swiftc_driver = ( config.target_swiftc_driver = (
"%s -target %s -toolchain-stdlib-rpath %s %s %s" % "%s -target %s -toolchain-stdlib-rpath %s %s %s" %
(config.swiftc, config.variant_triple, resource_dir_opt, mcp_opt, config.swift_driver_test_options)) (config.swiftc, config.variant_triple, config.resource_dir_opt, mcp_opt, config.swift_driver_test_options))
config.target_swift_modulewrap = ( config.target_swift_modulewrap = (
'%s -modulewrap -target %s' % '%s -modulewrap -target %s' %
(config.swiftc, config.variant_triple)) (config.swiftc, config.variant_triple))
@@ -1463,7 +1463,7 @@ elif run_os == 'linux-androideabi' or run_os == 'linux-android':
shell_quote(make_path( shell_quote(make_path(
toolchain_directory, "lib", "gcc", ndk_platform_triple, toolchain_directory, "lib", "gcc", ndk_platform_triple,
"{}.x".format(config.android_ndk_gcc_version)))) "{}.x".format(config.android_ndk_gcc_version))))
resource_dir_opt = ("-resource-dir %s" % test_resource_dir) config.resource_dir_opt = ("-resource-dir %s" % test_resource_dir)
# Since NDK r19, the headers and libraries are available in a unified # Since NDK r19, the headers and libraries are available in a unified
# sysroot at $NDK_PATH/toolchains/llvm/prebuilt/$prebuilt_directory/sysroot, # sysroot at $NDK_PATH/toolchains/llvm/prebuilt/$prebuilt_directory/sysroot,
# so the -sdk switch can now be used. # so the -sdk switch can now be used.
@@ -1474,7 +1474,7 @@ elif run_os == 'linux-androideabi' or run_os == 'linux-android':
'--target={}{}'.format(config.variant_triple, config.android_api_level), '--target={}{}'.format(config.variant_triple, config.android_api_level),
'-tools-directory', tools_directory, '-tools-directory', tools_directory,
android_link_paths_opt, '-use-ld=%s' % config.android_linker_name, android_link_paths_opt, '-use-ld=%s' % config.android_linker_name,
resource_dir_opt, mcp_opt, config.swift_test_options, config.resource_dir_opt, mcp_opt, config.swift_test_options,
config.swift_driver_test_options, swift_execution_tests_extra_flags]) config.swift_driver_test_options, swift_execution_tests_extra_flags])
config.target_codesign = "echo" config.target_codesign = "echo"
config.target_build_swift_dylib = ' '.join([ config.target_build_swift_dylib = ' '.join([
@@ -1485,7 +1485,7 @@ elif run_os == 'linux-androideabi' or run_os == 'linux-android':
config.target_swift_frontend = ' '.join([ config.target_swift_frontend = ' '.join([
config.swift_frontend, config.swift_frontend,
'-target', config.variant_triple, '-target', config.variant_triple,
'-sdk', config.variant_sdk, android_link_paths_opt, resource_dir_opt, '-sdk', config.variant_sdk, android_link_paths_opt, config.resource_dir_opt,
mcp_opt, config.swift_test_options, config.swift_frontend_test_options]) mcp_opt, config.swift_test_options, config.swift_frontend_test_options])
subst_target_swift_frontend_mock_sdk = config.target_swift_frontend subst_target_swift_frontend_mock_sdk = config.target_swift_frontend
subst_target_swift_frontend_mock_sdk_after = "" subst_target_swift_frontend_mock_sdk_after = ""
@@ -1496,7 +1496,7 @@ elif run_os == 'linux-androideabi' or run_os == 'linux-android':
'env', 'SDKROOT={}'.format(shell_quote(config.variant_sdk)), 'env', 'SDKROOT={}'.format(shell_quote(config.variant_sdk)),
config.sil_opt, config.sil_opt,
'-target', config.variant_triple, '-target', config.variant_triple,
resource_dir_opt, mcp_opt, config.sil_test_options]) config.resource_dir_opt, mcp_opt, config.sil_test_options])
subst_target_sil_opt_mock_sdk = config.target_sil_opt subst_target_sil_opt_mock_sdk = config.target_sil_opt
subst_target_sil_opt_mock_sdk_after = "" subst_target_sil_opt_mock_sdk_after = ""
config.target_swift_symbolgraph_extract = ' '.join([ config.target_swift_symbolgraph_extract = ' '.join([
@@ -1510,7 +1510,7 @@ elif run_os == 'linux-androideabi' or run_os == 'linux-android':
config.target_swift_ide_test = ' '.join([ config.target_swift_ide_test = ' '.join([
config.swift_ide_test, config.swift_ide_test,
'-target', config.variant_triple, '-target', config.variant_triple,
resource_dir_opt, mcp_opt, ccp_opt]) config.resource_dir_opt, mcp_opt, ccp_opt])
subst_target_swift_ide_test_mock_sdk = config.target_swift_ide_test subst_target_swift_ide_test_mock_sdk = config.target_swift_ide_test
subst_target_swift_ide_test_mock_sdk_after = "" subst_target_swift_ide_test_mock_sdk_after = ""
config.target_swiftc_driver = ' '.join([ config.target_swiftc_driver = ' '.join([
@@ -1520,7 +1520,7 @@ elif run_os == 'linux-androideabi' or run_os == 'linux-android':
'-sdk', config.variant_sdk, '-Xclang-linker', '-sdk', config.variant_sdk, '-Xclang-linker',
'--target={}{}'.format(config.variant_triple, config.android_api_level), '--target={}{}'.format(config.variant_triple, config.android_api_level),
'-tools-directory', tools_directory, '-tools-directory', tools_directory,
android_link_paths_opt, resource_dir_opt, mcp_opt, android_link_paths_opt, config.resource_dir_opt, mcp_opt,
'-use-ld=%s' % config.android_linker_name, '-use-ld=%s' % config.android_linker_name,
config.swift_driver_test_options]) config.swift_driver_test_options])
config.target_swift_modulewrap = ' '.join([ config.target_swift_modulewrap = ' '.join([
@@ -1555,7 +1555,7 @@ elif run_os == 'wasi':
'-target', config.variant_triple, '-target', config.variant_triple,
'-Xcc', '--sysroot=%s' % config.variant_sdk, '-Xcc', '--sysroot=%s' % config.variant_sdk,
'-Xclang-linker', '--sysroot=%s' % config.variant_sdk, '-Xclang-linker', '--sysroot=%s' % config.variant_sdk,
'-toolchain-stdlib-rpath', resource_dir_opt, '-toolchain-stdlib-rpath', config.resource_dir_opt,
mcp_opt, config.swift_test_options, mcp_opt, config.swift_test_options,
config.swift_driver_test_options, swift_execution_tests_extra_flags]) config.swift_driver_test_options, swift_execution_tests_extra_flags])
config.target_codesign = "echo" config.target_codesign = "echo"
@@ -1567,7 +1567,7 @@ elif run_os == 'wasi':
config.swift_frontend, config.swift_frontend,
'-target', config.variant_triple, '-target', config.variant_triple,
'-Xcc', '--sysroot=%s' % config.variant_sdk, '-Xcc', '--sysroot=%s' % config.variant_sdk,
resource_dir_opt, mcp_opt, config.resource_dir_opt, mcp_opt,
config.swift_test_options, config.swift_frontend_test_options]) config.swift_test_options, config.swift_frontend_test_options])
subst_target_swift_frontend_mock_sdk = config.target_swift_frontend subst_target_swift_frontend_mock_sdk = config.target_swift_frontend
subst_target_swift_frontend_mock_sdk_after = "" subst_target_swift_frontend_mock_sdk_after = ""
@@ -1576,20 +1576,20 @@ elif run_os == 'wasi':
use_interpreter_for_simple_runs() use_interpreter_for_simple_runs()
config.target_sil_opt = ( config.target_sil_opt = (
'%s -target %s %s %s %s' % '%s -target %s %s %s %s' %
(config.sil_opt, config.variant_triple, resource_dir_opt, mcp_opt, config.sil_test_options)) (config.sil_opt, config.variant_triple, config.resource_dir_opt, mcp_opt, config.sil_test_options))
config.target_swift_symbolgraph_extract = ' '.join([ config.target_swift_symbolgraph_extract = ' '.join([
config.swift_symbolgraph_extract, config.swift_symbolgraph_extract,
'-target', config.variant_triple, '-target', config.variant_triple,
mcp_opt]) mcp_opt])
config.target_swift_ide_test = ( config.target_swift_ide_test = (
'%s -target %s %s %s %s' % '%s -target %s %s %s %s' %
(config.swift_ide_test, config.variant_triple, resource_dir_opt, (config.swift_ide_test, config.variant_triple, config.resource_dir_opt,
mcp_opt, ccp_opt)) mcp_opt, ccp_opt))
subst_target_swift_ide_test_mock_sdk = config.target_swift_ide_test subst_target_swift_ide_test_mock_sdk = config.target_swift_ide_test
subst_target_swift_ide_test_mock_sdk_after = "" subst_target_swift_ide_test_mock_sdk_after = ""
config.target_swiftc_driver = ( config.target_swiftc_driver = (
"%s -target %s -toolchain-stdlib-rpath %s %s" % "%s -target %s -toolchain-stdlib-rpath %s %s" %
(config.swiftc, config.variant_triple, resource_dir_opt, mcp_opt)) (config.swiftc, config.variant_triple, config.resource_dir_opt, mcp_opt))
config.target_swift_modulewrap = ( config.target_swift_modulewrap = (
'%s -modulewrap -target %s' % '%s -modulewrap -target %s' %
(config.swiftc, config.variant_triple)) (config.swiftc, config.variant_triple))

View File

@@ -2,5 +2,6 @@ if 'OS=macosx' not in config.available_features:
config.unsupported = True config.unsupported = True
else: else:
config.substitutions.append(('%refactor-check-compiles', '{} -swift-refactor {} -swift-frontend {} -temp-dir %t'.format(config.refactor_check_compiles, config.swift_refactor, config.swift_frontend))) config.substitutions.append(('%refactor-check-compiles', '{} -swift-refactor {} -swift-frontend {} -temp-dir %t {}'.format(config.refactor_check_compiles, config.swift_refactor, config.swift_frontend, config.resource_dir_opt)))
config.substitutions.append(('%refactor', config.swift_refactor)) config.substitutions.append(('%refactor', '{} {}'.format(config.swift_refactor,
config.resource_dir_opt)))

View File

@@ -138,6 +138,10 @@ static llvm::cl::list<std::string>
static llvm::cl::opt<std::string> static llvm::cl::opt<std::string>
Triple("target", llvm::cl::desc("target triple")); Triple("target", llvm::cl::desc("target triple"));
static llvm::cl::opt<std::string> ResourceDir(
"resource-dir",
llvm::cl::desc("The directory that holds the compiler resource files"));
enum class DumpType { enum class DumpType {
REWRITTEN, REWRITTEN,
JSON, JSON,
@@ -294,6 +298,9 @@ int main(int argc, char *argv[]) {
if (!options::Triple.empty()) if (!options::Triple.empty())
Invocation.setTargetTriple(options::Triple); Invocation.setTargetTriple(options::Triple);
if (!options::ResourceDir.empty())
Invocation.setRuntimeResourcePath(options::ResourceDir);
Invocation.getFrontendOptions().InputsAndOutputs.addInputFile( Invocation.getFrontendOptions().InputsAndOutputs.addInputFile(
options::SourceFilename); options::SourceFilename);
Invocation.getLangOptions().AttachCommentsToDecls = true; Invocation.getLangOptions().AttachCommentsToDecls = true;

View File

@@ -87,6 +87,9 @@ def parse_args():
'-target', '-target',
help='The target triple to build for' help='The target triple to build for'
) )
parser.add_argument(
'-resource-dir',
help='The resource dir where the stdlib is stored')
return parser.parse_known_args() return parser.parse_known_args()
@@ -107,6 +110,8 @@ def main():
extra_both_args += ['-sdk', args.sdk] extra_both_args += ['-sdk', args.sdk]
if args.target: if args.target:
extra_both_args += ['-target', args.target] extra_both_args += ['-target', args.target]
if args.resource_dir:
extra_both_args += ['-resource-dir', args.resource_dir]
dump_text_output = run_cmd([ dump_text_output = run_cmd([
args.swift_refactor, args.swift_refactor,