mirror of
https://github.com/facebook/proxygen.git
synced 2025-08-07 07:02:53 +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:
committed by
Facebook Github Bot
parent
1e90dd81de
commit
bab818cb0f
@@ -603,7 +603,9 @@ class OpenSSLBuilder(BuilderBase):
|
|||||||
|
|
||||||
|
|
||||||
class Boost(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)
|
children = os.listdir(src_dir)
|
||||||
assert len(children) == 1, "expected a single directory entry: %r" % (children,)
|
assert len(children) == 1, "expected a single directory entry: %r" % (children,)
|
||||||
boost_src = children[0]
|
boost_src = children[0]
|
||||||
@@ -612,6 +614,7 @@ class Boost(BuilderBase):
|
|||||||
super(Boost, self).__init__(
|
super(Boost, self).__init__(
|
||||||
build_opts, ctx, manifest, src_dir, build_dir, inst_dir
|
build_opts, ctx, manifest, src_dir, build_dir, inst_dir
|
||||||
)
|
)
|
||||||
|
self.b2_args = b2_args
|
||||||
|
|
||||||
def _build(self, install_dirs, reconfigure):
|
def _build(self, install_dirs, reconfigure):
|
||||||
linkage = ["static"]
|
linkage = ["static"]
|
||||||
@@ -638,6 +641,7 @@ class Boost(BuilderBase):
|
|||||||
"--builddir=%s" % self.build_dir,
|
"--builddir=%s" % self.build_dir,
|
||||||
]
|
]
|
||||||
+ args
|
+ args
|
||||||
|
+ self.b2_args
|
||||||
+ [
|
+ [
|
||||||
"link=%s" % link,
|
"link=%s" % link,
|
||||||
"runtime-link=shared",
|
"runtime-link=shared",
|
||||||
|
@@ -68,6 +68,7 @@ SCHEMA = {
|
|||||||
"msbuild": {"optional_section": True, "fields": {"project": REQUIRED}},
|
"msbuild": {"optional_section": True, "fields": {"project": REQUIRED}},
|
||||||
"cmake.defines": {"optional_section": True},
|
"cmake.defines": {"optional_section": True},
|
||||||
"autoconf.args": {"optional_section": True},
|
"autoconf.args": {"optional_section": True},
|
||||||
|
"b2.args": {"optional_section": True},
|
||||||
"make.args": {"optional_section": True},
|
"make.args": {"optional_section": True},
|
||||||
"header-only": {"optional_section": True, "fields": {"includedir": REQUIRED}},
|
"header-only": {"optional_section": True, "fields": {"includedir": REQUIRED}},
|
||||||
"shipit.pathmap": {"optional_section": True},
|
"shipit.pathmap": {"optional_section": True},
|
||||||
@@ -83,6 +84,7 @@ ALLOWED_EXPR_SECTIONS = [
|
|||||||
"cmake.defines",
|
"cmake.defines",
|
||||||
"dependencies",
|
"dependencies",
|
||||||
"make.args",
|
"make.args",
|
||||||
|
"b2.args",
|
||||||
"download",
|
"download",
|
||||||
"git",
|
"git",
|
||||||
"install.files",
|
"install.files",
|
||||||
@@ -372,7 +374,8 @@ class ManifestParser(object):
|
|||||||
)
|
)
|
||||||
|
|
||||||
if builder == "boost":
|
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":
|
if builder == "cmake":
|
||||||
defines = self.get_section_as_dict("cmake.defines", ctx)
|
defines = self.get_section_as_dict("cmake.defines", ctx)
|
||||||
|
@@ -11,3 +11,34 @@ sha256 = d074bcbcc0501c4917b965fc890e303ee70d8b01ff5712bae4a6c54f2b6b4e52
|
|||||||
|
|
||||||
[build]
|
[build]
|
||||||
builder = boost
|
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
|
||||||
|
Reference in New Issue
Block a user