1 Star 0 Fork 131

wangmengyao111/third_party_openssl

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
BUILD.gn 66.43 KB
一键复制 编辑 原始数据 按行查看 历史
wylyw78 提交于 2024-06-13 10:48 . 适配Linux arm host openharmony编译
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969
# Copyright (c) 2020-2022 Huawei Device Co., Ltd.
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
import("//build/ohos_var.gni")
declare_args() {
if (defined(is_double_framework) && is_double_framework) {
compatible_with_legacy_build_system = true
} else {
compatible_with_legacy_build_system = false
}
openssl_enabled = true
}
if (!compatible_with_legacy_build_system) {
import("//build/config/config.gni")
}
import("//build/ohos.gni")
print("openssl detecting os now...")
print("current_cpu = ${current_cpu}")
print("current_os = ${current_os}")
print("host_os = ${host_os}")
openssl_selected_platform = ""
print("is_mingw = ${is_mingw}")
if (current_cpu == "arm" && !(current_os == "linux" || host_os == "mac")) {
print("openssl selected linux-armv4")
openssl_selected_platform = "linux-armv4"
} else if (current_cpu == "arm64" &&
(!(current_os == "linux" || host_os == "mac") ||
current_os == "ohos" ||
(current_os == "linux" || host_os == "linux"))) {
print("openssl selected linux-aarch64")
openssl_selected_platform = "linux-aarch64"
} else if ((current_cpu == "x64" || current_cpu == "x86_64") &&
(current_os == "mac" || current_os == "ios")) {
# compilation for ios depends the platform
print("openssl selected darwin64-x86_64-cc")
openssl_selected_platform = "darwin64-x86_64-cc"
} else if (current_cpu == "arm64" &&
(current_os == "mac" || current_os == "ios")) {
# ios and macos both use the platform
print("openssl selected darwin64-arm64-cc")
openssl_selected_platform = "darwin64-arm64-cc"
} else if ((current_cpu == "x64" || current_cpu == "x86_64") &&
current_os != "mingw") {
print("openssl selected linux-x86_64")
openssl_selected_platform = "linux-x86_64"
} else if (is_mingw) {
print("openssl selected mingw64")
openssl_selected_platform = "mingw64"
} else if (current_cpu == "arm" && current_os == "android") {
print("openssl selected linux-armv4")
openssl_selected_platform = "linux-armv4"
} else if (current_cpu == "arm64" && current_os == "android") {
print("openssl selected linux-aarch64")
openssl_selected_platform = "linux-aarch64"
}
print(
"openssl detecting os done. openssl_selected_platform = ${openssl_selected_platform}")
openssl_selected_platform_full_path =
"${target_out_dir}/build_all_generated/${openssl_selected_platform}"
# 升级修改适配检查点1 libcrypto 不同平台汇编代码
libcrypto_build_all_generated_linux_armv4_sources = [
"${openssl_selected_platform_full_path}/crypto/aes/aes-armv4.S",
"${openssl_selected_platform_full_path}/crypto/aes/aesv8-armx.S",
"${openssl_selected_platform_full_path}/crypto/aes/bsaes-armv7.S",
"${openssl_selected_platform_full_path}/crypto/armv4cpuid.S",
"${openssl_selected_platform_full_path}/crypto/bn/armv4-gf2m.S",
"${openssl_selected_platform_full_path}/crypto/bn/armv4-mont.S",
"${openssl_selected_platform_full_path}/crypto/chacha/chacha-armv4.S",
"${openssl_selected_platform_full_path}/crypto/ec/ecp_nistz256-armv4.S",
"${openssl_selected_platform_full_path}/crypto/modes/ghash-armv4.S",
"${openssl_selected_platform_full_path}/crypto/modes/ghashv8-armx.S",
"${openssl_selected_platform_full_path}/crypto/poly1305/poly1305-armv4.S",
"${openssl_selected_platform_full_path}/crypto/sha/keccak1600-armv4.S",
"${openssl_selected_platform_full_path}/crypto/sha/sha1-armv4-large.S",
"${openssl_selected_platform_full_path}/crypto/sha/sha256-armv4.S",
"${openssl_selected_platform_full_path}/crypto/sha/sha512-armv4.S",
]
# 升级修改适配检查点2 libcrypto 不同平台汇编代码
libcrypto_build_all_generated_linux_aarch64_sources = [
"${openssl_selected_platform_full_path}/crypto/aes/aesv8-armx.S",
"${openssl_selected_platform_full_path}/crypto/aes/vpaes-armv8.S",
"${openssl_selected_platform_full_path}/crypto/arm64cpuid.S",
"${openssl_selected_platform_full_path}/crypto/bn/armv8-mont.S",
"${openssl_selected_platform_full_path}/crypto/chacha/chacha-armv8.S",
"${openssl_selected_platform_full_path}/crypto/ec/ecp_nistz256-armv8.S",
"${openssl_selected_platform_full_path}/crypto/modes/aes-gcm-armv8_64.S",
"${openssl_selected_platform_full_path}/crypto/modes/ghashv8-armx.S",
"${openssl_selected_platform_full_path}/crypto/poly1305/poly1305-armv8.S",
"${openssl_selected_platform_full_path}/crypto/sha/keccak1600-armv8.S",
"${openssl_selected_platform_full_path}/crypto/sha/sha1-armv8.S",
"${openssl_selected_platform_full_path}/crypto/sha/sha256-armv8.S",
"${openssl_selected_platform_full_path}/crypto/sha/sha512-armv8.S",
]
# 升级修改适配检查点3 libcrypto 不同平台汇编代码
libcrypto_build_all_generated_darwin64_x86_64_cc_sources = [
"${openssl_selected_platform_full_path}/crypto/aes/aes-x86_64.s",
"${openssl_selected_platform_full_path}/crypto/aes/aesni-mb-x86_64.s",
"${openssl_selected_platform_full_path}/crypto/aes/aesni-sha1-x86_64.s",
"${openssl_selected_platform_full_path}/crypto/aes/aesni-sha256-x86_64.s",
"${openssl_selected_platform_full_path}/crypto/aes/aesni-x86_64.s",
"${openssl_selected_platform_full_path}/crypto/aes/bsaes-x86_64.s",
"${openssl_selected_platform_full_path}/crypto/aes/vpaes-x86_64.s",
"${openssl_selected_platform_full_path}/crypto/bn/rsaz-avx2.s",
"${openssl_selected_platform_full_path}/crypto/bn/rsaz-avx512.s",
"${openssl_selected_platform_full_path}/crypto/bn/rsaz-x86_64.s",
"${openssl_selected_platform_full_path}/crypto/bn/x86_64-gf2m.s",
"${openssl_selected_platform_full_path}/crypto/bn/x86_64-mont.s",
"${openssl_selected_platform_full_path}/crypto/bn/x86_64-mont5.s",
"${openssl_selected_platform_full_path}/crypto/camellia/cmll-x86_64.s",
"${openssl_selected_platform_full_path}/crypto/chacha/chacha-x86_64.s",
"${openssl_selected_platform_full_path}/crypto/ec/ecp_nistz256-x86_64.s",
"${openssl_selected_platform_full_path}/crypto/ec/x25519-x86_64.s",
"${openssl_selected_platform_full_path}/crypto/md5/md5-x86_64.s",
"${openssl_selected_platform_full_path}/crypto/modes/aesni-gcm-x86_64.s",
"${openssl_selected_platform_full_path}/crypto/modes/ghash-x86_64.s",
"${openssl_selected_platform_full_path}/crypto/poly1305/poly1305-x86_64.s",
"${openssl_selected_platform_full_path}/crypto/rc4/rc4-md5-x86_64.s",
"${openssl_selected_platform_full_path}/crypto/rc4/rc4-x86_64.s",
"${openssl_selected_platform_full_path}/crypto/sha/keccak1600-x86_64.s",
"${openssl_selected_platform_full_path}/crypto/sha/sha1-mb-x86_64.s",
"${openssl_selected_platform_full_path}/crypto/sha/sha1-x86_64.s",
"${openssl_selected_platform_full_path}/crypto/sha/sha256-mb-x86_64.s",
"${openssl_selected_platform_full_path}/crypto/sha/sha256-x86_64.s",
"${openssl_selected_platform_full_path}/crypto/sha/sha512-x86_64.s",
"${openssl_selected_platform_full_path}/crypto/whrlpool/wp-x86_64.s",
"${openssl_selected_platform_full_path}/crypto/x86_64cpuid.s",
"${openssl_selected_platform_full_path}/engines/e_padlock-x86_64.s",
]
# 升级修改适配检查点4 libcrypto 不同平台汇编代码
libcrypto_build_all_generated_darwin64_arm64_cc_sources = [
"${openssl_selected_platform_full_path}/crypto/aes/aesv8-armx.S",
"${openssl_selected_platform_full_path}/crypto/aes/vpaes-armv8.S",
"${openssl_selected_platform_full_path}/crypto/arm64cpuid.S",
"${openssl_selected_platform_full_path}/crypto/bn/armv8-mont.S",
"${openssl_selected_platform_full_path}/crypto/chacha/chacha-armv8.S",
"${openssl_selected_platform_full_path}/crypto/ec/ecp_nistz256-armv8.S",
"${openssl_selected_platform_full_path}/crypto/modes/aes-gcm-armv8_64.S",
"${openssl_selected_platform_full_path}/crypto/modes/ghashv8-armx.S",
"${openssl_selected_platform_full_path}/crypto/poly1305/poly1305-armv8.S",
"${openssl_selected_platform_full_path}/crypto/sha/keccak1600-armv8.S",
"${openssl_selected_platform_full_path}/crypto/sha/sha1-armv8.S",
"${openssl_selected_platform_full_path}/crypto/sha/sha256-armv8.S",
"${openssl_selected_platform_full_path}/crypto/sha/sha512-armv8.S",
]
# 升级修改适配检查点5 libcrypto 不同平台汇编代码
libcrypto_build_all_generated_linux_x86_64_sources = [
"${openssl_selected_platform_full_path}/crypto/aes/aes-x86_64.s",
"${openssl_selected_platform_full_path}/crypto/aes/aesni-mb-x86_64.s",
"${openssl_selected_platform_full_path}/crypto/aes/aesni-sha1-x86_64.s",
"${openssl_selected_platform_full_path}/crypto/aes/aesni-sha256-x86_64.s",
"${openssl_selected_platform_full_path}/crypto/aes/aesni-x86_64.s",
"${openssl_selected_platform_full_path}/crypto/aes/bsaes-x86_64.s",
"${openssl_selected_platform_full_path}/crypto/aes/vpaes-x86_64.s",
"${openssl_selected_platform_full_path}/crypto/bn/rsaz-avx2.s",
"${openssl_selected_platform_full_path}/crypto/bn/rsaz-avx512.s",
"${openssl_selected_platform_full_path}/crypto/bn/rsaz-x86_64.s",
"${openssl_selected_platform_full_path}/crypto/bn/x86_64-gf2m.s",
"${openssl_selected_platform_full_path}/crypto/bn/x86_64-mont.s",
"${openssl_selected_platform_full_path}/crypto/bn/x86_64-mont5.s",
"${openssl_selected_platform_full_path}/crypto/camellia/cmll-x86_64.s",
"${openssl_selected_platform_full_path}/crypto/chacha/chacha-x86_64.s",
"${openssl_selected_platform_full_path}/crypto/ec/ecp_nistz256-x86_64.s",
"${openssl_selected_platform_full_path}/crypto/ec/x25519-x86_64.s",
"${openssl_selected_platform_full_path}/crypto/md5/md5-x86_64.s",
"${openssl_selected_platform_full_path}/crypto/modes/aesni-gcm-x86_64.s",
"${openssl_selected_platform_full_path}/crypto/modes/ghash-x86_64.s",
"${openssl_selected_platform_full_path}/crypto/poly1305/poly1305-x86_64.s",
"${openssl_selected_platform_full_path}/crypto/rc4/rc4-md5-x86_64.s",
"${openssl_selected_platform_full_path}/crypto/rc4/rc4-x86_64.s",
"${openssl_selected_platform_full_path}/crypto/sha/keccak1600-x86_64.s",
"${openssl_selected_platform_full_path}/crypto/sha/sha1-mb-x86_64.s",
"${openssl_selected_platform_full_path}/crypto/sha/sha1-x86_64.s",
"${openssl_selected_platform_full_path}/crypto/sha/sha256-mb-x86_64.s",
"${openssl_selected_platform_full_path}/crypto/sha/sha256-x86_64.s",
"${openssl_selected_platform_full_path}/crypto/sha/sha512-x86_64.s",
"${openssl_selected_platform_full_path}/crypto/whrlpool/wp-x86_64.s",
"${openssl_selected_platform_full_path}/crypto/x86_64cpuid.s",
"${openssl_selected_platform_full_path}/engines/e_padlock-x86_64.s",
]
# 升级修改适配检查点6 libcrypto 不同平台汇编代码
libcrypto_build_all_generated_mingw64_sources = [
"${openssl_selected_platform_full_path}/crypto/aes/aes-x86_64.s",
"${openssl_selected_platform_full_path}/crypto/aes/aesni-mb-x86_64.s",
"${openssl_selected_platform_full_path}/crypto/aes/aesni-sha1-x86_64.s",
"${openssl_selected_platform_full_path}/crypto/aes/aesni-sha256-x86_64.s",
"${openssl_selected_platform_full_path}/crypto/aes/aesni-x86_64.s",
"${openssl_selected_platform_full_path}/crypto/aes/bsaes-x86_64.s",
"${openssl_selected_platform_full_path}/crypto/aes/vpaes-x86_64.s",
"${openssl_selected_platform_full_path}/crypto/bn/rsaz-avx2.s",
"${openssl_selected_platform_full_path}/crypto/bn/rsaz-avx512.s",
"${openssl_selected_platform_full_path}/crypto/bn/rsaz-x86_64.s",
"${openssl_selected_platform_full_path}/crypto/bn/x86_64-gf2m.s",
"${openssl_selected_platform_full_path}/crypto/bn/x86_64-mont.s",
"${openssl_selected_platform_full_path}/crypto/bn/x86_64-mont5.s",
"${openssl_selected_platform_full_path}/crypto/camellia/cmll-x86_64.s",
"${openssl_selected_platform_full_path}/crypto/chacha/chacha-x86_64.s",
"${openssl_selected_platform_full_path}/crypto/ec/ecp_nistz256-x86_64.s",
"${openssl_selected_platform_full_path}/crypto/ec/x25519-x86_64.s",
"${openssl_selected_platform_full_path}/crypto/md5/md5-x86_64.s",
"${openssl_selected_platform_full_path}/crypto/modes/aesni-gcm-x86_64.s",
"${openssl_selected_platform_full_path}/crypto/modes/ghash-x86_64.s",
"${openssl_selected_platform_full_path}/crypto/poly1305/poly1305-x86_64.s",
"${openssl_selected_platform_full_path}/crypto/rc4/rc4-md5-x86_64.s",
"${openssl_selected_platform_full_path}/crypto/rc4/rc4-x86_64.s",
"${openssl_selected_platform_full_path}/crypto/sha/keccak1600-x86_64.s",
"${openssl_selected_platform_full_path}/crypto/sha/sha1-mb-x86_64.s",
"${openssl_selected_platform_full_path}/crypto/sha/sha1-x86_64.s",
"${openssl_selected_platform_full_path}/crypto/sha/sha256-mb-x86_64.s",
"${openssl_selected_platform_full_path}/crypto/sha/sha256-x86_64.s",
"${openssl_selected_platform_full_path}/crypto/sha/sha512-x86_64.s",
"${openssl_selected_platform_full_path}/crypto/whrlpool/wp-x86_64.s",
"${openssl_selected_platform_full_path}/crypto/x86_64cpuid.s",
"${openssl_selected_platform_full_path}/engines/e_padlock-x86_64.s",
]
libcrypto_build_all_generated_selected_platform_sources = []
if (openssl_selected_platform == "linux-armv4") {
libcrypto_build_all_generated_selected_platform_sources +=
libcrypto_build_all_generated_linux_armv4_sources
} else if (openssl_selected_platform == "linux-aarch64") {
libcrypto_build_all_generated_selected_platform_sources +=
libcrypto_build_all_generated_linux_aarch64_sources
} else if (openssl_selected_platform == "darwin64-x86_64-cc") {
libcrypto_build_all_generated_selected_platform_sources +=
libcrypto_build_all_generated_darwin64_x86_64_cc_sources
} else if (openssl_selected_platform == "darwin64-arm64-cc") {
libcrypto_build_all_generated_selected_platform_sources +=
libcrypto_build_all_generated_darwin64_arm64_cc_sources
} else if (openssl_selected_platform == "linux-x86_64") {
libcrypto_build_all_generated_selected_platform_sources +=
libcrypto_build_all_generated_linux_x86_64_sources
} else if (openssl_selected_platform == "mingw64") {
libcrypto_build_all_generated_selected_platform_sources +=
libcrypto_build_all_generated_mingw64_sources
}
# 升级修改适配检查点7 libcommon 生成的源码列表
libcommon_build_all_generated_selected_platform_sources = [
"${openssl_selected_platform_full_path}/providers/common/der/der_digests_gen.c",
"${openssl_selected_platform_full_path}/providers/common/der/der_dsa_gen.c",
"${openssl_selected_platform_full_path}/providers/common/der/der_ec_gen.c",
"${openssl_selected_platform_full_path}/providers/common/der/der_ecx_gen.c",
"${openssl_selected_platform_full_path}/providers/common/der/der_rsa_gen.c",
"${openssl_selected_platform_full_path}/providers/common/der/der_wrap_gen.c",
]
# 升级修改适配检查点8 libdefault 生成的源码列表
libdefault_build_all_generated_selected_platform_sources = [
"${openssl_selected_platform_full_path}/providers/common/der/der_sm2_gen.c",
]
# We make use of both exec_script and action to build openssl build_all_generated items.
#
# Some modules use openssl in an incorrect way, leading to the confusing building sequences,
# so the user modules building fail because openssl headers have not been generated at the building time.
# The exec_script in the global area will be executed before ninja command,
# and it ensures that the headers is generated properly before the building of any modules.
#
# Openssl generate some assembly codes before it is building.
# The sources list in BUILD.gn include the assembly codes.
# The gn build system requires that all items in sources list should be the output of another build item.
# So we use an empty action to generate the assembly codes.
# Actually we generate the assembly codes in exec_script, not in action.
#
# The gn build system requires the script in exec_script and action should be python script,
# so we invoke the shell script in python script
print(exec_script(
rebase_path("//third_party/openssl/run_command.py"),
[
rebase_path(
"//third_party/openssl/make_openssl_build_all_generated.sh"),
rebase_path("//third_party/openssl"),
rebase_path("${target_out_dir}/build_all_generated"),
openssl_selected_platform,
],
"string",
[]))
action("openssl_build_all_generated") {
script = rebase_path("//third_party/openssl/empty.py")
outputs = []
outputs += libcommon_build_all_generated_selected_platform_sources
outputs += libdefault_build_all_generated_selected_platform_sources
outputs += libcrypto_build_all_generated_selected_platform_sources
outputs += [ "${openssl_selected_platform_full_path}/apps/progs.c" ]
if (openssl_selected_platform == "mingw64") {
outputs += [ "${openssl_selected_platform_full_path}/apps/openssl.rc" ]
}
}
openssl_internal_cflags = [
"-Wall",
# ../../third_party/openssl/crypto/o_str.c:309:9: error: incompatible integer to pointer conversion assigning to 'char *' from 'int' [-Werror,-Wint-conversion]
# err = strerror_r(errnum, buf, buflen);
# ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
"-Wno-error=int-conversion",
# ../../third_party/openssl/crypto/bn/bn_conv.c:92:34: error: implicit conversion from 'unsigned long long' to 'unsigned long' changes value from 10000000000000000000 to 2313682944 [-Werror,-Wconstant-conversion]
# *lp = BN_div_word(t, BN_DEC_CONV);
# ~~~~~~~~~~~ ^~~~~~~~~~~
"-Wno-error=constant-conversion",
# ../../third_party/openssl/crypto/bn/bn_exp.c:382:38: error: shift count >= width of type [-Werror,-Wshift-count-overflow]
# if (m->d[j - 1] & (((BN_ULONG)1) << (BN_BITS2 - 1))) {
# ^ ~~~~~~~~~~~~~~
"-Wno-error=shift-count-overflow",
# ../../third_party/openssl/crypto/conf/conf_def.c:31:11: error: 'stat' macro redefined [-Werror,-Wmacro-redefined]
# # define stat _stat
# ^
# ../../prebuilts/mingw-w64/ohos/linux-x86_64/clang-mingw/x86_64-w64-mingw32/include/sys/stat.h:279:9: note: previous definition is here
# #define stat _stat64
# ^
# 1 error generated.
"-Wno-error=macro-redefined",
"-Wno-error=implicit-fallthrough",
"-Wno-error=sign-compare",
]
if (!compatible_with_legacy_build_system) {
openssl_internal_cflags += [
# Fix llvm-15 build error
"-Wno-unused-but-set-variable",
]
}
# 升级修改适配检查点9 内部公共头文件目录列表
crypto_config_common_private_include_dirs = [
# -I args from Makefile
".",
"crypto",
"include",
"providers/common/include",
"providers/implementations/include",
# internal include dirs
"apps/include",
"crypto/bn",
"crypto/ec",
"crypto/ec/curve448",
"crypto/modes",
"crypto/rsa",
"providers/common/include/prov",
"${openssl_selected_platform_full_path}/apps",
"${openssl_selected_platform_full_path}/crypto",
"${openssl_selected_platform_full_path}/include",
"${openssl_selected_platform_full_path}/include/crypto",
"${openssl_selected_platform_full_path}/include/openssl",
"${openssl_selected_platform_full_path}/providers/common/include",
"${openssl_selected_platform_full_path}/providers/common/include/prov",
]
crypto_config_common_public_include_dirs = [
"include",
"${openssl_selected_platform_full_path}/include",
]
# located at /system/etc/
ohos_prebuilt_etc("openssl.cnf") {
source = "open_harmony_openssl_config/openssl.cnf"
if (compatible_with_legacy_build_system) {
subsystem_name = "security"
part_name = "huks"
} else {
subsystem_name = "thirdparty"
part_name = "openssl"
}
}
# 升级修改适配检查点10 内部公共编译选项宏列表
crypto_config_common_cflags = [
"-Wa,--noexecstack",
"-DNDEBUG",
"-DOPENSSL_BUILDING_OPENSSL",
"-DOPENSSL_CPUID_OBJ",
"-DOPENSSL_PIC",
# use `openssl version -a` cmd to see runtime OPENSSLDIR, ENGINESDIR, MODULESDIR value
# the origin value generated by Configure
# linux-armv4, linux-aarch64, darwin64-x86_64-cc, darwin64-arm64-cc
# /usr/local/lib/engines-3
# linux-x86_64, mingw64
# /usr/local/lib64/engines-3
"-DENGINESDIR=\"\"",
# the origin value generated by Configure
# linux-armv4, linux-aarch64, darwin64-x86_64-cc, darwin64-arm64-cc
# /usr/local/lib/ossl-modules
# linux-x86_64, mingw64
# /usr/local/lib64/ossl-modules
"-DMODULESDIR=\"\"",
# the origin value generated by Configure
# /usr/local/ssl
# we set the variable as the following to locate openssl.cnf
"-DOPENSSLDIR=\"/system/etc\"",
"-DSTATIC_LEGACY",
]
# 升级修改适配检查点11 内部不同平台编译选项列表
crypto_config_linux_armv4_cflags = [
"-DOPENSSL_USE_NODELETE",
"-fPIC",
"-pthread",
"-DAES_ASM",
"-DBSAES_ASM",
"-DECP_NISTZ256_ASM",
"-DGHASH_ASM",
"-DKECCAK1600_ASM",
"-DOPENSSL_BN_ASM_GF2m",
"-DOPENSSL_BN_ASM_MONT",
"-DPOLY1305_ASM",
"-DSHA1_ASM",
"-DSHA256_ASM",
"-DSHA512_ASM",
]
# 升级修改适配检查点12 内部不同平台编译选项列表
crypto_config_linux_aarch64_cflags = [
"-DOPENSSL_USE_NODELETE",
"-fPIC",
"-pthread",
"-DECP_NISTZ256_ASM",
"-DKECCAK1600_ASM",
"-DOPENSSL_BN_ASM_MONT",
"-DPOLY1305_ASM",
"-DSHA1_ASM",
"-DSHA256_ASM",
"-DSHA512_ASM",
"-DVPAES_ASM",
]
# 升级修改适配检查点13 内部不同平台编译选项列表
crypto_config_darwin64_x86_64_cc_cflags = [
"-fPIC",
"-DL_ENDIAN",
"-D_REENTRANT",
"-DOPENSSL_IA32_SSE2",
"-DAES_ASM",
"-DBSAES_ASM",
"-DCMLL_ASM",
"-DECP_NISTZ256_ASM",
"-DGHASH_ASM",
"-DKECCAK1600_ASM",
"-DMD5_ASM",
"-DOPENSSL_BN_ASM_GF2m",
"-DOPENSSL_BN_ASM_MONT",
"-DOPENSSL_BN_ASM_MONT5",
"-DPADLOCK_ASM",
"-DPOLY1305_ASM",
"-DSHA1_ASM",
"-DSHA256_ASM",
"-DSHA512_ASM",
"-DVPAES_ASM",
"-DWHIRLPOOL_ASM",
"-DX25519_ASM",
]
# 升级修改适配检查点14 内部不同平台编译选项列表
crypto_config_darwin64_arm64_cc_cflags = [
"-DL_ENDIAN",
"-D_REENTRANT",
"-fPIC",
"-DECP_NISTZ256_ASM",
"-DKECCAK1600_ASM",
"-DOPENSSL_BN_ASM_MONT",
"-DPOLY1305_ASM",
"-DSHA1_ASM",
"-DSHA256_ASM",
"-DSHA512_ASM",
"-DVPAES_ASM",
]
# 升级修改适配检查点15 内部不同平台编译选项列表
crypto_config_linux_x86_64_cflags = [
"-DL_ENDIAN",
"-DOPENSSL_IA32_SSE2",
"-DOPENSSL_USE_NODELETE",
"-fPIC",
"-m64",
"-pthread",
"-DAES_ASM",
"-DBSAES_ASM",
"-DCMLL_ASM",
"-DECP_NISTZ256_ASM",
"-DGHASH_ASM",
"-DKECCAK1600_ASM",
"-DMD5_ASM",
"-DOPENSSL_BN_ASM_GF2m",
"-DOPENSSL_BN_ASM_MONT",
"-DOPENSSL_BN_ASM_MONT5",
"-DPADLOCK_ASM",
"-DPOLY1305_ASM",
"-DSHA1_ASM",
"-DSHA256_ASM",
"-DSHA512_ASM",
"-DVPAES_ASM",
"-DWHIRLPOOL_ASM",
"-DX25519_ASM",
]
# 升级修改适配检查点16 内部不同平台编译选项列表
crypto_config_mingw64_cflags = [
"-D_MT",
"-D_UNICODE",
"-DL_ENDIAN",
"-DOPENSSL_IA32_SSE2",
"-DUNICODE",
"-DWIN32_LEAN_AND_MEAN",
"-m64",
"-DAES_ASM",
"-DBSAES_ASM",
"-DCMLL_ASM",
"-DECP_NISTZ256_ASM",
"-DGHASH_ASM",
"-DKECCAK1600_ASM",
"-DMD5_ASM",
"-DOPENSSL_BN_ASM_GF2m",
"-DOPENSSL_BN_ASM_MONT",
"-DOPENSSL_BN_ASM_MONT5",
"-DPADLOCK_ASM",
"-DPOLY1305_ASM",
"-DSHA1_ASM",
"-DSHA256_ASM",
"-DSHA512_ASM",
"-DVPAES_ASM",
"-DWHIRLPOOL_ASM",
"-DX25519_ASM",
]
crypto_config_current_platform_cflags = []
if (openssl_selected_platform == "linux-armv4") {
crypto_config_current_platform_cflags += crypto_config_linux_armv4_cflags
} else if (openssl_selected_platform == "linux-aarch64") {
crypto_config_current_platform_cflags += crypto_config_linux_aarch64_cflags
} else if (openssl_selected_platform == "darwin64-x86_64-cc") {
crypto_config_current_platform_cflags +=
crypto_config_darwin64_x86_64_cc_cflags
} else if (openssl_selected_platform == "darwin64-arm64-cc") {
crypto_config_current_platform_cflags +=
crypto_config_darwin64_arm64_cc_cflags
} else if (openssl_selected_platform == "linux-x86_64") {
crypto_config_current_platform_cflags += crypto_config_linux_x86_64_cflags
} else if (openssl_selected_platform == "mingw64") {
crypto_config_current_platform_cflags += crypto_config_mingw64_cflags
}
mingw32_libs_path = []
mingw32_libs = []
if (is_mingw || is_win) {
mingw32_libs_path += [ "//prebuilts/mingw-w64/ohos/linux-x86_64/clang-mingw/x86_64-w64-mingw32/lib" ]
mingw32_libs += [
"ws2_32",
"crypt32",
]
}
config("crypto_config_private") {
include_dirs = crypto_config_common_private_include_dirs
cflags = crypto_config_common_cflags + crypto_config_current_platform_cflags +
openssl_internal_cflags
lib_dirs = mingw32_libs_path
libs = mingw32_libs
}
config("crypto_config_public") {
include_dirs = crypto_config_common_public_include_dirs
libs = mingw32_libs
}
# 升级修改适配检查点17 libcommon 原目录源码列表
libcommon_common_sources = [
"providers/common/der/der_dsa_key.c",
"providers/common/der/der_dsa_sig.c",
"providers/common/der/der_ec_key.c",
"providers/common/der/der_ec_sig.c",
"providers/common/der/der_ecx_key.c",
"providers/common/der/der_rsa_key.c",
"providers/common/provider_ctx.c",
"providers/common/provider_err.c",
"providers/implementations/ciphers/ciphercommon.c",
"providers/implementations/ciphers/ciphercommon_block.c",
"providers/implementations/ciphers/ciphercommon_ccm.c",
"providers/implementations/ciphers/ciphercommon_ccm_hw.c",
"providers/implementations/ciphers/ciphercommon_gcm.c",
"providers/implementations/ciphers/ciphercommon_gcm_hw.c",
"providers/implementations/ciphers/ciphercommon_hw.c",
"providers/implementations/digests/digestcommon.c",
"ssl/record/tls_pad.c",
]
# 升级修改适配检查点18 libdefault 原目录源码列表
libdefault_common_sources = [
"providers/common/bio_prov.c",
"providers/common/capabilities.c",
"providers/common/der/der_rsa_sig.c",
"providers/common/der/der_sm2_key.c",
"providers/common/der/der_sm2_sig.c",
"providers/common/digest_to_nid.c",
"providers/common/provider_seeding.c",
"providers/common/provider_util.c",
"providers/common/securitycheck.c",
"providers/common/securitycheck_default.c",
"providers/implementations/asymciphers/rsa_enc.c",
"providers/implementations/asymciphers/sm2_enc.c",
"providers/implementations/ciphers/cipher_aes.c",
"providers/implementations/ciphers/cipher_aes_cbc_hmac_sha.c",
"providers/implementations/ciphers/cipher_aes_cbc_hmac_sha1_hw.c",
"providers/implementations/ciphers/cipher_aes_cbc_hmac_sha256_hw.c",
"providers/implementations/ciphers/cipher_aes_ccm.c",
"providers/implementations/ciphers/cipher_aes_ccm_hw.c",
"providers/implementations/ciphers/cipher_aes_gcm.c",
"providers/implementations/ciphers/cipher_aes_gcm_hw.c",
"providers/implementations/ciphers/cipher_aes_hw.c",
"providers/implementations/ciphers/cipher_aes_ocb.c",
"providers/implementations/ciphers/cipher_aes_ocb_hw.c",
"providers/implementations/ciphers/cipher_aes_siv.c",
"providers/implementations/ciphers/cipher_aes_siv_hw.c",
"providers/implementations/ciphers/cipher_aes_wrp.c",
"providers/implementations/ciphers/cipher_aes_xts.c",
"providers/implementations/ciphers/cipher_aes_xts_fips.c",
"providers/implementations/ciphers/cipher_aes_xts_hw.c",
"providers/implementations/ciphers/cipher_aria.c",
"providers/implementations/ciphers/cipher_aria_ccm.c",
"providers/implementations/ciphers/cipher_aria_ccm_hw.c",
"providers/implementations/ciphers/cipher_aria_gcm.c",
"providers/implementations/ciphers/cipher_aria_gcm_hw.c",
"providers/implementations/ciphers/cipher_aria_hw.c",
"providers/implementations/ciphers/cipher_camellia.c",
"providers/implementations/ciphers/cipher_camellia_hw.c",
"providers/implementations/ciphers/cipher_chacha20.c",
"providers/implementations/ciphers/cipher_chacha20_hw.c",
"providers/implementations/ciphers/cipher_chacha20_poly1305.c",
"providers/implementations/ciphers/cipher_chacha20_poly1305_hw.c",
"providers/implementations/ciphers/cipher_cts.c",
"providers/implementations/ciphers/cipher_null.c",
"providers/implementations/ciphers/cipher_sm4.c",
"providers/implementations/ciphers/cipher_sm4_ccm.c",
"providers/implementations/ciphers/cipher_sm4_ccm_hw.c",
"providers/implementations/ciphers/cipher_sm4_gcm.c",
"providers/implementations/ciphers/cipher_sm4_gcm_hw.c",
"providers/implementations/ciphers/cipher_sm4_hw.c",
"providers/implementations/ciphers/cipher_tdes.c",
"providers/implementations/ciphers/cipher_tdes_common.c",
"providers/implementations/ciphers/cipher_tdes_default.c",
"providers/implementations/ciphers/cipher_tdes_default_hw.c",
"providers/implementations/ciphers/cipher_tdes_hw.c",
"providers/implementations/ciphers/cipher_tdes_wrap.c",
"providers/implementations/ciphers/cipher_tdes_wrap_hw.c",
"providers/implementations/digests/blake2_prov.c",
"providers/implementations/digests/blake2b_prov.c",
"providers/implementations/digests/blake2s_prov.c",
"providers/implementations/digests/md5_prov.c",
"providers/implementations/digests/md5_sha1_prov.c",
"providers/implementations/digests/null_prov.c",
"providers/implementations/digests/ripemd_prov.c",
"providers/implementations/digests/sha2_prov.c",
"providers/implementations/digests/sha3_prov.c",
"providers/implementations/digests/sm3_prov.c",
"providers/implementations/encode_decode/decode_der2key.c",
"providers/implementations/encode_decode/decode_epki2pki.c",
"providers/implementations/encode_decode/decode_msblob2key.c",
"providers/implementations/encode_decode/decode_pem2der.c",
"providers/implementations/encode_decode/decode_pvk2key.c",
"providers/implementations/encode_decode/decode_spki2typespki.c",
"providers/implementations/encode_decode/encode_key2any.c",
"providers/implementations/encode_decode/encode_key2blob.c",
"providers/implementations/encode_decode/encode_key2ms.c",
"providers/implementations/encode_decode/encode_key2text.c",
"providers/implementations/encode_decode/endecoder_common.c",
"providers/implementations/exchange/dh_exch.c",
"providers/implementations/exchange/ecdh_exch.c",
"providers/implementations/exchange/ecx_exch.c",
"providers/implementations/exchange/kdf_exch.c",
"providers/implementations/kdfs/hkdf.c",
"providers/implementations/kdfs/kbkdf.c",
"providers/implementations/kdfs/krb5kdf.c",
"providers/implementations/kdfs/pbkdf2.c",
"providers/implementations/kdfs/pbkdf2_fips.c",
"providers/implementations/kdfs/pkcs12kdf.c",
"providers/implementations/kdfs/scrypt.c",
"providers/implementations/kdfs/sshkdf.c",
"providers/implementations/kdfs/sskdf.c",
"providers/implementations/kdfs/tls1_prf.c",
"providers/implementations/kdfs/x942kdf.c",
"providers/implementations/kem/rsa_kem.c",
"providers/implementations/keymgmt/dh_kmgmt.c",
"providers/implementations/keymgmt/dsa_kmgmt.c",
"providers/implementations/keymgmt/ec_kmgmt.c",
"providers/implementations/keymgmt/ecx_kmgmt.c",
"providers/implementations/keymgmt/kdf_legacy_kmgmt.c",
"providers/implementations/keymgmt/mac_legacy_kmgmt.c",
"providers/implementations/keymgmt/rsa_kmgmt.c",
"providers/implementations/macs/blake2b_mac.c",
"providers/implementations/macs/blake2s_mac.c",
"providers/implementations/macs/cmac_prov.c",
"providers/implementations/macs/gmac_prov.c",
"providers/implementations/macs/hmac_prov.c",
"providers/implementations/macs/kmac_prov.c",
"providers/implementations/macs/poly1305_prov.c",
"providers/implementations/macs/siphash_prov.c",
"providers/implementations/rands/crngt.c",
"providers/implementations/rands/drbg.c",
"providers/implementations/rands/drbg_ctr.c",
"providers/implementations/rands/drbg_hash.c",
"providers/implementations/rands/drbg_hmac.c",
"providers/implementations/rands/seed_src.c",
"providers/implementations/rands/seeding/rand_cpu_x86.c",
"providers/implementations/rands/seeding/rand_tsc.c",
"providers/implementations/rands/seeding/rand_unix.c",
"providers/implementations/rands/seeding/rand_win.c",
"providers/implementations/rands/test_rng.c",
"providers/implementations/signature/dsa_sig.c",
"providers/implementations/signature/ecdsa_sig.c",
"providers/implementations/signature/eddsa_sig.c",
"providers/implementations/signature/mac_legacy_sig.c",
"providers/implementations/signature/rsa_sig.c",
"providers/implementations/signature/sm2_sig.c",
"providers/implementations/storemgmt/file_store.c",
"providers/implementations/storemgmt/file_store_any2obj.c",
"ssl/s3_cbc.c",
]
# 升级修改适配检查点19 liblegacy 源码列表
liblegacy_sources = [
"providers/implementations/ciphers/cipher_blowfish.c",
"providers/implementations/ciphers/cipher_blowfish_hw.c",
"providers/implementations/ciphers/cipher_cast5.c",
"providers/implementations/ciphers/cipher_cast5_hw.c",
"providers/implementations/ciphers/cipher_des.c",
"providers/implementations/ciphers/cipher_des_hw.c",
"providers/implementations/ciphers/cipher_desx.c",
"providers/implementations/ciphers/cipher_desx_hw.c",
"providers/implementations/ciphers/cipher_idea.c",
"providers/implementations/ciphers/cipher_idea_hw.c",
"providers/implementations/ciphers/cipher_rc2.c",
"providers/implementations/ciphers/cipher_rc2_hw.c",
"providers/implementations/ciphers/cipher_rc4.c",
"providers/implementations/ciphers/cipher_rc4_hmac_md5.c",
"providers/implementations/ciphers/cipher_rc4_hmac_md5_hw.c",
"providers/implementations/ciphers/cipher_rc4_hw.c",
"providers/implementations/ciphers/cipher_seed.c",
"providers/implementations/ciphers/cipher_seed_hw.c",
"providers/implementations/digests/md4_prov.c",
"providers/implementations/digests/mdc2_prov.c",
"providers/implementations/digests/wp_prov.c",
"providers/implementations/kdfs/pbkdf1.c",
]
ohos_source_set("crypto_source") {
if (!compatible_with_legacy_build_system) {
subsystem_name = "thirdparty"
part_name = "openssl"
}
# 升级修改适配检查点20 libcrypto 原目录源码列表
sources = [
"crypto/aes/aes_cfb.c",
"crypto/aes/aes_ecb.c",
"crypto/aes/aes_ige.c",
"crypto/aes/aes_misc.c",
"crypto/aes/aes_ofb.c",
"crypto/aes/aes_wrap.c",
"crypto/aria/aria.c",
"crypto/asn1/a_bitstr.c",
"crypto/asn1/a_d2i_fp.c",
"crypto/asn1/a_digest.c",
"crypto/asn1/a_dup.c",
"crypto/asn1/a_gentm.c",
"crypto/asn1/a_i2d_fp.c",
"crypto/asn1/a_int.c",
"crypto/asn1/a_mbstr.c",
"crypto/asn1/a_object.c",
"crypto/asn1/a_octet.c",
"crypto/asn1/a_print.c",
"crypto/asn1/a_sign.c",
"crypto/asn1/a_strex.c",
"crypto/asn1/a_strnid.c",
"crypto/asn1/a_time.c",
"crypto/asn1/a_type.c",
"crypto/asn1/a_utctm.c",
"crypto/asn1/a_utf8.c",
"crypto/asn1/a_verify.c",
"crypto/asn1/ameth_lib.c",
"crypto/asn1/asn1_err.c",
"crypto/asn1/asn1_gen.c",
"crypto/asn1/asn1_item_list.c",
"crypto/asn1/asn1_lib.c",
"crypto/asn1/asn1_parse.c",
"crypto/asn1/asn_mime.c",
"crypto/asn1/asn_moid.c",
"crypto/asn1/asn_mstbl.c",
"crypto/asn1/asn_pack.c",
"crypto/asn1/bio_asn1.c",
"crypto/asn1/bio_ndef.c",
"crypto/asn1/d2i_param.c",
"crypto/asn1/d2i_pr.c",
"crypto/asn1/d2i_pu.c",
"crypto/asn1/evp_asn1.c",
"crypto/asn1/f_int.c",
"crypto/asn1/f_string.c",
"crypto/asn1/i2d_evp.c",
"crypto/asn1/n_pkey.c",
"crypto/asn1/nsseq.c",
"crypto/asn1/p5_pbe.c",
"crypto/asn1/p5_pbev2.c",
"crypto/asn1/p5_scrypt.c",
"crypto/asn1/p8_pkey.c",
"crypto/asn1/t_bitst.c",
"crypto/asn1/t_pkey.c",
"crypto/asn1/t_spki.c",
"crypto/asn1/tasn_dec.c",
"crypto/asn1/tasn_enc.c",
"crypto/asn1/tasn_fre.c",
"crypto/asn1/tasn_new.c",
"crypto/asn1/tasn_prn.c",
"crypto/asn1/tasn_scn.c",
"crypto/asn1/tasn_typ.c",
"crypto/asn1/tasn_utl.c",
"crypto/asn1/x_algor.c",
"crypto/asn1/x_bignum.c",
"crypto/asn1/x_info.c",
"crypto/asn1/x_int64.c",
"crypto/asn1/x_long.c",
"crypto/asn1/x_pkey.c",
"crypto/asn1/x_sig.c",
"crypto/asn1/x_spki.c",
"crypto/asn1/x_val.c",
"crypto/asn1_dsa.c",
"crypto/async/arch/async_null.c",
"crypto/async/arch/async_posix.c",
"crypto/async/arch/async_win.c",
"crypto/async/async.c",
"crypto/async/async_err.c",
"crypto/async/async_wait.c",
"crypto/bf/bf_cfb64.c",
"crypto/bf/bf_ecb.c",
"crypto/bf/bf_enc.c",
"crypto/bf/bf_ofb64.c",
"crypto/bf/bf_skey.c",
"crypto/bio/bf_buff.c",
"crypto/bio/bf_lbuf.c",
"crypto/bio/bf_nbio.c",
"crypto/bio/bf_null.c",
"crypto/bio/bf_prefix.c",
"crypto/bio/bf_readbuff.c",
"crypto/bio/bio_addr.c",
"crypto/bio/bio_cb.c",
"crypto/bio/bio_dump.c",
"crypto/bio/bio_err.c",
"crypto/bio/bio_lib.c",
"crypto/bio/bio_meth.c",
"crypto/bio/bio_print.c",
"crypto/bio/bio_sock.c",
"crypto/bio/bio_sock2.c",
"crypto/bio/bss_acpt.c",
"crypto/bio/bss_bio.c",
"crypto/bio/bss_conn.c",
"crypto/bio/bss_core.c",
"crypto/bio/bss_dgram.c",
"crypto/bio/bss_fd.c",
"crypto/bio/bss_file.c",
"crypto/bio/bss_log.c",
"crypto/bio/bss_mem.c",
"crypto/bio/bss_null.c",
"crypto/bio/bss_sock.c",
"crypto/bio/ossl_core_bio.c",
"crypto/bn/bn_add.c",
"crypto/bn/bn_blind.c",
"crypto/bn/bn_const.c",
"crypto/bn/bn_conv.c",
"crypto/bn/bn_ctx.c",
"crypto/bn/bn_depr.c",
"crypto/bn/bn_dh.c",
"crypto/bn/bn_div.c",
"crypto/bn/bn_err.c",
"crypto/bn/bn_exp.c",
"crypto/bn/bn_exp2.c",
"crypto/bn/bn_gcd.c",
"crypto/bn/bn_gf2m.c",
"crypto/bn/bn_intern.c",
"crypto/bn/bn_kron.c",
"crypto/bn/bn_lib.c",
"crypto/bn/bn_mod.c",
"crypto/bn/bn_mont.c",
"crypto/bn/bn_mpi.c",
"crypto/bn/bn_mul.c",
"crypto/bn/bn_nist.c",
"crypto/bn/bn_prime.c",
"crypto/bn/bn_print.c",
"crypto/bn/bn_rand.c",
"crypto/bn/bn_recp.c",
"crypto/bn/bn_rsa_fips186_4.c",
"crypto/bn/bn_shift.c",
"crypto/bn/bn_sqr.c",
"crypto/bn/bn_sqrt.c",
"crypto/bn/bn_srp.c",
"crypto/bn/bn_word.c",
"crypto/bn/bn_x931p.c",
"crypto/bsearch.c",
"crypto/buffer/buf_err.c",
"crypto/buffer/buffer.c",
"crypto/camellia/cmll_cfb.c",
"crypto/camellia/cmll_ctr.c",
"crypto/camellia/cmll_ecb.c",
"crypto/camellia/cmll_misc.c",
"crypto/camellia/cmll_ofb.c",
"crypto/cast/c_cfb64.c",
"crypto/cast/c_ecb.c",
"crypto/cast/c_enc.c",
"crypto/cast/c_ofb64.c",
"crypto/cast/c_skey.c",
"crypto/cmac/cmac.c",
"crypto/cmp/cmp_asn.c",
"crypto/cmp/cmp_client.c",
"crypto/cmp/cmp_ctx.c",
"crypto/cmp/cmp_err.c",
"crypto/cmp/cmp_hdr.c",
"crypto/cmp/cmp_http.c",
"crypto/cmp/cmp_msg.c",
"crypto/cmp/cmp_protect.c",
"crypto/cmp/cmp_server.c",
"crypto/cmp/cmp_status.c",
"crypto/cmp/cmp_util.c",
"crypto/cmp/cmp_vfy.c",
"crypto/cms/cms_asn1.c",
"crypto/cms/cms_att.c",
"crypto/cms/cms_cd.c",
"crypto/cms/cms_dd.c",
"crypto/cms/cms_dh.c",
"crypto/cms/cms_ec.c",
"crypto/cms/cms_enc.c",
"crypto/cms/cms_env.c",
"crypto/cms/cms_err.c",
"crypto/cms/cms_ess.c",
"crypto/cms/cms_io.c",
"crypto/cms/cms_kari.c",
"crypto/cms/cms_lib.c",
"crypto/cms/cms_pwri.c",
"crypto/cms/cms_rsa.c",
"crypto/cms/cms_sd.c",
"crypto/cms/cms_smime.c",
"crypto/comp/c_zlib.c",
"crypto/comp/comp_err.c",
"crypto/comp/comp_lib.c",
"crypto/conf/conf_api.c",
"crypto/conf/conf_def.c",
"crypto/conf/conf_err.c",
"crypto/conf/conf_lib.c",
"crypto/conf/conf_mall.c",
"crypto/conf/conf_mod.c",
"crypto/conf/conf_sap.c",
"crypto/conf/conf_ssl.c",
"crypto/context.c",
"crypto/core_algorithm.c",
"crypto/core_fetch.c",
"crypto/core_namemap.c",
"crypto/cpt_err.c",
"crypto/cpuid.c",
"crypto/crmf/crmf_asn.c",
"crypto/crmf/crmf_err.c",
"crypto/crmf/crmf_lib.c",
"crypto/crmf/crmf_pbm.c",
"crypto/cryptlib.c",
"crypto/ct/ct_b64.c",
"crypto/ct/ct_err.c",
"crypto/ct/ct_log.c",
"crypto/ct/ct_oct.c",
"crypto/ct/ct_policy.c",
"crypto/ct/ct_prn.c",
"crypto/ct/ct_sct.c",
"crypto/ct/ct_sct_ctx.c",
"crypto/ct/ct_vfy.c",
"crypto/ct/ct_x509v3.c",
"crypto/ctype.c",
"crypto/cversion.c",
"crypto/der_writer.c",
"crypto/des/cbc_cksm.c",
"crypto/des/cbc_enc.c",
"crypto/des/cfb64ede.c",
"crypto/des/cfb64enc.c",
"crypto/des/cfb_enc.c",
"crypto/des/des_enc.c",
"crypto/des/ecb3_enc.c",
"crypto/des/ecb_enc.c",
"crypto/des/fcrypt.c",
"crypto/des/fcrypt_b.c",
"crypto/des/ofb64ede.c",
"crypto/des/ofb64enc.c",
"crypto/des/ofb_enc.c",
"crypto/des/pcbc_enc.c",
"crypto/des/qud_cksm.c",
"crypto/des/rand_key.c",
"crypto/des/set_key.c",
"crypto/des/str2key.c",
"crypto/des/xcbc_enc.c",
"crypto/dh/dh_ameth.c",
"crypto/dh/dh_asn1.c",
"crypto/dh/dh_backend.c",
"crypto/dh/dh_check.c",
"crypto/dh/dh_depr.c",
"crypto/dh/dh_err.c",
"crypto/dh/dh_gen.c",
"crypto/dh/dh_group_params.c",
"crypto/dh/dh_kdf.c",
"crypto/dh/dh_key.c",
"crypto/dh/dh_lib.c",
"crypto/dh/dh_meth.c",
"crypto/dh/dh_pmeth.c",
"crypto/dh/dh_prn.c",
"crypto/dh/dh_rfc5114.c",
"crypto/dsa/dsa_ameth.c",
"crypto/dsa/dsa_asn1.c",
"crypto/dsa/dsa_backend.c",
"crypto/dsa/dsa_check.c",
"crypto/dsa/dsa_depr.c",
"crypto/dsa/dsa_err.c",
"crypto/dsa/dsa_gen.c",
"crypto/dsa/dsa_key.c",
"crypto/dsa/dsa_lib.c",
"crypto/dsa/dsa_meth.c",
"crypto/dsa/dsa_ossl.c",
"crypto/dsa/dsa_pmeth.c",
"crypto/dsa/dsa_prn.c",
"crypto/dsa/dsa_sign.c",
"crypto/dsa/dsa_vrf.c",
"crypto/dso/dso_dl.c",
"crypto/dso/dso_dlfcn.c",
"crypto/dso/dso_err.c",
"crypto/dso/dso_lib.c",
"crypto/dso/dso_openssl.c",
"crypto/dso/dso_vms.c",
"crypto/dso/dso_win32.c",
"crypto/ebcdic.c",
"crypto/ec/curve25519.c",
"crypto/ec/curve448/arch_32/f_impl32.c",
"crypto/ec/curve448/arch_64/f_impl64.c",
"crypto/ec/curve448/curve448.c",
"crypto/ec/curve448/curve448_tables.c",
"crypto/ec/curve448/eddsa.c",
"crypto/ec/curve448/f_generic.c",
"crypto/ec/curve448/scalar.c",
"crypto/ec/ec2_oct.c",
"crypto/ec/ec2_smpl.c",
"crypto/ec/ec_ameth.c",
"crypto/ec/ec_asn1.c",
"crypto/ec/ec_backend.c",
"crypto/ec/ec_check.c",
"crypto/ec/ec_curve.c",
"crypto/ec/ec_cvt.c",
"crypto/ec/ec_deprecated.c",
"crypto/ec/ec_err.c",
"crypto/ec/ec_key.c",
"crypto/ec/ec_kmeth.c",
"crypto/ec/ec_lib.c",
"crypto/ec/ec_mult.c",
"crypto/ec/ec_oct.c",
"crypto/ec/ec_pmeth.c",
"crypto/ec/ec_print.c",
"crypto/ec/ecdh_kdf.c",
"crypto/ec/ecdh_ossl.c",
"crypto/ec/ecdsa_ossl.c",
"crypto/ec/ecdsa_sign.c",
"crypto/ec/ecdsa_vrf.c",
"crypto/ec/eck_prn.c",
"crypto/ec/ecp_mont.c",
"crypto/ec/ecp_nist.c",
"crypto/ec/ecp_nistz256.c",
"crypto/ec/ecp_oct.c",
"crypto/ec/ecp_smpl.c",
"crypto/ec/ecx_backend.c",
"crypto/ec/ecx_key.c",
"crypto/ec/ecx_meth.c",
"crypto/encode_decode/decoder_err.c",
"crypto/encode_decode/decoder_lib.c",
"crypto/encode_decode/decoder_meth.c",
"crypto/encode_decode/decoder_pkey.c",
"crypto/encode_decode/encoder_err.c",
"crypto/encode_decode/encoder_lib.c",
"crypto/encode_decode/encoder_meth.c",
"crypto/encode_decode/encoder_pkey.c",
"crypto/engine/eng_all.c",
"crypto/engine/eng_cnf.c",
"crypto/engine/eng_ctrl.c",
"crypto/engine/eng_dyn.c",
"crypto/engine/eng_err.c",
"crypto/engine/eng_fat.c",
"crypto/engine/eng_init.c",
"crypto/engine/eng_lib.c",
"crypto/engine/eng_list.c",
"crypto/engine/eng_openssl.c",
"crypto/engine/eng_pkey.c",
"crypto/engine/eng_rdrand.c",
"crypto/engine/eng_table.c",
"crypto/engine/tb_asnmth.c",
"crypto/engine/tb_cipher.c",
"crypto/engine/tb_dh.c",
"crypto/engine/tb_digest.c",
"crypto/engine/tb_dsa.c",
"crypto/engine/tb_eckey.c",
"crypto/engine/tb_pkmeth.c",
"crypto/engine/tb_rand.c",
"crypto/engine/tb_rsa.c",
"crypto/err/err.c",
"crypto/err/err_all.c",
"crypto/err/err_all_legacy.c",
"crypto/err/err_blocks.c",
"crypto/err/err_prn.c",
"crypto/ess/ess_asn1.c",
"crypto/ess/ess_err.c",
"crypto/ess/ess_lib.c",
"crypto/evp/asymcipher.c",
"crypto/evp/bio_b64.c",
"crypto/evp/bio_enc.c",
"crypto/evp/bio_md.c",
"crypto/evp/bio_ok.c",
"crypto/evp/c_allc.c",
"crypto/evp/c_alld.c",
"crypto/evp/cmeth_lib.c",
"crypto/evp/ctrl_params_translate.c",
"crypto/evp/dh_ctrl.c",
"crypto/evp/dh_support.c",
"crypto/evp/digest.c",
"crypto/evp/dsa_ctrl.c",
"crypto/evp/e_aes.c",
"crypto/evp/e_aes_cbc_hmac_sha1.c",
"crypto/evp/e_aes_cbc_hmac_sha256.c",
"crypto/evp/e_aria.c",
"crypto/evp/e_bf.c",
"crypto/evp/e_camellia.c",
"crypto/evp/e_cast.c",
"crypto/evp/e_chacha20_poly1305.c",
"crypto/evp/e_des.c",
"crypto/evp/e_des3.c",
"crypto/evp/e_idea.c",
"crypto/evp/e_null.c",
"crypto/evp/e_old.c",
"crypto/evp/e_rc2.c",
"crypto/evp/e_rc4.c",
"crypto/evp/e_rc4_hmac_md5.c",
"crypto/evp/e_rc5.c",
"crypto/evp/e_seed.c",
"crypto/evp/e_sm4.c",
"crypto/evp/e_xcbc_d.c",
"crypto/evp/ec_ctrl.c",
"crypto/evp/ec_support.c",
"crypto/evp/encode.c",
"crypto/evp/evp_cnf.c",
"crypto/evp/evp_enc.c",
"crypto/evp/evp_err.c",
"crypto/evp/evp_fetch.c",
"crypto/evp/evp_key.c",
"crypto/evp/evp_lib.c",
"crypto/evp/evp_pbe.c",
"crypto/evp/evp_pkey.c",
"crypto/evp/evp_rand.c",
"crypto/evp/evp_utils.c",
"crypto/evp/exchange.c",
"crypto/evp/kdf_lib.c",
"crypto/evp/kdf_meth.c",
"crypto/evp/kem.c",
"crypto/evp/keymgmt_lib.c",
"crypto/evp/keymgmt_meth.c",
"crypto/evp/legacy_blake2.c",
"crypto/evp/legacy_md4.c",
"crypto/evp/legacy_md5.c",
"crypto/evp/legacy_md5_sha1.c",
"crypto/evp/legacy_mdc2.c",
"crypto/evp/legacy_ripemd.c",
"crypto/evp/legacy_sha.c",
"crypto/evp/legacy_wp.c",
"crypto/evp/m_null.c",
"crypto/evp/m_sigver.c",
"crypto/evp/mac_lib.c",
"crypto/evp/mac_meth.c",
"crypto/evp/names.c",
"crypto/evp/p5_crpt.c",
"crypto/evp/p5_crpt2.c",
"crypto/evp/p_dec.c",
"crypto/evp/p_enc.c",
"crypto/evp/p_legacy.c",
"crypto/evp/p_lib.c",
"crypto/evp/p_open.c",
"crypto/evp/p_seal.c",
"crypto/evp/p_sign.c",
"crypto/evp/p_verify.c",
"crypto/evp/pbe_scrypt.c",
"crypto/evp/pmeth_check.c",
"crypto/evp/pmeth_gn.c",
"crypto/evp/pmeth_lib.c",
"crypto/evp/signature.c",
"crypto/ex_data.c",
"crypto/ffc/ffc_backend.c",
"crypto/ffc/ffc_dh.c",
"crypto/ffc/ffc_key_generate.c",
"crypto/ffc/ffc_key_validate.c",
"crypto/ffc/ffc_params.c",
"crypto/ffc/ffc_params_generate.c",
"crypto/ffc/ffc_params_validate.c",
"crypto/getenv.c",
"crypto/hmac/hmac.c",
"crypto/http/http_client.c",
"crypto/http/http_err.c",
"crypto/http/http_lib.c",
"crypto/idea/i_cbc.c",
"crypto/idea/i_cfb64.c",
"crypto/idea/i_ecb.c",
"crypto/idea/i_ofb64.c",
"crypto/idea/i_skey.c",
"crypto/info.c",
"crypto/init.c",
"crypto/initthread.c",
"crypto/kdf/kdf_err.c",
"crypto/lhash/lh_stats.c",
"crypto/lhash/lhash.c",
"crypto/md4/md4_dgst.c",
"crypto/md4/md4_one.c",
"crypto/md5/md5_dgst.c",
"crypto/md5/md5_one.c",
"crypto/md5/md5_sha1.c",
"crypto/mdc2/mdc2_one.c",
"crypto/mdc2/mdc2dgst.c",
"crypto/mem.c",
"crypto/mem_sec.c",
"crypto/modes/cbc128.c",
"crypto/modes/ccm128.c",
"crypto/modes/cfb128.c",
"crypto/modes/ctr128.c",
"crypto/modes/cts128.c",
"crypto/modes/gcm128.c",
"crypto/modes/ocb128.c",
"crypto/modes/ofb128.c",
"crypto/modes/siv128.c",
"crypto/modes/wrap128.c",
"crypto/modes/xts128.c",
"crypto/o_dir.c",
"crypto/o_fopen.c",
"crypto/o_init.c",
"crypto/o_str.c",
"crypto/o_time.c",
"crypto/objects/o_names.c",
"crypto/objects/obj_dat.c",
"crypto/objects/obj_err.c",
"crypto/objects/obj_lib.c",
"crypto/objects/obj_xref.c",
"crypto/ocsp/ocsp_asn.c",
"crypto/ocsp/ocsp_cl.c",
"crypto/ocsp/ocsp_err.c",
"crypto/ocsp/ocsp_ext.c",
"crypto/ocsp/ocsp_http.c",
"crypto/ocsp/ocsp_lib.c",
"crypto/ocsp/ocsp_prn.c",
"crypto/ocsp/ocsp_srv.c",
"crypto/ocsp/ocsp_vfy.c",
"crypto/ocsp/v3_ocsp.c",
"crypto/packet.c",
"crypto/param_build.c",
"crypto/param_build_set.c",
"crypto/params.c",
"crypto/params_dup.c",
"crypto/params_from_text.c",
"crypto/passphrase.c",
"crypto/pem/pem_all.c",
"crypto/pem/pem_err.c",
"crypto/pem/pem_info.c",
"crypto/pem/pem_lib.c",
"crypto/pem/pem_oth.c",
"crypto/pem/pem_pk8.c",
"crypto/pem/pem_pkey.c",
"crypto/pem/pem_sign.c",
"crypto/pem/pem_x509.c",
"crypto/pem/pem_xaux.c",
"crypto/pem/pvkfmt.c",
"crypto/pkcs12/p12_add.c",
"crypto/pkcs12/p12_asn.c",
"crypto/pkcs12/p12_attr.c",
"crypto/pkcs12/p12_crpt.c",
"crypto/pkcs12/p12_crt.c",
"crypto/pkcs12/p12_decr.c",
"crypto/pkcs12/p12_init.c",
"crypto/pkcs12/p12_key.c",
"crypto/pkcs12/p12_kiss.c",
"crypto/pkcs12/p12_mutl.c",
"crypto/pkcs12/p12_npas.c",
"crypto/pkcs12/p12_p8d.c",
"crypto/pkcs12/p12_p8e.c",
"crypto/pkcs12/p12_sbag.c",
"crypto/pkcs12/p12_utl.c",
"crypto/pkcs12/pk12err.c",
"crypto/pkcs7/bio_pk7.c",
"crypto/pkcs7/pk7_asn1.c",
"crypto/pkcs7/pk7_attr.c",
"crypto/pkcs7/pk7_doit.c",
"crypto/pkcs7/pk7_lib.c",
"crypto/pkcs7/pk7_mime.c",
"crypto/pkcs7/pk7_smime.c",
"crypto/pkcs7/pkcs7err.c",
"crypto/poly1305/poly1305.c",
"crypto/property/defn_cache.c",
"crypto/property/property.c",
"crypto/property/property_err.c",
"crypto/property/property_parse.c",
"crypto/property/property_query.c",
"crypto/property/property_string.c",
"crypto/provider.c",
"crypto/provider_child.c",
"crypto/provider_conf.c",
"crypto/provider_core.c",
"crypto/provider_predefined.c",
"crypto/punycode.c",
"crypto/rand/prov_seed.c",
"crypto/rand/rand_deprecated.c",
"crypto/rand/rand_err.c",
"crypto/rand/rand_lib.c",
"crypto/rand/rand_meth.c",
"crypto/rand/rand_pool.c",
"crypto/rand/randfile.c",
"crypto/rc2/rc2_cbc.c",
"crypto/rc2/rc2_ecb.c",
"crypto/rc2/rc2_skey.c",
"crypto/rc2/rc2cfb64.c",
"crypto/rc2/rc2ofb64.c",
"crypto/ripemd/rmd_dgst.c",
"crypto/ripemd/rmd_one.c",
"crypto/rsa/rsa_ameth.c",
"crypto/rsa/rsa_asn1.c",
"crypto/rsa/rsa_backend.c",
"crypto/rsa/rsa_chk.c",
"crypto/rsa/rsa_crpt.c",
"crypto/rsa/rsa_depr.c",
"crypto/rsa/rsa_err.c",
"crypto/rsa/rsa_gen.c",
"crypto/rsa/rsa_lib.c",
"crypto/rsa/rsa_meth.c",
"crypto/rsa/rsa_mp.c",
"crypto/rsa/rsa_mp_names.c",
"crypto/rsa/rsa_none.c",
"crypto/rsa/rsa_oaep.c",
"crypto/rsa/rsa_ossl.c",
"crypto/rsa/rsa_pk1.c",
"crypto/rsa/rsa_pmeth.c",
"crypto/rsa/rsa_prn.c",
"crypto/rsa/rsa_pss.c",
"crypto/rsa/rsa_saos.c",
"crypto/rsa/rsa_schemes.c",
"crypto/rsa/rsa_sign.c",
"crypto/rsa/rsa_sp800_56b_check.c",
"crypto/rsa/rsa_sp800_56b_gen.c",
"crypto/rsa/rsa_x931.c",
"crypto/rsa/rsa_x931g.c",
"crypto/seed/seed.c",
"crypto/seed/seed_cbc.c",
"crypto/seed/seed_cfb.c",
"crypto/seed/seed_ecb.c",
"crypto/seed/seed_ofb.c",
"crypto/self_test_core.c",
"crypto/sha/sha1_one.c",
"crypto/sha/sha1dgst.c",
"crypto/sha/sha256.c",
"crypto/sha/sha3.c",
"crypto/sha/sha512.c",
"crypto/siphash/siphash.c",
"crypto/sm2/sm2_crypt.c",
"crypto/sm2/sm2_err.c",
"crypto/sm2/sm2_key.c",
"crypto/sm2/sm2_sign.c",
"crypto/sm3/legacy_sm3.c",
"crypto/sm3/sm3.c",
"crypto/sm4/sm4.c",
"crypto/sparse_array.c",
"crypto/srp/srp_lib.c",
"crypto/srp/srp_vfy.c",
"crypto/stack/stack.c",
"crypto/store/store_err.c",
"crypto/store/store_init.c",
"crypto/store/store_lib.c",
"crypto/store/store_meth.c",
"crypto/store/store_register.c",
"crypto/store/store_result.c",
"crypto/store/store_strings.c",
"crypto/threads_lib.c",
"crypto/threads_none.c",
"crypto/threads_pthread.c",
"crypto/threads_win.c",
"crypto/trace.c",
"crypto/ts/ts_asn1.c",
"crypto/ts/ts_conf.c",
"crypto/ts/ts_err.c",
"crypto/ts/ts_lib.c",
"crypto/ts/ts_req_print.c",
"crypto/ts/ts_req_utils.c",
"crypto/ts/ts_rsp_print.c",
"crypto/ts/ts_rsp_sign.c",
"crypto/ts/ts_rsp_utils.c",
"crypto/ts/ts_rsp_verify.c",
"crypto/ts/ts_verify_ctx.c",
"crypto/txt_db/txt_db.c",
"crypto/ui/ui_err.c",
"crypto/ui/ui_lib.c",
"crypto/ui/ui_null.c",
"crypto/ui/ui_openssl.c",
"crypto/ui/ui_util.c",
"crypto/uid.c",
"crypto/whrlpool/wp_dgst.c",
"crypto/x509/by_dir.c",
"crypto/x509/by_file.c",
"crypto/x509/by_store.c",
"crypto/x509/pcy_cache.c",
"crypto/x509/pcy_data.c",
"crypto/x509/pcy_lib.c",
"crypto/x509/pcy_map.c",
"crypto/x509/pcy_node.c",
"crypto/x509/pcy_tree.c",
"crypto/x509/t_crl.c",
"crypto/x509/t_req.c",
"crypto/x509/t_x509.c",
"crypto/x509/v3_addr.c",
"crypto/x509/v3_admis.c",
"crypto/x509/v3_akeya.c",
"crypto/x509/v3_akid.c",
"crypto/x509/v3_asid.c",
"crypto/x509/v3_bcons.c",
"crypto/x509/v3_bitst.c",
"crypto/x509/v3_conf.c",
"crypto/x509/v3_cpols.c",
"crypto/x509/v3_crld.c",
"crypto/x509/v3_enum.c",
"crypto/x509/v3_extku.c",
"crypto/x509/v3_genn.c",
"crypto/x509/v3_ia5.c",
"crypto/x509/v3_info.c",
"crypto/x509/v3_int.c",
"crypto/x509/v3_ist.c",
"crypto/x509/v3_lib.c",
"crypto/x509/v3_ncons.c",
"crypto/x509/v3_pci.c",
"crypto/x509/v3_pcia.c",
"crypto/x509/v3_pcons.c",
"crypto/x509/v3_pku.c",
"crypto/x509/v3_pmaps.c",
"crypto/x509/v3_prn.c",
"crypto/x509/v3_purp.c",
"crypto/x509/v3_san.c",
"crypto/x509/v3_skid.c",
"crypto/x509/v3_sxnet.c",
"crypto/x509/v3_tlsf.c",
"crypto/x509/v3_utf8.c",
"crypto/x509/v3_utl.c",
"crypto/x509/v3err.c",
"crypto/x509/x509_att.c",
"crypto/x509/x509_cmp.c",
"crypto/x509/x509_d2.c",
"crypto/x509/x509_def.c",
"crypto/x509/x509_err.c",
"crypto/x509/x509_ext.c",
"crypto/x509/x509_lu.c",
"crypto/x509/x509_meth.c",
"crypto/x509/x509_obj.c",
"crypto/x509/x509_r2x.c",
"crypto/x509/x509_req.c",
"crypto/x509/x509_set.c",
"crypto/x509/x509_trust.c",
"crypto/x509/x509_txt.c",
"crypto/x509/x509_v3.c",
"crypto/x509/x509_vfy.c",
"crypto/x509/x509_vpm.c",
"crypto/x509/x509cset.c",
"crypto/x509/x509name.c",
"crypto/x509/x509rset.c",
"crypto/x509/x509spki.c",
"crypto/x509/x509type.c",
"crypto/x509/x_all.c",
"crypto/x509/x_attrib.c",
"crypto/x509/x_crl.c",
"crypto/x509/x_exten.c",
"crypto/x509/x_name.c",
"crypto/x509/x_pubkey.c",
"crypto/x509/x_req.c",
"crypto/x509/x_x509.c",
"crypto/x509/x_x509a.c",
"engines/e_capi.c",
"engines/e_padlock.c",
"providers/baseprov.c",
"providers/defltprov.c",
"providers/legacyprov.c",
"providers/nullprov.c",
"providers/prov_running.c",
]
sources += libcommon_common_sources
sources += libcommon_build_all_generated_selected_platform_sources
sources += libdefault_common_sources
sources += libdefault_build_all_generated_selected_platform_sources
sources += libcrypto_build_all_generated_selected_platform_sources
sources += liblegacy_sources
if (openssl_selected_platform == "linux-armv4") {
# 升级修改适配检查点21 libcrypto 不同平台c源码列表
sources += [
"crypto/aes/aes_cbc.c",
"crypto/armcap.c",
"crypto/bn/bn_asm.c",
"crypto/camellia/camellia.c",
"crypto/camellia/cmll_cbc.c",
"crypto/rc4/rc4_enc.c",
"crypto/rc4/rc4_skey.c",
"crypto/whrlpool/wp_block.c",
"engines/e_afalg.c",
]
} else if (openssl_selected_platform == "linux-aarch64") {
# 升级修改适配检查点22 libcrypto 不同平台c源码列表
sources += [
"crypto/aes/aes_cbc.c",
"crypto/aes/aes_core.c",
"crypto/armcap.c",
"crypto/bn/bn_asm.c",
"crypto/camellia/camellia.c",
"crypto/camellia/cmll_cbc.c",
"crypto/rc4/rc4_enc.c",
"crypto/rc4/rc4_skey.c",
"crypto/whrlpool/wp_block.c",
"engines/e_afalg.c",
]
} else if (openssl_selected_platform == "darwin64-x86_64-cc") {
# 升级修改适配检查点23 libcrypto 不同平台c源码列表
sources += [
"crypto/bn/asm/x86_64-gcc.c",
"crypto/bn/rsaz_exp.c",
"crypto/bn/rsaz_exp_x2.c",
]
} else if (openssl_selected_platform == "darwin64-arm64-cc") {
# 升级修改适配检查点24 libcrypto 不同平台c源码列表
sources += [
"crypto/aes/aes_cbc.c",
"crypto/aes/aes_core.c",
"crypto/armcap.c",
"crypto/bn/bn_asm.c",
"crypto/camellia/camellia.c",
"crypto/camellia/cmll_cbc.c",
"crypto/rc4/rc4_enc.c",
"crypto/rc4/rc4_skey.c",
"crypto/whrlpool/wp_block.c",
]
} else if (openssl_selected_platform == "linux-x86_64") {
# 升级修改适配检查点25 libcrypto 不同平台c源码列表
sources += [
"crypto/bn/asm/x86_64-gcc.c",
"crypto/bn/rsaz_exp.c",
"crypto/bn/rsaz_exp_x2.c",
"engines/e_afalg.c",
]
} else if (openssl_selected_platform == "mingw64") {
# 升级修改适配检查点26 libcrypto 不同平台c源码列表
sources += [
"crypto/bn/asm/x86_64-gcc.c",
"crypto/bn/rsaz_exp.c",
"crypto/bn/rsaz_exp_x2.c",
]
}
configs = [ ":crypto_config_private" ]
public_configs = [ ":crypto_config_public" ]
deps = [ ":openssl_build_all_generated" ]
}
ohos_static_library("libcrypto_static") {
if (!compatible_with_legacy_build_system) {
subsystem_name = "thirdparty"
part_name = "openssl"
}
deps = [ ":crypto_source" ]
public_configs = [ ":crypto_config_public" ]
complete_static_lib = true
}
if (is_mingw || is_mac) {
ohos_shared_library("libcrypto_restool") {
sources = []
configs = []
deps = [ ":crypto_source" ]
if (openssl_selected_platform == "mingw64") {
sources += [ "crypto/dllmain.c" ]
configs += [ ":crypto_config_private" ]
}
if (compatible_with_legacy_build_system) {
subsystem_name = "security"
part_name = "huks"
} else {
subsystem_name = "thirdparty"
part_name = "openssl"
}
public_configs = [ ":crypto_config_public" ]
install_images = [
"system",
"updater",
]
}
}
ohos_shared_library("libcrypto_shared") {
sources = []
configs = []
deps = [
":crypto_source",
":openssl.cnf",
]
if (openssl_selected_platform == "mingw64") {
sources += [ "crypto/dllmain.c" ]
configs += [ ":crypto_config_private" ]
}
if (current_os == "ios") {
ldflags = [
"-Wl",
"-install_name",
"@rpath/libcrypto_openssl.framework/libcrypto_openssl",
]
output_name = "crypto_openssl"
} else {
output_name = "libcrypto_openssl"
}
if (compatible_with_legacy_build_system) {
subsystem_name = "security"
part_name = "huks"
} else {
subsystem_name = "thirdparty"
part_name = "openssl"
}
if (!compatible_with_legacy_build_system) {
innerapi_tags = [
"platformsdk",
"chipsetsdk",
]
}
public_configs = [ ":crypto_config_public" ]
install_images = [
"system",
"updater",
]
}
if (current_os == "ios") {
ohos_combine_darwin_framework("libcrypto_openssl") {
deps = [ ":libcrypto_shared" ]
subsystem_name = "thirdparty"
part_name = "openssl"
}
}
unused_variables = []
unused_variables += unused_variables
unused_variables += crypto_config_common_private_include_dirs
unused_variables += crypto_config_common_public_include_dirs
unused_variables += crypto_config_common_cflags
unused_variables += crypto_config_linux_armv4_cflags
unused_variables += crypto_config_linux_aarch64_cflags
unused_variables += crypto_config_darwin64_x86_64_cc_cflags
unused_variables += crypto_config_darwin64_arm64_cc_cflags
unused_variables += crypto_config_linux_x86_64_cflags
unused_variables += crypto_config_mingw64_cflags
unused_variables += libcommon_common_sources
unused_variables += libdefault_common_sources
unused_variables += libcrypto_build_all_generated_linux_armv4_sources
unused_variables += libcrypto_build_all_generated_linux_aarch64_sources
unused_variables += libcrypto_build_all_generated_darwin64_x86_64_cc_sources
unused_variables += libcrypto_build_all_generated_darwin64_arm64_cc_sources
unused_variables += libcrypto_build_all_generated_linux_x86_64_sources
unused_variables += libcrypto_build_all_generated_mingw64_sources
config("ssl_config_private") {
include_dirs = crypto_config_common_private_include_dirs
cflags = crypto_config_common_cflags + crypto_config_current_platform_cflags +
openssl_internal_cflags
}
config("ssl_config_public") {
include_dirs = crypto_config_common_public_include_dirs
}
ohos_source_set("ssl_source") {
if (!compatible_with_legacy_build_system) {
subsystem_name = "thirdparty"
part_name = "openssl"
}
# 升级修改适配检查点27 libssl 源码列表
sources = [
"ssl/bio_ssl.c",
"ssl/d1_lib.c",
"ssl/d1_msg.c",
"ssl/d1_srtp.c",
"ssl/methods.c",
"ssl/pqueue.c",
"ssl/record/dtls1_bitmap.c",
"ssl/record/rec_layer_d1.c",
"ssl/record/rec_layer_s3.c",
"ssl/record/ssl3_buffer.c",
"ssl/record/ssl3_record.c",
"ssl/record/ssl3_record_tls13.c",
"ssl/s3_enc.c",
"ssl/s3_lib.c",
"ssl/s3_msg.c",
"ssl/ssl_asn1.c",
"ssl/ssl_cert.c",
"ssl/ssl_ciph.c",
"ssl/ssl_conf.c",
"ssl/ssl_err.c",
"ssl/ssl_err_legacy.c",
"ssl/ssl_init.c",
"ssl/ssl_lib.c",
"ssl/ssl_mcnf.c",
"ssl/ssl_rsa.c",
"ssl/ssl_rsa_legacy.c",
"ssl/ssl_sess.c",
"ssl/ssl_stat.c",
"ssl/ssl_txt.c",
"ssl/ssl_utst.c",
"ssl/statem/extensions.c",
"ssl/statem/extensions_clnt.c",
"ssl/statem/extensions_cust.c",
"ssl/statem/extensions_srvr.c",
"ssl/statem/statem.c",
"ssl/statem/statem_clnt.c",
"ssl/statem/statem_dtls.c",
"ssl/statem/statem_lib.c",
"ssl/statem/statem_srvr.c",
"ssl/t1_enc.c",
"ssl/t1_lib.c",
"ssl/t1_trce.c",
"ssl/tls13_enc.c",
"ssl/tls_depr.c",
"ssl/tls_srp.c",
]
configs = [ ":ssl_config_private" ]
public_configs = [ ":ssl_config_public" ]
deps = [ ":openssl_build_all_generated" ]
}
ohos_static_library("libssl_static") {
if (!compatible_with_legacy_build_system) {
subsystem_name = "thirdparty"
part_name = "openssl"
}
deps = [ ":ssl_source" ]
public_configs = [ ":ssl_config_public" ]
complete_static_lib = true
}
ohos_shared_library("libssl_shared") {
deps = [
":libcrypto_shared",
":openssl.cnf",
":ssl_source",
]
if (current_os == "ios") {
ldflags = [
"-Wl",
"-install_name",
"@rpath/libssl_openssl.framework/libssl_openssl",
]
output_name = "ssl_openssl"
} else {
output_name = "libssl_openssl"
}
if (compatible_with_legacy_build_system) {
subsystem_name = "developtools"
part_name = "profiler"
} else {
subsystem_name = "thirdparty"
part_name = "openssl"
}
if (!compatible_with_legacy_build_system) {
innerapi_tags = [
"platformsdk",
"chipsetsdk",
]
}
public_configs = [
":crypto_config_public",
":ssl_config_public",
]
install_images = [
"system",
# compile libssl_openssl.z.so to the updater image for wpa to use
"updater",
]
}
if (current_os == "ios") {
ohos_combine_darwin_framework("libssl_openssl") {
deps = [ ":libssl_shared" ]
subsystem_name = "thirdparty"
part_name = "openssl"
}
}
ohos_static_library("libapps") {
# 升级修改适配检查点28 libapps 源码列表
sources = [
"apps/lib/app_libctx.c",
"apps/lib/app_params.c",
"apps/lib/app_provider.c",
"apps/lib/app_rand.c",
"apps/lib/app_x509.c",
"apps/lib/apps.c",
"apps/lib/apps_ui.c",
"apps/lib/columns.c",
"apps/lib/engine.c",
"apps/lib/engine_loader.c",
"apps/lib/fmt.c",
"apps/lib/http_server.c",
"apps/lib/names.c",
"apps/lib/opt.c",
"apps/lib/s_cb.c",
"apps/lib/s_socket.c",
"apps/lib/tlssrp_depr.c",
]
if (openssl_selected_platform == "mingw64") {
sources += [ "apps/lib/win32_init.c" ]
}
if (!compatible_with_legacy_build_system) {
subsystem_name = "thirdparty"
part_name = "openssl"
}
configs = [ ":crypto_config_private" ]
}
ohos_executable("openssl") {
# 升级修改适配检查点29 apps/openssl 源码列表
sources = [
"${openssl_selected_platform_full_path}/apps/progs.c",
"apps/asn1parse.c",
"apps/ca.c",
"apps/ciphers.c",
"apps/cmp.c",
"apps/cms.c",
"apps/crl.c",
"apps/crl2pkcs7.c",
"apps/dgst.c",
"apps/dhparam.c",
"apps/dsa.c",
"apps/dsaparam.c",
"apps/ec.c",
"apps/ecparam.c",
"apps/enc.c",
"apps/engine.c",
"apps/errstr.c",
"apps/fipsinstall.c",
"apps/gendsa.c",
"apps/genpkey.c",
"apps/genrsa.c",
"apps/info.c",
"apps/kdf.c",
"apps/lib/cmp_mock_srv.c",
"apps/list.c",
"apps/mac.c",
"apps/nseq.c",
"apps/ocsp.c",
"apps/openssl.c",
"apps/passwd.c",
"apps/pkcs12.c",
"apps/pkcs7.c",
"apps/pkcs8.c",
"apps/pkey.c",
"apps/pkeyparam.c",
"apps/pkeyutl.c",
"apps/prime.c",
"apps/rand.c",
"apps/rehash.c",
"apps/req.c",
"apps/rsa.c",
"apps/rsautl.c",
"apps/s_client.c",
"apps/s_server.c",
"apps/s_time.c",
"apps/sess_id.c",
"apps/smime.c",
"apps/speed.c",
"apps/spkac.c",
"apps/srp.c",
"apps/storeutl.c",
"apps/ts.c",
"apps/verify.c",
"apps/version.c",
"apps/x509.c",
]
if (openssl_selected_platform == "mingw64") {
sources += [ "${openssl_selected_platform_full_path}/apps/openssl.rc" ]
}
deps = [
":libapps",
":libcrypto_shared",
":libssl_shared",
":openssl.cnf",
":openssl_build_all_generated",
]
if (compatible_with_legacy_build_system) {
subsystem_name = "security"
part_name = "huks"
} else {
subsystem_name = "thirdparty"
part_name = "openssl"
}
configs = [ ":crypto_config_private" ]
}
# 升级修改适配检查点 汇总
#
# libcommon =
# libcommon 生成的源码列表(7) +
# libcommon 原目录源码列表(17)
#
# libdefault =
# libdefault 生成的源码列表(8) +
# libdefault 原目录源码列表(18)
#
# liblegacy =
# liblegacy 源码列表(19)
#
# libcrypto =
# libcrypto 不同平台汇编代码(1,2,3,4,5,6) +
# libcrypto 不同平台c源码列表(21,22,23,24,25,26) +
# libcrypto 原目录源码列表(20) +
# libcommon +
# libdefault +
# liblegacy
#
# libssl =
# libssl 源码列表(27)
#
# libapps =
# libapps 源码列表(28)
#
# apps/openssl =
# apps/openssl 源码列表(29) +
# libapps
#
# 编译选项 =
# 内部公共头文件目录列表(9) +
# 内部公共编译选项宏列表(10) +
# 内部不同平台编译选项列表(11,12,13,14,15,16)
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/wangmengyao111/third_party_openssl.git
git@gitee.com:wangmengyao111/third_party_openssl.git
wangmengyao111
third_party_openssl
third_party_openssl
master

搜索帮助