kivy-ios/recipes/openssl/__init__.py

49 lines
1.6 KiB
Python
Raw Normal View History

2015-04-29 00:50:34 +02:00
from toolchain import Recipe, shprint
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',
'armv7': 'iphoneos-cross',
'arm64': 'iphoneos-cross'}
class OpensslRecipe(Recipe):
2017-03-13 22:06:35 +01:00
version = "1.0.2k"
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):
options_iphoneos = (
"-isysroot {}".format(arch.sysroot),
"-DOPENSSL_THREADS",
"-D_REENTRANT",
"-DDSO_DLFCN",
"-DHAVE_DLFCN_H",
"-fomit-frame-pointer",
"-fno-common",
"-O3"
)
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)
if target == 'iphoneos-cross':
sh.sed("-ie", "s!^CFLAG=.*!CFLAG={} {}!".format(build_env['CFLAGS'],
" ".join(options_iphoneos)),
"Makefile")
sh.sed("-ie", "s!static volatile sig_atomic_t intr_signal;!static volatile intr_signal;! ",
"crypto/ui/ui_openssl.c")
else:
sh.sed("-ie", "s!^CFLAG=!CFLAG={} !".format(build_env['CFLAGS']),
"Makefile")
shprint(sh.make, "clean")
shprint(sh.make, self.ctx.concurrent_make, "build_libs")
2015-04-29 00:50:34 +02:00
recipe = OpensslRecipe()