# Copyright (c) 2014-present, Facebook, Inc. # # This source code is licensed under the MIT license found in the # LICENSE file in the root directory of this source tree. load("//:yoga_defs.bzl", "BASE_COMPILER_FLAGS", "is_apple_platform", "yoga_cxx_library", "yoga_dep") COMPILER_FLAGS = BASE_COMPILER_FLAGS + ["-std=c++11"] csharp_library( name = "yogalibnet46", srcs = glob(["**/*.cs"]), dll_name = "Facebook.Yoga.dll", framework_ver = "net46", ) csharp_library( name = "yogalibnet45", srcs = glob(["**/*.cs"]), dll_name = "Facebook.Yoga.dll", framework_ver = "net45", ) yoga_cxx_library( name = "yoganet", srcs = glob(["Yoga/YGInterop.cpp"]), compiler_flags = COMPILER_FLAGS, link_style = "static", link_whole = True, soname = "libyoga.$(ext)", visibility = ["PUBLIC"], deps = [yoga_dep(":yoga")], ) if is_apple_platform(): yoganet_ios_srcs = [] for arch in [ "iphonesimulator-x86_64", "iphoneos-arm64", ]: name = "yoganet-" + arch yoganet_ios_srcs.append(":" + name) genrule( name = name, srcs = [ yoga_dep(":yogaApple#%s,static" % arch), yoga_dep("YogaKit:YogaKitApple#%s,static" % arch), yoga_dep("csharp:yoganetApple#%s,static" % arch), ], out = "libyoga-%s.a" % arch, cmd = "libtool -static -o $OUT $SRCS", visibility = [yoga_dep("csharp:yoganet-ios")], ) genrule( name = "yoganet-ios", srcs = yoganet_ios_srcs, out = "libyoga.a", cmd = "lipo $SRCS -create -output $OUT", visibility = ["PUBLIC"], ) yoganet_macosx_target = "csharp:yoganetAppleMac#macosx-%s,dynamic" genrule( name = "yoganet-macosx", srcs = [ yoga_dep(yoganet_macosx_target % "x86_64"), ], out = "libyoga.dylib", cmd = "lipo $SRCS -create -output $OUT", visibility = ["PUBLIC"], )