Recipe for Building OpenSSL static library for Apple Silicon & Intel?

So to support Apple Silicon in my app I need a fat version OpenSSL for Intel/Arm.

However, I cannot get OpenSSL to build for ARM if I lower the deployment target to an earlier version of macOS before Big Sur.

I was able to make a fat version of OpenSSL by making the ARM half have a deployment target of 10.15, but when added to my project, Xcode spits out warnings about Object files built for a newer macOS version than being linked.

Anyone know the proper procedure to make a backward compatible version (pre-macOS 10.15) of OpenSSL static library and still support M1 natively?

I don't think I'm currently willing to raise the deployment target of my app to 10.15 just to link the OpenSSL library.
I was able to build an XCFramework of OpenSSL v1.1.1h based on

https://github.com/adib/openssl-xcframeworks/tree/develop/BigSur

for all platforms with fat binaries for all architectures, including:

macOS (x8664, arm64)
iOS Mac Catalyst (x86
64, arm64)
iOS (armv7, arm64)
iOS simulator (x8664, arm64)
tvOS (arm64)
tvOS simulator (x86
64)
watchOS (arm64_32, armv7k)

I'm using it with a macOS deployment target 10.11...

Cheers, Mattes
@MyMattes

Thanks for sharing that repository. I wasn't able to get this to build though. I keep getting the following error:

error: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/otool-classic: can't open file: MacOSX10.11-x86_64.sdk/lib/libcrypto.a (No such file or directory)

Do you know where I could be going wrong here?

@MyMattes

iOS (armv7, arm64)
iOS simulator (x8664, arm64)

How are you configuring your project though to pick the right archive based on the platform?

I see that there is "macOS + iOS / macOS / iOS" drop down in "Link Library With Libraries", but it has no option to pick one library for Simulator and another library for device.