# Copyright (c) 2019 The Chromium 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 is created by generate_build_files.py. Do not edit manually.

cmake_minimum_required(VERSION 3.5)

project(BoringSSL LANGUAGES C CXX)

if(CMAKE_CXX_COMPILER_ID MATCHES "Clang")
  set(CLANG 1)
endif()

if(CMAKE_COMPILER_IS_GNUCXX OR CLANG)
  set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++14 -fvisibility=hidden -fno-common -fno-exceptions -fno-rtti")
  if(APPLE)
    set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -stdlib=libc++")
  endif()

  set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fvisibility=hidden -fno-common -std=c11")
endif()

# pthread_rwlock_t requires a feature flag.
if(NOT WIN32)
  set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -D_XOPEN_SOURCE=700")
endif()

if(WIN32)
  add_definitions(-D_HAS_EXCEPTIONS=0)
  add_definitions(-DWIN32_LEAN_AND_MEAN)
  add_definitions(-DNOMINMAX)
  # Allow use of fopen.
  add_definitions(-D_CRT_SECURE_NO_WARNINGS)
  # VS 2017 and higher supports STL-only warning suppressions.
  # A bug in CMake < 3.13.0 may cause the space in this value to
  # cause issues when building with NASM. In that case, update CMake.
  add_definitions("-D_STL_EXTRA_DISABLED_WARNINGS=4774 4987")
endif()

add_definitions(-DBORINGSSL_IMPLEMENTATION)

# CMake's iOS support uses Apple's multiple-architecture toolchain. It takes an
# architecture list from CMAKE_OSX_ARCHITECTURES, leaves CMAKE_SYSTEM_PROCESSOR
# alone, and expects all architecture-specific logic to be conditioned within
# the source files rather than the build. This does not work for our assembly
# files, so we fix CMAKE_SYSTEM_PROCESSOR and only support single-architecture
# builds.
if(NOT OPENSSL_NO_ASM AND CMAKE_OSX_ARCHITECTURES)
  list(LENGTH CMAKE_OSX_ARCHITECTURES NUM_ARCHES)
  if(NOT NUM_ARCHES EQUAL 1)
    message(FATAL_ERROR "Universal binaries not supported.")
  endif()
  list(GET CMAKE_OSX_ARCHITECTURES 0 CMAKE_SYSTEM_PROCESSOR)
endif()

if(OPENSSL_NO_ASM)
  add_definitions(-DOPENSSL_NO_ASM)
  set(ARCH "generic")
