mirror of
https://github.com/facebook/sapling.git
synced 2024-10-09 16:31:02 +03:00
13e79c95ee
This patch moves all setup*cffi stuff to mercurial/cffi to make the root directory cleaner. The idea was from mpm [1]: > It seems like we could have a fair amount of cffi definitions, and > cluttering the root directory (or mercurial/) with them is probably not > a great long-term solution. We could probably add a cffi/ directory > under mercurial/ to parallel pure/. [1]: https://www.mercurial-scm.org/pipermail/mercurial-devel/2016-July/086442.html
32 lines
716 B
Python
32 lines
716 B
Python
from __future__ import absolute_import
|
|
|
|
import cffi
|
|
import os
|
|
|
|
ffi = cffi.FFI()
|
|
ffi.set_source("_bdiff_cffi",
|
|
open(os.path.join(os.path.join(os.path.dirname(__file__), '..'),
|
|
'bdiff.c')).read(), include_dirs=['mercurial'])
|
|
ffi.cdef("""
|
|
struct bdiff_line {
|
|
int hash, n, e;
|
|
ssize_t len;
|
|
const char *l;
|
|
};
|
|
|
|
struct bdiff_hunk;
|
|
struct bdiff_hunk {
|
|
int a1, a2, b1, b2;
|
|
struct bdiff_hunk *next;
|
|
};
|
|
|
|
int bdiff_splitlines(const char *a, ssize_t len, struct bdiff_line **lr);
|
|
int bdiff_diff(struct bdiff_line *a, int an, struct bdiff_line *b, int bn,
|
|
struct bdiff_hunk *base);
|
|
void bdiff_freehunks(struct bdiff_hunk *l);
|
|
void free(void*);
|
|
""")
|
|
|
|
if __name__ == '__main__':
|
|
ffi.compile()
|