82 lines
4.6 KiB
Diff
82 lines
4.6 KiB
Diff
diff --git a/swift/utils/swift_build_support/swift_build_support/products/product.py b/swift/utils/swift_build_support/swift_build_support/products/product.py
|
|
index 741353f15ce..e54e211b705 100644
|
|
--- a/swift/utils/swift_build_support/swift_build_support/products/product.py
|
|
+++ b/swift/utils/swift_build_support/swift_build_support/products/product.py
|
|
@@ -202,7 +202,7 @@
|
|
install_destdir = '%s/intermediate-install/%s' % (build_root,
|
|
host_target)
|
|
else:
|
|
- install_destdir = os.path.join(install_destdir, self.args.host_target)
|
|
+ return os.path.join(os.path.dirname(self.build_dir), "swift-%s" % self.args.host_target)
|
|
return targets.toolchain_path(install_destdir,
|
|
self.args.install_prefix)
|
|
|
|
diff --git a/swift/utils/swift_build_support/swift_build_support/products/swiftpm.py b/swift/utils/swift_build_support/swift_build_support/products/swiftpm.py
|
|
index 81460b3ba6d..46a43b4acdd 100644
|
|
--- a/swift/utils/swift_build_support/swift_build_support/products/swiftpm.py
|
|
+++ b/swift/utils/swift_build_support/swift_build_support/products/swiftpm.py
|
|
@@ -146,8 +146,6 @@ class SwiftPM(product.Product):
|
|
build_root = os.path.dirname(build_dir)
|
|
install_destdir = '%s/intermediate-install/%s' % (
|
|
build_root, host_target)
|
|
- else:
|
|
- install_destdir = os.path.join(install_destdir, host_target)
|
|
return install_destdir
|
|
|
|
def install(self, host_target):
|
|
diff --git a/swift/utils/swift_build_support/swift_build_support/targets.py b/swift/utils/swift_build_support/swift_build_support/targets.py
|
|
index 7ebcdc070c1..5a6ed88182e 100644
|
|
--- a/swift/utils/swift_build_support/swift_build_support/targets.py
|
|
+++ b/swift/utils/swift_build_support/swift_build_support/targets.py
|
|
@@ -166,6 +166,7 @@ class AndroidPlatform(Platform):
|
|
|
|
flags += '-sdk %s/sysroot ' % (android_toolchain_path)
|
|
flags += '-tools-directory %s/bin' % (android_toolchain_path)
|
|
+ flags += ' -use-ld=lld -Xlinker -rpath -Xlinker @TERMUX_PREFIX@/lib'
|
|
return flags
|
|
|
|
def cmake_options(self, args):
|
|
@@ -174,12 +175,11 @@ class AndroidPlatform(Platform):
|
|
options += '-DCMAKE_SYSTEM_PROCESSOR=%s ' % (args.android_arch if not
|
|
args.android_arch == 'armv7'
|
|
else 'armv7-a')
|
|
- options += '-DCMAKE_ANDROID_NDK:PATH=%s' % (args.android_ndk)
|
|
+ options += '-DCMAKE_ANDROID_STANDALONE_TOOLCHAIN:PATH=%s' % (args.android_ndk)
|
|
return options
|
|
|
|
def ndk_toolchain_path(self, args):
|
|
- return '%s/toolchains/llvm/prebuilt/%s' % (
|
|
- args.android_ndk, StdlibDeploymentTarget.host_target().name)
|
|
+ return args.android_ndk
|
|
|
|
def swiftpm_config(self, args, output_dir, swift_toolchain, resource_path):
|
|
config_file = '%s/swiftpm-android-%s.json' % (output_dir, args.android_arch)
|
|
@@ -190,24 +190,16 @@ class AndroidPlatform(Platform):
|
|
spm_json = '{\n'
|
|
spm_json += ' "version": 1,\n'
|
|
spm_json += ' "target": "%s-unknown-linux-android",\n' % args.android_arch
|
|
- spm_json += ' "toolchain-bin-dir": "%s/bin",\n' % swift_toolchain
|
|
+ spm_json += ' "toolchain-bin-dir": "%s/bin",\n' % args.android_ndk
|
|
spm_json += ' "sdk": "%s/sysroot",\n' % self.ndk_toolchain_path(args)
|
|
|
|
- spm_json += ' "extra-cc-flags": [ "-fPIC", "-I%s/usr/include" ],\n' % (
|
|
- args.cross_compile_deps_path)
|
|
+ spm_json += ' "extra-cc-flags": [ "-fPIC" ],\n'
|
|
|
|
spm_json += ' "extra-swiftc-flags": [\n'
|
|
spm_json += ' "-resource-dir", "%s",\n' % resource_path
|
|
spm_json += ' "-tools-directory", "%s/bin",\n' % (
|
|
self.ndk_toolchain_path(args))
|
|
- spm_json += ' "-Xcc", "-I%s/usr/include",\n' % args.cross_compile_deps_path
|
|
- spm_json += ' "-L%s/usr/lib",\n' % args.cross_compile_deps_path
|
|
- spm_json += ' "-L%s/lib/gcc/%s-linux-android%s/%s.x/%s"\n' % (
|
|
- self.ndk_toolchain_path(args),
|
|
- args.android_arch if not args.android_arch == 'armv7' else 'arm',
|
|
- '' if not args.android_arch == 'armv7' else 'eabi',
|
|
- args.android_ndk_gcc_version,
|
|
- '' if not args.android_arch == 'armv7' else 'armv7-a')
|
|
+ spm_json += ' "-use-ld=lld", "-L%s/usr/lib"\n' % args.cross_compile_deps_path
|
|
spm_json += ' ],\n'
|
|
|
|
spm_json += ' "extra-cpp-flags": [ "-lstdc++" ]\n'
|