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'