sapling/build/fbcode_builder
John Elliott ae2a76bcf6 Paramatized rust_static_library to enable CXX support (#763)
Summary:
X-link: https://github.com/facebook/fboss/pull/161

X-link: https://github.com/facebookincubator/delos_core/pull/8

X-link: https://github.com/facebookincubator/zstrong/pull/610

X-link: https://github.com/facebookincubator/crux/pull/10

X-link: https://github.com/facebookexternal/traffixr/pull/3

X-link: https://github.com/facebookincubator/katran/pull/205

X-link: https://github.com/facebookincubator/fizz/pull/101

Pull Request resolved: https://github.com/facebook/sapling/pull/763

X-link: https://github.com/facebookexperimental/rust-shed/pull/43

X-link: https://github.com/facebook/wangle/pull/221

X-link: https://github.com/facebook/openr/pull/150

X-link: https://github.com/facebook/hhvm/pull/9403

X-link: https://github.com/facebook/folly/pull/2092

X-link: https://github.com/facebook/fb303/pull/42

X-link: https://github.com/facebookincubator/velox/pull/7301

We are now using CXX (and not just bindgen/cbindgen) for building our Rust C/C++ APIS, but our OSS tooling did not ergomically support this. This change adds a single option, `USE_CXX_INCLUDE`, to the CMake function, `rust_static_library`, to enable adding the `cxxbridge` path to the include path.

Reviewed By: xavierd

Differential Revision: D50772544

fbshipit-source-id: caf00ade9b651965b6dd59e2cf0d8797d3ae1dce
2023-10-30 14:03:10 -07:00
..
CMake Paramatized rust_static_library to enable CXX support (#763) 2023-10-30 14:03:10 -07:00
getdeps remove --silent from edenfsctl prefetch call in copytree.py 2023-10-24 14:59:38 -07:00
manifests airserver: remove local/shared bundle cleaners and loadgen from OSS/client build 2023-10-23 16:36:57 -07:00
patches fix blake3 build on MSVC (#4447) 2023-04-03 14:43:56 -07:00
.gitignore add fbcode_builder sources 2019-04-26 11:31:58 -07:00
getdeps.py use system patchelf in eden fs build (#750) 2023-10-16 12:10:14 -07:00
LICENSE Relicense getdeps from BSD to MIT 2019-10-10 13:20:05 -07:00
README.md update fbcode_builder README to document getdeps.py 2020-09-09 15:40:21 -07:00

Easy builds for Facebook projects

This directory contains tools designed to simplify continuous-integration (and other builds) of Facebook open source projects. In particular, this helps manage builds for cross-project dependencies.

The main entry point is the getdeps.py script. This script has several subcommands, but the most notable is the build command. This will download and build all dependencies for a project, and then build the project itself.

Deployment

This directory is copied literally into a number of different Facebook open source repositories. Any change made to code in this directory will be automatically be replicated by our open source tooling into all GitHub hosted repositories that use fbcode_builder. Typically this directory is copied into the open source repositories as build/fbcode_builder/.

Project Configuration Files

The manifests subdirectory contains configuration files for many different projects, describing how to build each project. These files also list dependencies between projects, enabling getdeps.py to build all dependencies for a project before building the project itself.

Shared CMake utilities

Since this directory is copied into many Facebook open source repositories, it is also used to help share some CMake utility files across projects. The CMake/ subdirectory contains a number of .cmake files that are shared by the CMake-based build systems across several different projects.

Older Build Scripts

This directory also still contains a handful of older build scripts that pre-date the current getdeps.py build system. Most of the other .py files in this top directory, apart from getdeps.py itself, are from this older build system. This older system is only used by a few remaining projects, and new projects should generally use the newer getdeps.py script, by adding a new configuration file in the manifests/ subdirectory.