# Copyright 2019 The Fuchsia Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

# This file defines several variables used by //zircon/third_party/ulib/uboringssl. They are defined
# here so that they can be changed atomically with an upstream roll.

# Zircon code that depends on BoringSSL should have a "#define BORINGSSL_NO_CXX"  statement before
# any "#include <openssl/...>" statements to avoid pulling in C++ headers.
boringssl_zircon_include_dirs = [ "src/include" ]

boringssl_zircon_kernel_sources = [
  "src/crypto/fipsmodule/sha/sha256.c",
  "src/crypto/chacha/chacha.c",
]

boringssl_zircon_system_sources = [
  "src/crypto/fipsmodule/sha/sha256.c",
  "src/crypto/cipher_extra/e_aesgcmsiv.c",
  "src/crypto/cpu-aarch64-fuchsia.c",
  "src/crypto/cpu-arm.c",
  "src/crypto/cpu-intel.c",
  "src/crypto/crypto.c",
  "src/crypto/err/err.c",
  "src/crypto/fipsmodule/aes/aes.c",
  "src/crypto/fipsmodule/aes/mode_wrappers.c",
  "src/crypto/fipsmodule/cipher/aead.c",
  "src/crypto/fipsmodule/cipher/cipher.c",
  "src/crypto/fipsmodule/cipher/e_aes.c",
  "src/crypto/fipsmodule/digest/digest.c",
  "src/crypto/fipsmodule/digest/digests.c",
  "src/crypto/fipsmodule/hmac/hmac.c",
  "src/crypto/fipsmodule/modes/gcm.c",
  "src/crypto/fipsmodule/modes/polyval.c",
  "src/crypto/hkdf/hkdf.c",
  "src/crypto/mem.c",
  "src/crypto/thread_pthread.c",
  "src/decrepit/xts/xts.c",
  "err_data.c",
]

boringssl_zircon_system_arm64_sources = [
  "linux-aarch64/crypto/fipsmodule/aesv8-armx64.S",
  "linux-aarch64/crypto/fipsmodule/ghashv8-armx64.S",
  "linux-aarch64/crypto/fipsmodule/sha256-armv8.S",
  "linux-aarch64/crypto/fipsmodule/vpaes-armv8.S",
]

boringssl_zircon_system_x64_darwin_sources = [
  "mac-x86_64/crypto/cipher_extra/aes128gcmsiv-x86_64.S",
  "mac-x86_64/crypto/fipsmodule/aes-x86_64.S",
  "mac-x86_64/crypto/fipsmodule/aesni-gcm-x86_64.S",
  "mac-x86_64/crypto/fipsmodule/aesni-x86_64.S",
  "mac-x86_64/crypto/fipsmodule/bsaes-x86_64.S",
  "mac-x86_64/crypto/fipsmodule/ghash-x86_64.S",
  "mac-x86_64/crypto/fipsmodule/ghash-ssse3-x86_64.S",
  "mac-x86_64/crypto/fipsmodule/sha256-x86_64.S",
  "mac-x86_64/crypto/fipsmodule/vpaes-x86_64.S",
]

boringssl_zircon_system_x64_linux_sources = [
  "linux-x86_64/crypto/cipher_extra/aes128gcmsiv-x86_64.S",
  "linux-x86_64/crypto/fipsmodule/aes-x86_64.S",
  "linux-x86_64/crypto/fipsmodule/aesni-gcm-x86_64.S",
  "linux-x86_64/crypto/fipsmodule/aesni-x86_64.S",
  "linux-x86_64/crypto/fipsmodule/bsaes-x86_64.S",
  "linux-x86_64/crypto/fipsmodule/ghash-x86_64.S",
  "linux-x86_64/crypto/fipsmodule/ghash-ssse3-x86_64.S",
  "linux-x86_64/crypto/fipsmodule/sha256-x86_64.S",
  "linux-x86_64/crypto/fipsmodule/vpaes-x86_64.S",
]
