blob: 6a7f6141535a26eb1dd219b78915d3f88db54995 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
|
include ../../Makefile.include OPENSSL-VERSION ../../download-files.include
DEPS = ../../Makefile.include Makefile OPENSSL-VERSION ../../download-files.include \
001-android-getauxvalrevert.patch 16-kodi.conf
# configuration settings
ifeq ($(OS), linux)
TARGETOPT=--with-zlib-include=$(PREFIX)/include --with-zlib-lib=$(PREFIX)/lib
CONFIGURE=./Configure no-shared zlib no-tests no-asm no-module $(TARGETOPT) --prefix=$(PREFIX) --libdir=lib
ifeq ($(TARGET_PLATFORM),webos)
CONFIGURE+= linux-armv4
else
ifeq ($(CPU),aarch64)
CONFIGURE+= linux-aarch64
else ifeq ($(CPU),arm)
CONFIGURE+= linux-armv4
else ifeq ($(CPU),x86_64)
CONFIGURE+= linux-x86_64
else
# Fallback to base generic linux target
CONFIGURE+= linux-generic32
endif
endif
else
ifeq ($(OS), android)
TARGETOPT=--with-zlib-include=$(PREFIX)/include --with-zlib-lib=$(PREFIX)/lib -U__ANDROID_API__ -D__ANDROID_API__=$(NDK_LEVEL)
export ANDROID_NDK_ROOT=$(NDKROOT)
export PATH:=$(TOOLCHAIN)/bin:$(PATH)
ifeq ($(MESON_CPU), aarch64)
OPENSSLPLATFORM=android-arm64
else
OPENSSLPLATFORM=android-$(MESON_CPU)
endif
endif
ifeq ($(OS), darwin_embedded)
# LLVM 15 has raised this to error by default. drop back to warning
CFLAGS+= -Wno-error=implicit-int
export SDKROOT CFLAGS
OPENSSLPLATFORM=kodi-iphoneos-arm64
ifeq ($(TARGET_PLATFORM),appletvos)
OPENSSLPLATFORM=kodi-appletvos-arm64
# Need to add "no-async" to avoid "'setcontext' is unavailable: not available on tvOS" error
TARGETOPT+= no-async
endif
endif
ifeq ($(OS), osx)
OPENSSLPLATFORM=kodi-darwin64-$(CPU)
endif
# Openssl 3.2.0 allows no-apps no-docs as options. Use when we update further
# We explicitly use no-asm as there is a symbol clash with gnutls
CONFIGURE=./Configure no-shared zlib no-tests no-asm no-module $(TARGETOPT) --prefix=$(PREFIX) $(OPENSSLPLATFORM)
endif
export CC CXX AR RANLIB
export CFLAGS CXXFLAGS CPPFLAGS LDFLAGS
LIBDYLIB=$(PLATFORM)/libssl.a
all: .installed-$(PLATFORM)
$(PLATFORM): $(DEPS) | $(TARBALLS_LOCATION)/$(ARCHIVE).$(HASH_TYPE)
rm -rf $(PLATFORM); mkdir -p $(PLATFORM)
cd $(PLATFORM); $(ARCHIVE_TOOL) $(ARCHIVE_TOOL_FLAGS) $(TARBALLS_LOCATION)/$(ARCHIVE)
ifeq ($(OS),android)
cd $(PLATFORM); patch -p1 -i ../001-android-getauxvalrevert.patch
endif
cd $(PLATFORM); cp ../16-kodi.conf ./Configurations/
cd $(PLATFORM); $(CONFIGURE)
if test "$(OS)" = "darwin_embedded"; then \
sed -E -ie "s|static volatile sig_atomic_t intr_signal;|static volatile intr_signal;|" "$(PLATFORM)/crypto/ui/ui_openssl.c"; \
fi
sed -ie "s|PROGRAMS=|PROGRAMS=#|" "$(PLATFORM)/Makefile";
$(LIBDYLIB): $(PLATFORM)
$(MAKE) -C $(PLATFORM)
touch $@
.installed-$(PLATFORM): $(LIBDYLIB)
$(MAKE) -C $(PLATFORM) install_sw
touch $@
clean:
$(MAKE) -C $(PLATFORM) clean
rm -f .installed-$(PLATFORM)
distclean::
rm -rf $(PLATFORM) .installed-$(PLATFORM)
|