@@ -12,24 +12,28 @@ def replace_once(text: str, old: str, new: str, path: Path) -> str:
1212
1313def patch_module_pom (path : Path ) -> None :
1414 text = path .read_text (encoding = "utf-8" )
15- old = """ <environmentVariables>\n <EXTENSION>${javacpp.platform.extension}</EXTENSION>\n </environmentVariables>"""
16- new = """ <environmentVariables>\n <EXTENSION>${javacpp.platform.extension}</EXTENSION>\n <PLATFORM>${javacpp.platform}</PLATFORM>\n </environmentVariables>"""
15+ if "<PLATFORM>${javacpp.platform}</PLATFORM>" in text :
16+ return
17+ old = "<EXTENSION>${javacpp.platform.extension}</EXTENSION>"
18+ new = """<EXTENSION>${javacpp.platform.extension}</EXTENSION>\n <PLATFORM>${javacpp.platform}</PLATFORM>"""
1719 text = replace_once (text , old , new , path )
1820 path .write_text (text , encoding = "utf-8" )
1921
2022
2123def patch_build_sh (path : Path ) -> None :
2224 text = path .read_text (encoding = "utf-8" )
23- old = """export BAZEL_VC=\" ${VCINSTALLDIR:-}\" \n if [[ -d $BAZEL_VC ]]; then\n # Work around compiler issues on Windows documented mainly in configure.py but also elsewhere\n export BUILD_FLAGS=\" --copt=//arch:AVX `#--copt=//arch:AVX2` --copt=-DWIN32_LEAN_AND_MEAN --host_copt=-DWIN32_LEAN_AND_MEAN --copt=-DNOGDI --host_copt=-DNOGDI --copt=-D_USE_MATH_DEFINES --host_copt=-D_USE_MATH_DEFINES --define=override_eigen_strong_inline=true\" \n # https://software.intel.com/en-us/articles/intel-optimization-for-tensorflow-installation-guide#wind_B_S\n export PATH=$PATH:$(pwd)/bazel-tensorflow-core-api/external/mkl_windows/lib/\n export PYTHON_BIN_PATH=$(which python.exe)\n else\n export BUILD_FLAGS=\" --copt=-msse4.1 --copt=-msse4.2 --copt=-mavx `#--copt=-mavx2 --copt=-mfma` --cxxopt=-std=c++14 --host_cxxopt=-std=c++14 --linkopt=-lstdc++ --host_linkopt=-lstdc++\" \n export PYTHON_BIN_PATH=$(which python3)\n fi\n """
24- new = """export BAZEL_VC=\" ${VCINSTALLDIR:-}\" \n if [[ \" ${PLATFORM:-}\" == \" android-arm64\" ]]; then\n export BUILD_FLAGS=\" --config=android_arm64 --cxxopt=-std=c++14 --host_cxxopt=-std=c++14\" \n export PYTHON_BIN_PATH=$(which python3)\n elif [[ -d $BAZEL_VC ]]; then\n # Work around compiler issues on Windows documented mainly in configure.py but also elsewhere\n export BUILD_FLAGS=\" --copt=//arch:AVX `#--copt=//arch:AVX2` --copt=-DWIN32_LEAN_AND_MEAN --host_copt=-DWIN32_LEAN_AND_MEAN --copt=-DNOGDI --host_copt=-DNOGDI --copt=-D_USE_MATH_DEFINES --host_copt=-D_USE_MATH_DEFINES --define=override_eigen_strong_inline=true\" \n # https://software.intel.com/en-us/articles/intel-optimization-for-tensorflow-installation-guide#wind_B_S\n export PATH=$PATH:$(pwd)/bazel-tensorflow-core-api/external/mkl_windows/lib/\n export PYTHON_BIN_PATH=$(which python.exe)\n else\n export BUILD_FLAGS=\" --copt=-msse4.1 --copt=-msse4.2 --copt=-mavx `#--copt=-mavx2 --copt=-mfma` --cxxopt=-std=c++14 --host_cxxopt=-std=c++14 --linkopt=-lstdc++ --host_linkopt=-lstdc++\" \n export PYTHON_BIN_PATH=$(which python3)\n fi\n """
25+ old = """# Allows us to use ccache with Bazel on Mac\n export BAZEL_USE_CPP_ONLY_TOOLCHAIN=1\n \n export BAZEL_VC=\" ${VCINSTALLDIR:-}\" \n if [[ -d $BAZEL_VC ]]; then\n # Work around compiler issues on Windows documented mainly in configure.py but also elsewhere\n export BUILD_FLAGS=\" --copt=//arch:AVX `#--copt=//arch:AVX2` --copt=-DWIN32_LEAN_AND_MEAN --host_copt=-DWIN32_LEAN_AND_MEAN --copt=-DNOGDI --host_copt=-DNOGDI --copt=-D_USE_MATH_DEFINES --host_copt=-D_USE_MATH_DEFINES --define=override_eigen_strong_inline=true\" \n # https://software.intel.com/en-us/articles/intel-optimization-for-tensorflow-installation-guide#wind_B_S\n export PATH=$PATH:$(pwd)/bazel-tensorflow-core-api/external/mkl_windows/lib/\n export PYTHON_BIN_PATH=$(which python.exe)\n else\n export BUILD_FLAGS=\" --copt=-msse4.1 --copt=-msse4.2 --copt=-mavx `#--copt=-mavx2 --copt=-mfma` --cxxopt=-std=c++14 --host_cxxopt=-std=c++14 --linkopt=-lstdc++ --host_linkopt=-lstdc++\" \n export PYTHON_BIN_PATH=$(which python3)\n fi\n """
26+ new = """# Allows us to use ccache with Bazel on Mac, but Android needs Bazel's Android crosstool.\n if [[ \" ${PLATFORM:-}\" != \" android-arm64\" ]]; then\n export BAZEL_USE_CPP_ONLY_TOOLCHAIN=1\n fi\n \n export BAZEL_VC=\" ${VCINSTALLDIR:-}\" \n if [[ \" ${PLATFORM:-}\" == \" android-arm64\" ]]; then\n export BUILD_FLAGS=\" --config=android_arm64 --cxxopt=-std=c++14 --host_cxxopt=-std=c++14\" \n export PYTHON_BIN_PATH=$(which python3)\n elif [[ -d $BAZEL_VC ]]; then\n # Work around compiler issues on Windows documented mainly in configure.py but also elsewhere\n export BUILD_FLAGS=\" --copt=//arch:AVX `#--copt=//arch:AVX2` --copt=-DWIN32_LEAN_AND_MEAN --host_copt=-DWIN32_LEAN_AND_MEAN --copt=-DNOGDI --host_copt=-DNOGDI --copt=-D_USE_MATH_DEFINES --host_copt=-D_USE_MATH_DEFINES --define=override_eigen_strong_inline=true\" \n # https://software.intel.com/en-us/articles/intel-optimization-for-tensorflow-installation-guide#wind_B_S\n export PATH=$PATH:$(pwd)/bazel-tensorflow-core-api/external/mkl_windows/lib/\n export PYTHON_BIN_PATH=$(which python.exe)\n else\n export BUILD_FLAGS=\" --copt=-msse4.1 --copt=-msse4.2 --copt=-mavx `#--copt=-mavx2 --copt=-mfma` --cxxopt=-std=c++14 --host_cxxopt=-std=c++14 --linkopt=-lstdc++ --host_linkopt=-lstdc++\" \n export PYTHON_BIN_PATH=$(which python3)\n fi\n """
2527 text = replace_once (text , old , new , path )
2628 path .write_text (text , encoding = "utf-8" )
2729
2830
2931def patch_preset (path : Path ) -> None :
3032 text = path .read_text (encoding = "utf-8" )
31- old = """ @Platform(\n value = {\" linux\" , \" macosx\" , \" windows\" },\n compiler = \" cpp11\" ,\n include = {\n \" tensorflow/c/tf_attrtype.h\" ,\n \" tensorflow/c/tf_datatype.h\" ,\n \" tensorflow/c/tf_status.h\" ,\n \" tensorflow/c/tf_tensor.h\" ,\n \" tensorflow/c/c_api.h\" ,\n // \" tensorflow/c/env.h\" ,\n \" tensorflow/c/kernels.h\" ,\n \" tensorflow/c/ops.h\" ,\n \" tensorflow/c/eager/c_api.h\" \n },\n link = \" tensorflow@.2\" ,\n preload = {\" iomp5\" , \" mklml\" , \" mklml_intel\" , \" tensorflow_framework@.2\" },\n preloadresource = \" /org/bytedeco/mkldnn/\" ,\n resource = {\" LICENSE\" , \" THIRD_PARTY_TF_JNI_LICENSES\" }\n ),\n """
32- new = """ @Platform(\n value = {\" linux\" , \" macosx\" , \" windows\" },\n compiler = \" cpp11\" ,\n include = {\n \" tensorflow/c/tf_attrtype.h\" ,\n \" tensorflow/c/tf_datatype.h\" ,\n \" tensorflow/c/tf_status.h\" ,\n \" tensorflow/c/tf_tensor.h\" ,\n \" tensorflow/c/c_api.h\" ,\n // \" tensorflow/c/env.h\" ,\n \" tensorflow/c/kernels.h\" ,\n \" tensorflow/c/ops.h\" ,\n \" tensorflow/c/eager/c_api.h\" \n },\n link = \" tensorflow@.2\" ,\n preload = {\" iomp5\" , \" mklml\" , \" mklml_intel\" , \" tensorflow_framework@.2\" },\n preloadresource = \" /org/bytedeco/mkldnn/\" ,\n resource = {\" LICENSE\" , \" THIRD_PARTY_TF_JNI_LICENSES\" }\n ),\n @Platform(\n value = \" android-arm64\" ,\n compiler = \" cpp11\" ,\n include = {\n \" tensorflow/c/tf_attrtype.h\" ,\n \" tensorflow/c/tf_datatype.h\" ,\n \" tensorflow/c/tf_status.h\" ,\n \" tensorflow/c/tf_tensor.h\" ,\n \" tensorflow/c/c_api.h\" ,\n // \" tensorflow/c/env.h\" ,\n \" tensorflow/c/kernels.h\" ,\n \" tensorflow/c/ops.h\" ,\n \" tensorflow/c/eager/c_api.h\" \n },\n link = \" tensorflow@.2\" ,\n preload = {\" tensorflow_framework@.2\" },\n resource = {\" LICENSE\" , \" THIRD_PARTY_TF_JNI_LICENSES\" }\n ),\n """
33+ if 'value = "android-arm64"' in text :
34+ return
35+ old = """ preloadresource = "/org/bytedeco/mkldnn/",\n resource = {"LICENSE", "THIRD_PARTY_TF_JNI_LICENSES"}\n ),\n """
36+ new = """ preloadresource = "/org/bytedeco/mkldnn/",\n resource = {"LICENSE", "THIRD_PARTY_TF_JNI_LICENSES"}\n ),\n @Platform(\n value = "android-arm64",\n compiler = "cpp11",\n include = {\n "tensorflow/c/tf_attrtype.h",\n "tensorflow/c/tf_datatype.h",\n "tensorflow/c/tf_status.h",\n "tensorflow/c/tf_tensor.h",\n "tensorflow/c/c_api.h",\n // "tensorflow/c/env.h",\n "tensorflow/c/kernels.h",\n "tensorflow/c/ops.h",\n "tensorflow/c/eager/c_api.h"\n },\n link = "tensorflow@.2",\n preload = {"tensorflow_framework@.2"},\n resource = {"LICENSE", "THIRD_PARTY_TF_JNI_LICENSES"}\n ),\n """
3337 text = replace_once (text , old , new , path )
3438 path .write_text (text , encoding = "utf-8" )
3539
0 commit comments