Use a (mostly) hermetic Python interpreter
It still requires python to be installed on the host to run the wrapper
scripts, but it's close to being fully hermetic.
This also requires/enables the following changes, unfortunately all at
the same time:
* Use a downloaded f2py
* Use a downloaded scipy/numpy/matplotlib
* Fix a few things that don't run with the python version in their #!
* Stop using bazel-generated __init__.py files, because those interfere
with importing matplotlib nicely
Change-Id: Ife280464613d67cece9587b7d947f0b1d5466d7e
diff --git a/aos/BUILD b/aos/BUILD
index 89948ab..2e73c51 100644
--- a/aos/BUILD
+++ b/aos/BUILD
@@ -1,62 +1,71 @@
filegroup(
- name = 'prime_binaries',
- visibility = ['//visibility:public'],
- srcs = [
- '//aos/linux_code:core',
- '//aos/common/logging:log_streamer',
- '//aos/common/logging:log_displayer',
- '//aos/linux_code/starter',
- ],
-)
-filegroup(
- name = 'prime_start_binaries',
- visibility = ['//visibility:public'],
- srcs = [
- '//aos/common/logging:binary_log_writer',
- ],
+ name = "prime_binaries",
+ srcs = [
+ "//aos/common/logging:log_displayer",
+ "//aos/common/logging:log_streamer",
+ "//aos/linux_code:core",
+ "//aos/linux_code/starter",
+ ],
+ visibility = ["//visibility:public"],
)
filegroup(
- name = 'prime_binaries_stripped',
- visibility = ['//visibility:public'],
- srcs = [
- # starter is hard coded to look for a non-stripped core...
- '//aos/linux_code:core',
- '//aos/common/logging:log_streamer.stripped',
- '//aos/common/logging:log_displayer.stripped',
- '//aos/linux_code/starter',
- ],
+ name = "prime_start_binaries",
+ srcs = [
+ "//aos/common/logging:binary_log_writer",
+ ],
+ visibility = ["//visibility:public"],
)
+
filegroup(
- name = 'prime_start_binaries_stripped',
- visibility = ['//visibility:public'],
- srcs = [
- '//aos/common/logging:binary_log_writer.stripped',
- ],
+ name = "prime_binaries_stripped",
+ srcs = [
+ # starter is hard coded to look for a non-stripped core...
+ "//aos/linux_code:core",
+ "//aos/common/logging:log_streamer.stripped",
+ "//aos/common/logging:log_displayer.stripped",
+ "//aos/linux_code/starter",
+ ],
+ visibility = ["//visibility:public"],
+)
+
+filegroup(
+ name = "prime_start_binaries_stripped",
+ srcs = [
+ "//aos/common/logging:binary_log_writer.stripped",
+ ],
+ visibility = ["//visibility:public"],
)
cc_library(
- name = 'once',
- visibility = ['//visibility:public'],
- hdrs = [
- 'once.h',
- ],
- srcs = [
- 'once-tmpl.h',
- ],
- deps = [
- '//aos/common:gtest_prod',
- '//aos/common:type_traits',
- ],
+ name = "once",
+ srcs = [
+ "once-tmpl.h",
+ ],
+ hdrs = [
+ "once.h",
+ ],
+ visibility = ["//visibility:public"],
+ deps = [
+ "//aos/common:gtest_prod",
+ "//aos/common:type_traits",
+ ],
)
+
cc_test(
- name = 'once_test',
- visibility = ['//visibility:public'],
- srcs = [
- 'once_test.cc',
- ],
- deps = [
- '//aos/testing:googletest',
- '//aos:once',
- ],
+ name = "once_test",
+ srcs = [
+ "once_test.cc",
+ ],
+ visibility = ["//visibility:public"],
+ deps = [
+ "//aos:once",
+ "//aos/testing:googletest",
+ ],
+)
+
+py_library(
+ name = "python_init",
+ srcs = ["__init__.py"],
+ visibility = ["//visibility:public"],
)