Skip to content

Commit 158c155

Browse files
authored
---
yaml --- r: 326479 b: refs/heads/tensorflow c: bfbbdc0 h: refs/heads/master i: 326477: 09ee713 326475: 85b2ec8 326471: 79aa19a 326463: a321eef
1 parent 8fb705a commit 158c155

File tree

434 files changed

+12232
-9324
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

434 files changed

+12232
-9324
lines changed

[refs]

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -816,7 +816,7 @@ refs/tags/swift-DEVELOPMENT-SNAPSHOT-2018-04-25-a: 22f738a831d43aff2b9c9773bcb65
816816
refs/tags/swift-DEVELOPMENT-SNAPSHOT-2018-05-08-a: 7d98cc16689baba5c8a3b90a9329bdcc1a12b4e9
817817
refs/heads/cherr42: a566ad54b073c2c56ac0a705d0a5bed9743135a5
818818
"refs/heads/codable_test_comment_fix": fc8f6824f7f347e1e8db55bff62db385c5728b5a
819-
refs/heads/tensorflow: 85530071915b78761b1016b6364c9a20b06a76dd
819+
refs/heads/tensorflow: bfbbdc01053ca34515f4326cb1f16581f188f6c0
820820
refs/tags/swift-4.1-DEVELOPMENT-SNAPSHOT-2018-05-11-a: 8126fd7a652e2f70ad6d76505239e34fb2ef3e1a
821821
refs/tags/swift-4.1-DEVELOPMENT-SNAPSHOT-2018-05-12-a: b3fd3dd84df6717f2e2e9df58c6d7e99fed57086
822822
refs/tags/swift-4.1-DEVELOPMENT-SNAPSHOT-2018-05-13-a: 71135119579039dc321c5f65d870050fe36efda2

branches/tensorflow/CMakeLists.txt

Lines changed: 19 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -450,7 +450,7 @@ if(MSVC OR "${CMAKE_SIMULATE_ID}" STREQUAL MSVC)
450450
endif()
451451

452452
if(CMAKE_SYSTEM_NAME STREQUAL Darwin OR
453-
EXISTS ${SWIFT_PATH_TO_LIBDISPATCH_SOURCE})
453+
EXISTS "${SWIFT_PATH_TO_LIBDISPATCH_SOURCE}")
454454
set(SWIFT_BUILD_SYNTAXPARSERLIB_default TRUE)
455455
set(SWIFT_BUILD_SOURCEKIT_default TRUE)
456456
else()
@@ -603,7 +603,13 @@ if(SWIFT_HOST_VARIANT_SDK)
603603
set(SWIFT_HOST_VARIANT_SDK_default "${SWIFT_HOST_VARIANT_SDK}")
604604
else()
605605
if("${CMAKE_SYSTEM_NAME}" STREQUAL "Linux")
606-
set(SWIFT_HOST_VARIANT_SDK_default "LINUX")
606+
# CMake on an Android host sets this to Linux, so check for the ANDROID_DATA
607+
# environment variable to see if we're building on Android.
608+
if(NOT "$ENV{ANDROID_DATA}" STREQUAL "")
609+
set(SWIFT_HOST_VARIANT_SDK_default "ANDROID")
610+
else()
611+
set(SWIFT_HOST_VARIANT_SDK_default "LINUX")
612+
endif()
607613
elseif("${CMAKE_SYSTEM_NAME}" STREQUAL "FreeBSD")
608614
set(SWIFT_HOST_VARIANT_SDK_default "FREEBSD")
609615
elseif("${CMAKE_SYSTEM_NAME}" STREQUAL "CYGWIN")
@@ -613,6 +619,7 @@ else()
613619
elseif("${CMAKE_SYSTEM_NAME}" STREQUAL "Haiku")
614620
set(SWIFT_HOST_VARIANT_SDK_default "HAIKU")
615621
elseif("${CMAKE_SYSTEM_NAME}" STREQUAL "Android")
622+
# CMAKE_SYSTEM_NAME might be set this way when cross-compiling to Android.
616623
set(SWIFT_HOST_VARIANT_SDK_default "ANDROID")
617624
elseif("${CMAKE_SYSTEM_NAME}" STREQUAL "Darwin")
618625
set(SWIFT_HOST_VARIANT_SDK_default "OSX")
@@ -677,7 +684,7 @@ endif()
677684

