mirror of
https://github.com/facebook/sapling.git
synced 2024-10-11 01:07:15 +03:00
getdeps: build all available boost libraries
Summary: This should make it easier to eg: enable fbzmq on macos at a later time, and also makes things more explicit about what is being built, and importantly, by listing these in the manifest ensures that we have a hash change if we change this list; we wouldn't trigger such a change if the list were encoded solely in builder.py Reviewed By: chadaustin Differential Revision: D17133149 fbshipit-source-id: caf0dd45e262188eeefafe0868ef95ad257a4950
This commit is contained in:
parent
310da85dd8
commit
6fb1bb0764
@ -603,7 +603,9 @@ class OpenSSLBuilder(BuilderBase):
|
||||
|
||||
|
||||
class Boost(BuilderBase):
|
||||
def __init__(self, build_opts, ctx, manifest, src_dir, build_dir, inst_dir):
|
||||
def __init__(
|
||||
self, build_opts, ctx, manifest, src_dir, build_dir, inst_dir, b2_args
|
||||
):
|
||||
children = os.listdir(src_dir)
|
||||
assert len(children) == 1, "expected a single directory entry: %r" % (children,)
|
||||
boost_src = children[0]
|
||||
@ -612,6 +614,7 @@ class Boost(BuilderBase):
|
||||
super(Boost, self).__init__(
|
||||
build_opts, ctx, manifest, src_dir, build_dir, inst_dir
|
||||
)
|
||||
self.b2_args = b2_args
|
||||
|
||||
def _build(self, install_dirs, reconfigure):
|
||||
linkage = ["static"]
|
||||
@ -638,6 +641,7 @@ class Boost(BuilderBase):
|
||||
"--builddir=%s" % self.build_dir,
|
||||
]
|
||||
+ args
|
||||
+ self.b2_args
|
||||
+ [
|
||||
"link=%s" % link,
|
||||
"runtime-link=shared",
|
||||
|
@ -68,6 +68,7 @@ SCHEMA = {
|
||||
"msbuild": {"optional_section": True, "fields": {"project": REQUIRED}},
|
||||
"cmake.defines": {"optional_section": True},
|
||||
"autoconf.args": {"optional_section": True},
|
||||
"b2.args": {"optional_section": True},
|
||||
"make.args": {"optional_section": True},
|
||||
"header-only": {"optional_section": True, "fields": {"includedir": REQUIRED}},
|
||||
"shipit.pathmap": {"optional_section": True},
|
||||
@ -83,6 +84,7 @@ ALLOWED_EXPR_SECTIONS = [
|
||||
"cmake.defines",
|
||||
"dependencies",
|
||||
"make.args",
|
||||
"b2.args",
|
||||
"download",
|
||||
"git",
|
||||
"install.files",
|
||||
@ -372,7 +374,8 @@ class ManifestParser(object):
|
||||
)
|
||||
|
||||
if builder == "boost":
|
||||
return Boost(build_options, ctx, self, src_dir, build_dir, inst_dir)
|
||||
args = self.get_section_as_args("b2.args", ctx)
|
||||
return Boost(build_options, ctx, self, src_dir, build_dir, inst_dir, args)
|
||||
|
||||
if builder == "cmake":
|
||||
defines = self.get_section_as_dict("cmake.defines", ctx)
|
||||
|
@ -11,3 +11,34 @@ sha256 = d074bcbcc0501c4917b965fc890e303ee70d8b01ff5712bae4a6c54f2b6b4e52
|
||||
|
||||
[build]
|
||||
builder = boost
|
||||
|
||||
[b2.args]
|
||||
--with-atomic
|
||||
--with-chrono
|
||||
--with-container
|
||||
--with-context
|
||||
--with-contract
|
||||
--with-coroutine
|
||||
--with-date_time
|
||||
--with-exception
|
||||
--with-fiber
|
||||
--with-filesystem
|
||||
--with-graph
|
||||
--with-graph_parallel
|
||||
--with-iostreams
|
||||
--with-locale
|
||||
--with-log
|
||||
--with-math
|
||||
--with-mpi
|
||||
--with-program_options
|
||||
--with-python
|
||||
--with-random
|
||||
--with-regex
|
||||
--with-serialization
|
||||
--with-stacktrace
|
||||
--with-system
|
||||
--with-test
|
||||
--with-thread
|
||||
--with-timer
|
||||
--with-type_erasure
|
||||
--with-wave
|
||||
|
Loading…
Reference in New Issue
Block a user