Add jni bindings

Summary: Add jni bindings for csslayout. First step in many of removing LayoutEngine.java and performing all layout in native.

Reviewed By: lucasr

Differential Revision: D3648793

fbshipit-source-id: d0e696e196fa7c63109c9117a65645ca3d6c9c00
This commit is contained in:
Emil Sjolander
2016-08-04 08:19:59 -07:00
committed by Facebook Github Bot 9
parent 7af5e3d68d
commit c74eae50ac
13 changed files with 1164 additions and 33 deletions

18
BUCK
View File

@@ -33,6 +33,19 @@ cxx_library(
visibility = ['PUBLIC'],
)
cxx_library(
name = 'CSSLayout_jni',
soname = 'libcsslayout.so',
srcs = glob(['java/jni/*.c']),
exported_headers = subdir_glob([('', 'java/jni/*.h')]),
header_namespace = '',
compiler_flags = COMPILER_FLAGS,
deps = [
':CSSLayout'
],
visibility = ['PUBLIC'],
)
cxx_binary(
name = 'benchmark',
srcs = glob(['benchmarks/*.c']),
@@ -72,13 +85,16 @@ cxx_test(
java_library(
name = 'CSSLayout_java',
srcs = glob(['java/**/*.java']),
srcs = glob(['java/com/facebook/csslayout/*.java']),
tests=[':CSSLayout_java_tests'],
source = '1.7',
target = '1.7',
deps = [
':CSSLayout_jni',
INFER_ANNOTATIONS_TARGET,
JSR_305_TARGET,
PROGRUARD_ANNOTATIONS_TARGET,
SOLOADER_TARGET,
],
visibility = ['PUBLIC'],
)