# Copyright (c) 2014-present, Facebook, Inc.
# All rights reserved.
#
# This source code is licensed under the BSD-style license found in the
# LICENSE file in the root directory of this source tree. An additional grant
# of patent rights can be found in the PATENTS file in the same directory.

include_defs('//YOGA_DEFS')

cxx_library(
  name = 'jni',
  soname = 'libyoga.$(ext)',
  srcs = glob(['jni/*.cpp']),
  header_namespace = '',
  compiler_flags = [
    '-fno-omit-frame-pointer',
    '-fexceptions',
    '-fPIC',
    '-Wall',
    '-Werror',
    '-O3',
    '-std=c++11',
  ],
  deps = [
    FBJNI_TARGET,
    JNI_TARGET,
    yoga_dep(':yoga'),
  ],
  visibility = ['PUBLIC'],
)

java_library(
  name = 'java',
  srcs = glob(['com/facebook/yoga/*.java']),
  tests=[
    yoga_dep('java:tests'),
  ],
  source = '1.7',
  target = '1.7',
  deps = [
    ':jni',
    INFER_ANNOTATIONS_TARGET,
    JSR_305_TARGET,
    PROGRUARD_ANNOTATIONS_TARGET,
    SOLOADER_TARGET,
  ],
  visibility = ['PUBLIC'],
)

java_test(
  name = 'tests',
  srcs = glob(['tests/**/*.java']),
  use_cxx_libraries = True,
  cxx_library_whitelist = CXX_LIBRARY_WHITELIST,
  deps = [
    ':java',
    JUNIT_TARGET,
  ],
  visibility = ['PUBLIC'],
)
