STT-tensorflow/boost.BUILD
Justine Tunney 65038b0840 Optimize Bazel external dependencies
This change does the following:

- Always use {,new_}http_archive rather than git_repository
- Make liberal use of strip_prefix
- Clarify licenses() in BUILD files
- On POSIX include headers like a normal C/C++ program

This change accomplishes the following:

- Reduce download size >100MB: The biggest culprit is grpc which has
  tens of thousands of commits in its GitHub repository.

- Reduce disk size >200MB: On disk, grpc takes up 250MB when cloned even
  though the tarball of the git repo is 3.2MB. By never using git
  externals, we save on network.

- Consume less cpu: Cloning git repositories is much slower than
  downloading and extracting a tarball.
Change: 133895791
2016-09-21 17:16:04 -07:00

53 lines
1.1 KiB
Plaintext

# Description:
# The Boost library collection (http://www.boost.org)
#
# Most Boost libraries are header-only, in which case you only need to depend
# on :boost. If you need one of the libraries that has a separately-compiled
# implementation, depend on the appropriate libs rule.
# This is only needed for Avro.
package(default_visibility = ["@avro_archive//:__subpackages__"])
licenses(["notice"]) # Boost software license
cc_library(
name = "boost",
hdrs = glob([
"boost/**/*.hpp",
"boost/**/*.h",
"boost/**/*.ipp",
]),
includes = ["."],
)
cc_library(
name = "filesystem",
srcs = glob(["libs/filesystem/src/*.cpp"]),
deps = [
":boost",
":system",
],
)
cc_library(
name = "iostreams",
srcs = glob(["libs/iostreams/src/*.cpp"]),
deps = [
":boost",
"@bzip2_archive//:bz2lib",
"@zlib_archive//:zlib",
],
)
cc_library(
name = "program_options",
srcs = glob(["libs/program_options/src/*.cpp"]),
deps = [":boost"],
)
cc_library(
name = "system",
srcs = glob(["libs/system/src/*.cpp"]),
deps = [":boost"],
)