2015-04-29 00:50:34 +02:00
|
|
|
from toolchain import Recipe, shprint
|
2015-08-14 12:18:15 +02:00
|
|
|
from os.path import join
|
2015-04-29 00:50:34 +02:00
|
|
|
import sh
|
|
|
|
|
|
|
|
|
|
|
|
arch_mapper = {'i386': 'darwin-i386-cc',
|
|
|
|
'x86_64': 'darwin64-x86_64-cc',
|
2020-04-11 11:50:24 +02:00
|
|
|
'armv7': 'ios-cross',
|
|
|
|
'arm64': 'ios64-cross'}
|
2015-04-29 00:50:34 +02:00
|
|
|
|
|
|
|
|
|
|
|
class OpensslRecipe(Recipe):
|
2020-04-11 11:50:24 +02:00
|
|
|
version = "1.1.1f"
|
2015-04-29 00:50:34 +02:00
|
|
|
url = "http://www.openssl.org/source/openssl-{version}.tar.gz"
|
|
|
|
libraries = ["libssl.a", "libcrypto.a"]
|
|
|
|
include_dir = "include"
|
|
|
|
include_per_arch = True
|
|
|
|
|
|
|
|
def build_arch(self, arch):
|
|
|
|
build_env = arch.get_env()
|
|
|
|
target = arch_mapper[arch.arch]
|
|
|
|
shprint(sh.env, _env=build_env)
|
|
|
|
sh.perl(join(self.build_dir, "Configure"),
|
|
|
|
target,
|
|
|
|
_env=build_env)
|
2020-04-11 11:50:24 +02:00
|
|
|
if target.endswith('-cross'):
|
|
|
|
with open('Makefile', 'r') as makefile:
|
|
|
|
filedata = makefile.read()
|
|
|
|
filedata = filedata.replace('$(CROSS_TOP)/SDKs/$(CROSS_SDK)', arch.sysroot)
|
|
|
|
with open('Makefile', 'w') as makefile:
|
|
|
|
makefile.write(filedata)
|
2015-04-29 00:50:34 +02:00
|
|
|
shprint(sh.make, "clean")
|
2017-05-02 08:10:11 +02:00
|
|
|
shprint(sh.make, self.ctx.concurrent_make, "build_libs")
|
2015-04-29 00:50:34 +02:00
|
|
|
|
|
|
|
recipe = OpensslRecipe()
|