elseif(CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
  set(ARCH "x86_64")
elseif(CMAKE_SYSTEM_PROCESSOR STREQUAL "amd64")
  set(ARCH "x86_64")
elseif(CMAKE_SYSTEM_PROCESSOR STREQUAL "AMD64")
  # cmake reports AMD64 on Windows, but we might be building for 32-bit.
  if(CMAKE_SIZEOF_VOID_P EQUAL 8)
    set(ARCH "x86_64")
  else()
    set(ARCH "x86")
  endif()
elseif(CMAKE_SYSTEM_PROCESSOR STREQUAL "x86")
  set(ARCH "x86")
elseif(CMAKE_SYSTEM_PROCESSOR STREQUAL "i386")
  set(ARCH "x86")
elseif(CMAKE_SYSTEM_PROCESSOR STREQUAL "i686")
  set(ARCH "x86")
elseif(CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64")
  set(ARCH "aarch64")
elseif(CMAKE_SYSTEM_PROCESSOR STREQUAL "arm64")
  set(ARCH "aarch64")
# Apple A12 Bionic chipset which is added in iPhone XS/XS Max/XR uses arm64e architecture.
elseif(CMAKE_SYSTEM_PROCESSOR STREQUAL "arm64e")
  set(ARCH "aarch64")
elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "^arm*")
  set(ARCH "arm")
elseif(CMAKE_SYSTEM_PROCESSOR STREQUAL "mips")
  # Just to avoid the “unknown processor” error.
  set(ARCH "generic")
elseif(CMAKE_SYSTEM_PROCESSOR STREQUAL "ppc64le")
  set(ARCH "ppc64le")
else()
  message(FATAL_ERROR "Unknown processor:" ${CMAKE_SYSTEM_PROCESSOR})
endif()

if(NOT OPENSSL_NO_ASM)
  if(UNIX)
    enable_language(ASM)

    # Clang's integerated assembler does not support debug symbols.
    if(NOT CMAKE_ASM_COMPILER_ID MATCHES "Clang")
      set(CMAKE_ASM_FLAGS "${CMAKE_ASM_FLAGS} -Wa,-g")
    endif()

    # CMake does not add -isysroot and -arch flags to assembly.
    if(APPLE)
      if(CMAKE_OSX_SYSROOT)
        set(CMAKE_ASM_FLAGS "${CMAKE_ASM_FLAGS} -isysroot \"${CMAKE_OSX_SYSROOT}\"")
      endif()
      foreach(arch ${CMAKE_OSX_ARCHITECTURES})
        set(CMAKE_ASM_FLAGS "${CMAKE_ASM_FLAGS} -arch ${arch}")
      endforeach()
    endif()
  else()
    set(CMAKE_ASM_NASM_FLAGS "${CMAKE_ASM_NASM_FLAGS} -gcv8")
    enable_language(ASM_NASM)
  endif()
endif()

if(BUILD_SHARED_LIBS)
  add_definitions(-DBORINGSSL_SHARED_LIBRARY)
  # Enable position-independent code globally. This is needed because
  # some library targets are OBJECT libraries.
  set(CMAKE_POSITION_INDEPENDENT_CODE TRUE)
endif()

include_directories(src/include)

set(
  CRYPTO_apple_aarch64_SOURCES

  apple-aarch64/crypto/chacha/chacha-armv8.S
  apple-aarch64/crypto/cipher_extra/chacha20_poly1305_armv8.S
  apple-aarch64/crypto/fipsmodule/aesv8-armx64.S
  apple-aarch64/crypto/fipsmodule/armv8-mont.S
  apple-aarch64/crypto/fipsmodule/ghash-neon-armv8.S
  apple-aarch64/crypto/fipsmodule/ghashv8-armx64.S
  apple-aarch64/crypto/fipsmodule/p256-armv8-asm.S
  apple-aarch64/crypto/fipsmodule/p256_beeu-armv8-asm.S
  apple-aarch64/crypto/fipsmodule/sha1-armv8.S
  apple-aarch64/crypto/fipsmodule/sha256-armv8.S
  apple-aarch64/crypto/fipsmodule/sha512-armv8.S
  apple-aarch64/crypto/fipsmodule/vpaes-armv8.S
  apple-aarch64/crypto/test/trampoline-armv8.S
)

set(
  CRYPTO_apple_arm_SOURCES

  apple-arm/crypto/chacha/chacha-armv4.S
  apple-arm/crypto/fipsmodule/aesv8-armx32.S
  apple-arm/crypto/fipsmodule/armv4-mont.S
  apple-arm/crypto/fipsmodule/bsaes-armv7.S
  apple-arm/crypto/fipsmodule/ghash-armv4.S
  apple-arm/crypto/fipsmodule/ghashv8-armx32.S
  apple-arm/crypto/fipsmodule/sha1-armv4-large.S
  apple-arm/crypto/fipsmodule/sha256-armv4.S
  apple-arm/crypto/fipsmodule/sha512-armv4.S
  apple-arm/crypto/fipsmodule/vpaes-armv7.S
  apple-arm/crypto/test/trampoline-armv4.S
)

set(
  CRYPTO_apple_x86_SOURCES

  apple-x86/crypto/chacha/chacha-x86.S
  apple-x86/crypto/fipsmodule/aesni-x86.S
  apple-x86/crypto/fipsmodule/bn-586.S
  apple-x86/crypto/fipsmodule/co-586.S
  apple-x86/crypto/fipsmodule/ghash-ssse3-x86.S
  apple-x86/crypto/fipsmodule/ghash-x86.S
  apple-x86/crypto/fipsmodule/md5-586.S
  apple-x86/crypto/fipsmodule/sha1-586.S
  apple-x86/crypto/fipsmodule/sha256-586.S
  apple-x86/crypto/fipsmodule/sha512-586.S
  apple-x86/crypto/fipsmodule/vpaes-x86.S
  apple-x86/crypto/fipsmodule/x86-mont.S
  apple-x86/crypto/test/trampoline-x86.S
)

set(
  CRYPTO_apple_x86_64_SOURCES

  apple-x86_64/crypto/chacha/chacha-x86_64.S
  apple-x86_64/crypto/cipher_extra/aes128gcmsiv-x86_64.S
  apple-x86_64/crypto/cipher_extra/chacha20_poly1305_x86_64.S
  apple-x86_64/crypto/fipsmodule/aesni-gcm-x86_64.S
  apple-x86_64/crypto/fipsmodule/aesni-x86_64.S
  apple-x86_64/crypto/fipsmodule/ghash-ssse3-x86_64.S
  apple-x86_64/crypto/fipsmodule/ghash-x86_64.S
  apple-x86_64/crypto/fipsmodule/md5-x86_64.S
  apple-x86_64/crypto/fipsmodule/p256-x86_64-asm.S
  apple-x86_64/crypto/fipsmodule/p256_beeu-x86_64-asm.S
  apple-x86_64/crypto/fipsmodule/rdrand-x86_64.S
  apple-x86_64/crypto/fipsmodule/rsaz-avx2.S
  apple-x86_64/crypto/fipsmodule/sha1-x86_64.S
  apple-x86_64/crypto/fipsmodule/sha256-x86_64.S
  apple-x86_64/crypto/fipsmodule/sha512-x86_64.S
  apple-x86_64/crypto/fipsmodule/vpaes-x86_64.S
  apple-x86_64/crypto/fipsmodule/x86_64-mont.S
  apple-x86_64/crypto/fipsmodule/x86_64-mont5.S
  apple-x86_64/crypto/test/trampoline-x86_64.S
)

set(
  CRYPTO_linux_aarch64_SOURCES

  linux-aarch64/crypto/chacha/chacha-armv8.S
  linux-aarch64/crypto/cipher_extra/chacha20_poly1305_armv8.S
  linux-aarch64/crypto/fipsmodule/aesv8-armx64.S
  linux-aarch64/crypto/fipsmodule/armv8-mont.S
  linux-aarch64/crypto/fipsmodule/ghash-neon-armv8.S
  linux-aarch64/crypto/fipsmodule/ghashv8-armx64.S
  linux-aarch64/crypto/fipsmodule/p256-armv8-asm.S
  linux-aarch64/crypto/fipsmodule/p256_beeu-armv8-asm.S
  linux-aarch64/crypto/fipsmodule/sha1-armv8.S
  linux-aarch64/crypto/fipsmodule/sha256-armv8.S
  linux-aarch64/crypto/fipsmodule/sha512-armv8.S
  linux-aarch64/crypto/fipsmodule/vpaes-armv8.S
  linux-aarch64/crypto/test/trampoline-armv8.S
)

set(
  CRYPTO_linux_arm_SOURCES

  linux-arm/crypto/chacha/chacha-armv4.S
  linux-arm/crypto/fipsmodule/aesv8-armx32.S
  linux-arm/crypto/fipsmodule/armv4-mont.S
  linux-arm/crypto/fipsmodule/bsaes-armv7.S
  linux-arm/crypto/fipsmodule/ghash-armv4.S
  linux-arm/crypto/fipsmodule/ghashv8-armx32.S
  linux-arm/crypto/fipsmodule/sha1-armv4-large.S
  linux-arm/crypto/fipsmodule/sha256-armv4.S
  linux-arm/crypto/fipsmodule/sha512-armv4.S
  linux-arm/crypto/fipsmodule/vpaes-armv7.S
  linux-arm/crypto/test/trampoline-armv4.S
  src/crypto/curve25519/asm/x25519-asm-arm.S
  src/crypto/poly1305/poly1305_arm_asm.S
)

set(
  CRYPTO_linux_ppc64le_SOURCES

  linux-ppc64le/crypto/fipsmodule/aesp8-ppc.S
  linux-ppc64le/crypto/fipsmodule/ghashp8-ppc.S
  linux-ppc64le/crypto/test/trampoline-ppc.S
)

set(
  CRYPTO_linux_x86_SOURCES

  linux-x86/crypto/chacha/chacha-x86.S
  linux-x86/crypto/fipsmodule/aesni-x86.S
  linux-x86/crypto/fipsmodule/bn-586.S
  linux-x86/crypto/fipsmodule/co-586.S
  linux-x86/crypto/fipsmodule/ghash-ssse3-x86.S
  linux-x86/crypto/fipsmodule/ghash-x86.S
  linux-x86/crypto/fipsmodule/md5-586.S
  linux-x86/crypto/fipsmodule/sha1-586.S
  linux-x86/crypto/fipsmodule/sha256-586.S
  linux-x86/crypto/fipsmodule/sha512-586.S
  linux-x86/crypto/fipsmodule/vpaes-x86.S
  linux-x86/crypto/fipsmodule/x86-mont.S
  linux-x86/crypto/test/trampoline-x86.S
)

set(
  CRYPTO_linux_x86_64_SOURCES

  linux-x86_64/crypto/chacha/chacha-x86_64.S
  linux-x86_64/crypto/cipher_extra/aes128gcmsiv-x86_64.S
  linux-x86_64/crypto/cipher_extra/chacha20_poly1305_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/ghash-ssse3-x86_64.S
  linux-x86_64/crypto/fipsmodule/ghash-x86_64.S
  linux-x86_64/crypto/fipsmodule/md5-x86_64.S
  linux-x86_64/crypto/fipsmodule/p256-x86_64-asm.S
  linux-x86_64/crypto/fipsmodule/p256_beeu-x86_64-asm.S
  linux-x86_64/crypto/fipsmodule/rdrand-x86_64.S
  linux-x86_64/crypto/fipsmodule/rsaz-avx2.S
  linux-x86_64/crypto/fipsmodule/sha1-x86_64.S
  linux-x86_64/crypto/fipsmodule/sha256-x86_64.S
  linux-x86_64/crypto/fipsmodule/sha512-x86_64.S
  linux-x86_64/crypto/fipsmodule/vpaes-x86_64.S
  linux-x86_64/crypto/fipsmodule/x86_64-mont.S
  linux-x86_64/crypto/fipsmodule/x86_64-mont5.S
  linux-x86_64/crypto/test/trampoline-x86_64.S
  src/crypto/hrss/asm/poly_rq_mul.S
)

set(
  CRYPTO_win_aarch64_SOURCES

  win-aarch64/crypto/chacha/chacha-armv8.S
  win-aarch64/crypto/cipher_extra/chacha20_poly1305_armv8.S
  win-aarch64/crypto/fipsmodule/aesv8-armx64.S
  win-aarch64/crypto/fipsmodule/armv8-mont.S
  win-aarch64/crypto/fipsmodule/ghash-neon-armv8.S
  win-aarch64/crypto/fipsmodule/ghashv8-armx64.S
  win-aarch64/crypto/fipsmodule/p256-armv8-asm.S
  win-aarch64/crypto/fipsmodule/p256_beeu-armv8-asm.S
  win-aarch64/crypto/fipsmodule/sha1-armv8.S
  win-aarch64/crypto/fipsmodule/sha256-armv8.S
  win-aarch64/crypto/fipsmodule/sha512-armv8.S
  win-aarch64/crypto/fipsmodule/vpaes-armv8.S
  win-aarch64/crypto/test/trampoline-armv8.S
)

set(
  CRYPTO_win_x86_SOURCES

  win-x86/crypto/chacha/chacha-x86.asm
  win-x86/crypto/fipsmodule/aesni-x86.asm
  win-x86/crypto/fipsmodule/bn-586.asm
  win-x86/crypto/fipsmodule/co-586.asm
  win-x86/crypto/fipsmodule/ghash-ssse3-x86.asm
  win-x86/crypto/fipsmodule/ghash-x86.asm
  win-x86/crypto/fipsmodule/md5-586.asm
  win-x86/crypto/fipsmodule/sha1-586.asm
  win-x86/crypto/fipsmodule/sha256-586.asm
  win-x86/crypto/fipsmodule/sha512-586.asm
  win-x86/crypto/fipsmodule/vpaes-x86.asm
  win-x86/crypto/fipsmodule/x86-mont.asm
  win-x86/crypto/test/trampoline-x86.asm
)

set(
  CRYPTO_win_x86_64_SOURCES

  win-x86_64/crypto/chacha/chacha-x86_64.asm
  win-x86_64/crypto/cipher_extra/aes128gcmsiv-x86_64.asm
  win-x86_64/crypto/cipher_extra/chacha20_poly1305_x86_64.asm
  win-x86_64/crypto/fipsmodule/aesni-gcm-x86_64.asm
  win-x86_64/crypto/fipsmodule/aesni-x86_64.asm
  win-x86_64/crypto/fipsmodule/ghash-ssse3-x86_64.asm
  win-x86_64/crypto/fipsmodule/ghash-x86_64.asm
  win-x86_64/crypto/fipsmodule/md5-x86_64.asm
  win-x86_64/crypto/fipsmodule/p256-x86_64-asm.asm
  win-x86_64/crypto/fipsmodule/p256_beeu-x86_64-asm.asm
  win-x86_64/crypto/fipsmodule/rdrand-x86_64.asm
  win-x86_64/crypto/fipsmodule/rsaz-avx2.asm
  win-x86_64/crypto/fipsmodule/sha1-x86_64.asm
  win-x86_64/crypto/fipsmodule/sha256-x86_64.asm
  win-x86_64/crypto/fipsmodule/sha512-x86_64.asm
  win-x86_64/crypto/fipsmodule/vpaes-x86_64.asm
  win-x86_64/crypto/fipsmodule/x86_64-mont.asm
  win-x86_64/crypto/fipsmodule/x86_64-mont5.asm
  win-x86_64/crypto/test/trampoline-x86_64.asm
)

if(APPLE)
  set(CRYPTO_ARCH_SOURCES ${CRYPTO_apple_${ARCH}_SOURCES})
elseif(UNIX)
  set(CRYPTO_ARCH_SOURCES ${CRYPTO_linux_${ARCH}_SOURCES})
elseif(WIN32)
  set(CRYPTO_ARCH_SOURCES ${CRYPTO_win_${ARCH}_SOURCES})
endif()

add_library(
  crypto

  ${CRYPTO_ARCH_SOURCES}
  err_data.c
  src/crypto/asn1/a_bitstr.c
  src/crypto/asn1/a_bool.c
  src/crypto/asn1/a_d2i_fp.c
  src/crypto/asn1/a_dup.c
  src/crypto/asn1/a_gentm.c
  src/crypto/asn1/a_i2d_fp.c
  src/crypto/asn1/a_int.c
  src/crypto/asn1/a_mbstr.c
  src/crypto/asn1/a_object.c
  src/crypto/asn1/a_octet.c
  src/crypto/asn1/a_print.c
  src/crypto/asn1/a_strex.c
  src/crypto/asn1/a_strnid.c
  src/crypto/asn1/a_time.c
  src/crypto/asn1/a_type.c
  src/crypto/asn1/a_utctm.c
  src/crypto/asn1/a_utf8.c
  src/crypto/asn1/asn1_lib.c
  src/crypto/asn1/asn1_par.c
  src/crypto/asn1/asn_pack.c
  src/crypto/asn1/f_int.c
  src/crypto/asn1/f_string.c
  src/crypto/asn1/posix_time.c
  src/crypto/asn1/tasn_dec.c
  src/crypto/asn1/tasn_enc.c
  src/crypto/asn1/tasn_fre.c
  src/crypto/asn1/tasn_new.c
  src/crypto/asn1/tasn_typ.c
  src/crypto/asn1/tasn_utl.c
  src/crypto/base64/base64.c
  src/crypto/bio/bio.c
  src/crypto/bio/bio_mem.c
  src/crypto/bio/connect.c
  src/crypto/bio/fd.c
  src/crypto/bio/file.c
  src/crypto/bio/hexdump.c
  src/crypto/bio/pair.c
  src/crypto/bio/printf.c
  src/crypto/bio/socket.c
  src/crypto/bio/socket_helper.c
  src/crypto/blake2/blake2.c
  src/crypto/bn_extra/bn_asn1.c
  src/crypto/bn_extra/convert.c
  src/crypto/buf/buf.c
  src/crypto/bytestring/asn1_compat.c
  src/crypto/bytestring/ber.c
  src/crypto/bytestring/cbb.c
  src/crypto/bytestring/cbs.c
  src/crypto/bytestring/unicode.c
  src/crypto/chacha/chacha.c
  src/crypto/cipher_extra/cipher_extra.c
  src/crypto/cipher_extra/derive_key.c
  src/crypto/cipher_extra/e_aesctrhmac.c
  src/crypto/cipher_extra/e_aesgcmsiv.c
  src/crypto/cipher_extra/e_chacha20poly1305.c
  src/crypto/cipher_extra/e_des.c
  src/crypto/cipher_extra/e_null.c
  src/crypto/cipher_extra/e_rc2.c
  src/crypto/cipher_extra/e_rc4.c
  src/crypto/cipher_extra/e_tls.c
  src/crypto/cipher_extra/tls_cbc.c
  src/crypto/conf/conf.c
  src/crypto/cpu_aarch64_apple.c
  src/crypto/cpu_aarch64_fuchsia.c
  src/crypto/cpu_aarch64_linux.c
  src/crypto/cpu_aarch64_win.c
  src/crypto/cpu_arm.c
  src/crypto/cpu_arm_linux.c
  src/crypto/cpu_intel.c
  src/crypto/cpu_ppc64le.c
  src/crypto/crypto.c
  src/crypto/curve25519/curve25519.c
  src/crypto/curve25519/spake25519.c
  src/crypto/des/des.c
  src/crypto/dh_extra/dh_asn1.c
  src/crypto/dh_extra/params.c
  src/crypto/digest_extra/digest_extra.c
  src/crypto/dsa/dsa.c
  src/crypto/dsa/dsa_asn1.c
  src/crypto/ec_extra/ec_asn1.c
  src/crypto/ec_extra/ec_derive.c
  src/crypto/ec_extra/hash_to_curve.c
  src/crypto/ecdh_extra/ecdh_extra.c
  src/crypto/ecdsa_extra/ecdsa_asn1.c
  src/crypto/engine/engine.c
  src/crypto/err/err.c
  src/crypto/evp/evp.c
  src/crypto/evp/evp_asn1.c
  src/crypto/evp/evp_ctx.c
  src/crypto/evp/p_dsa_asn1.c
  src/crypto/evp/p_ec.c
  src/crypto/evp/p_ec_asn1.c
  src/crypto/evp/p_ed25519.c
  src/crypto/evp/p_ed25519_asn1.c
  src/crypto/evp/p_hkdf.c
  src/crypto/evp/p_rsa.c
  src/crypto/evp/p_rsa_asn1.c
  src/crypto/evp/p_x25519.c
  src/crypto/evp/p_x25519_asn1.c
  src/crypto/evp/pbkdf.c
  src/crypto/evp/print.c
  src/crypto/evp/scrypt.c
  src/crypto/evp/sign.c
  src/crypto/ex_data.c
  src/crypto/fipsmodule/bcm.c
  src/crypto/fipsmodule/fips_shared_support.c
  src/crypto/hkdf/hkdf.c
  src/crypto/hpke/hpke.c
  src/crypto/hrss/hrss.c
  src/crypto/lhash/lhash.c
  src/crypto/mem.c
  src/crypto/obj/obj.c
  src/crypto/obj/obj_xref.c
  src/crypto/pem/pem_all.c
  src/crypto/pem/pem_info.c
  src/crypto/pem/pem_lib.c
  src/crypto/pem/pem_oth.c
  src/crypto/pem/pem_pk8.c
  src/crypto/pem/pem_pkey.c
  src/crypto/pem/pem_x509.c
  src/crypto/pem/pem_xaux.c
  src/crypto/pkcs7/pkcs7.c
  src/crypto/pkcs7/pkcs7_x509.c
  src/crypto/pkcs8/p5_pbev2.c
  src/crypto/pkcs8/pkcs8.c
  src/crypto/pkcs8/pkcs8_x509.c
  src/crypto/poly1305/poly1305.c
  src/crypto/poly1305/poly1305_arm.c
  src/crypto/poly1305/poly1305_vec.c
  src/crypto/pool/pool.c
  src/crypto/rand_extra/deterministic.c
  src/crypto/rand_extra/forkunsafe.c
  src/crypto/rand_extra/fuchsia.c
  src/crypto/rand_extra/passive.c
  src/crypto/rand_extra/rand_extra.c
  src/crypto/rand_extra/windows.c
  src/crypto/rc4/rc4.c
  src/crypto/refcount_c11.c
  src/crypto/refcount_lock.c
  src/crypto/rsa_extra/rsa_asn1.c
  src/crypto/rsa_extra/rsa_print.c
  src/crypto/siphash/siphash.c
  src/crypto/stack/stack.c
  src/crypto/thread.c
  src/crypto/thread_none.c
  src/crypto/thread_pthread.c
  src/crypto/thread_win.c
  src/crypto/trust_token/pmbtoken.c
  src/crypto/trust_token/trust_token.c
  src/crypto/trust_token/voprf.c
  src/crypto/x509/a_digest.c
  src/crypto/x509/a_sign.c
  src/crypto/x509/a_verify.c
  src/crypto/x509/algorithm.c
  src/crypto/x509/asn1_gen.c
  src/crypto/x509/by_dir.c
  src/crypto/x509/by_file.c
  src/crypto/x509/i2d_pr.c
  src/crypto/x509/name_print.c
  src/crypto/x509/rsa_pss.c
  src/crypto/x509/t_crl.c
  src/crypto/x509/t_req.c
  src/crypto/x509/t_x509.c
  src/crypto/x509/t_x509a.c
  src/crypto/x509/x509.c
  src/crypto/x509/x509_att.c
  src/crypto/x509/x509_cmp.c
  src/crypto/x509/x509_d2.c
  src/crypto/x509/x509_def.c
  src/crypto/x509/x509_ext.c
  src/crypto/x509/x509_lu.c
  src/crypto/x509/x509_obj.c
  src/crypto/x509/x509_req.c
  src/crypto/x509/x509_set.c
  src/crypto/x509/x509_trs.c
  src/crypto/x509/x509_txt.c
  src/crypto/x509/x509_v3.c
  src/crypto/x509/x509_vfy.c
  src/crypto/x509/x509_vpm.c
  src/crypto/x509/x509cset.c
  src/crypto/x509/x509name.c
  src/crypto/x509/x509rset.c
  src/crypto/x509/x509spki.c
  src/crypto/x509/x_algor.c
  src/crypto/x509/x_all.c
  src/crypto/x509/x_attrib.c
  src/crypto/x509/x_crl.c
  src/crypto/x509/x_exten.c
  src/crypto/x509/x_info.c
  src/crypto/x509/x_name.c
  src/crypto/x509/x_pkey.c
  src/crypto/x509/x_pubkey.c
  src/crypto/x509/x_req.c
  src/crypto/x509/x_sig.c
  src/crypto/x509/x_spki.c
  src/crypto/x509/x_val.c
  src/crypto/x509/x_x509.c
  src/crypto/x509/x_x509a.c
  src/crypto/x509v3/pcy_cache.c
  src/crypto/x509v3/pcy_data.c
  src/crypto/x509v3/pcy_map.c
  src/crypto/x509v3/pcy_node.c
  src/crypto/x509v3/pcy_tree.c
  src/crypto/x509v3/v3_akey.c
  src/crypto/x509v3/v3_akeya.c
  src/crypto/x509v3/v3_alt.c
  src/crypto/x509v3/v3_bcons.c
  src/crypto/x509v3/v3_bitst.c
  src/crypto/x509v3/v3_conf.c
  src/crypto/x509v3/v3_cpols.c
  src/crypto/x509v3/v3_crld.c
  src/crypto/x509v3/v3_enum.c
  src/crypto/x509v3/v3_extku.c
  src/crypto/x509v3/v3_genn.c
  src/crypto/x509v3/v3_ia5.c
  src/crypto/x509v3/v3_info.c
  src/crypto/x509v3/v3_int.c
  src/crypto/x509v3/v3_lib.c
  src/crypto/x509v3/v3_ncons.c
  src/crypto/x509v3/v3_ocsp.c
  src/crypto/x509v3/v3_pci.c
  src/crypto/x509v3/v3_pcia.c
  src/crypto/x509v3/v3_pcons.c
  src/crypto/x509v3/v3_pmaps.c
  src/crypto/x509v3/v3_prn.c
  src/crypto/x509v3/v3_purp.c
  src/crypto/x509v3/v3_skey.c
  src/crypto/x509v3/v3_utl.c
)

add_library(
  ssl

  src/ssl/bio_ssl.cc
  src/ssl/d1_both.cc
  src/ssl/d1_lib.cc
  src/ssl/d1_pkt.cc
  src/ssl/d1_srtp.cc
  src/ssl/dtls_method.cc
  src/ssl/dtls_record.cc
  src/ssl/encrypted_client_hello.cc
  src/ssl/extensions.cc
  src/ssl/handoff.cc
  src/ssl/handshake.cc
  src/ssl/handshake_client.cc
  src/ssl/handshake_server.cc
  src/ssl/s3_both.cc
  src/ssl/s3_lib.cc
  src/ssl/s3_pkt.cc
  src/ssl/ssl_aead_ctx.cc
  src/ssl/ssl_asn1.cc
  src/ssl/ssl_buffer.cc
  src/ssl/ssl_cert.cc
  src/ssl/ssl_cipher.cc
  src/ssl/ssl_file.cc
  src/ssl/ssl_key_share.cc
  src/ssl/ssl_lib.cc
  src/ssl/ssl_privkey.cc
  src/ssl/ssl_session.cc
  src/ssl/ssl_stat.cc
  src/ssl/ssl_transcript.cc
  src/ssl/ssl_versions.cc
  src/ssl/ssl_x509.cc
  src/ssl/t1_enc.cc
  src/ssl/tls13_both.cc
  src/ssl/tls13_client.cc
  src/ssl/tls13_enc.cc
  src/ssl/tls13_server.cc
  src/ssl/tls_method.cc
  src/ssl/tls_record.cc
)

add_executable(
  bssl

  src/tool/args.cc
  src/tool/ciphers.cc
  src/tool/client.cc
  src/tool/const.cc
  src/tool/digest.cc
  src/tool/fd.cc
  src/tool/file.cc
  src/tool/generate_ech.cc
  src/tool/generate_ed25519.cc
  src/tool/genrsa.cc
  src/tool/pkcs12.cc
  src/tool/rand.cc
  src/tool/server.cc
  src/tool/sign.cc
  src/tool/speed.cc
  src/tool/tool.cc
  src/tool/transport_common.cc
)

target_link_libraries(bssl ssl crypto)

if(NOT WIN32 AND NOT ANDROID)
  target_link_libraries(crypto pthread)
endif()

if(WIN32)
  target_link_libraries(bssl ws2_32)
endif()

