github.com/prysmaticlabs/prysm@v1.4.4/third_party/herumi/mcl.BUILD (about) 1 package(default_visibility = ["//visibility:public"]) 2 3 cc_library( 4 name = "fp", 5 srcs = [ 6 "src/fp.cpp", 7 ] + select({ 8 "@io_bazel_rules_go//go/platform:android_arm": [ 9 "src/asm/arm.s", 10 ], 11 "@io_bazel_rules_go//go/platform:linux_arm64": [ 12 "src/asm/aarch64.s", 13 ], 14 "@io_bazel_rules_go//go/platform:android_arm64": [ 15 "src/asm/aarch64.s", 16 ], 17 "@io_bazel_rules_go//go/platform:darwin_amd64": [ 18 "src/asm/x86-64mac.s", 19 ], 20 "@io_bazel_rules_go//go/platform:linux_amd64": [ 21 "src/asm/x86-64.s", 22 ], 23 "@io_bazel_rules_go//go/platform:windows_amd64": [ 24 "src/asm/x86-64.s", 25 ], 26 }), 27 includes = [ 28 "include", 29 ], 30 hdrs = glob([ 31 "src/xbyak/*.h", 32 "include/cybozu/*.hpp", 33 ]) + [ 34 "include/mcl/op.hpp", 35 "include/mcl/gmp_util.hpp", 36 "include/mcl/vint.hpp", 37 "include/mcl/randgen.hpp", 38 "include/mcl/array.hpp", 39 "include/mcl/util.hpp", 40 "include/mcl/fp_tower.hpp", 41 "include/mcl/fp.hpp", 42 "include/mcl/conversion.hpp", 43 "src/low_func.hpp", 44 "src/fp_generator.hpp", 45 "src/proto.hpp", 46 "src/low_func_llvm.hpp", 47 ], 48 ) 49 50 cc_library( 51 name = "bn", 52 srcs = [ 53 "src/bn_c384_256.cpp", 54 ], 55 deps = [":fp"], 56 hdrs = [ 57 "include/mcl/bn.h", 58 "include/mcl/curve_type.h", 59 "include/mcl/impl/bn_c_impl.hpp", 60 "include/mcl/bls12_381.hpp", 61 "include/mcl/bn_c384_256.h", 62 "include/mcl/ec.hpp", 63 "include/mcl/mapto_wb19.hpp", 64 "include/mcl/ecparam.hpp", 65 "include/mcl/lagrange.hpp", 66 "include/mcl/bn.hpp", 67 "include/mcl/operator.hpp", 68 "include/mcl/window_method.hpp", 69 ], 70 includes = ["include"], 71 ) 72 73 # src_gen is a tool to generate some llvm assembly language file. 74 cc_binary( 75 name = "src_gen", 76 srcs = [ 77 "src/gen.cpp", 78 "src/llvm_gen.hpp", 79 ] + glob([ 80 "include/cybozu/*.hpp", 81 "include/mcl/*.hpp", 82 ]), 83 includes = ["include"], 84 )