| licenses(["notice"]) |
| |
| boringssl_headers = [ |
| "boringssl/include/openssl/aead.h", |
| "boringssl/include/openssl/aes.h", |
| "boringssl/include/openssl/arm_arch.h", |
| "boringssl/include/openssl/asn1.h", |
| "boringssl/include/openssl/asn1_mac.h", |
| "boringssl/include/openssl/asn1t.h", |
| "boringssl/include/openssl/base64.h", |
| "boringssl/include/openssl/base.h", |
| "boringssl/include/openssl/bio.h", |
| "boringssl/include/openssl/blowfish.h", |
| "boringssl/include/openssl/bn.h", |
| "boringssl/include/openssl/buffer.h", |
| "boringssl/include/openssl/buf.h", |
| "boringssl/include/openssl/bytestring.h", |
| "boringssl/include/openssl/cast.h", |
| "boringssl/include/openssl/chacha.h", |
| "boringssl/include/openssl/cipher.h", |
| "boringssl/include/openssl/cmac.h", |
| "boringssl/include/openssl/conf.h", |
| "boringssl/include/openssl/cpu.h", |
| "boringssl/include/openssl/crypto.h", |
| "boringssl/include/openssl/curve25519.h", |
| "boringssl/include/openssl/des.h", |
| "boringssl/include/openssl/dh.h", |
| "boringssl/include/openssl/digest.h", |
| "boringssl/include/openssl/dsa.h", |
| "boringssl/include/openssl/dtls1.h", |
| "boringssl/include/openssl/ecdh.h", |
| "boringssl/include/openssl/ecdsa.h", |
| "boringssl/include/openssl/ec.h", |
| "boringssl/include/openssl/ec_key.h", |
| "boringssl/include/openssl/engine.h", |
| "boringssl/include/openssl/e_os2.h", |
| "boringssl/include/openssl/err.h", |
| "boringssl/include/openssl/evp.h", |
| "boringssl/include/openssl/ex_data.h", |
| "boringssl/include/openssl/hkdf.h", |
| "boringssl/include/openssl/hmac.h", |
| "boringssl/include/openssl/hrss.h", |
| "boringssl/include/openssl/is_boringssl.h", |
| "boringssl/include/openssl/lhash.h", |
| "boringssl/include/openssl/md4.h", |
| "boringssl/include/openssl/md5.h", |
| "boringssl/include/openssl/mem.h", |
| "boringssl/include/openssl/nid.h", |
| "boringssl/include/openssl/objects.h", |
| "boringssl/include/openssl/obj.h", |
| "boringssl/include/openssl/obj_mac.h", |
| "boringssl/include/openssl/opensslconf.h", |
| "boringssl/include/openssl/opensslv.h", |
| "boringssl/include/openssl/ossl_typ.h", |
| "boringssl/include/openssl/pem.h", |
| "boringssl/include/openssl/pkcs12.h", |
| "boringssl/include/openssl/pkcs7.h", |
| "boringssl/include/openssl/pkcs8.h", |
| "boringssl/include/openssl/poly1305.h", |
| "boringssl/include/openssl/pool.h", |
| "boringssl/include/openssl/rand.h", |
| "boringssl/include/openssl/rc4.h", |
| "boringssl/include/openssl/ripemd.h", |
| "boringssl/include/openssl/rsa.h", |
| "boringssl/include/openssl/safestack.h", |
| "boringssl/include/openssl/sha.h", |
| "boringssl/include/openssl/siphash.h", |
| "boringssl/include/openssl/span.h", |
| "boringssl/include/openssl/srtp.h", |
| "boringssl/include/openssl/ssl3.h", |
| "boringssl/include/openssl/ssl.h", |
| "boringssl/include/openssl/stack.h", |
| "boringssl/include/openssl/thread.h", |
| "boringssl/include/openssl/tls1.h", |
| "boringssl/include/openssl/type_check.h", |
| "boringssl/include/openssl/x509.h", |
| "boringssl/include/openssl/x509v3.h", |
| "boringssl/include/openssl/x509_vfy.h", |
| ] |
| |
| cc_library( |
| name = "crypto", |
| srcs = [ |
| "libcrypto.so", |
| ], |
| hdrs = boringssl_headers, |
| includes = ["boringssl/include/"], |
| tags = [ |
| "manual", # This target will only work on Linux and should not be included in wildcard builds |
| ], |
| visibility = ["//visibility:public"], |
| ) |
| |
| cc_library( |
| name = "ssl", |
| srcs = [ |
| "libssl.so", |
| ], |
| hdrs = boringssl_headers, |
| includes = ["boringssl/include/"], |
| tags = [ |
| "manual", # This target will only work on Linux and should not be included in wildcard builds |
| ], |
| visibility = ["//visibility:public"], |
| deps = [ |
| ":crypto", |
| ], |
| ) |
| |
| genrule( |
| name = "build_fipsmodule", |
| srcs = [ |
| "boringssl_fips.sh", |
| ], |
| outs = [ |
| "libcrypto.so", |
| "libssl.so", |
| ] + boringssl_headers, |
| cmd = """ |
| ./$(location boringssl_fips.sh) |
| cp boringssl/build/crypto/libcrypto.so $(location libcrypto.so) |
| cp boringssl/build/ssl/libssl.so $(location libssl.so) |
| """ + "".join(["cp " + header + " " + "$(location " + header + ")\n" for header in boringssl_headers]), |
| tags = [ |
| "manual", # This target will only work on Linux and should not be included in wildcard builds |
| ], |
| ) |