678685
# FIXME: the parameters we specify in SWIFT_SDKS are lacking architecture specifics,
679686
# so we need to hard-code it. For example, the SDK for Android is just 'ANDROID',
680-
# which we assume below to be armv7.
687+
# and we have to specify SWIFT_SDK_ANDROID_ARCHITECTURES separately.
681688
# The iOS SDKs all have their architectures hardcoded because they are just specified by name (e.g. 'IOS' or 'WATCHOS').
682689
# We can't cross-compile the standard library for another linux architecture,
683690
# because the SDK list would just be 'LINUX' and we couldn't disambiguate it from the host.
@@ -739,9 +746,16 @@ elseif("${SWIFT_HOST_VARIANT_SDK}" STREQUAL "HAIKU")
739746
elseif("${SWIFT_HOST_VARIANT_SDK}" STREQUAL "ANDROID")
740747

741748
set(SWIFT_HOST_VARIANT "android" CACHE STRING
742-
"Deployment OS for Swift host tools (the compiler) [android].")
749+
"Deployment OS for Swift host tools (the compiler) [android]")
743750

744-
configure_sdk_unix("Android" "${SWIFT_HOST_VARIANT_ARCH}")
751+
set(SWIFT_ANDROID_NATIVE_SYSROOT "/data/data/com.termux/files" CACHE STRING
752+
"Path to Android sysroot, default initialized to the Termux app's layout")
753+
754+
if("${SWIFT_SDK_ANDROID_ARCHITECTURES}" STREQUAL "")
755+
set(SWIFT_SDK_ANDROID_ARCHITECTURES ${SWIFT_HOST_VARIANT_ARCH})
756+
endif()
757+
758+
configure_sdk_unix("Android" "${SWIFT_SDK_ANDROID_ARCHITECTURES}")
745759
set(SWIFT_PRIMARY_VARIANT_SDK_default "${SWIFT_HOST_VARIANT_SDK}")
746760
set(SWIFT_PRIMARY_VARIANT_ARCH_default "${SWIFT_HOST_VARIANT_ARCH}")
747761

branches/tensorflow/cmake/modules/AddSwift.cmake

Lines changed: 13 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -140,7 +140,8 @@ function(_add_variant_c_compile_link_flags)
140140
# lld can handle targeting the android build. However, if lld is not
141141
# enabled, then fallback to the linker included in the android NDK.
142142
if(NOT SWIFT_ENABLE_LLD_LINKER)
143-
list(APPEND result "-B" "${SWIFT_SDK_ANDROID_ARCH_${CFLAGS_ARCH}_NDK_PREBUILT_PATH}/${SWIFT_SDK_ANDROID_ARCH_${CFLAGS_ARCH}_NDK_TRIPLE}/bin")
143+
swift_android_tools_path(${CFLAGS_ARCH} tools_path)
144+
list(APPEND result "-B" "${tools_path}")
144145
endif()
145146
endif()
146147

@@ -482,22 +483,9 @@ function(_add_variant_link_flags)
482483
# We need to add the math library, which is linked implicitly by libc++
483484
list(APPEND result "-lm")
484485

