On very few platforms, namely linux-armv4 and linux-ppc, the generated-config directory contains a reference to an atomic library in the 3.0.2 version, but not in the 1.1.1 version.
$ grep atomic $(find subprojects/openssl-3.0.2/generated-config/ -type f -name meson.build)
subprojects/openssl-3.0.2/generated-config/archs/linux-armv4/asm/meson.build: 'atomic',
subprojects/openssl-3.0.2/generated-config/archs/linux-armv4/no-asm/meson.build: 'atomic',
subprojects/openssl-3.0.2/generated-config/archs/linux-ppc/asm/meson.build: 'atomic',
subprojects/openssl-3.0.2/generated-config/archs/linux-ppc/no-asm/meson.build: 'atomic',
The main meson.build decides that the Android NDK is Linux, which for most intents and purposes is entirely reasonable. However, the Linux NDK does not provide an atomic library; therefore, the NDK build breaks for these platforms.
As a suggestion, split openssl_libraries into required and optional libraries, so that this distinction can be made at compile time.
On very few platforms, namely
linux-armv4andlinux-ppc, thegenerated-configdirectory contains a reference to anatomiclibrary in the 3.0.2 version, but not in the 1.1.1 version.The main
meson.builddecides that the Android NDK is Linux, which for most intents and purposes is entirely reasonable. However, the Linux NDK does not provide anatomiclibrary; therefore, the NDK build breaks for these platforms.As a suggestion, split
openssl_librariesinto required and optional libraries, so that this distinction can be made at compile time.