71 lines
1.8 KiB
Smarty
71 lines
1.8 KiB
Smarty
licenses(["restricted"])
|
|
|
|
package(default_visibility = ["//visibility:public"])
|
|
|
|
# Point both runtimes to the same python binary to ensure we always
|
|
# use the python binary specified by ./configure.py script.
|
|
load("@bazel_tools//tools/python:toolchain.bzl", "py_runtime_pair")
|
|
|
|
py_runtime(
|
|
name = "py2_runtime",
|
|
interpreter_path = "%{PYTHON_BIN_PATH}",
|
|
python_version = "PY2",
|
|
)
|
|
|
|
py_runtime(
|
|
name = "py3_runtime",
|
|
interpreter_path = "%{PYTHON_BIN_PATH}",
|
|
python_version = "PY3",
|
|
)
|
|
|
|
py_runtime_pair(
|
|
name = "py_runtime_pair",
|
|
py2_runtime = ":py2_runtime",
|
|
py3_runtime = ":py3_runtime",
|
|
)
|
|
|
|
toolchain(
|
|
name = "py_toolchain",
|
|
toolchain = ":py_runtime_pair",
|
|
toolchain_type = "@bazel_tools//tools/python:toolchain_type",
|
|
target_compatible_with = [%{PLATFORM_CONSTRAINT}],
|
|
exec_compatible_with = [%{PLATFORM_CONSTRAINT}],
|
|
)
|
|
|
|
# To build Python C/C++ extension on Windows, we need to link to python import library pythonXY.lib
|
|
# See https://docs.python.org/3/extending/windows.html
|
|
cc_import(
|
|
name = "python_lib",
|
|
interface_library = select({
|
|
":windows": ":python_import_lib",
|
|
# A placeholder for Unix platforms which makes --no_build happy.
|
|
"//conditions:default": "not-existing.lib",
|
|
}),
|
|
system_provided = 1,
|
|
)
|
|
|
|
cc_library(
|
|
name = "python_headers",
|
|
hdrs = [":python_include"],
|
|
deps = select({
|
|
":windows": [":python_lib"],
|
|
"//conditions:default": [],
|
|
}),
|
|
includes = ["python_include"],
|
|
)
|
|
|
|
cc_library(
|
|
name = "numpy_headers",
|
|
hdrs = [":numpy_include"],
|
|
includes = ["numpy_include"],
|
|
)
|
|
|
|
config_setting(
|
|
name = "windows",
|
|
values = {"cpu": "x64_windows"},
|
|
visibility = ["//visibility:public"],
|
|
)
|
|
|
|
%{PYTHON_INCLUDE_GENRULE}
|
|
%{PYTHON_IMPORT_LIB_GENRULE}
|