2018-09-11 15:27:47 -07:00
|
|
|
# Copyright (c) Facebook, Inc. and its affiliates.
|
2016-10-12 09:02:02 -07:00
|
|
|
#
|
2018-02-16 18:24:55 -08:00
|
|
|
# This source code is licensed under the MIT license found in the
|
|
|
|
# LICENSE file in the root directory of this source tree.
|
2016-10-12 09:02:02 -07:00
|
|
|
|
2019-05-09 04:14:08 -07:00
|
|
|
load("//tools/build_defs/oss:yoga_defs.bzl", "ANDROID", "CXX_LIBRARY_WHITELIST", "FBJNI_JAVA_TARGET", "FBJNI_TARGET", "INFER_ANNOTATIONS_TARGET", "JNI_TARGET", "JSR_305_TARGET", "JUNIT_TARGET", "PROGRUARD_ANNOTATIONS_TARGET", "SOLOADER_TARGET", "yoga_cxx_lib", "yoga_cxx_library", "yoga_dep", "yoga_java_binary", "yoga_java_library", "yoga_java_test")
|
|
|
|
|
|
|
|
CXX_LIBRARY_WHITELIST_FOR_TESTS = CXX_LIBRARY_WHITELIST + [
|
|
|
|
yoga_cxx_lib("testutil:jni"),
|
|
|
|
yoga_cxx_lib("testutil:testutil"),
|
|
|
|
]
|
2016-10-12 09:02:02 -07:00
|
|
|
|
2018-04-14 12:39:23 -07:00
|
|
|
yoga_cxx_library(
|
2017-02-24 21:40:45 -08:00
|
|
|
name = "jni",
|
|
|
|
srcs = glob(["jni/*.cpp"]),
|
2019-06-06 20:59:24 -07:00
|
|
|
header_namespace = "yoga/java",
|
|
|
|
exported_headers = glob(["jni/*.h"]),
|
2018-11-07 09:33:33 -08:00
|
|
|
allow_jni_merging = True,
|
2017-02-24 21:40:45 -08:00
|
|
|
compiler_flags = [
|
|
|
|
"-fno-omit-frame-pointer",
|
|
|
|
"-fexceptions",
|
|
|
|
"-fPIC",
|
|
|
|
"-Wall",
|
|
|
|
"-Werror",
|
2019-02-01 10:37:40 -08:00
|
|
|
"-Os",
|
2019-04-09 03:08:48 -07:00
|
|
|
"-std=c++11",
|
2017-02-24 21:40:45 -08:00
|
|
|
],
|
2018-02-20 14:36:49 -08:00
|
|
|
platforms = ANDROID,
|
2018-09-25 15:44:45 -07:00
|
|
|
preprocessor_flags = [
|
|
|
|
"-DFBJNI_WITH_FAST_CALLS",
|
|
|
|
],
|
2017-02-24 21:40:45 -08:00
|
|
|
soname = "libyoga.$(ext)",
|
|
|
|
visibility = ["PUBLIC"],
|
|
|
|
deps = [
|
|
|
|
FBJNI_TARGET,
|
|
|
|
JNI_TARGET,
|
|
|
|
yoga_dep(":yoga"),
|
|
|
|
],
|
2016-10-12 09:02:02 -07:00
|
|
|
)
|
|
|
|
|
2018-04-14 12:39:23 -07:00
|
|
|
yoga_java_library(
|
2017-02-24 21:40:45 -08:00
|
|
|
name = "java",
|
|
|
|
srcs = glob(["com/facebook/yoga/*.java"]),
|
2017-10-27 00:46:03 -07:00
|
|
|
required_for_source_only_abi = True,
|
2017-02-24 21:40:45 -08:00
|
|
|
source = "1.7",
|
|
|
|
target = "1.7",
|
|
|
|
tests = [
|
|
|
|
yoga_dep("java:tests"),
|
|
|
|
],
|
|
|
|
visibility = ["PUBLIC"],
|
|
|
|
deps = [
|
|
|
|
":jni",
|
2019-07-19 17:16:46 -07:00
|
|
|
FBJNI_JAVA_TARGET,
|
2017-02-24 21:40:45 -08:00
|
|
|
INFER_ANNOTATIONS_TARGET,
|
|
|
|
JSR_305_TARGET,
|
|
|
|
PROGRUARD_ANNOTATIONS_TARGET,
|
|
|
|
SOLOADER_TARGET,
|
|
|
|
],
|
2016-10-12 09:02:02 -07:00
|
|
|
)
|
2016-10-12 09:55:04 -07:00
|
|
|
|
2018-04-14 12:39:23 -07:00
|
|
|
yoga_java_test(
|
2017-02-24 21:40:45 -08:00
|
|
|
name = "tests",
|
|
|
|
srcs = glob(["tests/**/*.java"]),
|
2019-05-09 04:14:08 -07:00
|
|
|
cxx_library_whitelist = CXX_LIBRARY_WHITELIST_FOR_TESTS,
|
2017-02-24 21:40:45 -08:00
|
|
|
use_cxx_libraries = True,
|
|
|
|
visibility = ["PUBLIC"],
|
|
|
|
deps = [
|
|
|
|
":java",
|
2019-05-09 04:14:08 -07:00
|
|
|
yoga_dep("testutil:java"),
|
2017-02-24 21:40:45 -08:00
|
|
|
JUNIT_TARGET,
|
|
|
|
],
|
2016-10-12 09:55:04 -07:00
|
|
|
)
|
2017-08-13 07:26:14 -07:00
|
|
|
|
2018-04-14 12:39:23 -07:00
|
|
|
yoga_java_binary(
|
2017-08-13 07:26:14 -07:00
|
|
|
name = "yoga",
|
|
|
|
deps = [
|
|
|
|
":java",
|
|
|
|
FBJNI_JAVA_TARGET,
|
|
|
|
],
|
|
|
|
)
|