485-
if("${LFLAGS_ARCH}" MATCHES armv7)
486-
set(android_libcxx_path "${SWIFT_ANDROID_NDK_PATH}/sources/cxx-stl/llvm-libc++/libs/armeabi-v7a")
487-
elseif("${LFLAGS_ARCH}" MATCHES aarch64)
488-
set(android_libcxx_path "${SWIFT_ANDROID_NDK_PATH}/sources/cxx-stl/llvm-libc++/libs/arm64-v8a")
489-
elseif("${LFLAGS_ARCH}" MATCHES i686)
490-
set(android_libcxx_path "${SWIFT_ANDROID_NDK_PATH}/sources/cxx-stl/llvm-libc++/libs/x86")
491-
elseif("${LFLAGS_ARCH}" MATCHES x86_64)
492-
set(android_libcxx_path "${SWIFT_ANDROID_NDK_PATH}/sources/cxx-stl/llvm-libc++/libs/x86_64")
493-
else()
494-
message(SEND_ERROR "unknown architecture (${LFLAGS_ARCH}) for android")
495-
endif()
496-
497486
# link against the custom C++ library
498-
list(APPEND link_libraries
499-
${android_libcxx_path}/libc++abi.a
500-
${android_libcxx_path}/libc++_shared.so)
487+
swift_android_cxx_libraries_for_arch(${LFLAGS_ARCH} cxx_link_libraries)
488+
list(APPEND link_libraries ${cxx_link_libraries})
501489

