1# Copyright (c) 2019 The Chromium Authors. All rights reserved. 2# Use of this source code is governed by a BSD-style license that can be 3# found in the LICENSE file. 4 5# This file is created by generate_build_files.py. Do not edit manually. 6 7cmake_minimum_required(VERSION 3.0) 8 9project(BoringSSL LANGUAGES C CXX) 10 11if(CMAKE_CXX_COMPILER_ID MATCHES "Clang") 12 set(CLANG 1) 13endif() 14 15if(CMAKE_COMPILER_IS_GNUCXX OR CLANG) 16 set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11 -fvisibility=hidden -fno-common -fno-exceptions -fno-rtti") 17 if(APPLE) 18 set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -stdlib=libc++") 19 endif() 20 21 set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fvisibility=hidden -fno-common") 22 if((CMAKE_C_COMPILER_VERSION VERSION_GREATER "4.8.99") OR CLANG) 23 set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -std=c11") 24 else() 25 set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -std=c99") 26 endif() 27endif() 28 29# pthread_rwlock_t requires a feature flag. 30if(NOT WIN32) 31 set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -D_XOPEN_SOURCE=700") 32endif() 33 34if(WIN32) 35 add_definitions(-D_HAS_EXCEPTIONS=0) 36 add_definitions(-DWIN32_LEAN_AND_MEAN) 37 add_definitions(-DNOMINMAX) 38 # Allow use of fopen. 39 add_definitions(-D_CRT_SECURE_NO_WARNINGS) 40 # VS 2017 and higher supports STL-only warning suppressions. 41 # A bug in CMake < 3.13.0 may cause the space in this value to 42 # cause issues when building with NASM. In that case, update CMake. 43 add_definitions("-D_STL_EXTRA_DISABLED_WARNINGS=4774 4987") 44endif() 45 46add_definitions(-DBORINGSSL_IMPLEMENTATION) 47 48# CMake's iOS support uses Apple's multiple-architecture toolchain. It takes an 49# architecture list from CMAKE_OSX_ARCHITECTURES, leaves CMAKE_SYSTEM_PROCESSOR 50# alone, and expects all architecture-specific logic to be conditioned within 51# the source files rather than the build. This does not work for our assembly 52# files, so we fix CMAKE_SYSTEM_PROCESSOR and only support single-architecture 53# builds. 54if(NOT OPENSSL_NO_ASM AND CMAKE_OSX_ARCHITECTURES) 55 list(LENGTH CMAKE_OSX_ARCHITECTURES NUM_ARCHES) 56 if(NOT ${NUM_ARCHES} EQUAL 1) 57 message(FATAL_ERROR "Universal binaries not supported.") 58 endif() 59 list(GET CMAKE_OSX_ARCHITECTURES 0 CMAKE_SYSTEM_PROCESSOR) 60endif() 61 62if(OPENSSL_NO_ASM) 63 add_definitions(-DOPENSSL_NO_ASM) 64 set(ARCH "generic") 65elseif(${CMAKE_SYSTEM_PROCESSOR} STREQUAL "x86_64") 66 set(ARCH "x86_64") 67elseif(${CMAKE_SYSTEM_PROCESSOR} STREQUAL "amd64") 68 set(ARCH "x86_64") 69elseif(${CMAKE_SYSTEM_PROCESSOR} STREQUAL "AMD64") 70 # cmake reports AMD64 on Windows, but we might be building for 32-bit. 71 if(CMAKE_SIZEOF_VOID_P EQUAL 8) 72 set(ARCH "x86_64") 73 else() 74 set(ARCH "x86") 75 endif() 76elseif(${CMAKE_SYSTEM_PROCESSOR} STREQUAL "x86") 77 set(ARCH "x86") 78elseif(${CMAKE_SYSTEM_PROCESSOR} STREQUAL "i386") 79 set(ARCH "x86") 80elseif(${CMAKE_SYSTEM_PROCESSOR} STREQUAL "i686") 81 set(ARCH "x86") 82elseif(${CMAKE_SYSTEM_PROCESSOR} STREQUAL "aarch64") 83 set(ARCH "aarch64") 84elseif(${CMAKE_SYSTEM_PROCESSOR} STREQUAL "arm64") 85 set(ARCH "aarch64") 86# Apple A12 Bionic chipset which is added in iPhone XS/XS Max/XR uses arm64e architecture. 87elseif(${CMAKE_SYSTEM_PROCESSOR} STREQUAL "arm64e") 88 set(ARCH "aarch64") 89elseif(${CMAKE_SYSTEM_PROCESSOR} MATCHES "^arm*") 90 set(ARCH "arm") 91elseif(${CMAKE_SYSTEM_PROCESSOR} STREQUAL "mips") 92 # Just to avoid the “unknown processor” error. 93 set(ARCH "generic") 94elseif(${CMAKE_SYSTEM_PROCESSOR} STREQUAL "ppc64le") 95 set(ARCH "ppc64le") 96else() 97 message(FATAL_ERROR "Unknown processor:" ${CMAKE_SYSTEM_PROCESSOR}) 98endif() 99 100if(NOT OPENSSL_NO_ASM) 101 if(UNIX) 102 enable_language(ASM) 103 104 # Clang's integerated assembler does not support debug symbols. 105 if(NOT CMAKE_ASM_COMPILER_ID MATCHES "Clang") 106 set(CMAKE_ASM_FLAGS "${CMAKE_ASM_FLAGS} -Wa,-g") 107 endif() 108 109 # CMake does not add -isysroot and -arch flags to assembly. 110 if(APPLE) 111 if(CMAKE_OSX_SYSROOT) 112 set(CMAKE_ASM_FLAGS "${CMAKE_ASM_FLAGS} -isysroot \"${CMAKE_OSX_SYSROOT}\"") 113 endif() 114 foreach(arch ${CMAKE_OSX_ARCHITECTURES}) 115 set(CMAKE_ASM_FLAGS "${CMAKE_ASM_FLAGS} -arch ${arch}") 116 endforeach() 117 endif() 118 else() 119 set(CMAKE_ASM_NASM_FLAGS "${CMAKE_ASM_NASM_FLAGS} -gcv8") 120 enable_language(ASM_NASM) 121 endif() 122endif() 123 124if(BUILD_SHARED_LIBS) 125 add_definitions(-DBORINGSSL_SHARED_LIBRARY) 126 # Enable position-independent code globally. This is needed because 127 # some library targets are OBJECT libraries. 128 set(CMAKE_POSITION_INDEPENDENT_CODE TRUE) 129endif() 130 131include_directories(src/include) 132 133set( 134 CRYPTO_ios_aarch64_SOURCES 135 136 ios-aarch64/crypto/chacha/chacha-armv8.S 137 ios-aarch64/crypto/fipsmodule/aesv8-armx64.S 138 ios-aarch64/crypto/fipsmodule/armv8-mont.S 139 ios-aarch64/crypto/fipsmodule/ghash-neon-armv8.S 140 ios-aarch64/crypto/fipsmodule/ghashv8-armx64.S 141 ios-aarch64/crypto/fipsmodule/sha1-armv8.S 142 ios-aarch64/crypto/fipsmodule/sha256-armv8.S 143 ios-aarch64/crypto/fipsmodule/sha512-armv8.S 144 ios-aarch64/crypto/fipsmodule/vpaes-armv8.S 145 ios-aarch64/crypto/test/trampoline-armv8.S 146) 147 148set( 149 CRYPTO_ios_arm_SOURCES 150 151 ios-arm/crypto/chacha/chacha-armv4.S 152 ios-arm/crypto/fipsmodule/aesv8-armx32.S 153 ios-arm/crypto/fipsmodule/armv4-mont.S 154 ios-arm/crypto/fipsmodule/bsaes-armv7.S 155 ios-arm/crypto/fipsmodule/ghash-armv4.S 156 ios-arm/crypto/fipsmodule/ghashv8-armx32.S 157 ios-arm/crypto/fipsmodule/sha1-armv4-large.S 158 ios-arm/crypto/fipsmodule/sha256-armv4.S 159 ios-arm/crypto/fipsmodule/sha512-armv4.S 160 ios-arm/crypto/fipsmodule/vpaes-armv7.S 161 ios-arm/crypto/test/trampoline-armv4.S 162) 163 164set( 165 CRYPTO_linux_aarch64_SOURCES 166 167 linux-aarch64/crypto/chacha/chacha-armv8.S 168 linux-aarch64/crypto/fipsmodule/aesv8-armx64.S 169 linux-aarch64/crypto/fipsmodule/armv8-mont.S 170 linux-aarch64/crypto/fipsmodule/ghash-neon-armv8.S 171 linux-aarch64/crypto/fipsmodule/ghashv8-armx64.S 172 linux-aarch64/crypto/fipsmodule/sha1-armv8.S 173 linux-aarch64/crypto/fipsmodule/sha256-armv8.S 174 linux-aarch64/crypto/fipsmodule/sha512-armv8.S 175 linux-aarch64/crypto/fipsmodule/vpaes-armv8.S 176 linux-aarch64/crypto/test/trampoline-armv8.S 177) 178 179set( 180 CRYPTO_linux_arm_SOURCES 181 182 linux-arm/crypto/chacha/chacha-armv4.S 183 linux-arm/crypto/fipsmodule/aesv8-armx32.S 184 linux-arm/crypto/fipsmodule/armv4-mont.S 185 linux-arm/crypto/fipsmodule/bsaes-armv7.S 186 linux-arm/crypto/fipsmodule/ghash-armv4.S 187 linux-arm/crypto/fipsmodule/ghashv8-armx32.S 188 linux-arm/crypto/fipsmodule/sha1-armv4-large.S 189 linux-arm/crypto/fipsmodule/sha256-armv4.S 190 linux-arm/crypto/fipsmodule/sha512-armv4.S 191 linux-arm/crypto/fipsmodule/vpaes-armv7.S 192 linux-arm/crypto/test/trampoline-armv4.S 193 src/crypto/curve25519/asm/x25519-asm-arm.S 194 src/crypto/poly1305/poly1305_arm_asm.S 195) 196 197set( 198 CRYPTO_linux_ppc64le_SOURCES 199 200 linux-ppc64le/crypto/fipsmodule/aesp8-ppc.S 201 linux-ppc64le/crypto/fipsmodule/ghashp8-ppc.S 202 linux-ppc64le/crypto/test/trampoline-ppc.S 203) 204 205set( 206 CRYPTO_linux_x86_SOURCES 207 208 linux-x86/crypto/chacha/chacha-x86.S 209 linux-x86/crypto/fipsmodule/aesni-x86.S 210 linux-x86/crypto/fipsmodule/bn-586.S 211 linux-x86/crypto/fipsmodule/co-586.S 212 linux-x86/crypto/fipsmodule/ghash-ssse3-x86.S 213 linux-x86/crypto/fipsmodule/ghash-x86.S 214 linux-x86/crypto/fipsmodule/md5-586.S 215 linux-x86/crypto/fipsmodule/sha1-586.S 216 linux-x86/crypto/fipsmodule/sha256-586.S 217 linux-x86/crypto/fipsmodule/sha512-586.S 218 linux-x86/crypto/fipsmodule/vpaes-x86.S 219 linux-x86/crypto/fipsmodule/x86-mont.S 220 linux-x86/crypto/test/trampoline-x86.S 221) 222 223set( 224 CRYPTO_linux_x86_64_SOURCES 225 226 linux-x86_64/crypto/chacha/chacha-x86_64.S 227 linux-x86_64/crypto/cipher_extra/aes128gcmsiv-x86_64.S 228 linux-x86_64/crypto/cipher_extra/chacha20_poly1305_x86_64.S 229 linux-x86_64/crypto/fipsmodule/aesni-gcm-x86_64.S 230 linux-x86_64/crypto/fipsmodule/aesni-x86_64.S 231 linux-x86_64/crypto/fipsmodule/ghash-ssse3-x86_64.S 232 linux-x86_64/crypto/fipsmodule/ghash-x86_64.S 233 linux-x86_64/crypto/fipsmodule/md5-x86_64.S 234 linux-x86_64/crypto/fipsmodule/p256-x86_64-asm.S 235 linux-x86_64/crypto/fipsmodule/p256_beeu-x86_64-asm.S 236 linux-x86_64/crypto/fipsmodule/rdrand-x86_64.S 237 linux-x86_64/crypto/fipsmodule/rsaz-avx2.S 238 linux-x86_64/crypto/fipsmodule/sha1-x86_64.S 239 linux-x86_64/crypto/fipsmodule/sha256-x86_64.S 240 linux-x86_64/crypto/fipsmodule/sha512-x86_64.S 241 linux-x86_64/crypto/fipsmodule/vpaes-x86_64.S 242 linux-x86_64/crypto/fipsmodule/x86_64-mont.S 243 linux-x86_64/crypto/fipsmodule/x86_64-mont5.S 244 linux-x86_64/crypto/test/trampoline-x86_64.S 245 src/crypto/hrss/asm/poly_rq_mul.S 246) 247 248set( 249 CRYPTO_mac_x86_SOURCES 250 251 mac-x86/crypto/chacha/chacha-x86.S 252 mac-x86/crypto/fipsmodule/aesni-x86.S 253 mac-x86/crypto/fipsmodule/bn-586.S 254 mac-x86/crypto/fipsmodule/co-586.S 255 mac-x86/crypto/fipsmodule/ghash-ssse3-x86.S 256 mac-x86/crypto/fipsmodule/ghash-x86.S 257 mac-x86/crypto/fipsmodule/md5-586.S 258 mac-x86/crypto/fipsmodule/sha1-586.S 259 mac-x86/crypto/fipsmodule/sha256-586.S 260 mac-x86/crypto/fipsmodule/sha512-586.S 261 mac-x86/crypto/fipsmodule/vpaes-x86.S 262 mac-x86/crypto/fipsmodule/x86-mont.S 263 mac-x86/crypto/test/trampoline-x86.S 264) 265 266set( 267 CRYPTO_mac_x86_64_SOURCES 268 269 mac-x86_64/crypto/chacha/chacha-x86_64.S 270 mac-x86_64/crypto/cipher_extra/aes128gcmsiv-x86_64.S 271 mac-x86_64/crypto/cipher_extra/chacha20_poly1305_x86_64.S 272 mac-x86_64/crypto/fipsmodule/aesni-gcm-x86_64.S 273 mac-x86_64/crypto/fipsmodule/aesni-x86_64.S 274 mac-x86_64/crypto/fipsmodule/ghash-ssse3-x86_64.S 275 mac-x86_64/crypto/fipsmodule/ghash-x86_64.S 276 mac-x86_64/crypto/fipsmodule/md5-x86_64.S 277 mac-x86_64/crypto/fipsmodule/p256-x86_64-asm.S 278 mac-x86_64/crypto/fipsmodule/p256_beeu-x86_64-asm.S 279 mac-x86_64/crypto/fipsmodule/rdrand-x86_64.S 280 mac-x86_64/crypto/fipsmodule/rsaz-avx2.S 281 mac-x86_64/crypto/fipsmodule/sha1-x86_64.S 282 mac-x86_64/crypto/fipsmodule/sha256-x86_64.S 283 mac-x86_64/crypto/fipsmodule/sha512-x86_64.S 284 mac-x86_64/crypto/fipsmodule/vpaes-x86_64.S 285 mac-x86_64/crypto/fipsmodule/x86_64-mont.S 286 mac-x86_64/crypto/fipsmodule/x86_64-mont5.S 287 mac-x86_64/crypto/test/trampoline-x86_64.S 288) 289 290set( 291 CRYPTO_win_x86_SOURCES 292 293 win-x86/crypto/chacha/chacha-x86.asm 294 win-x86/crypto/fipsmodule/aesni-x86.asm 295 win-x86/crypto/fipsmodule/bn-586.asm 296 win-x86/crypto/fipsmodule/co-586.asm 297 win-x86/crypto/fipsmodule/ghash-ssse3-x86.asm 298 win-x86/crypto/fipsmodule/ghash-x86.asm 299 win-x86/crypto/fipsmodule/md5-586.asm 300 win-x86/crypto/fipsmodule/sha1-586.asm 301 win-x86/crypto/fipsmodule/sha256-586.asm 302 win-x86/crypto/fipsmodule/sha512-586.asm 303 win-x86/crypto/fipsmodule/vpaes-x86.asm 304 win-x86/crypto/fipsmodule/x86-mont.asm 305 win-x86/crypto/test/trampoline-x86.asm 306) 307 308set( 309 CRYPTO_win_x86_64_SOURCES 310 311 win-x86_64/crypto/chacha/chacha-x86_64.asm 312 win-x86_64/crypto/cipher_extra/aes128gcmsiv-x86_64.asm 313 win-x86_64/crypto/cipher_extra/chacha20_poly1305_x86_64.asm 314 win-x86_64/crypto/fipsmodule/aesni-gcm-x86_64.asm 315 win-x86_64/crypto/fipsmodule/aesni-x86_64.asm 316 win-x86_64/crypto/fipsmodule/ghash-ssse3-x86_64.asm 317 win-x86_64/crypto/fipsmodule/ghash-x86_64.asm 318 win-x86_64/crypto/fipsmodule/md5-x86_64.asm 319 win-x86_64/crypto/fipsmodule/p256-x86_64-asm.asm 320 win-x86_64/crypto/fipsmodule/p256_beeu-x86_64-asm.asm 321 win-x86_64/crypto/fipsmodule/rdrand-x86_64.asm 322 win-x86_64/crypto/fipsmodule/rsaz-avx2.asm 323 win-x86_64/crypto/fipsmodule/sha1-x86_64.asm 324 win-x86_64/crypto/fipsmodule/sha256-x86_64.asm 325 win-x86_64/crypto/fipsmodule/sha512-x86_64.asm 326 win-x86_64/crypto/fipsmodule/vpaes-x86_64.asm 327 win-x86_64/crypto/fipsmodule/x86_64-mont.asm 328 win-x86_64/crypto/fipsmodule/x86_64-mont5.asm 329 win-x86_64/crypto/test/trampoline-x86_64.asm 330) 331 332if(APPLE AND ${ARCH} STREQUAL "aarch64") 333 set(CRYPTO_ARCH_SOURCES ${CRYPTO_ios_aarch64_SOURCES}) 334elseif(APPLE AND ${ARCH} STREQUAL "arm") 335 set(CRYPTO_ARCH_SOURCES ${CRYPTO_ios_arm_SOURCES}) 336elseif(APPLE) 337 set(CRYPTO_ARCH_SOURCES ${CRYPTO_mac_${ARCH}_SOURCES}) 338elseif(UNIX) 339 set(CRYPTO_ARCH_SOURCES ${CRYPTO_linux_${ARCH}_SOURCES}) 340elseif(WIN32) 341 set(CRYPTO_ARCH_SOURCES ${CRYPTO_win_${ARCH}_SOURCES}) 342endif() 343 344add_library( 345 crypto 346 347 ${CRYPTO_ARCH_SOURCES} 348 err_data.c 349 src/crypto/asn1/a_bitstr.c 350 src/crypto/asn1/a_bool.c 351 src/crypto/asn1/a_d2i_fp.c 352 src/crypto/asn1/a_dup.c 353 src/crypto/asn1/a_enum.c 354 src/crypto/asn1/a_gentm.c 355 src/crypto/asn1/a_i2d_fp.c 356 src/crypto/asn1/a_int.c 357 src/crypto/asn1/a_mbstr.c 358 src/crypto/asn1/a_object.c 359 src/crypto/asn1/a_octet.c 360 src/crypto/asn1/a_print.c 361 src/crypto/asn1/a_strnid.c 362 src/crypto/asn1/a_time.c 363 src/crypto/asn1/a_type.c 364 src/crypto/asn1/a_utctm.c 365 src/crypto/asn1/a_utf8.c 366 src/crypto/asn1/asn1_lib.c 367 src/crypto/asn1/asn1_par.c 368 src/crypto/asn1/asn_pack.c 369 src/crypto/asn1/f_enum.c 370 src/crypto/asn1/f_int.c 371 src/crypto/asn1/f_string.c 372 src/crypto/asn1/tasn_dec.c 373 src/crypto/asn1/tasn_enc.c 374 src/crypto/asn1/tasn_fre.c 375 src/crypto/asn1/tasn_new.c 376 src/crypto/asn1/tasn_typ.c 377 src/crypto/asn1/tasn_utl.c 378 src/crypto/asn1/time_support.c 379 src/crypto/base64/base64.c 380 src/crypto/bio/bio.c 381 src/crypto/bio/bio_mem.c 382 src/crypto/bio/connect.c 383 src/crypto/bio/fd.c 384 src/crypto/bio/file.c 385 src/crypto/bio/hexdump.c 386 src/crypto/bio/pair.c 387 src/crypto/bio/printf.c 388 src/crypto/bio/socket.c 389 src/crypto/bio/socket_helper.c 390 src/crypto/bn_extra/bn_asn1.c 391 src/crypto/bn_extra/convert.c 392 src/crypto/buf/buf.c 393 src/crypto/bytestring/asn1_compat.c 394 src/crypto/bytestring/ber.c 395 src/crypto/bytestring/cbb.c 396 src/crypto/bytestring/cbs.c 397 src/crypto/bytestring/unicode.c 398 src/crypto/chacha/chacha.c 399 src/crypto/cipher_extra/cipher_extra.c 400 src/crypto/cipher_extra/derive_key.c 401 src/crypto/cipher_extra/e_aesccm.c 402 src/crypto/cipher_extra/e_aesctrhmac.c 403 src/crypto/cipher_extra/e_aesgcmsiv.c 404 src/crypto/cipher_extra/e_chacha20poly1305.c 405 src/crypto/cipher_extra/e_null.c 406 src/crypto/cipher_extra/e_rc2.c 407 src/crypto/cipher_extra/e_rc4.c 408 src/crypto/cipher_extra/e_tls.c 409 src/crypto/cipher_extra/tls_cbc.c 410 src/crypto/cmac/cmac.c 411 src/crypto/conf/conf.c 412 src/crypto/cpu-aarch64-fuchsia.c 413 src/crypto/cpu-aarch64-linux.c 414 src/crypto/cpu-arm-linux.c 415 src/crypto/cpu-arm.c 416 src/crypto/cpu-intel.c 417 src/crypto/cpu-ppc64le.c 418 src/crypto/crypto.c 419 src/crypto/curve25519/curve25519.c 420 src/crypto/curve25519/spake25519.c 421 src/crypto/dh/check.c 422 src/crypto/dh/dh.c 423 src/crypto/dh/dh_asn1.c 424 src/crypto/dh/params.c 425 src/crypto/digest_extra/digest_extra.c 426 src/crypto/dsa/dsa.c 427 src/crypto/dsa/dsa_asn1.c 428 src/crypto/ec_extra/ec_asn1.c 429 src/crypto/ec_extra/ec_derive.c 430 src/crypto/ec_extra/hash_to_curve.c 431 src/crypto/ecdh_extra/ecdh_extra.c 432 src/crypto/ecdsa_extra/ecdsa_asn1.c 433 src/crypto/engine/engine.c 434 src/crypto/err/err.c 435 src/crypto/evp/digestsign.c 436 src/crypto/evp/evp.c 437 src/crypto/evp/evp_asn1.c 438 src/crypto/evp/evp_ctx.c 439 src/crypto/evp/p_dsa_asn1.c 440 src/crypto/evp/p_ec.c 441 src/crypto/evp/p_ec_asn1.c 442 src/crypto/evp/p_ed25519.c 443 src/crypto/evp/p_ed25519_asn1.c 444 src/crypto/evp/p_rsa.c 445 src/crypto/evp/p_rsa_asn1.c 446 src/crypto/evp/p_x25519.c 447 src/crypto/evp/p_x25519_asn1.c 448 src/crypto/evp/pbkdf.c 449 src/crypto/evp/print.c 450 src/crypto/evp/scrypt.c 451 src/crypto/evp/sign.c 452 src/crypto/ex_data.c 453 src/crypto/fipsmodule/bcm.c 454 src/crypto/fipsmodule/fips_shared_support.c 455 src/crypto/fipsmodule/is_fips.c 456 src/crypto/hkdf/hkdf.c 457 src/crypto/hrss/hrss.c 458 src/crypto/lhash/lhash.c 459 src/crypto/mem.c 460 src/crypto/obj/obj.c 461 src/crypto/obj/obj_xref.c 462 src/crypto/pem/pem_all.c 463 src/crypto/pem/pem_info.c 464 src/crypto/pem/pem_lib.c 465 src/crypto/pem/pem_oth.c 466 src/crypto/pem/pem_pk8.c 467 src/crypto/pem/pem_pkey.c 468 src/crypto/pem/pem_x509.c 469 src/crypto/pem/pem_xaux.c 470 src/crypto/pkcs7/pkcs7.c 471 src/crypto/pkcs7/pkcs7_x509.c 472 src/crypto/pkcs8/p5_pbev2.c 473 src/crypto/pkcs8/pkcs8.c 474 src/crypto/pkcs8/pkcs8_x509.c 475 src/crypto/poly1305/poly1305.c 476 src/crypto/poly1305/poly1305_arm.c 477 src/crypto/poly1305/poly1305_vec.c 478 src/crypto/pool/pool.c 479 src/crypto/rand_extra/deterministic.c 480 src/crypto/rand_extra/forkunsafe.c 481 src/crypto/rand_extra/fuchsia.c 482 src/crypto/rand_extra/rand_extra.c 483 src/crypto/rand_extra/windows.c 484 src/crypto/rc4/rc4.c 485 src/crypto/refcount_c11.c 486 src/crypto/refcount_lock.c 487 src/crypto/rsa_extra/rsa_asn1.c 488 src/crypto/rsa_extra/rsa_print.c 489 src/crypto/siphash/siphash.c 490 src/crypto/stack/stack.c 491 src/crypto/thread.c 492 src/crypto/thread_none.c 493 src/crypto/thread_pthread.c 494 src/crypto/thread_win.c 495 src/crypto/trust_token/pmbtoken.c 496 src/crypto/trust_token/trust_token.c 497 src/crypto/x509/a_digest.c 498 src/crypto/x509/a_sign.c 499 src/crypto/x509/a_strex.c 500 src/crypto/x509/a_verify.c 501 src/crypto/x509/algorithm.c 502 src/crypto/x509/asn1_gen.c 503 src/crypto/x509/by_dir.c 504 src/crypto/x509/by_file.c 505 src/crypto/x509/i2d_pr.c 506 src/crypto/x509/rsa_pss.c 507 src/crypto/x509/t_crl.c 508 src/crypto/x509/t_req.c 509 src/crypto/x509/t_x509.c 510 src/crypto/x509/t_x509a.c 511 src/crypto/x509/x509.c 512 src/crypto/x509/x509_att.c 513 src/crypto/x509/x509_cmp.c 514 src/crypto/x509/x509_d2.c 515 src/crypto/x509/x509_def.c 516 src/crypto/x509/x509_ext.c 517 src/crypto/x509/x509_lu.c 518 src/crypto/x509/x509_obj.c 519 src/crypto/x509/x509_r2x.c 520 src/crypto/x509/x509_req.c 521 src/crypto/x509/x509_set.c 522 src/crypto/x509/x509_trs.c 523 src/crypto/x509/x509_txt.c 524 src/crypto/x509/x509_v3.c 525 src/crypto/x509/x509_vfy.c 526 src/crypto/x509/x509_vpm.c 527 src/crypto/x509/x509cset.c 528 src/crypto/x509/x509name.c 529 src/crypto/x509/x509rset.c 530 src/crypto/x509/x509spki.c 531 src/crypto/x509/x_algor.c 532 src/crypto/x509/x_all.c 533 src/crypto/x509/x_attrib.c 534 src/crypto/x509/x_crl.c 535 src/crypto/x509/x_exten.c 536 src/crypto/x509/x_info.c 537 src/crypto/x509/x_name.c 538 src/crypto/x509/x_pkey.c 539 src/crypto/x509/x_pubkey.c 540 src/crypto/x509/x_req.c 541 src/crypto/x509/x_sig.c 542 src/crypto/x509/x_spki.c 543 src/crypto/x509/x_val.c 544 src/crypto/x509/x_x509.c 545 src/crypto/x509/x_x509a.c 546 src/crypto/x509v3/pcy_cache.c 547 src/crypto/x509v3/pcy_data.c 548 src/crypto/x509v3/pcy_lib.c 549 src/crypto/x509v3/pcy_map.c 550 src/crypto/x509v3/pcy_node.c 551 src/crypto/x509v3/pcy_tree.c 552 src/crypto/x509v3/v3_akey.c 553 src/crypto/x509v3/v3_akeya.c 554 src/crypto/x509v3/v3_alt.c 555 src/crypto/x509v3/v3_bcons.c 556 src/crypto/x509v3/v3_bitst.c 557 src/crypto/x509v3/v3_conf.c 558 src/crypto/x509v3/v3_cpols.c 559 src/crypto/x509v3/v3_crld.c 560 src/crypto/x509v3/v3_enum.c 561 src/crypto/x509v3/v3_extku.c 562 src/crypto/x509v3/v3_genn.c 563 src/crypto/x509v3/v3_ia5.c 564 src/crypto/x509v3/v3_info.c 565 src/crypto/x509v3/v3_int.c 566 src/crypto/x509v3/v3_lib.c 567 src/crypto/x509v3/v3_ncons.c 568 src/crypto/x509v3/v3_ocsp.c 569 src/crypto/x509v3/v3_pci.c 570 src/crypto/x509v3/v3_pcia.c 571 src/crypto/x509v3/v3_pcons.c 572 src/crypto/x509v3/v3_pku.c 573 src/crypto/x509v3/v3_pmaps.c 574 src/crypto/x509v3/v3_prn.c 575 src/crypto/x509v3/v3_purp.c 576 src/crypto/x509v3/v3_skey.c 577 src/crypto/x509v3/v3_sxnet.c 578 src/crypto/x509v3/v3_utl.c 579) 580 581add_library( 582 ssl 583 584 src/ssl/bio_ssl.cc 585 src/ssl/d1_both.cc 586 src/ssl/d1_lib.cc 587 src/ssl/d1_pkt.cc 588 src/ssl/d1_srtp.cc 589 src/ssl/dtls_method.cc 590 src/ssl/dtls_record.cc 591 src/ssl/handoff.cc 592 src/ssl/handshake.cc 593 src/ssl/handshake_client.cc 594 src/ssl/handshake_server.cc 595 src/ssl/s3_both.cc 596 src/ssl/s3_lib.cc 597 src/ssl/s3_pkt.cc 598 src/ssl/ssl_aead_ctx.cc 599 src/ssl/ssl_asn1.cc 600 src/ssl/ssl_buffer.cc 601 src/ssl/ssl_cert.cc 602 src/ssl/ssl_cipher.cc 603 src/ssl/ssl_file.cc 604 src/ssl/ssl_key_share.cc 605 src/ssl/ssl_lib.cc 606 src/ssl/ssl_privkey.cc 607 src/ssl/ssl_session.cc 608 src/ssl/ssl_stat.cc 609 src/ssl/ssl_transcript.cc 610 src/ssl/ssl_versions.cc 611 src/ssl/ssl_x509.cc 612 src/ssl/t1_enc.cc 613 src/ssl/t1_lib.cc 614 src/ssl/tls13_both.cc 615 src/ssl/tls13_client.cc 616 src/ssl/tls13_enc.cc 617 src/ssl/tls13_server.cc 618 src/ssl/tls_method.cc 619 src/ssl/tls_record.cc 620) 621 622add_executable( 623 bssl 624 625 src/tool/args.cc 626 src/tool/ciphers.cc 627 src/tool/client.cc 628 src/tool/const.cc 629 src/tool/digest.cc 630 src/tool/fd.cc 631 src/tool/file.cc 632 src/tool/generate_ed25519.cc 633 src/tool/genrsa.cc 634 src/tool/pkcs12.cc 635 src/tool/rand.cc 636 src/tool/server.cc 637 src/tool/sign.cc 638 src/tool/speed.cc 639 src/tool/tool.cc 640 src/tool/transport_common.cc 641) 642 643target_link_libraries(bssl ssl crypto) 644 645if(NOT MSVC AND NOT ANDROID) 646 target_link_libraries(crypto pthread) 647endif() 648 649