blob: ef1fce14220ecabb06e6e2f45f0e08c672e246e7 [file] [log] [blame]
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
],
)