@@ -667,6 +667,46 @@ elif run_os == 'linux-gnu':
667667 config .target_ld = (
668668 "ld -L%s" %
669669 (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" )
670710
671711else :
672712 lit_config .fatal ("Don't know how to define target_run and "
0 commit comments