@@ -129,6 +129,48 @@ def patch_workspace(path: Path) -> None:
129129"""
130130
131131
132+ LLVM_ANDROID_CONFIG_PATCH = """--- a/third_party/llvm/llvm.bzl
133+ +++ b/third_party/llvm/llvm.bzl
134+ @@ -248,6 +248,13 @@ linux_cmake_vars = {
135+ "HAVE_FUTIMENS": 1,
136+ }
137+
138+ +android_cmake_vars = {
139+ + "HAVE_BACKTRACE": 0,
140+ + "HAVE_EXECINFO_H": 0,
141+ + "HAVE_LIBPTHREAD": 0,
142+ + "HAVE__UNWIND_BACKTRACE": 0,
143+ +}
144+ +
145+ # CMake variables specific to the FreeBSD platform
146+ freebsd_cmake_vars = {
147+ "HAVE_MALLOC_H": 1,
148+ @@ -311,6 +319,14 @@ llvm_all_cmake_vars = select({
149+ darwin_cmake_vars,
150+ ),
151+ ),
152+ + "@org_tensorflow//tensorflow:android": cmake_var_string(
153+ + _dict_add(
154+ + cmake_vars,
155+ + llvm_target_cmake_vars("AArch64", "aarch64-unknown-linux-android"),
156+ + posix_cmake_vars,
157+ + android_cmake_vars,
158+ + ),
159+ + ),
160+ "@org_tensorflow//tensorflow:linux_ppc64le": cmake_var_string(
161+ _dict_add(
162+ cmake_vars,
163+ @@ -344,6 +360,7 @@ llvm_all_cmake_vars = select({
164+
165+ llvm_linkopts = select({
166+ "@org_tensorflow//tensorflow:windows": [],
167+ + "@org_tensorflow//tensorflow:android": ["-ldl", "-lm"],
168+ "@org_tensorflow//tensorflow:freebsd": ["-ldl", "-lm", "-lpthread", "-lexecinfo"],
169+ "//conditions:default": ["-ldl", "-lm", "-lpthread"],
170+ })
171+ """
172+
173+
132174def write_tensorflow_android_absl_patch (path : Path ) -> None :
133175 path .parent .mkdir (parents = True , exist_ok = True )
134176 absl_patch_text = (
@@ -145,6 +187,7 @@ def write_tensorflow_android_absl_patch(path: Path) -> None:
145187 )
146188 )
147189 text += BFLOAT16_CSTDINT_PATCH
190+ text += LLVM_ANDROID_CONFIG_PATCH
148191 if not text .endswith ("\n " ):
149192 text += "\n "
150193 path .write_text (text , encoding = "utf-8" )
0 commit comments