mirror of
https://github.com/facebook/sapling.git
synced 2025-01-07 14:10:42 +03:00
d942f5a88e
Summary: Adds some basic building blocks to build hg using buck. Header files are cleaned up, so they are relative to the project root. Some minor changes to C code are made to remove clang build warnings. Rust dependencies, fb-hgext C/Python dependencies (ex. cstore, mysql-connector), and 3rd-party dependencies like python-lz4 are not built yet. But the built hg binary should be able to run most tests just fine. Reviewed By: wez Differential Revision: D6814686 fbshipit-source-id: 59eefd5a3ad86db2ad1c821ed824c9f1878c93e4 |
||
---|---|---|
.. | ||
cdatapack | ||
clib | ||
linelog | ||
radixbuf | ||
third-party/sha1dc | ||
vlqencoding | ||
README.md |
lib
Any native code (C/C++/Rust) that Mercurial (either core or extensions)
depends on should go here. Python code, or native code that depends on
Python code (e.g. #include <Python.h>
or use cpython
) is disallowed.
As we start to convert more of Mercurial into Rust, and write new paths entrirely in native code, we'll want to limit our dependency on Python, which is why this barrier exists.
See also hgext/extlib/README.md
, mercurial/cext/README.mb
.
How do I choose between lib
and extlib
(and cext
)?
If your code is native and doesn't depend on Python (awesome!), it goes here.
Otherwise, put it in hgext/extlib
(if it's only used by extensions) or
mercurial/cext
(if it's used by extensions or core).