502490
# link against the ICU libraries
503491
list(APPEND link_libraries
@@ -1104,7 +1092,7 @@ function(_add_swift_library_single target name)
11041092
set_target_properties("${target}"
11051093
PROPERTIES
11061094
INSTALL_NAME_DIR "${install_name_dir}")
1107-
elseif("${SWIFTLIB_SINGLE_SDK}" STREQUAL "LINUX" AND NOT "${SWIFTLIB_SINGLE_SDK}" STREQUAL "ANDROID")
1095+
elseif("${SWIFTLIB_SINGLE_SDK}" STREQUAL "LINUX")
11081096
set_target_properties("${target}"
11091097
PROPERTIES
11101098
INSTALL_RPATH "$ORIGIN:/usr/lib/swift/linux")
@@ -1116,6 +1104,14 @@ function(_add_swift_library_single target name)
11161104
# CMake generates incorrect rule `$SONAME_FLAG $INSTALLNAME_DIR$SONAME` for Android build on macOS cross-compile host.
11171105
# Proper linker flags constructed manually. See below variable `swiftlib_link_flags_all`.
11181106
set_target_properties("${target}" PROPERTIES NO_SONAME TRUE)
1107+
# Only set the install RPATH if cross-compiling the host tools, in which
1108+
# case both the NDK and Sysroot paths must be set.
1109+
if(NOT "${SWIFT_ANDROID_NDK_PATH}" STREQUAL "" AND
1110+
NOT "${SWIFT_ANDROID_NATIVE_SYSROOT}" STREQUAL "")
1111+
set_target_properties("${target}"
1112+
PROPERTIES
1113+
INSTALL_RPATH "$ORIGIN")
1114+
endif()
11191115
endif()
11201116

11211117
set_target_properties("${target}" PROPERTIES BUILD_WITH_INSTALL_RPATH YES)

branches/tensorflow/cmake/modules/AddSwiftUnittests.cmake

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -42,9 +42,14 @@ function(add_swift_unittest test_dirname)
4242
if("${CMAKE_SYSTEM_NAME}" STREQUAL "Darwin")
4343
set_property(TARGET "${test_dirname}" APPEND_STRING PROPERTY
4444
LINK_FLAGS " -Xlinker -rpath -Xlinker ${SWIFT_LIBRARY_OUTPUT_INTDIR}/swift/macosx")
45+
elseif("${SWIFT_HOST_VARIANT}" STREQUAL "android")
46+
swift_android_lib_for_arch(${SWIFT_HOST_VARIANT_ARCH} android_system_libs)
47+
set_property(TARGET "${test_dirname}" APPEND PROPERTY LINK_DIRECTORIES
48+
"${android_system_libs}")
49+
set_property(TARGET "${test_dirname}" APPEND PROPERTY LINK_LIBRARIES "log")
4550
elseif("${CMAKE_SYSTEM_NAME}" STREQUAL "Linux")
46-
set_property(TARGET "${test_dirname}" APPEND_STRING PROPERTY
47-
LINK_FLAGS " -latomic")
51+
set_property(TARGET "${test_dirname}" APPEND PROPERTY LINK_LIBRARIES
52+
"atomic")
4853
endif()
4954

5055
find_program(LDLLD_PATH "ld.lld")
Lines changed: 84 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,32 @@
11
function(swift_android_libcxx_include_paths var)
2-
set(${var}
3-
"${SWIFT_ANDROID_NDK_PATH}/sources/cxx-stl/llvm-libc++/include"
4-
"${SWIFT_ANDROID_NDK_PATH}/sources/cxx-stl/llvm-libc++abi/include"
5-
PARENT_SCOPE)
2+
if(NOT "${SWIFT_ANDROID_NDK_PATH}" STREQUAL "")
3+
set(${var}
4+
"${SWIFT_ANDROID_NDK_PATH}/sources/cxx-stl/llvm-libc++/include"
5+
"${SWIFT_ANDROID_NDK_PATH}/sources/cxx-stl/llvm-libc++abi/include"
6+
PARENT_SCOPE)
7+
elseif(NOT "${SWIFT_ANDROID_NATIVE_SYSROOT}" STREQUAL "")
8+
set(${var}
9+
"${SWIFT_ANDROID_NATIVE_SYSROOT}/usr/include/c++/v1"
10+
PARENT_SCOPE)
11+
else()
12+
message(SEND_ERROR "Couldn't set libc++ include paths for Android")
13+
endif()
614
endfunction()
715

816
function(swift_android_include_for_arch arch var)
917
set(paths)
10-
list(APPEND paths
11-
"${SWIFT_ANDROID_NDK_PATH}/sources/android/support/include"
12-
"${SWIFT_ANDROID_NDK_PATH}/sysroot/usr/include"
13-
"${SWIFT_ANDROID_NDK_PATH}/sysroot/usr/include/${SWIFT_SDK_ANDROID_ARCH_${arch}_NDK_TRIPLE}")
18+
if(NOT "${SWIFT_ANDROID_NDK_PATH}" STREQUAL "")
19+
list(APPEND paths
20+
"${SWIFT_ANDROID_NDK_PATH}/sources/android/support/include"
21+
"${SWIFT_ANDROID_NDK_PATH}/sysroot/usr/include"
22+
"${SWIFT_ANDROID_NDK_PATH}/sysroot/usr/include/${SWIFT_SDK_ANDROID_ARCH_${arch}_NDK_TRIPLE}")
23+
elseif(NOT "${SWIFT_ANDROID_NATIVE_SYSROOT}" STREQUAL "")
24+
list(APPEND paths
25+
"${SWIFT_ANDROID_NATIVE_SYSROOT}/usr/include"
26+
"${SWIFT_ANDROID_NATIVE_SYSROOT}/usr/include/${SWIFT_SDK_ANDROID_ARCH_${arch}_NDK_TRIPLE}")
27+
else()
28+
message(SEND_ERROR "Couldn't set ${arch} include paths for Android")
29+
endif()
1430
set(${var} ${paths} PARENT_SCOPE)
1531
endfunction()
1632

@@ -19,18 +35,68 @@ function(swift_android_lib_for_arch arch var)
1935
set(_host "${SWIFT_SDK_ANDROID_ARCH_${arch}_NDK_TRIPLE}")
2036

2137
set(paths)
22-
if(arch STREQUAL armv7)
23-
list(APPEND paths "${_prebuilt}/${_host}/lib/armv7-a")
24-
elseif(arch STREQUAL aarch64)
25-
list(APPEND paths "${_prebuilt}/${_host}/lib64")
26-
elseif(arch STREQUAL i686)
27-
list(APPEND paths "${_prebuilt}/${_host}/lib")
28-
elseif(arch STREQUAL x86_64)
29-
list(APPEND paths "${_prebuilt}/${_host}/lib64")
38+
if(NOT "${SWIFT_ANDROID_NDK_PATH}" STREQUAL "")
39+
if(arch STREQUAL armv7)
40+
list(APPEND paths "${_prebuilt}/${_host}/lib/armv7-a")
41+
elseif(arch STREQUAL aarch64)
42+
list(APPEND paths "${_prebuilt}/${_host}/lib64")
43+
elseif(arch STREQUAL i686)
44+
list(APPEND paths "${_prebuilt}/${_host}/lib")
45+
elseif(arch STREQUAL x86_64)
46+
list(APPEND paths "${_prebuilt}/${_host}/lib64")
47+
else()
48+
message(SEND_ERROR "unknown architecture (${arch}) for android")
49+
endif()
50+
list(APPEND paths "${_prebuilt}/lib/gcc/${_host}/${SWIFT_ANDROID_NDK_GCC_VERSION}.x")
51+
elseif(NOT "${SWIFT_ANDROID_NATIVE_SYSROOT}" STREQUAL "")
52+
list(APPEND paths "${SWIFT_ANDROID_NATIVE_SYSROOT}/usr/lib")
53+
if("${arch}" MATCHES armv7)
54+
list(APPEND paths "/system/lib")
55+
elseif("${arch}" MATCHES aarch64)
56+
list(APPEND paths "/system/lib64")
57+
else()
58+
message(SEND_ERROR "unknown architecture (${arch}) when compiling for Android host")
59+
endif()
3060
else()
31-
message(SEND_ERROR "unknown architecture (${arch}) for android")
61+
message(SEND_ERROR "Couldn't set ${arch} library paths for Android")
3262
endif()
33-
list(APPEND paths "${_prebuilt}/lib/gcc/${_host}/${SWIFT_ANDROID_NDK_GCC_VERSION}.x")
3463

3564
set(${var} ${paths} PARENT_SCOPE)
3665
endfunction()
66+
67+
function(swift_android_tools_path arch path_var_name)
68+
if(NOT "${SWIFT_ANDROID_NDK_PATH}" STREQUAL "")
69+
set(${path_var_name} "${SWIFT_SDK_ANDROID_ARCH_${arch}_NDK_PREBUILT_PATH}/${SWIFT_SDK_ANDROID_ARCH_${arch}_NDK_TRIPLE}/bin" PARENT_SCOPE)
70+
elseif(NOT "${SWIFT_ANDROID_NATIVE_SYSROOT}" STREQUAL "")
71+
set(${path_var_name} "${SWIFT_ANDROID_NATIVE_SYSROOT}/usr/bin" PARENT_SCOPE)
72+
else()
73+
message(SEND_ERROR "Couldn't set ${arch} tools path for Android")
74+
endif()
75+
endfunction ()
76+
77+
function(swift_android_cxx_libraries_for_arch arch libraries_var_name)
78+
set(link_libraries)
79+
if(NOT "${SWIFT_ANDROID_NDK_PATH}" STREQUAL "")
80+
if("${arch}" MATCHES armv7)
81+
set(cxx_arch armeabi-v7a)
82+
elseif("${arch}" MATCHES aarch64)
83+
set(cxx_arch arm64-v8a)
84+
elseif("${arch}" MATCHES i686)
85+
set(cxx_arch x86)
86+
elseif("${arch}" MATCHES x86_64)
87+
set(cxx_arch x86_64)
88+
else()
89+
message(SEND_ERROR "unknown architecture (${arch}) when cross-compiling for Android")
90+
endif()
91+
92+
set(android_libcxx_path "${SWIFT_ANDROID_NDK_PATH}/sources/cxx-stl/llvm-libc++/libs/${cxx_arch}")
93+
list(APPEND link_libraries ${android_libcxx_path}/libc++abi.a
94+
${android_libcxx_path}/libc++_shared.so)
95+
elseif(NOT "${SWIFT_ANDROID_NATIVE_SYSROOT}" STREQUAL "")
96+
list(APPEND link_libraries "${SWIFT_ANDROID_NATIVE_SYSROOT}/usr/lib/libc++_shared.so")
97+
else()
98+
message(SEND_ERROR "Couldn't set ${arch} libc++ libraries needed for Android")
99+
endif()
100+
101+
set(${libraries_var_name} ${link_libraries} PARENT_SCOPE)
102+
endfunction()

branches/tensorflow/cmake/modules/SwiftConfigureSDK.cmake

Lines changed: 29 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,12 @@ function(_report_sdk prefix)
4747
message(STATUS " ${arch} LIB: ${${arch}_LIB}")
4848
endforeach()
4949
elseif("${prefix}" STREQUAL "ANDROID")
50-
message(STATUS " NDK: $ENV{SWIFT_ANDROID_NDK_PATH}")
50+
if(NOT "${SWIFT_ANDROID_NDK_PATH}" STREQUAL "")
51+
message(STATUS " NDK: $ENV{SWIFT_ANDROID_NDK_PATH}")
52+
endif()
53+
if(NOT "${SWIFT_ANDROID_NATIVE_SYSROOT}" STREQUAL "")
54+
message(STATUS " Sysroot: ${SWIFT_ANDROID_NATIVE_SYSROOT}")
55+
endif()
5156
foreach(arch ${SWIFT_SDK_${prefix}_ARCHITECTURES})
5257
swift_android_include_for_arch(${arch} ${arch}_INCLUDE)
5358
swift_android_lib_for_arch(${arch} ${arch}_LIB)
@@ -204,18 +209,37 @@ macro(configure_sdk_unix name architectures)
204209

205210
foreach(arch ${architectures})
206211
if("${prefix}" STREQUAL "ANDROID")
207-
set(SWIFT_SDK_ANDROID_ARCH_${arch}_LIBC_INCLUDE_DIRECTORY "${SWIFT_ANDROID_NDK_PATH}/sysroot/usr/include" CACHE STRING "Path to C library headers")
208-
set(SWIFT_SDK_ANDROID_ARCH_${arch}_LIBC_ARCHITECTURE_INCLUDE_DIRECTORY "${SWIFT_ANDROID_NDK_PATH}/sysroot/usr/include" CACHE STRING "Path to C library architecture headers")
212+
if(NOT "${SWIFT_ANDROID_NDK_PATH}" STREQUAL "")
213+
set(SWIFT_SDK_ANDROID_ARCH_${arch}_LIBC_INCLUDE_DIRECTORY "${SWIFT_ANDROID_NDK_PATH}/sysroot/usr/include" CACHE STRING "Path to C library headers")
214+
set(SWIFT_SDK_ANDROID_ARCH_${arch}_LIBC_ARCHITECTURE_INCLUDE_DIRECTORY "${SWIFT_ANDROID_NDK_PATH}/sysroot/usr/include" CACHE STRING "Path to C library architecture headers")
215+
elseif(NOT "${SWIFT_ANDROID_NATIVE_SYSROOT}" STREQUAL "")
216+
set(SWIFT_SDK_ANDROID_ARCH_${arch}_LIBC_INCLUDE_DIRECTORY "${SWIFT_ANDROID_NATIVE_SYSROOT}/usr/include" CACHE STRING "Path to C library headers")
217+
set(SWIFT_SDK_ANDROID_ARCH_${arch}_LIBC_ARCHITECTURE_INCLUDE_DIRECTORY "${SWIFT_ANDROID_NATIVE_SYSROOT}/usr/include" CACHE STRING "Path to C library architecture headers")
218+
else()
219+
message(SEND_ERROR "Couldn't find LIBC_INCLUDE_DIRECTORY for Android")
220+
endif()
209221

210222
if("${arch}" STREQUAL "armv7")
211223
set(SWIFT_SDK_ANDROID_ARCH_${arch}_NDK_TRIPLE "arm-linux-androideabi")
212224
set(SWIFT_SDK_ANDROID_ARCH_${arch}_ALT_SPELLING "arm")
213-
set(SWIFT_SDK_ANDROID_ARCH_${arch}_PATH "${SWIFT_ANDROID_NDK_PATH}/platforms/android-${SWIFT_ANDROID_API_LEVEL}/arch-arm")
225+
if(NOT "${SWIFT_ANDROID_NDK_PATH}" STREQUAL "")
226+
set(SWIFT_SDK_ANDROID_ARCH_${arch}_PATH "${SWIFT_ANDROID_NDK_PATH}/platforms/android-${SWIFT_ANDROID_API_LEVEL}/arch-arm")
227+
elseif(NOT "${SWIFT_ANDROID_NATIVE_SYSROOT}" STREQUAL "")
228+
set(SWIFT_SDK_ANDROID_ARCH_${arch}_PATH "${SWIFT_ANDROID_NATIVE_SYSROOT}")
229+
else()
230+
message(SEND_ERROR "Couldn't find SWIFT_SDK_ANDROID_ARCH_armv7_PATH")
231+
endif()
214232
set(SWIFT_SDK_ANDROID_ARCH_${arch}_TRIPLE "armv7-none-linux-androideabi")
215233
elseif("${arch}" STREQUAL "aarch64")
216234
set(SWIFT_SDK_ANDROID_ARCH_${arch}_NDK_TRIPLE "aarch64-linux-android")
217235
set(SWIFT_SDK_ANDROID_ARCH_${arch}_ALT_SPELLING "aarch64")
218-
set(SWIFT_SDK_ANDROID_ARCH_${arch}_PATH "${SWIFT_ANDROID_NDK_PATH}/platforms/android-${SWIFT_ANDROID_API_LEVEL}/arch-arm64")
236+
if(NOT "${SWIFT_ANDROID_NDK_PATH}" STREQUAL "")
237+
set(SWIFT_SDK_ANDROID_ARCH_${arch}_PATH "${SWIFT_ANDROID_NDK_PATH}/platforms/android-${SWIFT_ANDROID_API_LEVEL}/arch-arm64")
238+
elseif(NOT "${SWIFT_ANDROID_NATIVE_SYSROOT}" STREQUAL "")
239+
set(SWIFT_SDK_ANDROID_ARCH_${arch}_PATH "${SWIFT_ANDROID_NATIVE_SYSROOT}")
240+
else()
241+
message(SEND_ERROR "Couldn't find SWIFT_SDK_ANDROID_ARCH_aarch64_PATH")
242+
endif()
219243
set(SWIFT_SDK_ANDROID_ARCH_${arch}_TRIPLE "aarch64-unknown-linux-android")
220244
elseif("${arch}" STREQUAL "i686")
221245
set(SWIFT_SDK_ANDROID_ARCH_${arch}_NDK_TRIPLE "i686-linux-android")

branches/tensorflow/docs/DebuggingTheCompiler.rst

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -86,6 +86,14 @@ diagnostic engine to assert on the first error/warning:
8686
These allow one to dump a stack trace of where the diagnostic is being emitted
8787
(if run without a debugger) or drop into the debugger if a debugger is attached.
8888

89+
Finding Diagnostic Names
90+
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
91+
92+
Some diagnostics rely heavily on format string arguments, so it can be difficult
93+
to find their implementation by searching for parts of the emitted message in
94+
the codebase. To print the corresponding diagnostic name at the end of each
95+
emitted message, use the ``-Xfrontend -debug-diagnostic-names`` argument.
96+
8997
Debugging the Type Checker
9098
--------------------------
9199

0 commit comments

Comments
 (0)