diff --git a/build/fbcode_builder/getdeps.py b/build/fbcode_builder/getdeps.py index 5953338b0..74a553288 100755 --- a/build/fbcode_builder/getdeps.py +++ b/build/fbcode_builder/getdeps.py @@ -213,7 +213,7 @@ class BuildCmd(SubCmd): manifest = load_project(opts, args.project) - ctx = context_from_host_tuple() + ctx = context_from_host_tuple(facebook_internal=args.facebook_internal) print("Building on %s" % ctx) projects = manifests_in_dependency_order(opts, manifest, ctx) manifests_by_name = {m.name: m for m in projects} @@ -313,7 +313,7 @@ class TestCmd(SubCmd): opts = setup_build_options(args) manifest = load_project(opts, args.project) - ctx = context_from_host_tuple() + ctx = context_from_host_tuple(facebook_internal=args.facebook_internal) ctx["test"] = "on" projects = manifests_in_dependency_order(opts, manifest, ctx) manifests_by_name = {m.name: m for m in projects} @@ -388,6 +388,12 @@ def build_argparser(): action="store_true", default=False, ) + common_args.add_argument( + "--facebook-internal", + help="Setup the build context as an FB internal build", + action="store_true", + default=False, + ) ap = argparse.ArgumentParser( description="Get and build dependencies and projects", parents=[common_args] diff --git a/build/fbcode_builder/getdeps/platform.py b/build/fbcode_builder/getdeps/platform.py index c52bc0fc6..d3368c2c4 100644 --- a/build/fbcode_builder/getdeps/platform.py +++ b/build/fbcode_builder/getdeps/platform.py @@ -98,7 +98,7 @@ class HostType(object): ) -def context_from_host_tuple(host_tuple=None): +def context_from_host_tuple(host_tuple=None, facebook_internal=False): """ Given an optional host tuple, construct a context appropriate for passing to the boolean expression evaluator so that conditional sections in manifests can be resolved. """ @@ -113,4 +113,5 @@ def context_from_host_tuple(host_tuple=None): "os": host_type.ostype, "distro": host_type.distro, "distro_vers": host_type.distrovers, + "fb": "on" if facebook_internal else "off", } diff --git a/build/fbcode_builder/manifests/watchman b/build/fbcode_builder/manifests/watchman index 81e3d6559..5405331be 100644 --- a/build/fbcode_builder/manifests/watchman +++ b/build/fbcode_builder/manifests/watchman @@ -26,3 +26,10 @@ fbcode/eden/fs/service = eden/fs/service [cmake.defines] ENABLE_EDEN_SUPPORT=ON + +# FB macos specific settings +[cmake.defines.all(fb=on,os=darwin)] +# this path is coupled with the FB internal watchman-osx.spec +WATCHMAN_STATE_DIR=/opt/facebook/watchman/var/run/watchman +# tell cmake not to try to create /opt/facebook/... +INSTALL_WATCHMAN_STATE_DIR=OFF