@@ -667,6 +667,46 @@ elif run_os == 'linux-gnu':
667
667
config .target_ld = (
668
668
"ld -L%s" %
669
669
(os .path .join (test_resource_dir , config .target_sdk_name )))
670
+ elif run_os == 'linux-androideabi' :
671
+ # Android
672
+ lit_config .note ("Testing Android " + config .variant_triple )
673
+ config .target_object_format = "elf"
674
+ config .target_runtime = "native"
675
+ config .target_swift_autolink_extract = inferSwiftBinary ("swift-autolink-extract" )
676
+ config .target_sdk_name = "android"
677
+ config .target_build_swift = (
678
+ '%s -target %s -Xlinker --allow-shlib-undefined -Xlinker -pie %s %s %s %s'
679
+ % (config .swiftc , config .variant_triple , resource_dir_opt , mcp_opt ,
680
+ config .swift_test_options , swift_execution_tests_extra_flags ))
681
+ config .target_swift_frontend = (
682
+ '%s -frontend -target %s %s'
683
+ % (config .swift , config .variant_triple , resource_dir_opt ))
684
+ subst_target_swift_frontend_mock_sdk = config .target_swift_frontend
685
+ subst_target_swift_frontend_mock_sdk_after = ""
686
+ config .target_run = config .test_source_root + \
687
+ '/../../swift-android-extras/rundroid'
688
+ config .target_sil_opt = (
689
+ '%s -target %s %s %s' %
690
+ (config .sil_opt , config .variant_triple , resource_dir_opt , mcp_opt ))
691
+ config .target_swift_ide_test = (
692
+ '%s -target %s %s %s %s' %
693
+ (config .swift_ide_test , config .variant_triple , resource_dir_opt ,
694
+ mcp_opt , ccp_opt ))
695
+ subst_target_swift_ide_test_mock_sdk = config .target_swift_ide_test
696
+ subst_target_swift_ide_test_mock_sdk_after = ""
697
+ config .target_swiftc_driver = (
698
+ "%s -target %s %s %s" %
699
+ (config .swiftc , config .variant_triple , resource_dir_opt , mcp_opt ))
700
+ config .target_swift_modulewrap = (
701
+ '%s -modulewrap -target %s' %
702
+ (config .swiftc , config .variant_triple ))
703
+ config .target_clang = (
704
+ "clang++ -target %s %s" %
705
+ (config .variant_triple , clang_mcp_opt ))
706
+ config .target_ld = (
707
+ "ld -L%s" %
708
+ (os .path .join (test_resource_dir , config .target_sdk_name )))
709
+ config .environment ['ANDROID_NDK_HOME' ] = os .getenv ("ANDROID_NDK_HOME" )
670
710
671
711
else :
672
712
lit_config .fatal ("Don't know how to define target_run and "
0 commit comments