aboutsummaryrefslogtreecommitdiff
path: root/tools/depends
diff options
context:
space:
mode:
Diffstat (limited to 'tools/depends')
-rw-r--r--tools/depends/.gitignore36
-rw-r--r--tools/depends/Makefile.include.in38
-rw-r--r--tools/depends/README.md40
-rwxr-xr-xtools/depends/bootstrap2
-rw-r--r--tools/depends/configure.ac598
-rw-r--r--tools/depends/download-files.include59
-rw-r--r--tools/depends/m4/ax_compare_version.m4177
-rw-r--r--tools/depends/m4/ax_cxx_compile_stdcxx.m4951
-rw-r--r--tools/depends/m4/ax_cxx_compile_stdcxx_14.m4146
-rw-r--r--tools/depends/m4/xbmc_arch.m421
-rw-r--r--tools/depends/native/JsonSchemaBuilder/CMakeLists.txt5
-rw-r--r--tools/depends/native/JsonSchemaBuilder/src/JsonSchemaBuilder.cpp2
-rw-r--r--tools/depends/native/Makefile86
-rw-r--r--tools/depends/native/Mako/Makefile (renamed from tools/depends/native/distribute/Makefile)14
-rw-r--r--tools/depends/native/MarkupSafe/Makefile (renamed from tools/depends/native/distutilscross/Makefile)17
-rw-r--r--tools/depends/native/TexturePacker/CMakeLists.txt2
-rw-r--r--tools/depends/native/TexturePacker/src/DecoderManager.cpp5
-rw-r--r--tools/depends/native/TexturePacker/src/DecoderManager.h2
-rw-r--r--tools/depends/native/TexturePacker/src/TexturePacker.cpp16
-rw-r--r--tools/depends/native/TexturePacker/src/decoder/GIFDecoder.cpp27
-rw-r--r--tools/depends/native/TexturePacker/src/decoder/GIFDecoder.h4
-rw-r--r--tools/depends/native/TexturePacker/src/decoder/IDecoder.h70
-rw-r--r--tools/depends/native/TexturePacker/src/decoder/JPGDecoder.cpp13
-rw-r--r--tools/depends/native/TexturePacker/src/decoder/JPGDecoder.h2
-rw-r--r--tools/depends/native/TexturePacker/src/decoder/PNGDecoder.cpp13
-rw-r--r--tools/depends/native/TexturePacker/src/decoder/PNGDecoder.h2
-rw-r--r--tools/depends/native/Toolchain-Native.cmake.in79
-rw-r--r--tools/depends/native/autoconf-archive/Makefile39
-rw-r--r--tools/depends/native/autoconf/Makefile18
-rw-r--r--tools/depends/native/autoconf/endian-c++11-narrowing.patch23
-rw-r--r--tools/depends/native/automake/01-fix-help2man-error.patch11
-rw-r--r--tools/depends/native/automake/Makefile13
-rw-r--r--tools/depends/native/cmake/Makefile10
-rw-r--r--tools/depends/native/config.site.native.in23
-rw-r--r--tools/depends/native/distutilscross/python3.patch11
-rw-r--r--tools/depends/native/dpkg/Makefile8
-rw-r--r--tools/depends/native/expat/EXPAT-VERSION5
-rw-r--r--tools/depends/native/expat/Makefile14
-rw-r--r--tools/depends/native/flatbuffers/Makefile19
-rw-r--r--tools/depends/native/gas-preprocessor/README11
-rw-r--r--tools/depends/native/gas-preprocessor/VERSION4
-rwxr-xr-xtools/depends/native/gas-preprocessor/gas-preprocessor.pl266
-rw-r--r--tools/depends/native/gen_entitlements/Makefile14
-rwxr-xr-xtools/depends/native/gen_entitlements/gen_entitlements.py36
-rw-r--r--tools/depends/native/gettext/02-disable-test-doc.patch11
-rw-r--r--tools/depends/native/gettext/Makefile15
-rw-r--r--tools/depends/native/giflib/Makefile8
-rw-r--r--tools/depends/native/heimdal/02-autoconf-2.70-configure.patch11
-rw-r--r--tools/depends/native/heimdal/Makefile9
-rw-r--r--tools/depends/native/ldid/01-disable-openssl-plist.patch21
-rw-r--r--tools/depends/native/ldid/Makefile36
-rw-r--r--tools/depends/native/libffi/Makefile8
-rw-r--r--tools/depends/native/libjpeg-turbo/01-disable-executables.patch118
-rw-r--r--tools/depends/native/libjpeg-turbo/LIBJPEG-TURBO-VERSION4
-rw-r--r--tools/depends/native/libjpeg-turbo/Makefile38
-rw-r--r--tools/depends/native/liblzo2/Makefile10
-rw-r--r--tools/depends/native/libpng/Makefile10
-rw-r--r--tools/depends/native/libtool/Makefile8
-rw-r--r--tools/depends/native/m4/01-fix-ftbfs-with-glibc-2.28.patch117
-rw-r--r--tools/depends/native/m4/Makefile15
-rw-r--r--tools/depends/native/m4/osx_snprintf.patch11
-rw-r--r--tools/depends/native/meson/Makefile10
-rw-r--r--tools/depends/native/nasm/Makefile (renamed from tools/depends/native/yasm/Makefile)19
-rw-r--r--tools/depends/native/ninja/Makefile10
-rw-r--r--tools/depends/native/openssl/Makefile54
-rw-r--r--tools/depends/native/pcre/Makefile12
-rw-r--r--tools/depends/native/perlmodule-parseyapp/Makefile43
-rw-r--r--tools/depends/native/pkg-config/Makefile8
-rw-r--r--tools/depends/native/pugixml/Makefile43
-rw-r--r--tools/depends/native/python3/01-distutil-flags.patch12
-rw-r--r--tools/depends/native/python3/Makefile22
-rw-r--r--tools/depends/native/python3/PYTHON3-VERSION5
-rw-r--r--tools/depends/native/setuptools/Makefile10
-rw-r--r--tools/depends/native/swig/Makefile10
-rw-r--r--tools/depends/native/tar/Makefile20
-rw-r--r--tools/depends/native/wayland-scanner/Makefile10
-rw-r--r--tools/depends/native/waylandpp-scanner/Makefile25
-rw-r--r--tools/depends/native/xz/Makefile15
-rw-r--r--tools/depends/native/xz/XZ-VERSION4
-rw-r--r--tools/depends/native/zlib/Makefile10
-rw-r--r--tools/depends/pre-depends/autoconf-pre-depends/Makefile4
-rw-r--r--tools/depends/pre-depends/m4-pre-depends/Makefile7
-rw-r--r--tools/depends/pre-depends/m4-pre-depends/osx_snprintf.patch11
-rw-r--r--tools/depends/target/Makefile242
-rw-r--r--tools/depends/target/Toolchain.cmake.in132
-rw-r--r--tools/depends/target/Toolchain_binaddons.cmake.in31
-rw-r--r--tools/depends/target/alsa-lib/Makefile8
-rw-r--r--tools/depends/target/boblight/Makefile8
-rw-r--r--tools/depends/target/bzip2/Makefile10
-rw-r--r--tools/depends/target/cmakebuildsys/Makefile20
-rw-r--r--tools/depends/target/config-binaddons.site.in23
-rw-r--r--tools/depends/target/config.site.in57
-rw-r--r--tools/depends/target/cross-file.meson.in16
-rw-r--r--tools/depends/target/crossguid/001-fix-unused-function.patch11
-rw-r--r--tools/depends/target/crossguid/002-disable-Wall-error.patch18
-rw-r--r--tools/depends/target/crossguid/CMakeLists.txt22
-rw-r--r--tools/depends/target/crossguid/CROSSGUID-VERSION6
-rw-r--r--tools/depends/target/crossguid/FindUUID.cmake43
-rw-r--r--tools/depends/target/crossguid/Makefile62
-rw-r--r--tools/depends/target/curl/01-patch-autoconf-GH-5130.patch11
-rw-r--r--tools/depends/target/curl/Makefile20
-rw-r--r--tools/depends/target/darwin-embedded-entitlements/Makefile15
-rw-r--r--tools/depends/target/darwin-embedded-entitlements/darwin_embedded_entitlements.xml61
-rw-r--r--tools/depends/target/dav1d/DAV1D-VERSION5
-rw-r--r--tools/depends/target/dav1d/Makefile82
-rw-r--r--tools/depends/target/dbus/Makefile8
-rw-r--r--tools/depends/target/dummy-libxbmc/Makefile4
-rw-r--r--tools/depends/target/expat/EXPAT-VERSION6
-rw-r--r--tools/depends/target/expat/Makefile35
-rw-r--r--tools/depends/target/ffmpeg/CMakeLists.txt146
-rw-r--r--tools/depends/target/ffmpeg/FFMPEG-VERSION3
-rw-r--r--tools/depends/target/ffmpeg/FindGnuTls.cmake27
-rw-r--r--tools/depends/target/ffmpeg/Makefile101
-rwxr-xr-xtools/depends/target/ffmpeg/autobuild.sh1
-rw-r--r--tools/depends/target/flatbuffers/FLATBUFFERS-VERSION4
-rw-r--r--tools/depends/target/flatbuffers/Makefile20
-rw-r--r--tools/depends/target/fmt/001-windows-pdb-symbol-gen.patch38
-rw-r--r--tools/depends/target/fmt/FMT-VERSION6
-rw-r--r--tools/depends/target/fmt/Makefile (renamed from tools/depends/target/libfmt/Makefile)24
-rw-r--r--tools/depends/target/fontconfig/01-disable-test.patch11
-rw-r--r--tools/depends/target/fontconfig/FONTCONFIG-VERSION7
-rw-r--r--tools/depends/target/fontconfig/Makefile46
-rw-r--r--tools/depends/target/fontconfig/fix-aarch64_atomics.patch25
-rw-r--r--tools/depends/target/fontconfig/lconv.patch18
-rw-r--r--tools/depends/target/freetype2-noharfbuzz/01-darwinembedded-incorrecttoolchain.patch12
-rw-r--r--tools/depends/target/freetype2-noharfbuzz/FREETYPE2-NOHARFBUZZ-VERSION5
-rw-r--r--tools/depends/target/freetype2-noharfbuzz/Makefile51
-rw-r--r--tools/depends/target/freetype2/01-darwinembedded-incorrecttoolchain.patch12
-rw-r--r--tools/depends/target/freetype2/FREETYPE2-VERSION5
-rw-r--r--tools/depends/target/freetype2/Makefile62
-rw-r--r--tools/depends/target/fribidi/FRIBIDI-VERSION5
-rw-r--r--tools/depends/target/fribidi/Makefile44
-rw-r--r--tools/depends/target/fstrcmp/FSTRCMP-VERSION5
-rw-r--r--tools/depends/target/fstrcmp/Makefile (renamed from tools/depends/target/libfstrcmp/Makefile)17
-rw-r--r--tools/depends/target/gettext/Makefile12
-rw-r--r--tools/depends/target/gmp/Makefile17
-rw-r--r--tools/depends/target/gnutls/01-macos-clang-accel.patch22
-rw-r--r--tools/depends/target/gnutls/02-darwin-getentropy.patch18
-rw-r--r--tools/depends/target/gnutls/03-support-correct-cisdigit.patch10
-rw-r--r--tools/depends/target/gnutls/Makefile32
-rw-r--r--tools/depends/target/gnutls/add-dl-as-private-lib.patch22
-rw-r--r--tools/depends/target/gnutls/size-max.patch20
-rw-r--r--tools/depends/target/gtest/GTEST-VERSION5
-rw-r--r--tools/depends/target/gtest/Makefile25
-rw-r--r--tools/depends/target/harfbuzz/Makefile62
-rw-r--r--tools/depends/target/iosentitlements/Makefile15
-rw-r--r--tools/depends/target/iosentitlements/ios11_entitlements.xml32
-rw-r--r--tools/depends/target/libandroidjni/LIBANDROIDJNI-VERSION6
-rw-r--r--tools/depends/target/libandroidjni/Makefile23
-rw-r--r--tools/depends/target/libass/Makefile10
-rw-r--r--tools/depends/target/libbluray/001-darwinembed_DiskArbitration-revert.patch88
-rw-r--r--tools/depends/target/libbluray/LIBBLURAY-VERSION5
-rw-r--r--tools/depends/target/libbluray/Makefile37
-rw-r--r--tools/depends/target/libbluray/tvos.patch4
-rw-r--r--tools/depends/target/libcdio-gplv3/01-fix-glob-on-android.patch38
-rw-r--r--tools/depends/target/libcdio-gplv3/Makefile18
-rw-r--r--tools/depends/target/libcdio-gplv3/osx.patch6
-rw-r--r--tools/depends/target/libcdio-gplv3/osx2.patch1637
-rw-r--r--tools/depends/target/libcdio/Makefile8
-rw-r--r--tools/depends/target/libcec/Makefile10
-rw-r--r--tools/depends/target/libdrm/Makefile76
-rw-r--r--tools/depends/target/libdvdcss/DVDCSS-VERSION4
-rw-r--r--tools/depends/target/libdvdcss/LIBDVDCSS-VERSION7
-rw-r--r--tools/depends/target/libdvdcss/Makefile15
-rw-r--r--tools/depends/target/libdvdnav/DVDNAV-VERSION4
-rw-r--r--tools/depends/target/libdvdnav/LIBDVDNAV-VERSION7
-rw-r--r--tools/depends/target/libdvdnav/Makefile14
-rw-r--r--tools/depends/target/libdvdread/DVDREAD-VERSION4
-rw-r--r--tools/depends/target/libdvdread/LIBDVDREAD-VERSION7
-rw-r--r--tools/depends/target/libdvdread/Makefile14
-rw-r--r--tools/depends/target/libevdev/Makefile8
-rw-r--r--tools/depends/target/libffi/LIBFFI-VERSION4
-rw-r--r--tools/depends/target/libffi/Makefile19
-rw-r--r--tools/depends/target/libffi/armAssembler.patch51
-rw-r--r--tools/depends/target/libgcrypt/01-gcrypt-android-select.patch13
-rw-r--r--tools/depends/target/libgcrypt/02-fix-armv7-neon.patch32
-rw-r--r--tools/depends/target/libgcrypt/03-remove-cipher-gcm-armv8.patch10
-rw-r--r--tools/depends/target/libgcrypt/04-fix-o-flag-munging.patch11
-rw-r--r--tools/depends/target/libgcrypt/LIBGCRYPT-VERSION5
-rw-r--r--tools/depends/target/libgcrypt/Makefile53
-rw-r--r--tools/depends/target/libgpg-error/LIBGPG-ERROR-VERSION5
-rw-r--r--tools/depends/target/libgpg-error/Makefile32
-rw-r--r--tools/depends/target/libgpg-error/tvos_remove-fork.patch47
-rw-r--r--tools/depends/target/libiconv/Makefile8
-rw-r--r--tools/depends/target/libinput/Makefile10
-rw-r--r--tools/depends/target/libjpeg-turbo/01-disable-executables.patch118
-rw-r--r--tools/depends/target/libjpeg-turbo/LIBJPEG-TURBO-VERSION4
-rw-r--r--tools/depends/target/libjpeg-turbo/Makefile30
-rw-r--r--tools/depends/target/liblzo2/LIBLZO2-VERSION6
-rw-r--r--tools/depends/target/liblzo2/Makefile39
-rw-r--r--tools/depends/target/libmicrohttpd/001-remove-assert.patch11
-rw-r--r--tools/depends/target/libmicrohttpd/LIBMICROHTTPD-VERSION4
-rw-r--r--tools/depends/target/libmicrohttpd/Makefile31
-rw-r--r--tools/depends/target/libnfs/LIBNFS-VERSION6
-rw-r--r--tools/depends/target/libnfs/Makefile36
-rw-r--r--tools/depends/target/libplist/01-disable-tools-tests.patch4
-rw-r--r--tools/depends/target/libplist/Makefile14
-rw-r--r--tools/depends/target/libpng/LIBPNG-VERSION5
-rw-r--r--tools/depends/target/libpng/Makefile54
-rw-r--r--tools/depends/target/libsdl/Makefile8
-rw-r--r--tools/depends/target/libshairplay/0001-configure-fix-dns-sd-check.patch7
-rw-r--r--tools/depends/target/libshairplay/Makefile10
-rw-r--r--tools/depends/target/libudev/Makefile8
-rw-r--r--tools/depends/target/libusb/Makefile8
-rw-r--r--tools/depends/target/libuuid/Makefile22
-rw-r--r--tools/depends/target/libva/Makefile61
-rw-r--r--tools/depends/target/libxkbcommon/Makefile8
-rw-r--r--tools/depends/target/libxml2/LIBXML2-VERSION5
-rw-r--r--tools/depends/target/libxml2/Makefile42
-rw-r--r--tools/depends/target/libxslt/01-all-disable-tests-docs.patch26
-rw-r--r--tools/depends/target/libxslt/Makefile21
-rw-r--r--tools/depends/target/libzip/LIBZIP-VERSION5
-rw-r--r--tools/depends/target/libzip/Makefile33
-rw-r--r--tools/depends/target/mariadb/01-android.patch54
-rw-r--r--tools/depends/target/mariadb/02-fix-CONC-612.patch21
-rw-r--r--tools/depends/target/mariadb/04-pthread.patch11
-rw-r--r--tools/depends/target/mariadb/MARIADB-VERSION4
-rw-r--r--tools/depends/target/mariadb/Makefile35
-rw-r--r--tools/depends/target/mesa/Makefile94
-rwxr-xr-xtools/depends/target/meson-cross-setup.sh30
-rw-r--r--tools/depends/target/mtdev/Makefile8
-rw-r--r--tools/depends/target/nettle/01-disable_testsuite.patch4
-rw-r--r--tools/depends/target/nettle/Makefile17
-rw-r--r--tools/depends/target/nghttp2/Makefile34
-rw-r--r--tools/depends/target/nghttp2/NGHTTP2-VERSION5
-rw-r--r--tools/depends/target/openssl/001-android-getauxvalrevert.patch61
-rw-r--r--tools/depends/target/openssl/16-kodi.conf35
-rw-r--r--tools/depends/target/openssl/Makefile75
-rw-r--r--tools/depends/target/openssl/cacert.pem3401
-rw-r--r--tools/depends/target/p8-platform/0001-fix-c++17-support.patch22
-rw-r--r--tools/depends/target/p8-platform/Makefile10
-rw-r--r--tools/depends/target/pcre/001-all-cmakeconfig.patch43
-rw-r--r--tools/depends/target/pcre/002-all-enable_docs_pc.patch21
-rw-r--r--tools/depends/target/pcre/003-all-postfix.patch13
-rw-r--r--tools/depends/target/pcre/004-win-pdb.patch21
-rw-r--r--tools/depends/target/pcre/Makefile64
-rw-r--r--tools/depends/target/pcre/PCRE-VERSION6
-rw-r--r--tools/depends/target/pcre/ios-clear_cache.patch2
-rw-r--r--tools/depends/target/pcre/jit_aarch64.patch2
-rw-r--r--tools/depends/target/python3/Makefile80
-rw-r--r--tools/depends/target/python3/PYTHON3-VERSION5
-rw-r--r--tools/depends/target/python3/android-nl_langinfo.patch60
-rw-r--r--tools/depends/target/python3/android.patch17
-rw-r--r--tools/depends/target/python3/apple.patch66
-rw-r--r--tools/depends/target/python3/crosscompile.patch135
-rw-r--r--tools/depends/target/python3/darwin_embedded.patch225
-rw-r--r--tools/depends/target/python3/fix-datetime.patch16
-rw-r--r--tools/depends/target/python3/fix-ffi.patch51
-rw-r--r--tools/depends/target/python3/modules.setup105
-rw-r--r--tools/depends/target/python3/no-abort.patch22
-rw-r--r--tools/depends/target/python3/setup.patch74
-rw-r--r--tools/depends/target/pythonmodule-pil/Makefile98
-rw-r--r--tools/depends/target/pythonmodule-pil/PYTHONMODULE-PIL-VERSION4
-rw-r--r--tools/depends/target/pythonmodule-pil/pillow-crosscompile.patch199
-rw-r--r--tools/depends/target/pythonmodule-pycryptodome/Makefile51
-rw-r--r--tools/depends/target/pythonmodule-pycryptodome/PYTHONMODULE-PYCRYPTODOME-VERSION4
-rw-r--r--tools/depends/target/pythonmodule-setuptools/Makefile41
-rw-r--r--tools/depends/target/pythonmodule-setuptools/PYTHONMODULE-SETUPTOOLS-VERSION4
-rw-r--r--tools/depends/target/rapidjson/001-remove_custom_cxx_flags.patch (renamed from tools/depends/target/rapidjson/0001-remove_custom_cxx_flags.patch)0
-rw-r--r--tools/depends/target/rapidjson/002-cmake-removedocs-examples.patch28
-rw-r--r--tools/depends/target/rapidjson/003-win-arm64.patch11
-rw-r--r--tools/depends/target/rapidjson/Makefile23
-rw-r--r--tools/depends/target/rapidjson/RAPIDJSON-VERSION4
-rw-r--r--tools/depends/target/samba-gplv3/02-cross_compile.patch44
-rw-r--r--tools/depends/target/samba-gplv3/03-builtin-heimdal.patch2
-rw-r--r--tools/depends/target/samba-gplv3/05-apple-disable-zlib-pkgconfig.patch11
-rw-r--r--tools/depends/target/samba-gplv3/06-apple-fix-st_atim.patch48
-rw-r--r--tools/depends/target/samba-gplv3/Makefile54
-rw-r--r--tools/depends/target/samba-gplv3/SAMBA-GPLV3-VERSION4
-rw-r--r--tools/depends/target/samba-gplv3/no_fork_and_exec.patch20
-rw-r--r--tools/depends/target/samba-gplv3/samba_android.patch10
-rw-r--r--tools/depends/target/samba/Makefile9
-rw-r--r--tools/depends/target/spdlog/001-windows-pdb-symbol-gen.patch52
-rw-r--r--tools/depends/target/spdlog/Makefile66
-rw-r--r--tools/depends/target/spdlog/SPDLOG-VERSION6
-rw-r--r--tools/depends/target/sqlite3/001-Disable-sqlite3bin.patch16
-rw-r--r--tools/depends/target/sqlite3/Makefile25
-rw-r--r--tools/depends/target/sqlite3/SQLITE3-VERSION4
-rw-r--r--tools/depends/target/sqlite3/sqlite3.c.patch4
-rw-r--r--tools/depends/target/taglib/001-cmake-pdb-debug.patch29
-rw-r--r--tools/depends/target/taglib/ID3v2Lookup.patch70
-rw-r--r--tools/depends/target/taglib/Makefile23
-rw-r--r--tools/depends/target/taglib/TAGLIB-VERSION6
-rw-r--r--tools/depends/target/taglib/remove-boost.patch25
-rw-r--r--tools/depends/target/tinyxml/Makefile8
-rw-r--r--tools/depends/target/udfread/Makefile43
-rw-r--r--tools/depends/target/udfread/UDFREAD-VERSION5
-rw-r--r--tools/depends/target/wayland-protocols/Makefile14
-rw-r--r--tools/depends/target/wayland/Makefile15
-rw-r--r--tools/depends/target/waylandpp/Makefile15
-rw-r--r--tools/depends/target/xz/Makefile28
-rw-r--r--tools/depends/target/xz/XZ-VERSION4
-rw-r--r--tools/depends/target/zlib/01-all-disable_tests.patch16
-rw-r--r--tools/depends/target/zlib/02-all-static_only.patch11
-rw-r--r--tools/depends/target/zlib/Makefile38
-rw-r--r--tools/depends/target/zlib/ZLIB-VERSION5
-rw-r--r--tools/depends/target/zlib/remove_fixe_ar_osx.patch16
-rw-r--r--tools/depends/target/zlib/visibility.patch15
-rw-r--r--tools/depends/xbmc-addons.include44
299 files changed, 6167 insertions, 8739 deletions
diff --git a/tools/depends/.gitignore b/tools/depends/.gitignore
index 15cd05a174..4f750fb752 100644
--- a/tools/depends/.gitignore
+++ b/tools/depends/.gitignore
@@ -8,35 +8,30 @@
/native/*/x86-native/*
/native/*/x86_64-linux-gnu-native/*
/native/*/x86_64-darwin*.*.*-native/
+/native/*/*-darwin*.*.*-native/
/native/*/armeabi-v7a-native/*
/target/*/.installed-*
/target/*/native/*
/target/*/x86/*
-/target/*/x86_64-linux-gnu-*/*
-/target/*/armeabi-v7a-*/*
-/target/*/arm*-linux-gnueabihf-*/*
-/target/*/arm*-linux-androideabi-*/*
-/target/*/arm*-linux-gnueabi-*/*
-/target/*/aarch64-linux-*/*
-/target/*/macosx*.*_x86_64-target-*/
-/target/*/macosx*.*_x86_64-target-*/*
-/target/*/macosx*.*_i386-target-*/
-/target/*/macosx*.*_i386-target-*/*
-/target/*/iphoneos*.*_arm*-target-*/
-/target/*/iphoneos*.*_arm*-target-*/*
-/target/*/iphonesimulator*.*_i386*-target-*/
-/target/*/iphonesimulator*.*_i386*-target-*/*
-/target/*/iphonesimulator*.*_x86_64*-target-*/
-/target/*/iphonesimulator*.*_x86_64*-target-*/*
-/target/*/appletvos*.*_arm64*-target-*/
-/target/*/appletvos*.*_arm64*-target-*/*
-/target/*/appletvsimulator*.*_x86_64*-target-*/
-/target/*/appletvsimulator*.*_x86_64*-target-*/*
+/target/*/x86_64-linux-android-**
+/target/*/x86_64-linux-gnu-**
+/target/*/armeabi-v7a-**
+/target/*/arm*-linux-gnueabihf-**
+/target/*/arm*-linux-androideabi-**
+/target/*/arm*-linux-gnueabi-**
+/target/*/aarch64-linux-**
+/target/*/macosx*-target-**
+/target/*/i686-linux-android-**
+/target/*/iphoneos*.*_arm*-target-**
+/target/*/iphonesimulator*.*_x86_64*-target-**
+/target/*/appletvos*.*_arm64*-target-**
+/target/*/appletvsimulator*.*_x86_64*-target-**
/pre-depends/
/pre-build-deps/
Toolchain.cmake
+Toolchain-Native.cmake
config.site
config.site.native
/native/*/*native/
@@ -53,3 +48,4 @@ config.site.native
/target/libfmt/fmt-*.tar.gz
/target/rapidjson/rapidjson-*.tar.gz
/target/flatbuffers/*.tar.gz
+/target/libspdlog/spdlog-*.tar.gz
diff --git a/tools/depends/Makefile.include.in b/tools/depends/Makefile.include.in
index bc6a305ca7..6b45eca0f3 100644
--- a/tools/depends/Makefile.include.in
+++ b/tools/depends/Makefile.include.in
@@ -8,23 +8,29 @@ CMAKE_SOURCE_DIR=$(abspath $(abs_top_srcdir)/../../)
TARBALLS_LOCATION=@use_tarballs@
PLATFORM=@deps_dir@
HOST=@use_host@
+BUILD=@use_build@
+BUILD_CPU=@use_buildcpu@
CPU=@use_cpu@
+MESON_CPU=@meson_cpu@
+MESON_SYSTEM=@meson_system@
NATIVEPLATFORM=@build_cpu@-@build_os@-native
NDK_LEVEL=@use_ndk_api@
RETRIEVE_TOOL=@CURL@
ARCHIVE_TOOL=@TAR@
PREFIX=@prefix@/@deps_dir@
NATIVEPREFIX=@prefix@/@tool_dir@
-ARCHIVE_TOOL_NATIVE=$(NATIVEPREFIX)/bin/tar
OS=@platform_os@
NATIVE_OS=@build_os@
CROSS_COMPILING=@cross_compiling@
ARCH_DEFINES=@ARCH_DEFINES@
NATIVE_ARCH_DEFINES=@NATIVE_ARCH_DEFINES@
TARGET_PLATFORM=@target_platform@
-AAPT=@AAPT@
-DX=@DX@
-ZIPALIGN=@ZIPALIGN@
+RENDER_SYSTEM=@app_rendersystem@
+WINDOW_SYSTEM=@app_winsystem@
+SHA512SUM=@SHA512SUM@
+SHA256SUM=@SHA256SUM@
+SHASUM=@SHASUM@
+HASH_TOOL_FLAGS=-c --status
HAS_ZLIB=@has_zlib@
NEED_LIBICONV=@need_libiconv@
@@ -35,7 +41,7 @@ BASE_URL=http://mirrors.kodi.tv/build-deps/sources
ifneq ($(KODI_MIRROR),)
BASE_URL=$(KODI_MIRROR)/build-deps/sources
endif
-RETRIEVE_TOOL_FLAGS=-Ls --create-dirs -f -O
+RETRIEVE_TOOL_FLAGS=-LsS --create-dirs --retry 10 --retry-connrefused -O
ARCHIVE_TOOL_FLAGS=--strip-components=1 -xf
CONFIG_SUB=@prefix@/@tool_dir@/share/automake-1.16/config.sub
CONFIG_GUESS=@prefix@/@tool_dir@/share/automake-1.16/config.guess
@@ -69,20 +75,21 @@ CPPFLAGS=@platform_cflags@ @platform_includes@ -isystem @prefix@/@deps_dir@/incl
FFMPEG_CONFIGURE_OPTIONS=@ffmpeg_options@
-PATH:=@prefix@/@tool_dir@/bin:$(PATH)
ifneq (@use_build_toolchain@,)
PATH:=@use_build_toolchain@/bin:@use_build_toolchain@/usr/bin:$(PATH)
endif
+PATH:=@prefix@/@tool_dir@/bin:$(PATH)
LD_FOR_BUILD=@LD_FOR_BUILD@
+CC_BINARY_FOR_BUILD=@CC_FOR_BUILD@
+CXX_BINARY_FOR_BUILD=@CXX_FOR_BUILD@
ifneq (@use_ccache@,yes)
CC_FOR_BUILD=@CC_FOR_BUILD@
CXX_FOR_BUILD=@CXX_FOR_BUILD@
else
CC_FOR_BUILD=@CCACHE@ @CC_FOR_BUILD@
CXX_FOR_BUILD=@CCACHE@ @CXX_FOR_BUILD@
+ CCACHE=@CCACHE@
endif
-CC_BINARY_FOR_BUILD=@CC_FOR_BUILD@
-CXX_BINARY_FOR_BUILD=@CXX_FOR_BUILD@
AR_FOR_BUILD=@AR_FOR_BUILD@
RANLIB_FOR_BUILD=@RANLIB_FOR_BUILD@
AS_FOR_BUILD=@AS_FOR_BUILD@
@@ -91,11 +98,17 @@ STRIP_FOR_BUILD=@STRIP_FOR_BUILD@
READELF_FOR_BUILD=@READELF_FOR_BUILD@
OBJDUMP_FOR_BUILD=@OBJDUMP_FOR_BUILD@
-NATIVE_CFLAGS=@native_platform_min_version@ -I@prefix@/@tool_dir@/include
-NATIVE_LDFLAGS=@native_platform_min_version@ -L@prefix@/@tool_dir@/lib
-NATIVE_CPPFLAGS=@native_platform_min_version@ -I@prefix@/@tool_dir@/include
-NATIVE_CXXFLAGS=@native_platform_min_version@ -I@prefix@/@tool_dir@/include
+NATIVE_CFLAGS=@host_includes@ -I@prefix@/@tool_dir@/include
+NATIVE_LDFLAGS=@host_includes@ -L@prefix@/@tool_dir@/lib
+NATIVE_CPPFLAGS=@host_includes@ -I@prefix@/@tool_dir@/include
+NATIVE_CXXFLAGS=@host_includes@ -I@prefix@/@tool_dir@/include
+VERSION.TXT := $(CMAKE_SOURCE_DIR)/version.txt
+APP_NAME=$(shell awk '/APP_NAME/ {print tolower($$2)}' $(VERSION.TXT))
+
+# Python related vars
+PYTHON_VERSION=3.9
+PYTHON_SITE_PKG=@prefix@/@deps_dir@/lib/python${PYTHON_VERSION}/site-packages
ifeq ($(CPU), arm64)
export GASPP_FIX_XCODE5=1
@@ -112,4 +125,3 @@ export LIBTOOLIZE=@prefix@/@tool_dir@/bin/libtoolize
export AUTORECONF=@prefix@/@tool_dir@/bin/autoreconf
export JSON_BUILDER=$(NATIVEPREFIX)/bin/JsonSchemaBuilder
-
diff --git a/tools/depends/README.md b/tools/depends/README.md
index 6e45a0567e..64fb3f0aa1 100644
--- a/tools/depends/README.md
+++ b/tools/depends/README.md
@@ -20,41 +20,37 @@ Paths below are examples. If you want to build Kodi, follow our **[build guides]
### All platforms
`./bootstrap`
### Darwin
-**macOS (i386)**
-`./configure --host=i386-apple-darwin`
-
-**macOS (x86_64)**
+**macOS (x86_64)**
`./configure --host=x86_64-apple-darwin`
-**iOS (armv7)**
-`./configure --host=arm-apple-darwin`
-
-**iOS (arm64)**
-`./configure --host=arm-apple-darwin --with-cpu=arm64`
+**iOS (arm64)**
+`./configure --host=aarch64-apple-darwin`
-**tvOS**
-`./configure --host=arm-apple-darwin --with-platform=tvos`
+**tvOS**
+`./configure --host=aarch64-apple-darwin --with-platform=tvos`
**NOTE:** You can target the same `--prefix=` path. Each setup will be done in an isolated directory. The last configure/make you do is the one used for Kodi/Xcode.
-
+
### Android
-**arm**
+**arm**
`./configure --with-tarballs=$HOME/android-tools/xbmc-tarballs --host=arm-linux-androideabi --with-sdk-path=$HOME/android-tools/android-sdk-linux --with-ndk-path=$HOME/android-tools/android-ndk-r20 --prefix=$HOME/android-tools/xbmc-depends`
-**aarch64**
+**aarch64**
`./configure --with-tarballs=$HOME/android-tools/xbmc-tarballs --host=aarch64-linux-android --with-sdk-path=$HOME/android-tools/android-sdk-linux --with-ndk-path=$HOME/android-tools/android-ndk-r20 --prefix=$HOME/android-tools/xbmc-depends`
-**x86**
+**x86**
`./configure --with-tarballs=$HOME/android-tools/xbmc-tarballs --host=i686-linux-android --with-sdk-path=$HOME/android-tools/android-sdk-linux --with-ndk-path=$HOME/android-tools/android-ndk-r20 --prefix=$HOME/android-tools/xbmc-depends`
-### Linux
-**ARM (codesourcery/lenaro/etc)**
-`./configure --with-toolchain=/opt/toolchains/my-example-toolchain/ --prefix=/opt/xbmc-deps --host=arm-linux-gnueabi`
+**x86_64**
+`./configure --with-tarballs=$HOME/android-tools/xbmc-tarballs --host=x86_64-linux-android --with-sdk-path=$HOME/android-tools/android-sdk-linux --with-ndk-path=$HOME/android-tools/android-ndk-r20 --prefix=$HOME/android-tools/xbmc-depends`
+
+> **Note:** Android x86 and x86_64 are not maintained and are not 100% sure that everything works correctly!
-**Raspberry Pi**
-`./configure --with-platform=raspberry-pi --host=arm-linux-gnueabihf --prefix=/opt/xbmc-deps --with-tarballs=/opt/xbmc-tarballs --with-toolchain=/opt/rbp-dev/tools/arm-bcm2708/arm-rpi-4.9.3-linux-gnueabihf --with-firmware=/opt/rbp-dev/firmware --build=i686-linux`
+### Linux
+**ARM (codesourcery/lenaro/etc)**
+`./configure --with-toolchain=/opt/toolchains/my-example-toolchain/ --prefix=/opt/xbmc-deps --host=arm-linux-gnueabi --with-rendersystem=gles`
-**Native**
-`./configure --with-toolchain=/usr --prefix=/opt/xbmc-deps --host=x86_64-linux-gnu`
+**Native**
+`./configure --with-toolchain=/usr --prefix=/opt/xbmc-deps --host=x86_64-linux-gnu --with-rendersystem=gl`
Cross compiling is a PITA.
diff --git a/tools/depends/bootstrap b/tools/depends/bootstrap
index d9e14e783f..9f03bce44f 100755
--- a/tools/depends/bootstrap
+++ b/tools/depends/bootstrap
@@ -3,7 +3,7 @@
# Some platforms may not have m4/autoconf. If not, build temporary copies in
# order to bootstrap.
DEPENDS=`dirname $0`
-export PATH=$DEPENDS/pre-build-deps/bin:$PATH
+export PATH="$DEPENDS/pre-build-deps/bin:$PATH"
which m4 >/dev/null 2>/dev/null || make -C $DEPENDS/pre-depends/m4-pre-depends
which autoconf >/dev/null 2>/dev/null || make -C $DEPENDS/pre-depends/autoconf-pre-depends
which autoconf >/dev/null 2>/dev/null || \
diff --git a/tools/depends/configure.ac b/tools/depends/configure.ac
index 2c74c3b086..30adee3302 100644
--- a/tools/depends/configure.ac
+++ b/tools/depends/configure.ac
@@ -1,13 +1,17 @@
AC_PREREQ(2.59)
-AC_INIT([xbmc-depends], [2.00], [http://trac.xbmc.org])
+AC_INIT([xbmc-depends], [2.00], [https://github.com/xbmc/xbmc])
:${CFLAGS=""}
AC_CONFIG_AUX_DIR([build-aux])
-AC_CONFIG_FILES([target/config.site native/config.site.native Makefile.include target/Toolchain.cmake
- target/config-binaddons.site target/Toolchain_binaddons.cmake target/cross-file.meson])
+AC_CONFIG_FILES([native/config.site.native Makefile.include
+ target/config.site target/config-binaddons.site
+ target/Toolchain.cmake target/Toolchain_binaddons.cmake
+ native/Toolchain-Native.cmake])
AC_CANONICAL_HOST
+AC_CANONICAL_BUILD
m4_include([m4/xbmc_arch.m4])
-m4_include([m4/ax_cxx_compile_stdcxx_14.m4])
+m4_include([m4/ax_cxx_compile_stdcxx.m4])
+m4_include([m4/ax_compare_version.m4])
# check for not same cpu value
AC_DEFUN([MC_CHECK_NOT_CPU],
@@ -34,6 +38,11 @@ AC_ARG_ENABLE([ccache],
[use_ccache=no],
[use_ccache=yes])
+AC_ARG_WITH([linker],
+ [AS_HELP_STRING([--with-linker],
+ [specify linker to use.])],
+ [use_linker=$withval])
+
AC_ARG_WITH([toolchain],
[AS_HELP_STRING([--with-toolchain],
[specify path to toolchain. Auto set for android. Defaults to xcode root for darwin, /usr for linux])],
@@ -93,6 +102,11 @@ AC_ARG_WITH([rendersystem],
[render system to use])],
[app_rendersystem=$withval])
+AC_ARG_WITH([windowsystem],
+ [AS_HELP_STRING([--with-windowsystem],
+ [Windowing system to use])],
+ [app_winsystem=$withval])
+
AC_ARG_WITH([target-cflags],
[AS_HELP_STRING([--with-target-cflags],
[C compiler flags (target)])],
@@ -133,6 +147,10 @@ if test "x$TAR" = "xno" ; then
AC_MSG_ERROR("Missing program: tar")
fi
+if test "x$use_linker" = "x" ; then
+ use_linker=ld
+fi
+
if test "$use_debug" = "yes"; then
build_type="debug"
else
@@ -140,6 +158,8 @@ else
fi
use_host=$host_alias
+use_build=$build_cpu-$build_vendor-$build_os
+use_buildcpu=$build_cpu
cross_compiling="yes"
if test "x$host" = "x$build"; then
@@ -167,15 +187,53 @@ case $build in
;;
*darwin*)
build_os="osx"
- native_platform_min_version=-mmacosx-version-min=`sw_vers | grep ProductVersion | sed -E "s/.*:.*(10\..*)\.?.*/\1/"`
- use_xcodepath=`xcode-select -print-path`
- use_build_toolchain=$use_xcodepath
+ if test "x$build_cpu" = "xx86_64"; then
+ host_includes="-arch x86_64 -mmacosx-version-min=10.13"
+ else
+ host_includes="-arch arm64 -mmacosx-version-min=11.0"
+ fi
+ use_xcrun=xcrun
+
+ # acquire build platform (native) sdk sysroot.
+ build_platform=macosx
+ native_sdk_path=[`$use_xcrun --show-sdk-path`]
+ host_sysroot="$native_sdk_path"
+ host_includes="${host_includes} -isysroot $native_sdk_path"
+
+ CC_FOR_BUILD=[`$use_xcrun --find clang`]
+ use_build_toolchain=[`$CC_FOR_BUILD --version | grep InstalledDir | awk '{ print $2}'`]
+
+ # Android NDK currently only x86_64 prebuilts - Arctic Fox 2020.3.1
android_toolchain_name="darwin-x86_64"
+
+ host_cxxflags="-std=c++17 -stdlib=libc++"
+
+ if test "x$prefix" = "xNONE"; then
+ prefix=/Users/Shared/xbmc-depends
+ fi
;;
*)
AC_MSG_ERROR(unsupported native build platform: $build)
esac
+
+if test "x$build_os" = "xosx"; then
+ AC_PATH_PROG(SHASUM,shasum,"no")
+ if test "x$SHASUM" = "xno" ; then
+ AC_MSG_ERROR("Missing program: shasum")
+ fi
+else
+ AC_PATH_PROG(SHA512SUM,sha512sum,"no")
+ if test "x$SHA512SUM" = "xno" ; then
+ AC_MSG_ERROR("Missing program: sha512sum")
+ fi
+
+ AC_PATH_PROG(SHA256SUM,sha256sum,"no")
+ if test "x$SHA256SUM" = "xno" ; then
+ AC_MSG_ERROR("Missing program: sha256sum")
+ fi
+fi
+
if test -n $use_build_toolchain; then
PATH_FOR_BUILD=$use_build_toolchain:$use_build_toolchain/usr/bin:$use_toolchain/bin:$PATH
else
@@ -185,14 +243,13 @@ fi
AC_PATH_PROG([RANLIB_FOR_BUILD], [ranlib], ranlib, $PATH_FOR_BUILD)
AC_PATH_PROG([LD_FOR_BUILD], [ld], ld, $PATH_FOR_BUILD)
AC_PATH_PROG([AR_FOR_BUILD], [ar], ar, $PATH_FOR_BUILD)
-AC_PATH_PROG([READELF_FOR_BUILD], [readelf], readelf, $PATH_FOR_BUILD)
+AC_PATH_PROG([READELF_FOR_BUILD], [readelf],, $PATH_FOR_BUILD)
AC_PATH_PROG([STRIP_FOR_BUILD], [strip], strip, $PATH_FOR_BUILD)
AC_PATH_PROG([AS_FOR_BUILD], [as], as, $PATH_FOR_BUILD)
AC_PATH_PROG([NM_FOR_BUILD], [nm], nm, $PATH_FOR_BUILD)
AC_PATH_PROG([OBJDUMP_FOR_BUILD], [objdump], objdump, $PATH_FOR_BUILD)
-AC_PATH_PROG([CC_FOR_BUILD],[gcc llvm-gcc $platform_cc], gcc, $PATH_FOR_BUILD)
-AC_PATH_PROG([CXX_FOR_BUILD],[g++ llvm-g++ $platform_cxx], g++, $PATH_FOR_BUILD)
-
+AC_PATH_PROG([CC_FOR_BUILD],[clang gcc llvm-gcc], gcc, $PATH_FOR_BUILD)
+AC_PATH_PROG([CXX_FOR_BUILD],[clang++ g++ llvm-g++], g++, $PATH_FOR_BUILD)
platform_cc=gcc
platform_cxx=g++
@@ -202,6 +259,9 @@ case $host in
use_toolchain="${use_toolchain:-$use_ndk_path/toolchains/llvm/prebuilt/$android_toolchain_name}"
platform_cc=$use_host$use_ndk_api-clang
platform_cxx=$use_host$use_ndk_api-clang++
+
+ platform_tool_prefix=llvm-
+
case $host in
arm*-*linux-android*)
platform_cc=armv7a-linux-androideabi$use_ndk_api-clang
@@ -209,33 +269,47 @@ case $host in
esac
;;
*darwin*)
- use_toolchain="${use_xcodepath}/Toolchains/XcodeDefault.xctoolchain"
- platform_cc=clang
+ CC=[`$use_xcrun --find clang`]
platform_cxx=clang++
+ use_toolchain=[`$CC --version | grep InstalledDir | awk '{ print $2}'`]
esac
-if test -n $use_build_toolchain; then
+if test -n $use_toolchain; then
PATH_FOR_HOST=$use_toolchain:$use_toolchain/usr/bin:$use_toolchain/bin:$PATH
else
PATH_FOR_HOST=$PATH
fi
-AC_PATH_TOOL([RANLIB], [ranlib],, $PATH_FOR_HOST)
-AC_PATH_TOOL([LD], [ld],, $PATH_FOR_HOST)
-AC_PATH_TOOL([AR], [ar],, $PATH_FOR_HOST)
-AC_PATH_TOOL([READELF], [readelf],, $PATH_FOR_HOST)
-AC_PATH_TOOL([STRIP], [strip],, $PATH_FOR_HOST)
-AC_PATH_TOOL([AS], [as],, $PATH_FOR_HOST)
-AC_PATH_TOOL([NM], [nm],, $PATH_FOR_HOST)
-AC_PATH_TOOL([OBJDUMP], [objdump],, $PATH_FOR_HOST)
+AC_PATH_TOOL([RANLIB], [${platform_tool_prefix}ranlib],, $PATH_FOR_HOST)
+AC_PATH_TOOL([LD], [${use_linker}],, $PATH_FOR_HOST)
+AC_PATH_TOOL([AR], [${platform_tool_prefix}ar],, $PATH_FOR_HOST)
+AC_PATH_TOOL([READELF], [${platform_tool_prefix}readelf],, $PATH_FOR_HOST)
+AC_PATH_TOOL([STRIP], [${platform_tool_prefix}strip],, $PATH_FOR_HOST)
+AC_PATH_TOOL([AS], [${platform_tool_prefix}as],, $PATH_FOR_HOST)
+AC_PATH_TOOL([NM], [${platform_tool_prefix}nm],, $PATH_FOR_HOST)
+AC_PATH_TOOL([OBJDUMP], [${platform_tool_prefix}objdump],, $PATH_FOR_HOST)
AC_PATH_TOOL([CC],[$platform_cc],,$PATH_FOR_HOST)
AC_PATH_TOOL([CXX],[$platform_cxx],,$PATH_FOR_HOST)
-AC_PROG_CPP
-AX_CXX_COMPILE_STDCXX_14([noext],[mandatory])
-c14_flags=$(echo "$CFLAGS" | sed 's/-O@<:@123@:>@//g;s/-g //g;s/ //g')
-cxx14_flags=$(echo "$CXXFLAGS" | sed 's/-O@<:@123@:>@//g;s/-g //g;s/ //g')
+if test "x$LD" = "x"; then
+ AC_MSG_ERROR(No linker found with name ${use_linker}. You may want to provide using --with-linker=<linker>)
+fi
+case $build in
+ *darwin*)
+ # MacOS 11 requires explicit isysroot for autoconf compiler tests
+ # However we do not want to pollute CFLAGS/CXXFLAGS once compiler tests are complete
+ CFLAGS="${CFLAGS} $host_includes"
+ CXXFLAGS="${CXXFLAGS} $host_includes"
+esac
+
+AC_PROG_CPP
+
+case $build in
+ *darwin*)
+ CFLAGS=$(echo "$CFLAGS" | sed "s|$host_includes||")
+ CXXFLAGS=$(echo "$CXXFLAGS" | sed "s|$host_includes||")
+esac
case $host in
*-*linux-android*)
@@ -250,34 +324,52 @@ case $host in
use_cpu="armeabi-v7a"
fi
if test "x$use_cpu" = "xarmeabi-v7a"; then
- platform_cflags+=" -march=armv7-a -mtune=cortex-a9 -mfloat-abi=softfp -mfpu=neon"
+ platform_cflags="${platform_cflags} -march=armv7-a -mtune=cortex-a9 -mfloat-abi=softfp -mfpu=neon"
fi
- platform_ldflags+=" -Wl,--exclude-libs,libunwind.a"
+ platform_ldflags="${platform_ldflags} -Wl,--exclude-libs,libunwind.a"
+ meson_cpu="arm"
;;
aarch64*-*linux-android*)
if test "x$use_cpu" = "xauto"; then
use_cpu="arm64-v8a"
fi
if test "x$use_cpu" = "xarm64-v8a"; then
- platform_cflags+=" -march=armv8-a -mtune=cortex-a53"
+ platform_cflags="${platform_cflags} -march=armv8-a -mtune=cortex-a53"
fi
+ meson_cpu="aarch64"
;;
i*86*-linux-android*)
if test "x$use_cpu" = "xauto"; then
use_cpu=$host_cpu
fi
+ meson_cpu="x86"
+ ;;
+ x86_64*-linux-android*)
+ if test "x$use_cpu" = "xauto"; then
+ use_cpu=$host_cpu
+ fi
+ meson_cpu="x86_64"
;;
*)
AC_MSG_ERROR(unsupported host ($use_host))
esac
platform_cxxflags="$platform_cflags -frtti"
- platform_includes="-I$prefix/$deps_dir/include/android-$use_ndk_api"
+ platform_includes="-isystem $prefix/$deps_dir/include/android-$use_ndk_api"
platform_os="android"
+ meson_system="android"
#android builds are always cross
cross_compiling="yes"
;;
arm*-*-linux-gnu*|arm*-*-linux-uclibc*|aarch64*-*-linux-gnu*|aarch*-*-linux-be*)
+ case $host in
+ arm*-*-linux-gnu*|arm*-*-linux-uclibc*)
+ meson_cpu="arm"
+ ;;
+ aarch64*-*-linux-gnu*|aarch*-*-linux-be*)
+ meson_cpu="aarch64"
+ ;;
+ esac
if test "x$use_cpu" = "xauto"; then
use_cpu=$host_cpu
fi
@@ -287,183 +379,130 @@ case $host in
platform_ldflags="-Wl,-rpath-link=$prefix/$deps_dir/lib"
platform_cxxflags="$platform_cflags"
platform_os="linux"
+ meson_system="linux"
+ target_platform="wayland gbm"
;;
*i686*-linux-gnu*|i*86*-*-linux-uclibc*|x86_64*-linux-gnu*|x86_64-*-linux-uclibc*)
+ case $host in
+ *i686*-linux-gnu*|i*86*-*-linux-uclibc*)
+ meson_cpu="x86"
+ ;;
+ x86_64*-linux-gnu*|x86_64-*-linux-uclibc*)
+ meson_cpu="x86_64"
+ ;;
+ esac
use_cpu=$host_cpu
use_toolchain="${use_toolchain:-/usr}"
platform_cflags="-fPIC -DPIC"
optimize_flags="-O2"
platform_cxxflags="$platform_cflags"
platform_os="linux"
+ meson_system="linux"
ffmpeg_options_default="--enable-vaapi --enable-vdpau --cpu=$use_cpu"
+ target_platform="x11 wayland gbm"
;;
*darwin*)
- if test "x$prefix" = "xNONE"; then
- prefix=/Users/Shared/xbmc-depends
- fi
-
- use_xcodebuild=$use_xcodepath/usr/bin/xcodebuild
- AC_MSG_RESULT(found xcodebuild at $use_xcodebuild)
-
# darwin builds are always cross
cross_compiling="yes"
- platform_cflags="-fheinous-gnu-extensions -no-cpp-precomp"
- platform_ldflags="-Wl,-search_paths_first"
- platform_cxxflags="-no-cpp-precomp"
+ meson_system="darwin"
- case $host in
- *86*-apple-darwin)
- MC_CHECK_NOT_CPU([$use_cpu], "arm")
-
- # setup which cpu to use
- case $host in
- x86_64-apple-darwin*)
- if test "x$use_cpu" = "xauto"; then
- use_cpu=x86_64
- fi
- ;;
- i*86-apple-darwin*)
- if test "x$use_cpu" = "xauto"; then
- use_cpu=i386
- fi
- platform_ldflags+=" -read_only_relocs suppress"
- ;;
- *)
- AC_MSG_ERROR(error in configure of --with-arch=$use_cpu)
- esac
+ platform_cflags="-fheinous-gnu-extensions"
+ platform_ldflags="-Wl,-search_paths_first"
- # setup which sdk to use
+ case $use_platform in
+ tvos)
+ target_platform=appletvos
+ platform_os="darwin_embedded"
+ ;;
+ ios)
+ target_platform=iphoneos
+ platform_os="darwin_embedded"
+ ;;
+ macos)
target_platform=macosx
- found_sdk_version=[`$use_xcodebuild -showsdks | grep $target_platform | sort | tail -n 1 | awk '{ print $2}'`]
- use_sdk="${use_sdk:-$found_sdk_version}"
-
- # now that we know which sdk, error check sdk_name
- case $use_sdk in
- 10.9);;
- 10.10);;
- 10.11);;
- 10.12);;
- 10.13);;
- 10.14);;
- 10.15);;
- *)
- AC_MSG_ERROR(error in configure of --with-sdk=$use_sdk)
- esac
- sdk_name=$target_platform$use_sdk
- platform_min_version="macosx-version-min=10.9"
-
- use_sdk_path=[`$use_xcodebuild -version -sdk $sdk_name Path`]
platform_os="osx"
;;
+ *)
+ AC_MSG_ERROR(error in configure no platform provided --with-platform)
+ ;;
+ esac
- arm-apple-darwin*)
- MC_CHECK_NOT_CPU([$use_cpu], "*86")
+ found_sdk_version=[`$use_xcrun --sdk $target_platform --show-sdk-version`]
+ use_sdk="${use_sdk:-$found_sdk_version}"
+ use_sdk_path=$($use_xcrun --sdk $target_platform --show-sdk-path)
+ sdk_name=$target_platform$use_sdk
- # setup which sdk to use
- if test "$use_platform" = "tvos"; then
- use_cpu=arm64
- target_platform=appletvos
- platform_min_version="$target_platform-version-min=11.0"
- else
- # setup which cpu to use
- if test "x$use_cpu" = "xauto"; then
- use_cpu=armv7
- fi
+ case $host in
+ x86_64-apple-darwin)
+ MC_CHECK_NOT_CPU([$use_cpu], "arm*")
- target_platform=iphoneos
- platform_min_version="$target_platform-version-min=9.0"
+ # setup which cpu to use
+ if test "x$use_cpu" = "xauto"; then
+ use_cpu=x86_64
+ meson_cpu=$use_cpu
+ else
+ AC_MSG_ERROR(invalid architecture (--with-cpu=$use_cpu))
fi
- found_sdk_version=[`$use_xcodebuild -showsdks | grep "\-sdk $target_platform" | awk '{ print $2}'`]
- use_sdk="${use_sdk:-$found_sdk_version}"
- sdk_name=$target_platform$use_sdk
-
- if test "$use_platform" = "tvos"; then
- case $use_sdk in
- 11.*);;
- 12.*);;
- 13.*);;
- *)
- AC_MSG_ERROR(error in configure of --with-sdk=$use_sdk)
- ;;
- esac
+ target_minver="10.13"
+
+ # check provided window system is valid_sdk
+ # if no window system supplied, default to SDL for now.
+ if test -n "$app_winsystem"; then
+ if test "$app_winsystem" != "native" && test "$app_winsystem" != "sdl"; then
+ AC_MSG_ERROR(Window system must be native or sdl)
+ fi
else
- case $use_sdk in
- 9.*);;
- 10.*);;
- 11.*);;
- 12.*);;
- 13.*);;
- *)
- AC_MSG_ERROR(error in configure of --with-sdk=$use_sdk)
- ;;
- esac
+ app_winsystem=sdl
fi
+ ;;
+ aarch64-apple-darwin*)
+ MC_CHECK_NOT_CPU([$use_cpu], "*86")
- platform_os="darwin_embedded"
+ case $platform_os in
+ darwin_embedded)
+ target_minver="11.0"
+ ;;
+ osx)
+ target_minver="11.0"
+ app_winsystem=native
+ ;;
+ *)
+ AC_MSG_ERROR(invalid platform for architecture ($host))
+ ;;
+ esac
- if [ ! test "x$use_cpu" = "xarm64" ]; then
- platform_cflags+=" -mcpu=cortex-a8 -mfpu=neon"
- platform_ldflags+=" -Wl,-segalign,4000"
+ # setup which cpu to use
+ if test "x$use_cpu" = "xauto"; then
+ use_cpu=arm64
+ meson_cpu="aarch64"
+ else
+ AC_MSG_ERROR(invalid architecture (--with-cpu=$use_cpu))
fi
- platform_cflags+=" -ftree-vectorize -pipe -Wno-trigraphs -fpascal-strings"
- platform_cflags+=" -Wreturn-type -Wunused-variable -fmessage-length=0 -gdwarf-2"
- platform_cflags+=" -Wno-error=implicit-function-declaration"
+
+ platform_cflags="${platform_cflags} -ftree-vectorize -pipe -Wno-trigraphs -fpascal-strings"
+ platform_cflags="${platform_cflags} -Wreturn-type -Wunused-variable -fmessage-length=0 -gdwarf-2"
optimize_flags="-O3"
- use_sdk_path=[`$use_xcodebuild -version -sdk $sdk_name | grep ^Path | awk '{ print $2}'`]
- platform_ldflags+=" -L$use_sdk_path/usr/lib"
- platform_cxxflags+=" $cpu_flags"
+ platform_ldflags="${platform_ldflags} -L$use_sdk_path/usr/lib"
;;
esac
- platform_cflags+=" -arch $use_cpu -m$platform_min_version"
- platform_ldflags+=" -arch $use_cpu -m$platform_min_version -isysroot $use_sdk_path -stdlib=libc++"
- platform_cxxflags+=" -arch $use_cpu -m$platform_min_version -stdlib=libc++"
- platform_includes="-isysroot $use_sdk_path"
+
+ AX_COMPARE_VERSION([$use_sdk], [ge], [$target_minver], , AC_MSG_ERROR("invalid SDK version provided (--with-sdk=$use_sdk) less than minimum supported ($target_minver)"))
+
+ platform_min_version="$target_platform-version-min=$target_minver"
+
+ platform_includes="-arch $use_cpu -m$platform_min_version -isysroot $use_sdk_path"
+ platform_ldflags="${platform_ldflags} $platform_includes -stdlib=libc++"
+ platform_cxxflags="${platform_cxxflags} -stdlib=libc++"
deps_dir="${sdk_name}_${use_cpu}-target-${build_type}"
- AC_CHECK_LIB([z], [main], has_zlib=1, AC_MSG_WARN("No zlib support in toolchain. Will build libz."); has_zlib=0)
;;
*)
AC_MSG_ERROR(unsupported host ($use_host))
esac
case $use_platform in
- gbm|wayland)
- if test "$platform_os" != "linux"; then
- AC_MSG_ERROR([$use_platform is only supported on the Linux platform])
- fi
- target_platform=$use_platform
- ;;
- raspberry-pi)
- target_platform=raspberry-pi
- use_cpu=arm1176jzf-s
- ffmpeg_options_default="--cpu=arm1176jzf-s"
- platform_cflags="-mcpu=arm1176jzf-s -mtune=arm1176jzf-s -mfloat-abi=hard -mfpu=vfp"
- platform_cxxflags="-mcpu=arm1176jzf-s -mtune=arm1176jzf-s -mfloat-abi=hard -mfpu=vfp"
- platform_ldflags=""
- ;;
- raspberry-pi2)
- target_platform=raspberry-pi
- use_cpu=cortex-a7
- ffmpeg_options_default="--cpu=cortex-a7"
- platform_cflags="-fPIC -mcpu=cortex-a7 -mfloat-abi=hard -mfpu=neon-vfpv4 -mvectorize-with-neon-quad"
- platform_cxxflags="-fPIC -mcpu=cortex-a7 -mfloat-abi=hard -mfpu=neon-vfpv4 -mvectorize-with-neon-quad"
- platform_ldflags="-lpthread"
- ;;
- raspberry-pi3)
- target_platform=raspberry-pi
- use_cpu=cortex-a53
- ffmpeg_options_default="--cpu=cortex-a53"
- platform_cflags="-fPIC -mcpu=cortex-a53 -mfloat-abi=hard -mfpu=neon-fp-armv8 -mvectorize-with-neon-quad"
- platform_cxxflags="-fPIC -mcpu=cortex-a53 -mfloat-abi=hard -mfpu=neon-fp-armv8 -mvectorize-with-neon-quad"
- platform_ldflags="-lpthread"
- ;;
- tvos)
- platform_cflags+=" -fembed-bitcode"
- platform_cxxflags+=" -fembed-bitcode"
- if test "$platform_os" != "darwin_embedded"; then
- AC_MSG_ERROR([$use_platform is only supported on the darwin_embedded platform])
- fi
+ ios|tvos|macos)
;;
auto)
;;
@@ -471,36 +510,28 @@ case $use_platform in
AC_MSG_ERROR(unsupported platform ($use_platform))
esac
-if test "$target_platform" = "raspberry-pi" ; then
- if test -d "${use_firmware}/opt/vc/include"; then
- :
- else
- AC_MSG_ERROR([Raspberry Pi firmware not found])
- fi
- use_arch="arm"
- use_hardcoded_tables="yes"
- ARCH="arm"
- cross_compiling="yes"
- use_host="arm-linux-gnueabihf"
- deps_dir="$use_platform-$build_type"
- platform_cflags+=" -pipe -mabi=aapcs-linux -Wno-psabi \
- -Wa,-mno-warn-deprecated -Wno-deprecated-declarations \
- -isystem${use_firmware}/opt/vc/include \
- -isystem${use_firmware}/opt/vc/include/interface/vcos/pthreads \
- -isystem${use_firmware}/opt/vc/include/interface/vmcs_host/linux"
- platform_cxxflags+=" -pipe -mabi=aapcs-linux -Wno-psabi \
- -Wa,-mno-warn-deprecated -Wno-deprecated-declarations \
- -isystem${use_firmware}/opt/vc/include \
- -isystem${use_firmware}/opt/vc/include/interface/vcos/pthreads \
- -isystem${use_firmware}/opt/vc/include/interface/vmcs_host/linux"
- platform_ldflags+=" -L${use_firmware}/opt/vc/lib -lEGL -lGLESv2 -lbcm_host -lvcos \
- -lvchiq_arm"
-fi
-
XBMC_SETUP_ARCH_DEFINES()
+case $build in
+ *darwin*)
+ if test "$platform_os" != "android"; then
+ # MacOS 11 requires explicit isysroot for autoconf link tests
+ # However we do not want to pollute LDFLAGS once lib link tests are complete
+ LDFLAGS="$platform_includes"
+ AC_CHECK_LIB([z], [main], has_zlib=1, AC_MSG_WARN("No zlib support in toolchain. Will build libz."); has_zlib=0)
+ fi
+esac
-AC_SEARCH_LIBS([iconv_open],iconv, link_iconv=$ac_cv_search_iconv_open, link_iconv=-liconv; AC_MSG_WARN("No iconv support in toolchain. Will build libiconv."); need_libiconv=1)
+if test "$platform_os" = "android"; then
+ need_libiconv=1
+else
+ AC_SEARCH_LIBS([iconv_open],iconv, link_iconv=$ac_cv_search_iconv_open, link_iconv=-liconv; AC_MSG_WARN("No iconv support in toolchain. Will build libiconv."); need_libiconv=1)
+fi
+
+case $build in
+ *darwin*)
+ LDFLAGS=$(echo "$LDFLAGS" | sed "s|$platform_includes||")
+esac
if test "$link_iconv" = "none required"; then
link_iconv=
@@ -518,13 +549,13 @@ if test -z $use_tarballs; then
use_tarballs=$prefix/xbmc-tarballs
fi
-if test -n "$app_rendersystem"; then
+if test "$platform_os" = "linux"; then
if test "$app_rendersystem" != "gl" && test "$app_rendersystem" != "gles"; then
- AC_MSG_ERROR(Rendersystem must be gl or gles)
+ AC_MSG_ERROR(Rendersystem is required for linux - must be gl or gles)
fi
fi
-if test "$platform_os" == "android"; then
+if test "$platform_os" = "android"; then
if test -z $use_ndk_path; then
AC_MSG_ERROR("NDK path is required for android")
fi
@@ -537,7 +568,7 @@ if test "$platform_os" == "android"; then
AC_MSG_ERROR("SDK path is required for android")
fi
- if [ ! test -f $use_sdk_path/tools/android ]; then
+ if [ ! test -f $use_sdk_path/tools/bin/sdkmanager ]; then
AC_MSG_ERROR(verify sdk path)
fi
@@ -549,31 +580,18 @@ if test "$platform_os" == "android"; then
SORT_PARAMS=""
sort -V /dev/null > /dev/null 2>&1 && SORT_PARAMS="-V"
build_tools_path=$use_sdk_path/tools:$use_sdk_path/platform-tools:$use_sdk_path/build-tools/`ls $use_sdk_path/build-tools | sort $SORT_PARAMS | tail -n 1`
-
- AC_PATH_PROG(AAPT,aapt,"no",$build_tools_path)
- if test "x$AAPT" = "xno" ; then
- AC_MSG_ERROR("Missing program: aapt")
- fi
-
- AC_PATH_PROG(DX,dx,"no",$build_tools_path)
- if test "x$DX" = "xno" ; then
- AC_MSG_ERROR("Missing program: dx")
- fi
-
- AC_PATH_PROG(ZIPALIGN,zipalign,"no",$build_tools_path)
- if test "x$ZIPALIGN" = "xno" ; then
- AC_MSG_ERROR("Missing program: zipalign")
- fi
fi
-# darwin needs unzip/zip in Codesign.command
+# darwin needs unzip in Codesign.command
if test "$platform_os" = "android" || test "$platform_os" = "osx" || test "$platform_os" = "darwin_embedded"; then
AC_CHECK_PROG(HAVE_UNZIP,unzip,"yes","no",)
if test "x$HAVE_UNZIP" = "xno"; then
AC_MSG_ERROR("Missing program: unzip")
fi
fi
-if test "$platform_os" = "osx" || test "$platform_os" = "darwin_embedded"; then
+# darwin needs zip in Codesign.command
+# android needs zip in tools/android/packaging/Makefile sharedobb target
+if test "$platform_os" = "android" || test "$platform_os" = "osx" || test "$platform_os" = "darwin_embedded"; then
AC_CHECK_PROG(HAVE_ZIP,zip,"yes","no",)
if test "x$HAVE_ZIP" = "xno"; then
AC_MSG_ERROR("Missing program: zip")
@@ -614,8 +632,8 @@ if [ ! `mkdir -p $use_tarballs` ]; then
fi
# remove unwanted optimization flags
-tmp_cflags=$(echo $c14_flags $platform_cflags | sed 's/-O@<:@123@:>@//g;s/-g //g;s/ \{2,\}//g')
-tmp_cxxflags=$(echo $cxx14_flags $platform_cxxflags | sed 's/-O@<:@123@:>@//g;s/-g //g;s/ \{2,\}//g')
+tmp_cflags=$(echo $CFLAGS $platform_cflags | sed 's/-O@<:@123@:>@//g;s/-g //g;s/ \{2,\}//g')
+tmp_cxxflags=$(echo $CXXFLAGS $platform_cxxflags | sed 's/-O@<:@123@:>@//g;s/-g //g;s/ \{2,\}//g')
release_cflags="-DNDEBUG=1"
@@ -635,7 +653,7 @@ platform_cflags_release="$tmp_cflags $release_cflags $optimize_flags $target_cfl
platform_cxxflags_release="$tmp_cxxflags $release_cflags $optimize_flags $target_cxxflags"
platform_cflags_debug="$tmp_cflags $debug_cflags $target_cflags"
platform_cxxflags_debug="$tmp_cxxflags $debug_cflags $target_cxxflags"
-platform_ldflags+=" $target_ldflags $LIBS"
+platform_ldflags="${platform_ldflags} $target_ldflags $LIBS"
if test "$use_debug" = "yes"; then
platform_cflags="$platform_cflags_debug"
@@ -645,11 +663,17 @@ else
platform_cxxflags="$platform_cxxflags_release"
fi
-if test "$ffmpeg_options" == "default"; then
+CXXFLAGS="$platform_cxxflags $platform_includes"
+CXX_CACHED="$CXX"
+AX_CXX_COMPILE_STDCXX([17], [noext], [mandatory])
+CXX="$CXX_CACHED"
+platform_cxxflags="${platform_cxxflags} -std=c++17"
+
+if test "$ffmpeg_options" = "default"; then
ffmpeg_options="$ffmpeg_options_default"
fi
-if test "$platform_os" == "android"; then
+if test "$platform_os" = "android"; then
echo -e
AC_SUBST(use_sdk_path)
AC_SUBST(use_ndk_path)
@@ -657,10 +681,14 @@ echo -e
AC_SUBST(build_tools_path)
fi
+AC_SUBST(meson_system)
+AC_SUBST(meson_cpu)
AC_SUBST(use_debug)
AC_SUBST(use_host)
+AC_SUBST(use_build)
AC_SUBST(deps_dir)
AC_SUBST(tool_dir)
+AC_SUBST(use_buildcpu)
AC_SUBST(use_cpu)
AC_SUBST(use_toolchain)
AC_SUBST(use_build_toolchain)
@@ -683,15 +711,115 @@ AC_SUBST(link_iconv)
AC_SUBST(need_libiconv)
AC_SUBST(use_gplv3)
AC_SUBST(use_ccache)
-AC_SUBST(native_platform_min_version)
+AC_SUBST(host_includes)
+AC_SUBST(host_sysroot)
+AC_SUBST(host_cxxflags)
AC_SUBST(app_rendersystem)
+AC_SUBST(app_winsystem)
AC_SUBST(ffmpeg_options)
+[
+if test "x$CCACHE" = "x"
+then
+ MESON_CC="'$CC'"
+ MESON_CXX="'$CXX'"
+else
+ MESON_CC="['$CCACHE', '$CC']"
+ MESON_CXX="['$CCACHE', '$CXX']"
+fi
+
+# Parse and handle CFLAGS
+read -r CFLAGS_ARRAY << EOF
+$platform_cflags $platform_includes -isystem $prefix/$deps_dir/include
+EOF
+
+count=1
+for flag in $CFLAGS_ARRAY; do
+ if test "$flag" != "-g"
+ then
+ if test "$flag" != "-gdwarf-2"
+ then
+ MESON_CFLAGS="${MESON_CFLAGS:+${MESON_CFLAGS}, }'$flag'"
+ count=$((count + 1))
+ fi
+ fi
+done
+if test "$count" -gt "2"
+then
+ MESON_CFLAGS="[$MESON_CFLAGS]"
+fi
+
+# Parse and handle CXXFLAGS
+read -r CXXFLAGS_ARRAY << EOF
+$platform_cxxflags $platform_includes -isystem $prefix/$deps_dir/include
+EOF
+
+count=1
+for flag in $CXXFLAGS_ARRAY; do
+ if test "$flag" != "-g"
+ then
+ if test "$flag" != "-gdwarf-2"
+ then
+ MESON_CXXFLAGS="${MESON_CXXFLAGS:+${MESON_CXXFLAGS}, }'$flag'"
+ count=$((count + 1))
+ fi
+ fi
+done
+if test "$count" -gt "2"
+then
+ MESON_CXXFLAGS="[$MESON_CXXFLAGS]"
+fi
+
+# Parse and handle LDFLAGS
+read -r LDFLAGS_ARRAY << EOF
+-L$prefix/$deps_dir/lib $platform_ldflags
+EOF
+
+count=1
+for flag in $LDFLAGS_ARRAY; do
+ MESON_LDFLAGS="${MESON_LDFLAGS:+${MESON_LDFLAGS}, }'$flag'"
+ count=$((count + 1))
+done
+if test "$count" -gt "2"
+then
+ MESON_LDFLAGS="[$MESON_LDFLAGS]"
+fi
+
+cat > $prefix/$deps_dir/share/cross-file.meson << EOF
+[binaries]
+c = $MESON_CC
+cpp = $MESON_CXX
+ar = '$AR'
+strip = '$STRIP'
+pkgconfig = '$prefix/$tool_dir/bin/pkg-config'
+
+[host_machine]
+system = '$meson_system'
+cpu_family = '$meson_cpu'
+cpu = '$use_cpu'
+endian = 'little'
+
+[properties]
+pkg_config_libdir = '$prefix/$deps_dir/lib/pkgconfig'
+
+[built-in options]
+c_args = $MESON_CFLAGS
+c_link_args = $MESON_LDFLAGS
+cpp_args = $MESON_CXXFLAGS
+cpp_link_args = $MESON_LDFLAGS
+default_library = 'static'
+prefix = '$prefix/$deps_dir'
+libdir = 'lib'
+bindir = 'bin'
+includedir = 'include'
+EOF
+]
+
AC_OUTPUT
-if test "$platform_os" == "darwin_embedded"; then
+if test "$platform_os" = "darwin_embedded"; then
if test "$use_platform" = "ios"; then
- simulator_sdk_path=[`$use_xcodebuild -version -sdk iphonesimulator$use_sdk | grep ^Path | awk '{ print $2}'`]
+ simulator_sdk_path=[`$use_xcrun --sdk iphonesimulator --show-sdk-path`]
echo -e "use simulator:\t $simulator_sdk_path"
fi
fi
@@ -700,23 +828,29 @@ cp -vf target/config.site $prefix/$deps_dir/share
cp -vf target/config-binaddons.site $prefix/$tool_dir/share
cp -vf target/Toolchain.cmake $prefix/$deps_dir/share
cp -vf target/Toolchain_binaddons.cmake $prefix/$deps_dir/share
-cp -vf target/cross-file.meson $prefix/$deps_dir/share
cp -vf native/config.site.native $prefix/$tool_dir/share/config.site
+cp -vf native/Toolchain-Native.cmake $prefix/$tool_dir/share
echo -e "\n\n#------- configuration -------#"
echo -e "ccache:\t\t $use_ccache"
-echo -e "build type:\t $build_type"
-echo -e "toolchain:\t $use_toolchain"
-echo -e "cpu:\t\t $use_cpu"
+echo -e "build type:\t\t $build_type"
+echo -e "build system:\t $use_build"
+echo -e "build cpu:\t\t $use_buildcpu"
+echo -e "build includes:\t $host_includes"
+echo -e "toolchain:\t\t $use_toolchain"
+echo -e "cpu:\t\t\t $use_cpu"
echo -e "host:\t\t $use_host"
+echo -e "CC:\t\t $CC"
+echo -e "CXX:\t\t $CXX"
echo -e "cflags:\t\t $platform_cflags"
-echo -e "cxxflags:\t $platform_cxxflags"
-echo -e "ldflags:\t $platform_ldflags"
+echo -e "cxxflags:\t\t $platform_cxxflags"
+echo -e "ldflags:\t\t $platform_ldflags"
+echo -e "platform_includes:\t $platform_includes"
echo -e "ffmpeg options:\t $ffmpeg_options"
echo -e "prefix:\t\t $prefix"
-echo -e "depends:\t $prefix/$deps_dir"
-if test "$platform_os" == "android"; then
+echo -e "depends:\t\t $prefix/$deps_dir"
+if test "$platform_os" = "android"; then
echo -e "ndk-api-level:\t $use_ndk_api"
echo -e "build-tools:\t $build_tools_path"
fi
diff --git a/tools/depends/download-files.include b/tools/depends/download-files.include
new file mode 100644
index 0000000000..3f41dfa1e9
--- /dev/null
+++ b/tools/depends/download-files.include
@@ -0,0 +1,59 @@
+#
+HASH_FOUND = yes
+ifneq ($(SHA512),)
+ HASH_TYPE = sha512
+ HASH_TOOL ?= $(SHA512SUM)
+else ifneq ($(SHA256),)
+ HASH_TYPE = sha256
+ HASH_TOOL ?= $(SHA256SUM)
+else
+ HASH_FOUND = no
+ HASH_TYPE = sha512
+ HASH_TOOL = sha512sum
+endif
+
+SED_FLAG = -i
+ifeq ($(NATIVE_OS), osx)
+ HASH_TOOL = $(SHASUM) -a $(shell echo $(HASH_TYPE) | sed 's/^sha//')
+ SED_FLAG = -i ''
+endif
+
+# non-depends builds might not set this, use defaults
+ifeq ($(HASH_TOOL),)
+ HASH_TOOL = sha512sum
+ HASH_TOOL_FLAGS = -c --status
+endif
+
+HASH_SUM = $($(shell echo $(HASH_TYPE) | tr '[:lower:]' '[:upper:]'))
+
+.PHONY: $(TARBALLS_LOCATION)/$(ARCHIVE).$(HASH_TYPE)
+all: $(TARBALLS_LOCATION)/$(ARCHIVE).$(HASH_TYPE)
+
+$(TARBALLS_LOCATION)/$(ARCHIVE):
+ cd $(TARBALLS_LOCATION); $(RETRIEVE_TOOL) $(RETRIEVE_TOOL_FLAGS) $(BASE_URL)/$(ARCHIVE)
+
+$(TARBALLS_LOCATION)/$(ARCHIVE).$(HASH_TYPE): $(TARBALLS_LOCATION)/$(ARCHIVE)
+ifeq ($(HASH_FOUND),no)
+ cd $(TARBALLS_LOCATION); $(HASH_TOOL) $(ARCHIVE) > $(ARCHIVE).$(HASH_TYPE)
+ $(HASH_TYPE)=$$(cat $(TARBALLS_LOCATION)/$(ARCHIVE).$(HASH_TYPE) | cut -d ' ' -f 1) && \
+ sed $(SED_FLAG) -e "s/#SHA512#/SHA512=$${sha512}/" -e "s/#SHA256#/SHA256=$${sha256}/" Makefile
+endif
+ifeq ($(HASH_FOUND),yes)
+# we really need 2 spaces between sha hash and file name!
+# if the hash sum doesn't match we retry up to 3 times, add verbose curl output for diagnostics on retries
+# if we fail 3 times, cleanup anything downloaded (eg bad tar)
+ @cd $(TARBALLS_LOCATION); echo "$(HASH_SUM) $(ARCHIVE)" > $(ARCHIVE).$(HASH_TYPE) && $(HASH_TOOL) $(HASH_TOOL_FLAGS) $(ARCHIVE).$(HASH_TYPE) \
+ || {\
+ echo "Error: failed to verify hash sum of $(ARCHIVE), expected type: $(HASH_TYPE) value $(HASH_SUM), retrying.." ;\
+ tries=1 ;\
+ while [ $$tries -le 3 ]; do \
+ echo "download $(ARCHIVE) retry $$tries" ;\
+ rm $(TARBALLS_LOCATION)/$(ARCHIVE) ;\
+ sleep 3 ;\
+ $(RETRIEVE_TOOL) $(RETRIEVE_TOOL_FLAGS) -v $(BASE_URL)/$(ARCHIVE) ;\
+ $(HASH_TOOL) $(HASH_TOOL_FLAGS) $(ARCHIVE).$(HASH_TYPE) && exit 0 || tries=$$((tries + 1)) ;\
+ done ;\
+ rm $(TARBALLS_LOCATION)/$(ARCHIVE) ;\
+ exit 1 ;\
+ }
+endif
diff --git a/tools/depends/m4/ax_compare_version.m4 b/tools/depends/m4/ax_compare_version.m4
new file mode 100644
index 0000000000..ffb4997e8b
--- /dev/null
+++ b/tools/depends/m4/ax_compare_version.m4
@@ -0,0 +1,177 @@
+# ===========================================================================
+# https://www.gnu.org/software/autoconf-archive/ax_compare_version.html
+# ===========================================================================
+#
+# SYNOPSIS
+#
+# AX_COMPARE_VERSION(VERSION_A, OP, VERSION_B, [ACTION-IF-TRUE], [ACTION-IF-FALSE])
+#
+# DESCRIPTION
+#
+# This macro compares two version strings. Due to the various number of
+# minor-version numbers that can exist, and the fact that string
+# comparisons are not compatible with numeric comparisons, this is not
+# necessarily trivial to do in a autoconf script. This macro makes doing
+# these comparisons easy.
+#
+# The six basic comparisons are available, as well as checking equality
+# limited to a certain number of minor-version levels.
+#
+# The operator OP determines what type of comparison to do, and can be one
+# of:
+#
+# eq - equal (test A == B)
+# ne - not equal (test A != B)
+# le - less than or equal (test A <= B)
+# ge - greater than or equal (test A >= B)
+# lt - less than (test A < B)
+# gt - greater than (test A > B)
+#
+# Additionally, the eq and ne operator can have a number after it to limit
+# the test to that number of minor versions.
+#
+# eq0 - equal up to the length of the shorter version
+# ne0 - not equal up to the length of the shorter version
+# eqN - equal up to N sub-version levels
+# neN - not equal up to N sub-version levels
+#
+# When the condition is true, shell commands ACTION-IF-TRUE are run,
+# otherwise shell commands ACTION-IF-FALSE are run. The environment
+# variable 'ax_compare_version' is always set to either 'true' or 'false'
+# as well.
+#
+# Examples:
+#
+# AX_COMPARE_VERSION([3.15.7],[lt],[3.15.8])
+# AX_COMPARE_VERSION([3.15],[lt],[3.15.8])
+#
+# would both be true.
+#
+# AX_COMPARE_VERSION([3.15.7],[eq],[3.15.8])
+# AX_COMPARE_VERSION([3.15],[gt],[3.15.8])
+#
+# would both be false.
+#
+# AX_COMPARE_VERSION([3.15.7],[eq2],[3.15.8])
+#
+# would be true because it is only comparing two minor versions.
+#
+# AX_COMPARE_VERSION([3.15.7],[eq0],[3.15])
+#
+# would be true because it is only comparing the lesser number of minor
+# versions of the two values.
+#
+# Note: The characters that separate the version numbers do not matter. An
+# empty string is the same as version 0. OP is evaluated by autoconf, not
+# configure, so must be a string, not a variable.
+#
+# The author would like to acknowledge Guido Draheim whose advice about
+# the m4_case and m4_ifvaln functions make this macro only include the
+# portions necessary to perform the specific comparison specified by the
+# OP argument in the final configure script.
+#
+# LICENSE
+#
+# Copyright (c) 2008 Tim Toolan <toolan@ele.uri.edu>
+#
+# Copying and distribution of this file, with or without modification, are
+# permitted in any medium without royalty provided the copyright notice
+# and this notice are preserved. This file is offered as-is, without any
+# warranty.
+
+#serial 13
+
+dnl #########################################################################
+AC_DEFUN([AX_COMPARE_VERSION], [
+ AC_REQUIRE([AC_PROG_AWK])
+
+ # Used to indicate true or false condition
+ ax_compare_version=false
+
+ # Convert the two version strings to be compared into a format that
+ # allows a simple string comparison. The end result is that a version
+ # string of the form 1.12.5-r617 will be converted to the form
+ # 0001001200050617. In other words, each number is zero padded to four
+ # digits, and non digits are removed.
+ AS_VAR_PUSHDEF([A],[ax_compare_version_A])
+ A=`echo "$1" | sed -e 's/\([[0-9]]*\)/Z\1Z/g' \
+ -e 's/Z\([[0-9]]\)Z/Z0\1Z/g' \
+ -e 's/Z\([[0-9]][[0-9]]\)Z/Z0\1Z/g' \
+ -e 's/Z\([[0-9]][[0-9]][[0-9]]\)Z/Z0\1Z/g' \
+ -e 's/[[^0-9]]//g'`
+
+ AS_VAR_PUSHDEF([B],[ax_compare_version_B])
+ B=`echo "$3" | sed -e 's/\([[0-9]]*\)/Z\1Z/g' \
+ -e 's/Z\([[0-9]]\)Z/Z0\1Z/g' \
+ -e 's/Z\([[0-9]][[0-9]]\)Z/Z0\1Z/g' \
+ -e 's/Z\([[0-9]][[0-9]][[0-9]]\)Z/Z0\1Z/g' \
+ -e 's/[[^0-9]]//g'`
+
+ dnl # In the case of le, ge, lt, and gt, the strings are sorted as necessary
+ dnl # then the first line is used to determine if the condition is true.
+ dnl # The sed right after the echo is to remove any indented white space.
+ m4_case(m4_tolower($2),
+ [lt],[
+ ax_compare_version=`echo "x$A
+x$B" | sed 's/^ *//' | sort -r | sed "s/x${A}/false/;s/x${B}/true/;1q"`
+ ],
+ [gt],[
+ ax_compare_version=`echo "x$A
+x$B" | sed 's/^ *//' | sort | sed "s/x${A}/false/;s/x${B}/true/;1q"`
+ ],
+ [le],[
+ ax_compare_version=`echo "x$A
+x$B" | sed 's/^ *//' | sort | sed "s/x${A}/true/;s/x${B}/false/;1q"`
+ ],
+ [ge],[
+ ax_compare_version=`echo "x$A
+x$B" | sed 's/^ *//' | sort -r | sed "s/x${A}/true/;s/x${B}/false/;1q"`
+ ],[
+ dnl Split the operator from the subversion count if present.
+ m4_bmatch(m4_substr($2,2),
+ [0],[
+ # A count of zero means use the length of the shorter version.
+ # Determine the number of characters in A and B.
+ ax_compare_version_len_A=`echo "$A" | $AWK '{print(length)}'`
+ ax_compare_version_len_B=`echo "$B" | $AWK '{print(length)}'`
+
+ # Set A to no more than B's length and B to no more than A's length.
+ A=`echo "$A" | sed "s/\(.\{$ax_compare_version_len_B\}\).*/\1/"`
+ B=`echo "$B" | sed "s/\(.\{$ax_compare_version_len_A\}\).*/\1/"`
+ ],
+ [[0-9]+],[
+ # A count greater than zero means use only that many subversions
+ A=`echo "$A" | sed "s/\(\([[0-9]]\{4\}\)\{m4_substr($2,2)\}\).*/\1/"`
+ B=`echo "$B" | sed "s/\(\([[0-9]]\{4\}\)\{m4_substr($2,2)\}\).*/\1/"`
+ ],
+ [.+],[
+ AC_WARNING(
+ [invalid OP numeric parameter: $2])
+ ],[])
+
+ # Pad zeros at end of numbers to make same length.
+ ax_compare_version_tmp_A="$A`echo $B | sed 's/./0/g'`"
+ B="$B`echo $A | sed 's/./0/g'`"
+ A="$ax_compare_version_tmp_A"
+
+ # Check for equality or inequality as necessary.
+ m4_case(m4_tolower(m4_substr($2,0,2)),
+ [eq],[
+ test "x$A" = "x$B" && ax_compare_version=true
+ ],
+ [ne],[
+ test "x$A" != "x$B" && ax_compare_version=true
+ ],[
+ AC_WARNING([invalid OP parameter: $2])
+ ])
+ ])
+
+ AS_VAR_POPDEF([A])dnl
+ AS_VAR_POPDEF([B])dnl
+
+ dnl # Execute ACTION-IF-TRUE / ACTION-IF-FALSE.
+ if test "$ax_compare_version" = "true" ; then
+ m4_ifvaln([$4],[$4],[:])dnl
+ m4_ifvaln([$5],[else $5])dnl
+ fi
+]) dnl AX_COMPARE_VERSION
diff --git a/tools/depends/m4/ax_cxx_compile_stdcxx.m4 b/tools/depends/m4/ax_cxx_compile_stdcxx.m4
new file mode 100644
index 0000000000..43087b2e68
--- /dev/null
+++ b/tools/depends/m4/ax_cxx_compile_stdcxx.m4
@@ -0,0 +1,951 @@
+# ===========================================================================
+# https://www.gnu.org/software/autoconf-archive/ax_cxx_compile_stdcxx.html
+# ===========================================================================
+#
+# SYNOPSIS
+#
+# AX_CXX_COMPILE_STDCXX(VERSION, [ext|noext], [mandatory|optional])
+#
+# DESCRIPTION
+#
+# Check for baseline language coverage in the compiler for the specified
+# version of the C++ standard. If necessary, add switches to CXX and
+# CXXCPP to enable support. VERSION may be '11' (for the C++11 standard)
+# or '14' (for the C++14 standard).
+#
+# The second argument, if specified, indicates whether you insist on an
+# extended mode (e.g. -std=gnu++11) or a strict conformance mode (e.g.
+# -std=c++11). If neither is specified, you get whatever works, with
+# preference for an extended mode.
+#
+# The third argument, if specified 'mandatory' or if left unspecified,
+# indicates that baseline support for the specified C++ standard is
+# required and that the macro should error out if no mode with that
+# support is found. If specified 'optional', then configuration proceeds
+# regardless, after defining HAVE_CXX${VERSION} if and only if a
+# supporting mode is found.
+#
+# LICENSE
+#
+# Copyright (c) 2008 Benjamin Kosnik <bkoz@redhat.com>
+# Copyright (c) 2012 Zack Weinberg <zackw@panix.com>
+# Copyright (c) 2013 Roy Stogner <roystgnr@ices.utexas.edu>
+# Copyright (c) 2014, 2015 Google Inc.; contributed by Alexey Sokolov <sokolov@google.com>
+# Copyright (c) 2015 Paul Norman <penorman@mac.com>
+# Copyright (c) 2015 Moritz Klammler <moritz@klammler.eu>
+# Copyright (c) 2016, 2018 Krzesimir Nowak <qdlacz@gmail.com>
+# Copyright (c) 2019 Enji Cooper <yaneurabeya@gmail.com>
+#
+# Copying and distribution of this file, with or without modification, are
+# permitted in any medium without royalty provided the copyright notice
+# and this notice are preserved. This file is offered as-is, without any
+# warranty.
+
+#serial 11
+
+dnl This macro is based on the code from the AX_CXX_COMPILE_STDCXX_11 macro
+dnl (serial version number 13).
+
+AC_DEFUN([AX_CXX_COMPILE_STDCXX], [dnl
+ m4_if([$1], [11], [ax_cxx_compile_alternatives="11 0x"],
+ [$1], [14], [ax_cxx_compile_alternatives="14 1y"],
+ [$1], [17], [ax_cxx_compile_alternatives="17 1z"],
+ [m4_fatal([invalid first argument `$1' to AX_CXX_COMPILE_STDCXX])])dnl
+ m4_if([$2], [], [],
+ [$2], [ext], [],
+ [$2], [noext], [],
+ [m4_fatal([invalid second argument `$2' to AX_CXX_COMPILE_STDCXX])])dnl
+ m4_if([$3], [], [ax_cxx_compile_cxx$1_required=true],
+ [$3], [mandatory], [ax_cxx_compile_cxx$1_required=true],
+ [$3], [optional], [ax_cxx_compile_cxx$1_required=false],
+ [m4_fatal([invalid third argument `$3' to AX_CXX_COMPILE_STDCXX])])
+ AC_LANG_PUSH([C++])dnl
+ ac_success=no
+
+ m4_if([$2], [noext], [], [dnl
+ if test x$ac_success = xno; then
+ for alternative in ${ax_cxx_compile_alternatives}; do
+ switch="-std=gnu++${alternative}"
+ cachevar=AS_TR_SH([ax_cv_cxx_compile_cxx$1_$switch])
+ AC_CACHE_CHECK(whether $CXX supports C++$1 features with $switch,
+ $cachevar,
+ [ac_save_CXX="$CXX"
+ CXX="$CXX $switch"
+ AC_COMPILE_IFELSE([AC_LANG_SOURCE([_AX_CXX_COMPILE_STDCXX_testbody_$1])],
+ [eval $cachevar=yes],
+ [eval $cachevar=no])
+ CXX="$ac_save_CXX"])
+ if eval test x\$$cachevar = xyes; then
+ CXX="$CXX $switch"
+ if test -n "$CXXCPP" ; then
+ CXXCPP="$CXXCPP $switch"
+ fi
+ ac_success=yes
+ break
+ fi
+ done
+ fi])
+
+ m4_if([$2], [ext], [], [dnl
+ if test x$ac_success = xno; then
+ dnl HP's aCC needs +std=c++11 according to:
+ dnl http://h21007.www2.hp.com/portal/download/files/unprot/aCxx/PDF_Release_Notes/769149-001.pdf
+ dnl Cray's crayCC needs "-h std=c++11"
+ for alternative in ${ax_cxx_compile_alternatives}; do
+ for switch in -std=c++${alternative} +std=c++${alternative} "-h std=c++${alternative}"; do
+ cachevar=AS_TR_SH([ax_cv_cxx_compile_cxx$1_$switch])
+ AC_CACHE_CHECK(whether $CXX supports C++$1 features with $switch,
+ $cachevar,
+ [ac_save_CXX="$CXX"
+ CXX="$CXX $switch"
+ AC_COMPILE_IFELSE([AC_LANG_SOURCE([_AX_CXX_COMPILE_STDCXX_testbody_$1])],
+ [eval $cachevar=yes],
+ [eval $cachevar=no])
+ CXX="$ac_save_CXX"])
+ if eval test x\$$cachevar = xyes; then
+ CXX="$CXX $switch"
+ if test -n "$CXXCPP" ; then
+ CXXCPP="$CXXCPP $switch"
+ fi
+ ac_success=yes
+ break
+ fi
+ done
+ if test x$ac_success = xyes; then
+ break
+ fi
+ done
+ fi])
+ AC_LANG_POP([C++])
+ if test x$ax_cxx_compile_cxx$1_required = xtrue; then
+ if test x$ac_success = xno; then
+ AC_MSG_ERROR([*** A compiler with support for C++$1 language features is required.])
+ fi
+ fi
+ if test x$ac_success = xno; then
+ HAVE_CXX$1=0
+ AC_MSG_NOTICE([No compiler with C++$1 support was found])
+ else
+ HAVE_CXX$1=1
+ AC_DEFINE(HAVE_CXX$1,1,
+ [define if the compiler supports basic C++$1 syntax])
+ fi
+ AC_SUBST(HAVE_CXX$1)
+])
+
+
+dnl Test body for checking C++11 support
+
+m4_define([_AX_CXX_COMPILE_STDCXX_testbody_11],
+ _AX_CXX_COMPILE_STDCXX_testbody_new_in_11
+)
+
+
+dnl Test body for checking C++14 support
+
+m4_define([_AX_CXX_COMPILE_STDCXX_testbody_14],
+ _AX_CXX_COMPILE_STDCXX_testbody_new_in_11
+ _AX_CXX_COMPILE_STDCXX_testbody_new_in_14
+)
+
+m4_define([_AX_CXX_COMPILE_STDCXX_testbody_17],
+ _AX_CXX_COMPILE_STDCXX_testbody_new_in_11
+ _AX_CXX_COMPILE_STDCXX_testbody_new_in_14
+ _AX_CXX_COMPILE_STDCXX_testbody_new_in_17
+)
+
+dnl Tests for new features in C++11
+
+m4_define([_AX_CXX_COMPILE_STDCXX_testbody_new_in_11], [[
+
+// If the compiler admits that it is not ready for C++11, why torture it?
+// Hopefully, this will speed up the test.
+
+#ifndef __cplusplus
+
+#error "This is not a C++ compiler"
+
+#elif __cplusplus < 201103L
+
+#error "This is not a C++11 compiler"
+
+#else
+
+namespace cxx11
+{
+
+ namespace test_static_assert
+ {
+
+ template <typename T>
+ struct check
+ {
+ static_assert(sizeof(int) <= sizeof(T), "not big enough");
+ };
+
+ }
+
+ namespace test_final_override
+ {
+
+ struct Base
+ {
+ virtual ~Base() {}
+ virtual void f() {}
+ };
+
+ struct Derived : public Base
+ {
+ virtual ~Derived() override {}
+ virtual void f() override {}
+ };
+
+ }
+
+ namespace test_double_right_angle_brackets
+ {
+
+ template < typename T >
+ struct check {};
+
+ typedef check<void> single_type;
+ typedef check<check<void>> double_type;
+ typedef check<check<check<void>>> triple_type;
+ typedef check<check<check<check<void>>>> quadruple_type;
+
+ }
+
+ namespace test_decltype
+ {
+
+ int
+ f()
+ {
+ int a = 1;
+ decltype(a) b = 2;
+ return a + b;
+ }
+
+ }
+
+ namespace test_type_deduction
+ {
+
+ template < typename T1, typename T2 >
+ struct is_same
+ {
+ static const bool value = false;
+ };
+
+ template < typename T >
+ struct is_same<T, T>
+ {
+ static const bool value = true;
+ };
+
+ template < typename T1, typename T2 >
+ auto
+ add(T1 a1, T2 a2) -> decltype(a1 + a2)
+ {
+ return a1 + a2;
+ }
+
+ int
+ test(const int c, volatile int v)
+ {
+ static_assert(is_same<int, decltype(0)>::value == true, "");
+ static_assert(is_same<int, decltype(c)>::value == false, "");
+ static_assert(is_same<int, decltype(v)>::value == false, "");
+ auto ac = c;
+ auto av = v;
+ auto sumi = ac + av + 'x';
+ auto sumf = ac + av + 1.0;
+ static_assert(is_same<int, decltype(ac)>::value == true, "");
+ static_assert(is_same<int, decltype(av)>::value == true, "");
+ static_assert(is_same<int, decltype(sumi)>::value == true, "");
+ static_assert(is_same<int, decltype(sumf)>::value == false, "");
+ static_assert(is_same<int, decltype(add(c, v))>::value == true, "");
+ return (sumf > 0.0) ? sumi : add(c, v);
+ }
+
+ }
+
+ namespace test_noexcept
+ {
+
+ int f() { return 0; }
+ int g() noexcept { return 0; }
+
+ static_assert(noexcept(f()) == false, "");
+ static_assert(noexcept(g()) == true, "");
+
+ }
+
+ namespace test_constexpr
+ {
+
+ template < typename CharT >
+ unsigned long constexpr
+ strlen_c_r(const CharT *const s, const unsigned long acc) noexcept
+ {
+ return *s ? strlen_c_r(s + 1, acc + 1) : acc;
+ }
+
+ template < typename CharT >
+ unsigned long constexpr
+ strlen_c(const CharT *const s) noexcept
+ {
+ return strlen_c_r(s, 0UL);
+ }
+
+ static_assert(strlen_c("") == 0UL, "");
+ static_assert(strlen_c("1") == 1UL, "");
+ static_assert(strlen_c("example") == 7UL, "");
+ static_assert(strlen_c("another\0example") == 7UL, "");
+
+ }
+
+ namespace test_rvalue_references
+ {
+
+ template < int N >
+ struct answer
+ {
+ static constexpr int value = N;
+ };
+
+ answer<1> f(int&) { return answer<1>(); }
+ answer<2> f(const int&) { return answer<2>(); }
+ answer<3> f(int&&) { return answer<3>(); }
+
+ void
+ test()
+ {
+ int i = 0;
+ const int c = 0;
+ static_assert(decltype(f(i))::value == 1, "");
+ static_assert(decltype(f(c))::value == 2, "");
+ static_assert(decltype(f(0))::value == 3, "");
+ }
+
+ }
+
+ namespace test_uniform_initialization
+ {
+
+ struct test
+ {
+ static const int zero {};
+ static const int one {1};
+ };
+
+ static_assert(test::zero == 0, "");
+ static_assert(test::one == 1, "");
+
+ }
+
+ namespace test_lambdas
+ {
+
+ void
+ test1()
+ {
+ auto lambda1 = [](){};
+ auto lambda2 = lambda1;
+ lambda1();
+ lambda2();
+ }
+
+ int
+ test2()
+ {
+ auto a = [](int i, int j){ return i + j; }(1, 2);
+ auto b = []() -> int { return '0'; }();
+ auto c = [=](){ return a + b; }();
+ auto d = [&](){ return c; }();
+ auto e = [a, &b](int x) mutable {
+ const auto identity = [](int y){ return y; };
+ for (auto i = 0; i < a; ++i)
+ a += b--;
+ return x + identity(a + b);
+ }(0);
+ return a + b + c + d + e;
+ }
+
+ int
+ test3()
+ {
+ const auto nullary = [](){ return 0; };
+ const auto unary = [](int x){ return x; };
+ using nullary_t = decltype(nullary);
+ using unary_t = decltype(unary);
+ const auto higher1st = [](nullary_t f){ return f(); };
+ const auto higher2nd = [unary](nullary_t f1){
+ return [unary, f1](unary_t f2){ return f2(unary(f1())); };
+ };
+ return higher1st(nullary) + higher2nd(nullary)(unary);
+ }
+
+ }
+
+ namespace test_variadic_templates
+ {
+
+ template <int...>
+ struct sum;
+
+ template <int N0, int... N1toN>
+ struct sum<N0, N1toN...>
+ {
+ static constexpr auto value = N0 + sum<N1toN...>::value;
+ };
+
+ template <>
+ struct sum<>
+ {
+ static constexpr auto value = 0;
+ };
+
+ static_assert(sum<>::value == 0, "");
+ static_assert(sum<1>::value == 1, "");
+ static_assert(sum<23>::value == 23, "");
+ static_assert(sum<1, 2>::value == 3, "");
+ static_assert(sum<5, 5, 11>::value == 21, "");
+ static_assert(sum<2, 3, 5, 7, 11, 13>::value == 41, "");
+
+ }
+
+ // http://stackoverflow.com/questions/13728184/template-aliases-and-sfinae
+ // Clang 3.1 fails with headers of libstd++ 4.8.3 when using std::function
+ // because of this.
+ namespace test_template_alias_sfinae
+ {
+
+ struct foo {};
+
+ template<typename T>
+ using member = typename T::member_type;
+
+ template<typename T>
+ void func(...) {}
+
+ template<typename T>
+ void func(member<T>*) {}
+
+ void test();
+
+ void test() { func<foo>(0); }
+
+ }
+
+} // namespace cxx11
+
+#endif // __cplusplus >= 201103L
+
+]])
+
+
+dnl Tests for new features in C++14
+
+m4_define([_AX_CXX_COMPILE_STDCXX_testbody_new_in_14], [[
+
+// If the compiler admits that it is not ready for C++14, why torture it?
+// Hopefully, this will speed up the test.
+
+#ifndef __cplusplus
+
+#error "This is not a C++ compiler"
+
+#elif __cplusplus < 201402L
+
+#error "This is not a C++14 compiler"
+
+#else
+
+namespace cxx14
+{
+
+ namespace test_polymorphic_lambdas
+ {
+
+ int
+ test()
+ {
+ const auto lambda = [](auto&&... args){
+ const auto istiny = [](auto x){
+ return (sizeof(x) == 1UL) ? 1 : 0;
+ };
+ const int aretiny[] = { istiny(args)... };
+ return aretiny[0];
+ };
+ return lambda(1, 1L, 1.0f, '1');
+ }
+
+ }
+
+ namespace test_binary_literals
+ {
+
+ constexpr auto ivii = 0b0000000000101010;
+ static_assert(ivii == 42, "wrong value");
+
+ }
+
+ namespace test_generalized_constexpr
+ {
+
+ template < typename CharT >
+ constexpr unsigned long
+ strlen_c(const CharT *const s) noexcept
+ {
+ auto length = 0UL;
+ for (auto p = s; *p; ++p)
+ ++length;
+ return length;
+ }
+
+ static_assert(strlen_c("") == 0UL, "");
+ static_assert(strlen_c("x") == 1UL, "");
+ static_assert(strlen_c("test") == 4UL, "");
+ static_assert(strlen_c("another\0test") == 7UL, "");
+
+ }
+
+ namespace test_lambda_init_capture
+ {
+
+ int
+ test()
+ {
+ auto x = 0;
+ const auto lambda1 = [a = x](int b){ return a + b; };
+ const auto lambda2 = [a = lambda1(x)](){ return a; };
+ return lambda2();
+ }
+
+ }
+
+ namespace test_digit_separators
+ {
+
+ constexpr auto ten_million = 100'000'000;
+ static_assert(ten_million == 100000000, "");
+
+ }
+
+ namespace test_return_type_deduction
+ {
+
+ auto f(int& x) { return x; }
+ decltype(auto) g(int& x) { return x; }
+
+ template < typename T1, typename T2 >
+ struct is_same
+ {
+ static constexpr auto value = false;
+ };
+
+ template < typename T >
+ struct is_same<T, T>
+ {
+ static constexpr auto value = true;
+ };
+
+ int
+ test()
+ {
+ auto x = 0;
+ static_assert(is_same<int, decltype(f(x))>::value, "");
+ static_assert(is_same<int&, decltype(g(x))>::value, "");
+ return x;
+ }
+
+ }
+
+} // namespace cxx14
+
+#endif // __cplusplus >= 201402L
+
+]])
+
+
+dnl Tests for new features in C++17
+
+m4_define([_AX_CXX_COMPILE_STDCXX_testbody_new_in_17], [[
+
+// If the compiler admits that it is not ready for C++17, why torture it?
+// Hopefully, this will speed up the test.
+
+#ifndef __cplusplus
+
+#error "This is not a C++ compiler"
+
+#elif __cplusplus < 201703L
+
+#error "This is not a C++17 compiler"
+
+#else
+
+#include <initializer_list>
+#include <utility>
+#include <type_traits>
+
+namespace cxx17
+{
+
+ namespace test_constexpr_lambdas
+ {
+
+ constexpr int foo = [](){return 42;}();
+
+ }
+
+ namespace test::nested_namespace::definitions
+ {
+
+ }
+
+ namespace test_fold_expression
+ {
+
+ template<typename... Args>
+ int multiply(Args... args)
+ {
+ return (args * ... * 1);
+ }
+
+ template<typename... Args>
+ bool all(Args... args)
+ {
+ return (args && ...);
+ }
+
+ }
+
+ namespace test_extended_static_assert
+ {
+
+ static_assert (true);
+
+ }
+
+ namespace test_auto_brace_init_list
+ {
+
+ auto foo = {5};
+ auto bar {5};
+
+ static_assert(std::is_same<std::initializer_list<int>, decltype(foo)>::value);
+ static_assert(std::is_same<int, decltype(bar)>::value);
+ }
+
+ namespace test_typename_in_template_template_parameter
+ {
+
+ template<template<typename> typename X> struct D;
+
+ }
+
+ namespace test_fallthrough_nodiscard_maybe_unused_attributes
+ {
+
+ int f1()
+ {
+ return 42;
+ }
+
+ [[nodiscard]] int f2()
+ {
+ [[maybe_unused]] auto unused = f1();
+
+ switch (f1())
+ {
+ case 17:
+ f1();
+ [[fallthrough]];
+ case 42:
+ f1();
+ }
+ return f1();
+ }
+
+ }
+
+ namespace test_extended_aggregate_initialization
+ {
+
+ struct base1
+ {
+ int b1, b2 = 42;
+ };
+
+ struct base2
+ {
+ base2() {
+ b3 = 42;
+ }
+ int b3;
+ };
+
+ struct derived : base1, base2
+ {
+ int d;
+ };
+
+ derived d1 {{1, 2}, {}, 4}; // full initialization
+ derived d2 {{}, {}, 4}; // value-initialized bases
+
+ }
+
+ namespace test_general_range_based_for_loop
+ {
+
+ struct iter
+ {
+ int i;
+
+ int& operator* ()
+ {
+ return i;
+ }
+
+ const int& operator* () const
+ {
+ return i;
+ }
+
+ iter& operator++()
+ {
+ ++i;
+ return *this;
+ }
+ };
+
+ struct sentinel
+ {
+ int i;
+ };
+
+ bool operator== (const iter& i, const sentinel& s)
+ {
+ return i.i == s.i;
+ }
+
+ bool operator!= (const iter& i, const sentinel& s)
+ {
+ return !(i == s);
+ }
+
+ struct range
+ {
+ iter begin() const
+ {
+ return {0};
+ }
+
+ sentinel end() const
+ {
+ return {5};
+ }
+ };
+
+ void f()
+ {
+ range r {};
+
+ for (auto i : r)
+ {
+ [[maybe_unused]] auto v = i;
+ }
+ }
+
+ }
+
+ namespace test_lambda_capture_asterisk_this_by_value
+ {
+
+ struct t
+ {
+ int i;
+ int foo()
+ {
+ return [*this]()
+ {
+ return i;
+ }();
+ }
+ };
+
+ }
+
+ namespace test_enum_class_construction
+ {
+
+ enum class byte : unsigned char
+ {};
+
+ byte foo {42};
+
+ }
+
+ namespace test_constexpr_if
+ {
+
+ template <bool cond>
+ int f ()
+ {
+ if constexpr(cond)
+ {
+ return 13;
+ }
+ else
+ {
+ return 42;
+ }
+ }
+
+ }
+
+ namespace test_selection_statement_with_initializer
+ {
+
+ int f()
+ {
+ return 13;
+ }
+
+ int f2()
+ {
+ if (auto i = f(); i > 0)
+ {
+ return 3;
+ }
+
+ switch (auto i = f(); i + 4)
+ {
+ case 17:
+ return 2;
+
+ default:
+ return 1;
+ }
+ }
+
+ }
+
+ namespace test_template_argument_deduction_for_class_templates
+ {
+
+ template <typename T1, typename T2>
+ struct pair
+ {
+ pair (T1 p1, T2 p2)
+ : m1 {p1},
+ m2 {p2}
+ {}
+
+ T1 m1;
+ T2 m2;
+ };
+
+ void f()
+ {
+ [[maybe_unused]] auto p = pair{13, 42u};
+ }
+
+ }
+
+ namespace test_non_type_auto_template_parameters
+ {
+
+ template <auto n>
+ struct B
+ {};
+
+ B<5> b1;
+ B<'a'> b2;
+
+ }
+
+ namespace test_structured_bindings
+ {
+
+ int arr[2] = { 1, 2 };
+ std::pair<int, int> pr = { 1, 2 };
+
+ auto f1() -> int(&)[2]
+ {
+ return arr;
+ }
+
+ auto f2() -> std::pair<int, int>&
+ {
+ return pr;
+ }
+
+ struct S
+ {
+ int x1 : 2;
+ volatile double y1;
+ };
+
+ S f3()
+ {
+ return {};
+ }
+
+ auto [ x1, y1 ] = f1();
+ auto& [ xr1, yr1 ] = f1();
+ auto [ x2, y2 ] = f2();
+ auto& [ xr2, yr2 ] = f2();
+ const auto [ x3, y3 ] = f3();
+
+ }
+
+ namespace test_exception_spec_type_system
+ {
+
+ struct Good {};
+ struct Bad {};
+
+ void g1() noexcept;
+ void g2();
+
+ template<typename T>
+ Bad
+ f(T*, T*);
+
+ template<typename T1, typename T2>
+ Good
+ f(T1*, T2*);
+
+ static_assert (std::is_same_v<Good, decltype(f(g1, g2))>);
+
+ }
+
+ namespace test_inline_variables
+ {
+
+ template<class T> void f(T)
+ {}
+
+ template<class T> inline T g(T)
+ {
+ return T{};
+ }
+
+ template<> inline void f<>(int)
+ {}
+
+ template<> int g<>(int)
+ {
+ return 5;
+ }
+
+ }
+
+} // namespace cxx17
+
+#endif // __cplusplus < 201703L
+
+]])
diff --git a/tools/depends/m4/ax_cxx_compile_stdcxx_14.m4 b/tools/depends/m4/ax_cxx_compile_stdcxx_14.m4
deleted file mode 100644
index 3a46bf7e61..0000000000
--- a/tools/depends/m4/ax_cxx_compile_stdcxx_14.m4
+++ /dev/null
@@ -1,146 +0,0 @@
-# ============================================================================
-# http://www.gnu.org/software/autoconf-archive/ax_cxx_compile_stdcxx_14.html
-# ============================================================================
-#
-# SYNOPSIS
-#
-# AX_CXX_COMPILE_STDCXX_14([ext|noext],[mandatory|optional])
-#
-# DESCRIPTION
-#
-# Check for baseline language coverage in the compiler for the C++14
-# standard; if necessary, add switches to CXXFLAGS to enable support.
-#
-# The first argument, if specified, indicates whether you insist on an
-# extended mode (e.g. -std=gnu++14) or a strict conformance mode (e.g.
-# -std=c++14). If neither is specified, you get whatever works, with
-# preference for an extended mode.
-#
-# The second argument, if specified 'mandatory' or if left unspecified,
-# indicates that baseline C++14 support is required and that the macro
-# should error out if no mode with that support is found. If specified
-# 'optional', then configuration proceeds regardless, after defining
-# HAVE_CXX14 if and only if a supporting mode is found.
-#
-# LICENSE
-#
-# Copyright (c) 2008 Benjamin Kosnik <bkoz@redhat.com>
-# Copyright (c) 2012 Zack Weinberg <zackw@panix.com>
-# Copyright (c) 2013 Roy Stogner <roystgnr@ices.utexas.edu>
-# Copyright (c) 2014 Alexey Sokolov <sokolov@google.com>
-#
-# Copying and distribution of this file, with or without modification, are
-# permitted in any medium without royalty provided the copyright notice
-# and this notice are preserved. This file is offered as-is, without any
-# warranty.
-
-#serial 4
-
-m4_define([_AX_CXX_COMPILE_STDCXX_14_testbody], [[
- template <typename T>
- struct check
- {
- static_assert(sizeof(int) <= sizeof(T), "not big enough");
- };
-
- struct Base {
- virtual void f() {}
- };
- struct Child : public Base {
- virtual void f() {}
- };
-
- typedef check<check<bool>> right_angle_brackets;
-
- int a;
- decltype(a) b;
-
- typedef check<int> check_type;
- check_type c;
- check_type&& cr = static_cast<check_type&&>(c);
-
- auto d = a;
- auto l = [](){};
-]])
-
-AC_DEFUN([AX_CXX_COMPILE_STDCXX_14], [dnl
- m4_if([$1], [], [],
- [$1], [ext], [],
- [$1], [noext], [],
- [m4_fatal([invalid argument `$1' to AX_CXX_COMPILE_STDCXX_14])])dnl
- m4_if([$2], [], [ax_cxx_compile_cxx14_required=true],
- [$2], [mandatory], [ax_cxx_compile_cxx14_required=true],
- [$2], [optional], [ax_cxx_compile_cxx14_required=false],
- [m4_fatal([invalid second argument `$2' to AX_CXX_COMPILE_STDCXX_14])])
- AC_LANG_PUSH([C++])dnl
- ac_success=no
- AC_CACHE_CHECK(whether $CXX supports C++14 features by default,
- ax_cv_cxx_compile_cxx14,
- [AC_COMPILE_IFELSE([AC_LANG_SOURCE([_AX_CXX_COMPILE_STDCXX_14_testbody])],
- [ax_cv_cxx_compile_cxx14=yes],
- [ax_cv_cxx_compile_cxx14=no])])
- if test x$ax_cv_cxx_compile_cxx14 = xyes; then
- ac_success=yes
- fi
-
- m4_if([$1], [noext], [], [dnl
- if test x$ac_success = xno; then
- for switch in -std=gnu++14 -std=gnu++0x; do
- cachevar=AS_TR_SH([ax_cv_cxx_compile_cxx14_$switch])
- AC_CACHE_CHECK(whether $CXX supports C++14 features with $switch,
- $cachevar,
- [ac_save_CXXFLAGS="$CXXFLAGS"
- CXXFLAGS="$CXXFLAGS $switch"
- AC_COMPILE_IFELSE([AC_LANG_SOURCE([_AX_CXX_COMPILE_STDCXX_14_testbody])],
- [eval $cachevar=yes],
- [eval $cachevar=no])
- CXXFLAGS="$ac_save_CXXFLAGS"])
- if eval test x\$$cachevar = xyes; then
- CXXFLAGS="$CXXFLAGS $switch"
- CXX14_SWITCH="$switch"
- AC_SUBST(CXX14_SWITCH)
- ac_success=yes
- break
- fi
- done
- fi])
-
- m4_if([$1], [ext], [], [dnl
- if test x$ac_success = xno; then
- for switch in -std=c++14 -std=c++0x; do
- cachevar=AS_TR_SH([ax_cv_cxx_compile_cxx14_$switch])
- AC_CACHE_CHECK(whether $CXX supports C++14 features with $switch,
- $cachevar,
- [ac_save_CXXFLAGS="$CXXFLAGS"
- CXXFLAGS="$CXXFLAGS $switch"
- AC_COMPILE_IFELSE([AC_LANG_SOURCE([_AX_CXX_COMPILE_STDCXX_14_testbody])],
- [eval $cachevar=yes],
- [eval $cachevar=no])
- CXXFLAGS="$ac_save_CXXFLAGS"])
- if eval test x\$$cachevar = xyes; then
- CXXFLAGS="$CXXFLAGS $switch"
- CXX14_SWITCH="$switch"
- AC_SUBST(CXX14_SWITCH)
- ac_success=yes
- break
- fi
- done
- fi])
- AC_LANG_POP([C++])
- if test x$ax_cxx_compile_cxx14_required = xtrue; then
- if test x$ac_success = xno; then
- AC_MSG_ERROR([*** A compiler with support for C++14 language features is required.])
- fi
- else
- if test x$ac_success = xno; then
- HAVE_CXX14=0
- AC_MSG_NOTICE([No compiler with C++14 support was found])
- else
- HAVE_CXX14=1
- AC_DEFINE(HAVE_CXX14,1,
- [define if the compiler supports basic C++14 syntax])
- fi
-
- AC_SUBST(HAVE_CXX14)
- fi
-])
diff --git a/tools/depends/m4/xbmc_arch.m4 b/tools/depends/m4/xbmc_arch.m4
index 03cd7acd31..05b254d45d 100644
--- a/tools/depends/m4/xbmc_arch.m4
+++ b/tools/depends/m4/xbmc_arch.m4
@@ -14,7 +14,10 @@ case $build in
amd64-*-freebsd*)
AC_SUBST(NATIVE_ARCH_DEFINES, "-DTARGET_POSIX -DTARGET_FREEBSD")
;;
- *86*-apple-darwin*)
+ arm-apple-darwin*)
+ AC_SUBST(NATIVE_ARCH_DEFINES, "-DTARGET_POSIX -DTARGET_DARWIN -DTARGET_DARWIN_OSX")
+ ;;
+ x86_64-apple-darwin*)
AC_SUBST(NATIVE_ARCH_DEFINES, "-DTARGET_POSIX -DTARGET_DARWIN -DTARGET_DARWIN_OSX")
;;
powerpc-*-linux-gnu*|powerpc-*-linux-uclibc*)
@@ -45,13 +48,14 @@ case $host in
amd64-*-freebsd*)
AC_SUBST(ARCH_DEFINES, "-DTARGET_POSIX -DTARGET_FREEBSD")
;;
- arm-apple-darwin*)
- AC_SUBST(ARCH_DEFINES, "-DTARGET_POSIX -DTARGET_DARWIN -DTARGET_DARWIN_EMBEDDED")
+ aarch64-apple-darwin*)
+ if test "$target_platform" = "macosx" ; then
+ AC_SUBST(ARCH_DEFINES, "-DTARGET_POSIX -DTARGET_DARWIN -DTARGET_DARWIN_OSX")
+ else
+ AC_SUBST(ARCH_DEFINES, "-DTARGET_POSIX -DTARGET_DARWIN -DTARGET_DARWIN_EMBEDDED")
+ fi
;;
- *86*-apple-darwin*)
- AC_SUBST(ARCH_DEFINES, "-DTARGET_POSIX -DTARGET_DARWIN -DTARGET_DARWIN_OSX")
- ;;
- powerpc-apple-darwin*)
+ x86_64-apple-darwin*)
AC_SUBST(ARCH_DEFINES, "-DTARGET_POSIX -DTARGET_DARWIN -DTARGET_DARWIN_OSX")
;;
powerpc-*-linux-gnu*|powerpc-*-linux-uclibc*)
@@ -77,7 +81,4 @@ if test "$target_platform" = "target_android" ; then
AC_SUBST(ARCH_DEFINES, "-DTARGET_POSIX -DTARGET_LINUX -DTARGET_ANDROID")
fi
-if test "$target_platform" = "target_raspberry_pi" ; then
- AC_SUBST(ARCH_DEFINES, "-DTARGET_POSIX -DTARGET_LINUX -D_ARMEL -DTARGET_RASPBERRY_PI")
-fi
])
diff --git a/tools/depends/native/JsonSchemaBuilder/CMakeLists.txt b/tools/depends/native/JsonSchemaBuilder/CMakeLists.txt
index 783b8a3c58..e1c6c210bb 100644
--- a/tools/depends/native/JsonSchemaBuilder/CMakeLists.txt
+++ b/tools/depends/native/JsonSchemaBuilder/CMakeLists.txt
@@ -1,5 +1,10 @@
+project(JsonSchemaBuilder)
+
set(SOURCES src/JsonSchemaBuilder.cpp)
set(CMAKE_CXX_STANDARD 11)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
add_executable(JsonSchemaBuilder ${SOURCES})
+
+install(TARGETS JsonSchemaBuilder DESTINATION ${CMAKE_INSTALL_PREFIX}/bin
+ RENAME "${APP_NAME_LC}-JsonSchemaBuilder")
diff --git a/tools/depends/native/JsonSchemaBuilder/src/JsonSchemaBuilder.cpp b/tools/depends/native/JsonSchemaBuilder/src/JsonSchemaBuilder.cpp
index 154f822237..7f219bbc12 100644
--- a/tools/depends/native/JsonSchemaBuilder/src/JsonSchemaBuilder.cpp
+++ b/tools/depends/native/JsonSchemaBuilder/src/JsonSchemaBuilder.cpp
@@ -61,7 +61,7 @@ void print_json(std::ifstream &in, std::ofstream &out)
out << " ";
bool started = false;
closing = false;
- for (std::string::iterator itr = line.begin(); itr != line.end(); itr++)
+ for (std::string::iterator itr = line.begin(); itr != line.end(); ++itr)
{
// Skip \r characters
if (*itr == '\r') {
diff --git a/tools/depends/native/Makefile b/tools/depends/native/Makefile
index e3cf4268de..1f7526474b 100644
--- a/tools/depends/native/Makefile
+++ b/tools/depends/native/Makefile
@@ -4,32 +4,51 @@ ifneq ($(shell test -f $(NATIVEPREFIX)/share/config.site && echo 1),1)
$(error Error: $(NATIVEPREFIX)/share/config.site is missing. Please reconfigure depends to generate it)
endif
-NATIVE= m4 gettext heimdal autoconf automake \
- libtool pkg-config yasm cmake \
- gas-preprocessor libffi python3 zlib \
- pcre swig \
- libpng libjpeg-turbo liblzo2 giflib \
- distribute distutilscross JsonSchemaBuilder TexturePacker \
- flatbuffers
+# Keep in alphabetical order
+NATIVE= \
+ autoconf \
+ autoconf-archive \
+ automake \
+ cmake \
+ gas-preprocessor \
+ gettext \
+ giflib \
+ heimdal \
+ JsonSchemaBuilder \
+ libjpeg-turbo \
+ liblzo2 \
+ libpng \
+ libtool \
+ m4 \
+ meson \
+ nasm \
+ ninja \
+ openssl \
+ pcre \
+ perlmodule-parseyapp \
+ pkg-config \
+ python3 \
+ setuptools \
+ swig \
+ TexturePacker \
+ zlib
-
-ifeq ($(OS),darwin_embedded)
- NATIVE += dpkg xz tar gen_entitlements ldid
+ifneq ($(NATIVE_OS),osx)
+ NATIVE += libffi
+ LIBFFI = libffi
endif
-ifeq ($(OS),osx)
- NATIVE += xz tar
+ifeq ($(OS),darwin_embedded)
+ NATIVE += dpkg xz tar ldid
endif
ifeq ($(OS),linux)
- ifeq ($(TARGET_PLATFORM),$(filter $(TARGET_PLATFORM),raspberry-pi gbm))
- NATIVE += meson ninja setuptools
- endif
-endif
-
-ifeq ($(TARGET_PLATFORM),wayland)
- NATIVE += expat wayland-scanner waylandpp-scanner
+ NATIVE += expat wayland-scanner pugixml waylandpp-scanner
EXPAT = expat
+
+ ifeq ($(RENDER_SYSTEM),gles)
+ NATIVE += MarkupSafe Mako
+ endif
endif
.PHONY: $(NATIVE) native
@@ -38,28 +57,35 @@ all: native
@echo "Dependencies built successfully."
# Dependency layout for parallel builds
+autoconf-archive: autoconf
autoconf: m4
automake: autoconf
dpkg: automake gettext libtool pkg-config tar
-flatbuffers: cmake
heimdal: libtool
+JsonSchemaBuilder: automake
+libjpeg-turbo: cmake nasm
+libpng: zlib automake
libtool: automake
-libpng: zlib
+Mako: MarkupSafe
meson: python3 setuptools
-ninja: python3
+ninja: meson
+openssl: zlib
+pugixml: cmake
+python3: $(EXPAT) $(LIBFFI) pkg-config zlib openssl autoconf-archive
+setuptools: python3
swig: pcre
-distribute: python3
-distutilscross: python3 distribute
tar: xz automake
-python3: $(EXPAT) libffi pkg-config zlib
-setuptools: python3
-wayland-scanner: expat
-waylandpp-scanner: cmake
+TexturePacker: automake pkg-config libpng liblzo2 giflib libjpeg-turbo
+wayland-scanner: expat pkg-config
+waylandpp-scanner: cmake pugixml
+
+# python installs are not thread safe when using easy_install method.
+# MarkupSafe doesn't really depend on ninja but we need to make the
+# build sequential
+MarkupSafe: ninja
#liblzo2 has stale packaged automake files that cause borked host/build detection
liblzo2: automake
-JsonSchemaBuilder: automake
-TexturePacker: automake pkg-config libpng liblzo2 giflib libjpeg-turbo
native: $(NATIVE)
$(NATIVE):
diff --git a/tools/depends/native/distribute/Makefile b/tools/depends/native/Mako/Makefile
index ee7ea71a59..b5af97c879 100644
--- a/tools/depends/native/distribute/Makefile
+++ b/tools/depends/native/Mako/Makefile
@@ -1,20 +1,18 @@
include ../../Makefile.include
PREFIX=$(NATIVEPREFIX)
PLATFORM=$(NATIVEPLATFORM)
-DEPS= ../../Makefile.include Makefile
+DEPS = ../../Makefile.include Makefile ../../download-files.include
# lib name, version
-LIBNAME=distribute
-VERSION=0.6.21
+LIBNAME=Mako
+VERSION=1.1.3
ARCHIVE=$(LIBNAME)-$(VERSION).tar.gz
+SHA512=a9b94fa34a61e7794b6e4549fa0bada6ff84dfb0d9edb8d5c7f9b95d12184fa4499f42303cfee720b576a9f7e986a57d91ad3aeb26c9f93154dbc08fb2975952
+include ../../download-files.include
all: .installed-$(PLATFORM)
-$(TARBALLS_LOCATION)/$(ARCHIVE):
- cd $(TARBALLS_LOCATION); $(RETRIEVE_TOOL) $(RETRIEVE_TOOL_FLAGS) $(BASE_URL)/$(ARCHIVE)
- cd $(TARBALLS_LOCATION); chmod +x $(ARCHIVE)
-
-$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE) $(DEPS)
+$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE).$(HASH_TYPE) $(DEPS)
-rm -rf $(PLATFORM)/*; mkdir -p $(PLATFORM)
cd $(PLATFORM); $(ARCHIVE_TOOL) $(ARCHIVE_TOOL_FLAGS) $(TARBALLS_LOCATION)/$(ARCHIVE)
diff --git a/tools/depends/native/distutilscross/Makefile b/tools/depends/native/MarkupSafe/Makefile
index 9ed0478d93..b09fb6b7ec 100644
--- a/tools/depends/native/distutilscross/Makefile
+++ b/tools/depends/native/MarkupSafe/Makefile
@@ -1,23 +1,20 @@
include ../../Makefile.include
PREFIX=$(NATIVEPREFIX)
PLATFORM=$(NATIVEPLATFORM)
-DEPS= ../../Makefile.include Makefile python3.patch
+DEPS = ../../Makefile.include Makefile ../../download-files.include
# lib name, version
-LIBNAME=distutilscross
-VERSION=0.1
-SOURCE=$(LIBNAME)-$(VERSION)
-ARCHIVE=$(SOURCE).tar.gz
+LIBNAME=MarkupSafe
+VERSION=1.1.1
+ARCHIVE=$(LIBNAME)-$(VERSION).tar.gz
+SHA512=f3014e6131a3ab866914c5635b5397ef71906bffb1b6f8c5f2ed2acf167429ff7914236d38943e872683a57a9be9669f4c5aace6274f3307ab21ef25373db0b6
+include ../../download-files.include
all: .installed-$(PLATFORM)
-$(TARBALLS_LOCATION)/$(ARCHIVE):
- cd $(TARBALLS_LOCATION); $(RETRIEVE_TOOL) $(RETRIEVE_TOOL_FLAGS) $(BASE_URL)/$(ARCHIVE)
-
-$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE) $(DEPS)
+$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE).$(HASH_TYPE) $(DEPS)
-rm -rf $(PLATFORM)/*; mkdir -p $(PLATFORM)
cd $(PLATFORM); $(ARCHIVE_TOOL) $(ARCHIVE_TOOL_FLAGS) $(TARBALLS_LOCATION)/$(ARCHIVE)
- cd $(PLATFORM); patch -p1 -i ../python3.patch
.installed-$(PLATFORM): $(PLATFORM)
cd $(PLATFORM); $(PREFIX)/bin/python3 setup.py install --prefix=$(PREFIX)
diff --git a/tools/depends/native/TexturePacker/CMakeLists.txt b/tools/depends/native/TexturePacker/CMakeLists.txt
index 68200a5cff..97dc1d3244 100644
--- a/tools/depends/native/TexturePacker/CMakeLists.txt
+++ b/tools/depends/native/TexturePacker/CMakeLists.txt
@@ -51,4 +51,4 @@ target_link_libraries(TexturePacker
${PNG_LIBRARIES}
${JPEG_LIBRARIES}
${LZO2_LIBRARIES})
-target_compile_options(TexturePacker PRIVATE ${ARCH_DEFINES})
+target_compile_options(TexturePacker PRIVATE ${ARCH_DEFINES} ${SYSTEM_DEFINES})
diff --git a/tools/depends/native/TexturePacker/src/DecoderManager.cpp b/tools/depends/native/TexturePacker/src/DecoderManager.cpp
index 3daf430286..8f6a9041bb 100644
--- a/tools/depends/native/TexturePacker/src/DecoderManager.cpp
+++ b/tools/depends/native/TexturePacker/src/DecoderManager.cpp
@@ -20,6 +20,7 @@
#include <cstdio>
#include "DecoderManager.h"
+bool DecoderManager::verbose;
std::vector<IDecoder *> DecoderManager::m_decoders;
// ADD new decoders here
@@ -72,7 +73,9 @@ bool DecoderManager::LoadFile(const std::string &filename, DecodedFrames &frames
{
if (m_decoders[i]->CanDecode(filename))
{
- fprintf(stdout, "This is a %s - lets load it via %s...\n", m_decoders[i]->GetImageFormatName(), m_decoders[i]->GetDecoderName());
+ if (verbose)
+ fprintf(stdout, "This is a %s - lets load it via %s...\n",
+ m_decoders[i]->GetImageFormatName(), m_decoders[i]->GetDecoderName());
return m_decoders[i]->LoadFile(filename, frames);
}
}
diff --git a/tools/depends/native/TexturePacker/src/DecoderManager.h b/tools/depends/native/TexturePacker/src/DecoderManager.h
index d0f7984eef..2c59aa20a5 100644
--- a/tools/depends/native/TexturePacker/src/DecoderManager.h
+++ b/tools/depends/native/TexturePacker/src/DecoderManager.h
@@ -30,6 +30,8 @@ class DecoderManager
static bool IsSupportedGraphicsFile(char *strFileName);
static bool LoadFile(const std::string &filename, DecodedFrames &frames);
static void FreeDecodedFrames(DecodedFrames &frames);
+ static bool verbose;
+
private:
static std::vector<IDecoder *> m_decoders;
};
diff --git a/tools/depends/native/TexturePacker/src/TexturePacker.cpp b/tools/depends/native/TexturePacker/src/TexturePacker.cpp
index b2de24bf1b..a6fd4284f1 100644
--- a/tools/depends/native/TexturePacker/src/TexturePacker.cpp
+++ b/tools/depends/native/TexturePacker/src/TexturePacker.cpp
@@ -49,7 +49,7 @@
#define FLAGS_USE_LZO 1
-#define DIR_SEPARATOR "/"
+#define DIR_SEPARATOR '/'
const char *GetFormatString(unsigned int format)
{
@@ -72,7 +72,9 @@ const char *GetFormatString(unsigned int format)
}
}
-void CreateSkeletonHeaderImpl(CXBTFWriter& xbtfWriter, std::string fullPath, std::string relativePath)
+void CreateSkeletonHeaderImpl(CXBTFWriter& xbtfWriter,
+ const std::string& fullPath,
+ const std::string& relativePath)
{
struct dirent* dp;
struct stat stat_p;
@@ -80,7 +82,7 @@ void CreateSkeletonHeaderImpl(CXBTFWriter& xbtfWriter, std::string fullPath, std
if (dirp)
{
- while ((dp = readdir(dirp)) != NULL)
+ for (errno = 0; (dp = readdir(dirp)); errno = 0)
{
if (strcmp(dp->d_name, ".") == 0 || strcmp(dp->d_name, "..") == 0)
{
@@ -118,6 +120,8 @@ void CreateSkeletonHeaderImpl(CXBTFWriter& xbtfWriter, std::string fullPath, std
}
}
}
+ if (errno)
+ fprintf(stderr, "Error reading directory %s (%s)\n", fullPath.c_str(), strerror(errno));
closedir(dirp);
}
@@ -127,7 +131,7 @@ void CreateSkeletonHeaderImpl(CXBTFWriter& xbtfWriter, std::string fullPath, std
}
}
-void CreateSkeletonHeader(CXBTFWriter& xbtfWriter, std::string fullPath)
+void CreateSkeletonHeader(CXBTFWriter& xbtfWriter, const std::string& fullPath)
{
std::string temp;
CreateSkeletonHeaderImpl(xbtfWriter, fullPath, temp);
@@ -380,6 +384,10 @@ int main(int argc, char* argv[])
{
dupecheck = true;
}
+ else if (!strcmp(args[i], "-verbose"))
+ {
+ DecoderManager::verbose = true;
+ }
else if (!platform_stricmp(args[i], "-output") || !platform_stricmp(args[i], "-o"))
{
OutputFilename = args[++i];
diff --git a/tools/depends/native/TexturePacker/src/decoder/GIFDecoder.cpp b/tools/depends/native/TexturePacker/src/decoder/GIFDecoder.cpp
index 3ddb6a575a..5bdfacd4eb 100644
--- a/tools/depends/native/TexturePacker/src/decoder/GIFDecoder.cpp
+++ b/tools/depends/native/TexturePacker/src/decoder/GIFDecoder.cpp
@@ -33,6 +33,8 @@ bool GIFDecoder::CanDecode(const std::string &filename)
bool GIFDecoder::LoadFile(const std::string &filename, DecodedFrames &frames)
{
int n = 0;
+ bool result = false;
+
GifHelper *gifImage = new GifHelper();
if (gifImage->LoadGif(filename.c_str()))
{
@@ -55,33 +57,20 @@ bool GIFDecoder::LoadFile(const std::string &filename, DecodedFrames &frames)
frame.rgbaImage.bbp = 32;
frame.rgbaImage.pitch = pitch;
frame.delay = extractedFrames[i]->m_delay;
+ frame.decoder = this;
frames.frameList.push_back(frame);
}
}
- frames.user = gifImage;
- frames.destroyFN = &gifDestroyFN;
- return true;
- }
- else
- {
- delete gifImage;
- return false;
+ result = true;
}
+ delete gifImage;
+ return result;
}
-void GIFDecoder::FreeDecodedFrames(DecodedFrames &frames)
-{
- for (unsigned int i = 0; i < frames.frameList.size(); i++)
- {
- delete [] frames.frameList[i].rgbaImage.pixels;
- }
- delete (GifHelper *)frames.user;
- frames.clear();
-}
-void GIFDecoder::gifDestroyFN(void* user)
+void GIFDecoder::FreeDecodedFrame(DecodedFrame &frame)
{
- delete (GifHelper *)user;
+ delete [] frame.rgbaImage.pixels;
}
void GIFDecoder::FillSupportedExtensions()
diff --git a/tools/depends/native/TexturePacker/src/decoder/GIFDecoder.h b/tools/depends/native/TexturePacker/src/decoder/GIFDecoder.h
index c311ddaa82..8f0b42d822 100644
--- a/tools/depends/native/TexturePacker/src/decoder/GIFDecoder.h
+++ b/tools/depends/native/TexturePacker/src/decoder/GIFDecoder.h
@@ -28,11 +28,9 @@ class GIFDecoder : public IDecoder
~GIFDecoder() override = default;
bool CanDecode(const std::string &filename) override;
bool LoadFile(const std::string &filename, DecodedFrames &frames) override;
- void FreeDecodedFrames(DecodedFrames &frames) override;
+ void FreeDecodedFrame(DecodedFrame &frame) override;
const char* GetImageFormatName() override { return "GIF"; }
const char* GetDecoderName() override { return "libgif"; }
protected:
void FillSupportedExtensions() override;
- private:
- static void gifDestroyFN(void* user);
};
diff --git a/tools/depends/native/TexturePacker/src/decoder/IDecoder.h b/tools/depends/native/TexturePacker/src/decoder/IDecoder.h
index 6e68aba1f1..c9ac346514 100644
--- a/tools/depends/native/TexturePacker/src/decoder/IDecoder.h
+++ b/tools/depends/native/TexturePacker/src/decoder/IDecoder.h
@@ -23,6 +23,34 @@
#include <string>
#include <vector>
+/* forward declarations */
+
+class DecodedFrame;
+class DecodedFrames;
+
+class IDecoder
+{
+ public:
+ virtual ~IDecoder() = default;
+ virtual bool CanDecode(const std::string &filename) = 0;
+ virtual bool LoadFile(const std::string &filename, DecodedFrames &frames) = 0;
+ virtual void FreeDecodedFrame(DecodedFrame &frame) = 0;
+ virtual const char* GetImageFormatName() = 0;
+ virtual const char* GetDecoderName() = 0;
+
+ const std::vector<std::string>& GetSupportedExtensions()
+ {
+ m_supportedExtensions.clear();
+ FillSupportedExtensions();
+ return m_supportedExtensions;
+ }
+
+ protected:
+ virtual void FillSupportedExtensions() = 0;
+ //fill this with extensions in FillSupportedExtensions like ".png"
+ std::vector<std::string> m_supportedExtensions;
+};
+
class RGBAImage
{
public:
@@ -41,6 +69,7 @@ public:
DecodedFrame() = default;
RGBAImage rgbaImage; /* rgbaimage for this frame */
int delay = 0; /* Frame delay in ms */
+ IDecoder* decoder = nullptr; /* Pointer to decoder */
};
class DecodedFrames
@@ -48,43 +77,22 @@ class DecodedFrames
public:
DecodedFrames() = default;
std::vector<DecodedFrame> frameList;
- void* user = nullptr; /* used internally*/
- void (*destroyFN)(void*) = nullptr;
void clear()
{
for (auto f : frameList)
{
- delete[] f.rgbaImage.pixels;
- }
- if (destroyFN)
- {
- destroyFN(user);
+ if (f.decoder != NULL)
+ {
+ f.decoder->FreeDecodedFrame(f);
+ }
+ else
+ {
+ fprintf(stderr,
+ "ERROR: %s - can not determine decoder type for frame!\n",
+ __FUNCTION__);
+ }
}
frameList.clear();
- user = NULL;
- }
-};
-
-class IDecoder
-{
- public:
- virtual ~IDecoder() = default;
- virtual bool CanDecode(const std::string &filename) = 0;
- virtual bool LoadFile(const std::string &filename, DecodedFrames &frames) = 0;
- virtual void FreeDecodedFrames(DecodedFrames &frames) = 0;
- virtual const char* GetImageFormatName() = 0;
- virtual const char* GetDecoderName() = 0;
-
- const std::vector<std::string>& GetSupportedExtensions()
- {
- m_supportedExtensions.clear();
- FillSupportedExtensions();
- return m_supportedExtensions;
}
-
- protected:
- virtual void FillSupportedExtensions() = 0;
- //fill this with extensions in FillSupportedExtensions like ".png"
- std::vector<std::string> m_supportedExtensions;
};
diff --git a/tools/depends/native/TexturePacker/src/decoder/JPGDecoder.cpp b/tools/depends/native/TexturePacker/src/decoder/JPGDecoder.cpp
index c2d96a8fa9..ce06d28882 100644
--- a/tools/depends/native/TexturePacker/src/decoder/JPGDecoder.cpp
+++ b/tools/depends/native/TexturePacker/src/decoder/JPGDecoder.cpp
@@ -86,7 +86,6 @@ bool JPGDecoder::LoadFile(const std::string &filename, DecodedFrames &frames)
// Image Size is calculated as (width * height * bytes per pixel = 4
ImageSize = cinfo.image_width * cinfo.image_height * 4;
- frames.user = NULL;
DecodedFrame frame;
frame.rgbaImage.pixels = (char *)new char[ImageSize];
@@ -117,20 +116,18 @@ bool JPGDecoder::LoadFile(const std::string &filename, DecodedFrames &frames)
frame.rgbaImage.width = cinfo.image_width;
frame.rgbaImage.bbp = 32;
frame.rgbaImage.pitch = 4 * cinfo.image_width;
+
+ frame.decoder = this;
+
frames.frameList.push_back(frame);
delete arq;
return true;
}
-void JPGDecoder::FreeDecodedFrames(DecodedFrames &frames)
+void JPGDecoder::FreeDecodedFrame(DecodedFrame &frame)
{
- for (unsigned int i = 0; i < frames.frameList.size(); i++)
- {
- delete [] frames.frameList[i].rgbaImage.pixels;
- }
-
- frames.clear();
+ delete [] frame.rgbaImage.pixels;
}
void JPGDecoder::FillSupportedExtensions()
diff --git a/tools/depends/native/TexturePacker/src/decoder/JPGDecoder.h b/tools/depends/native/TexturePacker/src/decoder/JPGDecoder.h
index 30430e79f9..bbf23ba7b3 100644
--- a/tools/depends/native/TexturePacker/src/decoder/JPGDecoder.h
+++ b/tools/depends/native/TexturePacker/src/decoder/JPGDecoder.h
@@ -28,7 +28,7 @@ class JPGDecoder : public IDecoder
~JPGDecoder() override = default;
bool CanDecode(const std::string &filename) override;
bool LoadFile(const std::string &filename, DecodedFrames &frames) override;
- void FreeDecodedFrames(DecodedFrames &frames) override;
+ void FreeDecodedFrame(DecodedFrame &frame) override;
const char* GetImageFormatName() override { return "JPG"; }
const char* GetDecoderName() override { return "libjpeg"; }
protected:
diff --git a/tools/depends/native/TexturePacker/src/decoder/PNGDecoder.cpp b/tools/depends/native/TexturePacker/src/decoder/PNGDecoder.cpp
index b12e55f426..f327400f6b 100644
--- a/tools/depends/native/TexturePacker/src/decoder/PNGDecoder.cpp
+++ b/tools/depends/native/TexturePacker/src/decoder/PNGDecoder.cpp
@@ -216,7 +216,6 @@ bool PNGDecoder::LoadFile(const std::string &filename, DecodedFrames &frames)
// read the png into image_data through row_pointers
png_read_image(png_ptr, row_pointers);
- frames.user = NULL;
DecodedFrame frame;
frame.rgbaImage.pixels = (char *)image_data;
@@ -224,6 +223,9 @@ bool PNGDecoder::LoadFile(const std::string &filename, DecodedFrames &frames)
frame.rgbaImage.width = temp_width;
frame.rgbaImage.bbp = 32;
frame.rgbaImage.pitch = 4 * temp_width;
+
+ frame.decoder = this;
+
frames.frameList.push_back(frame);
// clean up
png_destroy_read_struct(&png_ptr, &info_ptr, &end_info);
@@ -231,14 +233,9 @@ bool PNGDecoder::LoadFile(const std::string &filename, DecodedFrames &frames)
return true;
}
-void PNGDecoder::FreeDecodedFrames(DecodedFrames &frames)
+void PNGDecoder::FreeDecodedFrame(DecodedFrame &frame)
{
- for (unsigned int i = 0; i < frames.frameList.size(); i++)
- {
- delete [] frames.frameList[i].rgbaImage.pixels;
- }
-
- frames.clear();
+ delete [] frame.rgbaImage.pixels;
}
void PNGDecoder::FillSupportedExtensions()
diff --git a/tools/depends/native/TexturePacker/src/decoder/PNGDecoder.h b/tools/depends/native/TexturePacker/src/decoder/PNGDecoder.h
index 3b62a23e93..c7dba764cb 100644
--- a/tools/depends/native/TexturePacker/src/decoder/PNGDecoder.h
+++ b/tools/depends/native/TexturePacker/src/decoder/PNGDecoder.h
@@ -28,7 +28,7 @@ class PNGDecoder : public IDecoder
~PNGDecoder() override = default;
bool CanDecode(const std::string &filename) override;
bool LoadFile(const std::string &filename, DecodedFrames &frames) override;
- void FreeDecodedFrames(DecodedFrames &frames) override;
+ void FreeDecodedFrame(DecodedFrame &frame) override;
const char* GetImageFormatName() override { return "PNG"; }
const char* GetDecoderName() override { return "libpng"; }
protected:
diff --git a/tools/depends/native/Toolchain-Native.cmake.in b/tools/depends/native/Toolchain-Native.cmake.in
new file mode 100644
index 0000000000..c5f5643ab6
--- /dev/null
+++ b/tools/depends/native/Toolchain-Native.cmake.in
@@ -0,0 +1,79 @@
+set(NATIVEPREFIX "@prefix@/@tool_dir@")
+
+set(TARBALL_DIR "@use_tarballs@")
+
+set(OS "@build_os@")
+set(CMAKE_SYSTEM_PROCESSOR @host_cpu@)
+set(CPU "@use_buildcpu@")
+
+if(OS STREQUAL linux)
+ set(CMAKE_SYSTEM_NAME Linux)
+elseif(OS STREQUAL osx)
+ set(CMAKE_SYSTEM_NAME Darwin)
+endif()
+
+if(CMAKE_SYSTEM_NAME STREQUAL Darwin)
+ if(CPU STREQUAL "arm")
+ set(CPU arm64)
+ endif()
+ if(CPU STREQUAL arm64)
+ set(CMAKE_OSX_DEPLOYMENT_TARGET 11.0)
+ else()
+ set(CMAKE_OSX_DEPLOYMENT_TARGET 10.13)
+ endif()
+
+ set(CMAKE_OSX_SYSROOT "@host_sysroot@")
+endif()
+set(CMAKE_SYSTEM_VERSION 1)
+
+# specify the cross compiler
+set(CMAKE_C_COMPILER @CC_FOR_BUILD@)
+set(CMAKE_CXX_COMPILER @CXX_FOR_BUILD@)
+set(CMAKE_AR @AR_FOR_BUILD@ CACHE FILEPATH "Archiver")
+SET(CMAKE_AS @AS_FOR_BUILD@ CACHE FILEPATH "Assembler")
+set(CMAKE_LINKER @LD_FOR_BUILD@ CACHE FILEPATH "Linker")
+set(CMAKE_NM @NM_FOR_BUILD@ CACHE FILEPATH "Nm")
+set(CMAKE_STRIP @STRIP_FOR_BUILD@ CACHE PATH "strip binary" FORCE)
+set(CMAKE_OBJDUMP @OBJDUMP_FOR_BUILD@ CACHE FILEPATH "Objdump")
+set(CMAKE_RANLIB @RANLIB_FOR_BUILD@ CACHE FILEPATH "Ranlib")
+
+if(NOT "@use_ccache@" STREQUAL "")
+ set(CMAKE_CXX_COMPILER_LAUNCHER @CCACHE@)
+ set(CMAKE_C_COMPILER_LAUNCHER @CCACHE@)
+endif()
+
+set(CMAKE_C_FLAGS "@host_includes@ -I@prefix@/@tool_dir@/include")
+set(CMAKE_CXX_FLAGS "@host_cxxflags@ @host_includes@ -I@prefix@/@tool_dir@/include")
+set(CMAKE_EXE_LINKER_FLAGS "@host_includes@ -L@prefix@/@tool_dir@/lib")
+
+# where is the target environment
+set(CMAKE_FIND_ROOT_PATH @prefix@/@tool_dir@)
+set(CMAKE_LIBRARY_PATH @prefix@/@tool_dir@/lib)
+if(NOT "@use_toolchain@" STREQUAL "")
+ list(APPEND CMAKE_FIND_ROOT_PATH @use_toolchain@ @use_toolchain@/@use_host@ @use_toolchain@/@use_host@/sysroot @use_toolchain@/@use_host@/sysroot/usr @use_toolchain@/@use_host@/libc @use_toolchain@/lib/@use_host@/sysroot @use_toolchain@/usr @use_toolchain@/sysroot/usr)
+ set(CMAKE_LIBRARY_PATH "${CMAKE_LIBRARY_PATH}:@use_toolchain@/usr/lib/@use_host@:@use_toolchain@/lib/@use_host@")
+endif()
+if(NOT "@host_sysroot@" STREQUAL "")
+ list(APPEND CMAKE_FIND_ROOT_PATH @host_sysroot@ @host_sysroot@/usr)
+endif()
+
+# search for programs in the build host directories
+set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
+# for libraries and headers in the target directories
+set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
+set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
+set(CMAKE_FIND_FRAMEWORK LAST)
+
+# common autoconf build tools
+find_program(AUTOCONF autoconf HINTS "${NATIVEPREFIX}/bin" REQUIRED)
+find_program(ACLOCAL aclocal HINTS "${NATIVEPREFIX}/bin" REQUIRED)
+find_program(AUTOHEADER autoheader HINTS "${NATIVEPREFIX}/bin" REQUIRED)
+find_program(AUTOMAKE automake HINTS "${NATIVEPREFIX}/bin" REQUIRED)
+find_program(AUTOM4TE autom4te HINTS "${NATIVEPREFIX}/bin" REQUIRED)
+find_program(AUTOPOINT autopoint HINTS "${NATIVEPREFIX}/bin" REQUIRED)
+find_program(AUTORECONF autoreconf HINTS "${NATIVEPREFIX}/bin" REQUIRED)
+find_program(LIBTOOL libtool HINTS "${NATIVEPREFIX}/bin" REQUIRED)
+find_program(LIBTOOLIZE libtoolize HINTS "${NATIVEPREFIX}/bin" REQUIRED)
+
+set(ENV{ACLOCAL_PATH} "${NATIVEPREFIX}/share/aclocal")
+set(ENV{PATH} "${NATIVEPREFIX}/bin:$ENV{PATH}")
diff --git a/tools/depends/native/autoconf-archive/Makefile b/tools/depends/native/autoconf-archive/Makefile
new file mode 100644
index 0000000000..fb91e19c81
--- /dev/null
+++ b/tools/depends/native/autoconf-archive/Makefile
@@ -0,0 +1,39 @@
+include ../../Makefile.include
+PREFIX=$(NATIVEPREFIX)
+PLATFORM=$(NATIVEPLATFORM)
+DEPS = ../../Makefile.include Makefile ../../download-files.include
+
+# lib name, version
+LIBNAME=autoconf-archive
+VERSION=2021.02.19
+SOURCE=$(LIBNAME)-$(VERSION)
+ARCHIVE=$(SOURCE).tar.xz
+SHA512=a968c355c3cf66d74dc5b452141afbdf763e84a6c43b12c25da9a08482910d6d57ba3952aaf270d8cd5fd8b9d2dadf2d7d943ae2e1b067d68b71d2738d881aa0
+include ../../download-files.include
+
+# configuration settings
+CONFIGURE=./configure --prefix=$(PREFIX)
+
+LIBDYLIB=$(PLATFORM)/bin/autoconf
+
+all: .installed-$(PLATFORM)
+
+
+$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE).$(HASH_TYPE) $(DEPS)
+ -rm -rf $(PLATFORM)/*; mkdir -p $(PLATFORM)
+ cd $(PLATFORM); $(ARCHIVE_TOOL) $(ARCHIVE_TOOL_FLAGS) $(TARBALLS_LOCATION)/$(ARCHIVE)
+
+$(LIBDYLIB): $(PLATFORM)
+ cd $(PLATFORM); $(CONFIGURE)
+ $(MAKE) -C $(PLATFORM)
+
+.installed-$(PLATFORM): $(LIBDYLIB)
+ $(MAKE) -C $(PLATFORM) install
+ touch $@
+
+clean:
+ $(MAKE) -C $(PLATFORM) clean
+ rm -f .installed-$(PLATFORM)
+
+distclean::
+ rm -rf $(PLATFORM) .installed-$(PLATFORM)
diff --git a/tools/depends/native/autoconf/Makefile b/tools/depends/native/autoconf/Makefile
index bb5d2f894c..b7efed2479 100644
--- a/tools/depends/native/autoconf/Makefile
+++ b/tools/depends/native/autoconf/Makefile
@@ -1,13 +1,15 @@
include ../../Makefile.include
PREFIX=$(NATIVEPREFIX)
PLATFORM=$(NATIVEPLATFORM)
-DEPS= ../../Makefile.include Makefile endian-c++11-narrowing.patch
+DEPS = ../../Makefile.include Makefile ../../download-files.include
# lib name, version
LIBNAME=autoconf
-VERSION=2.69
+VERSION=2.71
SOURCE=$(LIBNAME)-$(VERSION)
-ARCHIVE=$(SOURCE).tar.gz
+ARCHIVE=$(SOURCE).tar.xz
+SHA512=73d32b4adcbe24e3bafa9f43f59ed3b6efbd3de0f194e5ec90375f35da1199c583f5d3e89139b7edbad35171403709270e339ffa56a2ecb9b3123e9285021ff0
+include ../../download-files.include
# configuration settings
CONFIGURE=./configure --prefix=$(PREFIX)
@@ -16,20 +18,18 @@ LIBDYLIB=$(PLATFORM)/bin/autoconf
all: .installed-$(PLATFORM)
-$(TARBALLS_LOCATION)/$(ARCHIVE):
- cd $(TARBALLS_LOCATION); $(RETRIEVE_TOOL) $(RETRIEVE_TOOL_FLAGS) $(BASE_URL)/$(ARCHIVE)
-$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE) $(DEPS)
+$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE).$(HASH_TYPE) $(DEPS)
-rm -rf $(PLATFORM)/*; mkdir -p $(PLATFORM)
cd $(PLATFORM); $(ARCHIVE_TOOL) $(ARCHIVE_TOOL_FLAGS) $(TARBALLS_LOCATION)/$(ARCHIVE)
- cd $(PLATFORM); patch -p1 -i ../endian-c++11-narrowing.patch
$(LIBDYLIB): $(PLATFORM)
cd $(PLATFORM); $(CONFIGURE)
- $(MAKE) -C $(PLATFORM)
+ $(MAKE) -C $(PLATFORM) install
+# patch autoreconf to not use gtkdocize. Details: https://savannah.gnu.org/support/?110503
+ cd $(NATIVEPREFIX); sed -ie 's|$uses_gtkdoc = 1 if \$$macro eq "GTK_DOC_CHECK";|$uses_gtkdoc = 0; # if \$$macro eq "GTK_DOC_CHECK";|' bin/autoreconf
.installed-$(PLATFORM): $(LIBDYLIB)
- $(MAKE) -C $(PLATFORM) install
touch $@
clean:
diff --git a/tools/depends/native/autoconf/endian-c++11-narrowing.patch b/tools/depends/native/autoconf/endian-c++11-narrowing.patch
deleted file mode 100644
index 444f818910..0000000000
--- a/tools/depends/native/autoconf/endian-c++11-narrowing.patch
+++ /dev/null
@@ -1,23 +0,0 @@
---- a/lib/autoconf/c.m4
-+++ b/lib/autoconf/c.m4
-@@ -1553,16 +1553,16 @@
- [# Try to guess by grepping values from an object file.
- AC_COMPILE_IFELSE(
- [AC_LANG_PROGRAM(
-- [[short int ascii_mm[] =
-+ [[unsigned short int ascii_mm[] =
- { 0x4249, 0x4765, 0x6E44, 0x6961, 0x6E53, 0x7953, 0 };
-- short int ascii_ii[] =
-+ unsigned short int ascii_ii[] =
- { 0x694C, 0x5454, 0x656C, 0x6E45, 0x6944, 0x6E61, 0 };
- int use_ascii (int i) {
- return ascii_mm[i] + ascii_ii[i];
- }
-- short int ebcdic_ii[] =
-+ unsigned short int ebcdic_ii[] =
- { 0x89D3, 0xE3E3, 0x8593, 0x95C5, 0x89C4, 0x9581, 0 };
-- short int ebcdic_mm[] =
-+ unsigned short int ebcdic_mm[] =
- { 0xC2C9, 0xC785, 0x95C4, 0x8981, 0x95E2, 0xA8E2, 0 };
- int use_ebcdic (int i) {
- return ebcdic_mm[i] + ebcdic_ii[i];
diff --git a/tools/depends/native/automake/01-fix-help2man-error.patch b/tools/depends/native/automake/01-fix-help2man-error.patch
new file mode 100644
index 0000000000..e05e429aca
--- /dev/null
+++ b/tools/depends/native/automake/01-fix-help2man-error.patch
@@ -0,0 +1,11 @@
+--- a/Makefile.in
++++ b/Makefile.in
+@@ -703,7 +703,7 @@
+ update_mans = \
+ $(AM_V_GEN): \
+ && $(MKDIR_P) doc \
+- && ./pre-inst-env $(PERL) $(srcdir)/doc/help2man --output=$@
++ && ./pre-inst-env $(PERL) $(srcdir)/doc/help2man --output=$@ --no-discard-stderr
+
+ checklinkx = $(top_srcdir)/contrib/checklinkx
+ # that 4-second sleep seems to be what gnu.org likes.
diff --git a/tools/depends/native/automake/Makefile b/tools/depends/native/automake/Makefile
index 3dfa1c1130..9e73e52b88 100644
--- a/tools/depends/native/automake/Makefile
+++ b/tools/depends/native/automake/Makefile
@@ -1,12 +1,14 @@
include ../../Makefile.include
PLATFORM=$(NATIVEPLATFORM)
-DEPS= ../../Makefile.include Makefile
+DEPS = ../../Makefile.include Makefile 01-fix-help2man-error.patch ../../download-files.include
# lib name, version
LIBNAME=automake
-VERSION=1.16.1
+VERSION=1.16.5
SOURCE=$(LIBNAME)-$(VERSION)
-ARCHIVE=$(SOURCE).tar.gz
+ARCHIVE=$(SOURCE).tar.xz
+SHA512=3084ae543aa3fb5a05104ffb2e66cfa9a53080f2343c44809707fd648516869511500dba50dae67ff10f92a1bf3b5a92b2a0fa01cda30adb69b9da03994d9d88
+include ../../download-files.include
# configuration settings
CONFIGURE=./configure --prefix=$(NATIVEPREFIX)
@@ -15,12 +17,11 @@ LIBDYLIB=$(PLATFORM)/bin/automake
all: .installed-$(PLATFORM)
-$(TARBALLS_LOCATION)/$(ARCHIVE):
- cd $(TARBALLS_LOCATION); $(RETRIEVE_TOOL) $(RETRIEVE_TOOL_FLAGS) $(BASE_URL)/$(ARCHIVE)
-$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE) $(DEPS)
+$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE).$(HASH_TYPE) $(DEPS)
-rm -rf $(PLATFORM)/*; mkdir -p $(PLATFORM)
cd $(PLATFORM); $(ARCHIVE_TOOL) $(ARCHIVE_TOOL_FLAGS) $(TARBALLS_LOCATION)/$(ARCHIVE)
+ cd $(PLATFORM); patch -p1 -i ../01-fix-help2man-error.patch
cd $(PLATFORM); $(CONFIGURE)
$(LIBDYLIB): $(PLATFORM)
diff --git a/tools/depends/native/cmake/Makefile b/tools/depends/native/cmake/Makefile
index 426ebe0628..11e8e339f3 100644
--- a/tools/depends/native/cmake/Makefile
+++ b/tools/depends/native/cmake/Makefile
@@ -1,11 +1,13 @@
include ../../Makefile.include
PLATFORM=$(NATIVEPLATFORM)
-DEPS= ../../Makefile.include Makefile
+DEPS = ../../Makefile.include Makefile ../../download-files.include
APPNAME=cmake
-VERSION=3.14.5
+VERSION=3.21.3
SOURCE=$(APPNAME)-$(VERSION)
ARCHIVE=$(SOURCE).tar.gz
+SHA512=0571b78443906c5ad51fb0fafbd32d565caf628cc150b1190802cb819e8497c108ea6b7ecaa03133df2dbbceb730696d24b4df38468c92088c769ce4076d9e9f
+include ../../download-files.include
# configuration settings
@@ -25,10 +27,8 @@ APP=$(PLATFORM)/bin/$(APPNAME)
all: .installed-$(PLATFORM)
-$(TARBALLS_LOCATION)/$(ARCHIVE):
- cd $(TARBALLS_LOCATION); $(RETRIEVE_TOOL) $(RETRIEVE_TOOL_FLAGS) $(BASE_URL)/$(ARCHIVE)
-$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE) $(DEPS)
+$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE).$(HASH_TYPE) $(DEPS)
-rm -rf $(PLATFORM)/*; mkdir -p $(PLATFORM)
cd $(PLATFORM); $(ARCHIVE_TOOL) $(ARCHIVE_TOOL_FLAGS) $(TARBALLS_LOCATION)/$(ARCHIVE)
cd $(PLATFORM); $(SETENV) $(CONFIGURE)
diff --git a/tools/depends/native/config.site.native.in b/tools/depends/native/config.site.native.in
index deef5955d3..35171a78aa 100644
--- a/tools/depends/native/config.site.native.in
+++ b/tools/depends/native/config.site.native.in
@@ -9,10 +9,10 @@ STRIP="${STRIP:-@STRIP_FOR_BUILD@}"
READELF="${READELF:-@READELF_FOR_BUILD@}"
OBJDUMP="${OBJDUMP:-@OBJDUMP_FOR_BUILD@}"
-CFLAGS="@native_platform_min_version@ -I@prefix@/@tool_dir@/include $CFLAGS"
-LDFLAGS="@native_platform_min_version@ -L@prefix@/@tool_dir@/lib $LDFLAGS"
-CPPFLAGS="@native_platform_min_version@ -I@prefix@/@tool_dir@/include $CPPFLAGS"
-CXXFLAGS="@native_platform_min_version@ -I@prefix@/@tool_dir@/include $CXXFLAGS"
+CFLAGS="@host_includes@ -I@prefix@/@tool_dir@/include $CFLAGS"
+LDFLAGS="@host_includes@ -L@prefix@/@tool_dir@/lib $LDFLAGS"
+CPPFLAGS="@host_includes@ -I@prefix@/@tool_dir@/include $CPPFLAGS"
+CXXFLAGS="@host_includes@ -I@prefix@/@tool_dir@/include $CXXFLAGS"
PKG_CONFIG=@prefix@/@tool_dir@/bin/pkg-config
export PKG_CONFIG_LIBDIR=@prefix@/@tool_dir@/lib/pkgconfig
@@ -23,17 +23,4 @@ if test -n "@use_build_toolchain@"; then
fi
LD_LIBRARY_PATH=@prefix@/@tool_dir@/lib:$LD_LIBRARY_PATH
-NASM=@prefix@/@tool_dir@/bin/yasm
-
-if test "@build_os@" = "osx" ; then
- # Xcode 8 + 10.11, clock_gettime and getentropy is present
- # in 10.12 but will get wrongly detected if building on 10.11
- ac_cv_search_clock_gettime=no
- ac_cv_func_clock_gettime=no
- ac_cv_func_getentropy=no
- ac_cv_func_futimes=no
- ac_cv_func_futimesat=no
- ac_cv_func_futimens=no
- ac_cv_func_utimensat=no
-fi
-
+NASM=@prefix@/@tool_dir@/bin/nasm
diff --git a/tools/depends/native/distutilscross/python3.patch b/tools/depends/native/distutilscross/python3.patch
deleted file mode 100644
index 6e1059d223..0000000000
--- a/tools/depends/native/distutilscross/python3.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- a/distutilscross/crosscompile.py
-+++ b/distutilscross/crosscompile.py
-@@ -32,7 +32,7 @@
- _get_python_lib = sysconfig.get_python_lib
- def get_python_lib(plat_specific=0, standard_lib=0, prefix=None):
- if os.environ.has_key('PYTHONXCPREFIX'):
-- print "Setting prefix"
-+ print("Setting prefix")
- prefix = os.environ['PYTHONXCPREFIX']
-
- return _get_python_lib(plat_specific, standard_lib, prefix)
diff --git a/tools/depends/native/dpkg/Makefile b/tools/depends/native/dpkg/Makefile
index 5e286771ca..533bf61bc9 100644
--- a/tools/depends/native/dpkg/Makefile
+++ b/tools/depends/native/dpkg/Makefile
@@ -1,13 +1,15 @@
include ../../Makefile.include
PREFIX=$(NATIVEPREFIX)
PLATFORM=$(NATIVEPLATFORM)
-DEPS= ../../Makefile.include Makefile 01-no-gnu-patch.patch 02-perl-min-version.patch 03-lzma-compression.patch
+DEPS = ../../Makefile.include Makefile 01-no-gnu-patch.patch 02-perl-min-version.patch 03-lzma-compression.patch ../../download-files.include
# lib name, version
LIBNAME=dpkg
VERSION=1.19.7
SOURCE=$(LIBNAME)_$(VERSION)
ARCHIVE=$(SOURCE).tar.xz
+SHA512=9ca441dc265baf5359c71617aef1c57504a7097c26ea57108b88dadc511bfa9918fcc765d8c67cec9def9916c5df92d6cabe508446dbc7223a29b45260445e81
+include ../../download-files.include
# configuration settings
CONFIGURE=./configure --prefix=$(PREFIX) --enable-static --disable-shared --disable-devel-docs \
@@ -18,10 +20,8 @@ LIBDYLIB=$(PLATFORM)/dpkg-deb/dpkg-deb
all: .installed-$(PLATFORM)
-$(TARBALLS_LOCATION)/$(ARCHIVE):
- cd $(TARBALLS_LOCATION); $(RETRIEVE_TOOL) $(RETRIEVE_TOOL_FLAGS) $(BASE_URL)/$(ARCHIVE)
-$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE) $(DEPS)
+$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE).$(HASH_TYPE) $(DEPS)
rm -rf $(PLATFORM)/*; mkdir -p $(PLATFORM)
cd $(PLATFORM); $(ARCHIVE_TOOL) $(ARCHIVE_TOOL_FLAGS) $(TARBALLS_LOCATION)/$(ARCHIVE)
cd $(PLATFORM); patch -p1 -i ../01-no-gnu-patch.patch
diff --git a/tools/depends/native/expat/EXPAT-VERSION b/tools/depends/native/expat/EXPAT-VERSION
new file mode 100644
index 0000000000..ea1b164349
--- /dev/null
+++ b/tools/depends/native/expat/EXPAT-VERSION
@@ -0,0 +1,5 @@
+LIBNAME=expat
+VERSION=2.4.9
+SOURCE=$(LIBNAME)-$(VERSION)
+ARCHIVE=$(SOURCE).tar.xz
+SHA512=8508379b4915d84d50f3638678a90792179c98247d1cb5e6e6387d117af4dc148ac7031c1debea8b96e7b710ef436cf0dd5da91f3d22b8186a00cfafe1201169
diff --git a/tools/depends/native/expat/Makefile b/tools/depends/native/expat/Makefile
index 73d8b4dfae..08c1b6f96c 100644
--- a/tools/depends/native/expat/Makefile
+++ b/tools/depends/native/expat/Makefile
@@ -1,13 +1,7 @@
-include ../../Makefile.include
+include ../../Makefile.include EXPAT-VERSION ../../download-files.include
PREFIX=$(NATIVEPREFIX)
PLATFORM=$(NATIVEPLATFORM)
-DEPS=../../Makefile.include Makefile
-
-# lib name, version
-LIBNAME=expat
-VERSION=2.2.7
-SOURCE=$(LIBNAME)-$(VERSION)
-ARCHIVE=$(SOURCE).tar.bz2
+DEPS=../../Makefile.include Makefile EXPAT-VERSION ../../download-files.include
# configuration settings
CONFIGURE=cp -f $(CONFIG_SUB) $(CONFIG_GUESS) ./conftools; CFLAGS="-fPIC" ./configure --prefix=$(PREFIX) --disable-shared
@@ -16,10 +10,8 @@ LIBDYLIB=$(PLATFORM)/lib/.libs/lib$(LIBNAME).a
all: .installed-$(PLATFORM)
-$(TARBALLS_LOCATION)/$(ARCHIVE):
- cd $(TARBALLS_LOCATION); $(RETRIEVE_TOOL) $(RETRIEVE_TOOL_FLAGS) $(BASE_URL)/$(ARCHIVE)
-$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE) $(DEPS)
+$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE).$(HASH_TYPE) $(DEPS)
rm -rf $(PLATFORM)/*; mkdir -p $(PLATFORM)
cd $(PLATFORM); $(ARCHIVE_TOOL) $(ARCHIVE_TOOL_FLAGS) $(TARBALLS_LOCATION)/$(ARCHIVE)
cd $(PLATFORM); $(CONFIGURE)
diff --git a/tools/depends/native/flatbuffers/Makefile b/tools/depends/native/flatbuffers/Makefile
index e50f61fec5..fa5fe50042 100644
--- a/tools/depends/native/flatbuffers/Makefile
+++ b/tools/depends/native/flatbuffers/Makefile
@@ -1,16 +1,26 @@
include ../../Makefile.include
PREFIX=$(NATIVEPREFIX)
PLATFORM=$(NATIVEPLATFORM)
-DEPS=../../Makefile.include Makefile
+DEPS =../../Makefile.include Makefile ../../download-files.include
# lib name, version
LIBNAME=flatbuffers
-VERSION=1.11.0
+VERSION=2.0.0
SOURCE=$(LIBNAME)-$(VERSION)
ARCHIVE=$(SOURCE).tar.gz
+SHA512=26a06b572c0e4c9685743bd2d2162ac7dcd74b9324624cc3f3ef5b154c0cee7c52a04b77cdc184245d2d6ae38dfdcc4fd66001c318aa8ca001d2bf1d85d66a89
+include ../../download-files.include
APP=$(PLATFORM)/build-cmake/flatc
+# BUILD Notes
+# When we go c++17, flatbuffers has FLATBUFFERS_BUILD_CPP17 to enable
+# If we bump cmake min req to 3.16, enable FLATBUFFERS_ENABLE_PCH
+
+ifeq ($(USE_CCACHE), yes)
+ LAUNCHER=-DCMAKE_CXX_COMPILER_LAUNCHER=$(CCACHE)
+endif
+
# Only this package uses CMake for build on native at the moment,
# so there is no separate toolchain file. Still we have to unset
# the CMAKE_TOOLCHAIN_FILE, which is part of $(CMAKE) and set to
@@ -27,6 +37,7 @@ CMAKE_OPTIONS := -DCMAKE_TOOLCHAIN_FILE= \
-DFLATBUFFERS_BUILD_SHAREDLIB=OFF \
-DCMAKE_C_COMPILER="$(CC_BINARY_FOR_BUILD)" \
-DCMAKE_CXX_COMPILER="$(CXX_BINARY_FOR_BUILD)" \
+ $(LAUNCHER) \
-DCMAKE_C_FLAGS="$(NATIVE_CFLAGS)" \
-DCMAKE_CXX_FLAGS="$(NATIVE_CXXFLAGS)" \
-DCMAKE_EXE_LINKER_FLAGS="$(NATIVE_LDFLAGS)" \
@@ -35,10 +46,8 @@ BUILDDIR = $(PLATFORM)/build-cmake # 'build' conflicts with file BUILD on case-i
all: .installed-$(PLATFORM)
-$(TARBALLS_LOCATION)/$(ARCHIVE):
- cd $(TARBALLS_LOCATION); $(RETRIEVE_TOOL) $(RETRIEVE_TOOL_FLAGS) $(BASE_URL)/$(ARCHIVE)
-$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE) $(DEPS)
+$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE).$(HASH_TYPE) $(DEPS)
rm -rf $(PLATFORM)/*; mkdir -p $(PLATFORM)
cd $(PLATFORM); $(ARCHIVE_TOOL) $(ARCHIVE_TOOL_FLAGS) $(TARBALLS_LOCATION)/$(ARCHIVE)
mkdir -p $(BUILDDIR)
diff --git a/tools/depends/native/gas-preprocessor/README b/tools/depends/native/gas-preprocessor/README
index d903ba107e..2c8ab2b48b 100644
--- a/tools/depends/native/gas-preprocessor/README
+++ b/tools/depends/native/gas-preprocessor/README
@@ -1,13 +1,6 @@
-To configure ffmpeg for the iPhone 3gs and iPod touch 3g:
+To configure Libav for iOS:
-./configure --enable-cross-compile --arch=arm --target-os=darwin --cc='/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/gcc -arch armv7' --sysroot=/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS3.0.sdk --cpu=cortex-a8 --enable-pic
-
-To configure ffmpeg for all other iPhones and iPods:
-
-./configure --enable-cross-compile --arch=arm --target-os=darwin --cc='/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/gcc -arch armv6' --sysroot=/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS3.0.sdk --cpu=arm1176jzf-s
-
-Make sure to replace the iPhone SDK version with the version that you're using.
-Pre-3.0 versions aren't supported and probably won't work.
+./configure --enable-cross-compile --arch=arm --target-os=darwin --cc='clang -arch armv7' --sysroot=$(xcrun --sdk iphoneos --show-sdk-path) --cpu=cortex-a8 --enable-pic
If deploying to all generations, it's recommended to do separate out-of-tree
builds for each architecture, then lipo together the resulting libs. For
diff --git a/tools/depends/native/gas-preprocessor/VERSION b/tools/depends/native/gas-preprocessor/VERSION
new file mode 100644
index 0000000000..90992e430d
--- /dev/null
+++ b/tools/depends/native/gas-preprocessor/VERSION
@@ -0,0 +1,4 @@
+LIBNAME=gas-preprocessor
+BASE_URL=https://github.com/libav/gas-preprocessor
+COMMIT=d09971fad329d32df19f5bbafe88cf2f0ed04ed7
+COMMIT_DATE=2019/10/04
diff --git a/tools/depends/native/gas-preprocessor/gas-preprocessor.pl b/tools/depends/native/gas-preprocessor/gas-preprocessor.pl
index c5a71fb29d..9cc8b2ce88 100755
--- a/tools/depends/native/gas-preprocessor/gas-preprocessor.pl
+++ b/tools/depends/native/gas-preprocessor/gas-preprocessor.pl
@@ -27,6 +27,7 @@ my $as_type = "apple-gas";
my $fix_unreq = $^O eq "darwin";
my $force_thumb = 0;
+my $verbose = 0;
my $arm_cond_codes = "eq|ne|cs|cc|mi|pl|vs|vc|hi|ls|ge|lt|gt|le|al|hs|lo";
@@ -36,10 +37,8 @@ Gas-preprocessor.pl converts assembler files using modern GNU as syntax for
Apple's ancient gas version or clang's incompatible integrated assembler. The
conversion is regularly tested for Libav, x264 and vlc. Other projects might
use different features which are not correctly handled.
-
Options for this program needs to be separated with ' -- ' from the assembler
command. Following options are currently supported:
-
-help - this usage text
-arch - target architecture
-as-type - one value out of {{,apple-}{gas,clang},armasm}
@@ -48,6 +47,7 @@ command. Following options are currently supported:
-force-thumb - assemble as thumb regardless of the input source
(note, this is incomplete and only works for sources
it explicitly was tested with)
+ -verbose - print executed commands
";
sub usage() {
@@ -61,6 +61,8 @@ while (@ARGV) {
$fix_unreq = $1 ne "no-";
} elsif ($opt eq "-force-thumb") {
$force_thumb = 1;
+ } elsif ($opt eq "-verbose") {
+ $verbose = 1;
} elsif ($opt eq "-arch") {
$arch = shift;
die "unknown arch: '$arch'\n" if not exists $canonical_arch{$arch};
@@ -71,11 +73,11 @@ while (@ARGV) {
usage();
exit 0;
} elsif ($opt eq "--" ) {
- @gcc_cmd = @ARGV;
+ @gcc_cmd = @ARGV;
} elsif ($opt =~ /^-/) {
die "option '$opt' is not known. See '$0 -help' for usage information\n";
} else {
- push @gcc_cmd, $opt, @ARGV;
+ push @gcc_cmd, $opt, @ARGV;
}
last if (@gcc_cmd);
}
@@ -90,6 +92,7 @@ if (grep /\.c$/, @gcc_cmd) {
# pass -v/--version along, used during probing. Matching '-v' might have
# uninteded results but it doesn't matter much if gas-preprocessor or
# the compiler fails.
+ print STDERR join(" ", @gcc_cmd)."\n" if $verbose;
exec(@gcc_cmd);
} else {
die "Unrecognized input filetype";
@@ -97,8 +100,12 @@ if (grep /\.c$/, @gcc_cmd) {
if ($as_type eq "armasm") {
$preprocess_c_cmd[0] = "cpp";
- push(@preprocess_c_cmd, "-U__ELF__");
- push(@preprocess_c_cmd, "-U__MACH__");
+ push(@preprocess_c_cmd, "-undef");
+ # Normally a preprocessor for windows would predefine _WIN32,
+ # but we're using any generic system-agnostic preprocessor "cpp"
+ # with -undef (to avoid getting predefined variables from the host
+ # system in cross compilation cases), so manually define it here.
+ push(@preprocess_c_cmd, "-D_WIN32");
@preprocess_c_cmd = grep ! /^-nologo$/, @preprocess_c_cmd;
# Remove -ignore XX parameter pairs from preprocess_c_cmd
@@ -111,6 +118,7 @@ if ($as_type eq "armasm") {
$index++;
}
if (grep /^-MM$/, @preprocess_c_cmd) {
+ print STDERR join(" ", @preprocess_c_cmd)."\n" if $verbose;
system(@preprocess_c_cmd) == 0 or die "Error running preprocessor";
exit 0;
}
@@ -152,6 +160,7 @@ if ($as_type ne "armasm") {
@preprocess_c_cmd = grep ! /^-fp/, @preprocess_c_cmd;
@preprocess_c_cmd = grep ! /^-EHsc$/, @preprocess_c_cmd;
@preprocess_c_cmd = grep ! /^-O/, @preprocess_c_cmd;
+ @preprocess_c_cmd = grep ! /^-oldit/, @preprocess_c_cmd;
@gcc_cmd = grep ! /^-G/, @gcc_cmd;
@gcc_cmd = grep ! /^-W/, @gcc_cmd;
@@ -202,12 +211,14 @@ $comm = ";" if $as_type =~ /armasm/;
my %ppc_spr = (ctr => 9,
vrsave => 256);
+print STDERR join(" ", @preprocess_c_cmd)."\n" if $verbose;
open(INPUT, "-|", @preprocess_c_cmd) || die "Error running preprocessor";
if ($ENV{GASPP_DEBUG}) {
open(ASMFILE, ">&STDOUT");
} else {
if ($as_type ne "armasm") {
+ print STDERR join(" ", @gcc_cmd)."\n" if $verbose;
open(ASMFILE, "|-", @gcc_cmd) or die "Error running assembler";
} else {
open(ASMFILE, ">", $tempfile);
@@ -245,7 +256,7 @@ my $thumb = 0;
my %thumb_labels;
my %call_targets;
-my %mov32_targets;
+my %import_symbols;
my %neon_alias_reg;
my %neon_alias_type;
@@ -270,7 +281,7 @@ while (<INPUT>) {
# the line indicates a comment for all supported archs (aarch64, arm, ppc
# and x86). Also strips line number comments but since they are off anyway
# it is no loss.
- s/^#.*$//;
+ s/^\s*#.*$//;
# remove all comments (to avoid interfering with evaluating directives)
s/(?<!\\)$inputcomm.*//x;
# Strip out windows linefeeds
@@ -371,12 +382,12 @@ sub parse_line {
return if (parse_if_line($line));
if (scalar(@rept_lines) == 0) {
- if (/\.macro/) {
+ if ($line =~ /\.macro/) {
$macro_level++;
if ($macro_level > 1 && !$current_macro) {
die "nested macros but we don't have master macro";
}
- } elsif (/\.endm/) {
+ } elsif ($line =~ /\.endm/) {
$macro_level--;
if ($macro_level < 0) {
die "unmatched .endm";
@@ -626,18 +637,26 @@ sub is_arm_register {
return 0;
}
+sub is_aarch64_register {
+ my $name = $_[0];
+ if ($name =~ /^[xw]\d+$/) {
+ return 1;
+ }
+ return 0;
+}
+
sub handle_local_label {
my $line = $_[0];
my $num = $_[1];
my $dir = $_[2];
my $target = "$num$dir";
if ($dir eq "b") {
- $line =~ s/$target/$last_temp_labels{$num}/g;
+ $line =~ s/\b$target\b/$last_temp_labels{$num}/g;
} else {
my $name = "temp_label_$temp_label_next";
$temp_label_next++;
push(@{$next_temp_labels{$num}}, $name);
- $line =~ s/$target/$name/g;
+ $line =~ s/\b$target\b/$name/g;
}
return $line;
}
@@ -677,9 +696,9 @@ sub handle_serialized_line {
}
# handle GNU as pc-relative relocations for adrp/add
- if ($line =~ /(.*)\s*adrp([\w\s\d]+)\s*,\s*#?:pg_hi21:([^\s]+)/) {
+ if ($line =~ /(.*)\s*adrp([\w\s\d]+)\s*,\s*#?:pg_hi21:([^\s]+)/ and $as_type =~ /^apple-/) {
$line = "$1 adrp$2, ${3}\@PAGE\n";
- } elsif ($line =~ /(.*)\s*add([\w\s\d]+)\s*,([\w\s\d]+)\s*,\s*#?:lo12:([^\s]+)/) {
+ } elsif ($line =~ /(.*)\s*add([\w\s\d]+)\s*,([\w\s\d]+)\s*,\s*#?:lo12:([^\s]+)/ and $as_type =~ /^apple-/) {
$line = "$1 add$2, $3, ${4}\@PAGEOFF\n";
}
@@ -705,7 +724,7 @@ sub handle_serialized_line {
my $cond = $3;
my $label = $4;
# Don't interpret e.g. bic as b<cc> with ic as conditional code
- if ($cond =~ /|$arm_cond_codes/) {
+ if ($cond =~ /^(|$arm_cond_codes)$/) {
if (exists $thumb_labels{$label}) {
print ASMFILE ".thumb_func $label\n";
} else {
@@ -785,24 +804,25 @@ sub handle_serialized_line {
if ($arch eq "aarch64") {
# fix missing aarch64 instructions in Xcode 5.1 (beta3)
# mov with vector arguments is not supported, use alias orr instead
- if ($line =~ /^\s*mov\s+(v\d[\.{}\[\]\w]+),\s*(v\d[\.{}\[\]\w]+)\b\s*$/) {
- $line = " orr $1, $2, $2\n";
+ if ($line =~ /^(\d+:)?\s*mov\s+(v\d[\.{}\[\]\w]+),\s*(v\d[\.{}\[\]\w]+)\b\s*$/) {
+ $line = "$1 orr $2, $3, $3\n";
}
# movi 16, 32 bit shifted variant, shift is optional
- if ($line =~ /^\s*movi\s+(v[0-3]?\d\.(?:2|4|8)[hsHS])\s*,\s*(#\w+)\b\s*$/) {
- $line = " movi $1, $2, lsl #0\n";
+ if ($line =~ /^(\d+:)?\s*movi\s+(v[0-3]?\d\.(?:2|4|8)[hsHS])\s*,\s*(#\w+)\b\s*$/) {
+ $line = "$1 movi $2, $3, lsl #0\n";
}
# Xcode 5 misses the alias uxtl. Replace it with the more general ushll.
# Clang 3.4 misses the alias sxtl too. Replace it with the more general sshll.
- if ($line =~ /^\s*(s|u)xtl(2)?\s+(v[0-3]?\d\.[248][hsdHSD])\s*,\s*(v[0-3]?\d\.(?:2|4|8|16)[bhsBHS])\b\s*$/) {
- $line = " $1shll$2 $3, $4, #0\n";
+ # armasm64 also misses these instructions.
+ if ($line =~ /^(\d+:)?\s*(s|u)xtl(2)?\s+(v[0-3]?\d\.[248][hsdHSD])\s*,\s*(v[0-3]?\d\.(?:2|4|8|16)[bhsBHS])\b\s*$/) {
+ $line = "$1 $2shll$3 $4, $5, #0\n";
}
- # clang 3.4 does not automatically use shifted immediates in add/sub
- if ($as_type eq "clang" and
- $line =~ /^(\s*(?:add|sub)s?) ([^#l]+)#([\d\+\-\*\/ <>]+)\s*$/) {
- my $imm = eval $3;
+ # clang 3.4 and armasm64 do not automatically use shifted immediates in add/sub
+ if (($as_type eq "clang" or $as_type eq "armasm") and
+ $line =~ /^(\d+:)?(\s*(?:add|sub)s?) ([^#l]+)#([\d\+\-\*\/ <>]+)\s*$/) {
+ my $imm = eval $4;
if ($imm > 4095 and not ($imm & 4095)) {
- $line = "$1 $2#" . ($imm >> 12) . ", lsl #12\n";
+ $line = "$1 $2 $3#" . ($imm >> 12) . ", lsl #12\n";
}
}
if ($ENV{GASPP_FIX_XCODE5}) {
@@ -853,7 +873,7 @@ sub handle_serialized_line {
$last_temp_labels{$num} = $name;
}
- if ($line =~ s/^(\w+):/$1/) {
+ if ($line =~ s/^\s*(\w+):/$1/) {
# Skip labels that have already been declared with a PROC,
# labels must not be declared multiple times.
return if (defined $labels_seen{$1});
@@ -866,21 +886,40 @@ sub handle_serialized_line {
# Check branch instructions
- if ($line =~ /(?:^|\n)\s*(\w+\s*:\s*)?(bl?x?(..)?(\.w)?)\s+(\w+)/) {
+ if ($line =~ /(?:^|\n)\s*(\w+\s*:\s*)?(bl?x?\.?([^\s]{2})?(\.w)?)\s+(\w+)/) {
my $instr = $2;
my $cond = $3;
my $width = $4;
my $target = $5;
# Don't interpret e.g. bic as b<cc> with ic as conditional code
- if ($cond !~ /|$arm_cond_codes/) {
+ if ($cond !~ /^(|$arm_cond_codes)$/) {
# Not actually a branch
} elsif ($target =~ /^(\d+)([bf])$/) {
# The target is a local label
$line = handle_local_label($line, $1, $2);
- $line =~ s/\b$instr\b/$&.w/ if $width eq "";
- } elsif (!is_arm_register($target)) {
+ $line =~ s/\b$instr\b/$&.w/ if $width eq "" and $arch eq "arm";
+ } elsif (($arch eq "arm" and !is_arm_register($target)) or
+ ($arch eq "aarch64" and !is_aarch64_register($target))) {
+ $call_targets{$target}++;
+ }
+ } elsif ($line =~ /(?:^|\n)\s*(\w+\s*:\s*)?(cbn?z|adr|tbz)\s+(\w+)\s*,(\s*#\d+\s*,)?\s*(\w+)/) {
+ my $instr = $2;
+ my $reg = $3;
+ my $bit = $4;
+ my $target = $5;
+ if ($target =~ /^(\d+)([bf])$/) {
+ # The target is a local label
+ $line = handle_local_label($line, $1, $2);
+ } else {
$call_targets{$target}++;
}
+ # Convert tbz with a wX register into an xX register,
+ # due to armasm64 bugs/limitations.
+ if ($instr eq "tbz" and $reg =~ /w\d+/) {
+ my $xreg = $reg;
+ $xreg =~ s/w/x/;
+ $line =~ s/\b$reg\b/$xreg/;
+ }
} elsif ($line =~ /^\s*.h?word.*\b\d+[bf]\b/) {
while ($line =~ /\b(\d+)([bf])\b/g) {
$line = handle_local_label($line, $1, $2);
@@ -890,7 +929,7 @@ sub handle_serialized_line {
# ALIGN in armasm syntax is the actual number of bytes
if ($line =~ /\.(?:p2)?align\s+(\d+)/) {
my $align = 1 << $1;
- $line =~ s/\.(?:p2)?align\s(\d+)/ALIGN $align/;
+ $line =~ s/\.(?:p2)?align\s+(\d+)/ALIGN $align/;
}
# Convert gas style [r0, :128] into armasm [r0@128] alignment specification
$line =~ s/\[([^\[,]+),?\s*:(\d+)\]/[$1\@$2]/g;
@@ -918,19 +957,127 @@ sub handle_serialized_line {
$line =~ s/\(\s*(\d+)\s*([<>])\s*(\d+)\s*\)/$val/;
}
- # Change a movw... #:lower16: into a mov32 pseudoinstruction
- $line =~ s/^(\s*)movw(\s+\w+\s*,\s*)\#:lower16:(.*)$/$1mov32$2$3/;
- # and remove the following, matching movt completely
- $line =~ s/^\s*movt\s+\w+\s*,\s*\#:upper16:.*$//;
+ if ($arch eq "arm") {
+ # Change a movw... #:lower16: into a mov32 pseudoinstruction
+ $line =~ s/^(\s*)movw(\s+\w+\s*,\s*)\#:lower16:(.*)$/$1mov32$2$3/;
+ # and remove the following, matching movt completely
+ $line =~ s/^\s*movt\s+\w+\s*,\s*\#:upper16:.*$//;
- if ($line =~ /^\s*mov32\s+\w+,\s*([a-zA-Z]\w*)/) {
- $mov32_targets{$1}++;
- }
+ if ($line =~ /^\s*mov32\s+\w+,\s*([a-zA-Z]\w*)/) {
+ $import_symbols{$1}++;
+ }
+
+ # Misc bugs/deficiencies:
+ # armasm seems unable to parse e.g. "vmov s0, s1" without a type
+ # qualifier, thus add .f32.
+ $line =~ s/^(\s+(?:vmov|vadd))(\s+s\d+\s*,\s*s\d+)/$1.f32$2/;
+ } elsif ($arch eq "aarch64") {
+ # Convert ext into ext8; armasm64 seems to require it named as ext8.
+ $line =~ s/^(\s+)ext(\s+)/$1ext8$2/;
+
+ # Pick up targets from ldr x0, =sym+offset
+ if ($line =~ /^\s*ldr\s+(\w+)\s*,\s*=([a-zA-Z]\w*)(.*)$/) {
+ my $reg = $1;
+ my $sym = $2;
+ my $offset = eval_expr($3);
+ if ($offset < 0 and $ENV{GASPP_ARMASM64_SKIP_NEG_OFFSET}) {
+ # armasm64 in VS < 15.6 is buggy with ldr x0, =sym+offset where the
+ # offset is a negative value; it does write a negative
+ # offset into the literal pool as it should, but the
+ # negative offset only covers the lower 32 bit of the 64
+ # bit literal/relocation.
+ # Thus remove the offset and apply it manually with a sub
+ # afterwards.
+ $offset = -$offset;
+ $line = "\tldr $reg, =$sym\n\tsub $reg, $reg, #$offset\n";
+ }
+ $import_symbols{$sym}++;
+ }
+
+ # armasm64 (currently) doesn't support offsets on adrp targets,
+ # even though the COFF format relocations (and the linker)
+ # supports it. Therefore strip out the offsets from adrp and
+ # add :lo12: (in case future armasm64 would start handling it)
+ # and add an extra explicit add instruction for the offset.
+ if ($line =~ s/(adrp\s+\w+\s*,\s*(\w+))([\d\+\-\*\/\(\) <>]+)?/\1/) {
+ $import_symbols{$2}++;
+ }
+ if ($line =~ s/(add\s+(\w+)\s*,\s*\w+\s*,\s*):lo12:(\w+)([\d\+\-\*\/\(\) <>]+)?/\1\3/) {
+ my $reg = $2;
+ my $sym = $3;
+ my $offset = eval_expr($4);
+ $line .= "\tadd $reg, $reg, #$offset\n" if $offset > 0;
+ $import_symbols{$sym}++;
+ }
- # Misc bugs/deficiencies:
- # armasm seems unable to parse e.g. "vmov s0, s1" without a type
- # qualifier, thus add .f32.
- $line =~ s/^(\s+(?:vmov|vadd))(\s+s\d+\s*,\s*s\d+)/$1.f32$2/;
+ # Convert e.g. "add x0, x0, w0, uxtw" into "add x0, x0, w0, uxtw #0",
+ # or "ldr x0, [x0, w0, uxtw]" into "ldr x0, [x0, w0, uxtw #0]".
+ $line =~ s/(uxt[whb]|sxt[whb])(\s*\]?\s*)$/\1 #0\2/i;
+
+ # Convert "mov x0, v0.d[0]" into "umov x0, v0.d[0]"
+ $line =~ s/\bmov\s+[xw]\d+\s*,\s*v\d+\.[ds]/u$&/i;
+
+ # Convert "ccmp w0, #0, #0, ne" into "ccmpne w0, #0, #0",
+ # and "csel w0, w0, w0, ne" into "cselne w0, w0, w0".
+ $line =~ s/(ccmp|csel)\s+([xw]\w+)\s*,\s*([xw#]\w+)\s*,\s*([xw#]\w+)\s*,\s*($arm_cond_codes)/\1\5 \2, \3, \4/;
+
+ # Convert "cinc w0, w0, ne" into "cincne w0, w0".
+ $line =~ s/(cinc)\s+([xw]\w+)\s*,\s*([xw]\w+)\s*,\s*($arm_cond_codes)/\1\4 \2, \3/;
+
+ # Convert "cset w0, lo" into "csetlo w0"
+ $line =~ s/(cset)\s+([xw]\w+)\s*,\s*($arm_cond_codes)/\1\3 \2/;
+
+ if ($ENV{GASPP_ARMASM64_SKIP_PRFUM}) {
+ # Strip out prfum; armasm64 (VS < 15.5) fails to assemble any
+ # variant/combination of prfum tested so far, but since it is
+ # a prefetch instruction it can be skipped without changing
+ # results.
+ $line =~ s/prfum.*\]//;
+ }
+
+ # Convert "ldrb w0, [x0, #-1]" into "ldurb w0, [x0, #-1]".
+ # Don't do this for forms with writeback though.
+ if ($line =~ /(ld|st)(r[bh]?)\s+(\w+)\s*,\s*\[\s*(\w+)\s*,\s*#([^\]]+)\s*\][^!]/) {
+ my $instr = $1;
+ my $suffix = $2;
+ my $target = $3;
+ my $base = $4;
+ my $offset = eval_expr($5);
+ if ($offset < 0) {
+ $line =~ s/$instr$suffix/${instr}u$suffix/;
+ }
+ }
+
+ if ($ENV{GASPP_ARMASM64_INVERT_SCALE}) {
+ # Instructions like fcvtzs and scvtf store the scale value
+ # inverted in the opcode (stored as 64 - scale), but armasm64
+ # in VS < 15.5 stores it as-is. Thus convert from
+ # "fcvtzs w0, s0, #8" into "fcvtzs w0, s0, #56".
+ if ($line =~ /(?:fcvtzs|scvtf)\s+(\w+)\s*,\s*(\w+)\s*,\s*#(\d+)/) {
+ my $scale = $3;
+ my $inverted_scale = 64 - $3;
+ $line =~ s/#$scale/#$inverted_scale/;
+ }
+ }
+
+ # Convert "ld1 {v0.4h-v3.4h}" into "ld1 {v0.4h,v1.4h,v2.4h,v3.4h}"
+ if ($line =~ /(?:ld|st)\d\s+({\s*v(\d+)\.(\d[bhsdBHSD])\s*-\s*v(\d+)\.(\d[bhsdBHSD])\s*})/) {
+ my $regspec = $1;
+ my $reg1 = $2;
+ my $layout1 = $3;
+ my $reg2 = $4;
+ my $layout2 = $5;
+ if ($layout1 eq $layout2) {
+ my $new_regspec = "{";
+ foreach my $i ($reg1 .. $reg2) {
+ $new_regspec .= "," if ($i > $reg1);
+ $new_regspec .= "v$i.$layout1";
+ }
+ $new_regspec .= "}";
+ $line =~ s/$regspec/$new_regspec/;
+ }
+ }
+ }
# armasm is unable to parse &0x - add spacing
$line =~ s/&0x/& 0x/g;
}
@@ -944,13 +1091,27 @@ sub handle_serialized_line {
# Convert "mov pc, lr" into "bx lr", since the former only works
# for switching from arm to thumb (and only in armv7), but not
# from thumb to arm.
- s/mov\s*pc\s*,\s*lr/bx lr/g;
+ $line =~ s/mov\s*pc\s*,\s*lr/bx lr/g;
# Convert stmdb/ldmia/stmfd/ldmfd/ldm with only one register into a plain str/ldr with post-increment/decrement.
# Wide thumb2 encoding requires at least two registers in register list while all other encodings support one register too.
$line =~ s/stm(?:db|fd)\s+sp!\s*,\s*\{([^,-]+)\}/str $1, [sp, #-4]!/g;
$line =~ s/ldm(?:ia|fd)?\s+sp!\s*,\s*\{([^,-]+)\}/ldr $1, [sp], #4/g;
+ # Convert muls into mul+cmp
+ $line =~ s/muls\s+(\w+),\s*(\w+)\,\s*(\w+)/mul $1, $2, $3\n\tcmp $1, #0/g;
+
+ # Convert "and r0, sp, #xx" into "mov r0, sp", "and r0, r0, #xx"
+ $line =~ s/and\s+(\w+),\s*(sp|r13)\,\s*#(\w+)/mov $1, $2\n\tand $1, $1, #$3/g;
+
+ # Convert "ldr r0, [r0, r1, lsl #6]" where the shift is >3 (which
+ # can't be handled in thumb) into "add r0, r0, r1, lsl #6",
+ # "ldr r0, [r0]", for the special case where the same address is
+ # used as base and target for the ldr.
+ if ($line =~ /(ldr[bh]?)\s+(\w+),\s*\[\2,\s*(\w+),\s*lsl\s*#(\w+)\]/ and $4 > 3) {
+ $line =~ s/(ldr[bh]?)\s+(\w+),\s*\[\2,\s*(\w+),\s*lsl\s*#(\w+)\]/add $2, $2, $3, lsl #$4\n\t$1 $2, [$2]/;
+ }
+
$line =~ s/\.arm/.thumb/x;
}
@@ -984,6 +1145,7 @@ sub handle_serialized_line {
}
if ($as_type eq "armasm") {
$line =~ s/\.global/EXPORT/x;
+ $line =~ s/\.extern/IMPORT/x;
$line =~ s/\.int/dcd/x;
$line =~ s/\.long/dcd/x;
$line =~ s/\.float/dcfs/x;
@@ -997,12 +1159,21 @@ sub handle_serialized_line {
$line =~ s/\.arm/ARM/x;
# The alignment in AREA is the power of two, just as .align in gas
$line =~ s/\.text/AREA |.text|, CODE, READONLY, ALIGN=4, CODEALIGN/;
- $line =~ s/(\s*)(.*)\.rodata/$1AREA |.rodata|, DATA, READONLY, ALIGN=5/;
+ $line =~ s/(\s*)(.*)\.ro?data/$1AREA |.rdata|, DATA, READONLY, ALIGN=5/;
$line =~ s/\.data/AREA |.data|, DATA, ALIGN=5/;
-
+ }
+ if ($as_type eq "armasm" and $arch eq "arm") {
$line =~ s/fmxr/vmsr/;
$line =~ s/fmrx/vmrs/;
$line =~ s/fadds/vadd.f32/;
+ # Armasm in VS 2019 16.3 errors out on "it" instructions. But
+ # armasm implicitly adds the necessary it instructions anyway, so we
+ # can just filter them out.
+ $line =~ s/^\s*it[te]*\s+/$comm$&/;
+ }
+ if ($as_type eq "armasm" and $arch eq "aarch64") {
+ # Convert "b.eq" into "beq"
+ $line =~ s/\bb\.($arm_cond_codes)\b/b\1/;
}
# catch unknown section names that aren't mach-o style (with a comma)
@@ -1024,7 +1195,7 @@ if ($as_type ne "armasm") {
grep exists $thumb_labels{$_}, keys %call_targets;
} else {
map print(ASMFILE "\tIMPORT $_\n"),
- grep ! exists $labels_seen{$_}, (keys %call_targets, keys %mov32_targets);
+ grep ! exists $labels_seen{$_}, (keys %call_targets, keys %import_symbols);
print ASMFILE "\tEND\n";
}
@@ -1032,6 +1203,7 @@ if ($as_type ne "armasm") {
close(INPUT) or exit 1;
close(ASMFILE) or exit 1;
if ($as_type eq "armasm" and ! defined $ENV{GASPP_DEBUG}) {
+ print STDERR join(" ", @gcc_cmd)."\n" if $verbose;
system(@gcc_cmd) == 0 or die "Error running assembler";
}
diff --git a/tools/depends/native/gen_entitlements/Makefile b/tools/depends/native/gen_entitlements/Makefile
deleted file mode 100644
index a16b4549f6..0000000000
--- a/tools/depends/native/gen_entitlements/Makefile
+++ /dev/null
@@ -1,14 +0,0 @@
-include ../../Makefile.include
-
-GEBIN=$(NATIVEPREFIX)/bin/gen_entitlements.py
-
-all: $(GEBIN)
-
-$(GEBIN):
- mkdir -p $(NATIVEPREFIX)/bin
- cp gen_entitlements.py $(GEBIN)
- chmod 755 $(GEBIN)
-
-clean:
-distclean::
- rm -f $(GEBIN)
diff --git a/tools/depends/native/gen_entitlements/gen_entitlements.py b/tools/depends/native/gen_entitlements/gen_entitlements.py
deleted file mode 100755
index d8ae6af3ee..0000000000
--- a/tools/depends/native/gen_entitlements/gen_entitlements.py
+++ /dev/null
@@ -1,36 +0,0 @@
-#!/usr/bin/env python
-
-import sys
-import struct
-
-if len(sys.argv) != 3:
- print "Usage: %s appname dest_file.xcent" % sys.argv[0]
- sys.exit(-1)
-
-APPNAME = sys.argv[1]
-DEST = sys.argv[2]
-
-if not DEST.endswith('.xml') and not DEST.endswith('.xcent'):
- print "Dest must be .xml (for ldid) or .xcent (for codesign)"
- sys.exit(-1)
-
-entitlements = """
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
-<plist version="1.0">
-<dict>
- <key>application-identifier</key>
- <string>%s</string>
- <key>get-task-allow</key>
- <true/>
-</dict>
-</plist>
-""" % APPNAME
-
-f = open(DEST,'w')
-if DEST.endswith('.xcent'):
- f.write("\xfa\xde\x71\x71")
- f.write(struct.pack('>L', len(entitlements) + 8))
-f.write(entitlements)
-f.close()
-
diff --git a/tools/depends/native/gettext/02-disable-test-doc.patch b/tools/depends/native/gettext/02-disable-test-doc.patch
new file mode 100644
index 0000000000..1e539d1431
--- /dev/null
+++ b/tools/depends/native/gettext/02-disable-test-doc.patch
@@ -0,0 +1,11 @@
+--- a/gettext-tools/Makefile.in
++++ b/gettext-tools/Makefile.in
+@@ -2198,7 +2198,7 @@
+ top_srcdir = @top_srcdir@
+ AUTOMAKE_OPTIONS = 1.5 gnu no-dependencies
+ ACLOCAL_AMFLAGS = -I m4 -I ../gettext-runtime/m4 -I ../m4 -I gnulib-m4 -I libgrep/gnulib-m4 -I libgettextpo/gnulib-m4
+-SUBDIRS = intl gnulib-lib libgrep src libgettextpo po its projects styles emacs misc man m4 tests system-tests gnulib-tests examples doc
++SUBDIRS = intl gnulib-lib libgrep src libgettextpo po its projects styles emacs misc man m4
+
+ # Allow users to use "gnulib-tool --update".
+
diff --git a/tools/depends/native/gettext/Makefile b/tools/depends/native/gettext/Makefile
index bc9beb235e..97b717f5f5 100644
--- a/tools/depends/native/gettext/Makefile
+++ b/tools/depends/native/gettext/Makefile
@@ -1,13 +1,15 @@
include ../../Makefile.include
PREFIX=$(NATIVEPREFIX)
PLATFORM=$(NATIVEPLATFORM)
-DEPS= ../../Makefile.include Makefile 01-gettext-tools-stpncpy.patch
+DEPS = ../../Makefile.include Makefile 01-gettext-tools-stpncpy.patch 02-disable-test-doc.patch ../../download-files.include
# lib name, version
LIBNAME=gettext
-VERSION=0.19.8
+VERSION=0.21
SOURCE=$(LIBNAME)-$(VERSION)
-ARCHIVE=$(SOURCE).tar.gz
+ARCHIVE=$(SOURCE).tar.xz
+SHA512=f7e2968651879f8444d43a176a149db9f9411f4a03132a7f3b37c2ed97e3978ae6888169c995c1953cb78943b6e3573811abcbb8661b6631edbbe067b2699ddf
+include ../../download-files.include
# configuration settings
CONFIGURE=./configure --prefix=$(PREFIX) \
@@ -24,20 +26,19 @@ LIBDYLIB=$(PLATFORM)/gettext-tools/src/.libs/libgettextsrc.a
all: .installed-$(PLATFORM)
-$(TARBALLS_LOCATION)/$(ARCHIVE):
- cd $(TARBALLS_LOCATION); $(RETRIEVE_TOOL) $(RETRIEVE_TOOL_FLAGS) $(BASE_URL)/$(ARCHIVE)
-$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE) $(DEPS)
+$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE).$(HASH_TYPE) $(DEPS)
rm -rf $(PLATFORM)/*; mkdir -p $(PLATFORM)
cd $(PLATFORM); $(ARCHIVE_TOOL) $(ARCHIVE_TOOL_FLAGS) $(TARBALLS_LOCATION)/$(ARCHIVE)
cd $(PLATFORM); sed -ie '/gets is a security hole/d' gettext-tools/gnulib-lib/stdio.in.h
cd $(PLATFORM); sed -ie '/gets is a security hole/d' gettext-tools/libgettextpo/stdio.in.h
cd $(PLATFORM); sed -ie '/gets is a security hole/d' gettext-runtime/gnulib-lib/stdio.in.h
- cd $(PLATFORM); sed -ie 's/SUBDIRS = doc intl gnulib-lib libgrep src libgettextpo po projects styles misc man m4 tests gnulib-tests examples/SUBDIRS = doc intl gnulib-lib libgrep src libgettextpo po projects styles misc man m4/' gettext-tools/Makefile.in
cd $(PLATFORM); patch -p1 -i ../01-gettext-tools-stpncpy.patch
+ cd $(PLATFORM); patch -p1 -i ../02-disable-test-doc.patch
cd $(PLATFORM); $(CONFIGURE)
$(LIBDYLIB): $(PLATFORM)
+ $(MAKE) -C $(PLATFORM)/libtextstyle
$(MAKE) -C $(PLATFORM)/gettext-tools
.installed-$(PLATFORM): $(LIBDYLIB)
diff --git a/tools/depends/native/giflib/Makefile b/tools/depends/native/giflib/Makefile
index 0f7cf353f8..b2a8b991a9 100644
--- a/tools/depends/native/giflib/Makefile
+++ b/tools/depends/native/giflib/Makefile
@@ -1,5 +1,5 @@
include ../../Makefile.include
-DEPS= ../../Makefile.include Makefile 01-static-lib.patch
+DEPS = ../../Makefile.include Makefile 01-static-lib.patch ../../download-files.include
PREFIX=$(NATIVEPREFIX)
PLATFORM=$(NATIVEPLATFORM)
@@ -8,6 +8,8 @@ LIBNAME=giflib
VERSION=5.2.1
SOURCE=$(LIBNAME)-$(VERSION)
ARCHIVE=$(SOURCE).tar.gz
+SHA512=4550e53c21cb1191a4581e363fc9d0610da53f7898ca8320f0d3ef6711e76bdda2609c2df15dc94c45e28bff8de441f1227ec2da7ea827cb3c0405af4faa4736
+include ../../download-files.include
# configuration settings
CONFIGURE=./configure --prefix=$(PREFIX)
@@ -16,10 +18,8 @@ LIBDYLIB=$(PLATFORM)/libgif.a
all: .installed-$(PLATFORM)
-$(TARBALLS_LOCATION)/$(ARCHIVE):
- cd $(TARBALLS_LOCATION); $(RETRIEVE_TOOL) $(RETRIEVE_TOOL_FLAGS) $(BASE_URL)/$(ARCHIVE)
-$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE) $(DEPS)
+$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE).$(HASH_TYPE) $(DEPS)
-rm -rf $(PLATFORM); mkdir -p $(PLATFORM)
cd $(PLATFORM); $(ARCHIVE_TOOL) $(ARCHIVE_TOOL_FLAGS) $(TARBALLS_LOCATION)/$(ARCHIVE)
cd $(PLATFORM); patch -p1 -i ../01-static-lib.patch
diff --git a/tools/depends/native/heimdal/02-autoconf-2.70-configure.patch b/tools/depends/native/heimdal/02-autoconf-2.70-configure.patch
new file mode 100644
index 0000000000..72755047f1
--- /dev/null
+++ b/tools/depends/native/heimdal/02-autoconf-2.70-configure.patch
@@ -0,0 +1,11 @@
+--- a/cf/check-var.m4
++++ b/cf/check-var.m4
+@@ -20,7 +20,7 @@
+ if test "$ac_foo" = yes; then
+ AC_DEFINE_UNQUOTED(AS_TR_CPP(HAVE_[]$1), 1,
+ [Define if you have the `]$1[' variable.])
+- m4_ifval([$2], AC_CHECK_DECLS([$1],[],[],[$2]))
++ m4_ifval([$2], [AC_CHECK_DECLS([$1],[],[],[$2])])
+ fi
+ ])
+
diff --git a/tools/depends/native/heimdal/Makefile b/tools/depends/native/heimdal/Makefile
index 6737c7982a..340af63df3 100644
--- a/tools/depends/native/heimdal/Makefile
+++ b/tools/depends/native/heimdal/Makefile
@@ -1,25 +1,26 @@
include ../../Makefile.include
PREFIX=$(NATIVEPREFIX)
PLATFORM=$(NATIVEPLATFORM)
-DEPS= ../../Makefile.include Makefile 01-disable-libedit.patch
+DEPS = ../../Makefile.include Makefile 01-disable-libedit.patch 02-autoconf-2.70-configure.patch ../../download-files.include
# lib name, version
LIBNAME=heimdal
VERSION=7.7.0
SOURCE=$(LIBNAME)-$(VERSION)
ARCHIVE=$(SOURCE).tar.gz
+SHA512=6660939b5a36ce36310721a08a089fb671d1e3d2e8ac74ea4775bfa5f8f772d32de805551456200fe96cc486c092c44beb84f5dd877008bc305490ee971bbf99
+include ../../download-files.include
APP=$(PLATFORM)/lib/asn1/asn1_compile
all: .installed-$(PLATFORM)
-$(TARBALLS_LOCATION)/$(ARCHIVE):
- cd $(TARBALLS_LOCATION); $(RETRIEVE_TOOL) $(RETRIEVE_TOOL_FLAGS) $(BASE_URL)/$(ARCHIVE)
-$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE) $(DEPS)
+$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE).$(HASH_TYPE) $(DEPS)
rm -rf $(PLATFORM); mkdir -p $(PLATFORM)
cd $(PLATFORM); $(ARCHIVE_TOOL) $(ARCHIVE_TOOL_FLAGS) $(TARBALLS_LOCATION)/$(ARCHIVE)
cd $(PLATFORM); patch -p1 -i ../01-disable-libedit.patch
+ cd $(PLATFORM); patch -p1 -i ../02-autoconf-2.70-configure.patch
cd $(PLATFORM); $(AUTORECONF) -vif
cd $(PLATFORM); ./configure --prefix=$(PREFIX) --disable-shared
diff --git a/tools/depends/native/ldid/01-disable-openssl-plist.patch b/tools/depends/native/ldid/01-disable-openssl-plist.patch
new file mode 100644
index 0000000000..d25b2a0df9
--- /dev/null
+++ b/tools/depends/native/ldid/01-disable-openssl-plist.patch
@@ -0,0 +1,21 @@
+--- a/Makefile
++++ b/Makefile
+@@ -1,13 +1,14 @@
+ DESTDIR ?= /
+ PREFIX ?= /usr/local
+-OPENSSL_LDFLAGS := $(shell pkg-config --libs-only-L openssl)
+-OPENSSL_CFLAGS := $(shell pkg-config --cflags openssl)
+-CFLAGS += $(OPENSSL_CFLAGS) -O2
+-LDFLAGS ?= $(LDID_LIBS) $(OPENSSL_LDFLAGS)
++#OPENSSL_LDFLAGS := $(shell pkg-config --libs-only-L openssl)
++#OPENSSL_CFLAGS := $(shell pkg-config --cflags openssl)
++#CFLAGS += $(OPENSSL_CFLAGS) -O2 -DLDID_NOSMIME=1 -DLDID_NOPLIST=1
++CFLAGS += -O2 -DLDID_NOSMIME=1 -DLDID_NOPLIST=1
++#LDFLAGS ?= $(LDID_LIBS) $(OPENSSL_LDFLAGS)
+
+ .PHONY: all clean
+ LDID_OBJS = ldid.cpp.o lookup2.c.o
+-LDID_LIBS = -lplist -lcrypto
++#LDID_LIBS = -lplist -lcrypto
+
+ all: ldid
diff --git a/tools/depends/native/ldid/Makefile b/tools/depends/native/ldid/Makefile
index 970b4cccb3..7c426aa0a6 100644
--- a/tools/depends/native/ldid/Makefile
+++ b/tools/depends/native/ldid/Makefile
@@ -1,34 +1,32 @@
include ../../Makefile.include
PREFIX=$(NATIVEPREFIX)
PLATFORM=$(NATIVEPLATFORM)
-DEPS= ../../Makefile.include Makefile
+DEPS = ../../Makefile.include Makefile 01-disable-openssl-plist.patch ../../download-files.include
# lib name, version
LIBNAME=ldid
-VERSION32=1.0.0
-VERSION64=2
-SOURCE32=$(LIBNAME)-$(VERSION32)
-SOURCE64=$(LIBNAME)-$(VERSION64)
-ARCHIVE32=$(SOURCE32).tar.gz
-ARCHIVE64=$(SOURCE64).tar.gz
+VERSION=2.1.2-b462a92
+# tarball source: https://github.com/sbingner/ldid/commit/b462a92349c57f38f2a6844adabee940afe01ca6
+SOURCE=$(LIBNAME)-$(VERSION)
+ARCHIVE=$(SOURCE).tar.gz
+SHA512=9582d747f55e8fd1d54c20b6a3f0825d2ab0cfaffeb6992e53b39343b3aa3936f31e6353d59518f294ecc154adf687fd2dee0405d9b2e594cc16b19409f3c0f4
+include ../../download-files.include
-all: .installed-$(PLATFORM)
+LIBDYLIB=$(PLATFORM)/ldid
-$(TARBALLS_LOCATION)/$(ARCHIVE32):
- cd $(TARBALLS_LOCATION); $(RETRIEVE_TOOL) $(RETRIEVE_TOOL_FLAGS) $(BASE_URL)/$(ARCHIVE32)
+all: .installed-$(PLATFORM)
-$(TARBALLS_LOCATION)/$(ARCHIVE64):
- cd $(TARBALLS_LOCATION); $(RETRIEVE_TOOL) $(RETRIEVE_TOOL_FLAGS) $(BASE_URL)/$(ARCHIVE64)
-$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE32) $(TARBALLS_LOCATION)/$(ARCHIVE64) $(DEPS)
+$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE).$(HASH_TYPE) $(DEPS)
rm -rf $(PLATFORM)/*; mkdir -p $(PLATFORM)
- cd $(PLATFORM); $(ARCHIVE_TOOL) $(ARCHIVE_TOOL_FLAGS) $(TARBALLS_LOCATION)/$(ARCHIVE32)
- mv $(PLATFORM)/ldid $(PLATFORM)/ldid32
- cd $(PLATFORM); $(ARCHIVE_TOOL) $(ARCHIVE_TOOL_FLAGS) $(TARBALLS_LOCATION)/$(ARCHIVE64)
- mv $(PLATFORM)/ldid $(PLATFORM)/ldid64
+ cd $(PLATFORM); $(ARCHIVE_TOOL) $(ARCHIVE_TOOL_FLAGS) $(TARBALLS_LOCATION)/$(ARCHIVE)
+ cd $(PLATFORM); patch -p1 -i ../01-disable-openssl-plist.patch
+
+$(LIBDYLIB): $(PLATFORM)
+ $(MAKE) -C $(PLATFORM)
-.installed-$(PLATFORM):$(PLATFORM)
- cp $(PLATFORM)/ldid* $(NATIVEPREFIX)/bin
+.installed-$(PLATFORM): $(LIBDYLIB)
+ cp $(PLATFORM)/ldid $(NATIVEPREFIX)/bin
touch $@
clean:
diff --git a/tools/depends/native/libffi/Makefile b/tools/depends/native/libffi/Makefile
index 462bc6e4c7..6193511efa 100644
--- a/tools/depends/native/libffi/Makefile
+++ b/tools/depends/native/libffi/Makefile
@@ -1,13 +1,15 @@
include ../../Makefile.include
PREFIX=$(NATIVEPREFIX)
PLATFORM=$(NATIVEPLATFORM)
-DEPS= ../../Makefile.include Makefile
+DEPS = ../../Makefile.include Makefile ../../download-files.include
# lib name, version
LIBNAME=libffi
VERSION=3.2.1
SOURCE=$(LIBNAME)-$(VERSION)
ARCHIVE=$(SOURCE).tar.gz
+SHA512=980ca30a8d76f963fca722432b1fe5af77d7a4e4d2eac5144fbc5374d4c596609a293440573f4294207e1bdd9fda80ad1e1cafb2ffb543df5a275bc3bd546483
+include ../../download-files.include
# configuration settings
CONFIGURE= CFLAGS="-fPIC" ./configure --prefix=$(NATIVEPREFIX) --disable-shared --disable-builddir
@@ -17,10 +19,8 @@ LIBDYLIB=$(PLATFORM)/.libs/$(LIBNAME).a
all: .installed-$(PLATFORM)
-$(TARBALLS_LOCATION)/$(ARCHIVE):
- cd $(TARBALLS_LOCATION); $(RETRIEVE_TOOL) $(RETRIEVE_TOOL_FLAGS) $(BASE_URL)/$(ARCHIVE)
-$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE) $(DEPS)
+$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE).$(HASH_TYPE) $(DEPS)
rm -rf $(PLATFORM); mkdir -p $(PLATFORM)
cd $(PLATFORM); $(ARCHIVE_TOOL) $(ARCHIVE_TOOL_FLAGS) $(TARBALLS_LOCATION)/$(ARCHIVE)
cd $(PLATFORM); $(CONFIGURE)
diff --git a/tools/depends/native/libjpeg-turbo/01-disable-executables.patch b/tools/depends/native/libjpeg-turbo/01-disable-executables.patch
new file mode 100644
index 0000000000..8a672b2159
--- /dev/null
+++ b/tools/depends/native/libjpeg-turbo/01-disable-executables.patch
@@ -0,0 +1,118 @@
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -211,6 +211,9 @@
+ boolean_number(WITH_TURBOJPEG)
+ option(WITH_FUZZ "Build fuzz targets" FALSE)
+
++option(ENABLE_TESTS "Enable testing targets" FALSE)
++boolean_number(ENABLE_TESTS)
++
+ macro(report_option var desc)
+ if(${var})
+ message(STATUS "${desc} enabled (${var} = ${${var}})")
+@@ -634,6 +637,7 @@
+ LINK_FLAGS "${TJMAPFLAG}${TJMAPFILE}")
+ endif()
+
++if(ENABLE_TESTS)
+ add_executable(tjunittest tjunittest.c tjutil.c md5/md5.c md5/md5hl.c)
+ target_link_libraries(tjunittest turbojpeg)
+
+@@ -645,6 +649,7 @@
+
+ add_executable(tjexample tjexample.c)
+ target_link_libraries(tjexample turbojpeg)
++endif()
+ endif()
+
+ if(ENABLE_STATIC)
+@@ -656,7 +661,7 @@
+ if(NOT MSVC)
+ set_target_properties(turbojpeg-static PROPERTIES OUTPUT_NAME turbojpeg)
+ endif()
+-
++if(ENABLE_TESTS)
+ add_executable(tjunittest-static tjunittest.c tjutil.c md5/md5.c
+ md5/md5hl.c)
+ target_link_libraries(tjunittest-static turbojpeg-static)
+@@ -666,6 +671,7 @@
+ if(UNIX)
+ target_link_libraries(tjbench-static m)
+ endif()
++endif()
+ endif()
+ endif()
+
+@@ -680,6 +686,7 @@
+ set(DJPEG_BMP_SOURCES wrbmp.c wrtarga.c)
+ endif()
+
++if(ENABLE_TESTS)
+ if(ENABLE_STATIC)
+ add_executable(cjpeg-static cjpeg.c cdjpeg.c rdgif.c rdppm.c rdswitch.c
+ ${CJPEG_BMP_SOURCES})
+@@ -699,11 +706,12 @@
+ add_executable(rdjpgcom rdjpgcom.c)
+
+ add_executable(wrjpgcom wrjpgcom.c)
+-
++endif()
+
+ ###############################################################################
+ # TESTS
+ ###############################################################################
++if(ENABLE_TESTS)
+
+ if(WITH_FUZZ)
+ add_subdirectory(fuzz)
+@@ -1419,7 +1427,7 @@
+ DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/tjbenchtest)
+ endif()
+ endif()
+-
++endif()
+
+ ###############################################################################
+ # INSTALLATION
+@@ -1434,8 +1442,10 @@
+ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
+ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
+ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
++if(ENABLE_TESTS)
+ install(TARGETS tjbench
+ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
++endif()
+ if(NOT CMAKE_VERSION VERSION_LESS "3.1" AND MSVC AND
+ CMAKE_C_LINKER_SUPPORTS_PDB)
+ install(FILES "$<TARGET_PDB_FILE:turbojpeg>"
+@@ -1452,8 +1462,10 @@
+ else()
+ set(DIR ${CMAKE_CURRENT_BINARY_DIR})
+ endif()
++ if(ENABLE_TESTS)
+ install(PROGRAMS ${DIR}/tjbench-static${EXE}
+ DESTINATION ${CMAKE_INSTALL_BINDIR} RENAME tjbench${EXE})
++ endif()
+ endif()
+ endif()
+ install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/turbojpeg.h
+@@ -1464,6 +1476,7 @@
+ install(TARGETS jpeg-static EXPORT ${CMAKE_PROJECT_NAME}Targets
+ INCLUDES DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}
+ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR})
++if(ENABLE_TESTS)
+ if(NOT ENABLE_SHARED)
+ if(MSVC_IDE OR XCODE)
+ set(DIR "${CMAKE_CURRENT_BINARY_DIR}/\${CMAKE_INSTALL_CONFIG_NAME}")
+@@ -1478,8 +1491,11 @@
+ DESTINATION ${CMAKE_INSTALL_BINDIR} RENAME jpegtran${EXE})
+ endif()
+ endif()
++endif()
+
++if(ENABLE_TESTS)
+ install(TARGETS rdjpgcom wrjpgcom RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
++endif()
+
+ install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/README.ijg
+ ${CMAKE_CURRENT_SOURCE_DIR}/README.md ${CMAKE_CURRENT_SOURCE_DIR}/example.txt
diff --git a/tools/depends/native/libjpeg-turbo/LIBJPEG-TURBO-VERSION b/tools/depends/native/libjpeg-turbo/LIBJPEG-TURBO-VERSION
new file mode 100644
index 0000000000..61eb00828e
--- /dev/null
+++ b/tools/depends/native/libjpeg-turbo/LIBJPEG-TURBO-VERSION
@@ -0,0 +1,4 @@
+LIBNAME=libjpeg-turbo
+VERSION=2.1.4
+ARCHIVE=$(LIBNAME)-$(VERSION).tar.gz
+SHA512=d3e92d614168355827e0ed884ff847cc7df8f6f1fb7b673c6c99afdf61fdfc0372afe5d30fdbf5e743335e2a7a27ca9f510c67d213e5cb2315a8d946e9414575
diff --git a/tools/depends/native/libjpeg-turbo/Makefile b/tools/depends/native/libjpeg-turbo/Makefile
index f673e84d97..26a1323168 100644
--- a/tools/depends/native/libjpeg-turbo/Makefile
+++ b/tools/depends/native/libjpeg-turbo/Makefile
@@ -1,37 +1,33 @@
-include ../../Makefile.include
+include ../../Makefile.include LIBJPEG-TURBO-VERSION ../../download-files.include
PREFIX=$(NATIVEPREFIX)
PLATFORM=$(NATIVEPLATFORM)
-DEPS= ../../Makefile.include Makefile
+DEPS = ../../Makefile.include LIBJPEG-TURBO-VERSION Makefile ../../download-files.include \
+ 01-disable-executables.patch
-# lib name, version
-LIBNAME=libjpeg-turbo
-VERSION=1.5.1
-SOURCE=$(LIBNAME)-$(VERSION)
-ARCHIVE=$(LIBNAME)-$(VERSION).tar.gz
-# configuration settings
-CONFIGURE=cp -f $(CONFIG_SUB) $(CONFIG_GUESS) .; \
- ./configure --prefix=$(PREFIX) --with-jpeg8 --without-simd
+CMAKE_OPTIONS := -DCMAKE_TOOLCHAIN_FILE= \
+ -DCMAKE_ASM_NASM_COMPILER:FILEPATH=$(NATIVEPREFIX)/bin/nasm \
+ -DENABLE_SHARED:BOOL=OFF \
+ -DWITH_JPEG8:BOOL=ON \
+ -DCMAKE_C_COMPILER="$(CC_BINARY_FOR_BUILD)" \
+ -DCMAKE_C_FLAGS="$(NATIVE_CFLAGS)" \
+ -DCMAKE_EXE_LINKER_FLAGS="$(NATIVE_LDFLAGS)" \
+ -DCMAKE_INSTALL_LIBDIR:STRING=lib
-CFLAGS+=-O3
-
-LIBDYLIB=$(PLATFORM)/.libs/libjpeg.a
+LIBDYLIB=$(PLATFORM)/build/libjpeg.a
all: .installed-$(PLATFORM)
-$(TARBALLS_LOCATION)/$(ARCHIVE):
- cd $(TARBALLS_LOCATION); $(RETRIEVE_TOOL) $(RETRIEVE_TOOL_FLAGS) $(BASE_URL)/$(ARCHIVE)
-
-$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE) $(DEPS)
+$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE).$(HASH_TYPE) $(DEPS)
rm -rf $(PLATFORM)/*; mkdir -p $(PLATFORM)
cd $(PLATFORM); $(ARCHIVE_TOOL) $(ARCHIVE_TOOL_FLAGS) $(TARBALLS_LOCATION)/$(ARCHIVE)
- cd $(PLATFORM); $(CONFIGURE)
+ cd $(PLATFORM); patch -p1 -i ../01-disable-executables.patch
+ cd $(PLATFORM); $(CMAKE) -B build $(CMAKE_OPTIONS)
$(LIBDYLIB): $(PLATFORM)
- $(MAKE) -j 1 -C $(PLATFORM)
- touch $@
+ $(MAKE) -C $(PLATFORM)/build
.installed-$(PLATFORM): $(LIBDYLIB)
- $(MAKE) -C $(PLATFORM) install
+ $(MAKE) -C $(PLATFORM)/build install
touch $@
clean:
diff --git a/tools/depends/native/liblzo2/Makefile b/tools/depends/native/liblzo2/Makefile
index 110adeecd0..93fd85e080 100644
--- a/tools/depends/native/liblzo2/Makefile
+++ b/tools/depends/native/liblzo2/Makefile
@@ -1,13 +1,15 @@
include ../../Makefile.include
PREFIX=$(NATIVEPREFIX)
PLATFORM=$(NATIVEPLATFORM)
-DEPS= ../../Makefile.include Makefile
+DEPS = ../../Makefile.include Makefile ../../download-files.include
# lib name, version
LIBNAME=lzo
-VERSION=2.09
+VERSION=2.10
SOURCE=$(LIBNAME)-$(VERSION)
ARCHIVE=$(SOURCE).tar.gz
+SHA512=a3dae5e4a6b93b1f5bf7435e8ab114a9be57252e9efc5dd444947d7a2d031b0819f34bcaeb35f60b5629a01b1238d738735a64db8f672be9690d3c80094511a4
+include ../../download-files.include
# configuration settings
CONFIGURE=cp -f $(CONFIG_SUB) $(CONFIG_GUESS) autoconf/; \
@@ -17,10 +19,8 @@ LIBDYLIB=$(PLATFORM)/src/.libs/lib$(LIBNAME)2.a
all: .installed-$(PLATFORM)
-$(TARBALLS_LOCATION)/$(ARCHIVE):
- cd $(TARBALLS_LOCATION); $(RETRIEVE_TOOL) $(RETRIEVE_TOOL_FLAGS) $(BASE_URL)/$(ARCHIVE)
-$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE) $(DEPS)
+$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE).$(HASH_TYPE) $(DEPS)
rm -rf $(PLATFORM)/*; mkdir -p $(PLATFORM)
cd $(PLATFORM); $(ARCHIVE_TOOL) $(ARCHIVE_TOOL_FLAGS) $(TARBALLS_LOCATION)/$(ARCHIVE)
cd $(PLATFORM); $(CONFIGURE)
diff --git a/tools/depends/native/libpng/Makefile b/tools/depends/native/libpng/Makefile
index ad81b15060..84650832b3 100644
--- a/tools/depends/native/libpng/Makefile
+++ b/tools/depends/native/libpng/Makefile
@@ -1,13 +1,15 @@
include ../../Makefile.include
PREFIX=$(NATIVEPREFIX)
PLATFORM=$(NATIVEPLATFORM)
-DEPS= ../../Makefile.include Makefile
+DEPS = ../../Makefile.include Makefile ../../download-files.include
# lib name, version
LIBNAME=libpng
-VERSION=1.6.26
+VERSION=1.6.37
SOURCE=$(LIBNAME)-$(VERSION)
ARCHIVE=$(SOURCE).tar.gz
+SHA512=2ce2b855af307ca92a6e053f521f5d262c36eb836b4810cb53c809aa3ea2dcc08f834aee0ffd66137768a54397e28e92804534a74abb6fc9f6f3127f14c9c338
+include ../../download-files.include
# configuration settings
CONFIGURE=cp -f $(CONFIG_SUB) $(CONFIG_GUESS) .; \
@@ -17,10 +19,8 @@ LIBDYLIB=$(PLATFORM)/.libs/$(LIBNAME)16.a
all: .installed-$(PLATFORM)
-$(TARBALLS_LOCATION)/$(ARCHIVE):
- cd $(TARBALLS_LOCATION); $(RETRIEVE_TOOL) $(RETRIEVE_TOOL_FLAGS) $(BASE_URL)/$(ARCHIVE)
-$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE) $(DEPS)
+$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE).$(HASH_TYPE) $(DEPS)
rm -rf $(PLATFORM)/*; mkdir -p $(PLATFORM)
cd $(PLATFORM); $(ARCHIVE_TOOL) $(ARCHIVE_TOOL_FLAGS) $(TARBALLS_LOCATION)/$(ARCHIVE)
cd $(PLATFORM); $(CONFIGURE)
diff --git a/tools/depends/native/libtool/Makefile b/tools/depends/native/libtool/Makefile
index 98a3a9d9a2..235642c7e1 100644
--- a/tools/depends/native/libtool/Makefile
+++ b/tools/depends/native/libtool/Makefile
@@ -1,13 +1,15 @@
include ../../Makefile.include
PREFIX=$(NATIVEPREFIX)
PLATFORM=$(NATIVEPLATFORM)
-DEPS= ../../Makefile.include Makefile
+DEPS = ../../Makefile.include Makefile ../../download-files.include
# lib name, version
LIBNAME=libtool
VERSION=2.4.6
SOURCE=$(LIBNAME)-$(VERSION)
ARCHIVE=$(SOURCE).tar.gz
+SHA512=3233d81cb2739a54b840a0a82064eebbfaa4fb442fb993a35d6bd41d8395c51f038c90ae048b9252f172d0a5bbfb4b36e2b13d4477001f9ff7d4124237819a18
+include ../../download-files.include
# configuration settings
CONFIGURE=./configure --prefix=$(PREFIX) \
@@ -17,10 +19,8 @@ LIBDYLIB=$(PLATFORM)/libtool
all: .installed-$(PLATFORM)
-$(TARBALLS_LOCATION)/$(ARCHIVE):
- cd $(TARBALLS_LOCATION); $(RETRIEVE_TOOL) $(RETRIEVE_TOOL_FLAGS) $(BASE_URL)/$(ARCHIVE)
-$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE) $(DEPS)
+$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE).$(HASH_TYPE) $(DEPS)
-rm -rf $(PLATFORM)/*; mkdir -p $(PLATFORM)
cd $(PLATFORM); $(ARCHIVE_TOOL) $(ARCHIVE_TOOL_FLAGS) $(TARBALLS_LOCATION)/$(ARCHIVE)
cd $(PLATFORM); $(CONFIGURE)
diff --git a/tools/depends/native/m4/01-fix-ftbfs-with-glibc-2.28.patch b/tools/depends/native/m4/01-fix-ftbfs-with-glibc-2.28.patch
deleted file mode 100644
index c10c1b2ba8..0000000000
--- a/tools/depends/native/m4/01-fix-ftbfs-with-glibc-2.28.patch
+++ /dev/null
@@ -1,117 +0,0 @@
-From: Santiago Vila <sanvila@debian.org>
-Subject: Fix FTBFS with glibc 2.28
-Bug-Debian: https://bugs.debian.org/915152
-X-Debian-version: 1.4.18-2
-
-Based on this gnulib commit by Paul Eggert:
-
-https://lists.gnu.org/r/bug-gnulib/2018-03/msg00002.html
-
---- a/lib/fflush.c
-+++ b/lib/fflush.c
-@@ -33,7 +33,7 @@
- #undef fflush
-
-
--#if defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */
-+#if defined _IO_EOF_SEEN || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */
-
- /* Clear the stream's ungetc buffer, preserving the value of ftello (fp). */
- static void
-@@ -72,7 +72,7 @@
-
- #endif
-
--#if ! (defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */)
-+#if ! (defined _IO_EOF_SEEN || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */)
-
- # if (defined __sferror || defined __DragonFly__ || defined __ANDROID__) && defined __SNPT
- /* FreeBSD, NetBSD, OpenBSD, DragonFly, Mac OS X, Cygwin, Android */
-@@ -148,7 +148,7 @@
- if (stream == NULL || ! freading (stream))
- return fflush (stream);
-
--#if defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */
-+#if defined _IO_EOF_SEEN || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */
-
- clear_ungetc_buffer_preserving_position (stream);
-
---- a/lib/fpending.c
-+++ b/lib/fpending.c
-@@ -32,7 +32,7 @@
- /* Most systems provide FILE as a struct and the necessary bitmask in
- <stdio.h>, because they need it for implementing getc() and putc() as
- fast macros. */
--#if defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */
-+#if defined _IO_EOF_SEEN || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */
- return fp->_IO_write_ptr - fp->_IO_write_base;
- #elif defined __sferror || defined __DragonFly__ || defined __ANDROID__
- /* FreeBSD, NetBSD, OpenBSD, DragonFly, Mac OS X, Cygwin, Android */
---- a/lib/fpurge.c
-+++ b/lib/fpurge.c
-@@ -62,7 +62,7 @@
- /* Most systems provide FILE as a struct and the necessary bitmask in
- <stdio.h>, because they need it for implementing getc() and putc() as
- fast macros. */
--# if defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */
-+# if defined _IO_EOF_SEEN || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */
- fp->_IO_read_end = fp->_IO_read_ptr;
- fp->_IO_write_ptr = fp->_IO_write_base;
- /* Avoid memory leak when there is an active ungetc buffer. */
---- a/lib/freadahead.c
-+++ b/lib/freadahead.c
-@@ -25,7 +25,7 @@
- size_t
- freadahead (FILE *fp)
- {
--#if defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */
-+#if defined _IO_EOF_SEEN || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */
- if (fp->_IO_write_ptr > fp->_IO_write_base)
- return 0;
- return (fp->_IO_read_end - fp->_IO_read_ptr)
---- a/lib/freading.c
-+++ b/lib/freading.c
-@@ -31,7 +31,7 @@
- /* Most systems provide FILE as a struct and the necessary bitmask in
- <stdio.h>, because they need it for implementing getc() and putc() as
- fast macros. */
--# if defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */
-+# if defined _IO_EOF_SEEN || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */
- return ((fp->_flags & _IO_NO_WRITES) != 0
- || ((fp->_flags & (_IO_NO_READS | _IO_CURRENTLY_PUTTING)) == 0
- && fp->_IO_read_base != NULL));
---- a/lib/fseeko.c
-+++ b/lib/fseeko.c
-@@ -47,7 +47,7 @@
- #endif
-
- /* These tests are based on fpurge.c. */
--#if defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */
-+#if defined _IO_EOF_SEEN || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */
- if (fp->_IO_read_end == fp->_IO_read_ptr
- && fp->_IO_write_ptr == fp->_IO_write_base
- && fp->_IO_save_base == NULL)
-@@ -123,7 +123,7 @@
- return -1;
- }
-
--#if defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */
-+#if defined _IO_EOF_SEEN || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */
- fp->_flags &= ~_IO_EOF_SEEN;
- fp->_offset = pos;
- #elif defined __sferror || defined __DragonFly__ || defined __ANDROID__
---- a/lib/stdio-impl.h
-+++ b/lib/stdio-impl.h
-@@ -18,6 +18,12 @@
- the same implementation of stdio extension API, except that some fields
- have different naming conventions, or their access requires some casts. */
-
-+/* Glibc 2.28 made _IO_IN_BACKUP private. For now, work around this
-+ problem by defining it ourselves. FIXME: Do not rely on glibc
-+ internals. */
-+#if !defined _IO_IN_BACKUP && defined _IO_EOF_SEEN
-+# define _IO_IN_BACKUP 0x100
-+#endif
-
- /* BSD stdio derived implementations. */
-
diff --git a/tools/depends/native/m4/Makefile b/tools/depends/native/m4/Makefile
index a4ffcc68d0..a41959146f 100644
--- a/tools/depends/native/m4/Makefile
+++ b/tools/depends/native/m4/Makefile
@@ -1,13 +1,15 @@
include ../../Makefile.include
PREFIX=$(NATIVEPREFIX)
PLATFORM=$(NATIVEPLATFORM)
-DEPS= ../../Makefile.include Makefile 01-fix-ftbfs-with-glibc-2.28.patch osx_snprintf.patch
+DEPS = ../../Makefile.include Makefile ../../download-files.include
# lib name, version
LIBNAME=m4
-VERSION=1.4.18
+VERSION=1.4.19
SOURCE=$(LIBNAME)-$(VERSION)
-ARCHIVE=$(SOURCE).tar.gz
+ARCHIVE=$(SOURCE).tar.xz
+SHA512=47f595845c89709727bda0b3fc78e3188ef78ec818965b395532e7041cabe9e49677ee4aca3d042930095a7f8df81de3da1026b23b6897be471f6cf13ddd512b
+include ../../download-files.include
# configuration settings
CONFIGURE=./configure --prefix=$(PREFIX)
@@ -16,14 +18,9 @@ LIBDYLIB=$(PLATFORM)/src/$(LIBNAME)
all: .installed-$(PLATFORM)
-$(TARBALLS_LOCATION)/$(ARCHIVE):
- cd $(TARBALLS_LOCATION); $(RETRIEVE_TOOL) $(RETRIEVE_TOOL_FLAGS) $(BASE_URL)/$(ARCHIVE)
-
-$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE) $(DEPS)
+$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE).$(HASH_TYPE) $(DEPS)
-rm -rf $(PLATFORM)/*; mkdir -p $(PLATFORM)
cd $(PLATFORM); $(ARCHIVE_TOOL) $(ARCHIVE_TOOL_FLAGS) $(TARBALLS_LOCATION)/$(ARCHIVE)
- cd $(PLATFORM); patch -p1 -i ../01-fix-ftbfs-with-glibc-2.28.patch
- cd $(PLATFORM); patch -p1 -i ../osx_snprintf.patch
cd $(PLATFORM); $(CONFIGURE)
$(LIBDYLIB): $(PLATFORM)
diff --git a/tools/depends/native/m4/osx_snprintf.patch b/tools/depends/native/m4/osx_snprintf.patch
deleted file mode 100644
index af1c470ca6..0000000000
--- a/tools/depends/native/m4/osx_snprintf.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- a/lib/vasnprintf.c
-+++ b/lib/vasnprintf.c
-@@ -4858,7 +4858,7 @@
- #endif
- *fbp = dp->conversion;
- #if USE_SNPRINTF
--# if !(((__GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 3)) && !defined __UCLIBC__) || ((defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__))
-+# if !(((__GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 3)) && !defined __UCLIBC__) || (defined __APPLE__ && defined __MACH__) || ((defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__))
- fbp[1] = '%';
- fbp[2] = 'n';
- fbp[3] = '\0';
diff --git a/tools/depends/native/meson/Makefile b/tools/depends/native/meson/Makefile
index 832f1a9f43..106b1a0b92 100644
--- a/tools/depends/native/meson/Makefile
+++ b/tools/depends/native/meson/Makefile
@@ -1,21 +1,21 @@
include ../../Makefile.include
PLATFORM=$(NATIVEPLATFORM)
-DEPS=../../Makefile.include Makefile
+DEPS =../../Makefile.include Makefile ../../download-files.include
# lib name, version
LIBNAME=meson
-VERSION=0.51.0
+VERSION=0.59.2
SOURCE=$(LIBNAME)-$(VERSION)
ARCHIVE=$(SOURCE).tar.gz
+SHA512=126ac3a6c6b9e1fba1b3ac163f02d1eb0b61fedb312bcfe4996f6150522688d424f47283070c95101cc456afe9ea5cb462fb38f368d0c732952ffb8c600fda00
+include ../../download-files.include
LIBDYLIB=$(PLATFORM)/build
all: .installed-$(PLATFORM)
-$(TARBALLS_LOCATION)/$(ARCHIVE):
- cd $(TARBALLS_LOCATION); $(RETRIEVE_TOOL) $(RETRIEVE_TOOL_FLAGS) $(BASE_URL)/$(ARCHIVE)
-$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE) $(DEPS)
+$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE).$(HASH_TYPE) $(DEPS)
rm -rf $(PLATFORM)/*; mkdir -p $(PLATFORM)
cd $(PLATFORM); $(ARCHIVE_TOOL) $(ARCHIVE_TOOL_FLAGS) $(TARBALLS_LOCATION)/$(ARCHIVE)
cd $(PLATFORM); $(NATIVEPREFIX)/bin/python3 setup.py config
diff --git a/tools/depends/native/yasm/Makefile b/tools/depends/native/nasm/Makefile
index f75934a028..5746439fa3 100644
--- a/tools/depends/native/yasm/Makefile
+++ b/tools/depends/native/nasm/Makefile
@@ -1,25 +1,25 @@
include ../../Makefile.include
PREFIX=$(NATIVEPREFIX)
PLATFORM=$(NATIVEPLATFORM)
-DEPS= ../../Makefile.include Makefile
+DEPS = ../../Makefile.include Makefile ../../download-files.include
-APPNAME=yasm
-VERSION=1.3.0
+APPNAME=nasm
+VERSION=2.15.05
SOURCE=$(APPNAME)-$(VERSION)
-ARCHIVE=$(SOURCE).tar.gz
+ARCHIVE=$(SOURCE).tar.xz
+SHA512=512f90a2584f1c5811429274b97c64a2cedf37b9fdeffb1bcd0ea64afd9ecc19a2d7877ca8f1e05393aa324153fc9f39ea51dacbf8d25a7d5a2d7728c925dba7
+include ../../download-files.include
# configuration settings
-CONFIGURE=./configure --prefix=$(PREFIX) --disable-nls --disable-python
+CONFIGURE=./configure --prefix=$(PREFIX)
APP=$(PLATFORM)/$(APPNAME)
all: .installed-$(PLATFORM)
-$(TARBALLS_LOCATION)/$(ARCHIVE):
- cd $(TARBALLS_LOCATION); $(RETRIEVE_TOOL) $(RETRIEVE_TOOL_FLAGS) $(BASE_URL)/$(ARCHIVE)
-$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE) $(DEPS)
- -rm -rf $(PLATFORM)/*; mkdir -p $(PLATFORM)
+$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE).$(HASH_TYPE) $(DEPS)
+ rm -rf $(PLATFORM)/*; mkdir -p $(PLATFORM)
cd $(PLATFORM); $(ARCHIVE_TOOL) $(ARCHIVE_TOOL_FLAGS) $(TARBALLS_LOCATION)/$(ARCHIVE)
cd $(PLATFORM); $(CONFIGURE)
@@ -28,7 +28,6 @@ $(APP): $(PLATFORM)
.installed-$(PLATFORM): $(APP)
$(MAKE) -C $(PLATFORM) install
- rm -rf $(PREFIX)/lib/libyasm.a
touch $@
clean:
diff --git a/tools/depends/native/ninja/Makefile b/tools/depends/native/ninja/Makefile
index f0733d40cf..3cf2505588 100644
--- a/tools/depends/native/ninja/Makefile
+++ b/tools/depends/native/ninja/Makefile
@@ -1,21 +1,21 @@
include ../../Makefile.include
PLATFORM=$(NATIVEPLATFORM)
-DEPS= ../../Makefile.include Makefile
+DEPS = ../../Makefile.include Makefile ../../download-files.include
# lib name, version
LIBNAME=ninja
-VERSION=1.9.0
+VERSION=1.10.2
SOURCE=$(LIBNAME)-$(VERSION)
ARCHIVE=$(SOURCE).tar.gz
+SHA512=895412ae1cbc83c656e92f282602a29300e08274e9dea0da4464202ae556e7a1ab03bec057f23da4756bbd91bd2d744cd7a64b336740fd2782bb4db5c3b7b496
+include ../../download-files.include
LIBDYLIB=$(PLATFORM)/ninja
all: .installed-$(PLATFORM)
-$(TARBALLS_LOCATION)/$(ARCHIVE):
- cd $(TARBALLS_LOCATION); $(RETRIEVE_TOOL) $(RETRIEVE_TOOL_FLAGS) $(BASE_URL)/$(ARCHIVE)
-$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE) $(DEPS)
+$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE).$(HASH_TYPE) $(DEPS)
rm -rf $(PLATFORM)/*; mkdir -p $(PLATFORM)
cd $(PLATFORM); $(ARCHIVE_TOOL) $(ARCHIVE_TOOL_FLAGS) $(TARBALLS_LOCATION)/$(ARCHIVE)
diff --git a/tools/depends/native/openssl/Makefile b/tools/depends/native/openssl/Makefile
new file mode 100644
index 0000000000..880fc7caa0
--- /dev/null
+++ b/tools/depends/native/openssl/Makefile
@@ -0,0 +1,54 @@
+include ../../Makefile.include
+PLATFORM=$(NATIVEPLATFORM)
+DEPS = ../../Makefile.include Makefile ../../download-files.include
+
+# lib name, version
+LIBNAME=openssl
+VERSION=1.1.1k
+SOURCE=$(LIBNAME)-$(VERSION)
+ARCHIVE=$(SOURCE).tar.gz
+SHA512=73cd042d4056585e5a9dd7ab68e7c7310a3a4c783eafa07ab0b560e7462b924e4376436a6d38a155c687f6942a881cfc0c1b9394afcde1d8c46bf396e7d51121
+include ../../download-files.include
+
+# configuration settings
+CONFIGURE=MACHINE=$(PLATFORM) ./config no-shared zlib no-asm --prefix=$(NATIVEPREFIX) --with-zlib-include=$(NATIVEPREFIX)/include --with-zlib-lib=$(NATIVEPREFIX)/lib
+
+ifeq ($(NATIVE_OS), osx)
+ ifeq ($(BUILD_CPU), x86_64)
+ CONFIGURE=./Configure darwin64-$(BUILD_CPU)-cc zlib no-asm no-shared --prefix=$(NATIVEPREFIX)
+ else
+ CONFIGURE=./Configure darwin64-arm64-cc zlib no-asm no-shared --prefix=$(NATIVEPREFIX)
+ endif
+endif
+
+CFLAGS=$(NATIVE_CFLAGS)
+LDFLAGS=$(NATIVE_LDFLAGS)
+CXXFLAGS=$(NATIVE_CXXFLAGS)
+CPPFLAGS=$(NATIVE_CPPFLAGS)
+
+export CFLAGS CPPFLAGS CXXFLAGS LDFLAGS
+
+LIBDYLIB=$(PLATFORM)/libssl.a
+
+all: .installed-$(PLATFORM)
+
+
+$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE).$(HASH_TYPE) $(DEPS)
+ rm -rf $(PLATFORM); mkdir -p $(PLATFORM)
+ cd $(PLATFORM); $(ARCHIVE_TOOL) $(ARCHIVE_TOOL_FLAGS) $(TARBALLS_LOCATION)/$(ARCHIVE)
+ cd $(PLATFORM); $(CONFIGURE)
+
+$(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)
diff --git a/tools/depends/native/pcre/Makefile b/tools/depends/native/pcre/Makefile
index 843cac58aa..c82ad0e461 100644
--- a/tools/depends/native/pcre/Makefile
+++ b/tools/depends/native/pcre/Makefile
@@ -1,13 +1,15 @@
include ../../Makefile.include
PREFIX=$(NATIVEPREFIX)
PLATFORM=$(NATIVEPLATFORM)
-DEPS= ../../Makefile.include Makefile
+DEPS = ../../Makefile.include Makefile ../../download-files.include
# lib name, version
LIBNAME=pcre
-VERSION=8.42
+VERSION=8.45
SOURCE=$(LIBNAME)-$(VERSION)
-ARCHIVE=$(SOURCE).tar.gz
+ARCHIVE=$(SOURCE).tar.bz2
+SHA512=91bff52eed4a2dfc3f3bfdc9c672b88e7e2ffcf3c4b121540af8a4ae8c1ce05178430aa6b8000658b9bb7b4252239357250890e20ceb84b79cdfcde05154061a
+include ../../download-files.include
# configuration settings
CONFIGURE=./configure --prefix=$(PREFIX) --disable-cpp \
@@ -20,10 +22,8 @@ LIBDYLIB=$(PLATFORM)/.libs/lib$(LIBNAME).so
all: .installed-$(PLATFORM)
-$(TARBALLS_LOCATION)/$(ARCHIVE):
- cd $(TARBALLS_LOCATION); $(RETRIEVE_TOOL) $(RETRIEVE_TOOL_FLAGS) $(BASE_URL)/$(ARCHIVE)
-$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE) $(DEPS)
+$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE).$(HASH_TYPE) $(DEPS)
rm -rf $(PLATFORM)/*; mkdir -p $(PLATFORM)
cd $(PLATFORM); $(ARCHIVE_TOOL) $(ARCHIVE_TOOL_FLAGS) $(TARBALLS_LOCATION)/$(ARCHIVE)
cd $(PLATFORM); $(CONFIGURE)
diff --git a/tools/depends/native/perlmodule-parseyapp/Makefile b/tools/depends/native/perlmodule-parseyapp/Makefile
new file mode 100644
index 0000000000..7708581804
--- /dev/null
+++ b/tools/depends/native/perlmodule-parseyapp/Makefile
@@ -0,0 +1,43 @@
+include ../../Makefile.include
+PREFIX=$(NATIVEPREFIX)
+PLATFORM=$(NATIVEPLATFORM)
+DEPS = ../../Makefile.include Makefile ../../download-files.include
+
+# lib name, version
+LIBNAME=Parse-Yapp
+VERSION=1.21
+SOURCE=$(LIBNAME)-$(VERSION)
+ARCHIVE=$(SOURCE).tar.gz
+SHA512=dbf6182d4813ff7e355ea1713c748bfdf8290040a93f123acec645c7a1733fe457ab6e0ab51c4ec83cf82bc43d7fb35cbf89875df7b5c2ffc9635e85458cfeee
+include ../../download-files.include
+
+# configuration settings
+CONFIGURE=./configure --prefix=$(PREFIX)
+
+# clear env vars in case already active on system
+export PERL_MB_OPT=
+export PERL_MM_OPT=
+
+LIBDYLIB=$(PLATFORM)/bin/autoconf
+
+all: .installed-$(PLATFORM)
+
+
+$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE).$(HASH_TYPE) $(DEPS)
+ -rm -rf $(PLATFORM)/*; mkdir -p $(PLATFORM)
+ cd $(PLATFORM); $(ARCHIVE_TOOL) $(ARCHIVE_TOOL_FLAGS) $(TARBALLS_LOCATION)/$(ARCHIVE)
+
+$(LIBDYLIB): $(PLATFORM)
+ cd $(PLATFORM); perl Makefile.PL PREFIX=$(NATIVEPREFIX)
+ cd $(PLATFORM); $(MAKE)
+
+.installed-$(PLATFORM): $(LIBDYLIB)
+ cd $(PLATFORM); $(MAKE) install
+ touch $@
+
+clean:
+ $(MAKE) -C $(PLATFORM) clean
+ rm -f .installed-$(PLATFORM)
+
+distclean::
+ rm -rf $(PLATFORM) .installed-$(PLATFORM)
diff --git a/tools/depends/native/pkg-config/Makefile b/tools/depends/native/pkg-config/Makefile
index e8ec747750..1ceee70aaf 100644
--- a/tools/depends/native/pkg-config/Makefile
+++ b/tools/depends/native/pkg-config/Makefile
@@ -1,7 +1,7 @@
include ../../Makefile.include
PREFIX=$(NATIVEPREFIX)
PLATFORM=$(NATIVEPLATFORM)
-DEPS= ../../Makefile.include Makefile
+DEPS = ../../Makefile.include Makefile ../../download-files.include
# lib name, version
# lib name, version
@@ -9,6 +9,8 @@ LIBNAME=pkg-config
VERSION=0.29.2
SOURCE=$(LIBNAME)-$(VERSION)
ARCHIVE=$(SOURCE).tar.gz
+SHA512=4861ec6428fead416f5cbbbb0bbad10b9152967e481d4b0ff2eb396a9f297f552984c9bb72f6864a37dcd8fca1d9ccceda3ef18d8f121938dbe4fdf2b870fe75
+include ../../download-files.include
PC_PATH=$(PREFIX)/lib/pkgconfig:$(PREFIX)/share/pkgconfig
ifeq ($(CROSS_COMPILING),no)
@@ -21,10 +23,8 @@ LIBDYLIB=$(PLATFORM)/pkg-config
all: .installed-$(PLATFORM)
-$(TARBALLS_LOCATION)/$(ARCHIVE):
- cd $(TARBALLS_LOCATION); $(RETRIEVE_TOOL) $(RETRIEVE_TOOL_FLAGS) $(BASE_URL)/$(ARCHIVE)
-$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE) $(DEPS)
+$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE).$(HASH_TYPE) $(DEPS)
-rm -rf $(PLATFORM)/*; mkdir -p $(PLATFORM)
cd $(PLATFORM); $(ARCHIVE_TOOL) $(ARCHIVE_TOOL_FLAGS) $(TARBALLS_LOCATION)/$(ARCHIVE)
cd $(PLATFORM); $(CONFIGURE)
diff --git a/tools/depends/native/pugixml/Makefile b/tools/depends/native/pugixml/Makefile
new file mode 100644
index 0000000000..26b0ff1d99
--- /dev/null
+++ b/tools/depends/native/pugixml/Makefile
@@ -0,0 +1,43 @@
+include ../../Makefile.include
+PREFIX=$(NATIVEPREFIX)
+PLATFORM=$(NATIVEPLATFORM)
+DEPS =../../Makefile.include Makefile ../../download-files.include
+
+# lib name, version
+LIBNAME=pugixml
+VERSION=1.10
+SOURCE=$(LIBNAME)-$(VERSION)
+ARCHIVE=$(SOURCE).tar.gz
+SHA512=bfc80661005d0a0fb82ca6d5299e5efdd1bb468e11ee52d7ee9367e15776d28efb60266ce03842715cd43aae023afc2b369797bb3cbecd6d6a65c3ae3903e469
+include ../../download-files.include
+
+LIBDYLIB=$(PLATFORM)/build/libpugixml.a
+
+CMAKE_OPTIONS := -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_INSTALL_PREFIX=$(NATIVEPREFIX) \
+ $(CMAKE_OPTIONS)
+
+BUILDDIR = $(PLATFORM)/build
+
+all: .installed-$(PLATFORM)
+
+
+$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE).$(HASH_TYPE) $(DEPS)
+ rm -rf $(PLATFORM)/*; mkdir -p $(PLATFORM)
+ cd $(PLATFORM); $(ARCHIVE_TOOL) $(ARCHIVE_TOOL_FLAGS) $(TARBALLS_LOCATION)/$(ARCHIVE)
+ mkdir -p $(BUILDDIR)
+ cd $(BUILDDIR); $(NATIVEPREFIX)/bin/cmake $(CMAKE_OPTIONS) ..
+
+$(LIBDYLIB): $(PLATFORM)
+ $(MAKE) -C $(BUILDDIR)
+
+.installed-$(PLATFORM): $(LIBDYLIB)
+ $(MAKE) -C $(BUILDDIR) install
+ touch $@
+
+clean:
+ $(MAKE) -C $(BUILDDIR) clean
+ rm -f .installed-$(PLATFORM)
+
+distclean:
+ rm -rf $(PLATFORM) .installed-$(PLATFORM)
diff --git a/tools/depends/native/python3/01-distutil-flags.patch b/tools/depends/native/python3/01-distutil-flags.patch
new file mode 100644
index 0000000000..fe83ebe333
--- /dev/null
+++ b/tools/depends/native/python3/01-distutil-flags.patch
@@ -0,0 +1,12 @@
+--- a/Lib/distutils/sysconfig.py
++++ b/Lib/distutils/sysconfig.py
+@@ -190,6 +190,9 @@
+ (cc, cxx, cflags, ccshared, ldshared, shlib_suffix, ar, ar_flags) = \
+ get_config_vars('CC', 'CXX', 'CFLAGS',
+ 'CCSHARED', 'LDSHARED', 'SHLIB_SUFFIX', 'AR', 'ARFLAGS')
++ # get_config_vars returns host vars. clear cflags, ldshared for crosscompile use
++ cflags = ""
++ ldshared = cc + " -shared"
+
+ if 'CC' in os.environ:
+ newcc = os.environ['CC']
diff --git a/tools/depends/native/python3/Makefile b/tools/depends/native/python3/Makefile
index 612ec89552..d46ec62e9b 100644
--- a/tools/depends/native/python3/Makefile
+++ b/tools/depends/native/python3/Makefile
@@ -1,43 +1,35 @@
-include ../../Makefile.include
+include ../../Makefile.include PYTHON3-VERSION ../../download-files.include
PLATFORM=$(NATIVEPLATFORM)
-DEPS= ../../Makefile.include Makefile
+DEPS = ../../Makefile.include Makefile PYTHON3-VERSION ../../download-files.include \
+ 01-distutil-flags.patch
-# lib name, version
-LIBNAME=Python
-VERSION=3.7.4
-SOURCE=$(LIBNAME)-$(VERSION)
-ARCHIVE=$(SOURCE).tar.xz
CWD=$(shell pwd)
HOSTPYTHONDIR=$(CWD)/$(PLATFORM)/hostpython
-BASE_URL=https://www.python.org/ftp/python/$(VERSION)
CONFIGURE=./configure --prefix=$(NATIVEPREFIX) --disable-shared --disable-framework --without-pymalloc --with-system-ffi
-ifeq ($(TARGET_PLATFORM),wayland)
+ifeq ($(OS),linux)
CONFIGURE += --with-system-expat
endif
LIBDYLIB=$(PLATFORM)/python
ifeq ($(NATIVE_OS), osx)
+ # Case insensitive FS will add .exe to buildexe regardless of --with-suffix=no
LIBDYLIB=$(PLATFORM)/python.exe
endif
all: .installed-$(PLATFORM)
-$(TARBALLS_LOCATION)/$(ARCHIVE):
- cd $(TARBALLS_LOCATION); $(RETRIEVE_TOOL) $(RETRIEVE_TOOL_FLAGS) $(BASE_URL)/$(ARCHIVE)
-
-$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE) $(DEPS)
+$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE).$(HASH_TYPE) $(DEPS)
rm -rf $(PLATFORM)/*; mkdir -p $(PLATFORM)
cd $(PLATFORM); $(ARCHIVE_TOOL) $(ARCHIVE_TOOL_FLAGS) $(TARBALLS_LOCATION)/$(ARCHIVE)
cd $(PLATFORM); $(CONFIGURE)
$(LIBDYLIB): $(PLATFORM)
- cd $(PLATFORM); $(MAKE) regen-grammar
cd $(PLATFORM); $(MAKE)
.installed-$(PLATFORM): $(LIBDYLIB)
+ cd $(PLATFORM); patch -p1 -i ../01-distutil-flags.patch
cd $(PLATFORM); $(MAKE) install
- install $(PLATFORM)/Parser/pgen $(NATIVEPREFIX)/bin
touch $(LIBDYLIB)
touch $@
diff --git a/tools/depends/native/python3/PYTHON3-VERSION b/tools/depends/native/python3/PYTHON3-VERSION
new file mode 100644
index 0000000000..5ebe12a1ab
--- /dev/null
+++ b/tools/depends/native/python3/PYTHON3-VERSION
@@ -0,0 +1,5 @@
+LIBNAME=Python
+VERSION=3.9.14
+SOURCE=$(LIBNAME)-$(VERSION)
+ARCHIVE=$(SOURCE).tar.xz
+SHA512=691a7814cf6c7bee96d8dbb7c5c85cb11f2e999101e20491b99435cdec07c3bbd5ce43ad3d9c64f695383b79197884caa1965c4346e4525e23b09c686271e4ab
diff --git a/tools/depends/native/setuptools/Makefile b/tools/depends/native/setuptools/Makefile
index 376a72e54a..7abfd1c33e 100644
--- a/tools/depends/native/setuptools/Makefile
+++ b/tools/depends/native/setuptools/Makefile
@@ -1,20 +1,20 @@
include ../../Makefile.include
PREFIX=$(NATIVEPREFIX)
PLATFORM=$(NATIVEPLATFORM)
-DEPS= ../../Makefile.include Makefile
+DEPS = ../../Makefile.include Makefile ../../download-files.include
# lib name, version
LIBNAME=setuptools
-VERSION=41.0.1
+VERSION=53.0.0
ARCHIVE=$(LIBNAME)-$(VERSION).tar.gz
+SHA512=d045198210f09c5f2acbd487d3dd291cd7ce814bebe331f1876c133cd28f56d368717c7bd4a875b439c9cc8c9488dc9a7d3e27ab791cce419f78b87fcfd8fff6
+include ../../download-files.include
all: .installed-$(PLATFORM)
-$(TARBALLS_LOCATION)/$(ARCHIVE):
- cd $(TARBALLS_LOCATION); $(RETRIEVE_TOOL) $(RETRIEVE_TOOL_FLAGS) $(BASE_URL)/$(ARCHIVE)
cd $(TARBALLS_LOCATION); chmod +x $(ARCHIVE)
-$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE) $(DEPS)
+$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE).$(HASH_TYPE) $(DEPS)
-rm -rf $(PLATFORM)/*; mkdir -p $(PLATFORM)
cd $(PLATFORM); $(ARCHIVE_TOOL) $(ARCHIVE_TOOL_FLAGS) $(TARBALLS_LOCATION)/$(ARCHIVE)
cd $(PLATFORM); $(PREFIX)/bin/python3 bootstrap.py
diff --git a/tools/depends/native/swig/Makefile b/tools/depends/native/swig/Makefile
index 991d4b19e5..edae65ef3a 100644
--- a/tools/depends/native/swig/Makefile
+++ b/tools/depends/native/swig/Makefile
@@ -2,13 +2,15 @@ include ../../Makefile.include
PREFIX=$(NATIVEPREFIX)
PLATFORM=$(NATIVEPLATFORM)
-DEPS= ../../Makefile.include Makefile
+DEPS = ../../Makefile.include Makefile ../../download-files.include
# lib name, version
LIBNAME=swig
-VERSION=4.0.0
+VERSION=4.0.2
SOURCE=$(LIBNAME)-$(VERSION)
ARCHIVE=$(SOURCE).tar.gz
+SHA512=05e7da70ce6d9a733b96c0bcfa3c1b82765bd859f48c74759bbf4bb1467acb1809caa310cba5e2b3280cd704fca249eaa0624821dffae1d2a75097c7f55d14ed
+include ../../download-files.include
# configuration settings
CONFIGURE=./configure --prefix=$(PREFIX) --without-alllang --without-x --disable-ccache
@@ -17,10 +19,8 @@ LIBDYLIB=$(PLATFORM)/swig
all: .installed-$(PLATFORM)
-$(TARBALLS_LOCATION)/$(ARCHIVE):
- cd $(TARBALLS_LOCATION); $(RETRIEVE_TOOL) $(RETRIEVE_TOOL_FLAGS) $(BASE_URL)/$(ARCHIVE)
-$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE) $(DEPS)
+$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE).$(HASH_TYPE) $(DEPS)
rm -rf $(PLATFORM)/*; mkdir -p $(PLATFORM)
cd $(PLATFORM); $(ARCHIVE_TOOL) $(ARCHIVE_TOOL_FLAGS) $(TARBALLS_LOCATION)/$(ARCHIVE)
cd $(PLATFORM); $(CONFIGURE)
diff --git a/tools/depends/native/tar/Makefile b/tools/depends/native/tar/Makefile
index 8ba0fc615b..2283577b75 100644
--- a/tools/depends/native/tar/Makefile
+++ b/tools/depends/native/tar/Makefile
@@ -1,24 +1,20 @@
include ../../Makefile.include
PREFIX=$(NATIVEPREFIX)
PLATFORM=$(NATIVEPLATFORM)
-DEPS= ../../Makefile.include Makefile
+DEPS = ../../Makefile.include Makefile ../../download-files.include
# app name, version
APPNAME=tar
-VERSION=1.32
+VERSION=1.34
SOURCE=$(APPNAME)-$(VERSION)
-ARCHIVE=$(SOURCE).tar.gz
+ARCHIVE=$(SOURCE).tar.xz
+SHA512=5e77c4a7b49983ad7d15238c2bce28be7a8aa437b4b1815fc00abd13096da308b6bba196cc6e3ed79d85e62823d520ae0d8fcda2d93873842cf84dc3369fc902
+include ../../download-files.include
-ifeq ($(NATIVE_OS),osx)
-# https://openradar.appspot.com/radar?id=6160634819379200
-PLATFORM_CONFIGURE=gl_cv_func_getcwd_abort_bug=no ac_cv_func_futimens=no ac_cv_func_utimensat=no
-endif
-
-export LIBTOOL=builds/unix/libtool
export PATH:=$(PREFIX)/bin:$(PATH)
CONFIGURE=./configure --prefix=$(PREFIX) \
--program-transform-name=s/tar/gtar/ \
- --disable-dependency-tracking ac_cv_func_fdopendir=no \
+ --disable-dependency-tracking \
$(PLATFORM_CONFIGURE)
APP=$(PLATFORM)/src/tar
@@ -26,10 +22,8 @@ APPBIN=$(PREFIX)/bin/tar
all: .installed-$(PLATFORM)
-$(TARBALLS_LOCATION)/$(ARCHIVE):
- cd $(TARBALLS_LOCATION); $(RETRIEVE_TOOL) $(RETRIEVE_TOOL_FLAGS) $(BASE_URL)/$(ARCHIVE)
-$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE) $(DEPS)
+$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE).$(HASH_TYPE) $(DEPS)
-rm -rf $(PLATFORM)/*; mkdir -p $(PLATFORM)
cd $(PLATFORM); $(ARCHIVE_TOOL) $(ARCHIVE_TOOL_FLAGS) $(TARBALLS_LOCATION)/$(ARCHIVE)
cd $(PLATFORM); $(AUTORECONF)
diff --git a/tools/depends/native/wayland-scanner/Makefile b/tools/depends/native/wayland-scanner/Makefile
index c4d96e2dd3..eb3581b976 100644
--- a/tools/depends/native/wayland-scanner/Makefile
+++ b/tools/depends/native/wayland-scanner/Makefile
@@ -1,13 +1,15 @@
include ../../Makefile.include
PREFIX=$(NATIVEPREFIX)
PLATFORM=$(NATIVEPLATFORM)
-DEPS=../../Makefile.include Makefile
+DEPS =../../Makefile.include Makefile ../../download-files.include
APPNAME=wayland-scanner
PROJECTNAME=wayland
-VERSION=1.13.0
+VERSION=1.17.0
SOURCE=$(PROJECTNAME)-$(VERSION)
ARCHIVE=$(SOURCE).tar.xz
+SHA512=c5051aab5ff078b368c196ecfedb33ccd961265bb914845d7ed81de361bb86ae18299575baa6c4eceb0d82cf8b495e8293f31b51d1cbc05d84af0a199ab3f946
+include ../../download-files.include
# configuration settings
CONFIGURE=./configure --prefix=$(PREFIX) --disable-libraries --disable-documentation --disable-dtd-validation
@@ -16,10 +18,8 @@ APP=$(PLATFORM)/wayland-scanner
all: .installed-$(PLATFORM)
-$(TARBALLS_LOCATION)/$(ARCHIVE):
- cd $(TARBALLS_LOCATION); $(RETRIEVE_TOOL) $(RETRIEVE_TOOL_FLAGS) $(BASE_URL)/$(ARCHIVE)
-$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE) $(DEPS)
+$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE).$(HASH_TYPE) $(DEPS)
rm -rf $(PLATFORM)/*; mkdir -p $(PLATFORM)
cd $(PLATFORM); $(ARCHIVE_TOOL) $(ARCHIVE_TOOL_FLAGS) $(TARBALLS_LOCATION)/$(ARCHIVE)
cd $(PLATFORM); $(CONFIGURE)
diff --git a/tools/depends/native/waylandpp-scanner/Makefile b/tools/depends/native/waylandpp-scanner/Makefile
index 4851815c2d..bf36073d6d 100644
--- a/tools/depends/native/waylandpp-scanner/Makefile
+++ b/tools/depends/native/waylandpp-scanner/Makefile
@@ -1,33 +1,36 @@
include ../../Makefile.include
PREFIX=$(NATIVEPREFIX)
PLATFORM=$(NATIVEPLATFORM)
-DEPS=../../Makefile.include Makefile
+DEPS =../../Makefile.include Makefile ../../download-files.include
# lib name, version
LIBNAME=waylandpp
-VERSION=0.2.2
+VERSION=0.2.8
SOURCE=$(LIBNAME)-$(VERSION)
ARCHIVE=$(SOURCE).tar.gz
+SHA512=bf1b8a9e69b87547fc65989b9eaff88a442d8b2f01f5446cef960000b093390b1e557536837fbf38bb6d9a4f93e3985ea34c3253f94925b0f571b4606c980832
+include ../../download-files.include
APP=$(PLATFORM)/wayland-scanner++
-# Only this package uses CMake for build on native at the moment,
-# so there is no separate toolchain file. Still we have to unset
-# the CMAKE_TOOLCHAIN_FILE, which is part of $(CMAKE) and set to
-# the target toolchain file.
-CMAKE_OPTIONS := -DCMAKE_TOOLCHAIN_FILE= -DBUILD_DOCUMENTATION=OFF -DBUILD_LIBRARIES=OFF -DBUILD_EXAMPLES=OFF -DBUILD_SCANNER=ON -DCMAKE_C_COMPILER="$(CC_BINARY_FOR_BUILD)" -DCMAKE_CXX_COMPILER="$(CXX_BINARY_FOR_BUILD)" -DCMAKE_C_FLAGS="$(NATIVE_CFLAGS)" -DCMAKE_CXX_FLAGS="$(NATIVE_CXXFLAGS)" -DCMAKE_EXE_LINKER_FLAGS="$(NATIVE_LDFLAGS)" -DCMAKE_INSTALL_LIBDIR=lib $(CMAKE_OPTIONS)
+CMAKE_OPTIONS := -DBUILD_DOCUMENTATION=OFF \
+ -DBUILD_LIBRARIES=OFF \
+ -DBUILD_EXAMPLES=OFF \
+ -DBUILD_SCANNER=ON \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_INSTALL_PREFIX=$(NATIVEPREFIX) \
+ $(CMAKE_OPTIONS)
+
BUILDDIR = $(PLATFORM)/build
all: .installed-$(PLATFORM)
-$(TARBALLS_LOCATION)/$(ARCHIVE):
- cd $(TARBALLS_LOCATION); $(RETRIEVE_TOOL) $(RETRIEVE_TOOL_FLAGS) $(BASE_URL)/$(ARCHIVE)
-$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE) $(DEPS)
+$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE).$(HASH_TYPE) $(DEPS)
rm -rf $(PLATFORM)/*; mkdir -p $(PLATFORM)
cd $(PLATFORM); $(ARCHIVE_TOOL) $(ARCHIVE_TOOL_FLAGS) $(TARBALLS_LOCATION)/$(ARCHIVE)
mkdir -p $(BUILDDIR)
- cd $(BUILDDIR); $(CMAKE) $(CMAKE_OPTIONS) ..
+ cd $(BUILDDIR); $(NATIVEPREFIX)/bin/cmake $(CMAKE_OPTIONS) ..
$(APP): $(PLATFORM)
$(MAKE) -C $(BUILDDIR)
diff --git a/tools/depends/native/xz/Makefile b/tools/depends/native/xz/Makefile
index 8d4cf2b6d2..e136ee3eaa 100644
--- a/tools/depends/native/xz/Makefile
+++ b/tools/depends/native/xz/Makefile
@@ -1,13 +1,7 @@
-include ../../Makefile.include
+include ../../Makefile.include XZ-VERSION ../../download-files.include
PREFIX=$(NATIVEPREFIX)
PLATFORM=$(NATIVEPLATFORM)
-DEPS= ../../Makefile.include Makefile
-
-# app name, version
-APPNAME=xz
-VERSION=5.2.4
-SOURCE=$(APPNAME)-$(VERSION)
-ARCHIVE=$(SOURCE).tar.bz2
+DEPS = ../../Makefile.include Makefile XZ-VERSION ../../download-files.include
export LIBTOOL=builds/unix/libtool
export PATH:=$(PREFIX)/bin:$(PATH)
@@ -17,10 +11,7 @@ APP=$(PLATFORM)/src/xz/xz
all: .installed-$(PLATFORM)
-$(TARBALLS_LOCATION)/$(ARCHIVE):
- cd $(TARBALLS_LOCATION); $(RETRIEVE_TOOL) $(RETRIEVE_TOOL_FLAGS) $(BASE_URL)/$(ARCHIVE)
-
-$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE) $(DEPS)
+$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE).$(HASH_TYPE) $(DEPS)
-rm -rf $(PLATFORM)/*; mkdir -p $(PLATFORM)
cd $(PLATFORM); $(ARCHIVE_TOOL) $(ARCHIVE_TOOL_FLAGS) $(TARBALLS_LOCATION)/$(ARCHIVE)
cd $(PLATFORM); $(CONFIGURE)
diff --git a/tools/depends/native/xz/XZ-VERSION b/tools/depends/native/xz/XZ-VERSION
new file mode 100644
index 0000000000..288df10b58
--- /dev/null
+++ b/tools/depends/native/xz/XZ-VERSION
@@ -0,0 +1,4 @@
+LIBNAME=xz
+VERSION=5.2.6
+ARCHIVE=$(LIBNAME)-$(VERSION).tar.xz
+SHA512=5c69a492227c0ff72836d7a87e6372dc2e62bedfffb33f057263e28a6341825cef67834a863ed6ac02c5368c86da89f8affbe767f8bb914064cfa478f653e935
diff --git a/tools/depends/native/zlib/Makefile b/tools/depends/native/zlib/Makefile
index af84c6528b..86404b5ebb 100644
--- a/tools/depends/native/zlib/Makefile
+++ b/tools/depends/native/zlib/Makefile
@@ -1,24 +1,24 @@
include ../../Makefile.include
PREFIX=$(NATIVEPREFIX)
PLATFORM=$(NATIVEPLATFORM)
-DEPS= ../../Makefile.include Makefile visibility.patch
+DEPS = ../../Makefile.include Makefile visibility.patch ../../download-files.include
# lib name, version
LIBNAME=zlib
VERSION=1.2.11
SOURCE=$(LIBNAME)-$(VERSION)
ARCHIVE=$(SOURCE).tar.gz
+SHA512=73fd3fff4adeccd4894084c15ddac89890cd10ef105dd5e1835e1e9bbb6a49ff229713bd197d203edfa17c2727700fce65a2a235f07568212d820dca88b528ae
+include ../../download-files.include
# configuration settings
-CONFIGURE= CC="$(CC_FOR_BUILD)" CFLAGS="$(BUILD_CFLAGS)" ./configure --prefix=$(PREFIX)
+CONFIGURE= CC="$(CC_FOR_BUILD)" CFLAGS="$(NATIVE_CFLAGS)" ./configure --prefix=$(PREFIX)
LIBDYLIB=$(PLATFORM)/$(LIBNAME).a
all: .installed-$(PLATFORM)
-$(TARBALLS_LOCATION)/$(ARCHIVE):
- cd $(TARBALLS_LOCATION); $(RETRIEVE_TOOL) $(RETRIEVE_TOOL_FLAGS) $(BASE_URL)/$(ARCHIVE)
-$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE) $(DEPS)
+$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE).$(HASH_TYPE) $(DEPS)
rm -rf $(PLATFORM); mkdir -p $(PLATFORM)
cd $(PLATFORM); $(ARCHIVE_TOOL) $(ARCHIVE_TOOL_FLAGS) $(TARBALLS_LOCATION)/$(ARCHIVE)
cd $(PLATFORM); patch -p1 -i ../visibility.patch
diff --git a/tools/depends/pre-depends/autoconf-pre-depends/Makefile b/tools/depends/pre-depends/autoconf-pre-depends/Makefile
index 69bb8e107a..23feab1358 100644
--- a/tools/depends/pre-depends/autoconf-pre-depends/Makefile
+++ b/tools/depends/pre-depends/autoconf-pre-depends/Makefile
@@ -6,9 +6,9 @@ RETRIEVE_TOOL=curl
ARCHIVE_TOOL=tar
# lib name, version
LIBNAME=autoconf
-VERSION=2.68
+VERSION=2.71
SOURCE=$(LIBNAME)-$(VERSION)
-ARCHIVE=$(SOURCE).tar.gz
+ARCHIVE=$(SOURCE).tar.xz
export PATH:=$(CURDIR)/../../pre-build-deps/bin:$(PATH)
diff --git a/tools/depends/pre-depends/m4-pre-depends/Makefile b/tools/depends/pre-depends/m4-pre-depends/Makefile
index a57a5f4938..fa60e3755a 100644
--- a/tools/depends/pre-depends/m4-pre-depends/Makefile
+++ b/tools/depends/pre-depends/m4-pre-depends/Makefile
@@ -1,5 +1,5 @@
include ../../Makefile.include.in
-DEPS=Makefile osx_snprintf.patch
+DEPS=Makefile
PREFIX=$(CURDIR)/../../pre-build-deps
PLATFORM=native
TARBALLS_LOCATION=$(PREFIX)
@@ -7,9 +7,9 @@ RETRIEVE_TOOL=curl
ARCHIVE_TOOL=tar
# lib name, version
LIBNAME=m4
-VERSION=1.4.18
+VERSION=1.4.19
SOURCE=$(LIBNAME)-$(VERSION)
-ARCHIVE=$(SOURCE).tar.gz
+ARCHIVE=$(SOURCE).tar.xz
# configuration settings
CONFIGURE=./configure --prefix=$(PREFIX)
@@ -25,7 +25,6 @@ $(TARBALLS_LOCATION)/$(ARCHIVE):
$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE) $(DEPS)
-rm -rf $(PLATFORM)/*; mkdir -p $(PLATFORM)
cd $(PLATFORM); $(ARCHIVE_TOOL) $(ARCHIVE_TOOL_FLAGS) $(TARBALLS_LOCATION)/$(ARCHIVE)
- cd $(PLATFORM); patch -p1 -i ../osx_snprintf.patch
cd $(PLATFORM); $(CONFIGURE)
$(LIBDYLIB): $(PLATFORM)
diff --git a/tools/depends/pre-depends/m4-pre-depends/osx_snprintf.patch b/tools/depends/pre-depends/m4-pre-depends/osx_snprintf.patch
deleted file mode 100644
index af1c470ca6..0000000000
--- a/tools/depends/pre-depends/m4-pre-depends/osx_snprintf.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- a/lib/vasnprintf.c
-+++ b/lib/vasnprintf.c
-@@ -4858,7 +4858,7 @@
- #endif
- *fbp = dp->conversion;
- #if USE_SNPRINTF
--# if !(((__GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 3)) && !defined __UCLIBC__) || ((defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__))
-+# if !(((__GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 3)) && !defined __UCLIBC__) || (defined __APPLE__ && defined __MACH__) || ((defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__))
- fbp[1] = '%';
- fbp[2] = 'n';
- fbp[3] = '\0';
diff --git a/tools/depends/target/Makefile b/tools/depends/target/Makefile
index 8b513ed100..243479fdf9 100644
--- a/tools/depends/target/Makefile
+++ b/tools/depends/target/Makefile
@@ -4,21 +4,51 @@ ifneq ($(shell test -f $(PREFIX)/share/config.site && echo 1),1)
$(error Error: $(PREFIX)/share/config.site is missing. Please reconfigure depends to generate it)
endif
+# Keep in alphabetical order
DEPENDS = \
- pcre expat gettext sqlite3 libgpg-error \
- libgcrypt bzip2 libfstrcmp liblzo2 libzip freetype2 fontconfig \
- openssl gmp nettle gnutls curl nghttp2 \
- libjpeg-turbo libpng fribidi libass \
- libxml2 rapidjson libmicrohttpd mariadb libffi \
- python3 libshairplay libfmt \
- libplist libcec libbluray tinyxml \
- taglib libusb libnfs \
- pythonmodule-pil pythonmodule-pycryptodome pythonmodule-setuptools \
- libxslt ffmpeg crossguid \
- libdvdread libdvdnav libdvdcss p8-platform flatbuffers
-
-
-FFMPEG_DEPENDS = gnutls
+ bzip2 \
+ curl \
+ dav1d \
+ expat \
+ ffmpeg \
+ fontconfig \
+ freetype2 \
+ freetype2-noharfbuzz \
+ fribidi \
+ fstrcmp \
+ gettext \
+ gmp \
+ gnutls \
+ gtest \
+ harfbuzz \
+ libass \
+ libbluray \
+ libcec \
+ libffi \
+ libgcrypt \
+ libgpg-error \
+ libjpeg-turbo \
+ liblzo2 \
+ libmicrohttpd \
+ libplist \
+ libpng \
+ libshairplay \
+ libusb \
+ libxml2 \
+ libxslt \
+ mariadb \
+ nettle \
+ nghttp2 \
+ openssl \
+ p8-platform \
+ python3 \
+ pythonmodule-pil \
+ pythonmodule-pycryptodome \
+ pythonmodule-setuptools \
+ sqlite3 \
+ tinyxml \
+ udfread \
+ xz
ifeq ($(ENABLE_GPLV3),yes)
DEPENDS+=samba-gplv3 libcdio-gplv3
@@ -27,22 +57,26 @@ else
endif
ifeq ($(OS),darwin_embedded)
- EXCLUDED_DEPENDS = libcec libusb
+ EXCLUDED_DEPENDS = libcec libusb gtest
ifeq ($(TARGET_PLATFORM),appletvos)
DEPENDS += boblight
EXCLUDED_DEPENDS += libshairplay libplist
endif
- DEPENDS += iosentitlements
+ DEPENDS += darwin-embedded-entitlements
endif
ifeq ($(OS),osx)
- DEPENDS += libsdl
EXCLUDED_DEPENDS = libusb
+ ifneq ($(CPU),arm64)
+ ifeq ($(WINDOW_SYSTEM),sdl)
+ DEPENDS += libsdl
+ endif
+ endif
endif
ifeq ($(OS),android)
- EXCLUDED_DEPENDS = libcec libusb
- DEPENDS += dummy-libxbmc libuuid libandroidjni
+ EXCLUDED_DEPENDS = libcec libusb gtest
+ DEPENDS += dummy-libxbmc libuuid
PYMODULE_DEPS = dummy-libxbmc
LIBUUID = libuuid
endif
@@ -61,64 +95,74 @@ ifeq ($(NEED_LIBICONV),1)
ICONV = libiconv
endif
-WAYLANDPP_DEPS=
ALSA_LIB=
ifeq ($(OS),linux)
- DEPENDS += dbus libuuid
- #not for raspberry pi
- ifneq ($(TARGET_PLATFORM),raspberry-pi)
- DEPENDS += linux-system-libs
- WAYLANDPP_DEPS += linux-system-libs
- endif
- DEPENDS += alsa-lib
+ DEPENDS += dbus libuuid alsa-lib libdrm libxkbcommon libinput libudev libevdev mtdev wayland waylandpp wayland-protocols linux-system-x11-libs
ALSA_LIB = alsa-lib
LIBUUID = libuuid
- ifeq ($(TARGET_PLATFORM),$(filter $(TARGET_PLATFORM),raspberry-pi gbm))
- DEPENDS += libxkbcommon libinput libudev libevdev mtdev
+
+ ifeq ($(RENDER_SYSTEM),gl)
+ WAYLANDPP_DEPS += linux-system-gl-libs
+ DEPENDS += linux-system-gl-libs
+ else
+ WAYLANDPP_DEPS += mesa
+ DEPENDS += mesa
endif
-endif
-ifeq ($(TARGET_PLATFORM),wayland)
- DEPENDS += wayland waylandpp wayland-protocols
+ MESA_DEPS += wayland-protocols wayland linux-system-x11-libs
+
+ ifeq ($(CPU),x86_64)
+ LIBVA_DEPS += wayland linux-system-x11-libs
+
+ DEPENDS += libva
+ LIBVA = libva
+ endif
endif
.PHONY: $(DEPENDS)
all: .installed-$(PLATFORM)
+crossguid: $(LIBUUID)
+curl: openssl nghttp2
+dav1d: meson-cross-file
+dbus: expat
+ffmpeg: $(ICONV) $(ZLIB) bzip2 gnutls dav1d $(LIBVA)
+fontconfig: freetype2 expat $(ICONV) $(LIBUUID) meson-cross-file
+freetype2: bzip2 harfbuzz $(ZLIB)
+fribidi: meson-cross-file
gettext: $(ICONV)
+gnutls: nettle $(ZLIB)
+harfbuzz: meson-cross-file freetype2-noharfbuzz $(ICONV)
+libass: fontconfig fribidi harfbuzz libpng freetype2 expat $(ICONV)
+libbluray: fontconfig freetype2 $(ICONV) udfread libxml2
+libcdio-gplv3: $(ICONV)
+libcdio: $(ICONV)
+libcec: p8-platform
+libdrm: meson-cross-file
+libevdev: libudev
libgcrypt: libgpg-error
-fontconfig: freetype2 expat $(ICONV) $(LIBUUID)
-curl: openssl nghttp2
-libass: fontconfig fribidi libpng freetype2 expat $(ICONV)
+libinput: mtdev libevdev meson-cross-file
libmicrohttpd: gnutls libgcrypt libgpg-error
-python3: expat gettext libxml2 sqlite3 openssl libffi
-libcdio: $(ICONV)
-libcdio-gplv3: $(ICONV)
libplist: $(ZLIB)
-libbluray: fontconfig freetype2 $(ICONV) libxml2
-mariadb: openssl $(ICONV) $(ZLIB)
-libzip: $(ZLIB)
libpng: $(ZLIB)
-openssl: $(ZLIB)
-gnutls: nettle $(ZLIB)
+libva: libdrm $(LIBVA_DEPS)
+libxml2: $(ZLIB)
+libxslt: libgcrypt libxml2
+libzip: bzip2 gnutls $(ZLIB)
+mariadb: openssl $(ICONV) $(ZLIB)
+mesa: libdrm meson-cross-file $(MESA_DEPS)
nettle: gmp
-pythonmodule-pycryptodome: $(PYMODULE_DEPS) python3 pythonmodule-setuptools
+openssl: $(ZLIB)
+python3: expat gettext libxml2 sqlite3 openssl libffi bzip2 xz
pythonmodule-pil: bzip2 $(PYMODULE_DEPS) $(ZLIB) libjpeg-turbo libpng freetype2 python3 pythonmodule-setuptools
+pythonmodule-pycryptodome: $(PYMODULE_DEPS) python3 pythonmodule-setuptools
pythonmodule-setuptools: $(PYMODULE_DEPS) python3
-libxslt: libgcrypt libxml2
-ffmpeg: $(ICONV) $(ZLIB) bzip2 $(FFMPEG_DEPENDS)
-libcec: p8-platform
-crossguid: $(LIBUUID)
-libdvdnav: libdvdread
-libdvdread: libdvdcss
+samba-gplv3: gnutls $(ZLIB)
+taglib: $(ZLIB)
wayland: expat libffi
waylandpp: wayland $(WAYLANDPP_DEPS)
-dbus: expat
-libinput: mtdev libevdev
-libevdev: libudev
-samba-gplv3: gnutls
-taglib: $(ZLIB)
+xz: gettext
.installed-$(PLATFORM): $(DEPENDS)
touch $@
@@ -143,44 +187,66 @@ test-dependencies:
distclean::
for d in $(DEPENDS); do $(MAKE) -C $$d distclean; done
-linux-system-libs-egl:
- [ -f $(PREFIX)/lib/pkgconfig/egl.pc ] || ln -sf /usr/lib/$(HOST)/pkgconfig/egl.pc $(PREFIX)/lib/pkgconfig/egl.pc
- [ -f $(PREFIX)/lib/pkgconfig/wayland-egl.pc ] || ln -sf /usr/lib/$(HOST)/pkgconfig/wayland-egl.pc $(PREFIX)/lib/pkgconfig/wayland-egl.pc
+HOST_LIB_PKGCONFIG := $(firstword $(wildcard /usr/lib64/pkgconfig /usr/lib/$(HOST)/pkgconfig))
+
+linux-system-x11-libs:
+ mkdir -p $(PREFIX)/lib/pkgconfig
[ -f $(PREFIX)/lib/pkgconfig/damageproto.pc ] || ln -sf /usr/share/pkgconfig/damageproto.pc $(PREFIX)/lib/pkgconfig/damageproto.pc
[ -f $(PREFIX)/lib/pkgconfig/fixesproto.pc ] || ln -sf /usr/share/pkgconfig/fixesproto.pc $(PREFIX)/lib/pkgconfig/fixesproto.pc
- [ -f $(PREFIX)/lib/pkgconfig/x11-xcb.pc ] || ln -sf /usr/lib/$(HOST)/pkgconfig/x11-xcb.pc $(PREFIX)/lib/pkgconfig/x11-xcb.pc
- [ -f $(PREFIX)/lib/pkgconfig/xcb-dri2.pc ] || ln -sf /usr/lib/$(HOST)/pkgconfig/xcb-dri2.pc $(PREFIX)/lib/pkgconfig/xcb-dri2.pc
- [ -f $(PREFIX)/lib/pkgconfig/xcb-dri3.pc ] || ln -sf /usr/lib/$(HOST)/pkgconfig/xcb-dri3.pc $(PREFIX)/lib/pkgconfig/xcb-dri3.pc
- [ -f $(PREFIX)/lib/pkgconfig/xcb-glx.pc ] || ln -sf /usr/lib/$(HOST)/pkgconfig/xcb-glx.pc $(PREFIX)/lib/pkgconfig/xcb-glx.pc
- [ -f $(PREFIX)/lib/pkgconfig/xcb-xfixes.pc ] || ln -sf /usr/lib/$(HOST)/pkgconfig/xcb-xfixes.pc $(PREFIX)/lib/pkgconfig/xcb-xfixes.pc
- [ -f $(PREFIX)/lib/pkgconfig/xcb-present.pc ] || ln -sf /usr/lib/$(HOST)/pkgconfig/xcb-present.pc $(PREFIX)/lib/pkgconfig/xcb-present.pc
- [ -f $(PREFIX)/lib/pkgconfig/xcb-randr.pc ] || ln -sf /usr/lib/$(HOST)/pkgconfig/xcb-randr.pc $(PREFIX)/lib/pkgconfig/xcb-randr.pc
- [ -f $(PREFIX)/lib/pkgconfig/xcb-render.pc ] || ln -sf /usr/lib/$(HOST)/pkgconfig/xcb-render.pc $(PREFIX)/lib/pkgconfig/xcb-render.pc
- [ -f $(PREFIX)/lib/pkgconfig/xcb-shape.pc ] || ln -sf /usr/lib/$(HOST)/pkgconfig/xcb-shape.pc $(PREFIX)/lib/pkgconfig/xcb-shape.pc
- [ -f $(PREFIX)/lib/pkgconfig/xcb-sync.pc ] || ln -sf /usr/lib/$(HOST)/pkgconfig/xcb-sync.pc $(PREFIX)/lib/pkgconfig/xcb-sync.pc
- [ -f $(PREFIX)/lib/pkgconfig/xdamage.pc ] || ln -sf /usr/lib/$(HOST)/pkgconfig/xdamage.pc $(PREFIX)/lib/pkgconfig/xdamage.pc
+ [ -f $(PREFIX)/lib/pkgconfig/x11-xcb.pc ] || ln -sf $(HOST_LIB_PKGCONFIG)/x11-xcb.pc $(PREFIX)/lib/pkgconfig/x11-xcb.pc
+ [ -f $(PREFIX)/lib/pkgconfig/xcb-dri2.pc ] || ln -sf $(HOST_LIB_PKGCONFIG)/xcb-dri2.pc $(PREFIX)/lib/pkgconfig/xcb-dri2.pc
+ [ -f $(PREFIX)/lib/pkgconfig/xcb-dri3.pc ] || ln -sf $(HOST_LIB_PKGCONFIG)/xcb-dri3.pc $(PREFIX)/lib/pkgconfig/xcb-dri3.pc
+ [ -f $(PREFIX)/lib/pkgconfig/xcb-glx.pc ] || ln -sf $(HOST_LIB_PKGCONFIG)/xcb-glx.pc $(PREFIX)/lib/pkgconfig/xcb-glx.pc
+ [ -f $(PREFIX)/lib/pkgconfig/xcb-xfixes.pc ] || ln -sf $(HOST_LIB_PKGCONFIG)/xcb-xfixes.pc $(PREFIX)/lib/pkgconfig/xcb-xfixes.pc
+ [ -f $(PREFIX)/lib/pkgconfig/xcb-present.pc ] || ln -sf $(HOST_LIB_PKGCONFIG)/xcb-present.pc $(PREFIX)/lib/pkgconfig/xcb-present.pc
+ [ -f $(PREFIX)/lib/pkgconfig/xcb-randr.pc ] || ln -sf $(HOST_LIB_PKGCONFIG)/xcb-randr.pc $(PREFIX)/lib/pkgconfig/xcb-randr.pc
+ [ -f $(PREFIX)/lib/pkgconfig/xcb-render.pc ] || ln -sf $(HOST_LIB_PKGCONFIG)/xcb-render.pc $(PREFIX)/lib/pkgconfig/xcb-render.pc
+ [ -f $(PREFIX)/lib/pkgconfig/xcb-shape.pc ] || ln -sf $(HOST_LIB_PKGCONFIG)/xcb-shape.pc $(PREFIX)/lib/pkgconfig/xcb-shape.pc
+ [ -f $(PREFIX)/lib/pkgconfig/xcb-sync.pc ] || ln -sf $(HOST_LIB_PKGCONFIG)/xcb-sync.pc $(PREFIX)/lib/pkgconfig/xcb-sync.pc
+ [ -f $(PREFIX)/lib/pkgconfig/xdamage.pc ] || ln -sf $(HOST_LIB_PKGCONFIG)/xdamage.pc $(PREFIX)/lib/pkgconfig/xdamage.pc
[ -f $(PREFIX)/lib/pkgconfig/xf86vidmodeproto.pc ] || ln -sf /usr/share/pkgconfig/xf86vidmodeproto.pc $(PREFIX)/lib/pkgconfig/xf86vidmodeproto.pc
- [ -f $(PREFIX)/lib/pkgconfig/xfixes.pc ] || ln -sf /usr/lib/$(HOST)/pkgconfig/xfixes.pc $(PREFIX)/lib/pkgconfig/xfixes.pc
- [ -f $(PREFIX)/lib/pkgconfig/xshmfence.pc ] || ln -sf /usr/lib/$(HOST)/pkgconfig/xshmfence.pc $(PREFIX)/lib/pkgconfig/xshmfence.pc
- [ -f $(PREFIX)/lib/pkgconfig/xxf86vm.pc ] || ln -sf /usr/lib/$(HOST)/pkgconfig/xxf86vm.pc $(PREFIX)/lib/pkgconfig/xxf86vm.pc
-
-linux-system-libs: linux-system-libs-egl
- [ -f $(PREFIX)/lib/pkgconfig/x11.pc ] || ln -sf /usr/lib/$(HOST)/pkgconfig/x11.pc $(PREFIX)/lib/pkgconfig/x11.pc
+ [ -f $(PREFIX)/lib/pkgconfig/xfixes.pc ] || ln -sf $(HOST_LIB_PKGCONFIG)/xfixes.pc $(PREFIX)/lib/pkgconfig/xfixes.pc
+ [ -f $(PREFIX)/lib/pkgconfig/xshmfence.pc ] || ln -sf $(HOST_LIB_PKGCONFIG)/xshmfence.pc $(PREFIX)/lib/pkgconfig/xshmfence.pc
+ [ -f $(PREFIX)/lib/pkgconfig/xxf86vm.pc ] || ln -sf $(HOST_LIB_PKGCONFIG)/xxf86vm.pc $(PREFIX)/lib/pkgconfig/xxf86vm.pc
+ [ -f $(PREFIX)/lib/pkgconfig/x11.pc ] || ln -sf $(HOST_LIB_PKGCONFIG)/x11.pc $(PREFIX)/lib/pkgconfig/x11.pc
[ -f $(PREFIX)/lib/pkgconfig/xproto.pc ] || ln -sf /usr/share/pkgconfig/xproto.pc $(PREFIX)/lib/pkgconfig/xproto.pc
[ -f $(PREFIX)/lib/pkgconfig/kbproto.pc ] || ln -sf /usr/share/pkgconfig/kbproto.pc $(PREFIX)/lib/pkgconfig/kbproto.pc
- [ -f $(PREFIX)/lib/pkgconfig/xcb.pc ] || ln -sf /usr/lib/$(HOST)/pkgconfig/xcb.pc $(PREFIX)/lib/pkgconfig/xcb.pc
- [ -f $(PREFIX)/lib/pkgconfig/pthread-stubs.pc ] || ln -sf /usr/lib/$(HOST)/pkgconfig/pthread-stubs.pc $(PREFIX)/lib/pkgconfig/pthread-stubs.pc
- [ -f $(PREFIX)/lib/pkgconfig/xau.pc ] || ln -sf /usr/lib/$(HOST)/pkgconfig/xau.pc $(PREFIX)/lib/pkgconfig/xau.pc
- [ -f $(PREFIX)/lib/pkgconfig/xdmcp.pc ] || ln -sf /usr/lib/$(HOST)/pkgconfig/xdmcp.pc $(PREFIX)/lib/pkgconfig/xdmcp.pc
- [ -f $(PREFIX)/lib/pkgconfig/xext.pc ] || ln -sf /usr/lib/$(HOST)/pkgconfig/xext.pc $(PREFIX)/lib/pkgconfig/xext.pc
+ [ -f $(PREFIX)/lib/pkgconfig/xcb.pc ] || ln -sf $(HOST_LIB_PKGCONFIG)/xcb.pc $(PREFIX)/lib/pkgconfig/xcb.pc
+ [ -f $(PREFIX)/lib/pkgconfig/pthread-stubs.pc ] || ln -sf $(HOST_LIB_PKGCONFIG)/pthread-stubs.pc $(PREFIX)/lib/pkgconfig/pthread-stubs.pc
+ [ -f $(PREFIX)/lib/pkgconfig/xau.pc ] || ln -sf $(HOST_LIB_PKGCONFIG)/xau.pc $(PREFIX)/lib/pkgconfig/xau.pc
+ [ -f $(PREFIX)/lib/pkgconfig/xdmcp.pc ] || ln -sf $(HOST_LIB_PKGCONFIG)/xdmcp.pc $(PREFIX)/lib/pkgconfig/xdmcp.pc
+ [ -f $(PREFIX)/lib/pkgconfig/xext.pc ] || ln -sf $(HOST_LIB_PKGCONFIG)/xext.pc $(PREFIX)/lib/pkgconfig/xext.pc
[ -f $(PREFIX)/lib/pkgconfig/xextproto.pc ] || ln -sf /usr/share/pkgconfig/xextproto.pc $(PREFIX)/lib/pkgconfig/xextproto.pc
- [ -f $(PREFIX)/lib/pkgconfig/xrandr.pc ] || ln -sf /usr/lib/$(HOST)/pkgconfig/xrandr.pc $(PREFIX)/lib/pkgconfig/xrandr.pc
- [ -f $(PREFIX)/lib/pkgconfig/xrender.pc ] || ln -sf /usr/lib/$(HOST)/pkgconfig/xrender.pc $(PREFIX)/lib/pkgconfig/xrender.pc
+ [ -f $(PREFIX)/lib/pkgconfig/xrandr.pc ] || ln -sf $(HOST_LIB_PKGCONFIG)/xrandr.pc $(PREFIX)/lib/pkgconfig/xrandr.pc
+ [ -f $(PREFIX)/lib/pkgconfig/xrender.pc ] || ln -sf $(HOST_LIB_PKGCONFIG)/xrender.pc $(PREFIX)/lib/pkgconfig/xrender.pc
[ -f $(PREFIX)/lib/pkgconfig/randrproto.pc ] || ln -sf /usr/share/pkgconfig/randrproto.pc $(PREFIX)/lib/pkgconfig/randrproto.pc
[ -f $(PREFIX)/lib/pkgconfig/renderproto.pc ] || ln -sf /usr/share/pkgconfig/renderproto.pc $(PREFIX)/lib/pkgconfig/renderproto.pc
- [ -f $(PREFIX)/lib/pkgconfig/xt.pc ] || ln -sf /usr/lib/$(HOST)/pkgconfig/xt.pc $(PREFIX)/lib/pkgconfig/xt.pc
- [ -f $(PREFIX)/lib/pkgconfig/ice.pc ] || ln -sf /usr/lib/$(HOST)/pkgconfig/ice.pc $(PREFIX)/lib/pkgconfig/ice.pc
- [ -f $(PREFIX)/lib/pkgconfig/sm.pc ] || ln -sf /usr/lib/$(HOST)/pkgconfig/sm.pc $(PREFIX)/lib/pkgconfig/sm.pc
- [ -f $(PREFIX)/lib/pkgconfig/xmu.pc ] || ln -sf /usr/lib/$(HOST)/pkgconfig/xmu.pc $(PREFIX)/lib/pkgconfig/xmu.pc
- [ -f $(PREFIX)/lib/pkgconfig/libdrm.pc ] || ln -sf /usr/lib/$(HOST)/pkgconfig/libdrm.pc $(PREFIX)/lib/pkgconfig/libdrm.pc
- [ -f $(PREFIX)/lib/pkgconfig/xkbcommon.pc ] || ln -sf /usr/lib/$(HOST)/pkgconfig/xkbcommon.pc $(PREFIX)/lib/pkgconfig/xkbcommon.pc
+ [ -f $(PREFIX)/lib/pkgconfig/xt.pc ] || ln -sf $(HOST_LIB_PKGCONFIG)/xt.pc $(PREFIX)/lib/pkgconfig/xt.pc
+ [ -f $(PREFIX)/lib/pkgconfig/ice.pc ] || ln -sf $(HOST_LIB_PKGCONFIG)/ice.pc $(PREFIX)/lib/pkgconfig/ice.pc
+ [ -f $(PREFIX)/lib/pkgconfig/sm.pc ] || ln -sf $(HOST_LIB_PKGCONFIG)/sm.pc $(PREFIX)/lib/pkgconfig/sm.pc
+ [ -f $(PREFIX)/lib/pkgconfig/xmu.pc ] || ln -sf $(HOST_LIB_PKGCONFIG)/xmu.pc $(PREFIX)/lib/pkgconfig/xmu.pc
+
+linux-system-gl-libs:
+ mkdir -p $(PREFIX)/lib/pkgconfig
+ [ -f $(PREFIX)/lib/pkgconfig/egl.pc ] || ln -sf $(HOST_LIB_PKGCONFIG)/egl.pc $(PREFIX)/lib/pkgconfig/egl.pc
+ [ -f $(PREFIX)/lib/pkgconfig/wayland-egl.pc ] || ln -sf $(HOST_LIB_PKGCONFIG)/wayland-egl.pc $(PREFIX)/lib/pkgconfig/wayland-egl.pc
+ [ -f $(PREFIX)/lib/pkgconfig/gl.pc ] || ln -sf $(HOST_LIB_PKGCONFIG)/gl.pc $(PREFIX)/lib/pkgconfig/gl.pc
+ [ -f $(PREFIX)/lib/pkgconfig/glu.pc ] || ln -sf $(HOST_LIB_PKGCONFIG)/glu.pc $(PREFIX)/lib/pkgconfig/glu.pc
+
+$(PREFIX)/share/cross-file.meson:
+ PREFIX="$(PREFIX)" \
+ NATIVEPREFIX="$(NATIVEPREFIX)" \
+ CC="$(CC)" \
+ CXX="$(CXX)" \
+ AR="$(AR)" \
+ STRIP="$(STRIP)" \
+ MESON_SYSTEM="$(MESON_SYSTEM)" \
+ MESON_CPU="$(MESON_CPU)" \
+ CPU="$(CPU)" \
+ CFLAGS="$(CFLAGS)" \
+ CXXFLAGS="$(CXXFLAGS)" \
+ LDFLAGS="$(LDFLAGS)" \
+ ./meson-cross-setup.sh $@
+
+.PHONY: meson-cross-file
+meson-cross-file: $(PREFIX)/share/cross-file.meson
diff --git a/tools/depends/target/Toolchain.cmake.in b/tools/depends/target/Toolchain.cmake.in
index df2338075b..edc914e423 100644
--- a/tools/depends/target/Toolchain.cmake.in
+++ b/tools/depends/target/Toolchain.cmake.in
@@ -1,7 +1,10 @@
set(DEPENDS_PATH "@prefix@/@deps_dir@")
set(NATIVEPREFIX "@prefix@/@tool_dir@")
+set(TARBALL_DIR "@use_tarballs@")
+
set(OS "@platform_os@")
+set(CMAKE_SYSTEM_PROCESSOR @host_cpu@)
set(CPU "@use_cpu@")
set(PLATFORM "@target_platform@")
@@ -9,23 +12,8 @@ set(PLATFORM "@target_platform@")
if(OS STREQUAL linux)
set(CMAKE_SYSTEM_NAME Linux)
set(CORE_SYSTEM_NAME linux)
- if(PLATFORM STREQUAL raspberry-pi)
- set(CORE_PLATFORM_NAME rbpi)
- # wrapping libdvd fails with gold on rbpi
- # todo: revisit after toolchain bump
- set(ENABLE_LDGOLD OFF CACHE BOOL "Disabling Gnu Gold Linker" FORCE)
- elseif(NOT "@target_platform@" STREQUAL "")
- set(CORE_PLATFORM_NAME @target_platform@)
- endif()
- if(NOT "@app_rendersystem@" STREQUAL "")
- set(X11_RENDER_SYSTEM @app_rendersystem@ CACHE STRING "Render system to use with X11: \"gl\" or \"gles\"")
- set(WAYLAND_RENDER_SYSTEM @app_rendersystem@ CACHE STRING "Render system to use with Wayland: \"gl\" or \"gles\"")
- set(GBM_RENDER_SYSTEM @app_rendersystem@ CACHE STRING "Render system to use with GBM: \"gl\" or \"gles\"")
- else()
- set(X11_RENDER_SYSTEM gl CACHE STRING "Render system to use with X11: \"gl\" or \"gles\"")
- set(WAYLAND_RENDER_SYSTEM gl CACHE STRING "Render system to use with Wayland: \"gl\" or \"gles\"")
- set(GBM_RENDER_SYSTEM gles CACHE STRING "Render system to use with GBM: \"gl\" or \"gles\"")
- endif()
+ set(CORE_PLATFORM_NAME @target_platform@)
+ set(APP_RENDER_SYSTEM @app_rendersystem@ CACHE STRING "Render system to use: \"gl\" or \"gles\"")
elseif(OS STREQUAL android)
set(CMAKE_SYSTEM_NAME Android)
set(CORE_SYSTEM_NAME android)
@@ -50,18 +38,16 @@ if(CORE_SYSTEM_NAME STREQUAL darwin_embedded)
set(CMAKE_MACOSX_BUNDLE YES)
set(CMAKE_XCODE_ATTRIBUTE_CODE_SIGNING_REQUIRED "NO")
# Need to set this attribute to "" in order to
- # complety disable code signing
+ # completely disable code signing
# see: https://gitlab.kitware.com/cmake/cmake/issues/19112
set(CMAKE_XCODE_ATTRIBUTE_CODE_SIGN_IDENTITY "")
+ set(CMAKE_XCODE_ATTRIBUTE_ENABLE_BITCODE "NO")
if(CORE_PLATFORM_NAME STREQUAL tvos)
- set(CMAKE_XCODE_ATTRIBUTE_ENABLE_BITCODE "YES")
set(CMAKE_XCODE_ATTRIBUTE_TARGETED_DEVICE_FAMILY "3")
set(CMAKE_XCODE_ATTRIBUTE_TVOS_DEPLOYMENT_TARGET 11.0)
else()
- # set this to YES once we have a deployment target of at least iOS 6.0
- set(CMAKE_XCODE_ATTRIBUTE_ENABLE_BITCODE "NO")
set(CMAKE_XCODE_ATTRIBUTE_TARGETED_DEVICE_FAMILY "1,2")
- set(CMAKE_XCODE_ATTRIBUTE_IPHONEOS_DEPLOYMENT_TARGET 9.0)
+ set(CMAKE_XCODE_ATTRIBUTE_IPHONEOS_DEPLOYMENT_TARGET 11.0)
endif()
endif()
endif()
@@ -76,16 +62,16 @@ set(CMAKE_SYSTEM_VERSION 1)
set(CMAKE_C_COMPILER @CC@)
set(CMAKE_CXX_COMPILER @CXX@)
set(CMAKE_AR @AR@ CACHE FILEPATH "Archiver")
+SET(CMAKE_AS @AS@ CACHE FILEPATH "Assembler")
set(CMAKE_LINKER @LD@ CACHE FILEPATH "Linker")
set(CMAKE_NM @NM@ CACHE FILEPATH "Nm")
set(CMAKE_STRIP @STRIP@ CACHE PATH "strip binary" FORCE)
set(CMAKE_OBJDUMP @OBJDUMP@ CACHE FILEPATH "Objdump")
set(CMAKE_RANLIB @RANLIB@ CACHE FILEPATH "Ranlib")
-if(PROJECT_SOURCE_DIR MATCHES "tools/depends")
- if(@use_ccache@ STREQUAL "yes")
- set_property(GLOBAL PROPERTY RULE_LAUNCH_COMPILE "@CCACHE@")
- endif()
+if(NOT "@use_ccache@" STREQUAL "")
+ set(CMAKE_CXX_COMPILER_LAUNCHER @CCACHE@)
+ set(CMAKE_C_COMPILER_LAUNCHER @CCACHE@)
endif()
# where is the target environment
@@ -99,13 +85,6 @@ if(NOT "@use_sdk_path@" STREQUAL "")
list(APPEND CMAKE_FIND_ROOT_PATH @use_sdk_path@ @use_sdk_path@/usr)
endif()
-# add RBPI's firmware directories
-if(CORE_PLATFORM_NAME STREQUAL rbpi)
- list(APPEND CMAKE_FIND_ROOT_PATH @use_firmware@/opt/vc)
- list(APPEND CMAKE_LIBRARY_PATH @use_firmware@/opt/vc/lib)
- list(APPEND CMAKE_INCLUDE_PATH @use_firmware@/opt/vc/include)
-endif()
-
# add Android directories and tools
if(CORE_SYSTEM_NAME STREQUAL android)
set(NDKROOT @use_ndk_path@)
@@ -141,5 +120,92 @@ if(NOT CORE_SYSTEM_NAME STREQUAL linux)
set(ADDONS_PREFER_STATIC_LIBS ON)
endif()
+# common usage in autoconf to refer to host arch tool use
+set(CC_FOR_BUILD "@CC_FOR_BUILD@")
+set(CXX_FOR_BUILD "@CXX_FOR_BUILD@")
+set(LD_FOR_BUILD "@LD_FOR_BUILD@")
+set(CC_BINARY_FOR_BUILD "@CC_FOR_BUILD@")
+set(CXX_BINARY_FOR_BUILD "@CXX_FOR_BUILD@")
+set(AR_FOR_BUILD "@AR_FOR_BUILD@")
+set(RANLIB_FOR_BUILD "@RANLIB_FOR_BUILD@")
+set(AS_FOR_BUILD "@AS_FOR_BUILD@")
+set(NM_FOR_BUILD "@NM_FOR_BUILD@")
+set(STRIP_FOR_BUILD "@STRIP_FOR_BUILD@")
+set(READELF_FOR_BUILD "@READELF_FOR_BUILD@")
+set(OBJDUMP_FOR_BUILD "@OBJDUMP_FOR_BUILD@")
+
+# flags for host arch building
+set(CFLAGS_FOR_BUILD "@host_includes@ -I@prefix@/@tool_dir@/include")
+set(LDFLAGS_FOR_BUILD "@host_includes@ -L@prefix@/@tool_dir@/lib")
+
+# other build tools
+find_program(NASM nasm HINTS "${NATIVEPREFIX}/bin" REQUIRED)
+
+# common autoconf build tools
+find_program(AUTOCONF autoconf HINTS "${NATIVEPREFIX}/bin" REQUIRED)
+find_program(ACLOCAL aclocal HINTS "${NATIVEPREFIX}/bin" REQUIRED)
+find_program(AUTOHEADER autoheader HINTS "${NATIVEPREFIX}/bin" REQUIRED)
+find_program(AUTOMAKE automake HINTS "${NATIVEPREFIX}/bin" REQUIRED)
+find_program(AUTOM4TE autom4te HINTS "${NATIVEPREFIX}/bin" REQUIRED)
+find_program(AUTOPOINT autopoint HINTS "${NATIVEPREFIX}/bin" REQUIRED)
+find_program(AUTORECONF autoreconf HINTS "${NATIVEPREFIX}/bin" REQUIRED)
+find_program(LIBTOOL libtool HINTS "${NATIVEPREFIX}/bin" REQUIRED)
+find_program(LIBTOOLIZE libtoolize HINTS "${NATIVEPREFIX}/bin" REQUIRED)
+
+set(ENV{ACLOCAL_PATH} "${DEPENDS_PATH}/share/aclocal:${NATIVEPREFIX}/share/aclocal")
+set(ENVPATH "${NATIVEPREFIX}/bin:$ENV{PATH}")
+
+# Dependency build tool config files
+find_file(MESON-CROSS "cross-file.meson" PATHS "${DEPENDS_PATH}/share" NO_CMAKE_FIND_ROOT_PATH REQUIRED)
+# autoconf config.site
+find_file(CONFIG_SITE "config.site" PATHS "${DEPENDS_PATH}/share" NO_CMAKE_FIND_ROOT_PATH REQUIRED)
+
+# Env variables for non cmake target environments
+set(PROJECT_TARGETENV "AS=${CMAKE_AS}"
+ "AR=${CMAKE_AR}"
+ "CC=${CMAKE_C_COMPILER}"
+ "CXX=${CMAKE_CXX_COMPILER}"
+ "NM=${CMAKE_NM}"
+ "LD=${CMAKE_LINKER}"
+ "STRIP=${CMAKE_STRIP}"
+ "RANLIB=${CMAKE_RANLIB}"
+ "OBJDUMP=${CMAKE_OBJDUMP}"
+ "CFLAGS=${CMAKE_C_FLAGS}"
+ "CPPFLAGS=${CMAKE_CPP_FLAGS}"
+ "LDFLAGS=${CMAKE_EXE_LINKER_FLAGS}"
+ "PKG_CONFIG_LIBDIR=$ENV{PKG_CONFIG_LIBDIR}"
+ "AUTOM4TE=${AUTOM4TE}"
+ "AUTOMAKE=${AUTOMAKE}"
+ "AUTOCONF=${AUTOCONF}"
+ "AUTORECONF=${AUTORECONF}"
+ "ACLOCAL=${ACLOCAL}"
+ "ACLOCAL_PATH=$ENV{ACLOCAL_PATH}"
+ "AUTOPOINT=${AUTOPOINT}"
+ "AUTOHEADER=${AUTOHEADER}"
+ "LIBTOOL=${LIBTOOL}"
+ "LIBTOOLIZE=${LIBTOOLIZE}"
+ "CONFIG_SITE=${CONFIG_SITE}"
+ )
+
+# Env variables for non cmake host environments
+set(PROJECT_BUILDENV CC_FOR_BUILD=${CC_FOR_BUILD}
+ CXX_FOR_BUILD=${CXX_FOR_BUILD}
+ LD_FOR_BUILD=${LD_FOR_BUILD}
+ CC_BINARY_FOR_BUILD=${CC_FOR_BUILD}
+ CXX_BINARY_FOR_BUILD=${CXX_FOR_BUILD}
+ AR_FOR_BUILD=${AR_FOR_BUILD}
+ RANLIB_FOR_BUILD=${RANLIB_FOR_BUILD}
+ AS_FOR_BUILD=${AS_FOR_BUILD}
+ NM_FOR_BUILD=${NM_FOR_BUILD}
+ STRIP_FOR_BUILD=${STRIP_FOR_BUILD}
+ READELF_FOR_BUILD=${READELF_FOR_BUILD}
+ OBJDUMP_FOR_BUILD=${OBJDUMP_FOR_BUILD}
+ CFLAGS_FOR_BUILD=${CFLAGS_FOR_BUILD}
+ LDFLAGS_FOR_BUILD=${LDFLAGS_FOR_BUILD}
+ )
+
+# variable to easily set host/target env for non cmake internal dep builds
+set(DEP_BUILDENV ${CMAKE_COMMAND} -E env ${PROJECT_TARGETENV} ${PROJECT_BUILDENV})
+
set(KODI_DEPENDSBUILD 1)
diff --git a/tools/depends/target/Toolchain_binaddons.cmake.in b/tools/depends/target/Toolchain_binaddons.cmake.in
index b0cd5748bb..78a18ed591 100644
--- a/tools/depends/target/Toolchain_binaddons.cmake.in
+++ b/tools/depends/target/Toolchain_binaddons.cmake.in
@@ -1,4 +1,5 @@
set(OS "@platform_os@")
+set(CMAKE_SYSTEM_PROCESSOR @host_cpu@)
set(CPU "@use_cpu@")
set(PLATFORM "@target_platform@")
set(APP_RENDER_SYSTEM @app_rendersystem@)
@@ -9,15 +10,7 @@ set(CMAKE_FIND_ROOT_PATH @CMAKE_FIND_ROOT_PATH@)
if(OS STREQUAL linux)
set(CMAKE_SYSTEM_NAME Linux)
set(CORE_SYSTEM_NAME linux)
- if(PLATFORM STREQUAL raspberry-pi)
- set(CORE_PLATFORM_NAME rbpi)
- set(ENABLE_LDGOLD OFF CACHE BOOL "Disabling Gnu Gold Linker" FORCE)
- if(NOT APP_RENDER_SYSTEM)
- set(APP_RENDER_SYSTEM gles)
- endif()
- elseif(NOT "@target_platform@" STREQUAL "")
- set(CORE_PLATFORM_NAME @target_platform@)
- endif()
+ set(CORE_PLATFORM_NAME @target_platform@)
if(NOT APP_RENDER_SYSTEM)
set(APP_RENDER_SYSTEM gl)
endif()
@@ -48,9 +41,9 @@ endif()
if(CMAKE_SYSTEM_NAME STREQUAL Darwin)
set(CMAKE_OSX_SYSROOT @use_sdk_path@)
+ set(CMAKE_LIBRARY_PATH ${CMAKE_FIND_ROOT_PATH}/lib:@use_sdk_path@/lib:/usr/X11R6/lib)
+ set(CMAKE_INCLUDE_PATH ${CMAKE_FIND_ROOT_PATH}/include:@use_sdk_path@/include:/usr/X11R6/include)
list(APPEND CMAKE_FIND_ROOT_PATH ${CMAKE_OSX_SYSROOT} ${CMAKE_OSX_SYSROOT}/usr /usr/X11R6)
- set(CMAKE_LIBRARY_PATH @CMAKE_FIND_ROOT_PATH@/lib:@use_sdk_path@/lib:/usr/X11R6/lib)
- set(CMAKE_INCLUDE_PATH @CMAKE_FIND_ROOT_PATH@/include:@use_sdk_path@/include:/usr/X11R6/include)
endif()
set(CMAKE_SYSTEM_VERSION 1)
@@ -63,8 +56,9 @@ set(CMAKE_NM @NM@ CACHE FILEPATH "Nm")
set(CMAKE_OBJDUMP @OBJDUMP@ CACHE FILEPATH "Objdump")
set(CMAKE_RANLIB @RANLIB@ CACHE FILEPATH "Ranlib")
-if(@use_ccache@ STREQUAL "yes")
- set_property(GLOBAL PROPERTY RULE_LAUNCH_COMPILE "@CCACHE@")
+if(NOT "@use_ccache@" STREQUAL "")
+ set(CMAKE_CXX_COMPILER_LAUNCHER @CCACHE@)
+ set(CMAKE_C_COMPILER_LAUNCHER @CCACHE@)
endif()
# where is the target environment
@@ -72,13 +66,6 @@ if(NOT "@use_toolchain@" STREQUAL "")
list(APPEND CMAKE_FIND_ROOT_PATH @use_toolchain@/sysroot/usr)
endif()
-# add RBPI's firmware directories
-if(CORE_PLATFORM_NAME STREQUAL rbpi)
- list(APPEND CMAKE_FIND_ROOT_PATH @use_firmware@/opt/vc)
- list(APPEND CMAKE_LIBRARY_PATH @CMAKE_FIND_ROOT_PATH@/lib:@use_firmware@/opt/vc/lib)
- list(APPEND CMAKE_INCLUDE_PATH @CMAKE_FIND_ROOT_PATH@/include:@use_firmware@/opt/vc/include)
-endif()
-
# add Android directories and tools
if(CORE_SYSTEM_NAME STREQUAL android)
set(NDKROOT @use_ndk_path@)
@@ -96,11 +83,11 @@ set(CMAKE_CXX_FLAGS_RELEASE "@platform_cxxflags_release@ @platform_includes@")
set(CMAKE_C_FLAGS_DEBUG "@platform_cflags_debug@ @platform_includes@")
set(CMAKE_CXX_FLAGS_DEBUG "@platform_cxxflags_debug@ @platform_includes@")
set(CMAKE_CPP_FLAGS "@platform_cflags@ @platform_includes@")
-set(CMAKE_LD_FLAGS "@platform_ldflags@")
+set(CMAKE_EXE_LINKER_FLAGS "@platform_ldflags@")
set(ENV{CFLAGS} ${CMAKE_C_FLAGS})
set(ENV{CXXFLAGS} ${CMAKE_CXX_FLAGS})
set(ENV{CPPFLAGS} ${CMAKE_CPP_FLAGS})
-set(ENV{LDFLAGS} ${CMAKE_LD_FLAGS})
+set(ENV{LDFLAGS} ${CMAKE_EXE_LINKER_FLAGS})
# search for programs in the build host directories
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
# for libraries and headers in the target directories
diff --git a/tools/depends/target/alsa-lib/Makefile b/tools/depends/target/alsa-lib/Makefile
index f2c624aac4..ae3afc4c18 100644
--- a/tools/depends/target/alsa-lib/Makefile
+++ b/tools/depends/target/alsa-lib/Makefile
@@ -1,11 +1,13 @@
include ../../Makefile.include
-DEPS= ../../Makefile.include Makefile
+DEPS = ../../Makefile.include Makefile ../../download-files.include
# lib name, version
LIBNAME=libasound
VERSION=1.1.4.1
SOURCE=alsa-lib-$(VERSION)
ARCHIVE=$(SOURCE).tar.bz2
+SHA512=7b548c4ee29c4a1230a0edcd5d19219831290f96a214180a6530628acc05278d1348376195287d188f4f44d6be1914391c63994f1b50985c3eee74352da26b0b
+include ../../download-files.include
# configuration settings
CFLAGS += \
@@ -25,10 +27,8 @@ LIBDYLIB=$(PLATFORM)/src/.libs/$(LIBNAME).so
all: .installed-$(PLATFORM)
-$(TARBALLS_LOCATION)/$(ARCHIVE):
- cd $(TARBALLS_LOCATION); $(RETRIEVE_TOOL) $(RETRIEVE_TOOL_FLAGS) $(BASE_URL)/$(ARCHIVE)
-$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE) $(DEPS)
+$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE).$(HASH_TYPE) $(DEPS)
rm -rf $(PLATFORM)/*; mkdir -p $(PLATFORM)
cd $(PLATFORM); $(ARCHIVE_TOOL) $(ARCHIVE_TOOL_FLAGS) $(TARBALLS_LOCATION)/$(ARCHIVE)
cd $(PLATFORM); $(CONFIGURE)
diff --git a/tools/depends/target/boblight/Makefile b/tools/depends/target/boblight/Makefile
index e048c2b42e..a766b09ef3 100644
--- a/tools/depends/target/boblight/Makefile
+++ b/tools/depends/target/boblight/Makefile
@@ -1,5 +1,5 @@
include ../../Makefile.include
-DEPS= ../../Makefile.include Makefile 01-fix_fpermissive.patch 02-fixandroid.patch 03-fixtvos.patch
+DEPS = ../../Makefile.include Makefile 01-fix_fpermissive.patch 02-fixandroid.patch 03-fixtvos.patch ../../download-files.include
#hint for building a fat lib - "lipo -arch i386 libboblight-i386.dylib -arch x86_64 libboblight-x86_64.dylib -output libboblight-fat.dylib"
@@ -8,6 +8,8 @@ LIBNAME=libboblight
VERSION=r478
SOURCE=$(LIBNAME)-$(VERSION)
ARCHIVE=$(SOURCE).tar.gz
+SHA512=382e0b0f1ef2fca676cd64ec4190d3cfb791fed0f9477af8436e461cebfbc268058abc1fbba97a0337d3152a9b292580160b42157b4076d59b3847071deb1881
+include ../../download-files.include
# configuration settings
CONFIGURE=./configure --prefix=$(PREFIX) \
@@ -20,10 +22,8 @@ LIBDYLIB=$(PLATFORM)/src/.libs/$(LIBNAME).a
all: $(LIBDYLIB) .installed-$(PLATFORM)
-$(TARBALLS_LOCATION)/$(ARCHIVE):
- cd $(TARBALLS_LOCATION); $(RETRIEVE_TOOL) $(RETRIEVE_TOOL_FLAGS) $(BASE_URL)/$(ARCHIVE)
-$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE) $(DEPS)
+$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE).$(HASH_TYPE) $(DEPS)
rm -rf $(PLATFORM)/*; mkdir -p $(PLATFORM)
cd $(PLATFORM); $(ARCHIVE_TOOL) $(ARCHIVE_TOOL_FLAGS) $(TARBALLS_LOCATION)/$(ARCHIVE)
cd $(PLATFORM); patch -p1 -i ../01-fix_fpermissive.patch
diff --git a/tools/depends/target/bzip2/Makefile b/tools/depends/target/bzip2/Makefile
index 3541d3831c..38c8443d1b 100644
--- a/tools/depends/target/bzip2/Makefile
+++ b/tools/depends/target/bzip2/Makefile
@@ -1,11 +1,13 @@
include ../../Makefile.include
-DEPS= ../../Makefile.include Makefile Makefile.patch
+DEPS = ../../Makefile.include Makefile Makefile.patch ../../download-files.include
# lib name, version
LIBNAME=bzip2
-VERSION=1.0.6
+VERSION=1.0.8
SOURCE=$(LIBNAME)-$(VERSION)
ARCHIVE=$(SOURCE).tar.gz
+SHA512=083f5e675d73f3233c7930ebe20425a533feedeaaa9d8cc86831312a6581cefbe6ed0d08d2fa89be81082f2a5abdabca8b3c080bf97218a1bd59dc118a30b9f3
+include ../../download-files.include
# configuration settings
CONFIGURE=./configure --prefix=$(PREFIX) --disable-shared
@@ -14,10 +16,8 @@ LIBDYLIB=$(PLATFORM)/libbz2.a
all: .installed-$(PLATFORM)
-$(TARBALLS_LOCATION)/$(ARCHIVE):
- cd $(TARBALLS_LOCATION); $(RETRIEVE_TOOL) $(RETRIEVE_TOOL_FLAGS) $(BASE_URL)/$(ARCHIVE)
-$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE) $(DEPS)
+$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE).$(HASH_TYPE) $(DEPS)
rm -rf $(PLATFORM)/*; mkdir -p $(PLATFORM)
cd $(PLATFORM); $(ARCHIVE_TOOL) $(ARCHIVE_TOOL_FLAGS) $(TARBALLS_LOCATION)/$(ARCHIVE)
cd $(PLATFORM); patch -p1 -i ../Makefile.patch
diff --git a/tools/depends/target/cmakebuildsys/Makefile b/tools/depends/target/cmakebuildsys/Makefile
index 67b3292343..8101fc18a2 100644
--- a/tools/depends/target/cmakebuildsys/Makefile
+++ b/tools/depends/target/cmakebuildsys/Makefile
@@ -11,11 +11,29 @@ ifeq ($(Configuration),)
endif
ifeq ($(OS),darwin_embedded)
+ # cmake toolset option buildsystem selects the legacy xcode build system
+ # cmake 3.19+ with xcode 12 defaults to the new build system. Stick with the legacy
+ # system for now for our building
CMAKE_BUILD_ARGUMENTS = -G Xcode
else ifeq ($(GEN),Xcode)
CMAKE_BUILD_ARGUMENTS = -G Xcode
+else ifeq ($(GEN),Xcodelegacy)
+ CMAKE_BUILD_ARGUMENTS = -G Xcode -T buildsystem=1
+else ifeq ($(GEN),Ninja)
+ CMAKE_BUILD_ARGUMENTS = -G "Ninja" -DCMAKE_BUILD_TYPE=$(Configuration)
else
CMAKE_BUILD_ARGUMENTS = -G "Unix Makefiles" -DCMAKE_BUILD_TYPE=$(Configuration)
+ ifeq ($(OS),osx)
+ CMAKE_BUILD_ARGUMENTS += -DCMAKE_DEPENDS_USE_COMPILER=OFF
+ endif
+endif
+
+ifeq ($(OS),osx)
+ ifeq ($(APP_WINDOW_SYSTEM),native)
+ WINDOWSYSTEM=-DAPP_WINDOW_SYSTEM=native
+ else
+ WINDOWSYSTEM=-DAPP_WINDOW_SYSTEM=sdl
+ endif
endif
ifeq ($(BUILD_DIR),)
@@ -24,7 +42,7 @@ endif
all:
mkdir -p $(BUILD_DIR)
- cd $(BUILD_DIR); $(CMAKE) $(CMAKE_BUILD_ARGUMENTS) -DENABLE_INTERNAL_CROSSGUID=OFF -DENABLE_INTERNAL_FFMPEG=OFF $(CMAKE_EXTRA_ARGUMENTS) $(CMAKE_SOURCE_DIR)
+ cd $(BUILD_DIR); $(CMAKE) $(CMAKE_BUILD_ARGUMENTS) $(WINDOWSYSTEM) -DENABLE_INTERNAL_CROSSGUID=ON -DENABLE_INTERNAL_FFMPEG=OFF $(CMAKE_EXTRA_ARGUMENTS) $(CMAKE_SOURCE_DIR)
kodi:
$(MAKE) -C $(BUILD_DIR)
diff --git a/tools/depends/target/config-binaddons.site.in b/tools/depends/target/config-binaddons.site.in
index 7587a49be2..9cc6b4a069 100644
--- a/tools/depends/target/config-binaddons.site.in
+++ b/tools/depends/target/config-binaddons.site.in
@@ -26,8 +26,7 @@ CXXFLAGS="@platform_cxxflags@ @platform_includes@ $CXXFLAGS"
CPPFLAGS="@platform_cflags@ @platform_includes@ $CPPFLAGS"
export PKG_CONFIG=@prefix@/@tool_dir@/bin/pkg-config
-export YASM=@prefix@/@tool_dir@/bin/yasm
-export NASM=@prefix@/@tool_dir@/bin/yasm
+export NASM=@prefix@/@tool_dir@/bin/nasm
PATH=@prefix@/@tool_dir@/bin:@use_toolchain@/usr/bin:@use_toolchain@/bin:$PATH
LD_LIBRARY_PATH=@prefix@/@tool_dir@/lib:$LD_LIBRARY_PATH
@@ -68,28 +67,18 @@ if test "@platform_os@" = "android"; then
fi
-if test "@platform_os@" = "osx" ; then
- # Xcode 8 + 10.11, clock_gettime getentropy is present
- # in 10.12 but will get wrongly detected if building on 10.11
- ac_cv_search_clock_gettime=no
- ac_cv_func_clock_gettime=no
- ac_cv_func_getentropy=no
-fi
-
-
if test "@platform_os@" = "darwin_embedded"; then
- # Xcode 8 + 10.11, clock_gettime getentropy is present
- # in 10.12 but will get wrongly detected if building on 10.11
- ac_cv_search_clock_gettime=no
- ac_cv_func_clock_gettime=no
- ac_cv_func_getentropy=no
-
# tweaks for flac
if test "${ac_unique_file}" = "src/flac/main.c" ; then
# compiler barfs if we use -O3/O2 for flac
export CFLAGS=`echo ${CFLAGS} | sed 's/-O3/-Os/'`
export CPPFLAGS=`echo ${CPPFLAGS} | sed 's/-O3/-Os/'`
fi
+
+ if test "@target_platform@" = "appletvos"; then
+ ac_cv_func_vfork_works=no
+ ac_cv_func_fork=no
+ fi
fi
#Fix for older, broken android toolchains
diff --git a/tools/depends/target/config.site.in b/tools/depends/target/config.site.in
index f9260d15e1..2034ac0151 100644
--- a/tools/depends/target/config.site.in
+++ b/tools/depends/target/config.site.in
@@ -27,18 +27,13 @@ CPPFLAGS="@platform_cflags@ @platform_includes@ -isystem @prefix@/@deps_dir@/inc
export PKG_CONFIG=@prefix@/@tool_dir@/bin/pkg-config
export PKG_CONFIG_LIBDIR=@prefix@/@deps_dir@/lib/pkgconfig
-export YASM=@prefix@/@tool_dir@/bin/yasm
-export NASM=@prefix@/@tool_dir@/bin/yasm
+export NASM=@prefix@/@tool_dir@/bin/nasm
LIBGCRYPT_CONFIG=@prefix@/@deps_dir@/bin/libgcrypt-config
PATH=@prefix@/@tool_dir@/bin:@use_toolchain@/usr/bin:@use_toolchain@/bin:$PATH
LD_LIBRARY_PATH=@prefix@/@tool_dir@/lib:$LD_LIBRARY_PATH
-PYTHON_VERSION=3.7
-PYTHON_LDFLAGS="-L@prefix@/@deps_dir@/lib -lpython${PYTHON_VERSION} -lc -ldl -lm -lexpat -lffi -lintl -lutil -lssl -lcrypto"
-PYTHON_CPPFLAGS=-I@prefix@/@deps_dir@/include/python${PYTHON_VERSION}
-PYTHON_SITE_PKG=@prefix@/@deps_dir@/lib/python${PYTHON_VERSION}/site-packages
-PYTHON_NOVERSIONCHECK=no-check
+PYTHON_VERSION=3.9
NATIVE_ROOT=@prefix@/@tool_dir@
#libomxil-bellagio
@@ -54,13 +49,6 @@ gl_cv_header_working_stdint_h=yes
#libcec
ac_cv_search_dlopen=-ldl
-#libgcrypt
-if test "${PACKAGE_NAME}" = "libgcrypt"; then
- ac_cv_path_GPG_ERROR_CONFIG=@prefix@/@deps_dir@/bin/gpg-error-config
- ac_cv_sys_symbol_underscore=no
- CFLAGS="$CFLAGS -std=gnu99"
-fi
-
#python
ac_cv_func_gethostbyname_r=no
ac_cv_header_sys_un_h=yes
@@ -70,43 +58,23 @@ ac_cv_file__dev_ptc=no
#gnutls
gl_cv_func_gettimeofday_clobber=no
+#wayland
+if test "${PACKAGE_NAME}" = "wayland"; then
+ # wayland insists on building tests which rely on assert, which cannot work with -DNDEBUG
+ # Maybe it would be better not to define -DNDEBUG globally for release builds?
+ export CFLAGS=`echo ${CFLAGS} | sed 's/-DNDEBUG=1//g'`
+ export CPPFLAGS=`echo ${CPPFLAGS} | sed 's/-DNDEBUG=1//g'`
+fi
+
if test "@platform_os@" = "android"; then
ac_cv_func_srand=yes
ac_cv_func_rand=yes
-
- #python: android doesn't have libutil
- PYTHON_LDFLAGS="-L@prefix@/@deps_dir@/lib -lpython${PYTHON_VERSION} -lc -ldl -lm -lexpat -lffi -lintl -lssl -lcrypto"
-
-fi
-
-if test "@platform_os@" = "osx" ; then
- # Xcode 8 + 10.11, clock_gettime and getentropy is present
- # in 10.12 but will get wrongly detected if building on 10.11
- ac_cv_search_clock_gettime=no
- ac_cv_func_clock_gettime=no
- ac_cv_func_futimens=no
- ac_cv_func_getentropy=no
- ac_cv_func_utimensat=no
fi
-
if test "@platform_os@" = "darwin_embedded"; then
- # Xcode 8 + 10.11, clock_gettime and getentropy is present
- # in 10.12 but will get wrongly detected if building on 10.11
- ac_cv_search_clock_gettime=no
- ac_cv_func_clock_gettime=no
+ # there is no clock_settime on iOS/tvOS as of latest version 13.X
ac_cv_func_clock_settime=no
- ac_cv_func_futimens=no
- ac_cv_func_getentropy=no
- ac_cv_func_utimensat=no
-
- # tweaks for libffi
- if test "${PACKAGE_NAME}" = "libffi" ; then
- if test "@use_cpu@" = "arm64"; then
- host_alias=aarch64-apple-darwin
- fi
- fi
# tweaks for flac
if test "${ac_unique_file}" = "src/flac/main.c" ; then
@@ -116,9 +84,10 @@ if test "@platform_os@" = "darwin_embedded"; then
fi
fi
-# Python3 build for appletvos
if test "@target_platform@" = "appletvos"; then
ac_cv_func_sigaltstack=no
+ ac_cv_func_vfork_works=no
+ ac_cv_func_fork=no
fi
#Fix for older, broken android toolchains
diff --git a/tools/depends/target/cross-file.meson.in b/tools/depends/target/cross-file.meson.in
deleted file mode 100644
index ba10d4e5a0..0000000000
--- a/tools/depends/target/cross-file.meson.in
+++ /dev/null
@@ -1,16 +0,0 @@
-[binaries]
-c = '@CC@'
-cpp = '@CXX@'
-ar = '@AR@'
-strip = '@STRIP@'
-pkgconfig = '@prefix@/@tool_dir@/bin/pkg-config'
-
-[properties]
-cargs = ['@platform_cflags@', '@platform_includes@', '-isystem @prefix@/@deps_dir@/include']
-c_link_args = ['-L@prefix@/@deps_dir@/lib @platform_ldflags@']
-
-[host_machine]
-system = ''
-cpu_family = ''
-cpu = ''
-endian = ''
diff --git a/tools/depends/target/crossguid/001-fix-unused-function.patch b/tools/depends/target/crossguid/001-fix-unused-function.patch
new file mode 100644
index 0000000000..cc3f38d3ed
--- /dev/null
+++ b/tools/depends/target/crossguid/001-fix-unused-function.patch
@@ -0,0 +1,11 @@
+--- a/src/guid.cpp
++++ b/src/guid.cpp
+@@ -396,7 +396,7 @@
+ namespace std
+ {
+ template <>
+- void swap(xg::Guid &lhs, xg::Guid &rhs) noexcept
++ [[maybe_unused]] void swap(xg::Guid &lhs, xg::Guid &rhs) noexcept
+ {
+ lhs.swap(rhs);
+ }
diff --git a/tools/depends/target/crossguid/002-disable-Wall-error.patch b/tools/depends/target/crossguid/002-disable-Wall-error.patch
new file mode 100644
index 0000000000..daef659bcd
--- /dev/null
+++ b/tools/depends/target/crossguid/002-disable-Wall-error.patch
@@ -0,0 +1,18 @@
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -40,6 +40,7 @@
+ target_compile_definitions(crossguid PRIVATE GUID_LIBUUID)
+ endif()
+
++if(NOT DISABLE_WALL)
+ if(CMAKE_CXX_COMPILER_ID STREQUAL "GNU")
+ set(WARNINGS "-Werror" "-Wall")
+ elseif(CMAKE_CXX_COMPILER_ID MATCHES "Clang")
+@@ -48,6 +48,7 @@
+ set(WARNINGS "/WX" "/W4")
+ endif()
+ target_compile_options(crossguid PRIVATE ${WARNINGS})
++endif()
+
+ set_target_properties(crossguid
+ PROPERTIES
diff --git a/tools/depends/target/crossguid/CMakeLists.txt b/tools/depends/target/crossguid/CMakeLists.txt
deleted file mode 100644
index 029009286e..0000000000
--- a/tools/depends/target/crossguid/CMakeLists.txt
+++ /dev/null
@@ -1,22 +0,0 @@
-cmake_minimum_required(VERSION 3.1)
-project(crossguid)
-
-list(APPEND CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR})
-
-add_library(${PROJECT_NAME} guid.cpp)
-set_target_properties(${PROJECT_NAME} PROPERTIES CXX_STANDARD 11
- CXX_STANDARD_REQUIRED True
- CXX_EXTENSIONS False)
-
-if(UNIX AND NOT APPLE)
- find_package(UUID REQUIRED)
- target_link_libraries(${PROJECT_NAME} PRIVATE UUID::UUID)
- target_compile_definitions(${PROJECT_NAME} PRIVATE GUID_LIBUUID)
-elseif(APPLE)
- target_compile_definitions(${PROJECT_NAME} PRIVATE GUID_CFUUID)
-elseif(WIN32)
- target_compile_definitions(${PROJECT_NAME} PRIVATE GUID_WINDOWS)
-endif()
-
-install(TARGETS ${PROJECT_NAME} DESTINATION lib)
-install(FILES guid.h DESTINATION include)
diff --git a/tools/depends/target/crossguid/CROSSGUID-VERSION b/tools/depends/target/crossguid/CROSSGUID-VERSION
new file mode 100644
index 0000000000..b5e40b889e
--- /dev/null
+++ b/tools/depends/target/crossguid/CROSSGUID-VERSION
@@ -0,0 +1,6 @@
+LIBNAME=crossguid
+VERSION=ca1bf4b810e2d188d04cb6286f957008ee1b7681
+ARCHIVE=$(LIBNAME)-$(VERSION).tar.gz
+SHA512=f0a80d8e99b10473bcfdfde3d1c5fd7b766959819f0d1c0595ac84ce46db9007a5fbfde9a55aca60530c46cb7f8ef4c7e472c6191559ded92f868589c141ccaf
+BYPRODUCT=libcrossguid.a
+BYPRODUCT_WIN=crossguid.lib
diff --git a/tools/depends/target/crossguid/FindUUID.cmake b/tools/depends/target/crossguid/FindUUID.cmake
deleted file mode 100644
index 173fac277d..0000000000
--- a/tools/depends/target/crossguid/FindUUID.cmake
+++ /dev/null
@@ -1,43 +0,0 @@
-#.rst:
-# FindUUID
-# --------
-# Finds the libuuid library
-#
-# This will will define the following variables::
-#
-# UUID_FOUND - system has libuuid
-# UUID_INCLUDE_DIRS - the libuuid include directory
-# UUID_LIBRARIES - the libuuid libraries
-#
-# and the following imported targets::
-#
-# UUID::UUID - The libuuid library
-
-if(PKG_CONFIG_FOUND)
- pkg_check_modules(PC_UUID uuid QUIET)
-endif()
-
-find_path(UUID_INCLUDE_DIR uuid/uuid.h
- PATHS ${PC_UUID_INCLUDEDIR})
-find_library(UUID_LIBRARY uuid
- PATHS ${PC_UUID_LIBRARY})
-set(UUID_VERSION ${PC_UUID_VERSION})
-
-include(FindPackageHandleStandardArgs)
-find_package_handle_standard_args(UUID
- REQUIRED_VARS UUID_LIBRARY UUID_INCLUDE_DIR
- VERSION_VAR UUID_VERSION)
-
-if(UUID_FOUND)
- set(UUID_LIBRARIES ${UUID_LIBRARY})
- set(UUID_INCLUDE_DIRS ${UUID_INCLUDE_DIR})
-
- if(NOT TARGET UUID::UUID)
- add_library(UUID::UUID UNKNOWN IMPORTED)
- set_target_properties(UUID::UUID PROPERTIES
- IMPORTED_LOCATION "${UUID_LIBRARY}"
- INTERFACE_INCLUDE_DIRECTORIES "${UUID_INCLUDE_DIR}")
- endif()
-endif()
-
-mark_as_advanced(UUID_INCLUDE_DIR UUID_LIBRARY)
diff --git a/tools/depends/target/crossguid/Makefile b/tools/depends/target/crossguid/Makefile
index 3936f651e1..6cdc802924 100644
--- a/tools/depends/target/crossguid/Makefile
+++ b/tools/depends/target/crossguid/Makefile
@@ -1,71 +1,59 @@
-include ../../Makefile.include
-DEPS = Makefile
-
-# lib name, version
-LIBNAME=crossguid
-VERSION=8f399e8bd4
-SOURCE=$(LIBNAME)-$(VERSION)
-ARCHIVE=$(SOURCE).tar.gz
-
+include CROSSGUID-VERSION
+DEPS = Makefile CROSSGUID-VERSION ../../download-files.include \
+ 001-fix-unused-function.patch \
+ 002-disable-Wall-error.patch
ifeq ($(CROSS_COMPILING), yes)
DEPS += ../../Makefile.include
- CXXFLAGS += -std=c++11
else
- CXXFLAGS += -std=c++11
ROOT_DIR := $(shell dirname $(realpath $(lastword $(MAKEFILE_LIST))))
-
ifeq ($(PLATFORM),)
+ # crossguid uses string_view and requires c++17
+ CXXFLAGS += -std=c++17
PLATFORM = native
TARBALLS_LOCATION = $(ROOT_DIR)
BASE_URL := http://mirrors.kodi.tv/build-deps/sources
RETRIEVE_TOOL := curl -Ls --create-dirs -f -O
ARCHIVE_TOOL := tar --strip-components=1 -xf
+ CMAKE := cmake
+ CMAKE_OPTIONS := -DCMAKE_INSTALL_PREFIX=$(PREFIX) $(CMAKE_OPTIONS)
+ HASH_TOOL = sha512sum
+ HASH_TOOL_FLAGS = -c --status
endif
endif
+CMAKE_OPTIONS=-DCROSSGUID_TESTS=OFF \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DDISABLE_WALL=ON
-# define specifying the native GUID implementation to use
-GUID_PLATFORM_DEFINE=GUID_LIBUUID
-ifeq ($(OS),osx)
- GUID_PLATFORM_DEFINE=GUID_CFUUID
-endif
-ifeq ($(OS),darwin_embedded)
- GUID_PLATFORM_DEFINE=GUID_CFUUID
-endif
+LIBDYLIB=$(PLATFORM)/$(BYPRODUCT)
-LIBDYLIB=$(PLATFORM)/lib$(LIBNAME).a
+include ../../download-files.include
.PHONY: .installed-native
all: .installed-$(PLATFORM)
-$(TARBALLS_LOCATION)/$(ARCHIVE):
- cd $(TARBALLS_LOCATION); $(RETRIEVE_TOOL) $(RETRIEVE_TOOL_FLAGS) $(BASE_URL)/$(ARCHIVE)
-
-$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE) $(DEPS)
+$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE).$(HASH_TYPE) $(DEPS)
ifeq ($(PREFIX),)
@echo
@echo "ERROR: please set PREFIX to the kodi install path e.g. make PREFIX=/usr/local"
@exit 1
endif
- rm -rf $(PLATFORM); mkdir -p $(PLATFORM)
+ rm -rf $(PLATFORM); mkdir -p $(PLATFORM)/build
cd $(PLATFORM); $(ARCHIVE_TOOL) $(ARCHIVE_TOOL_FLAGS) $(TARBALLS_LOCATION)/$(ARCHIVE)
+ cd $(PLATFORM); patch -p1 -i ../001-fix-unused-function.patch
+ cd $(PLATFORM); patch -p1 -i ../002-disable-Wall-error.patch
+ cd $(PLATFORM)/build; $(CMAKE) $(CMAKE_OPTIONS) ..
-$(LIBDYLIB): $(PLATFORM)
- cd $(PLATFORM); $(CXX) -c guid.cpp -o guid.o $(CXXFLAGS) -D$(GUID_PLATFORM_DEFINE)
- cd $(PLATFORM); $(AR) rvs lib$(LIBNAME).a guid.o
-
-.installed-$(PLATFORM): $(LIBDYLIB)
- @[ -d $(PREFIX)/include ] || mkdir -p $(PREFIX)/include
- @[ -d $(PREFIX)/lib ] || mkdir $(PREFIX)/lib
- cp $(PLATFORM)/guid.h $(PREFIX)/include/
- cp $(LIBDYLIB) $(PREFIX)/lib/
+.installed-$(PLATFORM): $(PLATFORM)
+ $(MAKE) -C $(PLATFORM)/build install
touch $@
clean:
- rm -rf $(PLATFORM) .installed-$(PLATFORM)
+ $(MAKE) -C $(PLATFORM)/build clean
+ rm -f .installed-$(PLATFORM)
-distclean::
+distclean:
rm -rf $(PLATFORM) .installed-$(PLATFORM)
-
diff --git a/tools/depends/target/curl/01-patch-autoconf-GH-5130.patch b/tools/depends/target/curl/01-patch-autoconf-GH-5130.patch
new file mode 100644
index 0000000000..119cd81199
--- /dev/null
+++ b/tools/depends/target/curl/01-patch-autoconf-GH-5130.patch
@@ -0,0 +1,11 @@
+--- a/m4/curl-functions.m4
++++ b/m4/curl-functions.m4
+@@ -7289,8 +7289,6 @@
+ dnl changes contained within this macro.
+
+ AC_DEFUN([CURL_RUN_IFELSE], [
+- AC_REQUIRE([AC_RUN_IFELSE])dnl
+-
+ old=$LD_LIBRARY_PATH
+ LD_LIBRARY_PATH=$CURL_LIBRARY_PATH:$old
+ export LD_LIBRARY_PATH
diff --git a/tools/depends/target/curl/Makefile b/tools/depends/target/curl/Makefile
index 2fc397b8a2..d98e3e791a 100644
--- a/tools/depends/target/curl/Makefile
+++ b/tools/depends/target/curl/Makefile
@@ -1,30 +1,28 @@
include ../../Makefile.include
-DEPS= ../../Makefile.include Makefile
+DEPS = ../../Makefile.include Makefile 01-patch-autoconf-GH-5130.patch ../../download-files.include
# lib name, version
LIBNAME=curl
-VERSION=7.65.3
+VERSION=7.68.0
SOURCE=$(LIBNAME)-$(VERSION)
ARCHIVE=$(SOURCE).tar.bz2
+SHA512=ad7390fd700cb74db356a39e842dab011823b87d4047687f2a8c2e0f2920a4f8c6c193ba56391489a75939cc5c39a4dccec4e4ceeac516eb7394f03e0fb7aeae
+include ../../download-files.include
# configuration settings
CONFIGURE=cp -f $(CONFIG_SUB) $(CONFIG_GUESS) .; \
./configure --prefix=$(PREFIX) --disable-shared --disable-ldap \
--without-libssh2 --disable-ntlm-wb --enable-ipv6 --without-librtmp \
- --with-ca-fallback --with-ssl=$(PREFIX) --with-nghttp2=$(PREFIX)
+ --without-libidn2 --with-ca-fallback --with-ssl=$(PREFIX) --with-nghttp2=$(PREFIX)
LIBDYLIB=$(PLATFORM)/lib/.libs/lib$(LIBNAME).a
all: .installed-$(PLATFORM)
-$(TARBALLS_LOCATION)/$(ARCHIVE):
- cd $(TARBALLS_LOCATION); $(RETRIEVE_TOOL) $(RETRIEVE_TOOL_FLAGS) $(BASE_URL)/$(ARCHIVE)
-$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE) $(DEPS)
+$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE).$(HASH_TYPE) $(DEPS)
rm -rf $(PLATFORM)/*; mkdir -p $(PLATFORM)
cd $(PLATFORM); $(ARCHIVE_TOOL) $(ARCHIVE_TOOL_FLAGS) $(TARBALLS_LOCATION)/$(ARCHIVE)
-ifeq (darwin, $(findstring darwin, $(HOST)))
- cd $(PLATFORM); sed -ie "s/elif defined(HAVE_CLOCK_GETTIME_MONOTONIC)/#elif defined(HAVE_CLOCK_GETTIME_MONOTONIC_NOPE)/" lib/timeval.c
-endif
+ cd $(PLATFORM); patch -p1 -i ../01-patch-autoconf-GH-5130.patch
cd $(PLATFORM); $(AUTORECONF) -vif
cd $(PLATFORM); $(CONFIGURE)
@@ -46,3 +44,7 @@ clean:
distclean::
rm -rf $(PLATFORM) .installed-$(PLATFORM)
+
+.PHONY: update-cacert
+update-cacert: $(PLATFORM)
+ $(PLATFORM)/lib/mk-ca-bundle.pl -u $(CMAKE_SOURCE_DIR)/system/certs/cacert.pem
diff --git a/tools/depends/target/darwin-embedded-entitlements/Makefile b/tools/depends/target/darwin-embedded-entitlements/Makefile
new file mode 100644
index 0000000000..a8427e4993
--- /dev/null
+++ b/tools/depends/target/darwin-embedded-entitlements/Makefile
@@ -0,0 +1,15 @@
+include ../../Makefile.include
+DEPS = ../../Makefile.include Makefile darwin_embedded_entitlements.xml
+
+DARWIN_EMBEDDED_ENT=$(PREFIX)/share/darwin_embedded_entitlements.xml
+
+all: $(DARWIN_EMBEDDED_ENT)
+
+$(DARWIN_EMBEDDED_ENT):
+ mkdir -p $(PREFIX)/share
+ cp darwin_embedded_entitlements.xml $(DARWIN_EMBEDDED_ENT)
+
+
+clean:
+distclean::
+ rm -f $(DARWIN_EMBEDDED_ENT)
diff --git a/tools/depends/target/darwin-embedded-entitlements/darwin_embedded_entitlements.xml b/tools/depends/target/darwin-embedded-entitlements/darwin_embedded_entitlements.xml
new file mode 100644
index 0000000000..4c7fc926f8
--- /dev/null
+++ b/tools/depends/target/darwin-embedded-entitlements/darwin_embedded_entitlements.xml
@@ -0,0 +1,61 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+ <key>com.apple.springboard.opensensitiveurl</key>
+ <true/>
+ <key>com.apple.coremedia.allow-protected-content-playback</key>
+ <true/>
+ <key>com.apple.coreaudio.allow-amr-decode</key>
+ <true/>
+ <key>com.apple.springboard.launchapplications</key>
+ <true/>
+ <key>com.apple.managedconfiguration.profiled-access</key>
+ <true/>
+ <key>platform-application</key>
+ <true/>
+ <key>com.apple.private.security.no-container</key>
+ <true/>
+ <key>com.apple.private.skip-library-validation</key>
+ <true/>
+ <key>com.apple.CommCenter.fine-grained</key>
+ <array>
+ <string>spi</string>
+ </array>
+ <key>keychain-access-groups</key>
+ <array>
+ <string>com.apple.cfnetwork</string>
+ <string>com.apple.identities</string>
+ <string>com.apple.mobilesafari</string>
+ </array>
+ <key>com.apple.security.iokit-user-client-class</key>
+ <array>
+ <string>AGXCommandQueue</string>
+ <string>AGXDevice</string>
+ <string>AGXDeviceUserClient</string>
+ <string>AGXGLContext</string>
+ <string>AGXSharedUserClient</string>
+ <string>AppleCredentialManagerUserClient</string>
+ <string>AppleHPMUserClient</string>
+ <string>AppleJPEGDriverUserClient</string>
+ <string>AppleUSBHostDeviceUserClient</string>
+ <string>H11ANEInDirectPathClient</string>
+ <string>IOAVControllerConcreteUserClient</string>
+ <string>IOAccelContext</string>
+ <string>IOAccelContext2</string>
+ <string>IOAccelDevice</string>
+ <string>IOAccelDevice2</string>
+ <string>IOAccelSharedUserClient</string>
+ <string>IOAccelSharedUserClient2</string>
+ <string>IOAccelSubmitter2</string>
+ <string>IOHDIXControllerUserClient</string>
+ <string>IOHIDEventServiceFastPathUserClient</string>
+ <string>IOHIDLibUserClient</string>
+ <string>IOMobileFramebufferUserClient</string>
+ <string>IOReportUserClient</string>
+ <string>IOSurfaceAcceleratorClient</string>
+ <string>IOSurfaceRootUserClient</string>
+ <string>RootDomainUserClient</string>
+ </array>
+</dict>
+</plist>
diff --git a/tools/depends/target/dav1d/DAV1D-VERSION b/tools/depends/target/dav1d/DAV1D-VERSION
new file mode 100644
index 0000000000..bb6d404663
--- /dev/null
+++ b/tools/depends/target/dav1d/DAV1D-VERSION
@@ -0,0 +1,5 @@
+LIBNAME=dav1d
+VERSION=1.0.0
+ARCHIVE=$(LIBNAME)-$(VERSION).tar.bz2
+SHA512=86c6481e787fb6b8c28521e1efb1876d1be99f5fa5332cddab1111059b44775e05203cfc5c80a1b404ee00f35a1f5e1099e21b1f0851d77fb0101567e8b1a892
+BYPRODUCT=libdav1d.a
diff --git a/tools/depends/target/dav1d/Makefile b/tools/depends/target/dav1d/Makefile
new file mode 100644
index 0000000000..fb25c7891a
--- /dev/null
+++ b/tools/depends/target/dav1d/Makefile
@@ -0,0 +1,82 @@
+-include ../../Makefile.include
+include DAV1D-VERSION
+DEPS = Makefile DAV1D-VERSION ../../download-files.include
+
+ifeq ($(CROSS_COMPILING), yes)
+ DEPS += ../../Makefile.include
+ PYTHON = $(NATIVEPREFIX)/bin/python3
+ MESON = $(NATIVEPREFIX)/bin/meson
+ NINJA = $(NATIVEPREFIX)/bin/ninja
+else
+ ROOT_DIR := $(shell dirname $(realpath $(lastword $(MAKEFILE_LIST))))
+ PREFIX ?= $(ROOT_DIR)/dav1d-install
+ BASE_URL ?= http://mirrors.kodi.tv/build-deps/sources
+ AUTORECONF := autoreconf
+ RETRIEVE_TOOL := curl -Ls --retry 10 --retry-delay 3 -o $(ARCHIVE)
+ ARCHIVE_TOOL := tar --strip-components=1 -xf
+
+ ifeq ($(PLATFORM),)
+ PLATFORM = native
+ TARBALLS_LOCATION = $(ROOT_DIR)
+ HASH_TOOL = sha512sum
+ HASH_TOOL_FLAGS = -c --status
+ DAV1D_INSTALL_PREFIX = --prefix $(PREFIX)
+ MESON = meson
+ NINJA = ninja
+ endif
+endif
+
+
+MESON_BUILD_TYPE=release
+
+ifeq ($(DEBUG_BUILD), yes)
+ MESON_BUILD_TYPE=debug
+endif
+
+# configuration settings
+CONFIGURE = $(PYTHON) $(MESON) $(DAV1D_INSTALL_PREFIX) \
+ --buildtype=$(MESON_BUILD_TYPE) \
+ --default-library=static \
+ -Denable_asm=true \
+ -Denable_tools=false \
+ -Denable_examples=false \
+ -Denable_tests=false
+
+ifeq ($(CROSS_COMPILING), yes)
+CONFIGURE += --cross-file $(PREFIX)/share/cross-file.meson
+export CC=$(CC_FOR_BUILD)
+export CXX=$(CXX_FOR_BUILD)
+export CFLAGS=$(CFLAGS_FOR_BUILD)
+export CXXFLAGS=$(CXXFLAGS_FOR_BUILD)
+else
+export CC CXX CFLAGS CXXFLAGS
+endif
+export PKG_CONFIG_LIBDIR=$(PREFIX)/lib/pkgconfig
+
+LIBDYLIB=$(PLATFORM)/build/src/$(BYPRODUCT)
+
+include ../../download-files.include
+all: .installed-$(PLATFORM)
+
+download: $(TARBALLS_LOCATION)/$(ARCHIVE).$(HASH_TYPE)
+
+
+$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE).$(HASH_TYPE) $(DEPS)
+ rm -rf $(PLATFORM)/*; mkdir -p $(PLATFORM)
+ cd $(PLATFORM); $(ARCHIVE_TOOL) $(ARCHIVE_TOOL_FLAGS) $(TARBALLS_LOCATION)/$(ARCHIVE)
+ cd $(PLATFORM); rm -rf build; mkdir -p build
+ cd $(PLATFORM); $(CONFIGURE) . build
+
+$(LIBDYLIB): $(PLATFORM)
+ cd $(PLATFORM)/build; $(NINJA) -v
+
+.installed-$(PLATFORM): $(LIBDYLIB)
+ cd $(PLATFORM)/build; $(NINJA) -v install
+ touch $@
+
+clean:
+ $(MAKE) -C $(PLATFORM) clean
+ rm -f .installed-$(PLATFORM)
+
+distclean:
+ rm -rf $(PLATFORM) .installed-$(PLATFORM)
diff --git a/tools/depends/target/dbus/Makefile b/tools/depends/target/dbus/Makefile
index af1da0bfd1..a159bef7ff 100644
--- a/tools/depends/target/dbus/Makefile
+++ b/tools/depends/target/dbus/Makefile
@@ -1,11 +1,13 @@
include ../../Makefile.include
-DEPS= ../../Makefile.include Makefile
+DEPS = ../../Makefile.include Makefile ../../download-files.include
# lib name, version
LIBNAME=dbus
VERSION=1.11.16
SOURCE=$(LIBNAME)-$(VERSION)
ARCHIVE=$(SOURCE).tar.gz
+SHA512=991ba6293d5f305e5a7e4ce6b131ea7fddd3bebadbb5b8c2fec29ccb76ab324786a01b89d2df6a3a112756436549dc7b856e78d4adb3f7514c8537ad854741bc
+include ../../download-files.include
# configuration settings
CONFIGURE=./configure --prefix=$(PREFIX) \
@@ -15,10 +17,8 @@ LIBDYLIB=$(PLATFORM)/$(LIBNAME)/.libs/lib$(LIBNAME)-1.so
all: $(LIBDYLIB) .installed-$(PLATFORM)
-$(TARBALLS_LOCATION)/$(ARCHIVE):
- cd $(TARBALLS_LOCATION); $(RETRIEVE_TOOL) $(RETRIEVE_TOOL_FLAGS) $(BASE_URL)/$(ARCHIVE)
-$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE) $(DEPS)
+$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE).$(HASH_TYPE) $(DEPS)
rm -rf $(PLATFORM)/*; mkdir -p $(PLATFORM)
cd $(PLATFORM); $(ARCHIVE_TOOL) $(ARCHIVE_TOOL_FLAGS) $(TARBALLS_LOCATION)/$(ARCHIVE)
cd $(PLATFORM); $(CONFIGURE)
diff --git a/tools/depends/target/dummy-libxbmc/Makefile b/tools/depends/target/dummy-libxbmc/Makefile
index 9f4cbe3f7b..79de50dc10 100644
--- a/tools/depends/target/dummy-libxbmc/Makefile
+++ b/tools/depends/target/dummy-libxbmc/Makefile
@@ -1,7 +1,5 @@
include ../../Makefile.include
-VERSION.TXT := $(CMAKE_SOURCE_DIR)/version.txt
-DEPS= ../../Makefile.include Makefile dummy-libxbmc.c $(VERSION.TXT)
-APP_NAME=$(shell awk '/APP_NAME/ {print tolower($$2)}' $(VERSION.TXT))
+DEPS = ../../Makefile.include Makefile dummy-libxbmc.c
LIBDYLIB=lib$(APP_NAME).so
diff --git a/tools/depends/target/expat/EXPAT-VERSION b/tools/depends/target/expat/EXPAT-VERSION
new file mode 100644
index 0000000000..fac7be7543
--- /dev/null
+++ b/tools/depends/target/expat/EXPAT-VERSION
@@ -0,0 +1,6 @@
+LIBNAME=expat
+VERSION=2.4.9
+SOURCE=$(LIBNAME)-$(VERSION)
+ARCHIVE=$(SOURCE).tar.xz
+SHA512=8508379b4915d84d50f3638678a90792179c98247d1cb5e6e6387d117af4dc148ac7031c1debea8b96e7b710ef436cf0dd5da91f3d22b8186a00cfafe1201169
+BYPRODUCT=libexpat.a
diff --git a/tools/depends/target/expat/Makefile b/tools/depends/target/expat/Makefile
index 5de7a13cda..a36631b05a 100644
--- a/tools/depends/target/expat/Makefile
+++ b/tools/depends/target/expat/Makefile
@@ -1,36 +1,33 @@
-include ../../Makefile.include
-DEPS= ../../Makefile.include Makefile
-
-# lib name, version
-LIBNAME=expat
-VERSION=2.2.7
-SOURCE=$(LIBNAME)-$(VERSION)
-ARCHIVE=$(SOURCE).tar.bz2
+include ../../Makefile.include EXPAT-VERSION ../../download-files.include
+DEPS= ../../Makefile.include Makefile EXPAT-VERSION ../../download-files.include
# configuration settings
-CONFIGURE=cp -f $(CONFIG_SUB) $(CONFIG_GUESS) ./conftools; ./configure --prefix=$(PREFIX) --disable-shared
+CMAKE_OPTIONS=-DEXPAT_BUILD_TOOLS=OFF \
+ -DEXPAT_BUILD_EXAMPLES=OFF \
+ -DEXPAT_BUILD_TESTS=OFF \
+ -DEXPAT_SHARED_LIBS=OFF \
+ -DEXPAT_BUILD_DOCS=OFF \
+ -DEXPAT_BUILD_PKGCONFIG=ON
-LIBDYLIB=$(PLATFORM)/lib/.libs/lib$(LIBNAME).a
+LIBDYLIB=$(PLATFORM)/build/$(BYPRODUCT)
all: .installed-$(PLATFORM)
-$(TARBALLS_LOCATION)/$(ARCHIVE):
- cd $(TARBALLS_LOCATION); $(RETRIEVE_TOOL) $(RETRIEVE_TOOL_FLAGS) $(BASE_URL)/$(ARCHIVE)
-
-$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE) $(DEPS)
- rm -rf $(PLATFORM)/*; mkdir -p $(PLATFORM)
+$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE).$(HASH_TYPE) $(DEPS)
+ rm -rf $(PLATFORM); mkdir -p $(PLATFORM)
cd $(PLATFORM); $(ARCHIVE_TOOL) $(ARCHIVE_TOOL_FLAGS) $(TARBALLS_LOCATION)/$(ARCHIVE)
- cd $(PLATFORM); $(CONFIGURE)
+ cd $(PLATFORM); mkdir -p build
+ cd $(PLATFORM)/build; $(CMAKE) $(CMAKE_OPTIONS) ..
$(LIBDYLIB): $(PLATFORM)
- $(MAKE) -C $(PLATFORM)
+ $(MAKE) -C $(PLATFORM)/build
.installed-$(PLATFORM): $(LIBDYLIB)
- $(MAKE) -C $(PLATFORM) install
+ $(MAKE) -C $(PLATFORM)/build install
touch $@
clean:
- $(MAKE) -C $(PLATFORM) clean
+ $(MAKE) -C $(PLATFORM)/build clean
rm -f .installed-$(PLATFORM)
distclean::
diff --git a/tools/depends/target/ffmpeg/CMakeLists.txt b/tools/depends/target/ffmpeg/CMakeLists.txt
index 5ee90c4b79..f09258058b 100644
--- a/tools/depends/target/ffmpeg/CMakeLists.txt
+++ b/tools/depends/target/ffmpeg/CMakeLists.txt
@@ -2,22 +2,42 @@ project(ffmpeg)
cmake_minimum_required(VERSION 2.8)
-list(APPEND CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR})
-
if(ENABLE_CCACHE AND CCACHE_PROGRAM)
- set(ffmpeg_conf "--cc=${CCACHE_PROGRAM} ${CMAKE_C_COMPILER}" "--cxx=${CCACHE_PROGRAM} ${CMAKE_CXX_COMPILER}")
+ set(ffmpeg_conf "--cc=${CCACHE_PROGRAM} ${CMAKE_C_COMPILER}"
+ "--cxx=${CCACHE_PROGRAM} ${CMAKE_CXX_COMPILER}"
+ )
else()
- set(ffmpeg_conf --cc=${CMAKE_C_COMPILER} --cxx=${CMAKE_CXX_COMPILER})
+ set(ffmpeg_conf --cc=${CMAKE_C_COMPILER}
+ --cxx=${CMAKE_CXX_COMPILER}
+ )
endif()
if(CROSSCOMPILING)
set(pkgconf "PKG_CONFIG_LIBDIR=${DEPENDS_PATH}/lib/pkgconfig")
- list(APPEND ffmpeg_conf --pkg-config=${PKG_CONFIG_EXECUTABLE} --pkg-config-flags=--static)
- list(APPEND ffmpeg_conf --enable-cross-compile --cpu=${CPU} --arch=${CPU} --target-os=${OS})
- list(APPEND ffmpeg_conf --ar=${CMAKE_AR} --strip=${CMAKE_STRIP})
+ list(APPEND ffmpeg_conf --pkg-config=${PKG_CONFIG_EXECUTABLE}
+ --pkg-config-flags=--static
+ --enable-cross-compile
+ --enable-pic
+ --ar=${CMAKE_AR}
+ --ranlib=${CMAKE_RANLIB}
+ --strip=${CMAKE_STRIP}
+ )
+
message(STATUS "CROSS: ${ffmpeg_conf}")
endif()
+set(CONFIGARCH --arch=${CPU})
+
+list(APPEND ffmpeg_conf --disable-doc
+ --disable-devices
+ --disable-programs
+ --disable-sdl2
+ --enable-gpl
+ --enable-postproc
+ --enable-runtime-cpudetect
+ --enable-pthreads
+ )
+
if(CMAKE_C_FLAGS)
list(APPEND ffmpeg_conf --extra-cflags=${CMAKE_C_FLAGS})
endif()
@@ -39,83 +59,99 @@ if(CMAKE_BUILD_TYPE STREQUAL Release)
endif()
if(CORE_SYSTEM_NAME STREQUAL linux OR CORE_SYSTEM_NAME STREQUAL freebsd)
- if(CORE_PLATFORM_NAME STREQUAL rbpi)
- list(APPEND ffmpeg_conf --cpu=${CPU} --disable-vaapi --disable-vdpau)
+ list(APPEND ffmpeg_conf --enable-pic
+ --target-os=linux
+ )
+ if(ENABLE_VAAPI)
+ list(APPEND ffmpeg_conf --enable-vaapi)
+ else()
+ list(APPEND ffmpeg_conf --disable-vaapi)
+ endif()
+ if(ENABLE_VDPAU)
+ list(APPEND ffmpeg_conf --enable-vdpau)
else()
- list(APPEND ffmpeg_conf --enable-pic)
- if(ENABLE_VAAPI)
- list(APPEND ffmpeg_conf --enable-vaapi)
- else()
- list(APPEND ffmpeg_conf --disable-vaapi)
- endif()
- if(ENABLE_VDPAU)
- list(APPEND ffmpeg_conf --enable-vdpau)
- else()
- list(APPEND ffmpeg_conf --disable-vdpau)
- endif()
+ list(APPEND ffmpeg_conf --disable-vdpau)
endif()
elseif(CORE_SYSTEM_NAME STREQUAL android)
+ list(APPEND ffmpeg_conf --target-os=android
+ --extra-libs=-liconv
+ --disable-linux-perf
+ )
if(CPU MATCHES arm64)
- list(APPEND ffmpeg_conf --cpu=cortex-a53 --arch=aarch64)
+ set(CONFIGARCH --arch=aarch64)
+ list(APPEND ffmpeg_conf --cpu=cortex-a53)
elseif(CPU MATCHES arm)
list(APPEND ffmpeg_conf --cpu=cortex-a9)
+ elseif(CPU MATCHES x86_64)
+ list(APPEND ffmpeg_conf --cpu=x86_64)
+ list(APPEND ffmpeg_conf --extra-cflags=-mno-stackrealign)
else()
list(APPEND ffmpeg_conf --cpu=i686 --disable-mmx)
+ list(APPEND ffmpeg_conf --extra-cflags=-mno-stackrealign)
endif()
- list(APPEND ffmpeg_conf --target-os=linux --extra-libs=-liconv --disable-linux-perf)
elseif(CORE_SYSTEM_NAME STREQUAL darwin_embedded)
- if(NOT CPU MATCHES arm64)
- list(APPEND ffmpeg_conf --cpu=cortex-a8)
- else()
- list(APPEND ffmpeg_conf "--as=${NATIVEPREFIX}/bin/gas-preprocessor.pl -arch aarch64 -- ${CMAKE_C_COMPILER}")
- endif()
- list(APPEND ffmpeg_conf --disable-decoder=mpeg_xvmc --disable-crystalhd --enable-videotoolbox
- --target-os=darwin)
+ list(APPEND ffmpeg_conf --disable-crystalhd
+ --enable-videotoolbox
+ --target-os=darwin
+ )
elseif(CORE_SYSTEM_NAME STREQUAL osx)
- list(APPEND ffmpeg_conf --disable-decoder=mpeg_xvmc --disable-crystalhd --enable-videotoolbox
+ list(APPEND ffmpeg_conf --disable-crystalhd
+ --enable-videotoolbox
--target-os=darwin
- --disable-securetransport)
+ --disable-securetransport
+ )
endif()
-if(CPU MATCHES arm OR CORE_PLATFORM_NAME STREQUAL rbpi)
- list(APPEND ffmpeg_conf --enable-pic --disable-armv5te --disable-armv6t2)
+if(CPU MATCHES arm)
+ list(APPEND ffmpeg_conf --disable-armv5te --disable-armv6t2)
elseif(CPU MATCHES mips)
list(APPEND ffmpeg_conf --disable-mips32r2 --disable-mipsdsp --disable-mipsdspr2)
endif()
-find_package(GnuTls)
+find_package(GnuTLS)
if(GNUTLS_FOUND)
list(APPEND ffmpeg_conf --enable-gnutls)
endif()
+if(CPU MATCHES x86 OR CPU MATCHES x86_64)
+ find_package(NASM REQUIRED)
+ list(APPEND ffmpeg_conf --x86asmexe=${NASM_EXECUTABLE})
+endif()
+
+if(ENABLE_DAV1D)
+ list(APPEND ffmpeg_conf --enable-libdav1d)
+ set(pkgconf_path "PKG_CONFIG_PATH=${PKG_CONFIG_PATH}")
+else()
+ list(APPEND ffmpeg_conf --disable-libdav1d)
+endif()
+
+if(EXTRA_FLAGS)
+ string(REPLACE " " ";" EXTRA_FLAGS ${EXTRA_FLAGS})
+ list(APPEND ffmpeg_conf ${EXTRA_FLAGS})
+endif()
+
+list(APPEND ffmpeg_conf ${CONFIGARCH})
+
message(STATUS "FFMPEG_CONF: ${ffmpeg_conf}")
+set(MAKE_COMMAND $(MAKE))
+if(CMAKE_GENERATOR STREQUAL Ninja)
+ set(MAKE_COMMAND make)
+ include(ProcessorCount)
+ ProcessorCount(N)
+ if(NOT N EQUAL 0)
+ set(MAKE_COMMAND make -j${N})
+ endif()
+endif()
+
include(ExternalProject)
externalproject_add(ffmpeg
SOURCE_DIR ${CMAKE_SOURCE_DIR}
- CONFIGURE_COMMAND ${pkgconf} <SOURCE_DIR>/configure
+ CONFIGURE_COMMAND ${pkgconf} ${pkgconf_path} <SOURCE_DIR>/configure
--prefix=${CMAKE_INSTALL_PREFIX}
--extra-version="kodi-${FFMPEG_VER}"
- --disable-devices
- --disable-doc
- --disable-ffplay
- --disable-ffmpeg
- --disable-ffprobe
- --enable-gpl
- --enable-runtime-cpudetect
- --enable-postproc
- --enable-pthreads
- --enable-muxer=spdif
- --enable-muxer=adts
- --enable-muxer=asf
- --enable-muxer=ipod
- --enable-encoder=ac3
- --enable-encoder=aac
- --enable-encoder=wmav2
- --enable-protocol=http
- --enable-encoder=png
- --enable-encoder=mjpeg
- ${ffmpeg_conf})
+ ${ffmpeg_conf}
+ BUILD_COMMAND ${MAKE_COMMAND})
install(CODE "Message(Done)")
diff --git a/tools/depends/target/ffmpeg/FFMPEG-VERSION b/tools/depends/target/ffmpeg/FFMPEG-VERSION
index 620fe798de..2c9eda8750 100644
--- a/tools/depends/target/ffmpeg/FFMPEG-VERSION
+++ b/tools/depends/target/ffmpeg/FFMPEG-VERSION
@@ -1,4 +1,5 @@
LIBNAME=ffmpeg
BASE_URL=https://github.com/xbmc/FFmpeg
-VERSION=4.0.4-Leia-18.4
+VERSION=4.4.1-Nexus-Alpha1
ARCHIVE=$(LIBNAME)-$(VERSION).tar.gz
+SHA512=8beb04d577b5251e74b0d52f4d130997a8ba94bbd488c7c8309e6b45095c27807e150212888ce3a384b23dff52f8df1a7bde5407bae924ddc363f8125c0616c5
diff --git a/tools/depends/target/ffmpeg/FindGnuTls.cmake b/tools/depends/target/ffmpeg/FindGnuTls.cmake
deleted file mode 100644
index 68c35d6b7e..0000000000
--- a/tools/depends/target/ffmpeg/FindGnuTls.cmake
+++ /dev/null
@@ -1,27 +0,0 @@
-# - Try to find gnutls
-# Once done this will define
-#
-# GNUTLS_FOUND - system has gnutls
-# GNUTLS_INCLUDE_DIRS - the gnutls include directory
-# GNUTLS_LIBRARIES - The gnutls libraries
-
-include(FindPkgConfig)
-find_package(PkgConfig)
-
-if(PKG_CONFIG_FOUND)
- pkg_check_modules (GNUTLS gnutls)
-endif()
-
-if(NOT GNUTLS_FOUND)
- find_path(GNUTLS_INCLUDE_DIRS gnutls/gnutls.h)
- find_library(GNUTLS_LIBRARIES gnutls)
-endif()
-
-include(FindPackageHandleStandardArgs)
-find_package_handle_standard_args(GnuTls DEFAULT_MSG GNUTLS_INCLUDE_DIRS GNUTLS_LIBRARIES)
-
-if(GNUTLS_FOUND)
- list(APPEND GNUTLS_DEFINITIONS -DHAVE_GNUTLS=1)
-endif()
-
-mark_as_advanced(GNUTLS_INCLUDE_DIRS GNUTLS_LIBRARIES GNUTLS_DEFINITIONS)
diff --git a/tools/depends/target/ffmpeg/Makefile b/tools/depends/target/ffmpeg/Makefile
index 731109ff24..5cdc4ffa3e 100644
--- a/tools/depends/target/ffmpeg/Makefile
+++ b/tools/depends/target/ffmpeg/Makefile
@@ -1,72 +1,37 @@
include ../../Makefile.include
-include FFMPEG-VERSION
-DEPS= ../../Makefile.include FFMPEG-VERSION Makefile
+include FFMPEG-VERSION ../../download-files.include
+DEPS = ../../Makefile.include FFMPEG-VERSION Makefile ../../download-files.include
-# set to "yes" to enable patching
-# we don't apply patches until we move to a vanilla ffmpeg tarball
-APPLY_PATCHES=no
+BUILD_TYPE = Release
+ifeq ($(DEBUG_BUILD),yes)
+ BUILD_TYPE = Debug
+endif
-# configuration settings
-ffmpg_config = --prefix=$(PREFIX) --extra-version="kodi-$(VERSION)"
-ffmpg_config += --cc="$(CC)" --cxx="$(CXX)" --ar=$(AR) --ranlib=$(RANLIB) --strip=$(STRIP)
-ffmpg_config += --disable-devices --disable-doc
-ffmpg_config += --disable-ffplay --disable-ffmpeg
-ffmpg_config += --disable-ffprobe
-ffmpg_config += --disable-sdl2
-ffmpg_config += --enable-gpl --enable-runtime-cpudetect
-ffmpg_config += --enable-postproc --enable-pthreads
-ffmpg_config += --enable-muxer=spdif --enable-muxer=adts
-ffmpg_config += --enable-muxer=asf --enable-muxer=ipod
-ffmpg_config += --enable-encoder=ac3 --enable-encoder=aac
-ffmpg_config += --enable-encoder=wmav2 --enable-protocol=http
-ffmpg_config += --enable-gnutls
-ffmpg_config += --enable-encoder=png --enable-encoder=mjpeg
-ffmpg_config += $(FFMPEG_CONFIGURE_OPTIONS)
+CMAKE_ARGS=-DCMAKE_BUILD_TYPE=$(BUILD_TYPE) \
+ -DCMAKE_MODULE_PATH="$(CMAKE_SOURCE_DIR)/cmake/modules;$(CMAKE_SOURCE_DIR)/cmake/modules/buildtools" \
+ -DPKG_CONFIG_PATH=$(PREFIX)/lib/pkgconfig \
+ -DCMAKE_INSTALL_PREFIX=$(PREFIX) \
+ -DFFMPEG_VER=$(VERSION) \
+ -DENABLE_DAV1D=ON \
+ -DEXTRA_FLAGS="$(FFMPEG_CONFIGURE_OPTIONS)"
-ifeq ($(CROSS_COMPILING), yes)
- ffmpg_config += --arch=$(CPU) --enable-cross-compile
+ifeq ($(USE_CCACHE), yes)
+ CMAKE_ARGS+= -DENABLE_CCACHE=$(USE_CCACHE) \
+ -DCCACHE_PROGRAM=$(CCACHE)
endif
-ifeq ($(OS), linux)
- ffmpg_config += --target-os=$(OS)
- ffmpg_config += --enable-pic
+
+ifeq ($(CROSS_COMPILING), yes)
+ CMAKE_ARGS+= -DPKG_CONFIG_EXECUTABLE=$(NATIVEPREFIX)/bin/pkg-config \
+ -DCROSSCOMPILING=$(CROSS_COMPILING)
+ -DCMAKE_AR=$(AR) \
+ -DCMAKE_RANLIB=$(RANLIB) \
+ -DCMAKE_STRIP=$(STRIP)
endif
+
ifeq ($(OS), android)
ifeq ($(findstring arm64, $(CPU)), arm64)
- ffmpg_config += --arch=aarch64 --cpu=cortex-a53
- else
- ifeq ($(findstring arm, $(CPU)), arm)
- ffmpg_config += --cpu=cortex-a9
- else
- ffmpg_config += --cpu=i686 --disable-mmx
- ffmpg_config += --extra-cflags=-no-integrated-as --extra-cflags=-mno-stackrealign
- endif
- endif
- ffmpg_config += --target-os=linux --extra-libs=-liconv --disable-linux-perf
-endif
-ifeq ($(OS), darwin_embedded)
- ifneq ($(CPU), arm64)
- ffmpg_config += --cpu=cortex-a8
- ffmpg_config += --as="$(NATIVEPREFIX)/bin/gas-preprocessor.pl -- $(CC)"
- else
- ffmpg_config += --as="$(NATIVEPREFIX)/bin/gas-preprocessor.pl -arch aarch64 -- $(CC)"
+ CMAKE_ARGS+= -DENABLE_NEON=YES
endif
- ffmpg_config += --yasmexe=$(NATIVEPREFIX)/bin/yasm
- ffmpg_config += --disable-decoder=mpeg_xvmc --disable-crystalhd --enable-videotoolbox
- ffmpg_config += --target-os=darwin
-endif
-ifeq ($(OS), osx)
- ffmpg_config += --disable-decoder=mpeg_xvmc --disable-crystalhd --enable-videotoolbox
- ffmpg_config += --target-os=darwin
- ffmpg_config += --disable-securetransport
-endif
-ifeq ($(findstring arm, $(CPU)), arm)
- ffmpg_config += --enable-pic --disable-armv5te --disable-armv6t2
-endif
-ifeq ($(findstring mips, $(CPU)), mips)
- ffmpg_config += --disable-mips32r2 --disable-mipsdsp --disable-mipsdspr2
-endif
-ifeq ($(Configuration), Release)
- ffmpg_config += --disable-debug
endif
all: .installed-$(PLATFORM)
@@ -74,23 +39,19 @@ all: .installed-$(PLATFORM)
$(TARBALLS_LOCATION)/$(ARCHIVE):
cd $(TARBALLS_LOCATION); $(RETRIEVE_TOOL) -Ls --create-dirs -f -o $(TARBALLS_LOCATION)/$(ARCHIVE) $(BASE_URL)/archive/$(VERSION).tar.gz
-$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE) $(DEPS)
+$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE).$(HASH_TYPE) $(DEPS)
rm -rf $(PLATFORM); mkdir -p $(PLATFORM)
+ rm -rf $(PLATFORM); mkdir -p $(PLATFORM)/build
cd $(PLATFORM); $(ARCHIVE_TOOL) $(ARCHIVE_TOOL_FLAGS) $(TARBALLS_LOCATION)/$(ARCHIVE)
- cd $(PLATFORM); sed -i".bak" -e "s%pkg_config_default=pkg-config%export PKG_CONFIG_LIBDIR=$(PREFIX)/lib/pkgconfig \&\& pkg_config_default=$(NATIVEPREFIX)/bin/pkg-config%" configure
- cd $(PLATFORM);\
- CFLAGS="$(CFLAGS)" CXXFLAGS="$(CXXFLAGS)" CPPFLAGS="$(CPPFLAGS)" LDFLAGS="$(LDFLAGS)" \
- ./configure $(ffmpg_config)
-ifeq ($(OS), darwin_embedded)
- cd $(PLATFORM); sed -i -- 's/HAVE_CLOCK_GETTIME 1/HAVE_CLOCK_GETTIME 0/g' config.h
-endif
+ cd $(PLATFORM); cp ../CMakeLists.txt ./
+ cd $(PLATFORM)/build; $(CMAKE) $(CMAKE_ARGS) ..
.build-$(PLATFORM): $(PLATFORM)
- $(MAKE) -C $(PLATFORM)
+ $(MAKE) -C $(PLATFORM)/build
touch $@
.installed-$(PLATFORM): .build-$(PLATFORM)
- $(MAKE) -C $(PLATFORM) install
+ $(MAKE) -C $(PLATFORM)/build install
touch $@
clean:
diff --git a/tools/depends/target/ffmpeg/autobuild.sh b/tools/depends/target/ffmpeg/autobuild.sh
index dc990b8ab0..fcbc8fa452 100755
--- a/tools/depends/target/ffmpeg/autobuild.sh
+++ b/tools/depends/target/ffmpeg/autobuild.sh
@@ -161,6 +161,7 @@ CFLAGS="$CFLAGS" CXXFLAGS="$CXXFLAGS" LDFLAGS="$LDFLAGS" \
--enable-pthreads \
--enable-pic \
--enable-zlib \
+ --enable-libdav1d \
--disable-mipsdsp \
--disable-mipsdspr2 \
${FLAGS}
diff --git a/tools/depends/target/flatbuffers/FLATBUFFERS-VERSION b/tools/depends/target/flatbuffers/FLATBUFFERS-VERSION
new file mode 100644
index 0000000000..4d05761cfa
--- /dev/null
+++ b/tools/depends/target/flatbuffers/FLATBUFFERS-VERSION
@@ -0,0 +1,4 @@
+LIBNAME=flatbuffers
+VERSION=2.0.0
+ARCHIVE=$(LIBNAME)-$(VERSION).tar.gz
+SHA512=26a06b572c0e4c9685743bd2d2162ac7dcd74b9324624cc3f3ef5b154c0cee7c52a04b77cdc184245d2d6ae38dfdcc4fd66001c318aa8ca001d2bf1d85d66a89
diff --git a/tools/depends/target/flatbuffers/Makefile b/tools/depends/target/flatbuffers/Makefile
index 474ae070a6..cd65e66c7f 100644
--- a/tools/depends/target/flatbuffers/Makefile
+++ b/tools/depends/target/flatbuffers/Makefile
@@ -1,11 +1,6 @@
-include ../../Makefile.include
-DEPS=Makefile
-
-# lib name, version
-LIBNAME=flatbuffers
-VERSION=1.11.0
-SOURCE=$(LIBNAME)-$(VERSION)
-ARCHIVE=$(SOURCE).tar.gz
+include FLATBUFFERS-VERSION
+DEPS = Makefile FLATBUFFERS-VERSION ../../download-files.include
ifeq ($(PLATFORM),)
# Building stand-alone
@@ -18,6 +13,8 @@ ifeq ($(PLATFORM),)
CMAKE := cmake
CMAKE_OPTIONS := -DCMAKE_INSTALL_PREFIX=$(PREFIX) $(CMAKE_OPTIONS)
BUILD_FLATC=ON
+ HASH_TOOL := sha512sum
+ HASH_TOOL_FLAGS = -c --status
else
# Building as part of depends
DEPS += ../../Makefile.include
@@ -36,18 +33,17 @@ CMAKE_OPTIONS := -DCMAKE_BUILD_TYPE=Release \
$(CMAKE_OPTIONS)
BUILDDIR = $(PLATFORM)/build-cmake # 'build' conflicts with file BUILD on case-insensitive FS
-all: .installed-$(PLATFORM)
+include ../../download-files.include
-$(TARBALLS_LOCATION)/$(ARCHIVE):
- cd $(TARBALLS_LOCATION); $(RETRIEVE_TOOL) $(RETRIEVE_TOOL_FLAGS) $(BASE_URL)/$(ARCHIVE)
+all: .installed-$(PLATFORM)
-$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE) $(DEPS)
+$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE).$(HASH_TYPE) $(DEPS)
ifeq ($(PREFIX),)
@echo
@echo "ERROR: please set PREFIX to the kodi install path e.g. make PREFIX=/usr/local"
@exit 1
endif
- rm -rf $(PLATFORM)/*; mkdir -p $(PLATFORM)
+ rm -rf ./$(PLATFORM); mkdir -p $(PLATFORM)
cd $(PLATFORM); $(ARCHIVE_TOOL) $(ARCHIVE_TOOL_FLAGS) $(TARBALLS_LOCATION)/$(ARCHIVE)
mkdir -p $(BUILDDIR)
cd $(BUILDDIR); $(CMAKE) $(CMAKE_OPTIONS) ..
diff --git a/tools/depends/target/fmt/001-windows-pdb-symbol-gen.patch b/tools/depends/target/fmt/001-windows-pdb-symbol-gen.patch
new file mode 100644
index 0000000000..7722f13dd3
--- /dev/null
+++ b/tools/depends/target/fmt/001-windows-pdb-symbol-gen.patch
@@ -0,0 +1,38 @@
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -249,6 +249,16 @@
+
+ set(FMT_DEBUG_POSTFIX d CACHE STRING "Debug library postfix.")
+
++if (WIN32 OR WINDOWS_STORE)
++ set_target_properties(fmt PROPERTIES
++ VERSION ${FMT_VERSION} SOVERSION ${CPACK_PACKAGE_VERSION_MAJOR}
++ OUTPUT_NAME fmt
++ OUTPUT_NAME_DEBUG fmt${FMT_DEBUG_POSTFIX}
++ COMPILE_PDB_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}
++ COMPILE_PDB_NAME fmt
++ COMPILE_PDB_NAME_DEBUG fmt${FMT_DEBUG_POSTFIX}
++ )
++endif()
+ set_target_properties(fmt PROPERTIES
+ VERSION ${FMT_VERSION} SOVERSION ${CPACK_PACKAGE_VERSION_MAJOR}
+ PUBLIC_HEADER "${FMT_HEADERS}"
+@@ -339,6 +350,18 @@
+ install(EXPORT ${targets_export_name} DESTINATION ${FMT_CMAKE_DIR}
+ NAMESPACE fmt::)
+
++ # Install COMPILE_PDB Files for windows
++ if(NOT BUILD_SHARED_LIBS AND (WIN32 OR WINDOWS_STORE))
++ install(FILES ${PROJECT_BINARY_DIR}/RelWithDebInfo/fmt.pdb
++ DESTINATION lib
++ CONFIGURATIONS RelWithDebInfo
++ )
++ install(FILES ${PROJECT_BINARY_DIR}/Debug/fmtd.pdb
++ DESTINATION lib
++ CONFIGURATIONS Debug
++ )
++ endif()
++
+ install(FILES $<TARGET_PDB_FILE:${INSTALL_TARGETS}>
+ DESTINATION ${FMT_LIB_DIR} OPTIONAL)
+ install(FILES "${pkgconfig}" DESTINATION "${FMT_PKGCONFIG_DIR}")
diff --git a/tools/depends/target/fmt/FMT-VERSION b/tools/depends/target/fmt/FMT-VERSION
new file mode 100644
index 0000000000..f887185bd7
--- /dev/null
+++ b/tools/depends/target/fmt/FMT-VERSION
@@ -0,0 +1,6 @@
+LIBNAME=fmt
+VERSION=9.1.0
+ARCHIVE=$(LIBNAME)-$(VERSION).tar.gz
+SHA512=a18442042722dd48e20714ec034a12fcc0576c9af7be5188586970e2edf47529825bdc99af366b1d5891630c8dbf6f63bfa9f012e77ab3d3ed80d1a118e3b2be
+BYPRODUCT=libfmt.a
+BYPRODUCT_WIN=fmt.lib
diff --git a/tools/depends/target/libfmt/Makefile b/tools/depends/target/fmt/Makefile
index 6c61bceaa9..abff52527d 100644
--- a/tools/depends/target/libfmt/Makefile
+++ b/tools/depends/target/fmt/Makefile
@@ -1,18 +1,13 @@
-include ../../Makefile.include
-DEPS = Makefile
+include FMT-VERSION
+DEPS = Makefile FMT-VERSION ../../download-files.include \
+ 001-windows-pdb-symbol-gen.patch
-# lib name, version
-LIBNAME=fmt
-VERSION=5.1.0
-SOURCE=$(LIBNAME)-$(VERSION)
-ARCHIVE=$(SOURCE).tar.gz
-
-CMAKE_OPTIONS=-DFMT_DOC=OFF -DFMT_INSTALL=ON -DFMT_TEST=OFF -DFMT_USE_CPP11=ON
+CMAKE_OPTIONS=-DCMAKE_CXX_STANDARD=17 -DCMAKE_CXX_EXTENSIONS:BOOL=OFF -DFMT_DOC=OFF -DFMT_INSTALL=ON -DFMT_TEST=OFF
ifeq ($(CROSS_COMPILING), yes)
DEPS += ../../Makefile.include
else
- CXXFLAGS += -std=c++11
ROOT_DIR := $(shell dirname $(realpath $(lastword $(MAKEFILE_LIST))))
ifeq ($(PLATFORM),)
@@ -25,19 +20,20 @@ else
ARCHIVE_TOOL_FLAGS := --strip-components=1 -xf
CMAKE := cmake
CMAKE_OPTIONS := -DCMAKE_INSTALL_PREFIX=$(PREFIX) $(CMAKE_OPTIONS)
+ HASH_TOOL := sha512sum
endif
endif
-LIBDYLIB=$(PLATFORM)/build/$(LIBNAME)/libfmt.a
+LIBDYLIB=$(PLATFORM)/build/$(BYPRODUCT)
+
+include ../../download-files.include
.PHONY: .installed-native
all: .installed-$(PLATFORM)
-$(TARBALLS_LOCATION)/$(ARCHIVE):
- cd $(TARBALLS_LOCATION); $(RETRIEVE_TOOL) $(RETRIEVE_TOOL_FLAGS) $(BASE_URL)/$(ARCHIVE)
-$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE) $(DEPS)
+$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE).$(HASH_TYPE) $(DEPS)
ifeq ($(PREFIX),)
@echo
@echo "ERROR: please set PREFIX to the kodi install path e.g. make PREFIX=/usr/local"
@@ -46,6 +42,7 @@ endif
rm -rf $(PLATFORM); mkdir -p $(PLATFORM)
cd $(PLATFORM); $(ARCHIVE_TOOL) $(ARCHIVE_TOOL_FLAGS) $(TARBALLS_LOCATION)/$(ARCHIVE)
cd $(PLATFORM); rm -rf build; mkdir -p build
+ cd $(PLATFORM); patch -p1 -i ../001-windows-pdb-symbol-gen.patch
cd $(PLATFORM)/build; $(CMAKE) $(CMAKE_OPTIONS) ..
$(LIBDYLIB): $(PLATFORM)
@@ -61,4 +58,3 @@ clean:
distclean::
rm -rf $(PLATFORM) .installed-$(PLATFORM)
-
diff --git a/tools/depends/target/fontconfig/01-disable-test.patch b/tools/depends/target/fontconfig/01-disable-test.patch
deleted file mode 100644
index f3c6cfe3c1..0000000000
--- a/tools/depends/target/fontconfig/01-disable-test.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- a/Makefile.am
-+++ b/Makefile.am
-@@ -24,7 +24,7 @@
- SUBDIRS=fontconfig fc-case fc-lang src \
- fc-cache fc-cat fc-conflist fc-list fc-match \
- fc-pattern fc-query fc-scan fc-validate conf.d \
-- its po po-conf test
-+ its po po-conf
- if ENABLE_DOCS
- SUBDIRS += doc
- endif
diff --git a/tools/depends/target/fontconfig/FONTCONFIG-VERSION b/tools/depends/target/fontconfig/FONTCONFIG-VERSION
new file mode 100644
index 0000000000..60e2d311df
--- /dev/null
+++ b/tools/depends/target/fontconfig/FONTCONFIG-VERSION
@@ -0,0 +1,7 @@
+LIBNAME=fontconfig
+VERSION=2.14.0
+ARCHIVE=$(LIBNAME)-$(VERSION).tar.xz
+SHA512=a5257249d031b3cd1a7b1521cd58f48d235a970020da4136a727db5407ec98e74a3776bc467d7e39f30ec664f56ff9fe39068317744a5e737a65109f7a005bfc
+BYPRODUCT=libfontconfig.a
+
+BASE_URL=https://www.freedesktop.org/software/fontconfig/release
diff --git a/tools/depends/target/fontconfig/Makefile b/tools/depends/target/fontconfig/Makefile
index 9cc0ec27db..4386e54f0a 100644
--- a/tools/depends/target/fontconfig/Makefile
+++ b/tools/depends/target/fontconfig/Makefile
@@ -1,37 +1,41 @@
-include ../../Makefile.include
-DEPS= ../../Makefile.include 01-disable-test.patch lconv.patch fix-aarch64_atomics.patch Makefile
+include ../../Makefile.include FONTCONFIG-VERSION ../../download-files.include
+DEPS = ../../Makefile.include FONTCONFIG-VERSION Makefile ../../download-files.include
-# lib name, version
-LIBNAME=fontconfig
-VERSION=2.13.1
-SOURCE=$(LIBNAME)-$(VERSION)
-ARCHIVE=$(SOURCE).tar.bz2
+# configuration settings
+MESON_BUILD_TYPE=release
+
+ifeq ($(DEBUG_BUILD), yes)
+ MESON_BUILD_TYPE=debug
+endif
# configuration settings
-CONFIGURE=./configure --prefix=$(PREFIX) \
- --disable-libxml2 --disable-docs --with-arch=$(PLATFORM) --disable-shared
+CONFIGURE = $(NATIVEPREFIX)/bin/python3 $(NATIVEPREFIX)/bin/meson \
+ --buildtype=$(MESON_BUILD_TYPE) \
+ --prefix=$(PREFIX) \
+ -Ddoc=disabled \
+ -Dtests=disabled \
+ -Dtools=disabled \
+ -Ddefault_library=static
-LIBDYLIB=$(PLATFORM)/src/.libs/lib$(LIBNAME).a
+ifeq ($(CROSS_COMPILING), yes)
+ CONFIGURE += -Dcache-build=disabled \
+ --cross-file $(PREFIX)/share/cross-file.meson
+endif
-all: .installed-$(PLATFORM)
+LIBDYLIB=$(PLATFORM)/build/src/$(BYPRODUCT)
-$(TARBALLS_LOCATION)/$(ARCHIVE):
- cd $(TARBALLS_LOCATION); $(RETRIEVE_TOOL) $(RETRIEVE_TOOL_FLAGS) $(BASE_URL)/$(ARCHIVE)
+all: .installed-$(PLATFORM)
-$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE) $(DEPS)
+$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE).$(HASH_TYPE) $(DEPS)
rm -rf $(PLATFORM)/*; mkdir -p $(PLATFORM)
cd $(PLATFORM); $(ARCHIVE_TOOL) $(ARCHIVE_TOOL_FLAGS) $(TARBALLS_LOCATION)/$(ARCHIVE)
- cd $(PLATFORM); patch -p1 -i ../01-disable-test.patch
- cd $(PLATFORM); patch -p1 -i ../lconv.patch
- cd $(PLATFORM); patch -p1 -i ../fix-aarch64_atomics.patch
- cd $(PLATFORM); $(AUTORECONF) -vif
- cd $(PLATFORM); $(CONFIGURE)
+ cd $(PLATFORM); $(CONFIGURE) . build
$(LIBDYLIB): $(PLATFORM)
- $(MAKE) -C $(PLATFORM)
+ cd $(PLATFORM)/build; $(NATIVEPREFIX)/bin/ninja -v
.installed-$(PLATFORM): $(LIBDYLIB)
- $(MAKE) -C $(PLATFORM) install
+ cd $(PLATFORM)/build; $(NATIVEPREFIX)/bin/ninja -v install
touch $@
clean:
diff --git a/tools/depends/target/fontconfig/fix-aarch64_atomics.patch b/tools/depends/target/fontconfig/fix-aarch64_atomics.patch
deleted file mode 100644
index 67ec51deeb..0000000000
--- a/tools/depends/target/fontconfig/fix-aarch64_atomics.patch
+++ /dev/null
@@ -1,25 +0,0 @@
---- a/src/fcatomic.h
-+++ b/src/fcatomic.h
-@@ -70,18 +70,18 @@
- #elif !defined(FC_NO_MT) && defined(__APPLE__)
-
- #include <libkern/OSAtomic.h>
--#ifdef __MAC_OS_X_MIN_REQUIRED
- #include <AvailabilityMacros.h>
--#elif defined(__IPHONE_OS_MIN_REQUIRED)
--#include <Availability.h>
--#endif
-
- typedef int fc_atomic_int_t;
- #define fc_atomic_int_add(AI, V) (OSAtomicAdd32Barrier ((V), &(AI)) - (V))
-
- #define fc_atomic_ptr_get(P) (OSMemoryBarrier (), (void *) *(P))
- #if (MAC_OS_X_VERSION_MIN_REQUIRED > MAC_OS_X_VERSION_10_4 || __IPHONE_VERSION_MIN_REQUIRED >= 20100)
-+#if __aarch64__
-+#define fc_atomic_ptr_cmpexch(P,O,N) OSAtomicCompareAndSwap64Barrier ((int64_t) (O), (int64_t) (N), (int64_t*) (P))
-+#else
- #define fc_atomic_ptr_cmpexch(P,O,N) OSAtomicCompareAndSwapPtrBarrier ((void *) (O), (void *) (N), (void **) (P))
-+#endif
- #else
- #if __ppc64__ || __x86_64__
- #define fc_atomic_ptr_cmpexch(P,O,N) OSAtomicCompareAndSwap64Barrier ((int64_t) (O), (int64_t) (N), (int64_t*) (P))
diff --git a/tools/depends/target/fontconfig/lconv.patch b/tools/depends/target/fontconfig/lconv.patch
deleted file mode 100644
index 2b26619373..0000000000
--- a/tools/depends/target/fontconfig/lconv.patch
+++ /dev/null
@@ -1,18 +0,0 @@
---- a/src/fcxml.c
-+++ b/src/fcxml.c
-@@ -1330,6 +1330,7 @@
- static double
- FcStrtod (char *s, char **end)
- {
-+#if 0
- #ifndef __BIONIC__
- struct lconv *locale_data;
- #endif
-@@ -1387,6 +1388,7 @@
- else
- v = strtod (s, end);
- return v;
-+#endif
- }
-
- static void
diff --git a/tools/depends/target/freetype2-noharfbuzz/01-darwinembedded-incorrecttoolchain.patch b/tools/depends/target/freetype2-noharfbuzz/01-darwinembedded-incorrecttoolchain.patch
new file mode 100644
index 0000000000..256718e6cb
--- /dev/null
+++ b/tools/depends/target/freetype2-noharfbuzz/01-darwinembedded-incorrecttoolchain.patch
@@ -0,0 +1,12 @@
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -149,8 +149,7 @@
+ # iOS only uses static libraries
+ set(BUILD_SHARED_LIBS OFF)
+
+- set(CMAKE_TOOLCHAIN_FILE
+- ${CMAKE_SOURCE_DIR}/builds/cmake/iOS.cmake)
++ include(${CMAKE_SOURCE_DIR}/builds/cmake/iOS.cmake)
+ endif ()
+ else ()
+ if (DEFINED IOS_PLATFORM)
diff --git a/tools/depends/target/freetype2-noharfbuzz/FREETYPE2-NOHARFBUZZ-VERSION b/tools/depends/target/freetype2-noharfbuzz/FREETYPE2-NOHARFBUZZ-VERSION
new file mode 100644
index 0000000000..eba6f0e091
--- /dev/null
+++ b/tools/depends/target/freetype2-noharfbuzz/FREETYPE2-NOHARFBUZZ-VERSION
@@ -0,0 +1,5 @@
+LIBNAME=freetype
+VERSION=2.11.1
+ARCHIVE=$(LIBNAME)-$(VERSION).tar.xz
+SHA512=0848678482fbe20603a866f02da82c91122014d6f815ba4f1d9c03601c32e3ceb781f721c2b4427b6117d7c9742018af8dbb26566faf018595c70b50f8db3f08
+BYPRODUCT=libfreetype.a
diff --git a/tools/depends/target/freetype2-noharfbuzz/Makefile b/tools/depends/target/freetype2-noharfbuzz/Makefile
new file mode 100644
index 0000000000..e4a9fec384
--- /dev/null
+++ b/tools/depends/target/freetype2-noharfbuzz/Makefile
@@ -0,0 +1,51 @@
+include ../../Makefile.include FREETYPE2-NOHARFBUZZ-VERSION ../../download-files.include
+DEPS = ../../Makefile.include Makefile FREETYPE2-NOHARFBUZZ-VERSION ../../download-files.include \
+ 01-darwinembedded-incorrecttoolchain.patch
+
+# Freetype has a circular dependency with harfbuzz.
+# To enable harfbuzz support in freetype, we build this first to bootstrap harfbuzz
+# and then build freetype2 again with harfbuzz support
+
+CMAKE_OPTIONS=-DBUILD_SHARED_LIBS=OFF \
+ -DFT_DISABLE_ZLIB=ON \
+ -DFT_DISABLE_BZIP2=ON \
+ -DFT_DISABLE_PNG=ON \
+ -DFT_DISABLE_HARFBUZZ=ON \
+ -DFT_DISABLE_BROTLI=ON
+
+ifeq ($(OS), darwin_embedded)
+ # We need SDKROOT without the /SDKs/*.sdk for IOS_DEVELOPER_ROOT
+ DEV_ROOT=$(shell awk -v sdk=$(SDKROOT) 'BEGIN{ split(sdk, a, /\/SDKs/); print a[1]}')
+
+ CMAKE_OPTIONS+= -DIOS_PLATFORM=OS \
+ -DCMAKE_AR=$(AR) \
+ -DCMAKE_OSX_ARCHITECTURES=$(CPU) \
+ -DCMAKE_IOS_DEVELOPER_ROOT=$(DEV_ROOT) \
+ -DCMAKE_IOS_SDK_ROOT=$(SDKROOT)
+endif
+
+LIBDYLIB=$(PLATFORM)/build/$(BYPRODUCT)
+
+all: .installed-$(PLATFORM)
+
+$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE).$(HASH_TYPE) $(DEPS)
+ rm -rf $(PLATFORM); mkdir -p $(PLATFORM)/build
+ cd $(PLATFORM); $(ARCHIVE_TOOL) $(ARCHIVE_TOOL_FLAGS) $(TARBALLS_LOCATION)/$(ARCHIVE)
+ifeq ($(OS),darwin_embedded)
+ cd $(PLATFORM); patch -p1 -i ../01-darwinembedded-incorrecttoolchain.patch
+endif
+ cd $(PLATFORM)/build; $(CMAKE) $(CMAKE_OPTIONS) ..
+
+$(LIBDYLIB): $(PLATFORM)
+ $(MAKE) -C $(PLATFORM)/build
+
+.installed-$(PLATFORM): $(PLATFORM)
+ $(MAKE) -C $(PLATFORM)/build install
+ touch $@
+
+clean:
+ $(MAKE) -C $(PLATFORM)/build clean
+ rm -f .installed-$(PLATFORM)
+
+distclean::
+ rm -rf $(PLATFORM) .installed-$(PLATFORM)
diff --git a/tools/depends/target/freetype2/01-darwinembedded-incorrecttoolchain.patch b/tools/depends/target/freetype2/01-darwinembedded-incorrecttoolchain.patch
new file mode 100644
index 0000000000..256718e6cb
--- /dev/null
+++ b/tools/depends/target/freetype2/01-darwinembedded-incorrecttoolchain.patch
@@ -0,0 +1,12 @@
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -149,8 +149,7 @@
+ # iOS only uses static libraries
+ set(BUILD_SHARED_LIBS OFF)
+
+- set(CMAKE_TOOLCHAIN_FILE
+- ${CMAKE_SOURCE_DIR}/builds/cmake/iOS.cmake)
++ include(${CMAKE_SOURCE_DIR}/builds/cmake/iOS.cmake)
+ endif ()
+ else ()
+ if (DEFINED IOS_PLATFORM)
diff --git a/tools/depends/target/freetype2/FREETYPE2-VERSION b/tools/depends/target/freetype2/FREETYPE2-VERSION
new file mode 100644
index 0000000000..eba6f0e091
--- /dev/null
+++ b/tools/depends/target/freetype2/FREETYPE2-VERSION
@@ -0,0 +1,5 @@
+LIBNAME=freetype
+VERSION=2.11.1
+ARCHIVE=$(LIBNAME)-$(VERSION).tar.xz
+SHA512=0848678482fbe20603a866f02da82c91122014d6f815ba4f1d9c03601c32e3ceb781f721c2b4427b6117d7c9742018af8dbb26566faf018595c70b50f8db3f08
+BYPRODUCT=libfreetype.a
diff --git a/tools/depends/target/freetype2/Makefile b/tools/depends/target/freetype2/Makefile
index a2c82b757b..886959982d 100644
--- a/tools/depends/target/freetype2/Makefile
+++ b/tools/depends/target/freetype2/Makefile
@@ -1,39 +1,49 @@
-include ../../Makefile.include
-DEPS= ../../Makefile.include Makefile
-
-# lib name, version
-LIBNAME=freetype
-VERSION=2.10.1
-SOURCE=$(LIBNAME)-$(VERSION)
-ARCHIVE=$(SOURCE).tar.xz
-
-# configuration settings
-# force using internal libtool
-export LIBTOOL=builds/unix/libtool
-CONFIGURE=cp -f $(CONFIG_SUB) $(CONFIG_GUESS) builds/unix; \
- ./configure --prefix=$(PREFIX) --disable-shared --with-png=no
-
-LIBDYLIB=$(PLATFORM)/objs/.libs/lib$(LIBNAME).a
+include ../../Makefile.include FREETYPE2-VERSION ../../download-files.include
+DEPS = ../../Makefile.include Makefile FREETYPE2-VERSION ../../download-files.include \
+ 01-darwinembedded-incorrecttoolchain.patch
+
+# explicitly disable PNG and ZLIB due to Apple platforms causing failures
+# with pkg-config not finding zlib due to no .pc when using system zlib
+# this effects fontconfig, libbluray
+CMAKE_OPTIONS=-DBUILD_SHARED_LIBS=OFF \
+ -DFT_REQUIRE_BZIP2=ON \
+ -DFT_REQUIRE_HARFBUZZ=ON \
+ -DFT_DISABLE_BROTLI=ON \
+ -DFT_DISABLE_PNG=ON \
+ -DFT_DISABLE_ZLIB=ON
+
+ifeq ($(OS), darwin_embedded)
+ # We need SDKROOT without the /SDKs/*.sdk for IOS_DEVELOPER_ROOT
+ DEV_ROOT=$(shell awk -v sdk=$(SDKROOT) 'BEGIN{ split(sdk, a, /\/SDKs/); print a[1]}')
+
+ CMAKE_OPTIONS+= -DIOS_PLATFORM=OS \
+ -DCMAKE_AR=$(AR) \
+ -DCMAKE_OSX_ARCHITECTURES=$(CPU) \
+ -DCMAKE_IOS_DEVELOPER_ROOT=$(DEV_ROOT) \
+ -DCMAKE_IOS_SDK_ROOT=$(SDKROOT)
+endif
+
+LIBDYLIB=$(PLATFORM)/build/$(BYPRODUCT)
all: .installed-$(PLATFORM)
-$(TARBALLS_LOCATION)/$(ARCHIVE):
- cd $(TARBALLS_LOCATION); $(RETRIEVE_TOOL) $(RETRIEVE_TOOL_FLAGS) $(BASE_URL)/$(ARCHIVE)
-
-$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE) $(DEPS)
- rm -rf $(PLATFORM)/*; mkdir -p $(PLATFORM)
+$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE).$(HASH_TYPE) $(DEPS)
+ rm -rf $(PLATFORM); mkdir -p $(PLATFORM)/build
cd $(PLATFORM); $(ARCHIVE_TOOL) $(ARCHIVE_TOOL_FLAGS) $(TARBALLS_LOCATION)/$(ARCHIVE)
- cd $(PLATFORM); $(CONFIGURE)
+ifeq ($(OS),darwin_embedded)
+ cd $(PLATFORM); patch -p1 -i ../01-darwinembedded-incorrecttoolchain.patch
+endif
+ cd $(PLATFORM)/build; $(CMAKE) $(CMAKE_OPTIONS) ..
$(LIBDYLIB): $(PLATFORM)
- $(MAKE) -C $(PLATFORM)
+ $(MAKE) -C $(PLATFORM)/build
-.installed-$(PLATFORM): $(LIBDYLIB)
- $(MAKE) -C $(PLATFORM) install
+.installed-$(PLATFORM): $(PLATFORM)
+ $(MAKE) -C $(PLATFORM)/build install
touch $@
clean:
- $(MAKE) -C $(PLATFORM) clean
+ $(MAKE) -C $(PLATFORM)/build clean
rm -f .installed-$(PLATFORM)
distclean::
diff --git a/tools/depends/target/fribidi/FRIBIDI-VERSION b/tools/depends/target/fribidi/FRIBIDI-VERSION
new file mode 100644
index 0000000000..2f1bcbdda1
--- /dev/null
+++ b/tools/depends/target/fribidi/FRIBIDI-VERSION
@@ -0,0 +1,5 @@
+LIBNAME=fribidi
+VERSION=1.0.11
+SOURCE=$(LIBNAME)-$(VERSION)
+ARCHIVE=$(SOURCE).tar.xz
+SHA512=6afde86784de06759f18235ccb44f23261a975f7cce0021b16755065a6a8ed84d7d5fb7fdcaadd691b48011efb4bfc2ee67555e5133a294a418cca1a0c85476c
diff --git a/tools/depends/target/fribidi/Makefile b/tools/depends/target/fribidi/Makefile
index 1a7afb4225..2545089933 100644
--- a/tools/depends/target/fribidi/Makefile
+++ b/tools/depends/target/fribidi/Makefile
@@ -1,34 +1,42 @@
-include ../../Makefile.include
-DEPS= ../../Makefile.include Makefile
+include ../../Makefile.include FRIBIDI-VERSION ../../download-files.include
+DEPS = ../../Makefile.include Makefile FRIBIDI-VERSION ../../download-files.include
-# lib name, version
-LIBNAME=fribidi
-VERSION=1.0.5
-SOURCE=$(LIBNAME)-$(VERSION)
-ARCHIVE=$(SOURCE).tar.bz2
+MESON_BUILD_TYPE=release
+
+ifeq ($(DEBUG_BUILD), yes)
+ MESON_BUILD_TYPE=debug
+endif
# configuration settings
-CONFIGURE=cp -f $(CONFIG_SUB) $(CONFIG_GUESS) .; \
- ./configure --prefix=$(PREFIX) --disable-shared --with-glib=no
+CONFIGURE = $(NATIVEPREFIX)/bin/python3 $(NATIVEPREFIX)/bin/meson \
+ --buildtype=$(MESON_BUILD_TYPE) \
+ --prefix=$(PREFIX) \
+ --cross-file $(PREFIX)/share/cross-file.meson \
+ -Ddocs=false \
+ -Dtests=false \
+ -Dbin=false \
+ -Ddefault_library=static
-LIBDYLIB=$(PLATFORM)/lib/.libs/lib$(LIBNAME).a
+export CC_FOR_BUILD
+export CFLAGS_FOR_BUILD = $(NATIVE_CFLAGS)
+export LDFLAGS_FOR_BUILD = $(NATIVE_LDFLAGS)
-all: .installed-$(PLATFORM)
+export PKG_CONFIG_LIBDIR=$(PREFIX)/lib/pkgconfig
-$(TARBALLS_LOCATION)/$(ARCHIVE):
- cd $(TARBALLS_LOCATION); $(RETRIEVE_TOOL) $(RETRIEVE_TOOL_FLAGS) $(BASE_URL)/$(ARCHIVE)
+LIBDYLIB=$(PLATFORM)/build/lib/lib$(LIBNAME).a
-$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE) $(DEPS)
+all: .installed-$(PLATFORM)
+
+$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE).$(HASH_TYPE) $(DEPS)
rm -rf $(PLATFORM)/*; mkdir -p $(PLATFORM)
cd $(PLATFORM); $(ARCHIVE_TOOL) $(ARCHIVE_TOOL_FLAGS) $(TARBALLS_LOCATION)/$(ARCHIVE)
- cd $(PLATFORM); $(CONFIGURE)
+ cd $(PLATFORM); $(CONFIGURE) . build
$(LIBDYLIB): $(PLATFORM)
- $(MAKE) -C $(PLATFORM)
- touch $@
+ cd $(PLATFORM)/build; $(NATIVEPREFIX)/bin/ninja -v
.installed-$(PLATFORM): $(LIBDYLIB)
- $(MAKE) -C $(PLATFORM) install
+ cd $(PLATFORM)/build; $(NATIVEPREFIX)/bin/ninja -v install
touch $@
clean:
diff --git a/tools/depends/target/fstrcmp/FSTRCMP-VERSION b/tools/depends/target/fstrcmp/FSTRCMP-VERSION
new file mode 100644
index 0000000000..4712cadb7b
--- /dev/null
+++ b/tools/depends/target/fstrcmp/FSTRCMP-VERSION
@@ -0,0 +1,5 @@
+LIBNAME=fstrcmp
+VERSION=0.7.D001
+ARCHIVE=$(LIBNAME)-$(VERSION).tar.gz
+SHA512=aaeb0227afd5ada5955cbe6a565254ff88d2028d677d199c00e03b7cb5de1f2c69b18e6e8b032e452350a8eda7081807b01765adbeb8476eaf803d9de6e5509c
+BYPRODUCT=libfstrcmp.a
diff --git a/tools/depends/target/libfstrcmp/Makefile b/tools/depends/target/fstrcmp/Makefile
index 2d9868e44b..a0a61e46e7 100644
--- a/tools/depends/target/libfstrcmp/Makefile
+++ b/tools/depends/target/fstrcmp/Makefile
@@ -1,23 +1,14 @@
-include ../../Makefile.include
-DEPS= ../../Makefile.include Makefile
-
-# lib name, version
-LIBNAME=fstrcmp
-VERSION=0.7.D001
-SOURCE=$(LIBNAME)-$(VERSION)
-ARCHIVE=$(SOURCE).tar.gz
+include ../../Makefile.include FSTRCMP-VERSION ../../download-files.include
+DEPS = ../../Makefile.include Makefile FSTRCMP-VERSION ../../download-files.include
# configuration settings
CONFIGURE=./configure --prefix=$(PREFIX)
-LIBDYLIB=$(PLATFORM)/lib/.libs/lib$(LIBNAME).a
+LIBDYLIB=$(PLATFORM)/lib/.libs/$(BYPRODUCT)
all: .installed-$(PLATFORM)
-$(TARBALLS_LOCATION)/$(ARCHIVE):
- cd $(TARBALLS_LOCATION); $(RETRIEVE_TOOL) $(RETRIEVE_TOOL_FLAGS) $(BASE_URL)/$(ARCHIVE)
-
-$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE) $(DEPS)
+$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE).$(HASH_TYPE) $(DEPS)
rm -rf $(PLATFORM)/*; mkdir -p $(PLATFORM)
cd $(PLATFORM); $(ARCHIVE_TOOL) $(ARCHIVE_TOOL_FLAGS) $(TARBALLS_LOCATION)/$(ARCHIVE)
cd $(PLATFORM); autoreconf -vif; $(CONFIGURE)
diff --git a/tools/depends/target/gettext/Makefile b/tools/depends/target/gettext/Makefile
index 9bf449c2d1..23cf678b77 100644
--- a/tools/depends/target/gettext/Makefile
+++ b/tools/depends/target/gettext/Makefile
@@ -1,11 +1,13 @@
include ../../Makefile.include
-DEPS= ../../Makefile.include Makefile
+DEPS = ../../Makefile.include Makefile ../../download-files.include
# lib name, version
LIBNAME=gettext
-VERSION=0.19.8
+VERSION=0.21
SOURCE=$(LIBNAME)-$(VERSION)
-ARCHIVE=$(SOURCE).tar.gz
+ARCHIVE=$(SOURCE).tar.xz
+SHA512=f7e2968651879f8444d43a176a149db9f9411f4a03132a7f3b37c2ed97e3978ae6888169c995c1953cb78943b6e3573811abcbb8661b6631edbbe067b2699ddf
+include ../../download-files.include
# configuration settings
CONFIGURE=cp -f $(CONFIG_SUB) $(CONFIG_GUESS) build-aux/; \
@@ -22,10 +24,8 @@ LIBDYLIB=$(PLATFORM)/gettext-runtime/intl/.libs/libintl.a
all: .installed-$(PLATFORM)
-$(TARBALLS_LOCATION)/$(ARCHIVE):
- cd $(TARBALLS_LOCATION); $(RETRIEVE_TOOL) $(RETRIEVE_TOOL_FLAGS) $(BASE_URL)/$(ARCHIVE)
-$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE) $(DEPS)
+$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE).$(HASH_TYPE) $(DEPS)
rm -rf $(PLATFORM)/*; mkdir -p $(PLATFORM)
cd $(PLATFORM); $(ARCHIVE_TOOL) $(ARCHIVE_TOOL_FLAGS) $(TARBALLS_LOCATION)/$(ARCHIVE)
cd $(PLATFORM); $(CONFIGURE)
diff --git a/tools/depends/target/gmp/Makefile b/tools/depends/target/gmp/Makefile
index 1bc119f71e..9c3e85752b 100644
--- a/tools/depends/target/gmp/Makefile
+++ b/tools/depends/target/gmp/Makefile
@@ -1,11 +1,13 @@
include ../../Makefile.include
-DEPS= ../../Makefile.include Makefile
+DEPS = ../../Makefile.include Makefile ../../download-files.include
# lib name, version
LIBNAME=gmp
-VERSION=6.1.2
+VERSION=6.2.1
SOURCE=$(LIBNAME)-$(VERSION)
-ARCHIVE=$(SOURCE).tar.bz2
+ARCHIVE=$(SOURCE).tar.xz
+SHA512=c99be0950a1d05a0297d65641dd35b75b74466f7bf03c9e8a99895a3b2f9a0856cd17887738fa51cf7499781b65c049769271cbcb77d057d2e9f1ec52e07dd84
+include ../../download-files.include
# ABI selection
ifeq ($(OS),linux)
@@ -23,12 +25,15 @@ CONFIGURE_FLAGS=--disable-assembly
endif
ifeq ($(OS),osx)
CONFIGURE_FLAGS=--with-pic
+ifeq ($(CPU),arm64)
+CONFIGURE_FLAGS+= --disable-assembly
+endif
endif
ifeq ($(OS), android)
CONFIGURE_FLAGS=--with-pic
endif
ifeq ($(NATIVE_OS), osx)
-CONFIGURE_FLAGS+= CC_FOR_BUILD="$(CC_FOR_BUILD)" CPP_FOR_BUILD="$(CC_FOR_BUILD) -E"
+CONFIGURE_FLAGS+= CC_FOR_BUILD="$(CC_FOR_BUILD) $(NATIVE_CFLAGS)"
endif
# configuration settings
@@ -40,10 +45,8 @@ LIBDYLIB=$(PLATFORM)/.libs/lib$(LIBNAME).a
all: .installed-$(PLATFORM)
-$(TARBALLS_LOCATION)/$(ARCHIVE):
- cd $(TARBALLS_LOCATION); $(RETRIEVE_TOOL) $(RETRIEVE_TOOL_FLAGS) $(BASE_URL)/$(ARCHIVE)
-$(PLATFORM)/config.status: $(TARBALLS_LOCATION)/$(ARCHIVE) $(DEPS)
+$(PLATFORM)/config.status: $(TARBALLS_LOCATION)/$(ARCHIVE).$(HASH_TYPE) $(DEPS)
rm -rf $(PLATFORM)/*; mkdir -p $(PLATFORM)
cd $(PLATFORM); $(ARCHIVE_TOOL) $(ARCHIVE_TOOL_FLAGS) $(TARBALLS_LOCATION)/$(ARCHIVE)
cd $(PLATFORM); $(CONFIGURE)
diff --git a/tools/depends/target/gnutls/01-macos-clang-accel.patch b/tools/depends/target/gnutls/01-macos-clang-accel.patch
new file mode 100644
index 0000000000..cf9647e940
--- /dev/null
+++ b/tools/depends/target/gnutls/01-macos-clang-accel.patch
@@ -0,0 +1,22 @@
+--- a/lib/accelerated/aarch64/Makefile.am
++++ b/lib/accelerated/aarch64/Makefile.am
+@@ -34,7 +34,7 @@
+ endif
+
+ #ensure that we have all aarch64 instruction sets enabled for the assembler
+-AM_CCASFLAGS = -Wa,-march=all
++#AM_CCASFLAGS = -Wa,-march=all
+
+ EXTRA_DIST = README
+
+--- a/lib/accelerated/aarch64/Makefile.in
++++ b/lib/accelerated/aarch64/Makefile.in
+@@ -1634,7 +1634,7 @@
+ -I$(srcdir)/../../ -I$(srcdir)/../ $(am__append_1)
+
+ #ensure that we have all aarch64 instruction sets enabled for the assembler
+-AM_CCASFLAGS = -Wa,-march=all
++#AM_CCASFLAGS = -Wa,-march=all
+ EXTRA_DIST = README
+ noinst_LTLIBRARIES = libaarch64.la
+ libaarch64_la_SOURCES = aarch64-common.c aarch64-common.h \
diff --git a/tools/depends/target/gnutls/02-darwin-getentropy.patch b/tools/depends/target/gnutls/02-darwin-getentropy.patch
deleted file mode 100644
index 300490c12f..0000000000
--- a/tools/depends/target/gnutls/02-darwin-getentropy.patch
+++ /dev/null
@@ -1,18 +0,0 @@
---- a/configure.ac
-+++ b/configure.ac
-@@ -220,6 +220,7 @@
- rnd_variant=getrandom],
- [AC_MSG_RESULT(no)])
-
-+if test "x$have_macosx" != "xyes"; then
- AC_MSG_CHECKING([for getentropy])
- AC_LINK_IFELSE([AC_LANG_PROGRAM([
- #include <unistd.h>
-@@ -233,6 +234,7 @@
- AC_DEFINE([HAVE_GETENTROPY], 1, [Enable the OpenBSD getentropy function])
- rnd_variant=getentropy],
- [AC_MSG_RESULT(no)])
-+fi
-
- AM_CONDITIONAL(HAVE_GETENTROPY, test "$rnd_variant" = "getentropy")
-
diff --git a/tools/depends/target/gnutls/03-support-correct-cisdigit.patch b/tools/depends/target/gnutls/03-support-correct-cisdigit.patch
new file mode 100644
index 0000000000..66e55be91f
--- /dev/null
+++ b/tools/depends/target/gnutls/03-support-correct-cisdigit.patch
@@ -0,0 +1,10 @@
+--- a/gl/c-ctype.h
++++ b/gl/c-ctype.h
+@@ -229,6 +229,7 @@
+ }
+ }
+
++__attribute__((always_inline))
+ C_CTYPE_INLINE bool
+ c_isdigit (int c)
+ {
diff --git a/tools/depends/target/gnutls/Makefile b/tools/depends/target/gnutls/Makefile
index d5e7dbb99d..30bf8e297d 100644
--- a/tools/depends/target/gnutls/Makefile
+++ b/tools/depends/target/gnutls/Makefile
@@ -1,37 +1,33 @@
include ../../Makefile.include
-DEPS= ../../Makefile.include Makefile size-max.patch 02-darwin-getentropy.patch
+DEPS = ../../Makefile.include Makefile ../../download-files.include \
+ add-dl-as-private-lib.patch \
+ 01-macos-clang-accel.patch 03-support-correct-cisdigit.patch
# lib name, version
LIBNAME=gnutls
-VERSION=3.5.10
+VERSION=3.6.16
SOURCE=$(LIBNAME)-$(VERSION)
ARCHIVE=$(SOURCE).tar.xz
-
-ifeq (darwin, $(findstring darwin, $(HOST)))
-# darwins tar doesn't know about xz - so we need our native version of tar here
-ARCHIVE_TOOL=$(ARCHIVE_TOOL_NATIVE)
-CONFIGURE_HACKS = ac_cv_func_vfork_works=no
-CONFIGURE_HACKS+= ac_cv_func_fork=no
-endif
+SHA512=72c78d7fcb024393c1d15f2a1856608ae4460ba43cc5bbbb4c29b80508cae6cb822df4638029de2363437d110187e0a3cc19a7288c3b2f44b2f648399a028438
+include ../../download-files.include
# configuration settings
-CONFIGURE=cp -f $(CONFIG_SUB) $(CONFIG_GUESS) .; \
- ./configure --prefix=$(PREFIX) --disable-shared --without-p11-kit --disable-nls --with-included-unistring \
+CONFIGURE=./configure --prefix=$(PREFIX) --disable-shared --without-p11-kit --disable-nls --with-included-unistring \
--with-included-libtasn1 --enable-local-libopts --disable-doc --disable-tests --disable-guile \
- $(CONFIGURE_HACKS)
+ --disable-tools $(CONFIGURE_OPTIONS)
LIBDYLIB=$(PLATFORM)/lib/.libs/lib$(LIBNAME).a
all: .installed-$(PLATFORM)
-$(TARBALLS_LOCATION)/$(ARCHIVE):
- cd $(TARBALLS_LOCATION); $(RETRIEVE_TOOL) $(RETRIEVE_TOOL_FLAGS) $(BASE_URL)/$(ARCHIVE)
-
-$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE) $(DEPS)
+$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE).$(HASH_TYPE) $(DEPS)
rm -rf $(PLATFORM)/*; mkdir -p $(PLATFORM)
cd $(PLATFORM); $(ARCHIVE_TOOL) $(ARCHIVE_TOOL_FLAGS) $(TARBALLS_LOCATION)/$(ARCHIVE)
- cd $(PLATFORM); patch -p1 -i ../size-max.patch
- cd $(PLATFORM); patch -p1 -i ../02-darwin-getentropy.patch
+ cd $(PLATFORM); patch -p1 -i ../add-dl-as-private-lib.patch
+ifeq ($(findstring apple-darwin, $(HOST)), apple-darwin)
+ cd $(PLATFORM); patch -p1 -i ../01-macos-clang-accel.patch
+endif
+ cd $(PLATFORM); patch -p1 -i ../03-support-correct-cisdigit.patch
cd $(PLATFORM); $(AUTORECONF) -vif
cd $(PLATFORM); $(CONFIGURE)
diff --git a/tools/depends/target/gnutls/add-dl-as-private-lib.patch b/tools/depends/target/gnutls/add-dl-as-private-lib.patch
new file mode 100644
index 0000000000..8531ac9259
--- /dev/null
+++ b/tools/depends/target/gnutls/add-dl-as-private-lib.patch
@@ -0,0 +1,22 @@
+--- a/configure.ac
++++ b/configure.ac
+@@ -552,6 +552,9 @@
+
+
+ AC_LIB_HAVE_LINKFLAGS(dl,, [#include <dlfcn.h>], [dladdr (0, 0);])
++if test "x$HAVE_LIBDL" = "xyes"; then
++ AC_SUBST([LIBDL], [-ldl])
++fi
+
+ AC_ARG_ENABLE(fips140-mode,
+ AS_HELP_STRING([--enable-fips140-mode], [enable FIPS140-2 mode]),
+--- a/lib/gnutls.pc.in
++++ b/lib/gnutls.pc.in
+@@ -19,6 +19,6 @@
+ URL: https://www.gnutls.org/
+ Version: @VERSION@
+ Libs: -L${libdir} -lgnutls
+-Libs.private: @LIBINTL@ @LIBSOCKET@ @INET_PTON_LIB@ @LIBPTHREAD@ @LIB_SELECT@ @TSS_LIBS@ @GMP_LIBS@ @LIBUNISTRING@ @LIBATOMIC_LIBS@ @GNUTLS_LIBS_PRIVATE@
++Libs.private: @LIBINTL@ @LIBSOCKET@ @INET_PTON_LIB@ @LIBPTHREAD@ @LIB_SELECT@ @TSS_LIBS@ @GMP_LIBS@ @LIBUNISTRING@ @LIBATOMIC_LIBS@ @GNUTLS_LIBS_PRIVATE@ @LIBDL@
+ @GNUTLS_REQUIRES_PRIVATE@
+ Cflags: -I${includedir}
diff --git a/tools/depends/target/gnutls/size-max.patch b/tools/depends/target/gnutls/size-max.patch
deleted file mode 100644
index fd4acfd977..0000000000
--- a/tools/depends/target/gnutls/size-max.patch
+++ /dev/null
@@ -1,20 +0,0 @@
---- a/gl/read-file.c
-+++ b/gl/read-file.c
-@@ -27,6 +27,7 @@
-
- /* Get SIZE_MAX. */
- #include <stdint.h>
-+#include <limits.h>
-
- /* Get malloc, realloc, free. */
- #include <stdlib.h>
---- a/src/gl/read-file.c
-+++ b/src/gl/read-file.c
-@@ -27,6 +27,7 @@
-
- /* Get SIZE_MAX. */
- #include <stdint.h>
-+#include <limits.h>
-
- /* Get malloc, realloc, free. */
- #include <stdlib.h>
diff --git a/tools/depends/target/gtest/GTEST-VERSION b/tools/depends/target/gtest/GTEST-VERSION
new file mode 100644
index 0000000000..3e6dd4200b
--- /dev/null
+++ b/tools/depends/target/gtest/GTEST-VERSION
@@ -0,0 +1,5 @@
+LIBNAME=gtest
+VERSION=1.11.0
+ARCHIVE=googletest-$(VERSION).tar.gz
+SHA512=6fcc7827e4c4d95e3ae643dd65e6c4fc0e3d04e1778b84f6e06e390410fe3d18026c131d828d949d2f20dde6327d30ecee24dcd3ef919e21c91e010d149f3a28
+BYPRODUCT=libgtest.a
diff --git a/tools/depends/target/gtest/Makefile b/tools/depends/target/gtest/Makefile
new file mode 100644
index 0000000000..0b892a1213
--- /dev/null
+++ b/tools/depends/target/gtest/Makefile
@@ -0,0 +1,25 @@
+include ../../Makefile.include GTEST-VERSION ../../download-files.include
+DEPS = ../../Makefile.include Makefile GTEST-VERSION ../../download-files.include
+
+LIBDYLIB=$(PLATFORM)/build/lib/$(BYPRODUCT)
+
+all: .installed-$(PLATFORM)
+
+$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE).$(HASH_TYPE) $(DEPS)
+ rm -rf $(PLATFORM)/*; mkdir -p $(PLATFORM)
+ cd $(PLATFORM); $(ARCHIVE_TOOL) $(ARCHIVE_TOOL_FLAGS) $(TARBALLS_LOCATION)/$(ARCHIVE)
+ cd $(PLATFORM); $(CMAKE) -B build -DBUILD_GMOCK:BOOL=OFF
+
+$(LIBDYLIB): $(PLATFORM)
+ $(MAKE) -C $(PLATFORM)/build
+
+.installed-$(PLATFORM): $(LIBDYLIB)
+ $(MAKE) -C $(PLATFORM)/build install
+ touch $@
+
+clean:
+ $(MAKE) -C $(PLATFORM) clean
+ rm -f .installed-$(PLATFORM)
+
+distclean::
+ rm -rf $(PLATFORM) .installed-$(PLATFORM)
diff --git a/tools/depends/target/harfbuzz/Makefile b/tools/depends/target/harfbuzz/Makefile
new file mode 100644
index 0000000000..4cf4ea85ae
--- /dev/null
+++ b/tools/depends/target/harfbuzz/Makefile
@@ -0,0 +1,62 @@
+include ../../Makefile.include
+DEPS = ../../Makefile.include Makefile ../../download-files.include
+
+# lib name, version
+LIBNAME=harfbuzz
+VERSION=3.1.1
+SOURCE=$(LIBNAME)-$(VERSION)
+ARCHIVE=$(SOURCE).tar.gz
+SHA512=ccb1c840d07e28871893c40b2bb687cc78dfd25992ee20192f1faf8cae4356f401abd5947d7480a268edea10dd9f1d1d7e113b29b6e2d958220bf53799ae01b0
+include ../../download-files.include
+
+MESON_BUILD_TYPE=release
+
+ifeq ($(DEBUG_BUILD), yes)
+ MESON_BUILD_TYPE=debug
+endif
+
+# configuration settings
+CONFIGURE = $(NATIVEPREFIX)/bin/python3 $(NATIVEPREFIX)/bin/meson \
+ --buildtype=$(MESON_BUILD_TYPE) \
+ --prefix=$(PREFIX) \
+ -Ddocs=disabled \
+ -Dtests=disabled \
+ -Dicu_builtin=false \
+ -Dfreetype=enabled \
+ -Dintrospection=disabled \
+ -Ddefault_library=static
+
+ifeq ($(CROSS_COMPILING), yes)
+CONFIGURE += --cross-file $(PREFIX)/share/cross-file.meson
+export CC=$(CC_FOR_BUILD)
+export CXX=$(CXX_FOR_BUILD)
+export CFLAGS=$(CFLAGS_FOR_BUILD)
+export CXXFLAGS=$(CXXFLAGS_FOR_BUILD)
+else
+export CC CXX CFLAGS CXXFLAGS
+endif
+export PKG_CONFIG_LIBDIR=$(PREFIX)/lib/pkgconfig
+
+LIBDYLIB=$(PLATFORM)/build/lib/lib$(LIBNAME).a
+
+all: .installed-$(PLATFORM)
+
+
+$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE).$(HASH_TYPE) $(DEPS)
+ rm -rf $(PLATFORM)/*; mkdir -p $(PLATFORM)
+ cd $(PLATFORM); $(ARCHIVE_TOOL) $(ARCHIVE_TOOL_FLAGS) $(TARBALLS_LOCATION)/$(ARCHIVE)
+ cd $(PLATFORM); $(CONFIGURE) . build
+
+$(LIBDYLIB): $(PLATFORM)
+ cd $(PLATFORM)/build; $(NATIVEPREFIX)/bin/ninja -v
+
+.installed-$(PLATFORM): $(LIBDYLIB)
+ cd $(PLATFORM)/build; $(NATIVEPREFIX)/bin/ninja -v install
+ touch $@
+
+clean:
+ $(MAKE) -C $(PLATFORM) clean
+ rm -f .installed-$(PLATFORM)
+
+distclean::
+ rm -rf $(PLATFORM) .installed-$(PLATFORM)
diff --git a/tools/depends/target/iosentitlements/Makefile b/tools/depends/target/iosentitlements/Makefile
deleted file mode 100644
index eaf99e84e0..0000000000
--- a/tools/depends/target/iosentitlements/Makefile
+++ /dev/null
@@ -1,15 +0,0 @@
-include ../../Makefile.include
-DEPS= ../../Makefile.include Makefile ios11_entitlements.xml
-
-IOS11_ENT=$(PREFIX)/share/ios11_entitlements.xml
-
-all: $(IOS11_ENT)
-
-$(IOS11_ENT):
- mkdir -p $(PREFIX)/share
- cp ios11_entitlements.xml $(IOS11_ENT)
-
-
-clean:
-distclean::
- rm -f $(IOS11_ENT)
diff --git a/tools/depends/target/iosentitlements/ios11_entitlements.xml b/tools/depends/target/iosentitlements/ios11_entitlements.xml
deleted file mode 100644
index ca7826950b..0000000000
--- a/tools/depends/target/iosentitlements/ios11_entitlements.xml
+++ /dev/null
@@ -1,32 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
-<plist version="1.0">
-<dict>
- <key>com.apple.springboard.opensensitiveurl</key>
- <true/>
- <key>com.apple.coremedia.allow-protected-content-playback</key>
- <true/>
- <key>com.apple.coreaudio.allow-amr-decode</key>
- <true/>
- <key>com.apple.springboard.launchapplications</key>
- <true/>
- <key>com.apple.managedconfiguration.profiled-access</key>
- <true/>
- <key>platform-application</key>
- <true/>
- <key>com.apple.private.security.no-container</key>
- <true/>
- <key>com.apple.private.skip-library-validation</key>
- <true/>
- <key>com.apple.CommCenter.fine-grained</key>
- <array>
- <string>spi</string>
- </array>
- <key>keychain-access-groups</key>
- <array>
- <string>com.apple.cfnetwork</string>
- <string>com.apple.identities</string>
- <string>com.apple.mobilesafari</string>
- </array>
-</dict>
-</plist>
diff --git a/tools/depends/target/libandroidjni/LIBANDROIDJNI-VERSION b/tools/depends/target/libandroidjni/LIBANDROIDJNI-VERSION
new file mode 100644
index 0000000000..069ebf8fa8
--- /dev/null
+++ b/tools/depends/target/libandroidjni/LIBANDROIDJNI-VERSION
@@ -0,0 +1,6 @@
+LIBNAME=libandroidjni
+VERSION=dfa7bee830a288ec42769d4b85407e9f6b4d5665
+BASE_URL=https://github.com/xbmc/libandroidjni/archive
+ARCHIVE=$(VERSION).tar.gz
+SHA512=8fda0ac0477cfe274e4a37349061c1200fc8fa32ef1abccef5dc7c859b59b95691dda9378497eb8fc5f7114ed11dcf64ecaf0e6abab822559ede6122dfa3ffdb
+BYPRODUCT=libandroidjni.a
diff --git a/tools/depends/target/libandroidjni/Makefile b/tools/depends/target/libandroidjni/Makefile
index aae83b32ad..f97aee3c6f 100644
--- a/tools/depends/target/libandroidjni/Makefile
+++ b/tools/depends/target/libandroidjni/Makefile
@@ -1,25 +1,15 @@
-include ../../Makefile.include
-DEPS= ../../Makefile.include Makefile
+include ../../Makefile.include LIBANDROIDJNI-VERSION ../../download-files.include
+DEPS = ../../Makefile.include Makefile LIBANDROIDJNI-VERSION ../../download-files.include
-# lib name, version
-LIBNAME=libandroidjni
-VERSION=fc24c9cc507a244a587fa590f6882a588b9fc927
-SOURCE=archive
-ARCHIVE=$(VERSION).tar.gz
-GIT_BASE_URL=https://github.com/xbmc
-
-LIBDYLIB=$(PLATFORM)/$(LIBNAME)/.libs/$(LIBNAME).a
+LIBDYLIB=$(PLATFORM)/build/$(BYPRODUCT)
all: .installed-$(PLATFORM)
-$(TARBALLS_LOCATION)/$(ARCHIVE):
- cd $(TARBALLS_LOCATION); $(RETRIEVE_TOOL) $(RETRIEVE_TOOL_FLAGS) $(GIT_BASE_URL)/$(LIBNAME)/$(SOURCE)/$(ARCHIVE)
-
-$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE) $(DEPS)
+$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE).$(HASH_TYPE) $(DEPS)
rm -rf $(PLATFORM)/*; mkdir -p $(PLATFORM)
cd $(PLATFORM); $(ARCHIVE_TOOL) $(ARCHIVE_TOOL_FLAGS) $(TARBALLS_LOCATION)/$(ARCHIVE)
cd $(PLATFORM); rm -rf build; mkdir -p build
- cd $(PLATFORM)/build; $(CMAKE) -DCMAKE_LIBRARY_PATH=$(TOOLCHAIN)/lib/$(HOST) ..
+ cd $(PLATFORM)/build; $(CMAKE) ..
$(LIBDYLIB): $(PLATFORM)
$(MAKE) -C $(PLATFORM)/build
@@ -29,9 +19,8 @@ $(LIBDYLIB): $(PLATFORM)
touch $@
clean:
- $(MAKE) -C $(PLATFORM) clean
+ $(MAKE) -C $(PLATFORM)/build clean
rm -f .installed-$(PLATFORM)
distclean::
rm -rf $(PLATFORM) .installed-$(PLATFORM)
-
diff --git a/tools/depends/target/libass/Makefile b/tools/depends/target/libass/Makefile
index 34c9d26819..6085889629 100644
--- a/tools/depends/target/libass/Makefile
+++ b/tools/depends/target/libass/Makefile
@@ -1,11 +1,13 @@
include ../../Makefile.include
-DEPS= ../../Makefile.include Makefile
+DEPS = ../../Makefile.include Makefile ../../download-files.include
# lib name, version
LIBNAME=libass
-VERSION=0.13.4
+VERSION=0.15.2
SOURCE=$(LIBNAME)-$(VERSION)
ARCHIVE=$(SOURCE).tar.gz
+SHA512=3b8022ca500d4a9e19e9b7106e29d23d4bca20012619c829bc3e77437bcb3c7bd8364800f7daeb3f2d8400afc7bbcaab487c7b30c429d9aed70e37ce4cb265a2
+include ../../download-files.include
# configuration settings
CONFIGURE=cp -f $(CONFIG_SUB) $(CONFIG_GUESS) .; \
@@ -15,10 +17,8 @@ LIBDYLIB=$(PLATFORM)/$(LIBNAME)/.libs/$(LIBNAME).a
all: .installed-$(PLATFORM)
-$(TARBALLS_LOCATION)/$(ARCHIVE):
- cd $(TARBALLS_LOCATION); $(RETRIEVE_TOOL) $(RETRIEVE_TOOL_FLAGS) $(BASE_URL)/$(ARCHIVE)
-$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE) $(DEPS)
+$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE).$(HASH_TYPE) $(DEPS)
rm -rf $(PLATFORM)/*; mkdir -p $(PLATFORM)
cd $(PLATFORM); $(ARCHIVE_TOOL) $(ARCHIVE_TOOL_FLAGS) $(TARBALLS_LOCATION)/$(ARCHIVE)
cd $(PLATFORM); $(AUTORECONF) -vif
diff --git a/tools/depends/target/libbluray/001-darwinembed_DiskArbitration-revert.patch b/tools/depends/target/libbluray/001-darwinembed_DiskArbitration-revert.patch
new file mode 100644
index 0000000000..b339b2caac
--- /dev/null
+++ b/tools/depends/target/libbluray/001-darwinembed_DiskArbitration-revert.patch
@@ -0,0 +1,88 @@
+--- a/configure.ac
++++ b/configure.ac
+@@ -46,7 +46,6 @@
+ ;;
+ *darwin*)
+ SYS=darwin
+- EXTRA_LIBS="${EXTRA_LIBS} -framework CoreFoundation -framework DiskArbitration"
+ ;;
+ netbsd*)
+ SYS=netbsd
+--- a/src/file/mount_darwin.c
++++ b/src/file/mount_darwin.c
+@@ -29,53 +29,36 @@
+
+ #define _DARWIN_C_SOURCE
+ #include <sys/stat.h>
++#include <sys/param.h>
++#include <sys/ucred.h>
++#include <sys/mount.h>
+
+-#include <DiskArbitration/DADisk.h>
+-
+-static char *bsdname_get_mountpoint(const char *device_path)
++char *mount_get_mountpoint(const char *device_path)
+ {
+- char *result = NULL;
++ struct stat st;
++ if (stat (device_path, &st) ) {
++ return str_dup(device_path);
++ }
+
+- DASessionRef session = DASessionCreate(kCFAllocatorDefault);
+- if (session) {
+- DADiskRef disk = DADiskCreateFromBSDName(kCFAllocatorDefault, session, device_path);
+- if (disk) {
+- CFDictionaryRef desc = DADiskCopyDescription(disk);
+- if (desc) {
+- // Get Volume path as CFURL
+- CFURLRef url = CFDictionaryGetValue(desc, kDADiskDescriptionVolumePathKey);
+- if (url) {
+- // Copy Volume path as C char array
+- char tmp_path[PATH_MAX];
+- if (CFURLGetFileSystemRepresentation(url, true, (UInt8*)tmp_path, sizeof(tmp_path))) {
+- result = str_dup(tmp_path);
+- }
+- }
+- CFRelease(desc);
+- }
+- CFRelease(disk);
+- }
+- CFRelease(session);
++ /* If it's a directory, all is good */
++ if (S_ISDIR(st.st_mode)) {
++ return str_dup(device_path);
+ }
+
+- return result;
+-}
++ struct statfs mbuf[128];
++ int fs_count;
+
++ if ( (fs_count = getfsstat (NULL, 0, MNT_NOWAIT)) != -1 ) {
+
+-char *mount_get_mountpoint(const char *device_path)
+-{
+- struct stat st;
+- if (stat(device_path, &st) == 0) {
+- // If it's a directory, all is good
+- if (S_ISDIR(st.st_mode)) {
+- return str_dup(device_path);
+- }
+- }
++ getfsstat (mbuf, fs_count * sizeof(mbuf[0]), MNT_NOWAIT);
+
+- char *mountpoint = bsdname_get_mountpoint(device_path);
+- if (mountpoint) {
+- return mountpoint;
++ for ( int i = 0; i < fs_count; ++i) {
++ if (!strcmp (mbuf[i].f_mntfromname, device_path)) {
++ return str_dup (mbuf[i].f_mntonname);
++ }
++ }
+ }
+
+- return str_dup(device_path);
++ return str_dup (device_path);
+ }
++
diff --git a/tools/depends/target/libbluray/LIBBLURAY-VERSION b/tools/depends/target/libbluray/LIBBLURAY-VERSION
new file mode 100644
index 0000000000..c34fdc14f2
--- /dev/null
+++ b/tools/depends/target/libbluray/LIBBLURAY-VERSION
@@ -0,0 +1,5 @@
+LIBNAME=libbluray
+VERSION=1.3.2
+ARCHIVE=$(LIBNAME)-$(VERSION).tar.bz2
+SHA512=6f2d3a984809db33a99d2fe3618370a3fda3ef1c417b725d3c2e1f24ff21495f95a6a5f78b30b2b26bab47865f68dd08c08e8a554809d3a5225956da712dc064
+BYPRODUCT=libbluray.a
diff --git a/tools/depends/target/libbluray/Makefile b/tools/depends/target/libbluray/Makefile
index 62f9b8de49..db157b0f93 100644
--- a/tools/depends/target/libbluray/Makefile
+++ b/tools/depends/target/libbluray/Makefile
@@ -1,34 +1,31 @@
-include ../../Makefile.include
-DEPS= ../../Makefile.include Makefile tvos.patch
-
-# lib name, version
-LIBNAME=libbluray
-VERSION=1.1.2
-SOURCE=$(LIBNAME)-$(VERSION)
-ARCHIVE=$(SOURCE).tar.bz2
+include ../../Makefile.include LIBBLURAY-VERSION ../../download-files.include
+DEPS = ../../Makefile.include LIBBLURAY-VERSION Makefile ../../download-files.include \
+ 001-darwinembed_DiskArbitration-revert.patch \
+ tvos.patch
# configuration settings
-CONFIGURE=./configure --prefix=$(PREFIX) --disable-shared --exec-prefix=$(PREFIX) \
- --disable-examples --disable-doxygen-doc \
- --disable-bdjava-jar
+CONFIGURE=./configure --prefix=$(PREFIX) \
+ --disable-shared \
+ --exec-prefix=$(PREFIX) \
+ --disable-examples \
+ --disable-doxygen-doc \
+ --disable-bdjava-jar
-LIBDYLIB=$(PLATFORM)/.libs/libbluray.la
+LIBDYLIB=$(PLATFORM)/.libs/$(BYPRODUCT)
all: .installed-$(PLATFORM)
-$(TARBALLS_LOCATION)/$(ARCHIVE):
- cd $(TARBALLS_LOCATION); $(RETRIEVE_TOOL) $(RETRIEVE_TOOL_FLAGS) $(BASE_URL)/$(ARCHIVE)
-
-$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE) $(DEPS)
+$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE).$(HASH_TYPE) $(DEPS)
rm -rf $(PLATFORM); mkdir -p $(PLATFORM)
cd $(PLATFORM); $(ARCHIVE_TOOL) $(ARCHIVE_TOOL_FLAGS) $(TARBALLS_LOCATION)/$(ARCHIVE)
- # libbluray has borked Makefile.am with respect to CFLAGS, remove the offending line
- sed -i -e "s|CFLAGS=|#CFLAGS=|" $(PLATFORM)/Makefile.am
- cd $(PLATFORM); ./bootstrap
- cd $(PLATFORM); $(CONFIGURE)
+ifeq ($(OS),darwin_embedded)
+ cd $(PLATFORM); patch -p1 -i ../001-darwinembed_DiskArbitration-revert.patch
+endif
ifeq ($(TARGET_PLATFORM),appletvos)
cd $(PLATFORM); patch -p1 -i ../tvos.patch
endif
+ cd $(PLATFORM); ./bootstrap
+ cd $(PLATFORM); $(CONFIGURE)
$(LIBDYLIB): $(PLATFORM)
$(MAKE) -C $(PLATFORM)
diff --git a/tools/depends/target/libbluray/tvos.patch b/tools/depends/target/libbluray/tvos.patch
index d9fb4a5d00..35252b0eb7 100644
--- a/tools/depends/target/libbluray/tvos.patch
+++ b/tools/depends/target/libbluray/tvos.patch
@@ -1,6 +1,6 @@
--- a/src/libbluray/bdj/bdj.c
+++ b/src/libbluray/bdj/bdj.c
-@@ -252,7 +252,7 @@
+@@ -256,7 +256,7 @@
return NULL;
}
@@ -9,7 +9,7 @@
{
case -1:
BD_DEBUG(DBG_BDJ | DBG_CRIT, "vfork failed\n");
-@@ -284,7 +284,7 @@
+@@ -288,7 +288,7 @@
waitpid(java_home_pid, &exitcode, 0);
}
diff --git a/tools/depends/target/libcdio-gplv3/01-fix-glob-on-android.patch b/tools/depends/target/libcdio-gplv3/01-fix-glob-on-android.patch
new file mode 100644
index 0000000000..672c48fe65
--- /dev/null
+++ b/tools/depends/target/libcdio-gplv3/01-fix-glob-on-android.patch
@@ -0,0 +1,38 @@
+--- a/lib/driver/image/bincue.c
++++ b/lib/driver/image/bincue.c
+@@ -1,3 +1,4 @@
++
+ /*
+ Copyright (C) 2002-2006, 2008, 2011-2012, 2014, 2017
+ Rocky Bernstein <rocky@gnu.org>
+@@ -1045,7 +1046,7 @@
+ {
+ char **drives = NULL;
+ unsigned int num_files=0;
+-#ifdef HAVE_GLOB_H
++#if defined(HAVE_GLOB_H) && !defined(__ANDROID__)
+ unsigned int i;
+ glob_t globbuf;
+ globbuf.gl_offs = 0;
+--- a/lib/driver/image/cdrdao.c
++++ b/lib/driver/image/cdrdao.c
+@@ -1149,7 +1149,7 @@
+ {
+ char **drives = NULL;
+ unsigned int num_files=0;
+-#ifdef HAVE_GLOB_H
++#if defined(HAVE_GLOB_H) && !defined(__ANDROID__)
+ unsigned int i;
+ glob_t globbuf;
+ globbuf.gl_offs = 0;
+--- a/lib/driver/image/nrg.c
++++ b/lib/driver/image/nrg.c
+@@ -1167,7 +1167,7 @@
+ {
+ char **drives = NULL;
+ unsigned int num_files=0;
+-#ifdef HAVE_GLOB_H
++#if defined(HAVE_GLOB_H) && !defined(__ANDROID__)
+ unsigned int i;
+ glob_t globbuf;
+ globbuf.gl_offs = 0;
diff --git a/tools/depends/target/libcdio-gplv3/Makefile b/tools/depends/target/libcdio-gplv3/Makefile
index 0a3705d4f0..dfbc21d0b0 100644
--- a/tools/depends/target/libcdio-gplv3/Makefile
+++ b/tools/depends/target/libcdio-gplv3/Makefile
@@ -1,29 +1,30 @@
include ../../Makefile.include
-DEPS= ../../Makefile.include Makefile osx.patch osx2.patch
+DEPS = ../../Makefile.include Makefile osx.patch 01-fix-glob-on-android.patch ../../download-files.include
# lib name, version
LIBNAME=libcdio
-VERSION=0.94
+VERSION=2.1.0
SOURCE=$(LIBNAME)-$(VERSION)
-ARCHIVE=$(SOURCE).tar.gz
+ARCHIVE=$(SOURCE).tar.bz2
+SHA512=c290821da55fd9ae366670a58857aa6efcebc9f25b7caea063cf12f9cbda84fe770c5f59f972227fda50517ca58c5f39c0137daa0f93179e3daa45303d8b610f
+include ../../download-files.include
+
# configuration settings
CONFIGURE=cp -f $(CONFIG_SUB) $(CONFIG_GUESS) .; \
./configure --prefix=$(PREFIX) --with-cd-drive=no --with-cd-info=no \
--with-cdda-player=no --with-cd-read=no --with-iso-info=no --with-iso-read=no --disable-example-progs \
- --disable-cpp-progs --disable-cxx --disable-shared
+ --disable-cpp-progs --enable-cxx --disable-shared
LIBDYLIB=$(PLATFORM)/lib/driver/.libs/$(LIBNAME).a
all: .installed-$(PLATFORM)
-$(TARBALLS_LOCATION)/$(ARCHIVE):
- cd $(TARBALLS_LOCATION); $(RETRIEVE_TOOL) $(RETRIEVE_TOOL_FLAGS) $(BASE_URL)/$(ARCHIVE)
-$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE) $(DEPS)
+$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE).$(HASH_TYPE) $(DEPS)
rm -rf $(PLATFORM)/*; mkdir -p $(PLATFORM)
cd $(PLATFORM); $(ARCHIVE_TOOL) $(ARCHIVE_TOOL_FLAGS) $(TARBALLS_LOCATION)/$(ARCHIVE)
cd $(PLATFORM); patch -p1 -i ../osx.patch
- cd $(PLATFORM); patch -p1 -i ../osx2.patch
+ cd $(PLATFORM); patch -p1 -i ../01-fix-glob-on-android.patch
cd $(PLATFORM); $(AUTORECONF) -vif
cd $(PLATFORM); $(CONFIGURE)
@@ -34,7 +35,6 @@ $(LIBDYLIB): $(PLATFORM)
$(MAKE) -C $(PLATFORM)/lib install
$(MAKE) -C $(PLATFORM)/include install
$(MAKE) -C $(PLATFORM) install-data-am
- cp $(PLATFORM)/include/cdio/cdtext.h $(PREFIX)/include/cdio/
touch $@
clean:
diff --git a/tools/depends/target/libcdio-gplv3/osx.patch b/tools/depends/target/libcdio-gplv3/osx.patch
index ebbf6c7184..b981f38e03 100644
--- a/tools/depends/target/libcdio-gplv3/osx.patch
+++ b/tools/depends/target/libcdio-gplv3/osx.patch
@@ -1,6 +1,6 @@
--- a/configure.ac
+++ b/configure.ac
-@@ -373,14 +373,14 @@
+@@ -376,14 +376,14 @@
esac
AC_SUBST(native_abs_top_srcdir)
@@ -12,8 +12,8 @@
## AC_DEFINE([HAVE_AIX_CDROM], [1],
## [Define 1 if you have AIX CD-ROM support])
;;
-- darwin[[6-9]].*|darwin1[[0-6]].*)
-+ *86*-apple-darwin*)
+- darwin[[6-9]].*|darwin[[1-9]][[0-9]].*)
++ x86_64-apple-darwin*)
AC_CHECK_HEADERS(IOKit/IOKitLib.h CoreFoundation/CFBase.h,
[have_iokit_h="yes"])
if test "x$have_iokit_h" = "xyes" ; then
diff --git a/tools/depends/target/libcdio-gplv3/osx2.patch b/tools/depends/target/libcdio-gplv3/osx2.patch
deleted file mode 100644
index b75d99f85d..0000000000
--- a/tools/depends/target/libcdio-gplv3/osx2.patch
+++ /dev/null
@@ -1,1637 +0,0 @@
-From 09eb9abcf3cf4322984f6072fb656116dc59a8b0 Mon Sep 17 00:00:00 2001
-From: "R. Bernstein" <rocky@gnu.org>
-Date: Fri, 15 Sep 2017 22:08:08 -0400
-Subject: [PATCH] (High) Sierra compatiablity...
-
-osx.c: Use libcdio version of assert, not OSX's.
-check_cdtext.sh: return should only be used inside functions
----
- lib/driver/osx.c | 572 +++++++++++++++++++++++++--------------------------
- test/check_cdtext.sh | 10 +-
- 2 files changed, 291 insertions(+), 291 deletions(-)
-
---- a/lib/driver/osx.c
-+++ b/lib/driver/osx.c
-@@ -1,7 +1,7 @@
- /*
- Copyright (C) 2003-2006, 2008, 2010-2012, 2014-2015
-- Rocky Bernstein <rocky@gnu.org>
-- from vcdimager code:
-+ Rocky Bernstein <rocky@gnu.org>
-+ from vcdimager code:
- Copyright (C) 2001 Herbert Valerio Riedel <hvr@gnu.org>
- and VideoLAN code Copyright (C) 1998-2001 VideoLAN
- Authors: Johan Bilien <jobi@via.ecp.fr>
-@@ -24,7 +24,7 @@
- along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
--/* This file contains OSX-specific code and implements low-level
-+/* This file contains OSX-specific code and implements low-level
- control of the CD drive.
- */
-
-@@ -34,7 +34,7 @@
-
- #ifdef HAVE_STDBOOL_H
- # include <stdbool.h>
--#endif
-+#endif
-
- #include <cdio/logging.h>
- #include <cdio/sector.h>
-@@ -55,14 +55,14 @@
- TR_UNKNOWN = 10 /**< Unspecified error */,
- TR_STREAMING = 11 /**< loss of streaming */,
- } transport_error_t;
--
-+
- #include "cdio_assert.h"
- #include "cdio_private.h"
-
- #include <string.h>
-
- #ifdef HAVE_DARWIN_CDROM
--#undef VERSION
-+#undef VERSION
-
- #include <CoreFoundation/CoreFoundation.h>
- #include <IOKit/IOKitLib.h>
-@@ -141,9 +141,9 @@
-
- #define MAX_SERVICE_NAME 1000
- typedef struct {
-- /* Things common to all drivers like this.
-+ /* Things common to all drivers like this.
- This must be first. */
-- generic_img_private_t gen;
-+ generic_img_private_t gen;
-
- access_mode_t access_mode;
-
-@@ -163,7 +163,7 @@
- SCSITaskInterface **scsi_task;
- MMCDeviceInterface **mmc;
- IOCFPlugInInterface **plugin;
--
-+
- SCSI_Sense_Data sense;
- SCSITaskStatus status;
- UInt64 realized_len;
-@@ -172,7 +172,7 @@
- } _img_private_t;
-
- static bool read_toc_osx (void *p_user_data);
--static track_format_t get_track_format_osx(void *p_user_data,
-+static track_format_t get_track_format_osx(void *p_user_data,
- track_t i_track);
-
- /**
-@@ -185,9 +185,9 @@
- {
- IOReturn err = kIOReturnSuccess;
- CFMutableDictionaryRef dict = 0;
--
-- err = IORegistryEntryCreateCFProperties (service, &dict,
-- kCFAllocatorDefault, 0);
-+
-+ err = IORegistryEntryCreateCFProperties (service, &dict,
-+ kCFAllocatorDefault, 0);
- if ( err != kIOReturnSuccess )
- cdio_warn( "IORegistryEntryCreateCFProperties: 0x%08x", err );
-
-@@ -205,27 +205,27 @@
- kern_return_t kern_result;
- io_iterator_t service_iterator;
- CFMutableDictionaryRef classes_to_match;
--
-+
- kern_result = IOMasterPort( MACH_PORT_NULL, &master_port );
- if( kern_result != KERN_SUCCESS )
- {
- return false;
- }
--
-+
- classes_to_match = IOServiceMatching( kIOBlockStorageDeviceClass );
- if( classes_to_match == NULL )
- {
- return false;
- }
--
-- kern_result = IOServiceGetMatchingServices( master_port,
-+
-+ kern_result = IOServiceGetMatchingServices( master_port,
- classes_to_match,
- &service_iterator );
- if( kern_result != KERN_SUCCESS )
- {
- return false;
- }
--
-+
- next_service = IOIteratorNext( service_iterator );
- if( next_service != 0 )
- {
-@@ -234,7 +234,7 @@
- IOServiceRequestProbe( next_service, 0 );
-
- IOObjectRelease( next_service );
--
-+
- } while( ( next_service = IOIteratorNext( service_iterator ) ) != 0 );
- }
- IOObjectRelease( service_iterator );
-@@ -248,11 +248,11 @@
- SInt32 score;
- kern_return_t err;
- HRESULT herr;
--
-- err = IOCreatePlugInInterfaceForService(p_env->MediaClass_service,
-+
-+ err = IOCreatePlugInInterfaceForService(p_env->MediaClass_service,
- kIOMMCDeviceUserClientTypeID,
- kIOCFPlugInInterfaceID,
-- &p_env->plugin,
-+ &p_env->plugin,
- &score);
-
- if (err != noErr) {
-@@ -269,24 +269,24 @@
- IODestroyPlugInInterface(p_env->plugin);
- return false;
- }
--
-- p_env->pp_scsiTaskDeviceInterface =
-+
-+ p_env->pp_scsiTaskDeviceInterface =
- (*p_env->mmc)->GetSCSITaskDeviceInterface(p_env->mmc);
--
-+
- if (!p_env->pp_scsiTaskDeviceInterface) {
-- fprintf(stderr,
-+ fprintf(stderr,
- "Could not get SCSITaskkDevice interface from MMC interface.\n");
- (*p_env->mmc)->Release(p_env->mmc);
- IODestroyPlugInInterface(p_env->plugin);
- return false;
- }
--
-+
- err = (*p_env->pp_scsiTaskDeviceInterface)->
- ObtainExclusiveAccess(p_env->pp_scsiTaskDeviceInterface);
- if (err != kIOReturnSuccess) {
- fprintf(stderr, "Could not obtain exclusive access to the device (%x).\n",
- err);
--
-+
- if (err == kIOReturnBusy)
- fprintf(stderr, "The volume is already mounted.\n");
- else if (err == kIOReturnExclusiveAccess)
-@@ -294,18 +294,18 @@
- "to this device.\n");
- else
- fprintf(stderr, "I don't know why.\n");
--
-+
- (*p_env->pp_scsiTaskDeviceInterface)->
- Release(p_env->pp_scsiTaskDeviceInterface);
- (*p_env->mmc)->Release(p_env->mmc);
- IODestroyPlugInInterface(p_env->plugin);
- return false;
- }
--
-- p_env->scsi_task =
-- (*p_env->pp_scsiTaskDeviceInterface) ->
-+
-+ p_env->scsi_task =
-+ (*p_env->pp_scsiTaskDeviceInterface) ->
- CreateSCSITask(p_env->pp_scsiTaskDeviceInterface);
--
-+
- if (!p_env->scsi_task) {
- fprintf(stderr, "Could not create a SCSITask interface.\n");
- (*p_env->pp_scsiTaskDeviceInterface)->
-@@ -316,12 +316,12 @@
- IODestroyPlugInInterface(p_env->plugin);
- return false;
- }
--
-+
- return true;
- }
- #endif
-
--static bool
-+static bool
- init_osx(_img_private_t *p_env) {
- char *psz_devname;
- kern_return_t ret;
-@@ -344,36 +344,36 @@
- ++psz_devname;
- else
- psz_devname = p_env->gen.source_name;
--
-+
- /* Unraw the device name. */
- if( *psz_devname == 'r' )
- ++psz_devname;
--
-- ret = IOServiceGetMatchingServices( kIOMasterPortDefault,
-- IOBSDNameMatching(kIOMasterPortDefault,
-+
-+ ret = IOServiceGetMatchingServices( kIOMasterPortDefault,
-+ IOBSDNameMatching(kIOMasterPortDefault,
- 0, psz_devname),
- &iterator );
--
-+
- /* Get service iterator for the device. */
- if( ret != KERN_SUCCESS )
- {
- cdio_warn( "IOServiceGetMatchingServices: 0x%08x", ret );
- return false;
- }
--
-+
- /* first service */
- p_env->MediaClass_service = IOIteratorNext( iterator );
- IOObjectRelease( iterator );
-
-- /* search for kIOCDMediaClass or kIODVDMediaClass or kIOBDMediaClass */
-- while( p_env->MediaClass_service &&
-+ /* search for kIOCDMediaClass or kIODVDMediaClass or kIOBDMediaClass */
-+ while( p_env->MediaClass_service &&
- (!IOObjectConformsTo(p_env->MediaClass_service, kIOCDMediaClass)) &&
- (!IOObjectConformsTo(p_env->MediaClass_service, kIODVDMediaClass)) &&
- (!IOObjectConformsTo(p_env->MediaClass_service, kIOBDMediaClass)) )
- {
-
-- ret = IORegistryEntryGetParentIterator( p_env->MediaClass_service,
-- kIOServicePlane,
-+ ret = IORegistryEntryGetParentIterator( p_env->MediaClass_service,
-+ kIOServicePlane,
- &iterator );
- if( ret != KERN_SUCCESS )
- {
-@@ -381,13 +381,13 @@
- IOObjectRelease( p_env->MediaClass_service );
- return false;
- }
--
-+
- IOObjectRelease( p_env->MediaClass_service );
-
- p_env->MediaClass_service = IOIteratorNext( iterator );
- IOObjectRelease( iterator );
- }
--
-+
- if ( 0 == p_env->MediaClass_service ) {
- cdio_warn( "search for kIOCDMediaClass/kIODVDMediaClass/kIOBDMediaClass came up empty" );
- return false;
-@@ -397,26 +397,26 @@
- another scan. FIXME: this is hoaky and there's got to be a better
- variable to test or way to do.
- */
-- IORegistryEntryGetPath(p_env->MediaClass_service, kIOServicePlane,
-+ IORegistryEntryGetPath(p_env->MediaClass_service, kIOServicePlane,
- p_env->psz_MediaClass_service);
- #ifdef GET_SCSI_FIXED
- return get_scsi(p_env);
--#else
-+#else
- return true;
- #endif
- }
-
- /**
-- Run a SCSI MMC command.
--
-+ Run a SCSI MMC command.
-+
- cdio CD structure set by cdio_open().
- i_timeout time in milliseconds we will wait for the command
-- to complete. If this value is -1, use the default
-+ to complete. If this value is -1, use the default
- time-out value.
- p_buf Buffer for data, both sending and receiving
- i_buf Size of buffer
- e_direction direction the transfer is to go.
-- cdb CDB bytes. All values that are needed should be set on
-+ cdb CDB bytes. All values that are needed should be set on
- input. We'll figure out what the right CDB length should be.
-
- We return true if command completed successfully and false if not.
-@@ -424,11 +424,11 @@
- #if 1
-
- /* process a complete scsi command. */
--static int
--run_mmc_cmd_osx( void *p_user_data,
-+static int
-+run_mmc_cmd_osx( void *p_user_data,
- unsigned int i_timeout_ms,
-- unsigned int i_cdb, const mmc_cdb_t *p_cdb,
-- cdio_mmc_direction_t e_direction,
-+ unsigned int i_cdb, const mmc_cdb_t *p_cdb,
-+ cdio_mmc_direction_t e_direction,
- unsigned int i_buf, /*in/out*/ void *p_buf )
- {
- _img_private_t *p_env = p_user_data;
-@@ -442,13 +442,13 @@
- p_env->gen.scsi_mmc_sense_valid = 0;
- memcpy(cmdbuf, p_cdb, i_cdb);
-
-- dir =
-- (SCSI_MMC_DATA_READ == e_direction)
-+ dir =
-+ (SCSI_MMC_DATA_READ == e_direction)
- ? kSCSIDataTransfer_FromTargetToInitiator :
-- (SCSI_MMC_DATA_WRITE == e_direction)
-+ (SCSI_MMC_DATA_WRITE == e_direction)
- ? kSCSIDataTransfer_FromInitiatorToTarget
- : kSCSIDataTransfer_NoDataTransfer;
--
-+
- if (!i_buf)
- dir = kSCSIDataTransfer_NoDataTransfer;
-
-@@ -460,51 +460,51 @@
- buf.address = (IOVirtualAddress)p_buf;
- buf.length = i_buf;
-
-- ret = (*p_env->scsi_task)->SetCommandDescriptorBlock(p_env->scsi_task,
-+ ret = (*p_env->scsi_task)->SetCommandDescriptorBlock(p_env->scsi_task,
- cmdbuf, i_cdb);
- if (ret != kIOReturnSuccess) {
- fprintf(stderr, "SetCommandDescriptorBlock: %x\n", ret);
- return TR_UNKNOWN;
- }
--
-+
- ret = (*p_env->scsi_task)->SetScatterGatherEntries(p_env->scsi_task, &buf, 1,
- i_buf, dir);
- if (ret != kIOReturnSuccess) {
- fprintf(stderr, "SetScatterGatherEntries: %x\n", ret);
- return TR_UNKNOWN;
- }
--
-- ret = (*p_env->scsi_task)->ExecuteTaskSync(p_env->scsi_task, &p_env->sense,
-- &p_env->status,
-+
-+ ret = (*p_env->scsi_task)->ExecuteTaskSync(p_env->scsi_task, &p_env->sense,
-+ &p_env->status,
- &p_env->realized_len);
- if (ret != kIOReturnSuccess) {
- fprintf(stderr, "ExecuteTaskSync: %x\n", ret);
- return TR_UNKNOWN;
- }
--
-+
- if (p_env->status != kSCSITaskStatus_GOOD) {
- int i;
--
-+
- fprintf(stderr, "SCSI status: %x\n", p_env->status);
- fprintf(stderr, "Sense: %x %x %x\n",
- p_env->sense.SENSE_KEY,
- p_env->sense.ADDITIONAL_SENSE_CODE,
- p_env->sense.ADDITIONAL_SENSE_CODE_QUALIFIER);
--
-+
- for (i = 0; i < i_cdb; i++)
- fprintf(stderr, "%02x ", cmdbuf[i]);
--
-+
- fprintf(stderr, "\n");
- memcpy((void *) p_env->gen.scsi_mmc_sense, &p_env->sense, kSenseDefaultSize);
-
- return TR_UNKNOWN;
- }
--
-+
- if (p_env->sense.VALID_RESPONSE_CODE) {
- char key = p_env->sense.SENSE_KEY & 0xf;
- char ASC = p_env->sense.ADDITIONAL_SENSE_CODE;
- char ASCQ = p_env->sense.ADDITIONAL_SENSE_CODE_QUALIFIER;
--
-+
- switch (key) {
- case 0:
- if (errno == 0)
-@@ -549,31 +549,31 @@
-
- #if 0
- /**
-- Run a SCSI MMC command.
--
-+ Run a SCSI MMC command.
-+
- cdio CD structure set by cdio_open().
- i_timeout time in milliseconds we will wait for the command
-- to complete. If this value is -1, use the default
-+ to complete. If this value is -1, use the default
- time-out value.
- p_buf Buffer for data, both sending and receiving
- i_buf Size of buffer
- e_direction direction the transfer is to go.
-- cdb CDB bytes. All values that are needed should be set on
-+ cdb CDB bytes. All values that are needed should be set on
- input. We'll figure out what the right CDB length should be.
-
- We return true if command completed successfully and false if not.
- */
- static int
--run_mmc_cmd_osx( const void *p_user_data,
-+run_mmc_cmd_osx( const void *p_user_data,
- unsigned int i_timeout_ms,
-- unsigned int i_cdb, const mmc_cdb_t *p_cdb,
-- cdio_mmc_direction_t e_direction,
-+ unsigned int i_cdb, const mmc_cdb_t *p_cdb,
-+ cdio_mmc_direction_t e_direction,
- unsigned int i_buf, /*in/out*/ void *p_buf )
- {
-
- #ifndef SCSI_MMC_FIXED
- return DRIVER_OP_UNSUPPORTED;
--#else
-+#else
- const _img_private_t *p_env = p_user_data;
- SCSITaskDeviceInterface **sc;
- SCSITaskInterface **cmd = NULL;
-@@ -603,16 +603,16 @@
- iov.address = (IOVirtualAddress) p_buf;
- iov.length = i_buf;
-
-- ioReturnValue = (*cmd)->SetCommandDescriptorBlock(cmd, (UInt8 *) p_cdb,
-+ ioReturnValue = (*cmd)->SetCommandDescriptorBlock(cmd, (UInt8 *) p_cdb,
- i_cdb);
- if (ioReturnValue != kIOReturnSuccess) {
-- cdio_warn("SetCommandDescriptorBlock failed with status %x",
-+ cdio_warn("SetCommandDescriptorBlock failed with status %x",
- ioReturnValue);
- return -1;
- }
-
- ioReturnValue = (*cmd)->SetScatterGatherEntries(cmd, &iov, 1, i_buf,
-- (SCSI_MMC_DATA_READ == e_direction ) ?
-+ (SCSI_MMC_DATA_READ == e_direction ) ?
- kSCSIDataTransfer_FromTargetToInitiator :
- kSCSIDataTransfer_FromInitiatorToTarget);
- if (ioReturnValue != kIOReturnSuccess) {
-@@ -652,17 +652,17 @@
- static io_iterator_t
- GetDeviceIterator ( const char * deviceClass )
- {
--
-+
- IOReturn err = kIOReturnSuccess;
- io_iterator_t iterator = MACH_PORT_NULL;
--
-+
- err = IOServiceGetMatchingServices ( kIOMasterPortDefault,
- IOServiceMatching ( deviceClass ),
- &iterator );
-- check ( err == kIOReturnSuccess );
--
-+ cdio_assert ( err == kIOReturnSuccess );
-+
- return iterator;
--
-+
- }
-
- /***************************************************************************
-@@ -677,27 +677,27 @@
- {
- CFDictionaryRef propertiesDict = 0;
- CFNumberRef flagsNumberRef = 0;
--
-+
- *i_cdFlags = 0;
- *i_dvdFlags= 0;
--
-- propertiesDict = ( CFDictionaryRef )
-- CFDictionaryGetValue ( dict,
-+
-+ propertiesDict = ( CFDictionaryRef )
-+ CFDictionaryGetValue ( dict,
- CFSTR ( kIOPropertyDeviceCharacteristicsKey ) );
-
- if ( propertiesDict == 0 ) return false;
--
-+
- /* Get the CD features */
-- flagsNumberRef = ( CFNumberRef )
-- CFDictionaryGetValue ( propertiesDict,
-+ flagsNumberRef = ( CFNumberRef )
-+ CFDictionaryGetValue ( propertiesDict,
- CFSTR ( kIOPropertySupportedCDFeatures ) );
- if ( flagsNumberRef != 0 ) {
- CFNumberGetValue ( flagsNumberRef, kCFNumberLongType, i_cdFlags );
- }
--
-+
- /* Get the DVD features */
-- flagsNumberRef = ( CFNumberRef )
-- CFDictionaryGetValue ( propertiesDict,
-+ flagsNumberRef = ( CFNumberRef )
-+ CFDictionaryGetValue ( propertiesDict,
- CFSTR ( kIOPropertySupportedDVDFeatures ) );
- if ( flagsNumberRef != 0 ) {
- CFNumberGetValue ( flagsNumberRef, kCFNumberLongType, i_dvdFlags );
-@@ -722,32 +722,32 @@
-
- if ( propertiesDict == 0 ) return i_discmode;
-
-- data = ( CFStringRef )
-+ data = ( CFStringRef )
- CFDictionaryGetValue ( propertiesDict, CFSTR ( kIODVDMediaTypeKey ) );
-
- if( CFStringGetCString( data, str, sizeof(str),
- kCFStringEncodingASCII ) ) {
- if (0 == strncmp(str, "DVD+R", strlen(str)) )
- i_discmode = CDIO_DISC_MODE_DVD_PR;
-- else if (0 == strncmp(str, "DVD+RW", strlen(str)) )
-+ else if (0 == strncmp(str, "DVD+RW", strlen(str)) )
- i_discmode = CDIO_DISC_MODE_DVD_PRW;
-- else if (0 == strncmp(str, "DVD-R", strlen(str)) )
-+ else if (0 == strncmp(str, "DVD-R", strlen(str)) )
- i_discmode = CDIO_DISC_MODE_DVD_R;
-- else if (0 == strncmp(str, "DVD-RW", strlen(str)) )
-+ else if (0 == strncmp(str, "DVD-RW", strlen(str)) )
- i_discmode = CDIO_DISC_MODE_DVD_RW;
-- else if (0 == strncmp(str, "DVD-ROM", strlen(str)) )
-+ else if (0 == strncmp(str, "DVD-ROM", strlen(str)) )
- i_discmode = CDIO_DISC_MODE_DVD_ROM;
-- else if (0 == strncmp(str, "DVD-RAM", strlen(str)) )
-+ else if (0 == strncmp(str, "DVD-RAM", strlen(str)) )
- i_discmode = CDIO_DISC_MODE_DVD_RAM;
- else if (0 == strncmp(str, "CD-ROM", strlen(str)) )
- i_discmode = CDIO_DISC_MODE_CD_DATA;
-- else if (0 == strncmp(str, "CDR", strlen(str)) )
-+ else if (0 == strncmp(str, "CDR", strlen(str)) )
- i_discmode = CDIO_DISC_MODE_CD_DATA;
-- else if (0 == strncmp(str, "CDRW", strlen(str)) )
-+ else if (0 == strncmp(str, "CDRW", strlen(str)) )
- i_discmode = CDIO_DISC_MODE_CD_DATA;
- //?? Handled by below? CFRelease( data );
- }
-- CFRelease( propertiesDict );
-+ CFRelease( propertiesDict );
- if (CDIO_DISC_MODE_CD_DATA == i_discmode) {
- /* Need to do more classification */
- return get_discmode_cd_generic(p_user_data);
-@@ -761,11 +761,11 @@
- {
- io_service_t service;
- io_iterator_t service_iterator;
--
-+
- service_iterator = GetDeviceIterator ( kIOCDBlockStorageDeviceClassString );
-
- if( service_iterator == MACH_PORT_NULL ) return 0;
--
-+
- service = IOIteratorNext( service_iterator );
- if( service == 0 ) return 0;
-
-@@ -774,21 +774,21 @@
- char psz_service[MAX_SERVICE_NAME];
- IORegistryEntryGetPath(service, kIOServicePlane, psz_service);
- psz_service[MAX_SERVICE_NAME-1] = '\0';
--
-+
- /* FIXME: This is all hoaky. Here we need info from a parent class,
- psz_service of what we opened above. We are relying on the
- fact that the name will be a substring of the name we
- openned with.
- */
-- if (0 == strncmp(psz_service, p_env->psz_MediaClass_service,
-+ if (0 == strncmp(psz_service, p_env->psz_MediaClass_service,
- strlen(psz_service))) {
- /* Found our device */
- IOObjectRelease( service_iterator );
- return service;
- }
--
-+
- IOObjectRelease( service );
--
-+
- } while( ( service = IOIteratorNext( service_iterator ) ) != 0 );
-
- IOObjectRelease( service_iterator );
-@@ -806,56 +806,56 @@
- uint32_t i_dvdFlags;
-
- io_service_t service = get_drive_service_osx(p_env);
--
-+
- if( service == 0 ) goto err_exit;
-
- /* Found our device */
- {
- CFDictionaryRef properties = GetRegistryEntryProperties ( service );
--
-- if (! GetFeaturesFlagsForDrive ( properties, &i_cdFlags,
-+
-+ if (! GetFeaturesFlagsForDrive ( properties, &i_cdFlags,
- &i_dvdFlags ) ) {
- IOObjectRelease( service );
- goto err_exit;
- }
--
-+
- /* Reader */
--
-+
- if ( 0 != (i_cdFlags & kCDFeaturesAnalogAudioMask) )
-- *p_read_cap |= CDIO_DRIVE_CAP_READ_AUDIO;
--
-- if ( 0 != (i_cdFlags & kCDFeaturesWriteOnceMask) )
-+ *p_read_cap |= CDIO_DRIVE_CAP_READ_AUDIO;
-+
-+ if ( 0 != (i_cdFlags & kCDFeaturesWriteOnceMask) )
- *p_write_cap |= CDIO_DRIVE_CAP_WRITE_CD_R;
--
-+
- if ( 0 != (i_cdFlags & kCDFeaturesCDDAStreamAccurateMask) )
- *p_read_cap |= CDIO_DRIVE_CAP_READ_CD_DA;
--
-+
- if ( 0 != (i_dvdFlags & kDVDFeaturesReadStructuresMask) )
- *p_read_cap |= CDIO_DRIVE_CAP_READ_DVD_ROM;
--
-+
- if ( 0 != (i_cdFlags & kCDFeaturesReWriteableMask) )
- *p_write_cap |= CDIO_DRIVE_CAP_WRITE_CD_RW;
--
-- if ( 0 != (i_dvdFlags & kDVDFeaturesWriteOnceMask) )
-+
-+ if ( 0 != (i_dvdFlags & kDVDFeaturesWriteOnceMask) )
- *p_write_cap |= CDIO_DRIVE_CAP_WRITE_DVD_R;
--
-+
- if ( 0 != (i_dvdFlags & kDVDFeaturesRandomWriteableMask) )
- *p_write_cap |= CDIO_DRIVE_CAP_WRITE_DVD_RAM;
--
-+
- if ( 0 != (i_dvdFlags & kDVDFeaturesReWriteableMask) )
- *p_write_cap |= CDIO_DRIVE_CAP_WRITE_DVD_RW;
--
-+
- /***
- if ( 0 != (i_dvdFlags & kDVDFeaturesPlusRMask) )
- *p_write_cap |= CDIO_DRIVE_CAP_WRITE_DVD_PR;
--
-+
- if ( 0 != (i_dvdFlags & kDVDFeaturesPlusRWMask )
- *p_write_cap |= CDIO_DRIVE_CAP_WRITE_DVD_PRW;
- ***/
-
- /* FIXME: fill out. For now assume CD-ROM is relatively modern. */
- *p_misc_cap = (
-- CDIO_DRIVE_CAP_MISC_CLOSE_TRAY
-+ CDIO_DRIVE_CAP_MISC_CLOSE_TRAY
- | CDIO_DRIVE_CAP_MISC_EJECT
- | CDIO_DRIVE_CAP_MISC_LOCK
- | CDIO_DRIVE_CAP_MISC_SELECT_SPEED
-@@ -868,7 +868,7 @@
-
- IOObjectRelease( service );
- }
--
-+
- return;
-
- err_exit:
-@@ -878,7 +878,7 @@
-
- #if 1
- /****************************************************************************
-- * GetDriveDescription - Gets drive description.
-+ * GetDriveDescription - Gets drive description.
- ****************************************************************************/
-
- static bool
-@@ -888,42 +888,42 @@
- io_service_t service = get_drive_service_osx(p_env);
-
- if ( service == 0 ) return false;
--
-+
- /* Found our device */
- {
- CFStringRef vendor = NULL;
- CFStringRef product = NULL;
- CFStringRef revision = NULL;
--
-+
- CFDictionaryRef properties = GetRegistryEntryProperties ( service );
-- CFDictionaryRef deviceDict = ( CFDictionaryRef )
-- CFDictionaryGetValue ( properties,
-+ CFDictionaryRef deviceDict = ( CFDictionaryRef )
-+ CFDictionaryGetValue ( properties,
- CFSTR ( kIOPropertyDeviceCharacteristicsKey ) );
--
-+
- if ( deviceDict == 0 ) return false;
--
-- vendor = ( CFStringRef )
-+
-+ vendor = ( CFStringRef )
- CFDictionaryGetValue ( deviceDict, CFSTR ( kIOPropertyVendorNameKey ) );
--
-+
- if ( CFStringGetCString( vendor,
- (char *) &(hw_info->psz_vendor),
- sizeof(hw_info->psz_vendor),
- kCFStringEncodingASCII ) )
- CFRelease( vendor );
--
-- product = ( CFStringRef )
-+
-+ product = ( CFStringRef )
- CFDictionaryGetValue ( deviceDict, CFSTR ( kIOPropertyProductNameKey ) );
--
-+
- if ( CFStringGetCString( product,
- (char *) &(hw_info->psz_model),
- sizeof(hw_info->psz_model),
- kCFStringEncodingASCII ) )
- CFRelease( product );
--
-- revision = ( CFStringRef )
-- CFDictionaryGetValue ( deviceDict,
-+
-+ revision = ( CFStringRef )
-+ CFDictionaryGetValue ( deviceDict,
- CFSTR ( kIOPropertyProductRevisionLevelKey ) );
--
-+
- if ( CFStringGetCString( revision,
- (char *) &(hw_info->psz_revision),
- sizeof(hw_info->psz_revision),
-@@ -931,11 +931,11 @@
- CFRelease( revision );
- }
- return true;
--
-+
- }
- #endif
-
--static void
-+static void
- _free_osx (void *p_user_data) {
- _img_private_t *p_env = p_user_data;
- if (NULL == p_env) return;
-@@ -950,17 +950,17 @@
- if (p_env->scsi_task)
- (*p_env->scsi_task)->Release(p_env->scsi_task);
-
-- if (p_env->pp_scsiTaskDeviceInterface)
-- (*p_env->pp_scsiTaskDeviceInterface) ->
-+ if (p_env->pp_scsiTaskDeviceInterface)
-+ (*p_env->pp_scsiTaskDeviceInterface) ->
- ReleaseExclusiveAccess(p_env->pp_scsiTaskDeviceInterface);
-- if (p_env->pp_scsiTaskDeviceInterface)
-+ if (p_env->pp_scsiTaskDeviceInterface)
- (*p_env->pp_scsiTaskDeviceInterface) ->
- Release ( p_env->pp_scsiTaskDeviceInterface );
-
-- if (p_env->mmc)
-+ if (p_env->mmc)
- (*p_env->mmc)->Release(p_env->mmc);
-
-- if (p_env->plugin)
-+ if (p_env->plugin)
- IODestroyPlugInInterface(p_env->plugin);
-
- }
-@@ -968,10 +968,10 @@
- /**
- Reads i_blocks of data sectors from cd device into p_data starting
- from i_lsn.
-- Returns DRIVER_OP_SUCCESS if no error.
-+ Returns DRIVER_OP_SUCCESS if no error.
- */
- static driver_return_code_t
--read_data_sectors_osx (void *p_user_data, void *p_data, lsn_t i_lsn,
-+read_data_sectors_osx (void *p_user_data, void *p_data, lsn_t i_lsn,
- uint16_t i_blocksize, uint32_t i_blocks)
- {
- _img_private_t *p_env = p_user_data;
-@@ -981,9 +981,9 @@
- {
- dk_cd_read_t cd_read;
- track_t i_track = cdio_get_track(p_env->gen.cdio, i_lsn);
--
-+
- memset( &cd_read, 0, sizeof(cd_read) );
--
-+
- cd_read.sectorArea = kCDSectorAreaUser;
- cd_read.buffer = p_data;
-
-@@ -1001,9 +1001,9 @@
- default:
- return DRIVER_OP_ERROR;
- }
--
-+
- cd_read.bufferLength = i_blocksize * i_blocks;
--
-+
- if( ioctl( p_env->gen.fd, DKIOCCDREAD, &cd_read ) == -1 )
- {
- cdio_info( "could not read block %d, %s", i_lsn, strerror(errno) );
-@@ -1013,25 +1013,25 @@
- }
- }
-
--
-+
- /**
- Reads i_blocks of mode2 form2 sectors from cd device into data starting
- from i_lsn.
-- Returns 0 if no error.
-+ Returns 0 if no error.
- */
- static driver_return_code_t
--read_mode1_sectors_osx (void *p_user_data, void *p_data, lsn_t i_lsn,
-+read_mode1_sectors_osx (void *p_user_data, void *p_data, lsn_t i_lsn,
- bool b_form2, uint32_t i_blocks)
- {
- _img_private_t *p_env = p_user_data;
- dk_cd_read_t cd_read;
--
-+
- memset( &cd_read, 0, sizeof(cd_read) );
--
-+
- cd_read.sectorArea = kCDSectorAreaUser;
- cd_read.buffer = p_data;
- cd_read.sectorType = kCDSectorTypeMode1;
--
-+
- if (b_form2) {
- cd_read.offset = i_lsn * kCDSectorSizeMode2;
- cd_read.bufferLength = kCDSectorSizeMode2 * i_blocks;
-@@ -1039,7 +1039,7 @@
- cd_read.offset = i_lsn * kCDSectorSizeMode1;
- cd_read.bufferLength = kCDSectorSizeMode1 * i_blocks;
- }
--
-+
- if( ioctl( p_env->gen.fd, DKIOCCDREAD, &cd_read ) == -1 )
- {
- cdio_info( "could not read block %d, %s", i_lsn, strerror(errno) );
-@@ -1051,7 +1051,7 @@
- /**
- Reads i_blocks of mode2 form2 sectors from cd device into data starting
- from lsn.
-- Returns DRIVER_OP_SUCCESS if no error.
-+ Returns DRIVER_OP_SUCCESS if no error.
- */
- static driver_return_code_t
- read_mode2_sectors_osx (void *p_user_data, void *p_data, lsn_t i_lsn,
-@@ -1059,12 +1059,12 @@
- {
- _img_private_t *p_env = p_user_data;
- dk_cd_read_t cd_read;
--
-+
- memset( &cd_read, 0, sizeof(cd_read) );
--
-+
- cd_read.sectorArea = kCDSectorAreaUser;
- cd_read.buffer = p_data;
--
-+
- if (b_form2) {
- cd_read.offset = i_lsn * kCDSectorSizeMode2Form2;
- cd_read.sectorType = kCDSectorTypeMode2Form2;
-@@ -1074,7 +1074,7 @@
- cd_read.sectorType = kCDSectorTypeMode2Form1;
- cd_read.bufferLength = kCDSectorSizeMode2Form1 * i_blocks;
- }
--
-+
- if( ioctl( p_env->gen.fd, DKIOCCDREAD, &cd_read ) == -1 )
- {
- cdio_info( "could not read block %d, %s", i_lsn, strerror(errno) );
-@@ -1083,27 +1083,27 @@
- return DRIVER_OP_SUCCESS;
- }
-
--
-+
- /**
- Reads a single audio sector from CD device into p_data starting from lsn.
-- Returns 0 if no error.
-+ Returns 0 if no error.
- */
- static int
--read_audio_sectors_osx (void *user_data, void *p_data, lsn_t lsn,
-+read_audio_sectors_osx (void *user_data, void *p_data, lsn_t lsn,
- unsigned int i_blocks)
- {
- _img_private_t *env = user_data;
- dk_cd_read_t cd_read;
--
-+
- memset( &cd_read, 0, sizeof(cd_read) );
--
-+
- cd_read.offset = lsn * kCDSectorSizeCDDA;
- cd_read.sectorArea = kCDSectorAreaUser;
- cd_read.sectorType = kCDSectorTypeCDDA;
--
-+
- cd_read.buffer = p_data;
- cd_read.bufferLength = kCDSectorSizeCDDA * i_blocks;
--
-+
- if( ioctl( env->gen.fd, DKIOCCDREAD, &cd_read ) == -1 )
- {
- cdio_info( "could not read block %d\n%s", lsn,
-@@ -1115,10 +1115,10 @@
-
- /**
- Reads a single mode2 sector from cd device into p_data starting
-- from lsn. Returns 0 if no error.
-+ from lsn. Returns 0 if no error.
- */
- static driver_return_code_t
--read_mode1_sector_osx (void *p_user_data, void *p_data, lsn_t i_lsn,
-+read_mode1_sector_osx (void *p_user_data, void *p_data, lsn_t i_lsn,
- bool b_form2)
- {
- return read_mode1_sectors_osx(p_user_data, p_data, i_lsn, b_form2, 1);
-@@ -1126,7 +1126,7 @@
-
- /**
- Reads a single mode2 sector from cd device into p_data starting
-- from lsn. Returns 0 if no error.
-+ from lsn. Returns 0 if no error.
- */
- static driver_return_code_t
- read_mode2_sector_osx (void *p_user_data, void *p_data, lsn_t i_lsn,
-@@ -1162,7 +1162,7 @@
- }
-
- #if 0
--static void
-+static void
- TestDevice(_img_private_t *p_env, io_service_t service)
- {
- SInt32 score;
-@@ -1182,26 +1182,26 @@
- printf("IOCreatePlugInInterfaceForService returned %d\n", err);
- return;
- }
--
-+
- /* Query the interface for the MMCDeviceInterface. */
--
-+
- herr = ( *plugInInterface )->QueryInterface ( plugInInterface,
- CFUUIDGetUUIDBytes ( kIOMMCDeviceInterfaceID ),
- ( LPVOID ) &mmcInterface );
--
-+
- if ( herr != S_OK ) {
- printf("QueryInterface returned %ld\n", herr);
- return;
- }
--
-- p_env->pp_scsiTaskDeviceInterface =
-+
-+ p_env->pp_scsiTaskDeviceInterface =
- ( *mmcInterface )->GetSCSITaskDeviceInterface ( mmcInterface );
--
-+
- if ( NULL == p_env->pp_scsiTaskDeviceInterface ) {
- printf("GetSCSITaskDeviceInterface returned NULL\n");
- return;
- }
--
-+
- ( *mmcInterface )->Release ( mmcInterface );
- IODestroyPlugInInterface ( plugInInterface );
- }
-@@ -1212,7 +1212,7 @@
- Return false if successful or true if an error.
- */
- static bool
--read_toc_osx (void *p_user_data)
-+read_toc_osx (void *p_user_data)
- {
- _img_private_t *p_env = p_user_data;
- CFDictionaryRef propertiesDict = 0;
-@@ -1231,25 +1231,25 @@
- if ( data != NULL ) {
- CFRange range;
- CFIndex buf_len;
--
-+
- buf_len = CFDataGetLength( data ) + 1;
- range = CFRangeMake( 0, buf_len );
--
-+
- if( ( p_env->pTOC = (CDTOC *)malloc( buf_len ) ) != NULL ) {
- CFDataGetBytes( data, range, (u_char *) p_env->pTOC );
- } else {
- cdio_warn( "Trouble allocating CDROM TOC" );
-- CFRelease( propertiesDict );
-+ CFRelease( propertiesDict );
- return false;
- }
- } else {
- cdio_warn( "Trouble reading TOC" );
-- CFRelease( propertiesDict );
-+ CFRelease( propertiesDict );
- return false;
- }
-
- /* TestDevice(p_env, service); */
-- CFRelease( propertiesDict );
-+ CFRelease( propertiesDict );
-
- p_env->i_descriptors = CDTOCGetDescriptorCount ( p_env->pTOC );
-
-@@ -1259,9 +1259,9 @@
- */
- {
- int i, i_leadout = -1;
--
-+
- CDTOCDescriptor *pTrackDescriptors;
--
-+
- p_env->pp_lba = malloc( p_env->i_descriptors * sizeof(int) );
- if( p_env->pp_lba == NULL )
- {
-@@ -1269,33 +1269,33 @@
- free( p_env->pTOC );
- return false;
- }
--
-+
- pTrackDescriptors = p_env->pTOC->descriptors;
-
- p_env->gen.i_first_track = CDIO_CD_MAX_TRACKS+1;
- p_env->i_last_track = CDIO_CD_MIN_TRACK_NO;
- p_env->i_first_session = CDIO_CD_MAX_TRACKS+1;
- p_env->i_last_session = CDIO_CD_MIN_TRACK_NO;
--
-+
- for( i = 0; i < p_env->i_descriptors; i++ )
- {
- track_t i_track = pTrackDescriptors[i].point;
- session_t i_session = pTrackDescriptors[i].session;
-
- cdio_debug( "point: %d, tno: %d, session: %d, adr: %d, control:%d, "
-- "address: %d:%d:%d, p: %d:%d:%d",
-+ "address: %d:%d:%d, p: %d:%d:%d",
- i_track,
- pTrackDescriptors[i].tno, i_session,
- pTrackDescriptors[i].adr, pTrackDescriptors[i].control,
- pTrackDescriptors[i].address.minute,
- pTrackDescriptors[i].address.second,
-- pTrackDescriptors[i].address.frame,
-+ pTrackDescriptors[i].address.frame,
- pTrackDescriptors[i].p.minute,
-- pTrackDescriptors[i].p.second,
-+ pTrackDescriptors[i].p.second,
- pTrackDescriptors[i].p.frame );
-
- /* track information has adr = 1 */
-- if ( 0x01 != pTrackDescriptors[i].adr )
-+ if ( 0x01 != pTrackDescriptors[i].adr )
- continue;
-
- if( i_track == OSX_CDROM_LEADOUT_TRACK )
-@@ -1304,16 +1304,16 @@
- if( i_track > CDIO_CD_MAX_TRACKS || i_track < CDIO_CD_MIN_TRACK_NO )
- continue;
-
-- if (p_env->gen.i_first_track > i_track)
-+ if (p_env->gen.i_first_track > i_track)
- p_env->gen.i_first_track = i_track;
--
-- if (p_env->i_last_track < i_track)
-+
-+ if (p_env->i_last_track < i_track)
- p_env->i_last_track = i_track;
--
-- if (p_env->i_first_session > i_session)
-+
-+ if (p_env->i_first_session > i_session)
- p_env->i_first_session = i_session;
--
-- if (p_env->i_last_session < i_session)
-+
-+ if (p_env->i_last_session < i_session)
- p_env->i_last_session = i_session;
- }
-
-@@ -1327,15 +1327,15 @@
- if( i_track > CDIO_CD_MAX_TRACKS || i_track < CDIO_CD_MIN_TRACK_NO )
- continue;
-
-- /* Note what OSX calls a LBA we call an LSN. So below re we
-+ /* Note what OSX calls a LBA we call an LSN. So below re we
- really have have MSF -> LSN -> LBA.
- */
- p_env->pp_lba[i_track - p_env->gen.i_first_track] =
- cdio_lsn_to_lba(CDConvertMSFToLBA( pTrackDescriptors[i].p ));
-- set_track_flags(&(p_env->gen.track_flags[i_track]),
-+ set_track_flags(&(p_env->gen.track_flags[i_track]),
- pTrackDescriptors[i].control);
- }
--
-+
- if( i_leadout == -1 )
- {
- cdio_warn( "CD leadout not found" );
-@@ -1343,9 +1343,9 @@
- free( (void *) p_env->pTOC );
- return false;
- }
--
-- /* Set leadout sector.
-- Note what OSX calls a LBA we call an LSN. So below re we
-+
-+ /* Set leadout sector.
-+ Note what OSX calls a LBA we call an LSN. So below re we
- really have have MSF -> LSN -> LBA.
- */
- p_env->pp_lba[TOTAL_TRACKS] =
-@@ -1355,7 +1355,7 @@
-
- p_env->gen.toc_init = true;
-
-- return( true );
-+ return( true );
-
- }
-
-@@ -1412,29 +1412,29 @@
- #define EJECT_CMD "/usr/sbin/hdiutil eject %s"
- snprintf( sz_cmd, sizeof(sz_cmd), EJECT_CMD, psz_drive );
- #undef EJECT_CMD
--
-+
- if( ( p_file = popen( sz_cmd, "r" ) ) != NULL )
- {
- char psz_result[0x200];
- int i_ret = fread( psz_result, 1, sizeof(psz_result) - 1, p_file );
--
-+
- if( i_ret == 0 && ferror( p_file ) != 0 )
- {
- pclose( p_file );
- return DRIVER_OP_ERROR;
- }
--
-+
- pclose( p_file );
--
-+
- psz_result[ i_ret ] = 0;
--
-+
- if( strstr( psz_result, "Disk Ejected" ) != NULL )
- {
- return DRIVER_OP_SUCCESS;
- }
- }
- }
--
-+
- return DRIVER_OP_ERROR;
- }
- #else /* HAVE_DISKARBITRATION */
-@@ -1460,7 +1460,7 @@
- {
- CFStringRef status = DADissenterGetStatusString(dissenter);
- if (status)
-- {
-+ {
- size_t cstr_size = CFStringGetLength(status);
- char *cstr = malloc(cstr_size);
- if ( CFStringGetCString( status,
-@@ -1520,18 +1520,18 @@
- dacontext.completed = FALSE;
- dacontext.runloop = CFRunLoopGetCurrent();
- dacontext.cancel = CFRunLoopSourceCreate(kCFAllocatorDefault, 0, &cancelRunLoopSourceContext);
--
-+
- if (!dacontext.cancel)
- {
- return DRIVER_OP_ERROR;
- }
--
-+
- if (!(dacontext.session = DASessionCreate(kCFAllocatorDefault)))
- {
- CFRelease(dacontext.cancel);
- return DRIVER_OP_ERROR;
- }
--
-+
- if ((disk = DADiskCreateFromBSDName(kCFAllocatorDefault, dacontext.session, psz_drive)) != NULL)
- {
- if ((description = DADiskCopyDescription(disk)) != NULL)
-@@ -1559,7 +1559,7 @@
- }
- CFRelease(disk);
- }
--
-+
- CFRunLoopSourceInvalidate(dacontext.cancel);
- CFRelease(dacontext.cancel);
- CFRelease(dacontext.session);
-@@ -1593,7 +1593,7 @@
- case _AM_NONE:
- return "no access method";
- }
-- }
-+ }
- return NULL;
- }
-
-@@ -1636,10 +1636,10 @@
- }
-
- /**
-- Get format of track.
-+ Get format of track.
- */
- static track_format_t
--get_track_format_osx(void *p_user_data, track_t i_track)
-+get_track_format_osx(void *p_user_data, track_t i_track)
- {
- _img_private_t *p_env = p_user_data;
- dk_cd_read_track_info_t cd_read;
-@@ -1649,15 +1649,15 @@
-
- if (i_track > p_env->i_last_track || i_track < p_env->gen.i_first_track)
- return TRACK_FORMAT_ERROR;
--
-+
- memset( &cd_read, 0, sizeof(cd_read) );
-
- cd_read.address = i_track;
- cd_read.addressType = kCDTrackInfoAddressTypeTrackNumber;
--
-+
- cd_read.buffer = &a_track;
- cd_read.bufferLength = sizeof(CDTrackInfo);
--
-+
- if( ioctl( p_env->gen.fd, DKIOCCDREADTRACKINFO, &cd_read ) == -1 )
- {
- cdio_warn( "could not read trackinfo for track %d:\n%s", i_track,
-@@ -1665,7 +1665,7 @@
- return TRACK_FORMAT_ERROR;
- }
-
-- cdio_debug( "%d: trackinfo trackMode: %x dataMode: %x", i_track,
-+ cdio_debug( "%d: trackinfo trackMode: %x dataMode: %x", i_track,
- a_track.trackMode, a_track.dataMode );
-
- if (a_track.trackMode == CDIO_CDROM_DATA_TRACK) {
-@@ -1691,7 +1691,7 @@
- FIXME: there's gotta be a better design for this and get_track_format?
- */
- static bool
--get_track_green_osx(void *p_user_data, track_t i_track)
-+get_track_green_osx(void *p_user_data, track_t i_track)
- {
- _img_private_t *p_env = p_user_data;
- CDTrackInfo a_track;
-@@ -1704,15 +1704,15 @@
- else {
-
- dk_cd_read_track_info_t cd_read;
--
-+
- memset( &cd_read, 0, sizeof(cd_read) );
--
-+
- cd_read.address = i_track;
- cd_read.addressType = kCDTrackInfoAddressTypeTrackNumber;
--
-+
- cd_read.buffer = &a_track;
- cd_read.bufferLength = sizeof(CDTrackInfo);
--
-+
- if( ioctl( p_env->gen.fd, DKIOCCDREADTRACKINFO, &cd_read ) == -1 ) {
- cdio_warn( "could not read trackinfo for track %d:\n%s", i_track,
- strerror(errno));
-@@ -1723,7 +1723,7 @@
- }
-
- /* Set CD-ROM drive speed */
--static int
-+static int
- set_speed_osx (void *p_user_data, int i_speed)
- {
- const _img_private_t *p_env = p_user_data;
-@@ -1736,16 +1736,16 @@
-
- /**
- Close tray on CD-ROM.
--
-+
- @param psz_drive the CD-ROM drive to be closed.
--
-+
- */
-
--/* FIXME: We don't use the device name because we don't how
-+/* FIXME: We don't use the device name because we don't how
- to.
- */
- #define CLOSE_TRAY_CMD "/usr/sbin/drutil tray close"
--driver_return_code_t
-+driver_return_code_t
- close_tray_osx (const char *psz_drive)
- {
- #ifdef HAVE_DARWIN_CDROM
-@@ -1754,7 +1754,7 @@
-
- if ( !psz_drive) return DRIVER_OP_UNINIT;
-
-- /* Right now we really aren't making use of snprintf, but
-+ /* Right now we really aren't making use of snprintf, but
- possibly someday we will.
- */
- snprintf( sz_cmd, sizeof(sz_cmd), CLOSE_TRAY_CMD );
-@@ -1763,25 +1763,25 @@
- {
- char psz_result[0x200];
- int i_ret = fread( psz_result, 1, sizeof(psz_result) - 1, p_file );
--
-+
- if( i_ret == 0 && ferror( p_file ) != 0 )
- {
- pclose( p_file );
- return DRIVER_OP_ERROR;
- }
--
-+
- pclose( p_file );
--
-+
- psz_result[ i_ret ] = 0;
--
-+
- if( 0 == i_ret )
- {
- return DRIVER_OP_SUCCESS;
- }
- }
--
-+
- return DRIVER_OP_ERROR;
--#else
-+#else
- return DRIVER_OP_NO_DRIVER;
- #endif /*HAVE_DARWIN_CDROM*/
- }
-@@ -1802,46 +1802,46 @@
- CFMutableDictionaryRef classes_to_match;
- char **drives = NULL;
- unsigned int num_drives=0;
--
-+
- /* Probe devices to get up to date information. */
- ProbeStorageDevices();
--
-+
- kern_result = IOMasterPort( MACH_PORT_NULL, &master_port );
- if( kern_result != KERN_SUCCESS )
- {
- return( NULL );
- }
--
-+
- classes_to_match = IOServiceMatching( kIOMediaClass );
- if( classes_to_match == NULL )
- {
- return( NULL );
- }
--
-+
- CFDictionarySetValue( classes_to_match, CFSTR(kIOMediaEjectableKey),
- kCFBooleanTrue );
--
-+
- CFDictionarySetValue( classes_to_match, CFSTR(kIOMediaWholeKey),
- kCFBooleanTrue );
--
-- kern_result = IOServiceGetMatchingServices( master_port,
-+
-+ kern_result = IOServiceGetMatchingServices( master_port,
- classes_to_match,
- &media_iterator );
- if( kern_result != KERN_SUCCESS )
- {
- return( NULL );
- }
--
-+
- next_media = IOIteratorNext( media_iterator );
- if( next_media != 0 )
- {
- char psz_buf[0x32];
- size_t dev_path_length;
- CFTypeRef str_bsd_path;
--
-+
- do
- {
-- str_bsd_path =
-+ str_bsd_path =
- IORegistryEntryCreateCFProperty( next_media,
- CFSTR( kIOBSDNameKey ),
- kCFAllocatorDefault,
-@@ -1851,13 +1851,13 @@
- IOObjectRelease( next_media );
- continue;
- }
--
-+
- /* Below, by appending 'r' to the BSD node name, we indicate
- a raw disk. Raw disks receive I/O requests directly and
-- don't go through a buffer cache. */
-+ don't go through a buffer cache. */
- snprintf( psz_buf, sizeof(psz_buf), "%s%c", _PATH_DEV, 'r' );
- dev_path_length = strlen( psz_buf );
--
-+
- if( CFStringGetCString( str_bsd_path,
- (char*)&psz_buf + dev_path_length,
- sizeof(psz_buf) - dev_path_length,
-@@ -1867,7 +1867,7 @@
- }
- CFRelease( str_bsd_path );
- IOObjectRelease( next_media );
--
-+
- } while( ( next_media = IOIteratorNext( media_iterator ) ) != 0 );
- }
- IOObjectRelease( media_iterator );
-@@ -1889,37 +1889,37 @@
- kern_return_t kern_result;
- io_iterator_t media_iterator;
- CFMutableDictionaryRef classes_to_match;
--
-+
- /* Probe devices to get up to date information. */
- ProbeStorageDevices();
--
-+
- classes_to_match = IOServiceMatching( kIOMediaClass );
- if( classes_to_match == NULL )
- {
- return( NULL );
- }
--
-+
- CFDictionarySetValue( classes_to_match, CFSTR(kIOMediaEjectableKey),
- kCFBooleanTrue );
--
-+
- CFDictionarySetValue( classes_to_match, CFSTR(kIOMediaWholeKey),
- kCFBooleanTrue );
--
-- kern_result = IOServiceGetMatchingServices( kIOMasterPortDefault,
-+
-+ kern_result = IOServiceGetMatchingServices( kIOMasterPortDefault,
- classes_to_match,
- &media_iterator );
- if( kern_result != KERN_SUCCESS )
- {
- return( NULL );
- }
--
-+
- next_media = IOIteratorNext( media_iterator );
- if( next_media != 0 )
- {
- char psz_buf[0x32];
- size_t dev_path_length;
- CFTypeRef str_bsd_path;
--
-+
- do
- {
- /* Skip other removable media, like USB flash memory keys: */
-@@ -1937,10 +1937,10 @@
- IOObjectRelease( next_media );
- continue;
- }
--
-+
- snprintf( psz_buf, sizeof(psz_buf), "%s%c", _PATH_DEV, 'r' );
- dev_path_length = strlen( psz_buf );
--
-+
- if( CFStringGetCString( str_bsd_path,
- (char*)&psz_buf + dev_path_length,
- sizeof(psz_buf) - dev_path_length,
-@@ -1951,10 +1951,10 @@
- IOObjectRelease( media_iterator );
- return strdup( psz_buf );
- }
--
-+
- CFRelease( str_bsd_path );
- IOObjectRelease( next_media );
--
-+
- } while( ( next_media = IOIteratorNext( media_iterator ) ) != 0 );
- }
- IOObjectRelease( media_iterator );
-@@ -2039,10 +2039,10 @@
-
- if (NULL == psz_orig_source) {
- psz_source=cdio_get_default_device_osx();
-- if (NULL == psz_source) {
-+ if (NULL == psz_source) {
- free(_data);
-- return NULL;
-- }
-+ return NULL;
-+ }
-
- _set_arg_osx(_data, "source", psz_source);
- free(psz_source);
-@@ -2071,8 +2071,8 @@
- free(ret);
- return NULL;
- }
--
--#else
-+
-+#else
- return NULL;
- #endif /* HAVE_DARWIN_CDROM */
-
-@@ -2083,7 +2083,7 @@
- {
- #ifdef HAVE_DARWIN_CDROM
- return true;
--#else
-+#else
- return false;
- #endif /* HAVE_DARWIN_CDROM */
- }
---- a/test/check_cdtext.sh
-+++ b/test/check_cdtext.sh
-@@ -17,7 +17,7 @@
- #
-
- if test "X$srcdir" = "X" ; then
-- return $SKIP_TEST_EXITCODE
-+ exit $SKIP_TEST_EXITCODE
- fi
-
- . $srcdir/check_common_fn
-@@ -25,16 +25,16 @@
- CDTEXT_RAW=$srcdir/../example/cdtext-raw
-
- if test ! -x $CDTEXT_RAW ; then
-- return $SKIP_TEST_EXITCODE
-+ exit $SKIP_TEST_EXITCODE
- fi
-
- if test "X$DIFF" = "X" ; then
-- return $SKIP_TEST_EXITCODE
-+ exit $SKIP_TEST_EXITCODE
- fi
-
- if test "$DIFF" = "no"; then
- echo "$0: No diff(1) or cmp(1) found - cannot test ${cmdname}"
-- return $SKIP_TEST_EXITCODE
-+ exit $SKIP_TEST_EXITCODE
- fi
-
-
-@@ -43,7 +43,7 @@
- outfile="$2"
- rightfile="$3"
-
-- if "${CDTEXT_RAW}" ${opts} >"${outfile}" 2>&1 ; then
-+ if "${CDTEXT_RAW}" ${opts} >"${outfile}" 2>&1 ; then
- if $DIFF $DIFF_OPTS "${outfile}" "${rightfile}" ; then
- $RM "${outfile}"
- return 0
diff --git a/tools/depends/target/libcdio/Makefile b/tools/depends/target/libcdio/Makefile
index 57da8e5d1d..a30712b841 100644
--- a/tools/depends/target/libcdio/Makefile
+++ b/tools/depends/target/libcdio/Makefile
@@ -1,11 +1,13 @@
include ../../Makefile.include
-DEPS= ../../Makefile.include Makefile configure.patch cross.patch
+DEPS = ../../Makefile.include Makefile configure.patch cross.patch ../../download-files.include
# lib name, version
LIBNAME=libcdio
VERSION=0.80
SOURCE=$(LIBNAME)-$(VERSION)
ARCHIVE=$(SOURCE).tar.gz
+SHA512=4bc723fd882baac090f61576aa798a3045df7877c9482b81e0c78e25e29503774240b7c34d255150ca7557d9aa8d8b113ca6fd1c1dae1362e4c0f314d8f33a51
+include ../../download-files.include
# configuration settings
CONFIGURE=cp -f $(CONFIG_SUB) $(CONFIG_GUESS) .; \
./configure --prefix=$(PREFIX) --with-cd-drive=no --with-cd-info=no --with-cd-paranoia=no \
@@ -16,10 +18,8 @@ LIBDYLIB=$(PLATFORM)/lib/driver/.libs/$(LIBNAME).a
all: .installed-$(PLATFORM)
-$(TARBALLS_LOCATION)/$(ARCHIVE):
- cd $(TARBALLS_LOCATION); $(RETRIEVE_TOOL) $(RETRIEVE_TOOL_FLAGS) $(BASE_URL)/$(ARCHIVE)
-$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE) $(DEPS)
+$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE).$(HASH_TYPE) $(DEPS)
rm -rf $(PLATFORM)/*; mkdir -p $(PLATFORM)
cd $(PLATFORM); $(ARCHIVE_TOOL) $(ARCHIVE_TOOL_FLAGS) $(TARBALLS_LOCATION)/$(ARCHIVE)
cd $(PLATFORM); patch -p1 -i ../configure.patch
diff --git a/tools/depends/target/libcec/Makefile b/tools/depends/target/libcec/Makefile
index 89889ebb54..27dc9e3e58 100644
--- a/tools/depends/target/libcec/Makefile
+++ b/tools/depends/target/libcec/Makefile
@@ -1,15 +1,17 @@
include ../../Makefile.include
-DEPS= ../../Makefile.include Makefile remove_git_info.patch
+DEPS = ../../Makefile.include Makefile remove_git_info.patch ../../download-files.include
# lib name, version
LIBNAME=libcec
VERSION_MAJOR=4
VERSION_MINOR=0
-VERSION_PATCH=4
+VERSION_PATCH=7
VERSION=$(VERSION_MAJOR).$(VERSION_MINOR).$(VERSION_PATCH)
SOURCE=$(LIBNAME)-$(VERSION)
ARCHIVE=$(SOURCE).tar.gz
+SHA512=424540a45f9cae3d5dcccc615d487c45033f9cdeb665b8176832495597e2cd58ef7681e13b52f6a32f8a40e1146c04a1a383f5785ea1e731c5c517a9a7843a81
+include ../../download-files.include
LIBDYLIB=$(PLATFORM)/build/src/$(LIBNAME)/$(LIBNAME).so
ifeq (darwin, $(findstring darwin, $(HOST)))
@@ -18,10 +20,8 @@ endif
all: .installed-$(PLATFORM)
-$(TARBALLS_LOCATION)/$(ARCHIVE):
- cd $(TARBALLS_LOCATION); $(RETRIEVE_TOOL) $(RETRIEVE_TOOL_FLAGS) $(BASE_URL)/$(ARCHIVE)
-$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE) $(DEPS)
+$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE).$(HASH_TYPE) $(DEPS)
rm -rf $(PLATFORM); mkdir -p $(PLATFORM)/build
cd $(PLATFORM); $(ARCHIVE_TOOL) $(ARCHIVE_TOOL_FLAGS) $(TARBALLS_LOCATION)/$(ARCHIVE)
cd $(PLATFORM); patch -p1 -i ../remove_git_info.patch
diff --git a/tools/depends/target/libdrm/Makefile b/tools/depends/target/libdrm/Makefile
new file mode 100644
index 0000000000..9ff1ff2d73
--- /dev/null
+++ b/tools/depends/target/libdrm/Makefile
@@ -0,0 +1,76 @@
+include ../../Makefile.include
+DEPS =../../Makefile.include Makefile ../../download-files.include
+
+LIBNAME=libdrm
+VERSION=2.4.102
+ARCHIVE=$(LIBNAME)-$(VERSION).tar.xz
+SHA512=386afd228efd809fe32776a6ff5d9dd95d1409a6a6a89b3806a3b42ed27e84f1e090f3b7834973f834d6b0d1342b7034447fe8690d072f85f03292d7795c3e0c
+include ../../download-files.include
+
+MESON_BUILD_TYPE=release
+
+ifeq ($(DEBUG_BUILD), yes)
+ MESON_BUILD_TYPE=debug
+endif
+
+# configuration settings
+CONFIGURE = $(NATIVEPREFIX)/bin/python3 $(NATIVEPREFIX)/bin/meson \
+ --prefix=$(PREFIX) \
+ --libdir=lib \
+ --buildtype=$(MESON_BUILD_TYPE) \
+ -Dlibkms=false \
+ -Dnouveau=false \
+ -Domap=false \
+ -Dexynos=false \
+ -Dtegra=false \
+ -Dintel=false \
+ -Dradeon=false \
+ -Damdgpu=false \
+ -Dvmwgfx=false \
+ -Dvc4=false \
+ -Dfreedreno=false \
+ -Detnaviv=false \
+ -Dcairo-tests=false \
+ -Dman-pages=false \
+ -Dvalgrind=false \
+ -Dfreedreno-kgsl=false \
+ -Dinstall-test-programs=false \
+ -Dudev=false
+
+ifeq ($(CROSS_COMPILING), yes)
+CONFIGURE += --cross-file $(PREFIX)/share/cross-file.meson
+export CC=$(CC_FOR_BUILD)
+export CXX=$(CXX_FOR_BUILD)
+export CFLAGS=$(CFLAGS_FOR_BUILD)
+export CXXFLAGS=$(CXXFLAGS_FOR_BUILD)
+else
+export CC CXX CFLAGS CXXFLAGS
+endif
+export PKG_CONFIG_LIBDIR=$(PREFIX)/lib/pkgconfig
+
+LIBDYLIB=$(PLATFORM)/build/$(LIBNAME).so
+
+all: .installed-$(PLATFORM)
+
+download: $(TARBALLS_LOCATION)/$(ARCHIVE)
+
+
+$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE).$(HASH_TYPE) $(DEPS)
+ rm -rf $(PLATFORM)/*; mkdir -p $(PLATFORM)
+ cd $(PLATFORM); $(ARCHIVE_TOOL) $(ARCHIVE_TOOL_FLAGS) $(TARBALLS_LOCATION)/$(ARCHIVE)
+ cd $(PLATFORM); rm -rf build; mkdir -p build
+ cd $(PLATFORM); $(CONFIGURE) . build
+
+$(LIBDYLIB): $(PLATFORM)
+ cd $(PLATFORM)/build; $(NATIVEPREFIX)/bin/ninja -v
+
+.installed-$(PLATFORM): $(LIBDYLIB)
+ cd $(PLATFORM)/build; $(NATIVEPREFIX)/bin/ninja -v install
+ touch $@
+
+clean:
+ $(MAKE) -C $(PLATFORM) clean
+ rm -f .installed-$(PLATFORM)
+
+distclean:
+ rm -rf $(PLATFORM) .installed-$(PLATFORM)
diff --git a/tools/depends/target/libdvdcss/DVDCSS-VERSION b/tools/depends/target/libdvdcss/DVDCSS-VERSION
deleted file mode 100644
index 43afb9b093..0000000000
--- a/tools/depends/target/libdvdcss/DVDCSS-VERSION
+++ /dev/null
@@ -1,4 +0,0 @@
-LIBNAME=libdvdcss
-BASE_URL=https://github.com/xbmc/libdvdcss
-VERSION=1.4.2-Leia-Beta-5
-
diff --git a/tools/depends/target/libdvdcss/LIBDVDCSS-VERSION b/tools/depends/target/libdvdcss/LIBDVDCSS-VERSION
new file mode 100644
index 0000000000..4fb78d93ab
--- /dev/null
+++ b/tools/depends/target/libdvdcss/LIBDVDCSS-VERSION
@@ -0,0 +1,7 @@
+LIBNAME=libdvdcss
+BASE_URL=https://github.com/xbmc/libdvdcss
+VERSION=1.4.3-Next-Nexus-Alpha2-2
+ARCHIVE=$(LIBNAME)-$(VERSION).tar.gz
+SHA512=d3be3bfc13c5ea56d8db745c2aab090c99760684fe4c8f62a13d266feb319e9180ceeecf8116bfd2ed90d9accba2c11dbbf93b61ad00f69a40812ebf4eabcdda
+BYPRODUCT=libdvdcss.a
+BYPRODUCT_WIN=dvdcss.lib
diff --git a/tools/depends/target/libdvdcss/Makefile b/tools/depends/target/libdvdcss/Makefile
index a5026227c2..b157eee34d 100644
--- a/tools/depends/target/libdvdcss/Makefile
+++ b/tools/depends/target/libdvdcss/Makefile
@@ -1,6 +1,6 @@
-include ../../Makefile.include
-include DVDCSS-VERSION
-DEPS= DVDCSS-VERSION Makefile
+include LIBDVDCSS-VERSION
+DEPS = LIBDVDCSS-VERSION Makefile ../../download-files.include
ifeq ($(CROSS_COMPILING), yes)
DEPS += ../../Makefile.include
@@ -21,14 +21,7 @@ ARCHIVE_TOOL := tar --strip-components=1 -xf
# configuration settings
config = --prefix=$(PREFIX) --disable-shared --enable-static --with-pic
-GITREV=$(shell git ls-remote $(BASE_URL) $(VERSION) | awk '{print $$1}')
-ifeq ($(GITREV),)
- ARCHIVE=$(LIBNAME)-$(VERSION).tar.gz
-else
- ARCHIVE=$(LIBNAME)-$(GITREV).tar.gz
-endif
-
-
+include ../../download-files.include
all: .installed-$(PLATFORM)
download: $(TARBALLS_LOCATION)/$(ARCHIVE)
@@ -36,7 +29,7 @@ download: $(TARBALLS_LOCATION)/$(ARCHIVE)
$(TARBALLS_LOCATION)/$(ARCHIVE):
cd $(TARBALLS_LOCATION); $(RETRIEVE_TOOL) -o $(TARBALLS_LOCATION)/$(ARCHIVE) $(BASE_URL)/archive/$(VERSION).tar.gz
-$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE) $(DEPS)
+$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE).$(HASH_TYPE) $(DEPS)
rm -rf $(PLATFORM); mkdir -p $(PLATFORM)
cd $(PLATFORM); $(ARCHIVE_TOOL) $(TARBALLS_LOCATION)/$(ARCHIVE)
cd $(PLATFORM); $(AUTORECONF) -vif && ac_cv_path_GIT= ./configure $(config)
diff --git a/tools/depends/target/libdvdnav/DVDNAV-VERSION b/tools/depends/target/libdvdnav/DVDNAV-VERSION
deleted file mode 100644
index 818cf066a3..0000000000
--- a/tools/depends/target/libdvdnav/DVDNAV-VERSION
+++ /dev/null
@@ -1,4 +0,0 @@
-LIBNAME=libdvdnav
-BASE_URL=https://github.com/xbmc/libdvdnav
-VERSION=6.0.0-Leia-Alpha-3
-
diff --git a/tools/depends/target/libdvdnav/LIBDVDNAV-VERSION b/tools/depends/target/libdvdnav/LIBDVDNAV-VERSION
new file mode 100644
index 0000000000..3d6d1ec699
--- /dev/null
+++ b/tools/depends/target/libdvdnav/LIBDVDNAV-VERSION
@@ -0,0 +1,7 @@
+LIBNAME=libdvdnav
+BASE_URL=https://github.com/xbmc/libdvdnav
+VERSION=6.1.1-Next-Nexus-Alpha2-2
+ARCHIVE=$(LIBNAME)-$(VERSION).tar.gz
+SHA512=51e6fc033121241354a5f0b3fc9a430577ae3ff6bb7f31445aa548ef4893037fb80eea3b2c6774c81e9ebaf9c45e9b490c98c2c65eb38f9f7daba84b236f7e1d
+BYPRODUCT=libdvdnav.a
+BYPRODUCT_WIN=libdvdnav.lib
diff --git a/tools/depends/target/libdvdnav/Makefile b/tools/depends/target/libdvdnav/Makefile
index eada58a160..eca4d53f54 100644
--- a/tools/depends/target/libdvdnav/Makefile
+++ b/tools/depends/target/libdvdnav/Makefile
@@ -1,6 +1,6 @@
-include ../../Makefile.include
-include DVDNAV-VERSION
-DEPS = DVDNAV-VERSION Makefile
+include LIBDVDNAV-VERSION
+DEPS = LIBDVDNAV-VERSION Makefile ../../download-files.include
# configuration settings
config = --prefix=$(PREFIX) --disable-shared --enable-static --with-pic
@@ -32,13 +32,7 @@ endif
RETRIEVE_TOOL := curl -Ls --create-dirs --retry 10 --retry-delay 3
ARCHIVE_TOOL := tar --strip-components=1 -xf
-GITREV=$(shell git ls-remote $(BASE_URL) $(VERSION) | awk '{print $$1}')
-ifeq ($(GITREV),)
- ARCHIVE=$(LIBNAME)-$(VERSION).tar.gz
-else
- ARCHIVE=$(LIBNAME)-$(GITREV).tar.gz
-endif
-
+include ../../download-files.include
all: .installed-$(PLATFORM)
download: $(TARBALLS_LOCATION)/$(ARCHIVE)
@@ -46,7 +40,7 @@ download: $(TARBALLS_LOCATION)/$(ARCHIVE)
$(TARBALLS_LOCATION)/$(ARCHIVE):
cd $(TARBALLS_LOCATION); $(RETRIEVE_TOOL) -o $(TARBALLS_LOCATION)/$(ARCHIVE) $(BASE_URL)/archive/$(VERSION).tar.gz
-$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE) $(DEPS)
+$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE).$(HASH_TYPE) $(DEPS)
rm -rf $(PLATFORM); mkdir -p $(PLATFORM)
cd $(PLATFORM); $(ARCHIVE_TOOL) $(TARBALLS_LOCATION)/$(ARCHIVE)
cd $(PLATFORM); $(AUTORECONF) -vif && $(PKGCONFIGPATH) CFLAGS="$(CFLAGS) $(EXTRA_CFLAGS)" ac_cv_path_GIT= ./configure $(config)
diff --git a/tools/depends/target/libdvdread/DVDREAD-VERSION b/tools/depends/target/libdvdread/DVDREAD-VERSION
deleted file mode 100644
index eea4c74c74..0000000000
--- a/tools/depends/target/libdvdread/DVDREAD-VERSION
+++ /dev/null
@@ -1,4 +0,0 @@
-LIBNAME=libdvdread
-BASE_URL=https://github.com/xbmc/libdvdread
-VERSION=6.0.0-Leia-Alpha-3
-
diff --git a/tools/depends/target/libdvdread/LIBDVDREAD-VERSION b/tools/depends/target/libdvdread/LIBDVDREAD-VERSION
new file mode 100644
index 0000000000..d51b629bd2
--- /dev/null
+++ b/tools/depends/target/libdvdread/LIBDVDREAD-VERSION
@@ -0,0 +1,7 @@
+LIBNAME=libdvdread
+BASE_URL=https://github.com/xbmc/libdvdread
+VERSION=6.1.3-Next-Nexus-Alpha2-2
+ARCHIVE=$(LIBNAME)-$(VERSION).tar.gz
+SHA512=629a41157d07b8ec0ea1fe89ae5ec48f63047472a862782b805c531ae31a0376fc4dc15175f8280c3ef91d7fa977bacebb1b51232640034a34bab2293210fc5e
+BYPRODUCT=libdvdread.a
+BYPRODUCT_WIN=dvdread.lib
diff --git a/tools/depends/target/libdvdread/Makefile b/tools/depends/target/libdvdread/Makefile
index d240953fe4..0be5f2d6f4 100644
--- a/tools/depends/target/libdvdread/Makefile
+++ b/tools/depends/target/libdvdread/Makefile
@@ -1,6 +1,6 @@
-include ../../Makefile.include
-include DVDREAD-VERSION
-DEPS = DVDREAD-VERSION Makefile
+include LIBDVDREAD-VERSION
+DEPS = LIBDVDREAD-VERSION Makefile ../../download-files.include
# configuration settings
config = --prefix=$(PREFIX) --disable-shared --enable-static --with-pic --with-libdvdcss
@@ -31,13 +31,7 @@ endif
RETRIEVE_TOOL := curl -Ls --create-dirs --retry 10 --retry-delay 3
ARCHIVE_TOOL := tar --strip-components=1 -xf
-GITREV=$(shell git ls-remote $(BASE_URL) $(VERSION) | awk '{print $$1}')
-ifeq ($(GITREV),)
- ARCHIVE=$(LIBNAME)-$(VERSION).tar.gz
-else
- ARCHIVE=$(LIBNAME)-$(GITREV).tar.gz
-endif
-
+include ../../download-files.include
all: .installed-$(PLATFORM)
download: $(TARBALLS_LOCATION)/$(ARCHIVE)
@@ -45,7 +39,7 @@ download: $(TARBALLS_LOCATION)/$(ARCHIVE)
$(TARBALLS_LOCATION)/$(ARCHIVE):
cd $(TARBALLS_LOCATION); $(RETRIEVE_TOOL) -o $(TARBALLS_LOCATION)/$(ARCHIVE) $(BASE_URL)/archive/$(VERSION).tar.gz
-$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE) $(DEPS)
+$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE).$(HASH_TYPE) $(DEPS)
rm -rf $(PLATFORM); mkdir -p $(PLATFORM)
cd $(PLATFORM); $(ARCHIVE_TOOL) $(TARBALLS_LOCATION)/$(ARCHIVE)
cd $(PLATFORM); $(AUTORECONF) -vif && $(PKGCONFIGPATH) CFLAGS="$(CFLAGS) $(EXTRA_CFLAGS)" ac_cv_path_GIT= ./configure $(config)
diff --git a/tools/depends/target/libevdev/Makefile b/tools/depends/target/libevdev/Makefile
index 1f3933fb64..74ec3b96c3 100644
--- a/tools/depends/target/libevdev/Makefile
+++ b/tools/depends/target/libevdev/Makefile
@@ -1,11 +1,13 @@
include ../../Makefile.include
-DEPS=../../Makefile.include Makefile
+DEPS =../../Makefile.include Makefile ../../download-files.include
# lib name, version
LIBNAME=libevdev
VERSION=1.5.8
SOURCE=$(LIBNAME)-$(VERSION)
ARCHIVE=$(SOURCE).tar.xz
+SHA512=e9485d8c6b48ebf762b32b003bc6b761c548024ad3bc34a0793485b53383746881fcc9b206a078d571937291e519d9822e50c5d8816778d347094691b65ec3fa
+include ../../download-files.include
# configuration settings
CONFIGURE=./configure --prefix=$(PREFIX) --disable-shared --enable-static --disable-tests
@@ -14,10 +16,8 @@ LIBDYLIB=$(PLATFORM)/libevdev/.libs/libevdev.la
all: .installed-$(PLATFORM)
-$(TARBALLS_LOCATION)/$(ARCHIVE):
- cd $(TARBALLS_LOCATION); $(RETRIEVE_TOOL) $(RETRIEVE_TOOL_FLAGS) $(BASE_URL)/$(ARCHIVE)
-$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE) $(DEPS)
+$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE).$(HASH_TYPE) $(DEPS)
rm -rf $(PLATFORM)/*; mkdir -p $(PLATFORM)
cd $(PLATFORM); $(ARCHIVE_TOOL) $(ARCHIVE_TOOL_FLAGS) $(TARBALLS_LOCATION)/$(ARCHIVE)
cd $(PLATFORM); $(CONFIGURE)
diff --git a/tools/depends/target/libffi/LIBFFI-VERSION b/tools/depends/target/libffi/LIBFFI-VERSION
new file mode 100644
index 0000000000..9d1e722692
--- /dev/null
+++ b/tools/depends/target/libffi/LIBFFI-VERSION
@@ -0,0 +1,4 @@
+LIBNAME=libffi
+VERSION=3.4.2
+ARCHIVE=$(LIBNAME)-$(VERSION).tar.gz
+SHA512=31bad35251bf5c0adb998c88ff065085ca6105cf22071b9bd4b5d5d69db4fadf16cadeec9baca944c4bb97b619b035bb8279de8794b922531fddeb0779eb7fb1
diff --git a/tools/depends/target/libffi/Makefile b/tools/depends/target/libffi/Makefile
index eb62087cb8..713fb08ec1 100644
--- a/tools/depends/target/libffi/Makefile
+++ b/tools/depends/target/libffi/Makefile
@@ -1,27 +1,16 @@
-include ../../Makefile.include
-DEPS= ../../Makefile.include Makefile armAssembler.patch
-
-# lib name, version
-LIBNAME=libffi
-VERSION=3.2.1
-SOURCE=$(LIBNAME)-$(VERSION)
-ARCHIVE=$(SOURCE).tar.gz
+include ../../Makefile.include LIBFFI-VERSION ../../download-files.include
+DEPS = ../../Makefile.include Makefile LIBFFI-VERSION ../../download-files.include
# configuration settings
CONFIGURE= ./configure --prefix=$(PREFIX) --disable-shared --disable-builddir
-
LIBDYLIB=$(PLATFORM)/.libs/$(LIBNAME).a
all: .installed-$(PLATFORM)
-$(TARBALLS_LOCATION)/$(ARCHIVE):
- cd $(TARBALLS_LOCATION); $(RETRIEVE_TOOL) $(RETRIEVE_TOOL_FLAGS) $(BASE_URL)/$(ARCHIVE)
-
-$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE) $(DEPS)
+$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE).$(HASH_TYPE) $(DEPS)
rm -rf $(PLATFORM); mkdir -p $(PLATFORM)
cd $(PLATFORM); $(ARCHIVE_TOOL) $(ARCHIVE_TOOL_FLAGS) $(TARBALLS_LOCATION)/$(ARCHIVE)
- cd $(PLATFORM); patch -p1 -i ../armAssembler.patch
cd $(PLATFORM); $(CONFIGURE)
$(LIBDYLIB): $(PLATFORM)
@@ -30,8 +19,6 @@ $(LIBDYLIB): $(PLATFORM)
.installed-$(PLATFORM): $(LIBDYLIB)
$(MAKE) -C $(PLATFORM) install
- mkdir -p $(PREFIX)/include/ffi
- cp $(PREFIX)/lib/$(SOURCE)/include/* $(PREFIX)/include/ffi/
touch $@
clean:
diff --git a/tools/depends/target/libffi/armAssembler.patch b/tools/depends/target/libffi/armAssembler.patch
deleted file mode 100644
index 1165adac18..0000000000
--- a/tools/depends/target/libffi/armAssembler.patch
+++ /dev/null
@@ -1,51 +0,0 @@
---- a/src/arm/sysv.S
-+++ b/src/arm/sysv.S
-@@ -360,7 +360,7 @@
- cmp r0, #3
- sub ip, fp, #64
- flddle d0, [ip]
-- fldmiadgt ip, {d0-d7}
-+ vldmiagt ip, {d0-d7}
-
- LSYM(Lbase_args):
- @ move first 4 parameters in registers
-@@ -396,7 +396,7 @@
- beq LSYM(Lepilogue_vfp)
-
- cmp r3, #FFI_TYPE_SINT64
-- stmeqia r2, {r0, r1}
-+ stmiaeq r2, {r0, r1}
- beq LSYM(Lepilogue_vfp)
-
- cmp r3, #FFI_TYPE_FLOAT
-@@ -409,7 +409,7 @@
-
- cmp r3, #FFI_TYPE_STRUCT_VFP_FLOAT
- cmpne r3, #FFI_TYPE_STRUCT_VFP_DOUBLE
-- fstmiadeq r2, {d0-d3}
-+ vstmiaeq r2, {d0-d3}
-
- LSYM(Lepilogue_vfp):
- RETLDM "r0-r3,fp"
-@@ -420,7 +420,7 @@
-
-
- ARM_FUNC_START(ffi_closure_VFP)
-- fstmfdd sp!, {d0-d7}
-+ vstmdb sp!, {d0-d7}
- @ r0-r3, then d0-d7
- UNWIND .pad #80
- add ip, sp, #80
-@@ -470,10 +470,10 @@
- ldmia sp, {r0, r1}
- b .Lclosure_epilogue_vfp
- .Lretfloat_struct_vfp:
-- fldmiad sp, {d0-d1}
-+ vldmia sp, {d0-d1}
- b .Lclosure_epilogue_vfp
- .Lretdouble_struct_vfp:
-- fldmiad sp, {d0-d3}
-+ vldmia sp, {d0-d3}
- b .Lclosure_epilogue_vfp
-
- .ffi_closure_VFP_end:
diff --git a/tools/depends/target/libgcrypt/01-gcrypt-android-select.patch b/tools/depends/target/libgcrypt/01-gcrypt-android-select.patch
deleted file mode 100644
index 9521d503a6..0000000000
--- a/tools/depends/target/libgcrypt/01-gcrypt-android-select.patch
+++ /dev/null
@@ -1,13 +0,0 @@
---- a/src/gcrypt.h.in
-+++ b/src/gcrypt.h.in
-@@ -47,6 +47,10 @@
-
- @FALLBACK_SOCKLEN_T@
-
-+#if defined(ANDROID)
-+#include <sys/select.h>
-+#endif
-+
- /* This is required for error code compatibility. */
- #define _GCRY_ERR_SOURCE_DEFAULT GPG_ERR_SOURCE_GCRYPT
-
diff --git a/tools/depends/target/libgcrypt/02-fix-armv7-neon.patch b/tools/depends/target/libgcrypt/02-fix-armv7-neon.patch
deleted file mode 100644
index 1f38a4ab75..0000000000
--- a/tools/depends/target/libgcrypt/02-fix-armv7-neon.patch
+++ /dev/null
@@ -1,32 +0,0 @@
---- a/configure.ac
-+++ b/configure.ac
-@@ -2083,10 +2083,6 @@
- arm*-*-*)
- # Build with the assembly implementation
- GCRYPT_CIPHERS="$GCRYPT_CIPHERS rijndael-arm.lo"
--
-- # Build with the ARMv8/AArch32 CE implementation
-- GCRYPT_CIPHERS="$GCRYPT_CIPHERS rijndael-armv8-ce.lo"
-- GCRYPT_CIPHERS="$GCRYPT_CIPHERS rijndael-armv8-aarch32-ce.lo"
- ;;
- aarch64-*-*)
- # Build with the assembly implementation
-@@ -2355,10 +2351,6 @@
- GCRYPT_DIGESTS="$GCRYPT_DIGESTS sha256-avx-amd64.lo"
- GCRYPT_DIGESTS="$GCRYPT_DIGESTS sha256-avx2-bmi2-amd64.lo"
- ;;
-- arm*-*-*)
-- # Build with the assembly implementation
-- GCRYPT_DIGESTS="$GCRYPT_DIGESTS sha256-armv8-aarch32-ce.lo"
-- ;;
- aarch64-*-*)
- # Build with the assembly implementation
- GCRYPT_DIGESTS="$GCRYPT_DIGESTS sha256-armv8-aarch64-ce.lo"
-@@ -2448,7 +2440,6 @@
- arm*-*-*)
- # Build with the assembly implementation
- GCRYPT_DIGESTS="$GCRYPT_DIGESTS sha1-armv7-neon.lo"
-- GCRYPT_DIGESTS="$GCRYPT_DIGESTS sha1-armv8-aarch32-ce.lo"
- ;;
- aarch64-*-*)
- # Build with the assembly implementation
diff --git a/tools/depends/target/libgcrypt/03-remove-cipher-gcm-armv8.patch b/tools/depends/target/libgcrypt/03-remove-cipher-gcm-armv8.patch
deleted file mode 100644
index 3e525caec3..0000000000
--- a/tools/depends/target/libgcrypt/03-remove-cipher-gcm-armv8.patch
+++ /dev/null
@@ -1,10 +0,0 @@
---- a/cipher/Makefile.am
-+++ b/cipher/Makefile.am
-@@ -43,7 +43,6 @@
- cipher.c cipher-internal.h \
- cipher-cbc.c cipher-cfb.c cipher-ofb.c cipher-ctr.c cipher-aeswrap.c \
- cipher-ccm.c cipher-cmac.c cipher-gcm.c cipher-gcm-intel-pclmul.c \
-- cipher-gcm-armv8-aarch32-ce.S cipher-gcm-armv8-aarch64-ce.S \
- cipher-poly1305.c cipher-ocb.c cipher-xts.c \
- cipher-selftest.c cipher-selftest.h \
- pubkey.c pubkey-internal.h pubkey-util.c \
diff --git a/tools/depends/target/libgcrypt/04-fix-o-flag-munging.patch b/tools/depends/target/libgcrypt/04-fix-o-flag-munging.patch
deleted file mode 100644
index 0949a37404..0000000000
--- a/tools/depends/target/libgcrypt/04-fix-o-flag-munging.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- a/random/Makefile.am
-+++ b/random/Makefile.am
-@@ -55,7 +55,7 @@
-
- # The rndjent module needs to be compiled without optimization. */
- if ENABLE_O_FLAG_MUNGING
--o_flag_munging = sed -e 's/-O\([1-9s][1-9s]*\)/-O0/g' -e 's/-Ofast/-O0/g'
-+o_flag_munging = sed -e 's/-O\([1-9sg][1-9sg]*\)/-O0/g' -e 's/-Ofast/-O0/g'
- else
- o_flag_munging = cat
- endif
diff --git a/tools/depends/target/libgcrypt/LIBGCRYPT-VERSION b/tools/depends/target/libgcrypt/LIBGCRYPT-VERSION
new file mode 100644
index 0000000000..1010bafea5
--- /dev/null
+++ b/tools/depends/target/libgcrypt/LIBGCRYPT-VERSION
@@ -0,0 +1,5 @@
+LIBNAME=libgcrypt
+VERSION=1.10.1
+ARCHIVE=$(LIBNAME)-$(VERSION).tar.bz2
+SHA512=e5ca7966624fff16c3013795836a2c4377f0193dbb4ac5ad2b79654b1fa8992e17d83816569a402212dc8367a7980d4141f5d6ac282bae6b9f02186365b61f13
+BYPRODUCT=libgcrypt.a
diff --git a/tools/depends/target/libgcrypt/Makefile b/tools/depends/target/libgcrypt/Makefile
index 340e2333ba..9ad708a35c 100644
--- a/tools/depends/target/libgcrypt/Makefile
+++ b/tools/depends/target/libgcrypt/Makefile
@@ -1,45 +1,40 @@
-include ../../Makefile.include
-DEPS= ../../Makefile.include Makefile 01-gcrypt-android-select.patch 02-fix-armv7-neon.patch 03-remove-cipher-gcm-armv8.patch 04-fix-o-flag-munging.patch
-
-# lib name, version
-LIBNAME=libgcrypt
-VERSION=1.8.1
-SOURCE=$(LIBNAME)-$(VERSION)
-ARCHIVE=$(SOURCE).tar.bz2
-
-ifeq ($(OS),osx)
- CONFIGURE_FLAGS+= --disable-asm --disable-avx-support --disable-avx2-support
+include ../../Makefile.include LIBGCRYPT-VERSION ../../download-files.include
+DEPS = ../../Makefile.include Makefile LIBGCRYPT-VERSION ../../download-files.include
+
+ifeq ($(OS),android)
+ # Just blanket disable neon support for non arm64 arch
+ ifneq ($(findstring arm64, $(CPU)), arm64)
+ CONFIGURE_FLAGS+= --disable-neon-support
+ endif
endif
-ifeq ($(findstring arm64, $(CPU)), arm64)
- CONFIGURE_FLAGS+= --disable-asm
-else
- CONFIGURE_FLAGS+= --disable-asm --disable-arm-crypto-support
+
+ifeq ($(findstring apple-darwin, $(HOST)), apple-darwin)
+ # required to fix asm link failure due C_SYMBOL_NAME macro not prepending _ to exported symbol
+ # exported symbols only have s single _ instead of double __
+ # Undefined symbols for architecture x86_64:
+ # "__gcry_mpih_add_n", referenced from:
+ CONFIGURE_FLAGS+= ac_cv_sys_symbol_underscore=yes
+ ifeq ($(OS), darwin_embedded)
+ # explicitly disable getentropy for ios/tvos as AC_CHECK_FUNCS(getentropy) incorrectly
+ # succeeds as of libgcrypt 1.9.4
+ CONFIGURE_FLAGS+= ac_cv_func_getentropy=no
+ endif
endif
+export GPG_ERROR_CONFIG=$(PREFIX)/bin/gpg-error-config
# configuration settings
CONFIGURE=cp -f $(CONFIG_SUB) $(CONFIG_GUESS) .; \
- ./configure --prefix=$(PREFIX) --disable-doc --disable-shared \
- $(CONFIGURE_FLAGS)
+ ./configure --prefix=$(PREFIX) --disable-doc --disable-shared $(CONFIGURE_FLAGS)
-LIBDYLIB=$(PLATFORM)/src/.libs/$(LIBNAME).a
+LIBDYLIB=$(PLATFORM)/src/.libs/$(BYPRODUCT)
all: .installed-$(PLATFORM)
-$(TARBALLS_LOCATION)/$(ARCHIVE):
- cd $(TARBALLS_LOCATION); $(RETRIEVE_TOOL) $(RETRIEVE_TOOL_FLAGS) $(BASE_URL)/$(ARCHIVE)
-
-$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE) $(DEPS)
+$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE).$(HASH_TYPE) $(DEPS)
rm -rf $(PLATFORM)/*; mkdir -p $(PLATFORM)
cd $(PLATFORM); $(ARCHIVE_TOOL) $(ARCHIVE_TOOL_FLAGS) $(TARBALLS_LOCATION)/$(ARCHIVE)
- cd $(PLATFORM); patch -p1 -i ../01-gcrypt-android-select.patch
- cd $(PLATFORM); patch -p1 -i ../02-fix-armv7-neon.patch
-ifneq ($(findstring arm64, $(CPU)), arm64)
- cd $(PLATFORM); patch -p1 -i ../03-remove-cipher-gcm-armv8.patch
-endif
- cd $(PLATFORM); patch -p1 -i ../04-fix-o-flag-munging.patch
# do not build the tests or docs
- sed -ie "s|doc tests||" "$(PLATFORM)/Makefile.am"
sed -ie "s|\$$(doc) tests||" "$(PLATFORM)/Makefile.am"
cd $(PLATFORM); $(AUTORECONF) -vif
cd $(PLATFORM); $(CONFIGURE)
diff --git a/tools/depends/target/libgpg-error/LIBGPG-ERROR-VERSION b/tools/depends/target/libgpg-error/LIBGPG-ERROR-VERSION
new file mode 100644
index 0000000000..3456a912d8
--- /dev/null
+++ b/tools/depends/target/libgpg-error/LIBGPG-ERROR-VERSION
@@ -0,0 +1,5 @@
+LIBNAME=libgpg-error
+VERSION=1.45
+SOURCE=$(LIBNAME)-$(VERSION)
+ARCHIVE=$(SOURCE).tar.bz2
+SHA512=882f2dd617e89137d7a9d61b60488dac32321dd4fdb699e9687b6bd9380c056c027da502837f4482289c0fe00e7de01210e804428f05a0843ae2ca23fdcc6457
diff --git a/tools/depends/target/libgpg-error/Makefile b/tools/depends/target/libgpg-error/Makefile
index d0c108cd1b..63825f09ab 100644
--- a/tools/depends/target/libgpg-error/Makefile
+++ b/tools/depends/target/libgpg-error/Makefile
@@ -1,35 +1,29 @@
-include ../../Makefile.include
-DEPS= ../../Makefile.include Makefile
-
-# lib name, version
-LIBNAME=libgpg-error
-VERSION=1.27
-SOURCE=$(LIBNAME)-$(VERSION)
-ARCHIVE=$(SOURCE).tar.bz2
+include ../../Makefile.include LIBGPG-ERROR-VERSION ../../download-files.include
+DEPS = ../../Makefile.include Makefile LIBGPG-ERROR-VERSION ../../download-files.include \
+ tvos_remove-fork.patch
# configuration settings
CONFIGURE=./configure --prefix=$(PREFIX) \
- --disable-languages \
- --disable-nls --disable-shared
+ --disable-doc \
+ --disable-tests \
+ --disable-languages \
+ --disable-nls \
+ --disable-shared
LIBDYLIB=$(PLATFORM)/src/.libs/$(LIBNAME).a
all: .installed-$(PLATFORM)
-$(TARBALLS_LOCATION)/$(ARCHIVE):
- cd $(TARBALLS_LOCATION); $(RETRIEVE_TOOL) $(RETRIEVE_TOOL_FLAGS) $(BASE_URL)/$(ARCHIVE)
-
-$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE) $(DEPS)
+$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE).$(HASH_TYPE) $(DEPS)
rm -rf $(PLATFORM)/*; mkdir -p $(PLATFORM)
cd $(PLATFORM); $(ARCHIVE_TOOL) $(ARCHIVE_TOOL_FLAGS) $(TARBALLS_LOCATION)/$(ARCHIVE)
+ifeq ($(TARGET_PLATFORM),appletvos)
+ cd $(PLATFORM); patch -p1 -i ../tvos_remove-fork.patch
+endif
+ cd $(PLATFORM); $(AUTORECONF) -vif
cd $(PLATFORM); $(CONFIGURE)
$(LIBDYLIB): $(PLATFORM)
-ifeq ($(OS),darwin_embedded)
-ifeq ($(CPU),arm64)
- cp $(PLATFORM)/src/syscfg/lock-obj-pub.aarch64-apple-darwin.h $(PLATFORM)/src/syscfg/lock-obj-pub.arm-apple-darwin.h
-endif
-endif
ifeq ($(OS),android)
ifeq ($(CPU),arm64-v8a)
cp lock-obj-pub.aarch64-unknown-linux-android.h $(PLATFORM)/src/syscfg/lock-obj-pub.linux-android.h
diff --git a/tools/depends/target/libgpg-error/tvos_remove-fork.patch b/tools/depends/target/libgpg-error/tvos_remove-fork.patch
new file mode 100644
index 0000000000..23baed3ebb
--- /dev/null
+++ b/tools/depends/target/libgpg-error/tvos_remove-fork.patch
@@ -0,0 +1,47 @@
+--- a/src/spawn-posix.c
++++ b/src/spawn-posix.c
+@@ -314,7 +314,7 @@
+
+ if (preexec)
+ preexec ();
+- execv (pgmname, arg_list);
++// execv (pgmname, arg_list);
+ /* No way to print anything, as we have may have closed all streams. */
+ _exit (127);
+ }
+@@ -464,7 +464,7 @@
+ }
+
+ _gpgrt_pre_syscall ();
+- *pid = fork ();
++ *pid = -1;
+ _gpgrt_post_syscall ();
+ if (*pid == (pid_t)(-1))
+ {
+@@ -534,7 +534,7 @@
+ gpg_error_t err;
+
+ _gpgrt_pre_syscall ();
+- *pid = fork ();
++ *pid = -1;
+ _gpgrt_post_syscall ();
+ if (*pid == (pid_t)(-1))
+ {
+@@ -818,7 +818,7 @@
+ return _gpg_err_code_from_syserror ();
+
+ _gpgrt_pre_syscall ();
+- pid = fork ();
++ pid = -1;
+ _gpgrt_post_syscall ();
+ if (pid == (pid_t)(-1))
+ {
+@@ -835,7 +835,7 @@
+ if (setsid() == -1 || chdir ("/"))
+ _exit (1);
+
+- pid2 = fork (); /* Double fork to let init take over the new child. */
++ pid2 = -1; /* Double fork to let init take over the new child. */
+ if (pid2 == (pid_t)(-1))
+ _exit (1);
+ if (pid2)
diff --git a/tools/depends/target/libiconv/Makefile b/tools/depends/target/libiconv/Makefile
index 9fd19a8410..8782e51a78 100644
--- a/tools/depends/target/libiconv/Makefile
+++ b/tools/depends/target/libiconv/Makefile
@@ -1,11 +1,13 @@
include ../../Makefile.include
-DEPS= ../../Makefile.include Makefile
+DEPS = ../../Makefile.include Makefile ../../download-files.include
# lib name, version
LIBNAME=libiconv
VERSION=1.15
SOURCE=$(LIBNAME)-$(VERSION)
ARCHIVE=$(SOURCE).tar.gz
+SHA512=1233fe3ca09341b53354fd4bfe342a7589181145a1232c9919583a8c9979636855839049f3406f253a9d9829908816bb71fd6d34dd544ba290d6f04251376b1a
+include ../../download-files.include
# configuration settings
CONFIGURE=cp -f $(CONFIG_SUB) $(CONFIG_GUESS) build-aux/; \
@@ -16,10 +18,8 @@ LIBDYLIB=$(PLATFORM)/lib/.libs/$(LIBNAME).a
all: .installed-$(PLATFORM)
-$(TARBALLS_LOCATION)/$(ARCHIVE):
- cd $(TARBALLS_LOCATION); $(RETRIEVE_TOOL) $(RETRIEVE_TOOL_FLAGS) $(BASE_URL)/$(ARCHIVE)
-$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE) $(DEPS)
+$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE).$(HASH_TYPE) $(DEPS)
rm -rf $(PLATFORM)/*; mkdir -p $(PLATFORM)
cd $(PLATFORM); $(ARCHIVE_TOOL) $(ARCHIVE_TOOL_FLAGS) $(TARBALLS_LOCATION)/$(ARCHIVE)
cd $(PLATFORM); $(CONFIGURE)
diff --git a/tools/depends/target/libinput/Makefile b/tools/depends/target/libinput/Makefile
index ccf98657ff..d0aeb88093 100644
--- a/tools/depends/target/libinput/Makefile
+++ b/tools/depends/target/libinput/Makefile
@@ -1,11 +1,13 @@
include ../../Makefile.include
-DEPS=../../Makefile.include Makefile
+DEPS =../../Makefile.include Makefile ../../download-files.include
# lib name, version
LIBNAME=libinput
VERSION=1.10.5
SOURCE=$(LIBNAME)-$(VERSION)
ARCHIVE=$(SOURCE).tar.xz
+SHA512=61f19ea777b523f0e76869b8e7dbbff5e51132d3c856c6edb9915a695f7903256228e71be2567642866923a800f1283bdd5aff97266ac26c2e42dfce0bffa50b
+include ../../download-files.include
# configuration settings
CONFIGURE= $(NATIVEPREFIX)/bin/python3 $(NATIVEPREFIX)/bin/meson \
@@ -27,14 +29,12 @@ export CC CXX CFLAGS CXXFLAGS
endif
export PKG_CONFIG_LIBDIR=$(PREFIX)/lib/pkgconfig
-LIBDYLIB=$(PLATFORM)/build/libinput.a
+LIBDYLIB=$(PLATFORM)/build/libinput.so
all: .installed-$(PLATFORM)
-$(TARBALLS_LOCATION)/$(ARCHIVE):
- cd $(TARBALLS_LOCATION); $(RETRIEVE_TOOL) $(RETRIEVE_TOOL_FLAGS) $(BASE_URL)/$(ARCHIVE)
-$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE) $(DEPS)
+$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE).$(HASH_TYPE) $(DEPS)
rm -rf $(PLATFORM)/*; mkdir -p $(PLATFORM)
cd $(PLATFORM); $(ARCHIVE_TOOL) $(ARCHIVE_TOOL_FLAGS) $(TARBALLS_LOCATION)/$(ARCHIVE)
cd $(PLATFORM); rm -rf build; mkdir -p build
diff --git a/tools/depends/target/libjpeg-turbo/01-disable-executables.patch b/tools/depends/target/libjpeg-turbo/01-disable-executables.patch
new file mode 100644
index 0000000000..8a672b2159
--- /dev/null
+++ b/tools/depends/target/libjpeg-turbo/01-disable-executables.patch
@@ -0,0 +1,118 @@
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -211,6 +211,9 @@
+ boolean_number(WITH_TURBOJPEG)
+ option(WITH_FUZZ "Build fuzz targets" FALSE)
+
++option(ENABLE_TESTS "Enable testing targets" FALSE)
++boolean_number(ENABLE_TESTS)
++
+ macro(report_option var desc)
+ if(${var})
+ message(STATUS "${desc} enabled (${var} = ${${var}})")
+@@ -634,6 +637,7 @@
+ LINK_FLAGS "${TJMAPFLAG}${TJMAPFILE}")
+ endif()
+
++if(ENABLE_TESTS)
+ add_executable(tjunittest tjunittest.c tjutil.c md5/md5.c md5/md5hl.c)
+ target_link_libraries(tjunittest turbojpeg)
+
+@@ -645,6 +649,7 @@
+
+ add_executable(tjexample tjexample.c)
+ target_link_libraries(tjexample turbojpeg)
++endif()
+ endif()
+
+ if(ENABLE_STATIC)
+@@ -656,7 +661,7 @@
+ if(NOT MSVC)
+ set_target_properties(turbojpeg-static PROPERTIES OUTPUT_NAME turbojpeg)
+ endif()
+-
++if(ENABLE_TESTS)
+ add_executable(tjunittest-static tjunittest.c tjutil.c md5/md5.c
+ md5/md5hl.c)
+ target_link_libraries(tjunittest-static turbojpeg-static)
+@@ -666,6 +671,7 @@
+ if(UNIX)
+ target_link_libraries(tjbench-static m)
+ endif()
++endif()
+ endif()
+ endif()
+
+@@ -680,6 +686,7 @@
+ set(DJPEG_BMP_SOURCES wrbmp.c wrtarga.c)
+ endif()
+
++if(ENABLE_TESTS)
+ if(ENABLE_STATIC)
+ add_executable(cjpeg-static cjpeg.c cdjpeg.c rdgif.c rdppm.c rdswitch.c
+ ${CJPEG_BMP_SOURCES})
+@@ -699,11 +706,12 @@
+ add_executable(rdjpgcom rdjpgcom.c)
+
+ add_executable(wrjpgcom wrjpgcom.c)
+-
++endif()
+
+ ###############################################################################
+ # TESTS
+ ###############################################################################
++if(ENABLE_TESTS)
+
+ if(WITH_FUZZ)
+ add_subdirectory(fuzz)
+@@ -1419,7 +1427,7 @@
+ DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/tjbenchtest)
+ endif()
+ endif()
+-
++endif()
+
+ ###############################################################################
+ # INSTALLATION
+@@ -1434,8 +1442,10 @@
+ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
+ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
+ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
++if(ENABLE_TESTS)
+ install(TARGETS tjbench
+ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
++endif()
+ if(NOT CMAKE_VERSION VERSION_LESS "3.1" AND MSVC AND
+ CMAKE_C_LINKER_SUPPORTS_PDB)
+ install(FILES "$<TARGET_PDB_FILE:turbojpeg>"
+@@ -1452,8 +1462,10 @@
+ else()
+ set(DIR ${CMAKE_CURRENT_BINARY_DIR})
+ endif()
++ if(ENABLE_TESTS)
+ install(PROGRAMS ${DIR}/tjbench-static${EXE}
+ DESTINATION ${CMAKE_INSTALL_BINDIR} RENAME tjbench${EXE})
++ endif()
+ endif()
+ endif()
+ install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/turbojpeg.h
+@@ -1464,6 +1476,7 @@
+ install(TARGETS jpeg-static EXPORT ${CMAKE_PROJECT_NAME}Targets
+ INCLUDES DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}
+ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR})
++if(ENABLE_TESTS)
+ if(NOT ENABLE_SHARED)
+ if(MSVC_IDE OR XCODE)
+ set(DIR "${CMAKE_CURRENT_BINARY_DIR}/\${CMAKE_INSTALL_CONFIG_NAME}")
+@@ -1478,8 +1491,11 @@
+ DESTINATION ${CMAKE_INSTALL_BINDIR} RENAME jpegtran${EXE})
+ endif()
+ endif()
++endif()
+
++if(ENABLE_TESTS)
+ install(TARGETS rdjpgcom wrjpgcom RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
++endif()
+
+ install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/README.ijg
+ ${CMAKE_CURRENT_SOURCE_DIR}/README.md ${CMAKE_CURRENT_SOURCE_DIR}/example.txt
diff --git a/tools/depends/target/libjpeg-turbo/LIBJPEG-TURBO-VERSION b/tools/depends/target/libjpeg-turbo/LIBJPEG-TURBO-VERSION
new file mode 100644
index 0000000000..61eb00828e
--- /dev/null
+++ b/tools/depends/target/libjpeg-turbo/LIBJPEG-TURBO-VERSION
@@ -0,0 +1,4 @@
+LIBNAME=libjpeg-turbo
+VERSION=2.1.4
+ARCHIVE=$(LIBNAME)-$(VERSION).tar.gz
+SHA512=d3e92d614168355827e0ed884ff847cc7df8f6f1fb7b673c6c99afdf61fdfc0372afe5d30fdbf5e743335e2a7a27ca9f510c67d213e5cb2315a8d946e9414575
diff --git a/tools/depends/target/libjpeg-turbo/Makefile b/tools/depends/target/libjpeg-turbo/Makefile
index 53c589e7d7..1b67cd0046 100644
--- a/tools/depends/target/libjpeg-turbo/Makefile
+++ b/tools/depends/target/libjpeg-turbo/Makefile
@@ -1,34 +1,22 @@
-include ../../Makefile.include
-DEPS= ../../Makefile.include Makefile
+include ../../Makefile.include LIBJPEG-TURBO-VERSION ../../download-files.include
+DEPS = ../../Makefile.include LIBJPEG-TURBO-VERSION Makefile ../../download-files.include \
+ 01-disable-executables.patch
-# lib name, version
-LIBNAME=libjpeg-turbo
-VERSION=1.5.1
-SOURCE=$(LIBNAME)-$(VERSION)
-ARCHIVE=$(LIBNAME)-$(VERSION).tar.gz
-# configuration settings
-CONFIGURE=cp -f $(CONFIG_SUB) $(CONFIG_GUESS) .; \
- ./configure --prefix=$(PREFIX) --with-jpeg8 --disable-shared
-
-export CFLAGS=-O3
-
-LIBDYLIB=$(PLATFORM)/.libs/libjpeg.a
+LIBDYLIB=$(PLATFORM)/build/libjpeg.a
all: .installed-$(PLATFORM)
-$(TARBALLS_LOCATION)/$(ARCHIVE):
- cd $(TARBALLS_LOCATION); $(RETRIEVE_TOOL) $(RETRIEVE_TOOL_FLAGS) $(BASE_URL)/$(ARCHIVE)
-
-$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE) $(DEPS)
+$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE).$(HASH_TYPE) $(DEPS)
rm -rf $(PLATFORM)/*; mkdir -p $(PLATFORM)
cd $(PLATFORM); $(ARCHIVE_TOOL) $(ARCHIVE_TOOL_FLAGS) $(TARBALLS_LOCATION)/$(ARCHIVE)
- cd $(PLATFORM); $(CONFIGURE)
+ cd $(PLATFORM); patch -p1 -i ../01-disable-executables.patch
+ cd $(PLATFORM); $(CMAKE) -B build -DCMAKE_ASM_NASM_COMPILER:FILEPATH=$(NATIVEPREFIX)/bin/nasm -DENABLE_SHARED:BOOL=OFF -DWITH_JPEG8:BOOL=ON
$(LIBDYLIB): $(PLATFORM)
- $(MAKE) -j 1 -C $(PLATFORM)
+ $(MAKE) -C $(PLATFORM)/build
.installed-$(PLATFORM): $(LIBDYLIB)
- $(MAKE) -C $(PLATFORM) install
+ $(MAKE) -C $(PLATFORM)/build install
touch $@
clean:
diff --git a/tools/depends/target/liblzo2/LIBLZO2-VERSION b/tools/depends/target/liblzo2/LIBLZO2-VERSION
new file mode 100644
index 0000000000..05008a9694
--- /dev/null
+++ b/tools/depends/target/liblzo2/LIBLZO2-VERSION
@@ -0,0 +1,6 @@
+LIBNAME=lzo
+VERSION=2.10
+SOURCE=$(LIBNAME)-$(VERSION)
+ARCHIVE=$(SOURCE).tar.gz
+SHA512=a3dae5e4a6b93b1f5bf7435e8ab114a9be57252e9efc5dd444947d7a2d031b0819f34bcaeb35f60b5629a01b1238d738735a64db8f672be9690d3c80094511a4
+BYPRODUCT=liblzo2.a
diff --git a/tools/depends/target/liblzo2/Makefile b/tools/depends/target/liblzo2/Makefile
index 1748a4feea..08eeb2671b 100644
--- a/tools/depends/target/liblzo2/Makefile
+++ b/tools/depends/target/liblzo2/Makefile
@@ -1,39 +1,28 @@
-include ../../Makefile.include
-DEPS= ../../Makefile.include Makefile
+include ../../Makefile.include LIBLZO2-VERSION ../../download-files.include
+DEPS = ../../Makefile.include Makefile LIBLZO2-VERSION ../../download-files.include
-# lib name, version
-LIBNAME=lzo
-VERSION=2.09
-SOURCE=$(LIBNAME)-$(VERSION)
-ARCHIVE=$(SOURCE).tar.gz
+# configuration options
+CMAKE_OPTIONS=-DCMAKE_BUILD_TYPE=Release \
+ -DENABLE_STATIC=ON \
+ -DENABLE_SHARED=OFF \
+ -DCMAKE_INSTALL_PREFIX=$(PREFIX)
-# configuration settings
-CONFIGURE=cp -f $(CONFIG_SUB) $(CONFIG_GUESS) autoconf/; \
- ./configure --prefix=$(PREFIX)
-
-LIBDYLIB=$(PLATFORM)/src/.libs/lib$(LIBNAME)2.a
+LIBDYLIB=$(PLATFORM)/build/$(BYPRODUCT)
all: .installed-$(PLATFORM)
-$(TARBALLS_LOCATION)/$(ARCHIVE):
- cd $(TARBALLS_LOCATION); $(RETRIEVE_TOOL) $(RETRIEVE_TOOL_FLAGS) $(BASE_URL)/$(ARCHIVE)
-
-$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE) $(DEPS)
- rm -rf $(PLATFORM)/*; mkdir -p $(PLATFORM)
+$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE).$(HASH_TYPE) $(DEPS)
+ rm -rf $(PLATFORM); mkdir -p $(PLATFORM)/build
cd $(PLATFORM); $(ARCHIVE_TOOL) $(ARCHIVE_TOOL_FLAGS) $(TARBALLS_LOCATION)/$(ARCHIVE)
- cd $(PLATFORM); $(CONFIGURE)
+ cd $(PLATFORM)/build; $(CMAKE) $(CMAKE_OPTIONS) ..
-$(LIBDYLIB): $(PLATFORM)
- $(MAKE) -C $(PLATFORM)
-
-.installed-$(PLATFORM): $(LIBDYLIB)
- $(MAKE) -C $(PLATFORM) install
+.installed-$(PLATFORM): $(PLATFORM)
+ $(MAKE) -C $(PLATFORM)/build install
touch $@
clean:
- $(MAKE) -C $(PLATFORM) clean
+ $(MAKE) -C $(PLATFORM)/build clean
rm -f .installed-$(PLATFORM)
distclean::
rm -rf $(PLATFORM) .installed-$(PLATFORM)
-
diff --git a/tools/depends/target/libmicrohttpd/001-remove-assert.patch b/tools/depends/target/libmicrohttpd/001-remove-assert.patch
new file mode 100644
index 0000000000..472cc279c7
--- /dev/null
+++ b/tools/depends/target/libmicrohttpd/001-remove-assert.patch
@@ -0,0 +1,11 @@
+--- a/src/microhttpd/connection.c
++++ b/src/microhttpd/connection.c
+@@ -1024,7 +1024,7 @@
+ struct MHD_Response *response;
+
+ response = connection->response;
+- mhd_assert (connection->rp_props.send_reply_body);
++// mhd_assert (connection->rp_props.send_reply_body);
+
+ if ( (0 == response->total_size) ||
+ /* TODO: replace the next check with assert */
diff --git a/tools/depends/target/libmicrohttpd/LIBMICROHTTPD-VERSION b/tools/depends/target/libmicrohttpd/LIBMICROHTTPD-VERSION
new file mode 100644
index 0000000000..b6c751d7ef
--- /dev/null
+++ b/tools/depends/target/libmicrohttpd/LIBMICROHTTPD-VERSION
@@ -0,0 +1,4 @@
+LIBNAME=libmicrohttpd
+VERSION=0.9.75
+ARCHIVE=$(LIBNAME)-$(VERSION).tar.gz
+SHA512=4dc62ed191342a61cc2767171bb1ff4050f390db14ef7100299888237b52ea0b04b939c843878fe7f5daec2b35a47b3c1b7e7c11fb32d458184fe6b19986a37c
diff --git a/tools/depends/target/libmicrohttpd/Makefile b/tools/depends/target/libmicrohttpd/Makefile
index 6f0f0d7047..6bae6ce677 100644
--- a/tools/depends/target/libmicrohttpd/Makefile
+++ b/tools/depends/target/libmicrohttpd/Makefile
@@ -1,28 +1,28 @@
-include ../../Makefile.include
-DEPS= ../../Makefile.include Makefile
-
-# lib name, version
-LIBNAME=libmicrohttpd
-VERSION=0.9.55
-SOURCE=$(LIBNAME)-$(VERSION)
-ARCHIVE=$(SOURCE).tar.gz
+include ../../Makefile.include LIBMICROHTTPD-VERSION ../../download-files.include
+DEPS = ../../Makefile.include Makefile LIBMICROHTTPD-VERSION ../../download-files.include \
+ 001-remove-assert.patch
# configuration settings
CONFIGURE=cp -f $(CONFIG_SUB) $(CONFIG_GUESS) .; \
- ./configure --prefix=$(PREFIX) --disable-shared \
- --disable-doc --disable-examples --disable-curl \
- --disable-spdy
+ ./configure --prefix=$(PREFIX) \
+ --disable-shared \
+ --disable-doc \
+ --disable-examples \
+ --disable-curl \
+ --enable-https
+
+ifeq ($(DEBUG_BUILD), yes)
+ CONFIGURE+= --enable-asserts
+endif
LIBDYLIB=$(PLATFORM)/src/microhttpd/.libs/$(LIBNAME).a
all: .installed-$(PLATFORM)
-$(TARBALLS_LOCATION)/$(ARCHIVE):
- cd $(TARBALLS_LOCATION); $(RETRIEVE_TOOL) $(RETRIEVE_TOOL_FLAGS) $(BASE_URL)/$(ARCHIVE)
-
-$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE) $(DEPS)
+$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE).$(HASH_TYPE) $(DEPS)
rm -rf $(PLATFORM)/*; mkdir -p $(PLATFORM)
cd $(PLATFORM); $(ARCHIVE_TOOL) $(ARCHIVE_TOOL_FLAGS) $(TARBALLS_LOCATION)/$(ARCHIVE)
+ cd $(PLATFORM); patch -p1 -i ../001-remove-assert.patch
cd $(PLATFORM); $(CONFIGURE)
$(LIBDYLIB): $(PLATFORM)
@@ -38,4 +38,3 @@ clean:
distclean::
rm -rf $(PLATFORM) .installed-$(PLATFORM)
-
diff --git a/tools/depends/target/libnfs/LIBNFS-VERSION b/tools/depends/target/libnfs/LIBNFS-VERSION
new file mode 100644
index 0000000000..892aa7afcf
--- /dev/null
+++ b/tools/depends/target/libnfs/LIBNFS-VERSION
@@ -0,0 +1,6 @@
+LIBNAME=libnfs
+VERSION=5.0.2
+ARCHIVE=$(LIBNAME)-$(VERSION).tar.gz
+SHA512=6dcf4ea8a01b35beb53694625d20fbebd858a88725c2742671878ad6fe7877999f93d262fb58a435b00c283c3e6fb6fa7222d04bb4540bf674b7ce196e9424f5
+BYPRODUCT=libnfs.a
+BYPRODUCT_WIN=nfs.lib
diff --git a/tools/depends/target/libnfs/Makefile b/tools/depends/target/libnfs/Makefile
index 5871cc8cae..0029cda86a 100644
--- a/tools/depends/target/libnfs/Makefile
+++ b/tools/depends/target/libnfs/Makefile
@@ -1,39 +1,33 @@
-include ../../Makefile.include
-DEPS= ../../Makefile.include Makefile
-
-# lib name, version
-LIBNAME=libnfs
-VERSION=2.0.0
-SOURCE=$(LIBNAME)-$(VERSION)
-ARCHIVE=$(SOURCE).tar.gz
+include ../../Makefile.include LIBNFS-VERSION ../../download-files.include
+DEPS= ../../Makefile.include Makefile LIBNFS-VERSION ../../download-files.include
# configuration settings
-CONFIGURE=./configure --prefix=$(PREFIX) --disable-shared --disable-utils --disable-werror
+CMAKE_OPTIONS=-DBUILD_SHARED_LIBS=OFF \
+ -DENABLE_TESTS=OFF \
+ -DENABLE_DOCUMENTATION=OFF \
+ -DENABLE_UTILS=OFF \
+ -DENABLE_EXAMPLES=OFF
-LIBDYLIB=$(PLATFORM)/lib/.libs/$(LIBNAME).a
+LIBDYLIB=$(PLATFORM)/build/lib/$(BYPRODUCT)
all: .installed-$(PLATFORM)
-$(TARBALLS_LOCATION)/$(ARCHIVE):
- cd $(TARBALLS_LOCATION); $(RETRIEVE_TOOL) $(RETRIEVE_TOOL_FLAGS) $(BASE_URL)/$(ARCHIVE)
-
-$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE) $(DEPS)
+$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE).$(HASH_TYPE) $(DEPS)
-rm -rf $(PLATFORM); mkdir -p $(PLATFORM)
cd $(PLATFORM); $(ARCHIVE_TOOL) $(ARCHIVE_TOOL_FLAGS) $(TARBALLS_LOCATION)/$(ARCHIVE)
- cd $(PLATFORM); ./bootstrap
- cd $(PLATFORM); $(CONFIGURE)
+ cd $(PLATFORM); mkdir -p build
+ cd $(PLATFORM)/build; $(CMAKE) $(CMAKE_OPTIONS) ..
$(LIBDYLIB): $(PLATFORM)
- $(MAKE) -C $(PLATFORM)
+ $(MAKE) -C $(PLATFORM)/build
.installed-$(PLATFORM): $(LIBDYLIB)
- $(MAKE) -C $(PLATFORM) install
+ $(MAKE) -C $(PLATFORM)/build install
touch $@
clean:
- $(MAKE) -C $(PLATFORM) clean
- rm -r .installed-$(PLATFORM)
- rm -rf $(PLATFORM)
+ $(MAKE) -C $(PLATFORM)/build clean
+ rm -f .installed-$(PLATFORM)
distclean::
rm -rf $(PLATFORM) .installed-$(PLATFORM)
diff --git a/tools/depends/target/libplist/01-disable-tools-tests.patch b/tools/depends/target/libplist/01-disable-tools-tests.patch
index d329459319..d80f8a6ebe 100644
--- a/tools/depends/target/libplist/01-disable-tools-tests.patch
+++ b/tools/depends/target/libplist/01-disable-tools-tests.patch
@@ -3,8 +3,8 @@
@@ -1,6 +1,6 @@
AUTOMAKE_OPTIONS = foreign
ACLOCAL_AMFLAGS = -I m4
--SUBDIRS = libcnary src include tools test
+-SUBDIRS = libcnary src include tools test docs
+SUBDIRS = libcnary src include
+
if HAVE_CYTHON
SUBDIRS += cython
- endif
diff --git a/tools/depends/target/libplist/Makefile b/tools/depends/target/libplist/Makefile
index 6c2d64f5ba..bf574d5798 100644
--- a/tools/depends/target/libplist/Makefile
+++ b/tools/depends/target/libplist/Makefile
@@ -1,23 +1,23 @@
include ../../Makefile.include
-DEPS= ../../Makefile.include Makefile 01-disable-tools-tests.patch
+DEPS = ../../Makefile.include Makefile 01-disable-tools-tests.patch ../../download-files.include
# lib name, version
LIBNAME=libplist
-VERSION=2.0.0
+VERSION=2.2.0
SOURCE=$(LIBNAME)-$(VERSION)
FILENAME=v$(VERSION)
ARCHIVE=$(SOURCE).tar.bz2
-LIBDYLIB=$(PLATFORM)/src/.libs/libplist++.a
+SHA512=dcd922ebb28efa3c507253dd4671fdb3e4d367540734765b8d545756f6be2731fc401e7992cc6b06cdbde866fd7e17ff6188895505988b41f738226a004d7291
+include ../../download-files.include
+LIBDYLIB=$(PLATFORM)/src/.libs/libplist++-2.0.a
CFLAGS+=-fvisibility=default
all: .installed-$(PLATFORM)
# configuration settings
-CONFIGURE=cp -f $(CONFIG_SUB) $(CONFIG_GUESS) .; CFLAGS="-Dlist_add=plist_list_add" ./configure --prefix=$(PREFIX) --disable-shared --without-cython
+CONFIGURE=cp -f $(CONFIG_SUB) $(CONFIG_GUESS) .; ./configure --prefix=$(PREFIX) --disable-shared --without-cython
-$(TARBALLS_LOCATION)/$(ARCHIVE):
- cd $(TARBALLS_LOCATION); $(RETRIEVE_TOOL) $(RETRIEVE_TOOL_FLAGS) $(BASE_URL)/$(ARCHIVE)
-$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE) $(DEPS)
+$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE).$(HASH_TYPE) $(DEPS)
rm -rf $(PLATFORM); mkdir -p $(PLATFORM)
cd $(PLATFORM); $(ARCHIVE_TOOL) $(ARCHIVE_TOOL_FLAGS) $(TARBALLS_LOCATION)/$(ARCHIVE)
cd $(PLATFORM); patch -p1 -i ../01-disable-tools-tests.patch
diff --git a/tools/depends/target/libpng/LIBPNG-VERSION b/tools/depends/target/libpng/LIBPNG-VERSION
new file mode 100644
index 0000000000..c67b9d40ef
--- /dev/null
+++ b/tools/depends/target/libpng/LIBPNG-VERSION
@@ -0,0 +1,5 @@
+LIBNAME=libpng
+VERSION=1.6.37
+ARCHIVE=$(LIBNAME)-$(VERSION).tar.gz
+SHA512=2ce2b855af307ca92a6e053f521f5d262c36eb836b4810cb53c809aa3ea2dcc08f834aee0ffd66137768a54397e28e92804534a74abb6fc9f6f3127f14c9c338
+BYPRODUCT=libpng.a
diff --git a/tools/depends/target/libpng/Makefile b/tools/depends/target/libpng/Makefile
index de97342d14..934ab4cce2 100644
--- a/tools/depends/target/libpng/Makefile
+++ b/tools/depends/target/libpng/Makefile
@@ -1,37 +1,43 @@
-include ../../Makefile.include
-DEPS= ../../Makefile.include Makefile
-
-# lib name, version
-LIBNAME=libpng
-VERSION=1.6.26
-SOURCE=$(LIBNAME)-$(VERSION)
-ARCHIVE=$(SOURCE).tar.gz
+include ../../Makefile.include LIBPNG-VERSION ../../download-files.include
+DEPS = ../../Makefile.include Makefile LIBPNG-VERSION ../../download-files.include
# configuration settings
-CONFIGURE=cp -f $(CONFIG_SUB) $(CONFIG_GUESS) .; \
- ./configure --prefix=$(PREFIX) --disable-shared
-
-LIBDYLIB=$(PLATFORM)/.libs/$(LIBNAME)16.a
+CMAKE_OPTIONS=-DPNG_SHARED=OFF \
+ -DPNG_STATIC=ON \
+ -DPNG_TESTS=OFF \
+ -DPNG_DEBUG=OFF
+
+ifeq ($(findstring apple-darwin, $(HOST)), apple-darwin)
+ # hardware optimizations require NEON instructions that
+ # fail on m1 hardware and ios/tvos, so just disable for any arm64 target cpu on
+ # an apple-darwin target
+ ifeq ($(CPU), arm64)
+ CMAKE_OPTIONS+= -DPNG_HARDWARE_OPTIMIZATIONS=OFF
+ else
+ CMAKE_OPTIONS+= -DPNG_HARDWARE_OPTIMIZATIONS=ON
+ endif
+else
+ CMAKE_OPTIONS+= -DPNG_HARDWARE_OPTIMIZATIONS=ON \
+ -DPNG_BUILD_ZLIB=ON \
+ -DZLIB_LIBRARY=$(PREFIX)/lib/libz.a \
+ -DZLIB_INCLUDE_DIR=$(PREFIX)/include
+endif
+
+LIBDYLIB=$(PLATFORM)/build/$(BYPRODUCT)
all: .installed-$(PLATFORM)
-$(TARBALLS_LOCATION)/$(ARCHIVE):
- cd $(TARBALLS_LOCATION); $(RETRIEVE_TOOL) $(RETRIEVE_TOOL_FLAGS) $(BASE_URL)/$(ARCHIVE)
-
-$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE) $(DEPS)
- rm -rf $(PLATFORM)/*; mkdir -p $(PLATFORM)
+$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE).$(HASH_TYPE) $(DEPS)
+ rm -rf $(PLATFORM); mkdir -p $(PLATFORM)/build
cd $(PLATFORM); $(ARCHIVE_TOOL) $(ARCHIVE_TOOL_FLAGS) $(TARBALLS_LOCATION)/$(ARCHIVE)
- cd $(PLATFORM); $(CONFIGURE)
-
-$(LIBDYLIB): $(PLATFORM)
- $(MAKE) -C $(PLATFORM)
+ cd $(PLATFORM)/build; $(CMAKE) $(CMAKE_OPTIONS) ..
-.installed-$(PLATFORM): $(LIBDYLIB)
- $(MAKE) -C $(PLATFORM) install
+.installed-$(PLATFORM): $(PLATFORM)
+ $(MAKE) -C $(PLATFORM)/build install
touch $@
clean:
- $(MAKE) -C $(PLATFORM) clean
+ $(MAKE) -C $(PLATFORM)/build clean
rm -f .installed-$(PLATFORM)
distclean::
diff --git a/tools/depends/target/libsdl/Makefile b/tools/depends/target/libsdl/Makefile
index d77b5e1e6f..7f30df226d 100644
--- a/tools/depends/target/libsdl/Makefile
+++ b/tools/depends/target/libsdl/Makefile
@@ -1,11 +1,13 @@
include ../../Makefile.include
-DEPS= ../../Makefile.include Makefile 01-SDL_SetWidthHeight.patch 02-OSX_interpretKeyEvents.patch 03-mavericks-compile.patch 04-fix_external_screen_crash.patch
+DEPS = ../../Makefile.include Makefile 01-SDL_SetWidthHeight.patch 02-OSX_interpretKeyEvents.patch 03-mavericks-compile.patch 04-fix_external_screen_crash.patch ../../download-files.include
# lib name, version
LIBNAME=SDL
VERSION=1.2.15
SOURCE=$(LIBNAME)-$(VERSION)
ARCHIVE=$(SOURCE).tar.gz
+SHA512=ac392d916e6953b0925a7cbb0f232affea33339ef69b47a0a7898492afb9784b93138986df53d6da6d3e2ad79af1e9482df565ecca30f89428be0ae6851b1adc
+include ../../download-files.include
# configuration settings
CONFIGURE=./configure --prefix=$(PREFIX) --disable-video-directfb
@@ -17,10 +19,8 @@ LIBDYLIB=$(PLATFORM)/build/.libs/lib$(LIBNAME).a
all: .installed-$(PLATFORM)
-$(TARBALLS_LOCATION)/$(ARCHIVE):
- cd $(TARBALLS_LOCATION); $(RETRIEVE_TOOL) $(RETRIEVE_TOOL_FLAGS) $(BASE_URL)/$(ARCHIVE)
-$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE) $(DEPS)
+$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE).$(HASH_TYPE) $(DEPS)
rm -rf $(PLATFORM); mkdir -p $(PLATFORM)
cd $(PLATFORM); $(ARCHIVE_TOOL) $(ARCHIVE_TOOL_FLAGS) $(TARBALLS_LOCATION)/$(ARCHIVE)
cd $(PLATFORM); patch -p1 -i ../01-SDL_SetWidthHeight.patch
diff --git a/tools/depends/target/libshairplay/0001-configure-fix-dns-sd-check.patch b/tools/depends/target/libshairplay/0001-configure-fix-dns-sd-check.patch
index 5aa5c5300a..d55af6dc96 100644
--- a/tools/depends/target/libshairplay/0001-configure-fix-dns-sd-check.patch
+++ b/tools/depends/target/libshairplay/0001-configure-fix-dns-sd-check.patch
@@ -8,11 +8,9 @@ Subject: [PATCH] [configure] - only check for dns_sd.h in case libdl was not
configure.ac | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
-diff --git a/configure.ac b/configure.ac
-index 5a4b8ad..682d74b 100644
--- a/configure.ac
+++ b/configure.ac
-@@ -19,7 +19,7 @@ LT_LIB_DLLOAD
+@@ -19,7 +19,7 @@
# Checks for header files.
AC_HEADER_STDC
@@ -21,6 +19,3 @@ index 5a4b8ad..682d74b 100644
then
AC_CHECK_HEADERS([dns_sd.h], [],
[AC_MSG_ERROR([Could not find dns_sd.h header, please install libavahi-compat-libdnssd-dev or equivalent.])])
---
-2.17.1
-
diff --git a/tools/depends/target/libshairplay/Makefile b/tools/depends/target/libshairplay/Makefile
index 30d12164bf..686134b66c 100644
--- a/tools/depends/target/libshairplay/Makefile
+++ b/tools/depends/target/libshairplay/Makefile
@@ -1,11 +1,13 @@
include ../../Makefile.include
-DEPS= ../../Makefile.include Makefile 0001-configure-fix-dns-sd-check.patch
+DEPS = ../../Makefile.include Makefile 0001-configure-fix-dns-sd-check.patch ../../download-files.include
# lib name, version
LIBNAME=shairplay
VERSION=096b61a
SOURCE=$(LIBNAME)-$(VERSION)
ARCHIVE=$(SOURCE).tar.bz2
+SHA512=592a001954fd3ca86a81a907fef3892ebb53f4b91e937a049ec048e3473919f1c6e00fdf4a755d187c0b07afb0062e3613587f95817ec0786eeac5c18848ae1f
+include ../../download-files.include
# configuration settings
CONFIGURE=./configure --prefix=$(PREFIX)
@@ -15,13 +17,11 @@ LIBDYLIB=$(PLATFORM)/src/lib/.libs/libshairplay.a
all: .installed-$(PLATFORM)
-$(TARBALLS_LOCATION)/$(ARCHIVE):
- cd $(TARBALLS_LOCATION); $(RETRIEVE_TOOL) $(RETRIEVE_TOOL_FLAGS) $(BASE_URL)/$(ARCHIVE)
-$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE) $(DEPS)
+$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE).$(HASH_TYPE) $(DEPS)
rm -rf $(PLATFORM); mkdir -p $(PLATFORM)
cd $(PLATFORM); $(ARCHIVE_TOOL) $(ARCHIVE_TOOL_FLAGS) $(TARBALLS_LOCATION)/$(ARCHIVE)
- cd $(PLATFORM); patch -p1 < ../0001-configure-fix-dns-sd-check.patch
+ cd $(PLATFORM); patch -p1 -i ../0001-configure-fix-dns-sd-check.patch
cd $(PLATFORM); $(AUTORECONF) -vif
cd $(PLATFORM); $(CONFIGURE)
diff --git a/tools/depends/target/libudev/Makefile b/tools/depends/target/libudev/Makefile
index 3868cc0e6c..a7e1b764ed 100644
--- a/tools/depends/target/libudev/Makefile
+++ b/tools/depends/target/libudev/Makefile
@@ -1,11 +1,13 @@
include ../../Makefile.include
-DEPS=../../Makefile.include Makefile
+DEPS =../../Makefile.include Makefile ../../download-files.include
# lib name, version
LIBNAME=libudev
VERSION=3.2.5
SOURCE=$(LIBNAME)-$(VERSION)
ARCHIVE=$(SOURCE).tar.gz
+SHA512=bc3dbe847a36dedbb2617c9fe123aa8d66adb0ab731a447a2dae4dff8031a09a0df10fac5cf85c6c4818f46f106336ead54620af0bb86c01a0a31dbda129a8f7
+include ../../download-files.include
# configuration settings
CONFIGURE=./configure --prefix=$(PREFIX) --disable-shared --enable-static --enable-introspection=no --disable-programs --disable-blkid --disable-selinux --disable-manpages --disable-kmod --disable-mtd_probe
@@ -14,10 +16,8 @@ LIBDYLIB=$(PLATFORM)/src/libudev/.libs/libudev.la
all: .installed-$(PLATFORM)
-$(TARBALLS_LOCATION)/$(ARCHIVE):
- cd $(TARBALLS_LOCATION); $(RETRIEVE_TOOL) $(RETRIEVE_TOOL_FLAGS) $(BASE_URL)/$(ARCHIVE)
-$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE) $(DEPS)
+$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE).$(HASH_TYPE) $(DEPS)
rm -rf $(PLATFORM)/*; mkdir -p $(PLATFORM)
cd $(PLATFORM); $(ARCHIVE_TOOL) $(ARCHIVE_TOOL_FLAGS) $(TARBALLS_LOCATION)/$(ARCHIVE)
cd $(PLATFORM); $(AUTORECONF) -vif
diff --git a/tools/depends/target/libusb/Makefile b/tools/depends/target/libusb/Makefile
index 5f8cf73627..f4368fd1eb 100644
--- a/tools/depends/target/libusb/Makefile
+++ b/tools/depends/target/libusb/Makefile
@@ -1,11 +1,13 @@
include ../../Makefile.include
-DEPS= ../../Makefile.include Makefile no-Werror.patch
+DEPS = ../../Makefile.include Makefile no-Werror.patch ../../download-files.include
# lib name, version
LIBNAME=libusb
VERSION=0.1.12
SOURCE=$(LIBNAME)-$(VERSION)
ARCHIVE=$(SOURCE).tar.gz
+SHA512=08c10e899f93b5f8567d1a1e1ed87dd5631ad0a1463975404709c1d165e545e340afb474a66788efcfdd8193542e2a2eb9cf133f55cbbf76441244191d0bb825
+include ../../download-files.include
# configuration settings
CONFIGURE=cp -f $(CONFIG_SUB) $(CONFIG_GUESS) .; \
@@ -15,10 +17,8 @@ LIBDYLIB=$(PLATFORM)/.libs/$(LIBNAME).a
all: $(LIBDYLIB) .installed-$(PLATFORM)
-$(TARBALLS_LOCATION)/$(ARCHIVE):
- cd $(TARBALLS_LOCATION); $(RETRIEVE_TOOL) $(RETRIEVE_TOOL_FLAGS) $(BASE_URL)/$(ARCHIVE)
-$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE) $(DEPS)
+$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE).$(HASH_TYPE) $(DEPS)
rm -rf $(PLATFORM)/*; mkdir -p $(PLATFORM)
cd $(PLATFORM); $(ARCHIVE_TOOL) $(ARCHIVE_TOOL_FLAGS) $(TARBALLS_LOCATION)/$(ARCHIVE)
cd $(PLATFORM); patch -p1 -i ../no-Werror.patch
diff --git a/tools/depends/target/libuuid/Makefile b/tools/depends/target/libuuid/Makefile
index 92c9157242..5f5a24a849 100644
--- a/tools/depends/target/libuuid/Makefile
+++ b/tools/depends/target/libuuid/Makefile
@@ -1,30 +1,34 @@
include ../../Makefile.include
-DEPS= ../../Makefile.include Makefile
+DEPS = ../../Makefile.include Makefile ../../download-files.include
-# We use uuid from e2fsprogs since this easily cross-compiles on android, while util-linux does not.
+# We use uuid from e2fsprogs for legacy. util-linux works fine on android now
# lib name, version
LIBNAME=libuuid
-VERSION=1.42.13
-SOURCE=e2fsprogs-1.42.13
+VERSION=1.46.5
+SOURCE=e2fsprogs-$(VERSION)
ARCHIVE=$(SOURCE).tar.xz
-
+SHA512=53282e1c524f62a95012b1aceef296d494f5238c82c9b08b29fbe6a803dbf7ccfdcd9124eb2f11fe2ff9de26387c78751a92c3217ca414f6db6242098a72d3fa
+include ../../download-files.include
LIBDYLIB=$(PLATFORM)/lib/$(LIBNAME).a
all: .installed-$(PLATFORM)
-$(TARBALLS_LOCATION)/$(ARCHIVE):
- cd $(TARBALLS_LOCATION); $(RETRIEVE_TOOL) $(RETRIEVE_TOOL_FLAGS) $(BASE_URL)/$(ARCHIVE)
-$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE) $(DEPS)
+$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE).$(HASH_TYPE) $(DEPS)
rm -rf $(PLATFORM)/*; mkdir -p $(PLATFORM)
cd $(PLATFORM); $(ARCHIVE_TOOL) $(ARCHIVE_TOOL_FLAGS) $(TARBALLS_LOCATION)/$(ARCHIVE)
- cd $(PLATFORM); ./configure --prefix=$(PREFIX) --disable-fsck
+ # e2fsprog libuuid often fails because it doesnt create include/uuid location before
+ # installing. lets just create it and move on.
+ mkdir -p $(PREFIX)/include/uuid
+ cd $(PLATFORM); ./configure --prefix=$(PREFIX) --disable-fsck --enable-libuuid
$(LIBDYLIB): $(PLATFORM)
+ # -j1 is required due to concurrency failures with dirpath.h generation
cd $(PLATFORM)/lib/uuid ; $(MAKE) -j1
.installed-$(PLATFORM): $(LIBDYLIB)
+ # -j1 is required due to concurrency failures with dirpath.h generation
cd $(PLATFORM)/lib/uuid ; $(MAKE) -j1 install
touch $@
diff --git a/tools/depends/target/libva/Makefile b/tools/depends/target/libva/Makefile
new file mode 100644
index 0000000000..ae307715bd
--- /dev/null
+++ b/tools/depends/target/libva/Makefile
@@ -0,0 +1,61 @@
+include ../../Makefile.include
+DEPS =../../Makefile.include Makefile ../../download-files.include
+
+LIBNAME=libva
+VERSION=2.8.0
+ARCHIVE=$(LIBNAME)-$(VERSION).tar.bz2
+SHA512=329c5fc2262a6f4fddfcb13bd9644589248be6ae18fa1481cccc6b33874b91b60ad3f16a1777712f7a4817ba576db984834aa8735e6ad13d99b2f5aa13e9ddfa
+include ../../download-files.include
+
+MESON_BUILD_TYPE=release
+
+ifeq ($(DEBUG_BUILD), yes)
+ MESON_BUILD_TYPE=debug
+endif
+
+# configuration settings
+CONFIGURE = $(NATIVEPREFIX)/bin/python3 $(NATIVEPREFIX)/bin/meson \
+ --prefix=$(PREFIX) \
+ --libdir=lib \
+ --buildtype=$(MESON_BUILD_TYPE) \
+ -Ddisable_drm=false \
+ -Denable_docs=false \
+ -Denable_va_messaging=true
+
+ifeq ($(CROSS_COMPILING), yes)
+CONFIGURE += --cross-file $(PREFIX)/share/cross-file.meson
+export CC=$(CC_FOR_BUILD)
+export CXX=$(CXX_FOR_BUILD)
+export CFLAGS=$(CFLAGS_FOR_BUILD)
+export CXXFLAGS=$(CXXFLAGS_FOR_BUILD)
+else
+export CC CXX CFLAGS CXXFLAGS
+endif
+export PKG_CONFIG_LIBDIR=$(PREFIX)/lib/pkgconfig
+
+LIBDYLIB=$(PLATFORM)/build/va/$(LIBNAME).so
+
+all: .installed-$(PLATFORM)
+
+download: $(TARBALLS_LOCATION)/$(ARCHIVE)
+
+
+$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE).$(HASH_TYPE) $(DEPS)
+ rm -rf $(PLATFORM)/*; mkdir -p $(PLATFORM)
+ cd $(PLATFORM); $(ARCHIVE_TOOL) $(ARCHIVE_TOOL_FLAGS) $(TARBALLS_LOCATION)/$(ARCHIVE)
+ cd $(PLATFORM); rm -rf build; mkdir -p build
+ cd $(PLATFORM); $(CONFIGURE) . build
+
+$(LIBDYLIB): $(PLATFORM)
+ cd $(PLATFORM)/build; $(NATIVEPREFIX)/bin/ninja -v
+
+.installed-$(PLATFORM): $(LIBDYLIB)
+ cd $(PLATFORM)/build; $(NATIVEPREFIX)/bin/ninja -v install
+ touch $@
+
+clean:
+ $(MAKE) -C $(PLATFORM) clean
+ rm -f .installed-$(PLATFORM)
+
+distclean:
+ rm -rf $(PLATFORM) .installed-$(PLATFORM)
diff --git a/tools/depends/target/libxkbcommon/Makefile b/tools/depends/target/libxkbcommon/Makefile
index 8030e13bed..df576f674d 100644
--- a/tools/depends/target/libxkbcommon/Makefile
+++ b/tools/depends/target/libxkbcommon/Makefile
@@ -1,11 +1,13 @@
include ../../Makefile.include
-DEPS=../../Makefile.include Makefile
+DEPS =../../Makefile.include Makefile ../../download-files.include
# lib name, version
LIBNAME=libxkbcommon
VERSION=0.8.0
SOURCE=$(LIBNAME)-$(VERSION)
ARCHIVE=$(SOURCE).tar.xz
+SHA512=ad64baa03685b72e1047f9fdfc95661acf5bace59280a95d3defaca73c91fb77c31ecde00b430726e3521ff90cf8dd93ecbc816c18be0971cb616e00b81cf163
+include ../../download-files.include
# configuration settings
CONFIGURE=./configure --prefix=$(PREFIX) --disable-shared --enable-static --disable-x11 --disable-docs
@@ -14,10 +16,8 @@ LIBDYLIB=$(PLATFORM)/.libs/libxkbcommon.la
all: .installed-$(PLATFORM)
-$(TARBALLS_LOCATION)/$(ARCHIVE):
- cd $(TARBALLS_LOCATION); $(RETRIEVE_TOOL) $(RETRIEVE_TOOL_FLAGS) $(BASE_URL)/$(ARCHIVE)
-$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE) $(DEPS)
+$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE).$(HASH_TYPE) $(DEPS)
rm -rf $(PLATFORM)/*; mkdir -p $(PLATFORM)
cd $(PLATFORM); $(ARCHIVE_TOOL) $(ARCHIVE_TOOL_FLAGS) $(TARBALLS_LOCATION)/$(ARCHIVE)
cd $(PLATFORM); $(CONFIGURE)
diff --git a/tools/depends/target/libxml2/LIBXML2-VERSION b/tools/depends/target/libxml2/LIBXML2-VERSION
new file mode 100644
index 0000000000..9a8fbb16bb
--- /dev/null
+++ b/tools/depends/target/libxml2/LIBXML2-VERSION
@@ -0,0 +1,5 @@
+LIBNAME=libxml2
+VERSION=2.10.1
+ARCHIVE=$(LIBNAME)-$(VERSION).tar.xz
+SHA512=7ae653eef725706c825a8755da14a92124c3f85b38f81fd1148c6e373b149d095eae935a47d874d210dafc7e76f09c019866657b8f9d6a44c666ce741e12f3ce
+BYPRODUCT=libxml2.a
diff --git a/tools/depends/target/libxml2/Makefile b/tools/depends/target/libxml2/Makefile
index 9e71133ce4..d3b4d352cf 100644
--- a/tools/depends/target/libxml2/Makefile
+++ b/tools/depends/target/libxml2/Makefile
@@ -1,40 +1,36 @@
-include ../../Makefile.include
-DEPS= ../../Makefile.include Makefile
-
-# lib name, version
-LIBNAME=libxml2
-VERSION=2.9.4
-SOURCE=$(LIBNAME)-$(VERSION)
-ARCHIVE=$(SOURCE).tar.gz
+include ../../Makefile.include LIBXML2-VERSION ../../download-files.include
+DEPS = ../../Makefile.include Makefile LIBXML2-VERSION ../../download-files.include
# configuration settings
-CONFIGURE=cp -f $(CONFIG_SUB) $(CONFIG_GUESS) .; \
- ./configure --prefix=$(PREFIX) --without-python --without-iconv --disable-shared
-
-LIBDYLIB=$(PLATFORM)/.libs/$(LIBNAME).a
+CMAKE_OPTIONS=-DBUILD_SHARED_LIBS=OFF \
+ -DLIBXML2_WITH_DEBUG=OFF \
+ -DLIBXML2_WITH_ICONV=OFF \
+ -DLIBXML2_WITH_LZMA=OFF \
+ -DLIBXML2_WITH_MODULES=OFF \
+ -DLIBXML2_WITH_PYTHON=OFF \
+ -DLIBXML2_WITH_RUN_DEBUG=OFF \
+ -DLIBXML2_WITH_PROGRAMS=OFF \
+ -DLIBXML2_WITH_TESTS=OFF
+
+LIBDYLIB=$(PLATFORM)/build/$(BYPRODUCT)
all: .installed-$(PLATFORM)
-$(TARBALLS_LOCATION)/$(ARCHIVE):
- cd $(TARBALLS_LOCATION); $(RETRIEVE_TOOL) $(RETRIEVE_TOOL_FLAGS) $(BASE_URL)/$(ARCHIVE)
-
-$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE) $(DEPS)
+$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE).$(HASH_TYPE) $(DEPS)
rm -rf $(PLATFORM)/*; mkdir -p $(PLATFORM)
cd $(PLATFORM); $(ARCHIVE_TOOL) $(ARCHIVE_TOOL_FLAGS) $(TARBALLS_LOCATION)/$(ARCHIVE)
- sed -ie 's|runtest$(EXEEXT)||' "$(PLATFORM)/Makefile.in"
- sed -ie 's|testrecurse$(EXEEXT)||' "$(PLATFORM)/Makefile.in"
- cd $(PLATFORM); $(CONFIGURE)
+ cd $(PLATFORM); mkdir -p build
+ cd $(PLATFORM)/build; $(CMAKE) $(CMAKE_OPTIONS) ..
$(LIBDYLIB): $(PLATFORM)
- $(MAKE) -C $(PLATFORM)
+ $(MAKE) -C $(PLATFORM)/build
.installed-$(PLATFORM): $(LIBDYLIB)
- $(MAKE) -C $(PLATFORM) install
- touch $(LIBDYLIB)
+ $(MAKE) -C $(PLATFORM)/build install
touch $@
clean:
- $(MAKE) -C $(PLATFORM) clean
+ $(MAKE) -C $(PLATFORM)/build clean
rm -f .installed-$(PLATFORM)
distclean::
diff --git a/tools/depends/target/libxslt/01-all-disable-tests-docs.patch b/tools/depends/target/libxslt/01-all-disable-tests-docs.patch
new file mode 100644
index 0000000000..e2e839fbd9
--- /dev/null
+++ b/tools/depends/target/libxslt/01-all-disable-tests-docs.patch
@@ -0,0 +1,26 @@
+--- a/Makefile.in
++++ b/Makefile.in
+@@ -416,12 +416,9 @@
+ SUBDIRS = \
+ libxslt \
+ libexslt \
+- xsltproc \
+- doc \
+- $(PYTHON_SUBDIR) \
+- tests
++ $(PYTHON_SUBDIR)
+
+-DIST_SUBDIRS = libxslt libexslt xsltproc python doc tests
++DIST_SUBDIRS = libxslt libexslt python
+ confexecdir = $(libdir)
+ confexec_DATA = xsltConf.sh
+ bin_SCRIPTS = xslt-config
+@@ -1056,7 +1053,7 @@
+ < $(srcdir)/xsltConf.sh.in > xsltConf.tmp \
+ && mv xsltConf.tmp xsltConf.sh
+
+-check-local: tests
++check-local:
+
+ dummy:
+
diff --git a/tools/depends/target/libxslt/Makefile b/tools/depends/target/libxslt/Makefile
index 0d0465e0db..292c2868e6 100644
--- a/tools/depends/target/libxslt/Makefile
+++ b/tools/depends/target/libxslt/Makefile
@@ -1,29 +1,32 @@
include ../../Makefile.include
-DEPS= ../../Makefile.include Makefile
+DEPS = ../../Makefile.include Makefile 01-all-disable-tests-docs.patch ../../download-files.include
# lib name, version
LIBNAME=libxslt
-VERSION=1.1.29
+VERSION=1.1.34
SOURCE=$(LIBNAME)-$(VERSION)
ARCHIVE=$(SOURCE).tar.gz
+SHA512=1516a11ad608b04740674060d2c5d733b88889de5e413b9a4e8bf8d1a90d712149df6d2b1345b615f529d7c7d3fa6dae12e544da828b39c7d415e54c0ee0776b
+include ../../download-files.include
# configuration settings
CONFIGURE=cp -f $(CONFIG_SUB) $(CONFIG_GUESS) .; \
- ./configure --prefix=$(PREFIX) --without-python --disable-shared --with-debug --with-debugger --with-mem-debug --with-libxml-prefix=$(PREFIX)
+ ./configure --prefix=$(PREFIX) --without-python --disable-shared \
+ --with-debug --with-debugger --with-mem-debug \
+ --with-libxml-prefix=$(PREFIX) \
+ --with-libxml-libs-prefix=$(PREFIX)/lib \
+ --with-libxml-include-prefix=$(PREFIX)/include/libxml2
+
LIBDYLIB=$(PLATFORM)/$(LIBNAME)/.libs/$(LIBNAME).a
all: .installed-$(PLATFORM)
-$(TARBALLS_LOCATION)/$(ARCHIVE):
- cd $(TARBALLS_LOCATION); $(RETRIEVE_TOOL) $(RETRIEVE_TOOL_FLAGS) $(BASE_URL)/$(ARCHIVE)
-$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE) $(DEPS)
+$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE).$(HASH_TYPE) $(DEPS)
rm -rf $(PLATFORM)/*; mkdir -p $(PLATFORM)
cd $(PLATFORM); $(ARCHIVE_TOOL) $(ARCHIVE_TOOL_FLAGS) $(TARBALLS_LOCATION)/$(ARCHIVE)
- sed -ie "s|runtest$$(EXEEXT)||" "$(PLATFORM)/Makefile.in"
- sed -ie "s|testrecurse$$(EXEEXT)||" "$(PLATFORM)/Makefile.in"
- sed -ie "s|xsltproc||" "$(PLATFORM)/Makefile.in"
+ cd $(PLATFORM); patch -p1 -i ../01-all-disable-tests-docs.patch
cd $(PLATFORM); $(CONFIGURE)
$(LIBDYLIB): $(PLATFORM)
diff --git a/tools/depends/target/libzip/LIBZIP-VERSION b/tools/depends/target/libzip/LIBZIP-VERSION
new file mode 100644
index 0000000000..af0835ba6d
--- /dev/null
+++ b/tools/depends/target/libzip/LIBZIP-VERSION
@@ -0,0 +1,5 @@
+LIBNAME=libzip
+VERSION=1.8.0
+ARCHIVE=$(LIBNAME)-$(VERSION).tar.xz
+SHA512=fe94a26a2797dff7c9b27334f29982f8e523dd5095bf32ebcadc6443726864f0ff7b2e8bf243e52cad8f79297bc7a87d73fdbc35edae4ffc8ab6aa0bcc93b03e
+BYPRODUCT=libzip.a
diff --git a/tools/depends/target/libzip/Makefile b/tools/depends/target/libzip/Makefile
index 2961d6d8cd..5034951740 100644
--- a/tools/depends/target/libzip/Makefile
+++ b/tools/depends/target/libzip/Makefile
@@ -1,34 +1,27 @@
-include ../../Makefile.include
-DEPS= ../../Makefile.include Makefile
+include ../../Makefile.include LIBZIP-VERSION ../../download-files.include
+DEPS = ../../Makefile.include LIBZIP-VERSION Makefile ../../download-files.include
-# lib name, version
-LIBNAME=libzip
-VERSION=1.1.2
-SOURCE=$(LIBNAME)-$(VERSION)
-ARCHIVE=$(SOURCE).tar.gz
+CMAKE_OPTIONS=-DBUILD_DOC:BOOL=OFF \
+ -DBUILD_EXAMPLES:BOOL=OFF \
+ -DBUILD_REGRESS:BOOL=OFF \
+ -DBUILD_SHARED_LIBS:BOOL=OFF \
+ -DBUILD_TOOLS:BOOL=OFF \
+ -DCMAKE_BUILD_TYPE=Debug
-# configuration settings
-CONFIGURE=cp -f $(CONFIG_SUB) $(CONFIG_GUESS) .; \
- ./configure --prefix=$(PREFIX) --disable-shared
-
-LIBDYLIB=$(PLATFORM)/lib/.libs/$(LIBNAME).a
+LIBDYLIB=$(PLATFORM)/build/lib/$(BYPRODUCT)
all: .installed-$(PLATFORM)
-$(TARBALLS_LOCATION)/$(ARCHIVE):
- cd $(TARBALLS_LOCATION); $(RETRIEVE_TOOL) $(RETRIEVE_TOOL_FLAGS) $(BASE_URL)/$(ARCHIVE)
-
-$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE) $(DEPS)
+$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE).$(HASH_TYPE) $(DEPS)
rm -rf $(PLATFORM)/*; mkdir -p $(PLATFORM)
cd $(PLATFORM); $(ARCHIVE_TOOL) $(ARCHIVE_TOOL_FLAGS) $(TARBALLS_LOCATION)/$(ARCHIVE)
- cd $(PLATFORM); $(CONFIGURE)
+ cd $(PLATFORM); $(CMAKE) -B build ${CMAKE_OPTIONS}
$(LIBDYLIB): $(PLATFORM)
- $(MAKE) -C $(PLATFORM)
+ $(MAKE) -C $(PLATFORM)/build
.installed-$(PLATFORM): $(LIBDYLIB)
- $(MAKE) -C $(PLATFORM) install
- rm -f $(PREFIX)/lib/libzip.la $(PREFIX)/lib/libzip*.so*
+ $(MAKE) -C $(PLATFORM)/build install
touch $@
clean:
diff --git a/tools/depends/target/mariadb/01-android.patch b/tools/depends/target/mariadb/01-android.patch
index 1087cd5dd8..b45d3120be 100644
--- a/tools/depends/target/mariadb/01-android.patch
+++ b/tools/depends/target/mariadb/01-android.patch
@@ -1,10 +1,9 @@
--- a/cmake/CheckIncludeFiles.cmake
+++ b/cmake/CheckIncludeFiles.cmake
-@@ -74,3 +74,12 @@
- CHECK_INCLUDE_FILES (unistd.h HAVE_UNISTD_H)
- CHECK_INCLUDE_FILES (utime.h HAVE_UTIME_H)
- CHECK_INCLUDE_FILES (ucontext.h HAVE_UCONTEXT_H)
-+IF(HAVE_UCONTEXT_H)
+@@ -50,4 +50,11 @@
+ CHECK_INCLUDE_FILES (ucontext.h HAVE_FILE_UCONTEXT_H)
+ IF(NOT HAVE_FILE_UCONTEXT_H)
+ CHECK_INCLUDE_FILES (sys/ucontext.h HAVE_FILE_UCONTEXT_H)
+ CHECK_FUNCTION_EXISTS (getcontext HAVE_GETCONTEXT)
+ CHECK_FUNCTION_EXISTS (makecontext HAVE_MAKECONTEXT)
+ CHECK_FUNCTION_EXISTS (setcontext HAVE_SETCONTEXT)
@@ -12,49 +11,14 @@
+ IF(NOT HAVE_GETCONTEXT OR NOT HAVE_MAKECONTEXT OR NOT HAVE_SETCONTEXT OR NOT HAVE_SWAPCONTEXT)
+ SET(HAVE_UCONTEXT_H 0 CACHE INTERNAL "")
+ ENDIF()
-+ENDIF(HAVE_UCONTEXT_H)
+ ENDIF()
--- a/cmake/CheckTypes.cmake
+++ b/cmake/CheckTypes.cmake
-@@ -25,6 +25,7 @@
- CHECK_TYPE_SIZE(off_t SIZEOF_OFF_T)
- CHECK_TYPE_SIZE(uchar SIZEOF_UCHAR)
+@@ -21,7 +21,6 @@
+ CHECK_TYPE_SIZE(size_t SIZEOF_SIZE_T)
+ SET(CMAKE_EXTRA_INCLUDE_FILES sys/types.h)
CHECK_TYPE_SIZE(uint SIZEOF_UINT)
-+CHECK_TYPE_SIZE(ushort SIZEOF_USHORT)
+-CHECK_TYPE_SIZE(uint SIZEOF_USHORT)
CHECK_TYPE_SIZE(ulong SIZEOF_ULONG)
CHECK_TYPE_SIZE(int8 SIZEOF_INT8)
CHECK_TYPE_SIZE(uint8 SIZEOF_UINT8)
---- a/include/ma_config.h.in
-+++ b/include/ma_config.h.in
-@@ -217,6 +217,11 @@
- # define HAVE_UINT 1
- #endif
-
-+#cmakedefine SIZEOF_USHORT @SIZEOF_USHORT@
-+#if SIZEOF_USHORT
-+# define HAVE_USHORT 1
-+#endif
-+
- #cmakedefine SIZEOF_ULONG @SIZEOF_ULONG@
- #if SIZEOF_ULONG
- # define HAVE_ULONG 1
---- a/include/ma_global.h
-+++ b/include/ma_global.h
-@@ -272,6 +272,8 @@
-
- #if defined(__EMX__) || !defined(HAVE_UINT)
- typedef unsigned int uint;
-+#endif
-+#if defined(__EMX__) || !defined(HAVE_USHORT)
- typedef unsigned short ushort;
- #endif
-
---- a/libmariadb/CMakeLists.txt
-+++ b/libmariadb/CMakeLists.txt
-@@ -291,7 +291,6 @@
- IF(ICONV_INCLUDE_DIR)
- INCLUDE_DIRECTORIES(BEFORE ${ICONV_INCLUDE_DIR})
- ENDIF()
-- ADD_DEFINITIONS(-DLIBICONV_PLUG)
- ENDIF()
-
- IF(ZLIB_FOUND AND WITH_EXTERNAL_ZLIB)
diff --git a/tools/depends/target/mariadb/02-fix-CONC-612.patch b/tools/depends/target/mariadb/02-fix-CONC-612.patch
new file mode 100644
index 0000000000..f34732ba0f
--- /dev/null
+++ b/tools/depends/target/mariadb/02-fix-CONC-612.patch
@@ -0,0 +1,21 @@
+--- a/plugins/pvio/pvio_socket.c
++++ b/plugins/pvio/pvio_socket.c
+@@ -643,12 +643,18 @@ static int pvio_socket_internal_connect(MARIADB_PVIO *pvio,
+
+ #ifndef _WIN32
+ do {
++ int save_errno;
+ rc= connect(csock->socket, (struct sockaddr*) name, (int)namelen);
+
+ if (time(NULL) - start_t > (time_t)timeout/1000)
+ break;
+
++ /* CONC-612: Since usleep may fail and will set errno (On MacOSX usleep
++ always sets errno=ETIMEDOUT), we need to save and restore errno */
++ save_errno= errno;
+ usleep(wait_conn);
++ errno= save_errno;
++
+ wait_conn= wait_conn >= 1000000 ? 1000000 : wait_conn * 2;
+
+ } while (rc == -1 && (errno == EINTR || errno == EAGAIN));
diff --git a/tools/depends/target/mariadb/04-pthread.patch b/tools/depends/target/mariadb/04-pthread.patch
new file mode 100644
index 0000000000..e29ca0ec67
--- /dev/null
+++ b/tools/depends/target/mariadb/04-pthread.patch
@@ -0,0 +1,11 @@
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -310,7 +310,7 @@
+ IF(OPENSSL_FOUND)
+ ADD_DEFINITIONS(-DHAVE_OPENSSL -DHAVE_TLS)
+ SET(SSL_SOURCES "${CC_SOURCE_DIR}/libmariadb/secure/openssl.c")
+- SET(SSL_LIBRARIES ${OPENSSL_SSL_LIBRARY} ${OPENSSL_CRYPTO_LIBRARY})
++ SET(SSL_LIBRARIES ${OPENSSL_SSL_LIBRARY} ${OPENSSL_CRYPTO_LIBRARY} ${_OPENSSL_LDFLAGS_OTHER})
+ IF(WIN32)
+ CHECK_INCLUDE_FILES (${OPENSSL_INCLUDE_DIR}/openssl/applink.c HAVE_OPENSSL_APPLINK_C)
+ ENDIF()
diff --git a/tools/depends/target/mariadb/MARIADB-VERSION b/tools/depends/target/mariadb/MARIADB-VERSION
new file mode 100644
index 0000000000..e05f933611
--- /dev/null
+++ b/tools/depends/target/mariadb/MARIADB-VERSION
@@ -0,0 +1,4 @@
+LIBNAME=mariadb
+VERSION=3.3.2
+ARCHIVE=$(LIBNAME)-connector-c-$(VERSION)-src.tar.gz
+SHA512=1f9754112ba02b863435840dab8e0954b98c646e6e6d73bbc2f338cd6493824b0f8973bbf80b129631ccafd684e0579743fe81a0e8f1120ed9f18154d9d446b3
diff --git a/tools/depends/target/mariadb/Makefile b/tools/depends/target/mariadb/Makefile
index ff810583c1..20a8fe5347 100644
--- a/tools/depends/target/mariadb/Makefile
+++ b/tools/depends/target/mariadb/Makefile
@@ -1,23 +1,34 @@
-include ../../Makefile.include
-DEPS= ../../Makefile.include Makefile 01-android.patch
-
-LIBNAME=mariadb
-VERSION=3.0.3
-ARCHIVE=$(LIBNAME)-connector-c-$(VERSION)-src.tar.gz
+include ../../Makefile.include MARIADB-VERSION ../../download-files.include
+DEPS = ../../Makefile.include MARIADB-VERSION Makefile ../../download-files.include \
+ 01-android.patch \
+ 02-fix-CONC-612.patch \
+ 04-pthread.patch
LIBDYLIB=$(PLATFORM)/build/lib$(LIBNAME)/lib$(LIBNAME)client.a
-all: .installed-$(PLATFORM)
+# build all plugins as static
+PLUGIN_BUILD_FLAGS=-DCLIENT_PLUGIN_DIALOG=STATIC
+PLUGIN_BUILD_FLAGS+=-DCLIENT_PLUGIN_SHA256_PASSWORD=STATIC -DCLIENT_PLUGIN_CACHING_SHA2_PASSWORD=STATIC
+PLUGIN_BUILD_FLAGS+=-DCLIENT_PLUGIN_MYSQL_CLEAR_PASSWORD=STATIC -DCLIENT_PLUGIN_MYSQL_OLD_PASSWORD=STATIC
+PLUGIN_BUILD_FLAGS+=-DCLIENT_PLUGIN_CLIENT_ED25519=STATIC -DCLIENT_PLUGIN_AUTH_GSSAPI_CLIENT=STATIC
-$(TARBALLS_LOCATION)/$(ARCHIVE):
- cd $(TARBALLS_LOCATION); $(RETRIEVE_TOOL) $(RETRIEVE_TOOL_FLAGS) $(BASE_URL)/$(ARCHIVE)
+ifeq ($(TARGET_PLATFORM),appletvos)
+ PLUGIN_BUILD_FLAGS+=-DHAVE_UCONTEXT_H= -DHAVE_FILE_UCONTEXT_H=
+endif
+
+all: .installed-$(PLATFORM)
-$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE) $(DEPS)
+$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE).$(HASH_TYPE) $(DEPS)
rm -rf $(PLATFORM); mkdir -p $(PLATFORM)/build
cd $(PLATFORM); $(ARCHIVE_TOOL) $(ARCHIVE_TOOL_FLAGS) $(TARBALLS_LOCATION)/$(ARCHIVE)
+ifeq ($(OS),android)
cd $(PLATFORM); patch -p1 -i ../01-android.patch
- sed -ie 's| "DYNAMIC" | "STATIC" |' $(PLATFORM)/cmake/plugins.cmake
- cd $(PLATFORM)/build; $(CMAKE) -DAUTH_GSSAPI=OFF -DWITH_UNITTEST:BOOL=OFF -DWITH_EXTERNAL_ZLIB:BOOL=ON -DWITH_CURL:BOOL=OFF ..
+endif
+ cd $(PLATFORM); patch -p1 -i ../02-fix-CONC-612.patch
+ifeq ($(OS),linux)
+ cd $(PLATFORM); patch -p1 -i ../04-pthread.patch
+endif
+ cd $(PLATFORM)/build; $(CMAKE) $(PLUGIN_BUILD_FLAGS) -DWITH_SSL=OPENSSL -DWITH_UNIT_TESTS:BOOL=OFF -DWITH_EXTERNAL_ZLIB:BOOL=ON -DWITH_CURL:BOOL=OFF ..
$(LIBDYLIB): $(PLATFORM)
$(MAKE) -C $(PLATFORM)/build
diff --git a/tools/depends/target/mesa/Makefile b/tools/depends/target/mesa/Makefile
new file mode 100644
index 0000000000..ca8ce7381e
--- /dev/null
+++ b/tools/depends/target/mesa/Makefile
@@ -0,0 +1,94 @@
+include ../../Makefile.include
+DEPS =../../Makefile.include Makefile ../../download-files.include
+
+LIBNAME=mesa
+VERSION=20.1.7
+ARCHIVE=$(LIBNAME)-$(VERSION).tar.xz
+SHA512=5ff614c3f7568db7673cd2398615e5398c7f50093abdabd0730e07fe9c358310793fea3f130058110c9a2aa284c6efd207e1bdca3d1a1ba46fb18d76e34f361a
+include ../../download-files.include
+
+MESON_BUILD_TYPE=release
+
+ifeq ($(DEBUG_BUILD), yes)
+ MESON_BUILD_TYPE=debug
+endif
+
+ifeq ($(CPU), x86_64)
+ MESA_GALLIUM_DRIVERS=iris
+else ifeq ($(CPU), $(filter $(CPU), arm aarch64))
+ MESA_GALLIUM_DRIVERS=kmsro,vc4
+ MESA_EXTRA=-Dplatforms=wayland,drm
+endif
+
+# configuration settings
+CONFIGURE = $(NATIVEPREFIX)/bin/python3 $(NATIVEPREFIX)/bin/meson \
+ --prefix=$(PREFIX) \
+ --libdir=lib \
+ --buildtype=$(MESON_BUILD_TYPE) \
+ -Ddri-drivers= \
+ -Dgallium-drivers="$(MESA_GALLIUM_DRIVERS)" \
+ -Dgallium-extra-hud=false \
+ -Dgallium-xvmc=false \
+ -Dgallium-omx=disabled \
+ -Dgallium-nine=false \
+ -Dgallium-opencl=disabled \
+ -Dvulkan-drivers= \
+ -Dshader-cache=true \
+ -Dshared-glapi=true \
+ -Dopengl=true \
+ -Dgbm=true \
+ -Degl=true \
+ -Dvalgrind=false \
+ -Dlibunwind=false \
+ -Dlmsensors=false \
+ -Dbuild-tests=false \
+ -Dselinux=false \
+ -Dosmesa=none \
+ -Ddri3=false \
+ -Dglx=disabled \
+ -Dglvnd=false \
+ -Dllvm=false \
+ -Dgallium-vdpau=false \
+ -Dgallium-va=false \
+ -Dgallium-xa=false \
+ -Dgles1=false \
+ -Dgles2=true \
+ $(MESA_EXTRA)
+
+ifeq ($(CROSS_COMPILING), yes)
+CONFIGURE += --cross-file $(PREFIX)/share/cross-file.meson
+export CC=$(CC_FOR_BUILD)
+export CXX=$(CXX_FOR_BUILD)
+export CFLAGS=$(CFLAGS_FOR_BUILD)
+export CXXFLAGS=$(CXXFLAGS_FOR_BUILD)
+else
+export CC CXX CFLAGS CXXFLAGS
+endif
+export PKG_CONFIG_LIBDIR=$(PREFIX)/lib/pkgconfig
+
+LIBDYLIB=$(PLATFORM)/build/src/egl/libEGL.so
+
+all: .installed-$(PLATFORM)
+
+download: $(TARBALLS_LOCATION)/$(ARCHIVE)
+
+
+$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE).$(HASH_TYPE) $(DEPS)
+ rm -rf $(PLATFORM)/*; mkdir -p $(PLATFORM)
+ cd $(PLATFORM); $(ARCHIVE_TOOL) $(ARCHIVE_TOOL_FLAGS) $(TARBALLS_LOCATION)/$(ARCHIVE)
+ cd $(PLATFORM); rm -rf build; mkdir -p build
+ cd $(PLATFORM); $(CONFIGURE) . build
+
+$(LIBDYLIB): $(PLATFORM)
+ cd $(PLATFORM)/build; $(NATIVEPREFIX)/bin/ninja -v
+
+.installed-$(PLATFORM): $(LIBDYLIB)
+ cd $(PLATFORM)/build; $(NATIVEPREFIX)/bin/ninja -v install
+ touch $@
+
+clean:
+ $(MAKE) -C $(PLATFORM) clean
+ rm -f .installed-$(PLATFORM)
+
+distclean:
+ rm -rf $(PLATFORM) .installed-$(PLATFORM)
diff --git a/tools/depends/target/meson-cross-setup.sh b/tools/depends/target/meson-cross-setup.sh
new file mode 100755
index 0000000000..ea76a28410
--- /dev/null
+++ b/tools/depends/target/meson-cross-setup.sh
@@ -0,0 +1,30 @@
+#!/bin/sh
+
+cat > $1 << EOF
+[binaries]
+$($NATIVEPREFIX/bin/python3 -c "print('c = {}'.format('$CC'.split()))")
+$($NATIVEPREFIX/bin/python3 -c "print('cpp = {}'.format('$CXX'.split()))")
+ar = '$AR'
+strip = '$STRIP'
+pkgconfig = '$NATIVEPREFIX/bin/pkg-config'
+
+[host_machine]
+system = '$MESON_SYSTEM'
+cpu_family = '$MESON_CPU'
+cpu = '$CPU'
+endian = 'little'
+
+[properties]
+pkg_config_libdir = '$PREFIX/lib/pkgconfig'
+
+[built-in options]
+$($NATIVEPREFIX/bin/python3 -c "print('c_args = {}'.format([x for x in '$CFLAGS'.split() if x not in ['-g', '-gdwarf-2']]))")
+$($NATIVEPREFIX/bin/python3 -c "print('c_link_args = {}'.format([x for x in '$LDFLAGS'.split()]))")
+$($NATIVEPREFIX/bin/python3 -c "print('cpp_args = {}'.format([x for x in '$CXXFLAGS'.split() if x not in ['-g', '-gdwarf-2']]))")
+$($NATIVEPREFIX/bin/python3 -c "print('cpp_link_args = {}'.format([x for x in '$LDFLAGS'.split()]))")
+default_library = 'static'
+prefix = '$PREFIX'
+libdir = 'lib'
+bindir = 'bin'
+includedir = 'include'
+EOF
diff --git a/tools/depends/target/mtdev/Makefile b/tools/depends/target/mtdev/Makefile
index 8f9cf27464..58563af945 100644
--- a/tools/depends/target/mtdev/Makefile
+++ b/tools/depends/target/mtdev/Makefile
@@ -1,11 +1,13 @@
include ../../Makefile.include
-DEPS=../../Makefile.include Makefile
+DEPS =../../Makefile.include Makefile ../../download-files.include
# lib name, version
LIBNAME=mtdev
VERSION=1.1.5
SOURCE=$(LIBNAME)-$(VERSION)
ARCHIVE=$(SOURCE).tar.bz2
+SHA512=78477a4af784e3f846df867f1428ffdc458e3ff33d465d45a84247a7e52f0e215cace397d72be64f6e641f07e0b97a930eff0e07fe9507e0138fb028a4037d6d
+include ../../download-files.include
# configuration settings
CONFIGURE=cp -f $(CONFIG_SUB) $(CONFIG_GUESS) config-aux/; ./configure --prefix=$(PREFIX) --enable-static --disable-shared
@@ -14,10 +16,8 @@ LIBDYLIB=$(PLATFORM)/src/.libs/libmtdev.la
all: .installed-$(PLATFORM)
-$(TARBALLS_LOCATION)/$(ARCHIVE):
- cd $(TARBALLS_LOCATION); $(RETRIEVE_TOOL) $(RETRIEVE_TOOL_FLAGS) $(BASE_URL)/$(ARCHIVE)
-$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE) $(DEPS)
+$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE).$(HASH_TYPE) $(DEPS)
rm -rf $(PLATFORM)/*; mkdir -p $(PLATFORM)
cd $(PLATFORM); $(ARCHIVE_TOOL) $(ARCHIVE_TOOL_FLAGS) $(TARBALLS_LOCATION)/$(ARCHIVE)
cd $(PLATFORM); $(CONFIGURE)
diff --git a/tools/depends/target/nettle/01-disable_testsuite.patch b/tools/depends/target/nettle/01-disable_testsuite.patch
index b734d306be..99b4b22da0 100644
--- a/tools/depends/target/nettle/01-disable_testsuite.patch
+++ b/tools/depends/target/nettle/01-disable_testsuite.patch
@@ -1,8 +1,8 @@
--- a/Makefile.in
+++ b/Makefile.in
-@@ -17,7 +17,7 @@
+@@ -19,7 +19,7 @@
- OPT_NETTLE_SOURCES = @OPT_NETTLE_SOURCES@
+ FAT_TEST_LIST = @FAT_TEST_LIST@
-SUBDIRS = tools testsuite examples
+SUBDIRS = tools examples
diff --git a/tools/depends/target/nettle/Makefile b/tools/depends/target/nettle/Makefile
index 4d2f43427d..2c609c7231 100644
--- a/tools/depends/target/nettle/Makefile
+++ b/tools/depends/target/nettle/Makefile
@@ -1,31 +1,34 @@
include ../../Makefile.include
-DEPS= ../../Makefile.include Makefile 01-disable_testsuite.patch
+DEPS = ../../Makefile.include Makefile 01-disable_testsuite.patch ../../download-files.include
# lib name, version
LIBNAME=nettle
-VERSION=3.2
+VERSION=3.7.3
SOURCE=$(LIBNAME)-$(VERSION)
ARCHIVE=$(SOURCE).tar.gz
+SHA512=9901eba305421adff6d551ac7f478dff3f68a339d444c776724ab0b977fe6be792b1d2950c8705acbe76bd924fd6d898a65eded546777884be3b436d0e052437
+include ../../download-files.include
-ifeq ($(OS),darwin_embedded)
+ifeq ($(OS),osx)
+ifeq ($(CPU),arm64)
CONFIGURE_FLAGS=-disable-assembler
endif
+endif
# configuration settings
CONFIGURE=cp -f $(CONFIG_SUB) $(CONFIG_GUESS) .; \
- ./configure --prefix=$(PREFIX) --disable-shared --disable-openssl $(CONFIGURE_FLAGS)
+ ./configure --prefix=$(PREFIX) --disable-shared --disable-fat --disable-openssl --disable-documentation $(CONFIGURE_FLAGS)
LIBDYLIB=$(PLATFORM)/lib$(LIBNAME).a
all: .installed-$(PLATFORM)
-$(TARBALLS_LOCATION)/$(ARCHIVE):
- cd $(TARBALLS_LOCATION); $(RETRIEVE_TOOL) $(RETRIEVE_TOOL_FLAGS) $(BASE_URL)/$(ARCHIVE)
-$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE) $(DEPS)
+$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE).$(HASH_TYPE) $(DEPS)
rm -rf $(PLATFORM)/*; mkdir -p $(PLATFORM)
cd $(PLATFORM); $(ARCHIVE_TOOL) $(ARCHIVE_TOOL_FLAGS) $(TARBALLS_LOCATION)/$(ARCHIVE)
cd $(PLATFORM); patch -p1 -i ../01-disable_testsuite.patch
+ cd $(PLATFORM); $(AUTORECONF)
cd $(PLATFORM); $(CONFIGURE) CCPIC=" "
$(LIBDYLIB): $(PLATFORM)
diff --git a/tools/depends/target/nghttp2/Makefile b/tools/depends/target/nghttp2/Makefile
index 44aa8acc7d..339f5e47a2 100644
--- a/tools/depends/target/nghttp2/Makefile
+++ b/tools/depends/target/nghttp2/Makefile
@@ -1,38 +1,32 @@
-include ../../Makefile.include
-DEPS= ../../Makefile.include Makefile
-
-# lib name, version
-LIBNAME=nghttp2
-VERSION=1.35.1
-ARCHIVE=$(LIBNAME)-$(VERSION).tar.xz
+include ../../Makefile.include NGHTTP2-VERSION ../../download-files.include
+DEPS = ../../Makefile.include NGHTTP2-VERSION Makefile ../../download-files.include
# configuration settings
-CONFIGURE=./configure --prefix=$(PREFIX) --enable-lib-only --disable-shared
+CMAKE_OPTIONS=-DENABLE_DEBUG=OFF \
+ -DENABLE_FAILMALLOC=OFF \
+ -DENABLE_LIB_ONLY=ON \
+ -DENABLE_STATIC_LIB=ON \
+ -DENABLE_SHARED_LIB=OFF
-LIBDYLIB=$(PLATFORM)/lib/.libs/lib$(LIBNAME).a
+LIBDYLIB=$(PLATFORM)/build/lib/$(BYPRODUCT)
all: .installed-$(PLATFORM)
-$(TARBALLS_LOCATION)/$(ARCHIVE):
- cd $(TARBALLS_LOCATION); $(RETRIEVE_TOOL) $(RETRIEVE_TOOL_FLAGS) $(BASE_URL)/$(ARCHIVE)
-
-$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE) $(DEPS)
- rm -rf $(PLATFORM)/*; mkdir -p $(PLATFORM)
+$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE).$(HASH_TYPE) $(DEPS)
+ rm -rf $(PLATFORM)/*; mkdir -p $(PLATFORM)/build
cd $(PLATFORM); $(ARCHIVE_TOOL) $(ARCHIVE_TOOL_FLAGS) $(TARBALLS_LOCATION)/$(ARCHIVE)
- cd $(PLATFORM); $(AUTORECONF) -vif
- cd $(PLATFORM); $(CONFIGURE)
+ cd $(PLATFORM)/build; $(CMAKE) $(CMAKE_OPTIONS) ..
$(LIBDYLIB): $(PLATFORM)
- $(MAKE) -C $(PLATFORM)
+ $(MAKE) -C $(PLATFORM)/build
.installed-$(PLATFORM): $(LIBDYLIB)
- $(MAKE) -C $(PLATFORM) install
+ $(MAKE) -C $(PLATFORM)/build install
touch $@
clean:
- $(MAKE) -C $(PLATFORM) clean
+ $(MAKE) -C $(PLATFORM)/build clean
rm -f .installed-$(PLATFORM)
distclean::
rm -rf $(PLATFORM) .installed-$(PLATFORM)
-
diff --git a/tools/depends/target/nghttp2/NGHTTP2-VERSION b/tools/depends/target/nghttp2/NGHTTP2-VERSION
new file mode 100644
index 0000000000..998667c1fc
--- /dev/null
+++ b/tools/depends/target/nghttp2/NGHTTP2-VERSION
@@ -0,0 +1,5 @@
+LIBNAME=nghttp2
+VERSION=1.46.0
+ARCHIVE=$(LIBNAME)-$(VERSION).tar.xz
+SHA512=fcf3573bcc421705190c7cf0e3230f6f3028b669cb2976d29cfeb73e706deaae91ce60d0a615472e3f296454049ea5798f1e8defdd260a98895e94fea6a7a16b
+BYPRODUCT=libnghttp2.a
diff --git a/tools/depends/target/openssl/001-android-getauxvalrevert.patch b/tools/depends/target/openssl/001-android-getauxvalrevert.patch
new file mode 100644
index 0000000000..810a8e80bb
--- /dev/null
+++ b/tools/depends/target/openssl/001-android-getauxvalrevert.patch
@@ -0,0 +1,61 @@
+--- a/crypto/armcap.c
++++ b/crypto/armcap.c
+@@ -68,12 +68,6 @@
+ # include <sys/auxv.h>
+ # define OSSL_IMPLEMENT_GETAUXVAL
+ # endif
+-# elif defined(__ANDROID_API__)
+-/* see https://developer.android.google.cn/ndk/guides/cpu-features */
+-# if __ANDROID_API__ >= 18
+-# include <sys/auxv.h>
+-# define OSSL_IMPLEMENT_GETAUXVAL
+-# endif
+ # endif
+ # if defined(__FreeBSD__)
+ # include <sys/param.h>
+@@ -94,15 +88,6 @@
+ # endif
+
+ /*
+- * Android: according to https://developer.android.com/ndk/guides/cpu-features,
+- * getauxval is supported starting with API level 18
+- */
+-# if defined(__ANDROID__) && defined(__ANDROID_API__) && __ANDROID_API__ >= 18
+-# include <sys/auxv.h>
+-# define OSSL_IMPLEMENT_GETAUXVAL
+-# endif
+-
+-/*
+ * ARM puts the feature bits for Crypto Extensions in AT_HWCAP2, whereas
+ * AArch64 used AT_HWCAP.
+ */
+--- a/crypto/ppccap.c
++++ b/crypto/ppccap.c
+@@ -211,12 +211,6 @@
+ # if __GLIBC_PREREQ(2, 16)
+ # include <sys/auxv.h>
+ # define OSSL_IMPLEMENT_GETAUXVAL
+-# elif defined(__ANDROID_API__)
+-/* see https://developer.android.google.cn/ndk/guides/cpu-features */
+-# if __ANDROID_API__ >= 18
+-# include <sys/auxv.h>
+-# define OSSL_IMPLEMENT_GETAUXVAL
+-# endif
+ # endif
+ #endif
+
+--- a/crypto/uid.c
++++ b/crypto/uid.c
+@@ -36,12 +36,6 @@
+ # include <sys/auxv.h>
+ # define OSSL_IMPLEMENT_GETAUXVAL
+ # endif
+-# elif defined(__ANDROID_API__)
+-/* see https://developer.android.google.cn/ndk/guides/cpu-features */
+-# if __ANDROID_API__ >= 18
+-# include <sys/auxv.h>
+-# define OSSL_IMPLEMENT_GETAUXVAL
+-# endif
+ # endif
+
+ int OPENSSL_issetugid(void)
diff --git a/tools/depends/target/openssl/16-kodi.conf b/tools/depends/target/openssl/16-kodi.conf
new file mode 100644
index 0000000000..eccb609a27
--- /dev/null
+++ b/tools/depends/target/openssl/16-kodi.conf
@@ -0,0 +1,35 @@
+#### Kodi dependency build configs for Apple Platforms
+#
+# Provide our system specific configs.
+# Allows us to pass through our CFLAGS, and also adds a tvos target
+#
+my %targets = (
+ "kodi-darwin64-x86_64" => {
+ inherit_from => [ "darwin-common", asm("x86_64_asm") ],
+ cflags => add("\$(CFLAGS)"),
+ lib_cppflags => add("-DL_ENDIAN"),
+ bn_ops => "SIXTY_FOUR_BIT_LONG",
+ perlasm_scheme => "macosx",
+ },
+ "kodi-darwin64-arm64" => {
+ inherit_from => [ "darwin-common", asm("aarch64_asm") ],
+ cflags => add("\$(CFLAGS)"),
+ lib_cppflags => add("-DL_ENDIAN"),
+ bn_ops => "SIXTY_FOUR_BIT_LONG",
+ perlasm_scheme => "ios64",
+ },
+ "kodi-iphoneos-arm64" => {
+ inherit_from => [ "ios-common", asm("aarch64_asm") ],
+ cflags => add("\$(CFLAGS)"),
+ bn_ops => "SIXTY_FOUR_BIT_LONG RC4_CHAR",
+ perlasm_scheme => "ios64",
+ },
+ "kodi-appletvos-arm64" => {
+ inherit_from => [ "ios-common", asm("aarch64_asm") ],
+ cflags => add("\$(CFLAGS)"),
+ defines => [ "HAVE_FORK=0" ],
+ bn_ops => "SIXTY_FOUR_BIT_LONG RC4_CHAR",
+ perlasm_scheme => "ios64",
+ sys_id => "tvOS",
+ },
+);
diff --git a/tools/depends/target/openssl/Makefile b/tools/depends/target/openssl/Makefile
index 70929763e7..ee22a58eb1 100644
--- a/tools/depends/target/openssl/Makefile
+++ b/tools/depends/target/openssl/Makefile
@@ -1,53 +1,66 @@
include ../../Makefile.include
-DEPS= ../../Makefile.include Makefile
+DEPS = ../../Makefile.include Makefile 001-android-getauxvalrevert.patch 16-kodi.conf ../../download-files.include
# lib name, version
LIBNAME=openssl
-VERSION=1.1.0h
+VERSION=1.1.1n
SOURCE=$(LIBNAME)-$(VERSION)
ARCHIVE=$(SOURCE).tar.gz
+SHA512=1937796736613dcf4105a54e42ecb61f95a1cea74677156f9459aea0f2c95159359e766089632bf364ee6b0d28d661eb9957bce8fecc9d2436378d8d79e8d0a4
+include ../../download-files.include
# configuration settings
-CONFIGURE=MACHINE=$(PLATFORM) ./config no-shared zlib no-asm --prefix=$(PREFIX) --with-zlib-include=$(PREFIX)/include --with-zlib-lib=$(PREFIX)/lib
-ifeq ($(OS), android)
- CONFIGURE=./Configure no-shared zlib --prefix=$(PREFIX) --with-zlib-include=$(PREFIX)/include --with-zlib-lib=$(PREFIX)/lib linux-generic32 -D__ANDROID_API__=$(NDK_LEVEL)
-endif
-ifeq ($(OS), darwin_embedded)
- ifeq ($(TARGET_PLATFORM),appletvos)
- # Need to add "no-async" to avoid "'setcontext' is unavailable: not available on tvOS" error
- CONFIGURE=./Configure iphoneos-cross no-shared zlib no-asm no-async --prefix=$(PREFIX)
- else
- CONFIGURE=./Configure iphoneos-cross no-shared zlib no-asm --prefix=$(PREFIX)
+ifeq ($(OS), linux)
+ # Need to export our vars to override "default" conf data of openssl
+ TARGETOPT=--with-zlib-include=$(PREFIX)/include --with-zlib-lib=$(PREFIX)/lib
+ CONFIGURE=MACHINE=$(PLATFORM) ./config no-shared zlib no-tests no-asm $(TARGETOPT) --prefix=$(PREFIX)
+else
+ ifeq ($(OS), android)
+ TARGETOPT=--with-zlib-include=$(PREFIX)/include --with-zlib-lib=$(PREFIX)/lib -D__ANDROID_API__=$(NDK_LEVEL)
+ # openssl 1.x incorrectly uses ANDROID_NDK_HOME, when openssl 3.x.x comes in use ANDROID_NDK_ROOT
+ # see https://github.com/openssl/openssl/pull/11206
+ export ANDROID_NDK_HOME=$(NDKROOT)
+ export PATH:=$(TOOLCHAIN)/bin:$(PATH)
+ ifeq ($(MESON_CPU), aarch64)
+ OPENSSLPLATFORM=android-arm64
+ else
+ OPENSSLPLATFORM=android-$(MESON_CPU)
+ endif
endif
-endif
-ifeq ($(OS), osx)
- ifeq ($(CPU),x86_64)
- CONFIGURE=./Configure darwin64-$(CPU)-cc zlib no-asm no-shared --prefix=$(PREFIX)
- else
- CONFIGURE=./Configure darwin-$(CPU)-cc zlib no-asm no-shared --prefix=$(PREFIX)
+ ifeq ($(OS), darwin_embedded)
+ export SDKROOT CFLAGS
+ OPENSSLPLATFORM=kodi-$(TARGET_PLATFORM)-$(CPU)
+ ifeq ($(TARGET_PLATFORM),appletvos)
+ # 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)
+ ASMFLAG=no-asm
+ endif
+
+ CONFIGURE=./Configure $(OPENSSLPLATFORM) no-shared $(ASMFLAG) zlib no-tests $(TARGETOPT) --prefix=$(PREFIX)
endif
+
+export CC CXX AR RANLIB
+export CFLAGS CXXFLAGS CPPFLAGS LDFLAGS
+
LIBDYLIB=$(PLATFORM)/libssl.a
all: .installed-$(PLATFORM)
-$(TARBALLS_LOCATION)/$(ARCHIVE):
- cd $(TARBALLS_LOCATION); $(RETRIEVE_TOOL) $(RETRIEVE_TOOL_FLAGS) $(BASE_URL)/$(ARCHIVE)
-$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE) $(DEPS)
+$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE).$(HASH_TYPE) $(DEPS)
rm -rf $(PLATFORM); mkdir -p $(PLATFORM)
cd $(PLATFORM); $(ARCHIVE_TOOL) $(ARCHIVE_TOOL_FLAGS) $(TARBALLS_LOCATION)/$(ARCHIVE)
- cd $(PLATFORM); AR="$(AR)" CFLAGS="$(CFLAGS)" CC="$(CC)" RANLIB=$(RANLIB) $(CONFIGURE)
- if test "$(OS)" = "osx"; then \
- sed -ie "s|CC= /usr/bin/gcc-4.2|CC= $(CC)|" "$(PLATFORM)/Makefile"; \
- sed -E -ie "s|^CFLAGS=-|CFLAGS=$(CFLAGS) -|" "$(PLATFORM)/Makefile"; \
- fi
- # for iphoneos-cross config a sysroot argument is added
- # however sysroot already set in Makefile.include, so remove this
+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|^CFLAGS=-|CFLAGS=$(CFLAGS) -|" "$(PLATFORM)/Makefile"; \
- sed -ie "s|-isysroot \$$(CROSS_TOP)/SDKs/\$$(CROSS_SDK) ||" "$(PLATFORM)/Makefile"; \
- sed -ie "s|static volatile sig_atomic_t intr_signal;|static volatile intr_signal;|" "$(PLATFORM)/crypto/ui/ui_openssl.c"; \
+ 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";
diff --git a/tools/depends/target/openssl/cacert.pem b/tools/depends/target/openssl/cacert.pem
deleted file mode 100644
index aa6d05b352..0000000000
--- a/tools/depends/target/openssl/cacert.pem
+++ /dev/null
@@ -1,3401 +0,0 @@
-##
-## Bundle of CA Root Certificates
-##
-## Certificate data from Mozilla as of: Wed Feb 6 10:00:00 2019 GMT
-##
-## This is a bundle of X.509 certificates of public Certificate Authorities
-## (CA). These were automatically extracted from Mozilla's root certificates
-## file (certdata.txt). This file can be found in the mozilla source tree:
-## https://hg.mozilla.org/releases/mozilla-release/raw-file/default/security/nss/lib/ckfw/builtins/certdata.txt
-##
-## It contains the certificates in PEM format and therefore
-## can be directly used with curl / libcurl / php_curl, or with
-## an Apache+mod_ssl webserver for SSL client authentication.
-## Just configure this file as the SSLCACertificateFile.
-##
-## Conversion done with mk-ca-bundle.pl version 1.27.
-## SHA256: 18372117493b5b7ec006c31d966143fc95a9464a2b5f8d5188e23c5557b2292d
-##
-
-
-GlobalSign Root CA
-==================
------BEGIN CERTIFICATE-----
-MIIDdTCCAl2gAwIBAgILBAAAAAABFUtaw5QwDQYJKoZIhvcNAQEFBQAwVzELMAkGA1UEBhMCQkUx
-GTAXBgNVBAoTEEdsb2JhbFNpZ24gbnYtc2ExEDAOBgNVBAsTB1Jvb3QgQ0ExGzAZBgNVBAMTEkds
-b2JhbFNpZ24gUm9vdCBDQTAeFw05ODA5MDExMjAwMDBaFw0yODAxMjgxMjAwMDBaMFcxCzAJBgNV
-BAYTAkJFMRkwFwYDVQQKExBHbG9iYWxTaWduIG52LXNhMRAwDgYDVQQLEwdSb290IENBMRswGQYD
-VQQDExJHbG9iYWxTaWduIFJvb3QgQ0EwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDa
-DuaZjc6j40+Kfvvxi4Mla+pIH/EqsLmVEQS98GPR4mdmzxzdzxtIK+6NiY6arymAZavpxy0Sy6sc
-THAHoT0KMM0VjU/43dSMUBUc71DuxC73/OlS8pF94G3VNTCOXkNz8kHp1Wrjsok6Vjk4bwY8iGlb
-Kk3Fp1S4bInMm/k8yuX9ifUSPJJ4ltbcdG6TRGHRjcdGsnUOhugZitVtbNV4FpWi6cgKOOvyJBNP
-c1STE4U6G7weNLWLBYy5d4ux2x8gkasJU26Qzns3dLlwR5EiUWMWea6xrkEmCMgZK9FGqkjWZCrX
-gzT/LCrBbBlDSgeF59N89iFo7+ryUp9/k5DPAgMBAAGjQjBAMA4GA1UdDwEB/wQEAwIBBjAPBgNV
-HRMBAf8EBTADAQH/MB0GA1UdDgQWBBRge2YaRQ2XyolQL30EzTSo//z9SzANBgkqhkiG9w0BAQUF
-AAOCAQEA1nPnfE920I2/7LqivjTFKDK1fPxsnCwrvQmeU79rXqoRSLblCKOzyj1hTdNGCbM+w6Dj
-Y1Ub8rrvrTnhQ7k4o+YviiY776BQVvnGCv04zcQLcFGUl5gE38NflNUVyRRBnMRddWQVDf9VMOyG
-j/8N7yy5Y0b2qvzfvGn9LhJIZJrglfCm7ymPAbEVtQwdpf5pLGkkeB6zpxxxYu7KyJesF12KwvhH
-hm4qxFYxldBniYUr+WymXUadDKqC5JlR3XC321Y9YeRq4VzW9v493kHMB65jUr9TU/Qr6cf9tveC
-X4XSQRjbgbMEHMUfpIBvFSDJ3gyICh3WZlXi/EjJKSZp4A==
------END CERTIFICATE-----
-
-GlobalSign Root CA - R2
-=======================
------BEGIN CERTIFICATE-----
-MIIDujCCAqKgAwIBAgILBAAAAAABD4Ym5g0wDQYJKoZIhvcNAQEFBQAwTDEgMB4GA1UECxMXR2xv
-YmFsU2lnbiBSb290IENBIC0gUjIxEzARBgNVBAoTCkdsb2JhbFNpZ24xEzARBgNVBAMTCkdsb2Jh
-bFNpZ24wHhcNMDYxMjE1MDgwMDAwWhcNMjExMjE1MDgwMDAwWjBMMSAwHgYDVQQLExdHbG9iYWxT
-aWduIFJvb3QgQ0EgLSBSMjETMBEGA1UEChMKR2xvYmFsU2lnbjETMBEGA1UEAxMKR2xvYmFsU2ln
-bjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAKbPJA6+Lm8omUVCxKs+IVSbC9N/hHD6
-ErPLv4dfxn+G07IwXNb9rfF73OX4YJYJkhD10FPe+3t+c4isUoh7SqbKSaZeqKeMWhG8eoLrvozp
-s6yWJQeXSpkqBy+0Hne/ig+1AnwblrjFuTosvNYSuetZfeLQBoZfXklqtTleiDTsvHgMCJiEbKjN
-S7SgfQx5TfC4LcshytVsW33hoCmEofnTlEnLJGKRILzdC9XZzPnqJworc5HGnRusyMvo4KD0L5CL
-TfuwNhv2GXqF4G3yYROIXJ/gkwpRl4pazq+r1feqCapgvdzZX99yqWATXgAByUr6P6TqBwMhAo6C
-ygPCm48CAwEAAaOBnDCBmTAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4E
-FgQUm+IHV2ccHsBqBt5ZtJot39wZhi4wNgYDVR0fBC8wLTAroCmgJ4YlaHR0cDovL2NybC5nbG9i
-YWxzaWduLm5ldC9yb290LXIyLmNybDAfBgNVHSMEGDAWgBSb4gdXZxwewGoG3lm0mi3f3BmGLjAN
-BgkqhkiG9w0BAQUFAAOCAQEAmYFThxxol4aR7OBKuEQLq4GsJ0/WwbgcQ3izDJr86iw8bmEbTUsp
-9Z8FHSbBuOmDAGJFtqkIk7mpM0sYmsL4h4hO291xNBrBVNpGP+DTKqttVCL1OmLNIG+6KYnX3ZHu
-01yiPqFbQfXf5WRDLenVOavSot+3i9DAgBkcRcAtjOj4LaR0VknFBbVPFd5uRHg5h6h+u/N5GJG7
-9G+dwfCMNYxdAfvDbbnvRG15RjF+Cv6pgsH/76tuIMRQyV+dTZsXjAzlAcmgQWpzU/qlULRuJQ/7
-TBj0/VLZjmmx6BEP3ojY+x1J96relc8geMJgEtslQIxq/H5COEBkEveegeGTLg==
------END CERTIFICATE-----
-
-Verisign Class 3 Public Primary Certification Authority - G3
-============================================================
------BEGIN CERTIFICATE-----
-MIIEGjCCAwICEQCbfgZJoz5iudXukEhxKe9XMA0GCSqGSIb3DQEBBQUAMIHKMQswCQYDVQQGEwJV
-UzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xHzAdBgNVBAsTFlZlcmlTaWduIFRydXN0IE5ldHdv
-cmsxOjA4BgNVBAsTMShjKSAxOTk5IFZlcmlTaWduLCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNl
-IG9ubHkxRTBDBgNVBAMTPFZlcmlTaWduIENsYXNzIDMgUHVibGljIFByaW1hcnkgQ2VydGlmaWNh
-dGlvbiBBdXRob3JpdHkgLSBHMzAeFw05OTEwMDEwMDAwMDBaFw0zNjA3MTYyMzU5NTlaMIHKMQsw
-CQYDVQQGEwJVUzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xHzAdBgNVBAsTFlZlcmlTaWduIFRy
-dXN0IE5ldHdvcmsxOjA4BgNVBAsTMShjKSAxOTk5IFZlcmlTaWduLCBJbmMuIC0gRm9yIGF1dGhv
-cml6ZWQgdXNlIG9ubHkxRTBDBgNVBAMTPFZlcmlTaWduIENsYXNzIDMgUHVibGljIFByaW1hcnkg
-Q2VydGlmaWNhdGlvbiBBdXRob3JpdHkgLSBHMzCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoC
-ggEBAMu6nFL8eB8aHm8bN3O9+MlrlBIwT/A2R/XQkQr1F8ilYcEWQE37imGQ5XYgwREGfassbqb1
-EUGO+i2tKmFZpGcmTNDovFJbcCAEWNF6yaRpvIMXZK0Fi7zQWM6NjPXr8EJJC52XJ2cybuGukxUc
-cLwgTS8Y3pKI6GyFVxEa6X7jJhFUokWWVYPKMIno3Nij7SqAP395ZVc+FSBmCC+Vk7+qRy+oRpfw
-EuL+wgorUeZ25rdGt+INpsyow0xZVYnm6FNcHOqd8GIWC6fJXwzw3sJ2zq/3avL6QaaiMxTJ5Xpj
-055iN9WFZZ4O5lMkdBteHRJTW8cs54NJOxWuimi5V5cCAwEAATANBgkqhkiG9w0BAQUFAAOCAQEA
-ERSWwauSCPc/L8my/uRan2Te2yFPhpk0djZX3dAVL8WtfxUfN2JzPtTnX84XA9s1+ivbrmAJXx5f
-j267Cz3qWhMeDGBvtcC1IyIuBwvLqXTLR7sdwdela8wv0kL9Sd2nic9TutoAWii/gt/4uhMdUIaC
-/Y4wjylGsB49Ndo4YhYYSq3mtlFs3q9i6wHQHiT+eo8SGhJouPtmmRQURVyu565pF4ErWjfJXir0
-xuKhXFSbplQAz/DxwceYMBo7Nhbbo27q/a2ywtrvAkcTisDxszGtTxzhT5yvDwyd93gN2PQ1VoDa
-t20Xj50egWTh/sVFuq1ruQp6Tk9LhO5L8X3dEQ==
------END CERTIFICATE-----
-
-Entrust.net Premium 2048 Secure Server CA
-=========================================
------BEGIN CERTIFICATE-----
-MIIEKjCCAxKgAwIBAgIEOGPe+DANBgkqhkiG9w0BAQUFADCBtDEUMBIGA1UEChMLRW50cnVzdC5u
-ZXQxQDA+BgNVBAsUN3d3dy5lbnRydXN0Lm5ldC9DUFNfMjA0OCBpbmNvcnAuIGJ5IHJlZi4gKGxp
-bWl0cyBsaWFiLikxJTAjBgNVBAsTHChjKSAxOTk5IEVudHJ1c3QubmV0IExpbWl0ZWQxMzAxBgNV
-BAMTKkVudHJ1c3QubmV0IENlcnRpZmljYXRpb24gQXV0aG9yaXR5ICgyMDQ4KTAeFw05OTEyMjQx
-NzUwNTFaFw0yOTA3MjQxNDE1MTJaMIG0MRQwEgYDVQQKEwtFbnRydXN0Lm5ldDFAMD4GA1UECxQ3
-d3d3LmVudHJ1c3QubmV0L0NQU18yMDQ4IGluY29ycC4gYnkgcmVmLiAobGltaXRzIGxpYWIuKTEl
-MCMGA1UECxMcKGMpIDE5OTkgRW50cnVzdC5uZXQgTGltaXRlZDEzMDEGA1UEAxMqRW50cnVzdC5u
-ZXQgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkgKDIwNDgpMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8A
-MIIBCgKCAQEArU1LqRKGsuqjIAcVFmQqK0vRvwtKTY7tgHalZ7d4QMBzQshowNtTK91euHaYNZOL
-Gp18EzoOH1u3Hs/lJBQesYGpjX24zGtLA/ECDNyrpUAkAH90lKGdCCmziAv1h3edVc3kw37XamSr
-hRSGlVuXMlBvPci6Zgzj/L24ScF2iUkZ/cCovYmjZy/Gn7xxGWC4LeksyZB2ZnuU4q941mVTXTzW
-nLLPKQP5L6RQstRIzgUyVYr9smRMDuSYB3Xbf9+5CFVghTAp+XtIpGmG4zU/HoZdenoVve8AjhUi
-VBcAkCaTvA5JaJG/+EfTnZVCwQ5N328mz8MYIWJmQ3DW1cAH4QIDAQABo0IwQDAOBgNVHQ8BAf8E
-BAMCAQYwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUVeSB0RGAvtiJuQijMfmhJAkWuXAwDQYJ
-KoZIhvcNAQEFBQADggEBADubj1abMOdTmXx6eadNl9cZlZD7Bh/KM3xGY4+WZiT6QBshJ8rmcnPy
-T/4xmf3IDExoU8aAghOY+rat2l098c5u9hURlIIM7j+VrxGrD9cv3h8Dj1csHsm7mhpElesYT6Yf
-zX1XEC+bBAlahLVu2B064dae0Wx5XnkcFMXj0EyTO2U87d89vqbllRrDtRnDvV5bu/8j72gZyxKT
-J1wDLW8w0B62GqzeWvfRqqgnpv55gcR5mTNXuhKwqeBCbJPKVt7+bYQLCIt+jerXmCHG8+c8eS9e
-nNFMFY3h7CI3zJpDC5fcgJCNs2ebb0gIFVbPv/ErfF6adulZkMV8gzURZVE=
------END CERTIFICATE-----
-
-Baltimore CyberTrust Root
-=========================
------BEGIN CERTIFICATE-----
-MIIDdzCCAl+gAwIBAgIEAgAAuTANBgkqhkiG9w0BAQUFADBaMQswCQYDVQQGEwJJRTESMBAGA1UE
-ChMJQmFsdGltb3JlMRMwEQYDVQQLEwpDeWJlclRydXN0MSIwIAYDVQQDExlCYWx0aW1vcmUgQ3li
-ZXJUcnVzdCBSb290MB4XDTAwMDUxMjE4NDYwMFoXDTI1MDUxMjIzNTkwMFowWjELMAkGA1UEBhMC
-SUUxEjAQBgNVBAoTCUJhbHRpbW9yZTETMBEGA1UECxMKQ3liZXJUcnVzdDEiMCAGA1UEAxMZQmFs
-dGltb3JlIEN5YmVyVHJ1c3QgUm9vdDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAKME
-uyKrmD1X6CZymrV51Cni4eiVgLGw41uOKymaZN+hXe2wCQVt2yguzmKiYv60iNoS6zjrIZ3AQSsB
-UnuId9Mcj8e6uYi1agnnc+gRQKfRzMpijS3ljwumUNKoUMMo6vWrJYeKmpYcqWe4PwzV9/lSEy/C
-G9VwcPCPwBLKBsua4dnKM3p31vjsufFoREJIE9LAwqSuXmD+tqYF/LTdB1kC1FkYmGP1pWPgkAx9
-XbIGevOF6uvUA65ehD5f/xXtabz5OTZydc93Uk3zyZAsuT3lySNTPx8kmCFcB5kpvcY67Oduhjpr
-l3RjM71oGDHweI12v/yejl0qhqdNkNwnGjkCAwEAAaNFMEMwHQYDVR0OBBYEFOWdWTCCR1jMrPoI
-VDaGezq1BE3wMBIGA1UdEwEB/wQIMAYBAf8CAQMwDgYDVR0PAQH/BAQDAgEGMA0GCSqGSIb3DQEB
-BQUAA4IBAQCFDF2O5G9RaEIFoN27TyclhAO992T9Ldcw46QQF+vaKSm2eT929hkTI7gQCvlYpNRh
-cL0EYWoSihfVCr3FvDB81ukMJY2GQE/szKN+OMY3EU/t3WgxjkzSswF07r51XgdIGn9w/xZchMB5
-hbgF/X++ZRGjD8ACtPhSNzkE1akxehi/oCr0Epn3o0WC4zxe9Z2etciefC7IpJ5OCBRLbf1wbWsa
-Y71k5h+3zvDyny67G7fyUIhzksLi4xaNmjICq44Y3ekQEe5+NauQrz4wlHrQMz2nZQ/1/I6eYs9H
-RCwBXbsdtTLSR9I4LtD+gdwyah617jzV/OeBHRnDJELqYzmp
------END CERTIFICATE-----
-
-AddTrust External Root
-======================
------BEGIN CERTIFICATE-----
-MIIENjCCAx6gAwIBAgIBATANBgkqhkiG9w0BAQUFADBvMQswCQYDVQQGEwJTRTEUMBIGA1UEChML
-QWRkVHJ1c3QgQUIxJjAkBgNVBAsTHUFkZFRydXN0IEV4dGVybmFsIFRUUCBOZXR3b3JrMSIwIAYD
-VQQDExlBZGRUcnVzdCBFeHRlcm5hbCBDQSBSb290MB4XDTAwMDUzMDEwNDgzOFoXDTIwMDUzMDEw
-NDgzOFowbzELMAkGA1UEBhMCU0UxFDASBgNVBAoTC0FkZFRydXN0IEFCMSYwJAYDVQQLEx1BZGRU
-cnVzdCBFeHRlcm5hbCBUVFAgTmV0d29yazEiMCAGA1UEAxMZQWRkVHJ1c3QgRXh0ZXJuYWwgQ0Eg
-Um9vdDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALf3GjPm8gAELTngTlvtH7xsD821
-+iO2zt6bETOXpClMfZOfvUq8k+0DGuOPz+VtUFrWlymUWoCwSXrbLpX9uMq/NzgtHj6RQa1wVsfw
-Tz/oMp50ysiQVOnGXw94nZpAPA6sYapeFI+eh6FqUNzXmk6vBbOmcZSccbNQYArHE504B4YCqOmo
-aSYYkKtMsE8jqzpPhNjfzp/haW+710LXa0Tkx63ubUFfclpxCDezeWWkWaCUN/cALw3CknLa0Dhy
-2xSoRcRdKn23tNbE7qzNE0S3ySvdQwAl+mG5aWpYIxG3pzOPVnVZ9c0p10a3CitlttNCbxWyuHv7
-7+ldU9U0WicCAwEAAaOB3DCB2TAdBgNVHQ4EFgQUrb2YejS0Jvf6xCZU7wO94CTLVBowCwYDVR0P
-BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wgZkGA1UdIwSBkTCBjoAUrb2YejS0Jvf6xCZU7wO94CTL
-VBqhc6RxMG8xCzAJBgNVBAYTAlNFMRQwEgYDVQQKEwtBZGRUcnVzdCBBQjEmMCQGA1UECxMdQWRk
-VHJ1c3QgRXh0ZXJuYWwgVFRQIE5ldHdvcmsxIjAgBgNVBAMTGUFkZFRydXN0IEV4dGVybmFsIENB
-IFJvb3SCAQEwDQYJKoZIhvcNAQEFBQADggEBALCb4IUlwtYj4g+WBpKdQZic2YR5gdkeWxQHIzZl
-j7DYd7usQWxHYINRsPkyPef89iYTx4AWpb9a/IfPeHmJIZriTAcKhjW88t5RxNKWt9x+Tu5w/Rw5
-6wwCURQtjr0W4MHfRnXnJK3s9EK0hZNwEGe6nQY1ShjTK3rMUUKhemPR5ruhxSvCNr4TDea9Y355
-e6cJDUCrat2PisP29owaQgVR1EX1n6diIWgVIEM8med8vSTYqZEXc4g/VhsxOBi0cQ+azcgOno4u
-G+GMmIPLHzHxREzGBHNJdmAPx/i9F4BrLunMTA5amnkPIAou1Z5jJh5VkpTYghdae9C8x49OhgQ=
------END CERTIFICATE-----
-
-Entrust Root Certification Authority
-====================================
------BEGIN CERTIFICATE-----
-MIIEkTCCA3mgAwIBAgIERWtQVDANBgkqhkiG9w0BAQUFADCBsDELMAkGA1UEBhMCVVMxFjAUBgNV
-BAoTDUVudHJ1c3QsIEluYy4xOTA3BgNVBAsTMHd3dy5lbnRydXN0Lm5ldC9DUFMgaXMgaW5jb3Jw
-b3JhdGVkIGJ5IHJlZmVyZW5jZTEfMB0GA1UECxMWKGMpIDIwMDYgRW50cnVzdCwgSW5jLjEtMCsG
-A1UEAxMkRW50cnVzdCBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MB4XDTA2MTEyNzIwMjM0
-MloXDTI2MTEyNzIwNTM0MlowgbAxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1FbnRydXN0LCBJbmMu
-MTkwNwYDVQQLEzB3d3cuZW50cnVzdC5uZXQvQ1BTIGlzIGluY29ycG9yYXRlZCBieSByZWZlcmVu
-Y2UxHzAdBgNVBAsTFihjKSAyMDA2IEVudHJ1c3QsIEluYy4xLTArBgNVBAMTJEVudHJ1c3QgUm9v
-dCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEB
-ALaVtkNC+sZtKm9I35RMOVcF7sN5EUFoNu3s/poBj6E4KPz3EEZmLk0eGrEaTsbRwJWIsMn/MYsz
-A9u3g3s+IIRe7bJWKKf44LlAcTfFy0cOlypowCKVYhXbR9n10Cv/gkvJrT7eTNuQgFA/CYqEAOww
-Cj0Yzfv9KlmaI5UXLEWeH25DeW0MXJj+SKfFI0dcXv1u5x609mhF0YaDW6KKjbHjKYD+JXGIrb68
-j6xSlkuqUY3kEzEZ6E5Nn9uss2rVvDlUccp6en+Q3X0dgNmBu1kmwhH+5pPi94DkZfs0Nw4pgHBN
-rziGLp5/V6+eF67rHMsoIV+2HNjnogQi+dPa2MsCAwEAAaOBsDCBrTAOBgNVHQ8BAf8EBAMCAQYw
-DwYDVR0TAQH/BAUwAwEB/zArBgNVHRAEJDAigA8yMDA2MTEyNzIwMjM0MlqBDzIwMjYxMTI3MjA1
-MzQyWjAfBgNVHSMEGDAWgBRokORnpKZTgMeGZqTx90tD+4S9bTAdBgNVHQ4EFgQUaJDkZ6SmU4DH
-hmak8fdLQ/uEvW0wHQYJKoZIhvZ9B0EABBAwDhsIVjcuMTo0LjADAgSQMA0GCSqGSIb3DQEBBQUA
-A4IBAQCT1DCw1wMgKtD5Y+iRDAUgqV8ZyntyTtSx29CW+1RaGSwMCPeyvIWonX9tO1KzKtvn1ISM
-Y/YPyyYBkVBs9F8U4pN0wBOeMDpQ47RgxRzwIkSNcUesyBrJ6ZuaAGAT/3B+XxFNSRuzFVJ7yVTa
-v52Vr2ua2J7p8eRDjeIRRDq/r72DQnNSi6q7pynP9WQcCk3RvKqsnyrQ/39/2n3qse0wJcGE2jTS
-W3iDVuycNsMm4hH2Z0kdkquM++v/eu6FSqdQgPCnXEqULl8FmTxSQeDNtGPPAUO6nIPcj2A781q0
-tHuu2guQOHXvgR1m0vdXcDazv/wor3ElhVsT/h5/WrQ8
------END CERTIFICATE-----
-
-GeoTrust Global CA
-==================
------BEGIN CERTIFICATE-----
-MIIDVDCCAjygAwIBAgIDAjRWMA0GCSqGSIb3DQEBBQUAMEIxCzAJBgNVBAYTAlVTMRYwFAYDVQQK
-Ew1HZW9UcnVzdCBJbmMuMRswGQYDVQQDExJHZW9UcnVzdCBHbG9iYWwgQ0EwHhcNMDIwNTIxMDQw
-MDAwWhcNMjIwNTIxMDQwMDAwWjBCMQswCQYDVQQGEwJVUzEWMBQGA1UEChMNR2VvVHJ1c3QgSW5j
-LjEbMBkGA1UEAxMSR2VvVHJ1c3QgR2xvYmFsIENBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB
-CgKCAQEA2swYYzD99BcjGlZ+W988bDjkcbd4kdS8odhM+KhDtgPpTSEHCIjaWC9mOSm9BXiLnTjo
-BbdqfnGk5sRgprDvgOSJKA+eJdbtg/OtppHHmMlCGDUUna2YRpIuT8rxh0PBFpVXLVDviS2Aelet
-8u5fa9IAjbkU+BQVNdnARqN7csiRv8lVK83Qlz6cJmTM386DGXHKTubU1XupGc1V3sjs0l44U+Vc
-T4wt/lAjNvxm5suOpDkZALeVAjmRCw7+OC7RHQWa9k0+bw8HHa8sHo9gOeL6NlMTOdReJivbPagU
-vTLrGAMoUgRx5aszPeE4uwc2hGKceeoWMPRfwCvocWvk+QIDAQABo1MwUTAPBgNVHRMBAf8EBTAD
-AQH/MB0GA1UdDgQWBBTAephojYn7qwVkDBF9qn1luMrMTjAfBgNVHSMEGDAWgBTAephojYn7qwVk
-DBF9qn1luMrMTjANBgkqhkiG9w0BAQUFAAOCAQEANeMpauUvXVSOKVCUn5kaFOSPeCpilKInZ57Q
-zxpeR+nBsqTP3UEaBU6bS+5Kb1VSsyShNwrrZHYqLizz/Tt1kL/6cdjHPTfStQWVYrmm3ok9Nns4
-d0iXrKYgjy6myQzCsplFAMfOEVEiIuCl6rYVSAlk6l5PdPcFPseKUgzbFbS9bZvlxrFUaKnjaZC2
-mqUPuLk/IH2uSrW4nOQdtqvmlKXBx4Ot2/Unhw4EbNX/3aBd7YdStysVAq45pmp06drE57xNNB6p
-XE0zX5IJL4hmXXeXxx12E6nV5fEWCRE11azbJHFwLJhWC9kXtNHjUStedejV0NxPNO3CBWaAocvm
-Mw==
------END CERTIFICATE-----
-
-GeoTrust Universal CA
-=====================
------BEGIN CERTIFICATE-----
-MIIFaDCCA1CgAwIBAgIBATANBgkqhkiG9w0BAQUFADBFMQswCQYDVQQGEwJVUzEWMBQGA1UEChMN
-R2VvVHJ1c3QgSW5jLjEeMBwGA1UEAxMVR2VvVHJ1c3QgVW5pdmVyc2FsIENBMB4XDTA0MDMwNDA1
-MDAwMFoXDTI5MDMwNDA1MDAwMFowRTELMAkGA1UEBhMCVVMxFjAUBgNVBAoTDUdlb1RydXN0IElu
-Yy4xHjAcBgNVBAMTFUdlb1RydXN0IFVuaXZlcnNhbCBDQTCCAiIwDQYJKoZIhvcNAQEBBQADggIP
-ADCCAgoCggIBAKYVVaCjxuAfjJ0hUNfBvitbtaSeodlyWL0AG0y/YckUHUWCq8YdgNY96xCcOq9t
-JPi8cQGeBvV8Xx7BDlXKg5pZMK4ZyzBIle0iN430SppyZj6tlcDgFgDgEB8rMQ7XlFTTQjOgNB0e
-RXbdT8oYN+yFFXoZCPzVx5zw8qkuEKmS5j1YPakWaDwvdSEYfyh3peFhF7em6fgemdtzbvQKoiFs
-7tqqhZJmr/Z6a4LauiIINQ/PQvE1+mrufislzDoR5G2vc7J2Ha3QsnhnGqQ5HFELZ1aD/ThdDc7d
-8Lsrlh/eezJS/R27tQahsiFepdaVaH/wmZ7cRQg+59IJDTWU3YBOU5fXtQlEIGQWFwMCTFMNaN7V
-qnJNk22CDtucvc+081xdVHppCZbW2xHBjXWotM85yM48vCR85mLK4b19p71XZQvk/iXttmkQ3Cga
-Rr0BHdCXteGYO8A3ZNY9lO4L4fUorgtWv3GLIylBjobFS1J72HGrH4oVpjuDWtdYAVHGTEHZf9hB
-Z3KiKN9gg6meyHv8U3NyWfWTehd2Ds735VzZC1U0oqpbtWpU5xPKV+yXbfReBi9Fi1jUIxaS5BZu
-KGNZMN9QAZxjiRqf2xeUgnA3wySemkfWWspOqGmJch+RbNt+nhutxx9z3SxPGWX9f5NAEC7S8O08
-ni4oPmkmM8V7AgMBAAGjYzBhMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFNq7LqqwDLiIJlF0
-XG0D08DYj3rWMB8GA1UdIwQYMBaAFNq7LqqwDLiIJlF0XG0D08DYj3rWMA4GA1UdDwEB/wQEAwIB
-hjANBgkqhkiG9w0BAQUFAAOCAgEAMXjmx7XfuJRAyXHEqDXsRh3ChfMoWIawC/yOsjmPRFWrZIRc
-aanQmjg8+uUfNeVE44B5lGiku8SfPeE0zTBGi1QrlaXv9z+ZhP015s8xxtxqv6fXIwjhmF7DWgh2
-qaavdy+3YL1ERmrvl/9zlcGO6JP7/TG37FcREUWbMPEaiDnBTzynANXH/KttgCJwpQzgXQQpAvvL
-oJHRfNbDflDVnVi+QTjruXU8FdmbyUqDWcDaU/0zuzYYm4UPFd3uLax2k7nZAY1IEKj79TiG8dsK
-xr2EoyNB3tZ3b4XUhRxQ4K5RirqNPnbiucon8l+f725ZDQbYKxek0nxru18UGkiPGkzns0ccjkxF
-KyDuSN/n3QmOGKjaQI2SJhFTYXNd673nxE0pN2HrrDktZy4W1vUAg4WhzH92xH3kt0tm7wNFYGm2
-DFKWkoRepqO1pD4r2czYG0eq8kTaT/kD6PAUyz/zg97QwVTjt+gKN02LIFkDMBmhLMi9ER/frslK
-xfMnZmaGrGiR/9nmUxwPi1xpZQomyB40w11Re9epnAahNt3ViZS82eQtDF4JbAiXfKM9fJP/P6EU
-p8+1Xevb2xzEdt+Iub1FBZUbrvxGakyvSOPOrg/SfuvmbJxPgWp6ZKy7PtXny3YuxadIwVyQD8vI
-P/rmMuGNG2+k5o7Y+SlIis5z/iw=
------END CERTIFICATE-----
-
-GeoTrust Universal CA 2
-=======================
------BEGIN CERTIFICATE-----
-MIIFbDCCA1SgAwIBAgIBATANBgkqhkiG9w0BAQUFADBHMQswCQYDVQQGEwJVUzEWMBQGA1UEChMN
-R2VvVHJ1c3QgSW5jLjEgMB4GA1UEAxMXR2VvVHJ1c3QgVW5pdmVyc2FsIENBIDIwHhcNMDQwMzA0
-MDUwMDAwWhcNMjkwMzA0MDUwMDAwWjBHMQswCQYDVQQGEwJVUzEWMBQGA1UEChMNR2VvVHJ1c3Qg
-SW5jLjEgMB4GA1UEAxMXR2VvVHJ1c3QgVW5pdmVyc2FsIENBIDIwggIiMA0GCSqGSIb3DQEBAQUA
-A4ICDwAwggIKAoICAQCzVFLByT7y2dyxUxpZKeexw0Uo5dfR7cXFS6GqdHtXr0om/Nj1XqduGdt0
-DE81WzILAePb63p3NeqqWuDW6KFXlPCQo3RWlEQwAx5cTiuFJnSCegx2oG9NzkEtoBUGFF+3Qs17
-j1hhNNwqCPkuwwGmIkQcTAeC5lvO0Ep8BNMZcyfwqph/Lq9O64ceJHdqXbboW0W63MOhBW9Wjo8Q
-JqVJwy7XQYci4E+GymC16qFjwAGXEHm9ADwSbSsVsaxLse4YuU6W3Nx2/zu+z18DwPw76L5GG//a
-QMJS9/7jOvdqdzXQ2o3rXhhqMcceujwbKNZrVMaqW9eiLBsZzKIC9ptZvTdrhrVtgrrY6slWvKk2
-WP0+GfPtDCapkzj4T8FdIgbQl+rhrcZV4IErKIM6+vR7IVEAvlI4zs1meaj0gVbi0IMJR1FbUGrP
-20gaXT73y/Zl92zxlfgCOzJWgjl6W70viRu/obTo/3+NjN8D8WBOWBFM66M/ECuDmgFz2ZRthAAn
-ZqzwcEAJQpKtT5MNYQlRJNiS1QuUYbKHsu3/mjX/hVTK7URDrBs8FmtISgocQIgfksILAAX/8sgC
-SqSqqcyZlpwvWOB94b67B9xfBHJcMTTD7F8t4D1kkCLm0ey4Lt1ZrtmhN79UNdxzMk+MBB4zsslG
-8dhcyFVQyWi9qLo2CQIDAQABo2MwYTAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBR281Xh+qQ2
-+/CfXGJx7Tz0RzgQKzAfBgNVHSMEGDAWgBR281Xh+qQ2+/CfXGJx7Tz0RzgQKzAOBgNVHQ8BAf8E
-BAMCAYYwDQYJKoZIhvcNAQEFBQADggIBAGbBxiPz2eAubl/oz66wsCVNK/g7WJtAJDday6sWSf+z
-dXkzoS9tcBc0kf5nfo/sm+VegqlVHy/c1FEHEv6sFj4sNcZj/NwQ6w2jqtB8zNHQL1EuxBRa3ugZ
-4T7GzKQp5y6EqgYweHZUcyiYWTjgAA1i00J9IZ+uPTqM1fp3DRgrFg5fNuH8KrUwJM/gYwx7WBr+
-mbpCErGR9Hxo4sjoryzqyX6uuyo9DRXcNJW2GHSoag/HtPQTxORb7QrSpJdMKu0vbBKJPfEncKpq
-A1Ihn0CoZ1Dy81of398j9tx4TuaYT1U6U+Pv8vSfx3zYWK8pIpe44L2RLrB27FcRz+8pRPPphXpg
-Y+RdM4kX2TGq2tbzGDVyz4crL2MjhF2EjD9XoIj8mZEoJmmZ1I+XRL6O1UixpCgp8RW04eWe3fiP
-pm8m1wk8OhwRDqZsN/etRIcsKMfYdIKz0G9KV7s1KSegi+ghp4dkNl3M2Basx7InQJJVOCiNUW7d
-FGdTbHFcJoRNdVq2fmBWqU2t+5sel/MN2dKXVHfaPRK34B7vCAas+YWH6aLcr34YEoP9VhdBLtUp
-gn2Z9DH2canPLAEnpQW5qrJITirvn5NSUZU8UnOOVkwXQMAJKOSLakhT2+zNVVXxxvjpoixMptEm
-X36vWkzaH6byHCx+rgIW0lbQL1dTR+iS
------END CERTIFICATE-----
-
-Comodo AAA Services root
-========================
------BEGIN CERTIFICATE-----
-MIIEMjCCAxqgAwIBAgIBATANBgkqhkiG9w0BAQUFADB7MQswCQYDVQQGEwJHQjEbMBkGA1UECAwS
-R3JlYXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHDAdTYWxmb3JkMRowGAYDVQQKDBFDb21vZG8gQ0Eg
-TGltaXRlZDEhMB8GA1UEAwwYQUFBIENlcnRpZmljYXRlIFNlcnZpY2VzMB4XDTA0MDEwMTAwMDAw
-MFoXDTI4MTIzMTIzNTk1OVowezELMAkGA1UEBhMCR0IxGzAZBgNVBAgMEkdyZWF0ZXIgTWFuY2hl
-c3RlcjEQMA4GA1UEBwwHU2FsZm9yZDEaMBgGA1UECgwRQ29tb2RvIENBIExpbWl0ZWQxITAfBgNV
-BAMMGEFBQSBDZXJ0aWZpY2F0ZSBTZXJ2aWNlczCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoC
-ggEBAL5AnfRu4ep2hxxNRUSOvkbIgwadwSr+GB+O5AL686tdUIoWMQuaBtDFcCLNSS1UY8y2bmhG
-C1Pqy0wkwLxyTurxFa70VJoSCsN6sjNg4tqJVfMiWPPe3M/vg4aijJRPn2jymJBGhCfHdr/jzDUs
-i14HZGWCwEiwqJH5YZ92IFCokcdmtet4YgNW8IoaE+oxox6gmf049vYnMlhvB/VruPsUK6+3qszW
-Y19zjNoFmag4qMsXeDZRrOme9Hg6jc8P2ULimAyrL58OAd7vn5lJ8S3frHRNG5i1R8XlKdH5kBjH
-Ypy+g8cmez6KJcfA3Z3mNWgQIJ2P2N7Sw4ScDV7oL8kCAwEAAaOBwDCBvTAdBgNVHQ4EFgQUoBEK
-Iz6W8Qfs4q8p74Klf9AwpLQwDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wewYDVR0f
-BHQwcjA4oDagNIYyaHR0cDovL2NybC5jb21vZG9jYS5jb20vQUFBQ2VydGlmaWNhdGVTZXJ2aWNl
-cy5jcmwwNqA0oDKGMGh0dHA6Ly9jcmwuY29tb2RvLm5ldC9BQUFDZXJ0aWZpY2F0ZVNlcnZpY2Vz
-LmNybDANBgkqhkiG9w0BAQUFAAOCAQEACFb8AvCb6P+k+tZ7xkSAzk/ExfYAWMymtrwUSWgEdujm
-7l3sAg9g1o1QGE8mTgHj5rCl7r+8dFRBv/38ErjHT1r0iWAFf2C3BUrz9vHCv8S5dIa2LX1rzNLz
-Rt0vxuBqw8M0Ayx9lt1awg6nCpnBBYurDC/zXDrPbDdVCYfeU0BsWO/8tqtlbgT2G9w84FoVxp7Z
-8VlIMCFlA2zs6SFz7JsDoeA3raAVGI/6ugLOpyypEBMs1OUIJqsil2D4kF501KKaU73yqWjgom7C
-12yxow+ev+to51byrvLjKzg6CYG1a4XXvi3tPxq3smPi9WIsgtRqAEFQ8TmDn5XpNpaYbg==
------END CERTIFICATE-----
-
-QuoVadis Root CA
-================
------BEGIN CERTIFICATE-----
-MIIF0DCCBLigAwIBAgIEOrZQizANBgkqhkiG9w0BAQUFADB/MQswCQYDVQQGEwJCTTEZMBcGA1UE
-ChMQUXVvVmFkaXMgTGltaXRlZDElMCMGA1UECxMcUm9vdCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0
-eTEuMCwGA1UEAxMlUXVvVmFkaXMgUm9vdCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTAeFw0wMTAz
-MTkxODMzMzNaFw0yMTAzMTcxODMzMzNaMH8xCzAJBgNVBAYTAkJNMRkwFwYDVQQKExBRdW9WYWRp
-cyBMaW1pdGVkMSUwIwYDVQQLExxSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MS4wLAYDVQQD
-EyVRdW9WYWRpcyBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MIIBIjANBgkqhkiG9w0BAQEF
-AAOCAQ8AMIIBCgKCAQEAv2G1lVO6V/z68mcLOhrfEYBklbTRvM16z/Ypli4kVEAkOPcahdxYTMuk
-J0KX0J+DisPkBgNbAKVRHnAEdOLB1Dqr1607BxgFjv2DrOpm2RgbaIr1VxqYuvXtdj182d6UajtL
-F8HVj71lODqV0D1VNk7feVcxKh7YWWVJWCCYfqtffp/p1k3sg3Spx2zY7ilKhSoGFPlU5tPaZQeL
-YzcS19Dsw3sgQUSj7cugF+FxZc4dZjH3dgEZyH0DWLaVSR2mEiboxgx24ONmy+pdpibu5cxfvWen
-AScOospUxbF6lR1xHkopigPcakXBpBlebzbNw6Kwt/5cOOJSvPhEQ+aQuwIDAQABo4ICUjCCAk4w
-PQYIKwYBBQUHAQEEMTAvMC0GCCsGAQUFBzABhiFodHRwczovL29jc3AucXVvdmFkaXNvZmZzaG9y
-ZS5jb20wDwYDVR0TAQH/BAUwAwEB/zCCARoGA1UdIASCAREwggENMIIBCQYJKwYBBAG+WAABMIH7
-MIHUBggrBgEFBQcCAjCBxxqBxFJlbGlhbmNlIG9uIHRoZSBRdW9WYWRpcyBSb290IENlcnRpZmlj
-YXRlIGJ5IGFueSBwYXJ0eSBhc3N1bWVzIGFjY2VwdGFuY2Ugb2YgdGhlIHRoZW4gYXBwbGljYWJs
-ZSBzdGFuZGFyZCB0ZXJtcyBhbmQgY29uZGl0aW9ucyBvZiB1c2UsIGNlcnRpZmljYXRpb24gcHJh
-Y3RpY2VzLCBhbmQgdGhlIFF1b1ZhZGlzIENlcnRpZmljYXRlIFBvbGljeS4wIgYIKwYBBQUHAgEW
-Fmh0dHA6Ly93d3cucXVvdmFkaXMuYm0wHQYDVR0OBBYEFItLbe3TKbkGGew5Oanwl4Rqy+/fMIGu
-BgNVHSMEgaYwgaOAFItLbe3TKbkGGew5Oanwl4Rqy+/foYGEpIGBMH8xCzAJBgNVBAYTAkJNMRkw
-FwYDVQQKExBRdW9WYWRpcyBMaW1pdGVkMSUwIwYDVQQLExxSb290IENlcnRpZmljYXRpb24gQXV0
-aG9yaXR5MS4wLAYDVQQDEyVRdW9WYWRpcyBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5ggQ6
-tlCLMA4GA1UdDwEB/wQEAwIBBjANBgkqhkiG9w0BAQUFAAOCAQEAitQUtf70mpKnGdSkfnIYj9lo
-fFIk3WdvOXrEql494liwTXCYhGHoG+NpGA7O+0dQoE7/8CQfvbLO9Sf87C9TqnN7Az10buYWnuul
-LsS/VidQK2K6vkscPFVcQR0kvoIgR13VRH56FmjffU1RcHhXHTMe/QKZnAzNCgVPx7uOpHX6Sm2x
-gI4JVrmcGmD+XcHXetwReNDWXcG31a0ymQM6isxUJTkxgXsTIlG6Rmyhu576BGxJJnSP0nPrzDCi
-5upZIof4l/UO/erMkqQWxFIY6iHOsfHmhIHluqmGKPJDWl0Snawe2ajlCmqnf6CHKc/yiU3U7MXi
-5nrQNiOKSnQ2+Q==
------END CERTIFICATE-----
-
-QuoVadis Root CA 2
-==================
------BEGIN CERTIFICATE-----
-MIIFtzCCA5+gAwIBAgICBQkwDQYJKoZIhvcNAQEFBQAwRTELMAkGA1UEBhMCQk0xGTAXBgNVBAoT
-EFF1b1ZhZGlzIExpbWl0ZWQxGzAZBgNVBAMTElF1b1ZhZGlzIFJvb3QgQ0EgMjAeFw0wNjExMjQx
-ODI3MDBaFw0zMTExMjQxODIzMzNaMEUxCzAJBgNVBAYTAkJNMRkwFwYDVQQKExBRdW9WYWRpcyBM
-aW1pdGVkMRswGQYDVQQDExJRdW9WYWRpcyBSb290IENBIDIwggIiMA0GCSqGSIb3DQEBAQUAA4IC
-DwAwggIKAoICAQCaGMpLlA0ALa8DKYrwD4HIrkwZhR0In6spRIXzL4GtMh6QRr+jhiYaHv5+HBg6
-XJxgFyo6dIMzMH1hVBHL7avg5tKifvVrbxi3Cgst/ek+7wrGsxDp3MJGF/hd/aTa/55JWpzmM+Yk
-lvc/ulsrHHo1wtZn/qtmUIttKGAr79dgw8eTvI02kfN/+NsRE8Scd3bBrrcCaoF6qUWD4gXmuVbB
-lDePSHFjIuwXZQeVikvfj8ZaCuWw419eaxGrDPmF60Tp+ARz8un+XJiM9XOva7R+zdRcAitMOeGy
-lZUtQofX1bOQQ7dsE/He3fbE+Ik/0XX1ksOR1YqI0JDs3G3eicJlcZaLDQP9nL9bFqyS2+r+eXyt
-66/3FsvbzSUr5R/7mp/iUcw6UwxI5g69ybR2BlLmEROFcmMDBOAENisgGQLodKcftslWZvB1Jdxn
-wQ5hYIizPtGo/KPaHbDRsSNU30R2be1B2MGyIrZTHN81Hdyhdyox5C315eXbyOD/5YDXC2Og/zOh
-D7osFRXql7PSorW+8oyWHhqPHWykYTe5hnMz15eWniN9gqRMgeKh0bpnX5UHoycR7hYQe7xFSkyy
-BNKr79X9DFHOUGoIMfmR2gyPZFwDwzqLID9ujWc9Otb+fVuIyV77zGHcizN300QyNQliBJIWENie
-J0f7OyHj+OsdWwIDAQABo4GwMIGtMA8GA1UdEwEB/wQFMAMBAf8wCwYDVR0PBAQDAgEGMB0GA1Ud
-DgQWBBQahGK8SEwzJQTU7tD2A8QZRtGUazBuBgNVHSMEZzBlgBQahGK8SEwzJQTU7tD2A8QZRtGU
-a6FJpEcwRTELMAkGA1UEBhMCQk0xGTAXBgNVBAoTEFF1b1ZhZGlzIExpbWl0ZWQxGzAZBgNVBAMT
-ElF1b1ZhZGlzIFJvb3QgQ0EgMoICBQkwDQYJKoZIhvcNAQEFBQADggIBAD4KFk2fBluornFdLwUv
-Z+YTRYPENvbzwCYMDbVHZF34tHLJRqUDGCdViXh9duqWNIAXINzng/iN/Ae42l9NLmeyhP3ZRPx3
-UIHmfLTJDQtyU/h2BwdBR5YM++CCJpNVjP4iH2BlfF/nJrP3MpCYUNQ3cVX2kiF495V5+vgtJodm
-VjB3pjd4M1IQWK4/YY7yarHvGH5KWWPKjaJW1acvvFYfzznB4vsKqBUsfU16Y8Zsl0Q80m/DShcK
-+JDSV6IZUaUtl0HaB0+pUNqQjZRG4T7wlP0QADj1O+hA4bRuVhogzG9Yje0uRY/W6ZM/57Es3zrW
-IozchLsib9D45MY56QSIPMO661V6bYCZJPVsAfv4l7CUW+v90m/xd2gNNWQjrLhVoQPRTUIZ3Ph1
-WVaj+ahJefivDrkRoHy3au000LYmYjgahwz46P0u05B/B5EqHdZ+XIWDmbA4CD/pXvk1B+TJYm5X
-f6dQlfe6yJvmjqIBxdZmv3lh8zwc4bmCXF2gw+nYSL0ZohEUGW6yhhtoPkg3Goi3XZZenMfvJ2II
-4pEZXNLxId26F0KCl3GBUzGpn/Z9Yr9y4aOTHcyKJloJONDO1w2AFrR4pTqHTI2KpdVGl/IsELm8
-VCLAAVBpQ570su9t+Oza8eOx79+Rj1QqCyXBJhnEUhAFZdWCEOrCMc0u
------END CERTIFICATE-----
-
-QuoVadis Root CA 3
-==================
------BEGIN CERTIFICATE-----
-MIIGnTCCBIWgAwIBAgICBcYwDQYJKoZIhvcNAQEFBQAwRTELMAkGA1UEBhMCQk0xGTAXBgNVBAoT
-EFF1b1ZhZGlzIExpbWl0ZWQxGzAZBgNVBAMTElF1b1ZhZGlzIFJvb3QgQ0EgMzAeFw0wNjExMjQx
-OTExMjNaFw0zMTExMjQxOTA2NDRaMEUxCzAJBgNVBAYTAkJNMRkwFwYDVQQKExBRdW9WYWRpcyBM
-aW1pdGVkMRswGQYDVQQDExJRdW9WYWRpcyBSb290IENBIDMwggIiMA0GCSqGSIb3DQEBAQUAA4IC
-DwAwggIKAoICAQDMV0IWVJzmmNPTTe7+7cefQzlKZbPoFog02w1ZkXTPkrgEQK0CSzGrvI2RaNgg
-DhoB4hp7Thdd4oq3P5kazethq8Jlph+3t723j/z9cI8LoGe+AaJZz3HmDyl2/7FWeUUrH556VOij
-KTVopAFPD6QuN+8bv+OPEKhyq1hX51SGyMnzW9os2l2ObjyjPtr7guXd8lyyBTNvijbO0BNO/79K
-DDRMpsMhvVAEVeuxu537RR5kFd5VAYwCdrXLoT9CabwvvWhDFlaJKjdhkf2mrk7AyxRllDdLkgbv
-BNDInIjbC3uBr7E9KsRlOni27tyAsdLTmZw67mtaa7ONt9XOnMK+pUsvFrGeaDsGb659n/je7Mwp
-p5ijJUMv7/FfJuGITfhebtfZFG4ZM2mnO4SJk8RTVROhUXhA+LjJou57ulJCg54U7QVSWllWp5f8
-nT8KKdjcT5EOE7zelaTfi5m+rJsziO+1ga8bxiJTyPbH7pcUsMV8eFLI8M5ud2CEpukqdiDtWAEX
-MJPpGovgc2PZapKUSU60rUqFxKMiMPwJ7Wgic6aIDFUhWMXhOp8q3crhkODZc6tsgLjoC2SToJyM
-Gf+z0gzskSaHirOi4XCPLArlzW1oUevaPwV/izLmE1xr/l9A4iLItLRkT9a6fUg+qGkM17uGcclz
-uD87nSVL2v9A6wIDAQABo4IBlTCCAZEwDwYDVR0TAQH/BAUwAwEB/zCB4QYDVR0gBIHZMIHWMIHT
-BgkrBgEEAb5YAAMwgcUwgZMGCCsGAQUFBwICMIGGGoGDQW55IHVzZSBvZiB0aGlzIENlcnRpZmlj
-YXRlIGNvbnN0aXR1dGVzIGFjY2VwdGFuY2Ugb2YgdGhlIFF1b1ZhZGlzIFJvb3QgQ0EgMyBDZXJ0
-aWZpY2F0ZSBQb2xpY3kgLyBDZXJ0aWZpY2F0aW9uIFByYWN0aWNlIFN0YXRlbWVudC4wLQYIKwYB
-BQUHAgEWIWh0dHA6Ly93d3cucXVvdmFkaXNnbG9iYWwuY29tL2NwczALBgNVHQ8EBAMCAQYwHQYD
-VR0OBBYEFPLAE+CCQz777i9nMpY1XNu4ywLQMG4GA1UdIwRnMGWAFPLAE+CCQz777i9nMpY1XNu4
-ywLQoUmkRzBFMQswCQYDVQQGEwJCTTEZMBcGA1UEChMQUXVvVmFkaXMgTGltaXRlZDEbMBkGA1UE
-AxMSUXVvVmFkaXMgUm9vdCBDQSAzggIFxjANBgkqhkiG9w0BAQUFAAOCAgEAT62gLEz6wPJv92ZV
-qyM07ucp2sNbtrCD2dDQ4iH782CnO11gUyeim/YIIirnv6By5ZwkajGxkHon24QRiSemd1o417+s
-hvzuXYO8BsbRd2sPbSQvS3pspweWyuOEn62Iix2rFo1bZhfZFvSLgNLd+LJ2w/w4E6oM3kJpK27z
-POuAJ9v1pkQNn1pVWQvVDVJIxa6f8i+AxeoyUDUSly7B4f/xI4hROJ/yZlZ25w9Rl6VSDE1JUZU2
-Pb+iSwwQHYaZTKrzchGT5Or2m9qoXadNt54CrnMAyNojA+j56hl0YgCUyyIgvpSnWbWCar6ZeXqp
-8kokUvd0/bpO5qgdAm6xDYBEwa7TIzdfu4V8K5Iu6H6li92Z4b8nby1dqnuH/grdS/yO9SbkbnBC
-bjPsMZ57k8HkyWkaPcBrTiJt7qtYTcbQQcEr6k8Sh17rRdhs9ZgC06DYVYoGmRmioHfRMJ6szHXu
-g/WwYjnPbFfiTNKRCw51KBuav/0aQ/HKd/s7j2G4aSgWQgRecCocIdiP4b0jWy10QJLZYxkNc91p
-vGJHvOB0K7Lrfb5BG7XARsWhIstfTsEokt4YutUqKLsRixeTmJlglFwjz1onl14LBQaTNx47aTbr
-qZ5hHY8y2o4M1nQ+ewkk2gF3R8Q7zTSMmfXK4SVhM7JZG+Ju1zdXtg2pEto=
------END CERTIFICATE-----
-
-Security Communication Root CA
-==============================
------BEGIN CERTIFICATE-----
-MIIDWjCCAkKgAwIBAgIBADANBgkqhkiG9w0BAQUFADBQMQswCQYDVQQGEwJKUDEYMBYGA1UEChMP
-U0VDT00gVHJ1c3QubmV0MScwJQYDVQQLEx5TZWN1cml0eSBDb21tdW5pY2F0aW9uIFJvb3RDQTEw
-HhcNMDMwOTMwMDQyMDQ5WhcNMjMwOTMwMDQyMDQ5WjBQMQswCQYDVQQGEwJKUDEYMBYGA1UEChMP
-U0VDT00gVHJ1c3QubmV0MScwJQYDVQQLEx5TZWN1cml0eSBDb21tdW5pY2F0aW9uIFJvb3RDQTEw
-ggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCzs/5/022x7xZ8V6UMbXaKL0u/ZPtM7orw
-8yl89f/uKuDp6bpbZCKamm8sOiZpUQWZJtzVHGpxxpp9Hp3dfGzGjGdnSj74cbAZJ6kJDKaVv0uM
-DPpVmDvY6CKhS3E4eayXkmmziX7qIWgGmBSWh9JhNrxtJ1aeV+7AwFb9Ms+k2Y7CI9eNqPPYJayX
-5HA49LY6tJ07lyZDo6G8SVlyTCMwhwFY9k6+HGhWZq/NQV3Is00qVUarH9oe4kA92819uZKAnDfd
-DJZkndwi92SL32HeFZRSFaB9UslLqCHJxrHty8OVYNEP8Ktw+N/LTX7s1vqr2b1/VPKl6Xn62dZ2
-JChzAgMBAAGjPzA9MB0GA1UdDgQWBBSgc0mZaNyFW2XjmygvV5+9M7wHSDALBgNVHQ8EBAMCAQYw
-DwYDVR0TAQH/BAUwAwEB/zANBgkqhkiG9w0BAQUFAAOCAQEAaECpqLvkT115swW1F7NgE+vGkl3g
-0dNq/vu+m22/xwVtWSDEHPC32oRYAmP6SBbvT6UL90qY8j+eG61Ha2POCEfrUj94nK9NrvjVT8+a
-mCoQQTlSxN3Zmw7vkwGusi7KaEIkQmywszo+zenaSMQVy+n5Bw+SUEmK3TGXX8npN6o7WWWXlDLJ
-s58+OmJYxUmtYg5xpTKqL8aJdkNAExNnPaJUJRDL8Try2frbSVa7pv6nQTXD4IhhyYjH3zYQIphZ
-6rBK+1YWc26sTfcioU+tHXotRSflMMFe8toTyyVCUZVHA4xsIcx0Qu1T/zOLjw9XARYvz6buyXAi
-FL39vmwLAw==
------END CERTIFICATE-----
-
-Sonera Class 2 Root CA
-======================
------BEGIN CERTIFICATE-----
-MIIDIDCCAgigAwIBAgIBHTANBgkqhkiG9w0BAQUFADA5MQswCQYDVQQGEwJGSTEPMA0GA1UEChMG
-U29uZXJhMRkwFwYDVQQDExBTb25lcmEgQ2xhc3MyIENBMB4XDTAxMDQwNjA3Mjk0MFoXDTIxMDQw
-NjA3Mjk0MFowOTELMAkGA1UEBhMCRkkxDzANBgNVBAoTBlNvbmVyYTEZMBcGA1UEAxMQU29uZXJh
-IENsYXNzMiBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAJAXSjWdyvANlsdE+hY3
-/Ei9vX+ALTU74W+oZ6m/AxxNjG8yR9VBaKQTBME1DJqEQ/xcHf+Js+gXGM2RX/uJ4+q/Tl18GybT
-dXnt5oTjV+WtKcT0OijnpXuENmmz/V52vaMtmdOQTiMofRhj8VQ7Jp12W5dCsv+u8E7s3TmVToMG
-f+dJQMjFAbJUWmYdPfz56TwKnoG4cPABi+QjVHzIrviQHgCWctRUz2EjvOr7nQKV0ba5cTppCD8P
-tOFCx4j1P5iop7oc4HFx71hXgVB6XGt0Rg6DA5jDjqhu8nYybieDwnPz3BjotJPqdURrBGAgcVeH
-nfO+oJAjPYok4doh28MCAwEAAaMzMDEwDwYDVR0TAQH/BAUwAwEB/zARBgNVHQ4ECgQISqCqWITT
-XjwwCwYDVR0PBAQDAgEGMA0GCSqGSIb3DQEBBQUAA4IBAQBazof5FnIVV0sd2ZvnoiYw7JNn39Yt
-0jSv9zilzqsWuasvfDXLrNAPtEwr/IDva4yRXzZ299uzGxnq9LIR/WFxRL8oszodv7ND6J+/3DEI
-cbCdjdY0RzKQxmUk96BKfARzjzlvF4xytb1LyHr4e4PDKE6cCepnP7JnBBvDFNr450kkkdAdavph
-Oe9r5yF1BgfYErQhIHBCcYHaPJo2vqZbDWpsmh+Re/n570K6Tk6ezAyNlNzZRZxe7EJQY670XcSx
-EtzKO6gunRRaBXW37Ndj4ro1tgQIkejanZz2ZrUYrAqmVCY0M9IbwdR/GjqOC6oybtv8TyWf2TLH
-llpwrN9M
------END CERTIFICATE-----
-
-XRamp Global CA Root
-====================
------BEGIN CERTIFICATE-----
-MIIEMDCCAxigAwIBAgIQUJRs7Bjq1ZxN1ZfvdY+grTANBgkqhkiG9w0BAQUFADCBgjELMAkGA1UE
-BhMCVVMxHjAcBgNVBAsTFXd3dy54cmFtcHNlY3VyaXR5LmNvbTEkMCIGA1UEChMbWFJhbXAgU2Vj
-dXJpdHkgU2VydmljZXMgSW5jMS0wKwYDVQQDEyRYUmFtcCBHbG9iYWwgQ2VydGlmaWNhdGlvbiBB
-dXRob3JpdHkwHhcNMDQxMTAxMTcxNDA0WhcNMzUwMTAxMDUzNzE5WjCBgjELMAkGA1UEBhMCVVMx
-HjAcBgNVBAsTFXd3dy54cmFtcHNlY3VyaXR5LmNvbTEkMCIGA1UEChMbWFJhbXAgU2VjdXJpdHkg
-U2VydmljZXMgSW5jMS0wKwYDVQQDEyRYUmFtcCBHbG9iYWwgQ2VydGlmaWNhdGlvbiBBdXRob3Jp
-dHkwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCYJB69FbS638eMpSe2OAtp87ZOqCwu
-IR1cRN8hXX4jdP5efrRKt6atH67gBhbim1vZZ3RrXYCPKZ2GG9mcDZhtdhAoWORlsH9KmHmf4MMx
-foArtYzAQDsRhtDLooY2YKTVMIJt2W7QDxIEM5dfT2Fa8OT5kavnHTu86M/0ay00fOJIYRyO82FE
-zG+gSqmUsE3a56k0enI4qEHMPJQRfevIpoy3hsvKMzvZPTeL+3o+hiznc9cKV6xkmxnr9A8ECIqs
-AxcZZPRaJSKNNCyy9mgdEm3Tih4U2sSPpuIjhdV6Db1q4Ons7Be7QhtnqiXtRYMh/MHJfNViPvry
-xS3T/dRlAgMBAAGjgZ8wgZwwEwYJKwYBBAGCNxQCBAYeBABDAEEwCwYDVR0PBAQDAgGGMA8GA1Ud
-EwEB/wQFMAMBAf8wHQYDVR0OBBYEFMZPoj0GY4QJnM5i5ASsjVy16bYbMDYGA1UdHwQvMC0wK6Ap
-oCeGJWh0dHA6Ly9jcmwueHJhbXBzZWN1cml0eS5jb20vWEdDQS5jcmwwEAYJKwYBBAGCNxUBBAMC
-AQEwDQYJKoZIhvcNAQEFBQADggEBAJEVOQMBG2f7Shz5CmBbodpNl2L5JFMn14JkTpAuw0kbK5rc
-/Kh4ZzXxHfARvbdI4xD2Dd8/0sm2qlWkSLoC295ZLhVbO50WfUfXN+pfTXYSNrsf16GBBEYgoyxt
-qZ4Bfj8pzgCT3/3JknOJiWSe5yvkHJEs0rnOfc5vMZnT5r7SHpDwCRR5XCOrTdLaIR9NmXmd4c8n
-nxCbHIgNsIpkQTG4DmyQJKSbXHGPurt+HBvbaoAPIbzp26a3QPSyi6mx5O+aGtA9aZnuqCij4Tyz
-8LIRnM98QObd50N9otg6tamN8jSZxNQQ4Qb9CYQQO+7ETPTsJ3xCwnR8gooJybQDJbw=
------END CERTIFICATE-----
-
-Go Daddy Class 2 CA
-===================
------BEGIN CERTIFICATE-----
-MIIEADCCAuigAwIBAgIBADANBgkqhkiG9w0BAQUFADBjMQswCQYDVQQGEwJVUzEhMB8GA1UEChMY
-VGhlIEdvIERhZGR5IEdyb3VwLCBJbmMuMTEwLwYDVQQLEyhHbyBEYWRkeSBDbGFzcyAyIENlcnRp
-ZmljYXRpb24gQXV0aG9yaXR5MB4XDTA0MDYyOTE3MDYyMFoXDTM0MDYyOTE3MDYyMFowYzELMAkG
-A1UEBhMCVVMxITAfBgNVBAoTGFRoZSBHbyBEYWRkeSBHcm91cCwgSW5jLjExMC8GA1UECxMoR28g
-RGFkZHkgQ2xhc3MgMiBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTCCASAwDQYJKoZIhvcNAQEBBQAD
-ggENADCCAQgCggEBAN6d1+pXGEmhW+vXX0iG6r7d/+TvZxz0ZWizV3GgXne77ZtJ6XCAPVYYYwhv
-2vLM0D9/AlQiVBDYsoHUwHU9S3/Hd8M+eKsaA7Ugay9qK7HFiH7Eux6wwdhFJ2+qN1j3hybX2C32
-qRe3H3I2TqYXP2WYktsqbl2i/ojgC95/5Y0V4evLOtXiEqITLdiOr18SPaAIBQi2XKVlOARFmR6j
-YGB0xUGlcmIbYsUfb18aQr4CUWWoriMYavx4A6lNf4DD+qta/KFApMoZFv6yyO9ecw3ud72a9nmY
-vLEHZ6IVDd2gWMZEewo+YihfukEHU1jPEX44dMX4/7VpkI+EdOqXG68CAQOjgcAwgb0wHQYDVR0O
-BBYEFNLEsNKR1EwRcbNhyz2h/t2oatTjMIGNBgNVHSMEgYUwgYKAFNLEsNKR1EwRcbNhyz2h/t2o
-atTjoWekZTBjMQswCQYDVQQGEwJVUzEhMB8GA1UEChMYVGhlIEdvIERhZGR5IEdyb3VwLCBJbmMu
-MTEwLwYDVQQLEyhHbyBEYWRkeSBDbGFzcyAyIENlcnRpZmljYXRpb24gQXV0aG9yaXR5ggEAMAwG
-A1UdEwQFMAMBAf8wDQYJKoZIhvcNAQEFBQADggEBADJL87LKPpH8EsahB4yOd6AzBhRckB4Y9wim
-PQoZ+YeAEW5p5JYXMP80kWNyOO7MHAGjHZQopDH2esRU1/blMVgDoszOYtuURXO1v0XJJLXVggKt
-I3lpjbi2Tc7PTMozI+gciKqdi0FuFskg5YmezTvacPd+mSYgFFQlq25zheabIZ0KbIIOqPjCDPoQ
-HmyW74cNxA9hi63ugyuV+I6ShHI56yDqg+2DzZduCLzrTia2cyvk0/ZM/iZx4mERdEr/VxqHD3VI
-Ls9RaRegAhJhldXRQLIQTO7ErBBDpqWeCtWVYpoNz4iCxTIM5CufReYNnyicsbkqWletNw+vHX/b
-vZ8=
------END CERTIFICATE-----
-
-Starfield Class 2 CA
-====================
------BEGIN CERTIFICATE-----
-MIIEDzCCAvegAwIBAgIBADANBgkqhkiG9w0BAQUFADBoMQswCQYDVQQGEwJVUzElMCMGA1UEChMc
-U3RhcmZpZWxkIFRlY2hub2xvZ2llcywgSW5jLjEyMDAGA1UECxMpU3RhcmZpZWxkIENsYXNzIDIg
-Q2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNMDQwNjI5MTczOTE2WhcNMzQwNjI5MTczOTE2WjBo
-MQswCQYDVQQGEwJVUzElMCMGA1UEChMcU3RhcmZpZWxkIFRlY2hub2xvZ2llcywgSW5jLjEyMDAG
-A1UECxMpU3RhcmZpZWxkIENsYXNzIDIgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwggEgMA0GCSqG
-SIb3DQEBAQUAA4IBDQAwggEIAoIBAQC3Msj+6XGmBIWtDBFk385N78gDGIc/oav7PKaf8MOh2tTY
-bitTkPskpD6E8J7oX+zlJ0T1KKY/e97gKvDIr1MvnsoFAZMej2YcOadN+lq2cwQlZut3f+dZxkqZ
-JRRU6ybH838Z1TBwj6+wRir/resp7defqgSHo9T5iaU0X9tDkYI22WY8sbi5gv2cOj4QyDvvBmVm
-epsZGD3/cVE8MC5fvj13c7JdBmzDI1aaK4UmkhynArPkPw2vCHmCuDY96pzTNbO8acr1zJ3o/WSN
-F4Azbl5KXZnJHoe0nRrA1W4TNSNe35tfPe/W93bC6j67eA0cQmdrBNj41tpvi/JEoAGrAgEDo4HF
-MIHCMB0GA1UdDgQWBBS/X7fRzt0fhvRbVazc1xDCDqmI5zCBkgYDVR0jBIGKMIGHgBS/X7fRzt0f
-hvRbVazc1xDCDqmI56FspGowaDELMAkGA1UEBhMCVVMxJTAjBgNVBAoTHFN0YXJmaWVsZCBUZWNo
-bm9sb2dpZXMsIEluYy4xMjAwBgNVBAsTKVN0YXJmaWVsZCBDbGFzcyAyIENlcnRpZmljYXRpb24g
-QXV0aG9yaXR5ggEAMAwGA1UdEwQFMAMBAf8wDQYJKoZIhvcNAQEFBQADggEBAAWdP4id0ckaVaGs
-afPzWdqbAYcaT1epoXkJKtv3L7IezMdeatiDh6GX70k1PncGQVhiv45YuApnP+yz3SFmH8lU+nLM
-PUxA2IGvd56Deruix/U0F47ZEUD0/CwqTRV/p2JdLiXTAAsgGh1o+Re49L2L7ShZ3U0WixeDyLJl
-xy16paq8U4Zt3VekyvggQQto8PT7dL5WXXp59fkdheMtlb71cZBDzI0fmgAKhynpVSJYACPq4xJD
-KVtHCN2MQWplBqjlIapBtJUhlbl90TSrE9atvNziPTnNvT51cKEYWQPJIrSPnNVeKtelttQKbfi3
-QBFGmh95DmK/D5fs4C8fF5Q=
------END CERTIFICATE-----
-
-Taiwan GRCA
-===========
------BEGIN CERTIFICATE-----
-MIIFcjCCA1qgAwIBAgIQH51ZWtcvwgZEpYAIaeNe9jANBgkqhkiG9w0BAQUFADA/MQswCQYDVQQG
-EwJUVzEwMC4GA1UECgwnR292ZXJubWVudCBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MB4X
-DTAyMTIwNTEzMjMzM1oXDTMyMTIwNTEzMjMzM1owPzELMAkGA1UEBhMCVFcxMDAuBgNVBAoMJ0dv
-dmVybm1lbnQgUm9vdCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTCCAiIwDQYJKoZIhvcNAQEBBQAD
-ggIPADCCAgoCggIBAJoluOzMonWoe/fOW1mKydGGEghU7Jzy50b2iPN86aXfTEc2pBsBHH8eV4qN
-w8XRIePaJD9IK/ufLqGU5ywck9G/GwGHU5nOp/UKIXZ3/6m3xnOUT0b3EEk3+qhZSV1qgQdW8or5
-BtD3cCJNtLdBuTK4sfCxw5w/cP1T3YGq2GN49thTbqGsaoQkclSGxtKyyhwOeYHWtXBiCAEuTk8O
-1RGvqa/lmr/czIdtJuTJV6L7lvnM4T9TjGxMfptTCAtsF/tnyMKtsc2AtJfcdgEWFelq16TheEfO
-htX7MfP6Mb40qij7cEwdScevLJ1tZqa2jWR+tSBqnTuBto9AAGdLiYa4zGX+FVPpBMHWXx1E1wov
-J5pGfaENda1UhhXcSTvxls4Pm6Dso3pdvtUqdULle96ltqqvKKyskKw4t9VoNSZ63Pc78/1Fm9G7
-Q3hub/FCVGqY8A2tl+lSXunVanLeavcbYBT0peS2cWeqH+riTcFCQP5nRhc4L0c/cZyu5SHKYS1t
-B6iEfC3uUSXxY5Ce/eFXiGvviiNtsea9P63RPZYLhY3Naye7twWb7LuRqQoHEgKXTiCQ8P8NHuJB
-O9NAOueNXdpm5AKwB1KYXA6OM5zCppX7VRluTI6uSw+9wThNXo+EHWbNxWCWtFJaBYmOlXqYwZE8
-lSOyDvR5tMl8wUohAgMBAAGjajBoMB0GA1UdDgQWBBTMzO/MKWCkO7GStjz6MmKPrCUVOzAMBgNV
-HRMEBTADAQH/MDkGBGcqBwAEMTAvMC0CAQAwCQYFKw4DAhoFADAHBgVnKgMAAAQUA5vwIhP/lSg2
-09yewDL7MTqKUWUwDQYJKoZIhvcNAQEFBQADggIBAECASvomyc5eMN1PhnR2WPWus4MzeKR6dBcZ
-TulStbngCnRiqmjKeKBMmo4sIy7VahIkv9Ro04rQ2JyftB8M3jh+Vzj8jeJPXgyfqzvS/3WXy6Tj
-Zwj/5cAWtUgBfen5Cv8b5Wppv3ghqMKnI6mGq3ZW6A4M9hPdKmaKZEk9GhiHkASfQlK3T8v+R0F2
-Ne//AHY2RTKbxkaFXeIksB7jSJaYV0eUVXoPQbFEJPPB/hprv4j9wabak2BegUqZIJxIZhm1AHlU
-D7gsL0u8qV1bYH+Mh6XgUmMqvtg7hUAV/h62ZT/FS9p+tXo1KaMuephgIqP0fSdOLeq0dDzpD6Qz
-DxARvBMB1uUO07+1EqLhRSPAzAhuYbeJq4PjJB7mXQfnHyA+z2fI56wwbSdLaG5LKlwCCDTb+Hbk
-Z6MmnD+iMsJKxYEYMRBWqoTvLQr/uB930r+lWKBi5NdLkXWNiYCYfm3LU05er/ayl4WXudpVBrkk
-7tfGOB5jGxI7leFYrPLfhNVfmS8NVVvmONsuP3LpSIXLuykTjx44VbnzssQwmSNOXfJIoRIM3BKQ
-CZBUkQM8R+XVyWXgt0t97EfTsws+rZ7QdAAO671RrcDeLMDDav7v3Aun+kbfYNucpllQdSNpc5Oy
-+fwC00fmcc4QAu4njIT/rEUNE1yDMuAlpYYsfPQS
------END CERTIFICATE-----
-
-DigiCert Assured ID Root CA
-===========================
------BEGIN CERTIFICATE-----
-MIIDtzCCAp+gAwIBAgIQDOfg5RfYRv6P5WD8G/AwOTANBgkqhkiG9w0BAQUFADBlMQswCQYDVQQG
-EwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNlcnQuY29tMSQw
-IgYDVQQDExtEaWdpQ2VydCBBc3N1cmVkIElEIFJvb3QgQ0EwHhcNMDYxMTEwMDAwMDAwWhcNMzEx
-MTEwMDAwMDAwWjBlMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQL
-ExB3d3cuZGlnaWNlcnQuY29tMSQwIgYDVQQDExtEaWdpQ2VydCBBc3N1cmVkIElEIFJvb3QgQ0Ew
-ggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCtDhXO5EOAXLGH87dg+XESpa7cJpSIqvTO
-9SA5KFhgDPiA2qkVlTJhPLWxKISKityfCgyDF3qPkKyK53lTXDGEKvYPmDI2dsze3Tyoou9q+yHy
-UmHfnyDXH+Kx2f4YZNISW1/5WBg1vEfNoTb5a3/UsDg+wRvDjDPZ2C8Y/igPs6eD1sNuRMBhNZYW
-/lmci3Zt1/GiSw0r/wty2p5g0I6QNcZ4VYcgoc/lbQrISXwxmDNsIumH0DJaoroTghHtORedmTpy
-oeb6pNnVFzF1roV9Iq4/AUaG9ih5yLHa5FcXxH4cDrC0kqZWs72yl+2qp/C3xag/lRbQ/6GW6whf
-GHdPAgMBAAGjYzBhMA4GA1UdDwEB/wQEAwIBhjAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBRF
-66Kv9JLLgjEtUYunpyGd823IDzAfBgNVHSMEGDAWgBRF66Kv9JLLgjEtUYunpyGd823IDzANBgkq
-hkiG9w0BAQUFAAOCAQEAog683+Lt8ONyc3pklL/3cmbYMuRCdWKuh+vy1dneVrOfzM4UKLkNl2Bc
-EkxY5NM9g0lFWJc1aRqoR+pWxnmrEthngYTffwk8lOa4JiwgvT2zKIn3X/8i4peEH+ll74fg38Fn
-SbNd67IJKusm7Xi+fT8r87cmNW1fiQG2SVufAQWbqz0lwcy2f8Lxb4bG+mRo64EtlOtCt/qMHt1i
-8b5QZ7dsvfPxH2sMNgcWfzd8qVttevESRmCD1ycEvkvOl77DZypoEd+A5wwzZr8TDRRu838fYxAe
-+o0bJW1sj6W3YQGx0qMmoRBxna3iw/nDmVG3KwcIzi7mULKn+gpFL6Lw8g==
------END CERTIFICATE-----
-
-DigiCert Global Root CA
-=======================
------BEGIN CERTIFICATE-----
-MIIDrzCCApegAwIBAgIQCDvgVpBCRrGhdWrJWZHHSjANBgkqhkiG9w0BAQUFADBhMQswCQYDVQQG
-EwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNlcnQuY29tMSAw
-HgYDVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBDQTAeFw0wNjExMTAwMDAwMDBaFw0zMTExMTAw
-MDAwMDBaMGExCzAJBgNVBAYTAlVTMRUwEwYDVQQKEwxEaWdpQ2VydCBJbmMxGTAXBgNVBAsTEHd3
-dy5kaWdpY2VydC5jb20xIDAeBgNVBAMTF0RpZ2lDZXJ0IEdsb2JhbCBSb290IENBMIIBIjANBgkq
-hkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA4jvhEXLeqKTTo1eqUKKPC3eQyaKl7hLOllsBCSDMAZOn
-TjC3U/dDxGkAV53ijSLdhwZAAIEJzs4bg7/fzTtxRuLWZscFs3YnFo97nh6Vfe63SKMI2tavegw5
-BmV/Sl0fvBf4q77uKNd0f3p4mVmFaG5cIzJLv07A6Fpt43C/dxC//AH2hdmoRBBYMql1GNXRor5H
-4idq9Joz+EkIYIvUX7Q6hL+hqkpMfT7PT19sdl6gSzeRntwi5m3OFBqOasv+zbMUZBfHWymeMr/y
-7vrTC0LUq7dBMtoM1O/4gdW7jVg/tRvoSSiicNoxBN33shbyTApOB6jtSj1etX+jkMOvJwIDAQAB
-o2MwYTAOBgNVHQ8BAf8EBAMCAYYwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUA95QNVbRTLtm
-8KPiGxvDl7I90VUwHwYDVR0jBBgwFoAUA95QNVbRTLtm8KPiGxvDl7I90VUwDQYJKoZIhvcNAQEF
-BQADggEBAMucN6pIExIK+t1EnE9SsPTfrgT1eXkIoyQY/EsrhMAtudXH/vTBH1jLuG2cenTnmCmr
-EbXjcKChzUyImZOMkXDiqw8cvpOp/2PV5Adg06O/nVsJ8dWO41P0jmP6P6fbtGbfYmbW0W5BjfIt
-tep3Sp+dWOIrWcBAI+0tKIJFPnlUkiaY4IBIqDfv8NZ5YBberOgOzW6sRBc4L0na4UU+Krk2U886
-UAb3LujEV0lsYSEY1QSteDwsOoBrp+uvFRTp2InBuThs4pFsiv9kuXclVzDAGySj4dzp30d8tbQk
-CAUw7C29C79Fv1C5qfPrmAESrciIxpg0X40KPMbp1ZWVbd4=
------END CERTIFICATE-----
-
-DigiCert High Assurance EV Root CA
-==================================
------BEGIN CERTIFICATE-----
-MIIDxTCCAq2gAwIBAgIQAqxcJmoLQJuPC3nyrkYldzANBgkqhkiG9w0BAQUFADBsMQswCQYDVQQG
-EwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNlcnQuY29tMSsw
-KQYDVQQDEyJEaWdpQ2VydCBIaWdoIEFzc3VyYW5jZSBFViBSb290IENBMB4XDTA2MTExMDAwMDAw
-MFoXDTMxMTExMDAwMDAwMFowbDELMAkGA1UEBhMCVVMxFTATBgNVBAoTDERpZ2lDZXJ0IEluYzEZ
-MBcGA1UECxMQd3d3LmRpZ2ljZXJ0LmNvbTErMCkGA1UEAxMiRGlnaUNlcnQgSGlnaCBBc3N1cmFu
-Y2UgRVYgUm9vdCBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMbM5XPm+9S75S0t
-Mqbf5YE/yc0lSbZxKsPVlDRnogocsF9ppkCxxLeyj9CYpKlBWTrT3JTWPNt0OKRKzE0lgvdKpVMS
-OO7zSW1xkX5jtqumX8OkhPhPYlG++MXs2ziS4wblCJEMxChBVfvLWokVfnHoNb9Ncgk9vjo4UFt3
-MRuNs8ckRZqnrG0AFFoEt7oT61EKmEFBIk5lYYeBQVCmeVyJ3hlKV9Uu5l0cUyx+mM0aBhakaHPQ
-NAQTXKFx01p8VdteZOE3hzBWBOURtCmAEvF5OYiiAhF8J2a3iLd48soKqDirCmTCv2ZdlYTBoSUe
-h10aUAsgEsxBu24LUTi4S8sCAwEAAaNjMGEwDgYDVR0PAQH/BAQDAgGGMA8GA1UdEwEB/wQFMAMB
-Af8wHQYDVR0OBBYEFLE+w2kD+L9HAdSYJhoIAu9jZCvDMB8GA1UdIwQYMBaAFLE+w2kD+L9HAdSY
-JhoIAu9jZCvDMA0GCSqGSIb3DQEBBQUAA4IBAQAcGgaX3NecnzyIZgYIVyHbIUf4KmeqvxgydkAQ
-V8GK83rZEWWONfqe/EW1ntlMMUu4kehDLI6zeM7b41N5cdblIZQB2lWHmiRk9opmzN6cN82oNLFp
-myPInngiK3BD41VHMWEZ71jFhS9OMPagMRYjyOfiZRYzy78aG6A9+MpeizGLYAiJLQwGXFK3xPkK
-mNEVX58Svnw2Yzi9RKR/5CYrCsSXaQ3pjOLAEFe4yHYSkVXySGnYvCoCWw9E1CAx2/S6cCZdkGCe
-vEsXCS+0yx5DaMkHJ8HSXPfqIbloEpw8nL+e/IBcm2PN7EeqJSdnoDfzAIJ9VNep+OkuE6N36B9K
------END CERTIFICATE-----
-
-Certplus Class 2 Primary CA
-===========================
------BEGIN CERTIFICATE-----
-MIIDkjCCAnqgAwIBAgIRAIW9S/PY2uNp9pTXX8OlRCMwDQYJKoZIhvcNAQEFBQAwPTELMAkGA1UE
-BhMCRlIxETAPBgNVBAoTCENlcnRwbHVzMRswGQYDVQQDExJDbGFzcyAyIFByaW1hcnkgQ0EwHhcN
-OTkwNzA3MTcwNTAwWhcNMTkwNzA2MjM1OTU5WjA9MQswCQYDVQQGEwJGUjERMA8GA1UEChMIQ2Vy
-dHBsdXMxGzAZBgNVBAMTEkNsYXNzIDIgUHJpbWFyeSBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEP
-ADCCAQoCggEBANxQltAS+DXSCHh6tlJw/W/uz7kRy1134ezpfgSN1sxvc0NXYKwzCkTsA18cgCSR
-5aiRVhKC9+Ar9NuuYS6JEI1rbLqzAr3VNsVINyPi8Fo3UjMXEuLRYE2+L0ER4/YXJQyLkcAbmXuZ
-Vg2v7tK8R1fjeUl7NIknJITesezpWE7+Tt9avkGtrAjFGA7v0lPubNCdEgETjdyAYveVqUSISnFO
-YFWe2yMZeVYHDD9jC1yw4r5+FfyUM1hBOHTE4Y+L3yasH7WLO7dDWWuwJKZtkIvEcupdM5i3y95e
-e++U8Rs+yskhwcWYAqqi9lt3m/V+llU0HGdpwPFC40es/CgcZlUCAwEAAaOBjDCBiTAPBgNVHRME
-CDAGAQH/AgEKMAsGA1UdDwQEAwIBBjAdBgNVHQ4EFgQU43Mt38sOKAze3bOkynm4jrvoMIkwEQYJ
-YIZIAYb4QgEBBAQDAgEGMDcGA1UdHwQwMC4wLKAqoCiGJmh0dHA6Ly93d3cuY2VydHBsdXMuY29t
-L0NSTC9jbGFzczIuY3JsMA0GCSqGSIb3DQEBBQUAA4IBAQCnVM+IRBnL39R/AN9WM2K191EBkOvD
-P9GIROkkXe/nFL0gt5o8AP5tn9uQ3Nf0YtaLcF3n5QRIqWh8yfFC82x/xXp8HVGIutIKPidd3i1R
-TtMTZGnkLuPT55sJmabglZvOGtd/vjzOUrMRFcEPF80Du5wlFbqidon8BvEY0JNLDnyCt6X09l/+
-7UCmnYR0ObncHoUW2ikbhiMAybuJfm6AiB4vFLQDJKgybwOaRywwvlbGp0ICcBvqQNi6BQNwB6SW
-//1IMwrh3KWBkJtN3X3n57LNXMhqlfil9o3EXXgIvnsG1knPGTZQIy4I5p4FTUcY1Rbpsda2ENW7
-l7+ijrRU
------END CERTIFICATE-----
-
-DST Root CA X3
-==============
------BEGIN CERTIFICATE-----
-MIIDSjCCAjKgAwIBAgIQRK+wgNajJ7qJMDmGLvhAazANBgkqhkiG9w0BAQUFADA/MSQwIgYDVQQK
-ExtEaWdpdGFsIFNpZ25hdHVyZSBUcnVzdCBDby4xFzAVBgNVBAMTDkRTVCBSb290IENBIFgzMB4X
-DTAwMDkzMDIxMTIxOVoXDTIxMDkzMDE0MDExNVowPzEkMCIGA1UEChMbRGlnaXRhbCBTaWduYXR1
-cmUgVHJ1c3QgQ28uMRcwFQYDVQQDEw5EU1QgUm9vdCBDQSBYMzCCASIwDQYJKoZIhvcNAQEBBQAD
-ggEPADCCAQoCggEBAN+v6ZdQCINXtMxiZfaQguzH0yxrMMpb7NnDfcdAwRgUi+DoM3ZJKuM/IUmT
-rE4Orz5Iy2Xu/NMhD2XSKtkyj4zl93ewEnu1lcCJo6m67XMuegwGMoOifooUMM0RoOEqOLl5CjH9
-UL2AZd+3UWODyOKIYepLYYHsUmu5ouJLGiifSKOeDNoJjj4XLh7dIN9bxiqKqy69cK3FCxolkHRy
-xXtqqzTWMIn/5WgTe1QLyNau7Fqckh49ZLOMxt+/yUFw7BZy1SbsOFU5Q9D8/RhcQPGX69Wam40d
-utolucbY38EVAjqr2m7xPi71XAicPNaDaeQQmxkqtilX4+U9m5/wAl0CAwEAAaNCMEAwDwYDVR0T
-AQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFMSnsaR7LHH62+FLkHX/xBVghYkQ
-MA0GCSqGSIb3DQEBBQUAA4IBAQCjGiybFwBcqR7uKGY3Or+Dxz9LwwmglSBd49lZRNI+DT69ikug
-dB/OEIKcdBodfpga3csTS7MgROSR6cz8faXbauX+5v3gTt23ADq1cEmv8uXrAvHRAosZy5Q6XkjE
-GB5YGV8eAlrwDPGxrancWYaLbumR9YbK+rlmM6pZW87ipxZzR8srzJmwN0jP41ZL9c8PDHIyh8bw
-RLtTcm1D9SZImlJnt1ir/md2cXjbDaJWFBM5JDGFoqgCWjBH4d1QB7wCCZAA62RjYJsWvIjJEubS
-fZGL+T0yjWW06XyxV3bqxbYoOb8VZRzI9neWagqNdwvYkQsEjgfbKbYK7p2CNTUQ
------END CERTIFICATE-----
-
-SwissSign Gold CA - G2
-======================
------BEGIN CERTIFICATE-----
-MIIFujCCA6KgAwIBAgIJALtAHEP1Xk+wMA0GCSqGSIb3DQEBBQUAMEUxCzAJBgNVBAYTAkNIMRUw
-EwYDVQQKEwxTd2lzc1NpZ24gQUcxHzAdBgNVBAMTFlN3aXNzU2lnbiBHb2xkIENBIC0gRzIwHhcN
-MDYxMDI1MDgzMDM1WhcNMzYxMDI1MDgzMDM1WjBFMQswCQYDVQQGEwJDSDEVMBMGA1UEChMMU3dp
-c3NTaWduIEFHMR8wHQYDVQQDExZTd2lzc1NpZ24gR29sZCBDQSAtIEcyMIICIjANBgkqhkiG9w0B
-AQEFAAOCAg8AMIICCgKCAgEAr+TufoskDhJuqVAtFkQ7kpJcyrhdhJJCEyq8ZVeCQD5XJM1QiyUq
-t2/876LQwB8CJEoTlo8jE+YoWACjR8cGp4QjK7u9lit/VcyLwVcfDmJlD909Vopz2q5+bbqBHH5C
-jCA12UNNhPqE21Is8w4ndwtrvxEvcnifLtg+5hg3Wipy+dpikJKVyh+c6bM8K8vzARO/Ws/BtQpg
-vd21mWRTuKCWs2/iJneRjOBiEAKfNA+k1ZIzUd6+jbqEemA8atufK+ze3gE/bk3lUIbLtK/tREDF
-ylqM2tIrfKjuvqblCqoOpd8FUrdVxyJdMmqXl2MT28nbeTZ7hTpKxVKJ+STnnXepgv9VHKVxaSvR
-AiTysybUa9oEVeXBCsdtMDeQKuSeFDNeFhdVxVu1yzSJkvGdJo+hB9TGsnhQ2wwMC3wLjEHXuend
-jIj3o02yMszYF9rNt85mndT9Xv+9lz4pded+p2JYryU0pUHHPbwNUMoDAw8IWh+Vc3hiv69yFGkO
-peUDDniOJihC8AcLYiAQZzlG+qkDzAQ4embvIIO1jEpWjpEA/I5cgt6IoMPiaG59je883WX0XaxR
-7ySArqpWl2/5rX3aYT+YdzylkbYcjCbaZaIJbcHiVOO5ykxMgI93e2CaHt+28kgeDrpOVG2Y4OGi
-GqJ3UM/EY5LsRxmd6+ZrzsECAwEAAaOBrDCBqTAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUw
-AwEB/zAdBgNVHQ4EFgQUWyV7lqRlUX64OfPAeGZe6Drn8O4wHwYDVR0jBBgwFoAUWyV7lqRlUX64
-OfPAeGZe6Drn8O4wRgYDVR0gBD8wPTA7BglghXQBWQECAQEwLjAsBggrBgEFBQcCARYgaHR0cDov
-L3JlcG9zaXRvcnkuc3dpc3NzaWduLmNvbS8wDQYJKoZIhvcNAQEFBQADggIBACe645R88a7A3hfm
-5djV9VSwg/S7zV4Fe0+fdWavPOhWfvxyeDgD2StiGwC5+OlgzczOUYrHUDFu4Up+GC9pWbY9ZIEr
-44OE5iKHjn3g7gKZYbge9LgriBIWhMIxkziWMaa5O1M/wySTVltpkuzFwbs4AOPsF6m43Md8AYOf
-Mke6UiI0HTJ6CVanfCU2qT1L2sCCbwq7EsiHSycR+R4tx5M/nttfJmtS2S6K8RTGRI0Vqbe/vd6m
-Gu6uLftIdxf+u+yvGPUqUfA5hJeVbG4bwyvEdGB5JbAKJ9/fXtI5z0V9QkvfsywexcZdylU6oJxp
-mo/a77KwPJ+HbBIrZXAVUjEaJM9vMSNQH4xPjyPDdEFjHFWoFN0+4FFQz/EbMFYOkrCChdiDyyJk
-vC24JdVUorgG6q2SpCSgwYa1ShNqR88uC1aVVMvOmttqtKay20EIhid392qgQmwLOM7XdVAyksLf
-KzAiSNDVQTglXaTpXZ/GlHXQRf0wl0OPkKsKx4ZzYEppLd6leNcG2mqeSz53OiATIgHQv2ieY2Br
-NU0LbbqhPcCT4H8js1WtciVORvnSFu+wZMEBnunKoGqYDs/YYPIvSbjkQuE4NRb0yG5P94FW6Lqj
-viOvrv1vA+ACOzB2+httQc8Bsem4yWb02ybzOqR08kkkW8mw0FfB+j564ZfJ
------END CERTIFICATE-----
-
-SwissSign Silver CA - G2
-========================
------BEGIN CERTIFICATE-----
-MIIFvTCCA6WgAwIBAgIITxvUL1S7L0swDQYJKoZIhvcNAQEFBQAwRzELMAkGA1UEBhMCQ0gxFTAT
-BgNVBAoTDFN3aXNzU2lnbiBBRzEhMB8GA1UEAxMYU3dpc3NTaWduIFNpbHZlciBDQSAtIEcyMB4X
-DTA2MTAyNTA4MzI0NloXDTM2MTAyNTA4MzI0NlowRzELMAkGA1UEBhMCQ0gxFTATBgNVBAoTDFN3
-aXNzU2lnbiBBRzEhMB8GA1UEAxMYU3dpc3NTaWduIFNpbHZlciBDQSAtIEcyMIICIjANBgkqhkiG
-9w0BAQEFAAOCAg8AMIICCgKCAgEAxPGHf9N4Mfc4yfjDmUO8x/e8N+dOcbpLj6VzHVxumK4DV644
-N0MvFz0fyM5oEMF4rhkDKxD6LHmD9ui5aLlV8gREpzn5/ASLHvGiTSf5YXu6t+WiE7brYT7QbNHm
-+/pe7R20nqA1W6GSy/BJkv6FCgU+5tkL4k+73JU3/JHpMjUi0R86TieFnbAVlDLaYQ1HTWBCrpJH
-6INaUFjpiou5XaHc3ZlKHzZnu0jkg7Y360g6rw9njxcH6ATK72oxh9TAtvmUcXtnZLi2kUpCe2Uu
-MGoM9ZDulebyzYLs2aFK7PayS+VFheZteJMELpyCbTapxDFkH4aDCyr0NQp4yVXPQbBH6TCfmb5h
-qAaEuSh6XzjZG6k4sIN/c8HDO0gqgg8hm7jMqDXDhBuDsz6+pJVpATqJAHgE2cn0mRmrVn5bi4Y5
-FZGkECwJMoBgs5PAKrYYC51+jUnyEEp/+dVGLxmSo5mnJqy7jDzmDrxHB9xzUfFwZC8I+bRHHTBs
-ROopN4WSaGa8gzj+ezku01DwH/teYLappvonQfGbGHLy9YR0SslnxFSuSGTfjNFusB3hB48IHpmc
-celM2KX3RxIfdNFRnobzwqIjQAtz20um53MGjMGg6cFZrEb65i/4z3GcRm25xBWNOHkDRUjvxF3X
-CO6HOSKGsg0PWEP3calILv3q1h8CAwEAAaOBrDCBqTAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/
-BAUwAwEB/zAdBgNVHQ4EFgQUF6DNweRBtjpbO8tFnb0cwpj6hlgwHwYDVR0jBBgwFoAUF6DNweRB
-tjpbO8tFnb0cwpj6hlgwRgYDVR0gBD8wPTA7BglghXQBWQEDAQEwLjAsBggrBgEFBQcCARYgaHR0
-cDovL3JlcG9zaXRvcnkuc3dpc3NzaWduLmNvbS8wDQYJKoZIhvcNAQEFBQADggIBAHPGgeAn0i0P
-4JUw4ppBf1AsX19iYamGamkYDHRJ1l2E6kFSGG9YrVBWIGrGvShpWJHckRE1qTodvBqlYJ7YH39F
-kWnZfrt4csEGDyrOj4VwYaygzQu4OSlWhDJOhrs9xCrZ1x9y7v5RoSJBsXECYxqCsGKrXlcSH9/L
-3XWgwF15kIwb4FDm3jH+mHtwX6WQ2K34ArZv02DdQEsixT2tOnqfGhpHkXkzuoLcMmkDlm4fS/Bx
-/uNncqCxv1yL5PqZIseEuRuNI5c/7SXgz2W79WEE790eslpBIlqhn10s6FvJbakMDHiqYMZWjwFa
-DGi8aRl5xB9+lwW/xekkUV7U1UtT7dkjWjYDZaPBA61BMPNGG4WQr2W11bHkFlt4dR2Xem1ZqSqP
-e97Dh4kQmUlzeMg9vVE1dCrV8X5pGyq7O70luJpaPXJhkGaH7gzWTdQRdAtq/gsD/KNVV4n+Ssuu
-WxcFyPKNIzFTONItaj+CuY0IavdeQXRuwxF+B6wpYJE/OMpXEA29MC/HpeZBoNquBYeaoKRlbEwJ
-DIm6uNO5wJOKMPqN5ZprFQFOZ6raYlY+hAhm0sQ2fac+EPyI4NSA5QC9qvNOBqN6avlicuMJT+ub
-DgEj8Z+7fNzcbBGXJbLytGMU0gYqZ4yD9c7qB9iaah7s5Aq7KkzrCWA5zspi2C5u
------END CERTIFICATE-----
-
-GeoTrust Primary Certification Authority
-========================================
------BEGIN CERTIFICATE-----
-MIIDfDCCAmSgAwIBAgIQGKy1av1pthU6Y2yv2vrEoTANBgkqhkiG9w0BAQUFADBYMQswCQYDVQQG
-EwJVUzEWMBQGA1UEChMNR2VvVHJ1c3QgSW5jLjExMC8GA1UEAxMoR2VvVHJ1c3QgUHJpbWFyeSBD
-ZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTAeFw0wNjExMjcwMDAwMDBaFw0zNjA3MTYyMzU5NTlaMFgx
-CzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1HZW9UcnVzdCBJbmMuMTEwLwYDVQQDEyhHZW9UcnVzdCBQ
-cmltYXJ5IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB
-CgKCAQEAvrgVe//UfH1nrYNke8hCUy3f9oQIIGHWAVlqnEQRr+92/ZV+zmEwu3qDXwK9AWbK7hWN
-b6EwnL2hhZ6UOvNWiAAxz9juapYC2e0DjPt1befquFUWBRaa9OBesYjAZIVcFU2Ix7e64HXprQU9
-nceJSOC7KMgD4TCTZF5SwFlwIjVXiIrxlQqD17wxcwE07e9GceBrAqg1cmuXm2bgyxx5X9gaBGge
-RwLmnWDiNpcB3841kt++Z8dtd1k7j53WkBWUvEI0EME5+bEnPn7WinXFsq+W06Lem+SYvn3h6YGt
-tm/81w7a4DSwDRp35+MImO9Y+pyEtzavwt+s0vQQBnBxNQIDAQABo0IwQDAPBgNVHRMBAf8EBTAD
-AQH/MA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQULNVQQZcVi/CPNmFbSvtr2ZnJM5IwDQYJKoZI
-hvcNAQEFBQADggEBAFpwfyzdtzRP9YZRqSa+S7iq8XEN3GHHoOo0Hnp3DwQ16CePbJC/kRYkRj5K
-Ts4rFtULUh38H2eiAkUxT87z+gOneZ1TatnaYzr4gNfTmeGl4b7UVXGYNTq+k+qurUKykG/g/CFN
-NWMziUnWm07Kx+dOCQD32sfvmWKZd7aVIl6KoKv0uHiYyjgZmclynnjNS6yvGaBzEi38wkG6gZHa
-Floxt/m0cYASSJlyc1pZU8FjUjPtp8nSOQJw+uCxQmYpqptR7TBUIhRf2asdweSU8Pj1K/fqynhG
-1riR/aYNKxoUAT6A8EKglQdebc3MS6RFjasS6LPeWuWgfOgPIh1a6Vk=
------END CERTIFICATE-----
-
-thawte Primary Root CA
-======================
------BEGIN CERTIFICATE-----
-MIIEIDCCAwigAwIBAgIQNE7VVyDV7exJ9C/ON9srbTANBgkqhkiG9w0BAQUFADCBqTELMAkGA1UE
-BhMCVVMxFTATBgNVBAoTDHRoYXd0ZSwgSW5jLjEoMCYGA1UECxMfQ2VydGlmaWNhdGlvbiBTZXJ2
-aWNlcyBEaXZpc2lvbjE4MDYGA1UECxMvKGMpIDIwMDYgdGhhd3RlLCBJbmMuIC0gRm9yIGF1dGhv
-cml6ZWQgdXNlIG9ubHkxHzAdBgNVBAMTFnRoYXd0ZSBQcmltYXJ5IFJvb3QgQ0EwHhcNMDYxMTE3
-MDAwMDAwWhcNMzYwNzE2MjM1OTU5WjCBqTELMAkGA1UEBhMCVVMxFTATBgNVBAoTDHRoYXd0ZSwg
-SW5jLjEoMCYGA1UECxMfQ2VydGlmaWNhdGlvbiBTZXJ2aWNlcyBEaXZpc2lvbjE4MDYGA1UECxMv
-KGMpIDIwMDYgdGhhd3RlLCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxHzAdBgNVBAMT
-FnRoYXd0ZSBQcmltYXJ5IFJvb3QgQ0EwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCs
-oPD7gFnUnMekz52hWXMJEEUMDSxuaPFsW0hoSVk3/AszGcJ3f8wQLZU0HObrTQmnHNK4yZc2AreJ
-1CRfBsDMRJSUjQJib+ta3RGNKJpchJAQeg29dGYvajig4tVUROsdB58Hum/u6f1OCyn1PoSgAfGc
-q/gcfomk6KHYcWUNo1F77rzSImANuVud37r8UVsLr5iy6S7pBOhih94ryNdOwUxkHt3Ph1i6Sk/K
-aAcdHJ1KxtUvkcx8cXIcxcBn6zL9yZJclNqFwJu/U30rCfSMnZEfl2pSy94JNqR32HuHUETVPm4p
-afs5SSYeCaWAe0At6+gnhcn+Yf1+5nyXHdWdAgMBAAGjQjBAMA8GA1UdEwEB/wQFMAMBAf8wDgYD
-VR0PAQH/BAQDAgEGMB0GA1UdDgQWBBR7W0XPr87Lev0xkhpqtvNG61dIUDANBgkqhkiG9w0BAQUF
-AAOCAQEAeRHAS7ORtvzw6WfUDW5FvlXok9LOAz/t2iWwHVfLHjp2oEzsUHboZHIMpKnxuIvW1oeE
-uzLlQRHAd9mzYJ3rG9XRbkREqaYB7FViHXe4XI5ISXycO1cRrK1zN44veFyQaEfZYGDm/Ac9IiAX
-xPcW6cTYcvnIc3zfFi8VqT79aie2oetaupgf1eNNZAqdE8hhuvU5HIe6uL17In/2/qxAeeWsEG89
-jxt5dovEN7MhGITlNgDrYyCZuen+MwS7QcjBAvlEYyCegc5C09Y/LHbTY5xZ3Y+m4Q6gLkH3LpVH
-z7z9M/P2C2F+fpErgUfCJzDupxBdN49cOSvkBPB7jVaMaA==
------END CERTIFICATE-----
-
-VeriSign Class 3 Public Primary Certification Authority - G5
-============================================================
------BEGIN CERTIFICATE-----
-MIIE0zCCA7ugAwIBAgIQGNrRniZ96LtKIVjNzGs7SjANBgkqhkiG9w0BAQUFADCByjELMAkGA1UE
-BhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQLExZWZXJpU2lnbiBUcnVzdCBO
-ZXR3b3JrMTowOAYDVQQLEzEoYykgMjAwNiBWZXJpU2lnbiwgSW5jLiAtIEZvciBhdXRob3JpemVk
-IHVzZSBvbmx5MUUwQwYDVQQDEzxWZXJpU2lnbiBDbGFzcyAzIFB1YmxpYyBQcmltYXJ5IENlcnRp
-ZmljYXRpb24gQXV0aG9yaXR5IC0gRzUwHhcNMDYxMTA4MDAwMDAwWhcNMzYwNzE2MjM1OTU5WjCB
-yjELMAkGA1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQLExZWZXJpU2ln
-biBUcnVzdCBOZXR3b3JrMTowOAYDVQQLEzEoYykgMjAwNiBWZXJpU2lnbiwgSW5jLiAtIEZvciBh
-dXRob3JpemVkIHVzZSBvbmx5MUUwQwYDVQQDEzxWZXJpU2lnbiBDbGFzcyAzIFB1YmxpYyBQcmlt
-YXJ5IENlcnRpZmljYXRpb24gQXV0aG9yaXR5IC0gRzUwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAw
-ggEKAoIBAQCvJAgIKXo1nmAMqudLO07cfLw8RRy7K+D+KQL5VwijZIUVJ/XxrcgxiV0i6CqqpkKz
-j/i5Vbext0uz/o9+B1fs70PbZmIVYc9gDaTY3vjgw2IIPVQT60nKWVSFJuUrjxuf6/WhkcIzSdhD
-Y2pSS9KP6HBRTdGJaXvHcPaz3BJ023tdS1bTlr8Vd6Gw9KIl8q8ckmcY5fQGBO+QueQA5N06tRn/
-Arr0PO7gi+s3i+z016zy9vA9r911kTMZHRxAy3QkGSGT2RT+rCpSx4/VBEnkjWNHiDxpg8v+R70r
-fk/Fla4OndTRQ8Bnc+MUCH7lP59zuDMKz10/NIeWiu5T6CUVAgMBAAGjgbIwga8wDwYDVR0TAQH/
-BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwbQYIKwYBBQUHAQwEYTBfoV2gWzBZMFcwVRYJaW1hZ2Uv
-Z2lmMCEwHzAHBgUrDgMCGgQUj+XTGoasjY5rw8+AatRIGCx7GS4wJRYjaHR0cDovL2xvZ28udmVy
-aXNpZ24uY29tL3ZzbG9nby5naWYwHQYDVR0OBBYEFH/TZafC3ey78DAJ80M5+gKvMzEzMA0GCSqG
-SIb3DQEBBQUAA4IBAQCTJEowX2LP2BqYLz3q3JktvXf2pXkiOOzEp6B4Eq1iDkVwZMXnl2YtmAl+
-X6/WzChl8gGqCBpH3vn5fJJaCGkgDdk+bW48DW7Y5gaRQBi5+MHt39tBquCWIMnNZBU4gcmU7qKE
-KQsTb47bDN0lAtukixlE0kF6BWlKWE9gyn6CagsCqiUXObXbf+eEZSqVir2G3l6BFoMtEMze/aiC
-Km0oHw0LxOXnGiYZ4fQRbxC1lfznQgUy286dUV4otp6F01vvpX1FQHKOtw5rDgb7MzVIcbidJ4vE
-ZV8NhnacRHr2lVz2XTIIM6RUthg/aFzyQkqFOFSDX9HoLPKsEdao7WNq
------END CERTIFICATE-----
-
-SecureTrust CA
-==============
------BEGIN CERTIFICATE-----
-MIIDuDCCAqCgAwIBAgIQDPCOXAgWpa1Cf/DrJxhZ0DANBgkqhkiG9w0BAQUFADBIMQswCQYDVQQG
-EwJVUzEgMB4GA1UEChMXU2VjdXJlVHJ1c3QgQ29ycG9yYXRpb24xFzAVBgNVBAMTDlNlY3VyZVRy
-dXN0IENBMB4XDTA2MTEwNzE5MzExOFoXDTI5MTIzMTE5NDA1NVowSDELMAkGA1UEBhMCVVMxIDAe
-BgNVBAoTF1NlY3VyZVRydXN0IENvcnBvcmF0aW9uMRcwFQYDVQQDEw5TZWN1cmVUcnVzdCBDQTCC
-ASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAKukgeWVzfX2FI7CT8rU4niVWJxB4Q2ZQCQX
-OZEzZum+4YOvYlyJ0fwkW2Gz4BERQRwdbvC4u/jep4G6pkjGnx29vo6pQT64lO0pGtSO0gMdA+9t
-DWccV9cGrcrI9f4Or2YlSASWC12juhbDCE/RRvgUXPLIXgGZbf2IzIaowW8xQmxSPmjL8xk037uH
-GFaAJsTQ3MBv396gwpEWoGQRS0S8Hvbn+mPeZqx2pHGj7DaUaHp3pLHnDi+BeuK1cobvomuL8A/b
-01k/unK8RCSc43Oz969XL0Imnal0ugBS8kvNU3xHCzaFDmapCJcWNFfBZveA4+1wVMeT4C4oFVmH
-ursCAwEAAaOBnTCBmjATBgkrBgEEAYI3FAIEBh4EAEMAQTALBgNVHQ8EBAMCAYYwDwYDVR0TAQH/
-BAUwAwEB/zAdBgNVHQ4EFgQUQjK2FvoE/f5dS3rD/fdMQB1aQ68wNAYDVR0fBC0wKzApoCegJYYj
-aHR0cDovL2NybC5zZWN1cmV0cnVzdC5jb20vU1RDQS5jcmwwEAYJKwYBBAGCNxUBBAMCAQAwDQYJ
-KoZIhvcNAQEFBQADggEBADDtT0rhWDpSclu1pqNlGKa7UTt36Z3q059c4EVlew3KW+JwULKUBRSu
-SceNQQcSc5R+DCMh/bwQf2AQWnL1mA6s7Ll/3XpvXdMc9P+IBWlCqQVxyLesJugutIxq/3HcuLHf
-mbx8IVQr5Fiiu1cprp6poxkmD5kuCLDv/WnPmRoJjeOnnyvJNjR7JLN4TJUXpAYmHrZkUjZfYGfZ
-nMUFdAvnZyPSCPyI6a6Lf+Ew9Dd+/cYy2i2eRDAwbO4H3tI0/NL/QPZL9GZGBlSm8jIKYyYwa5vR
-3ItHuuG51WLQoqD0ZwV4KWMabwTW+MZMo5qxN7SN5ShLHZ4swrhovO0C7jE=
------END CERTIFICATE-----
-
-Secure Global CA
-================
------BEGIN CERTIFICATE-----
-MIIDvDCCAqSgAwIBAgIQB1YipOjUiolN9BPI8PjqpTANBgkqhkiG9w0BAQUFADBKMQswCQYDVQQG
-EwJVUzEgMB4GA1UEChMXU2VjdXJlVHJ1c3QgQ29ycG9yYXRpb24xGTAXBgNVBAMTEFNlY3VyZSBH
-bG9iYWwgQ0EwHhcNMDYxMTA3MTk0MjI4WhcNMjkxMjMxMTk1MjA2WjBKMQswCQYDVQQGEwJVUzEg
-MB4GA1UEChMXU2VjdXJlVHJ1c3QgQ29ycG9yYXRpb24xGTAXBgNVBAMTEFNlY3VyZSBHbG9iYWwg
-Q0EwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCvNS7YrGxVaQZx5RNoJLNP2MwhR/jx
-YDiJiQPpvepeRlMJ3Fz1Wuj3RSoC6zFh1ykzTM7HfAo3fg+6MpjhHZevj8fcyTiW89sa/FHtaMbQ
-bqR8JNGuQsiWUGMu4P51/pinX0kuleM5M2SOHqRfkNJnPLLZ/kG5VacJjnIFHovdRIWCQtBJwB1g
-8NEXLJXr9qXBkqPFwqcIYA1gBBCWeZ4WNOaptvolRTnIHmX5k/Wq8VLcmZg9pYYaDDUz+kulBAYV
-HDGA76oYa8J719rO+TMg1fW9ajMtgQT7sFzUnKPiXB3jqUJ1XnvUd+85VLrJChgbEplJL4hL/VBi
-0XPnj3pDAgMBAAGjgZ0wgZowEwYJKwYBBAGCNxQCBAYeBABDAEEwCwYDVR0PBAQDAgGGMA8GA1Ud
-EwEB/wQFMAMBAf8wHQYDVR0OBBYEFK9EBMJBfkiD2045AuzshHrmzsmkMDQGA1UdHwQtMCswKaAn
-oCWGI2h0dHA6Ly9jcmwuc2VjdXJldHJ1c3QuY29tL1NHQ0EuY3JsMBAGCSsGAQQBgjcVAQQDAgEA
-MA0GCSqGSIb3DQEBBQUAA4IBAQBjGghAfaReUw132HquHw0LURYD7xh8yOOvaliTFGCRsoTciE6+
-OYo68+aCiV0BN7OrJKQVDpI1WkpEXk5X+nXOH0jOZvQ8QCaSmGwb7iRGDBezUqXbpZGRzzfTb+cn
-CDpOGR86p1hcF895P4vkp9MmI50mD1hp/Ed+stCNi5O/KU9DaXR2Z0vPB4zmAve14bRDtUstFJ/5
-3CYNv6ZHdAbYiNE6KTCEztI5gGIbqMdXSbxqVVFnFUq+NQfk1XWYN3kwFNspnWzFacxHVaIw98xc
-f8LDmBxrThaA63p4ZUWiABqvDA1VZDRIuJK58bRQKfJPIx/abKwfROHdI3hRW8cW
------END CERTIFICATE-----
-
-COMODO Certification Authority
-==============================
------BEGIN CERTIFICATE-----
-MIIEHTCCAwWgAwIBAgIQToEtioJl4AsC7j41AkblPTANBgkqhkiG9w0BAQUFADCBgTELMAkGA1UE
-BhMCR0IxGzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UEBxMHU2FsZm9yZDEaMBgG
-A1UEChMRQ09NT0RPIENBIExpbWl0ZWQxJzAlBgNVBAMTHkNPTU9ETyBDZXJ0aWZpY2F0aW9uIEF1
-dGhvcml0eTAeFw0wNjEyMDEwMDAwMDBaFw0yOTEyMzEyMzU5NTlaMIGBMQswCQYDVQQGEwJHQjEb
-MBkGA1UECBMSR3JlYXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHEwdTYWxmb3JkMRowGAYDVQQKExFD
-T01PRE8gQ0EgTGltaXRlZDEnMCUGA1UEAxMeQ09NT0RPIENlcnRpZmljYXRpb24gQXV0aG9yaXR5
-MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA0ECLi3LjkRv3UcEbVASY06m/weaKXTuH
-+7uIzg3jLz8GlvCiKVCZrts7oVewdFFxze1CkU1B/qnI2GqGd0S7WWaXUF601CxwRM/aN5VCaTww
-xHGzUvAhTaHYujl8HJ6jJJ3ygxaYqhZ8Q5sVW7euNJH+1GImGEaaP+vB+fGQV+useg2L23IwambV
-4EajcNxo2f8ESIl33rXp+2dtQem8Ob0y2WIC8bGoPW43nOIv4tOiJovGuFVDiOEjPqXSJDlqR6sA
-1KGzqSX+DT+nHbrTUcELpNqsOO9VUCQFZUaTNE8tja3G1CEZ0o7KBWFxB3NH5YoZEr0ETc5OnKVI
-rLsm9wIDAQABo4GOMIGLMB0GA1UdDgQWBBQLWOWLxkwVN6RAqTCpIb5HNlpW/zAOBgNVHQ8BAf8E
-BAMCAQYwDwYDVR0TAQH/BAUwAwEB/zBJBgNVHR8EQjBAMD6gPKA6hjhodHRwOi8vY3JsLmNvbW9k
-b2NhLmNvbS9DT01PRE9DZXJ0aWZpY2F0aW9uQXV0aG9yaXR5LmNybDANBgkqhkiG9w0BAQUFAAOC
-AQEAPpiem/Yb6dc5t3iuHXIYSdOH5EOC6z/JqvWote9VfCFSZfnVDeFs9D6Mk3ORLgLETgdxb8CP
-OGEIqB6BCsAvIC9Bi5HcSEW88cbeunZrM8gALTFGTO3nnc+IlP8zwFboJIYmuNg4ON8qa90SzMc/
-RxdMosIGlgnW2/4/PEZB31jiVg88O8EckzXZOFKs7sjsLjBOlDW0JB9LeGna8gI4zJVSk/BwJVmc
-IGfE7vmLV2H0knZ9P4SNVbfo5azV8fUZVqZa+5Acr5Pr5RzUZ5ddBA6+C4OmF4O5MBKgxTMVBbkN
-+8cFduPYSo38NBejxiEovjBFMR7HeL5YYTisO+IBZQ==
------END CERTIFICATE-----
-
-Network Solutions Certificate Authority
-=======================================
------BEGIN CERTIFICATE-----
-MIID5jCCAs6gAwIBAgIQV8szb8JcFuZHFhfjkDFo4DANBgkqhkiG9w0BAQUFADBiMQswCQYDVQQG
-EwJVUzEhMB8GA1UEChMYTmV0d29yayBTb2x1dGlvbnMgTC5MLkMuMTAwLgYDVQQDEydOZXR3b3Jr
-IFNvbHV0aW9ucyBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkwHhcNMDYxMjAxMDAwMDAwWhcNMjkxMjMx
-MjM1OTU5WjBiMQswCQYDVQQGEwJVUzEhMB8GA1UEChMYTmV0d29yayBTb2x1dGlvbnMgTC5MLkMu
-MTAwLgYDVQQDEydOZXR3b3JrIFNvbHV0aW9ucyBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkwggEiMA0G
-CSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDkvH6SMG3G2I4rC7xGzuAnlt7e+foS0zwzc7MEL7xx
-jOWftiJgPl9dzgn/ggwbmlFQGiaJ3dVhXRncEg8tCqJDXRfQNJIg6nPPOCwGJgl6cvf6UDL4wpPT
-aaIjzkGxzOTVHzbRijr4jGPiFFlp7Q3Tf2vouAPlT2rlmGNpSAW+Lv8ztumXWWn4Zxmuk2GWRBXT
-crA/vGp97Eh/jcOrqnErU2lBUzS1sLnFBgrEsEX1QV1uiUV7PTsmjHTC5dLRfbIR1PtYMiKagMnc
-/Qzpf14Dl847ABSHJ3A4qY5usyd2mFHgBeMhqxrVhSI8KbWaFsWAqPS7azCPL0YCorEMIuDTAgMB
-AAGjgZcwgZQwHQYDVR0OBBYEFCEwyfsA106Y2oeqKtCnLrFAMadMMA4GA1UdDwEB/wQEAwIBBjAP
-BgNVHRMBAf8EBTADAQH/MFIGA1UdHwRLMEkwR6BFoEOGQWh0dHA6Ly9jcmwubmV0c29sc3NsLmNv
-bS9OZXR3b3JrU29sdXRpb25zQ2VydGlmaWNhdGVBdXRob3JpdHkuY3JsMA0GCSqGSIb3DQEBBQUA
-A4IBAQC7rkvnt1frf6ott3NHhWrB5KUd5Oc86fRZZXe1eltajSU24HqXLjjAV2CDmAaDn7l2em5Q
-4LqILPxFzBiwmZVRDuwduIj/h1AcgsLj4DKAv6ALR8jDMe+ZZzKATxcheQxpXN5eNK4CtSbqUN9/
-GGUsyfJj4akH/nxxH2szJGoeBfcFaMBqEssuXmHLrijTfsK0ZpEmXzwuJF/LWA/rKOyvEZbz3Htv
-wKeI8lN3s2Berq4o2jUsbzRF0ybh3uxbTydrFny9RAQYgrOJeRcQcT16ohZO9QHNpGxlaKFJdlxD
-ydi8NmdspZS11My5vWo1ViHe2MPr+8ukYEywVaCge1ey
------END CERTIFICATE-----
-
-COMODO ECC Certification Authority
-==================================
------BEGIN CERTIFICATE-----
-MIICiTCCAg+gAwIBAgIQH0evqmIAcFBUTAGem2OZKjAKBggqhkjOPQQDAzCBhTELMAkGA1UEBhMC
-R0IxGzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UEBxMHU2FsZm9yZDEaMBgGA1UE
-ChMRQ09NT0RPIENBIExpbWl0ZWQxKzApBgNVBAMTIkNPTU9ETyBFQ0MgQ2VydGlmaWNhdGlvbiBB
-dXRob3JpdHkwHhcNMDgwMzA2MDAwMDAwWhcNMzgwMTE4MjM1OTU5WjCBhTELMAkGA1UEBhMCR0Ix
-GzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UEBxMHU2FsZm9yZDEaMBgGA1UEChMR
-Q09NT0RPIENBIExpbWl0ZWQxKzApBgNVBAMTIkNPTU9ETyBFQ0MgQ2VydGlmaWNhdGlvbiBBdXRo
-b3JpdHkwdjAQBgcqhkjOPQIBBgUrgQQAIgNiAAQDR3svdcmCFYX7deSRFtSrYpn1PlILBs5BAH+X
-4QokPB0BBO490o0JlwzgdeT6+3eKKvUDYEs2ixYjFq0JcfRK9ChQtP6IHG4/bC8vCVlbpVsLM5ni
-wz2J+Wos77LTBumjQjBAMB0GA1UdDgQWBBR1cacZSBm8nZ3qQUfflMRId5nTeTAOBgNVHQ8BAf8E
-BAMCAQYwDwYDVR0TAQH/BAUwAwEB/zAKBggqhkjOPQQDAwNoADBlAjEA7wNbeqy3eApyt4jf/7VG
-FAkK+qDmfQjGGoe9GKhzvSbKYAydzpmfz1wPMOG+FDHqAjAU9JM8SaczepBGR7NjfRObTrdvGDeA
-U/7dIOA1mjbRxwG55tzd8/8dLDoWV9mSOdY=
------END CERTIFICATE-----
-
-OISTE WISeKey Global Root GA CA
-===============================
------BEGIN CERTIFICATE-----
-MIID8TCCAtmgAwIBAgIQQT1yx/RrH4FDffHSKFTfmjANBgkqhkiG9w0BAQUFADCBijELMAkGA1UE
-BhMCQ0gxEDAOBgNVBAoTB1dJU2VLZXkxGzAZBgNVBAsTEkNvcHlyaWdodCAoYykgMjAwNTEiMCAG
-A1UECxMZT0lTVEUgRm91bmRhdGlvbiBFbmRvcnNlZDEoMCYGA1UEAxMfT0lTVEUgV0lTZUtleSBH
-bG9iYWwgUm9vdCBHQSBDQTAeFw0wNTEyMTExNjAzNDRaFw0zNzEyMTExNjA5NTFaMIGKMQswCQYD
-VQQGEwJDSDEQMA4GA1UEChMHV0lTZUtleTEbMBkGA1UECxMSQ29weXJpZ2h0IChjKSAyMDA1MSIw
-IAYDVQQLExlPSVNURSBGb3VuZGF0aW9uIEVuZG9yc2VkMSgwJgYDVQQDEx9PSVNURSBXSVNlS2V5
-IEdsb2JhbCBSb290IEdBIENBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAy0+zAJs9
-Nt350UlqaxBJH+zYK7LG+DKBKUOVTJoZIyEVRd7jyBxRVVuuk+g3/ytr6dTqvirdqFEr12bDYVxg
-Asj1znJ7O7jyTmUIms2kahnBAbtzptf2w93NvKSLtZlhuAGio9RN1AU9ka34tAhxZK9w8RxrfvbD
-d50kc3vkDIzh2TbhmYsFmQvtRTEJysIA2/dyoJaqlYfQjse2YXMNdmaM3Bu0Y6Kff5MTMPGhJ9vZ
-/yxViJGg4E8HsChWjBgbl0SOid3gF27nKu+POQoxhILYQBRJLnpB5Kf+42TMwVlxSywhp1t94B3R
-LoGbw9ho972WG6xwsRYUC9tguSYBBQIDAQABo1EwTzALBgNVHQ8EBAMCAYYwDwYDVR0TAQH/BAUw
-AwEB/zAdBgNVHQ4EFgQUswN+rja8sHnR3JQmthG+IbJphpQwEAYJKwYBBAGCNxUBBAMCAQAwDQYJ
-KoZIhvcNAQEFBQADggEBAEuh/wuHbrP5wUOxSPMowB0uyQlB+pQAHKSkq0lPjz0e701vvbyk9vIm
-MMkQyh2I+3QZH4VFvbBsUfk2ftv1TDI6QU9bR8/oCy22xBmddMVHxjtqD6wU2zz0c5ypBd8A3HR4
-+vg1YFkCExh8vPtNsCBtQ7tgMHpnM1zFmdH4LTlSc/uMqpclXHLZCB6rTjzjgTGfA6b7wP4piFXa
-hNVQA7bihKOmNqoROgHhGEvWRGizPflTdISzRpFGlgC3gCy24eMQ4tui5yiPAZZiFj4A4xylNoEY
-okxSdsARo27mHbrjWr42U8U+dY+GaSlYU7Wcu2+fXMUY7N0v4ZjJ/L7fCg0=
------END CERTIFICATE-----
-
-Certigna
-========
------BEGIN CERTIFICATE-----
-MIIDqDCCApCgAwIBAgIJAP7c4wEPyUj/MA0GCSqGSIb3DQEBBQUAMDQxCzAJBgNVBAYTAkZSMRIw
-EAYDVQQKDAlEaGlteW90aXMxETAPBgNVBAMMCENlcnRpZ25hMB4XDTA3MDYyOTE1MTMwNVoXDTI3
-MDYyOTE1MTMwNVowNDELMAkGA1UEBhMCRlIxEjAQBgNVBAoMCURoaW15b3RpczERMA8GA1UEAwwI
-Q2VydGlnbmEwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDIaPHJ1tazNHUmgh7stL7q
-XOEm7RFHYeGifBZ4QCHkYJ5ayGPhxLGWkv8YbWkj4Sti993iNi+RB7lIzw7sebYs5zRLcAglozyH
-GxnygQcPOJAZ0xH+hrTy0V4eHpbNgGzOOzGTtvKg0KmVEn2lmsxryIRWijOp5yIVUxbwzBfsV1/p
-ogqYCd7jX5xv3EjjhQsVWqa6n6xI4wmy9/Qy3l40vhx4XUJbzg4ij02Q130yGLMLLGq/jj8UEYkg
-DncUtT2UCIf3JR7VsmAA7G8qKCVuKj4YYxclPz5EIBb2JsglrgVKtOdjLPOMFlN+XPsRGgjBRmKf
-Irjxwo1p3Po6WAbfAgMBAAGjgbwwgbkwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUGu3+QTmQ
-tCRZvgHyUtVF9lo53BEwZAYDVR0jBF0wW4AUGu3+QTmQtCRZvgHyUtVF9lo53BGhOKQ2MDQxCzAJ
-BgNVBAYTAkZSMRIwEAYDVQQKDAlEaGlteW90aXMxETAPBgNVBAMMCENlcnRpZ25hggkA/tzjAQ/J
-SP8wDgYDVR0PAQH/BAQDAgEGMBEGCWCGSAGG+EIBAQQEAwIABzANBgkqhkiG9w0BAQUFAAOCAQEA
-hQMeknH2Qq/ho2Ge6/PAD/Kl1NqV5ta+aDY9fm4fTIrv0Q8hbV6lUmPOEvjvKtpv6zf+EwLHyzs+
-ImvaYS5/1HI93TDhHkxAGYwP15zRgzB7mFncfca5DClMoTOi62c6ZYTTluLtdkVwj7Ur3vkj1klu
-PBS1xp81HlDQwY9qcEQCYsuuHWhBp6pX6FOqB9IG9tUUBguRA3UsbHK1YZWaDYu5Def131TN3ubY
-1gkIl2PlwS6wt0QmwCbAr1UwnjvVNioZBPRcHv/PLLf/0P2HQBHVESO7SMAhqaQoLf0V+LBOK/Qw
-WyH8EZE0vkHve52Xdf+XlcCWWC/qu0bXu+TZLg==
------END CERTIFICATE-----
-
-Deutsche Telekom Root CA 2
-==========================
------BEGIN CERTIFICATE-----
-MIIDnzCCAoegAwIBAgIBJjANBgkqhkiG9w0BAQUFADBxMQswCQYDVQQGEwJERTEcMBoGA1UEChMT
-RGV1dHNjaGUgVGVsZWtvbSBBRzEfMB0GA1UECxMWVC1UZWxlU2VjIFRydXN0IENlbnRlcjEjMCEG
-A1UEAxMaRGV1dHNjaGUgVGVsZWtvbSBSb290IENBIDIwHhcNOTkwNzA5MTIxMTAwWhcNMTkwNzA5
-MjM1OTAwWjBxMQswCQYDVQQGEwJERTEcMBoGA1UEChMTRGV1dHNjaGUgVGVsZWtvbSBBRzEfMB0G
-A1UECxMWVC1UZWxlU2VjIFRydXN0IENlbnRlcjEjMCEGA1UEAxMaRGV1dHNjaGUgVGVsZWtvbSBS
-b290IENBIDIwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCrC6M14IspFLEUha88EOQ5
-bzVdSq7d6mGNlUn0b2SjGmBmpKlAIoTZ1KXleJMOaAGtuU1cOs7TuKhCQN/Po7qCWWqSG6wcmtoI
-KyUn+WkjR/Hg6yx6m/UTAtB+NHzCnjwAWav12gz1MjwrrFDa1sPeg5TKqAyZMg4ISFZbavva4VhY
-AUlfckE8FQYBjl2tqriTtM2e66foai1SNNs671x1Udrb8zH57nGYMsRUFUQM+ZtV7a3fGAigo4aK
-Se5TBY8ZTNXeWHmb0mocQqvF1afPaA+W5OFhmHZhyJF81j4A4pFQh+GdCuatl9Idxjp9y7zaAzTV
-jlsB9WoHtxa2bkp/AgMBAAGjQjBAMB0GA1UdDgQWBBQxw3kbuvVT1xfgiXotF2wKsyudMzAPBgNV
-HRMECDAGAQH/AgEFMA4GA1UdDwEB/wQEAwIBBjANBgkqhkiG9w0BAQUFAAOCAQEAlGRZrTlk5ynr
-E/5aw4sTV8gEJPB0d8Bg42f76Ymmg7+Wgnxu1MM9756AbrsptJh6sTtU6zkXR34ajgv8HzFZMQSy
-zhfzLMdiNlXiItiJVbSYSKpk+tYcNthEeFpaIzpXl/V6ME+un2pMSyuOoAPjPuCp1NJ70rOo4nI8
-rZ7/gFnkm0W09juwzTkZmDLl6iFhkOQxIY40sfcvNUqFENrnijchvllj4PKFiDFT1FQUhXB59C4G
-dyd1Lx+4ivn+xbrYNuSD7Odlt79jWvNGr4GUN9RBjNYj1h7P9WgbRGOiWrqnNVmh5XAFmw4jV5mU
-Cm26OWMohpLzGITY+9HPBVZkVw==
------END CERTIFICATE-----
-
-Cybertrust Global Root
-======================
------BEGIN CERTIFICATE-----
-MIIDoTCCAomgAwIBAgILBAAAAAABD4WqLUgwDQYJKoZIhvcNAQEFBQAwOzEYMBYGA1UEChMPQ3li
-ZXJ0cnVzdCwgSW5jMR8wHQYDVQQDExZDeWJlcnRydXN0IEdsb2JhbCBSb290MB4XDTA2MTIxNTA4
-MDAwMFoXDTIxMTIxNTA4MDAwMFowOzEYMBYGA1UEChMPQ3liZXJ0cnVzdCwgSW5jMR8wHQYDVQQD
-ExZDeWJlcnRydXN0IEdsb2JhbCBSb290MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA
-+Mi8vRRQZhP/8NN57CPytxrHjoXxEnOmGaoQ25yiZXRadz5RfVb23CO21O1fWLE3TdVJDm71aofW
-0ozSJ8bi/zafmGWgE07GKmSb1ZASzxQG9Dvj1Ci+6A74q05IlG2OlTEQXO2iLb3VOm2yHLtgwEZL
-AfVJrn5GitB0jaEMAs7u/OePuGtm839EAL9mJRQr3RAwHQeWP032a7iPt3sMpTjr3kfb1V05/Iin
-89cqdPHoWqI7n1C6poxFNcJQZZXcY4Lv3b93TZxiyWNzFtApD0mpSPCzqrdsxacwOUBdrsTiXSZT
-8M4cIwhhqJQZugRiQOwfOHB3EgZxpzAYXSUnpQIDAQABo4GlMIGiMA4GA1UdDwEB/wQEAwIBBjAP
-BgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBS2CHsNesysIEyGVjJez6tuhS1wVzA/BgNVHR8EODA2
-MDSgMqAwhi5odHRwOi8vd3d3Mi5wdWJsaWMtdHJ1c3QuY29tL2NybC9jdC9jdHJvb3QuY3JsMB8G
-A1UdIwQYMBaAFLYIew16zKwgTIZWMl7Pq26FLXBXMA0GCSqGSIb3DQEBBQUAA4IBAQBW7wojoFRO
-lZfJ+InaRcHUowAl9B8Tq7ejhVhpwjCt2BWKLePJzYFa+HMjWqd8BfP9IjsO0QbE2zZMcwSO5bAi
-5MXzLqXZI+O4Tkogp24CJJ8iYGd7ix1yCcUxXOl5n4BHPa2hCwcUPUf/A2kaDAtE52Mlp3+yybh2
-hO0j9n0Hq0V+09+zv+mKts2oomcrUtW3ZfA5TGOgkXmTUg9U3YO7n9GPp1Nzw8v/MOx8BLjYRB+T
-X3EJIrduPuocA06dGiBh+4E37F78CkWr1+cXVdCg6mCbpvbjjFspwgZgFJ0tl0ypkxWdYcQBX0jW
-WL1WMRJOEcgh4LMRkWXbtKaIOM5V
------END CERTIFICATE-----
-
-ePKI Root Certification Authority
-=================================
------BEGIN CERTIFICATE-----
-MIIFsDCCA5igAwIBAgIQFci9ZUdcr7iXAF7kBtK8nTANBgkqhkiG9w0BAQUFADBeMQswCQYDVQQG
-EwJUVzEjMCEGA1UECgwaQ2h1bmdod2EgVGVsZWNvbSBDby4sIEx0ZC4xKjAoBgNVBAsMIWVQS0kg
-Um9vdCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTAeFw0wNDEyMjAwMjMxMjdaFw0zNDEyMjAwMjMx
-MjdaMF4xCzAJBgNVBAYTAlRXMSMwIQYDVQQKDBpDaHVuZ2h3YSBUZWxlY29tIENvLiwgTHRkLjEq
-MCgGA1UECwwhZVBLSSBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MIICIjANBgkqhkiG9w0B
-AQEFAAOCAg8AMIICCgKCAgEA4SUP7o3biDN1Z82tH306Tm2d0y8U82N0ywEhajfqhFAHSyZbCUNs
-IZ5qyNUD9WBpj8zwIuQf5/dqIjG3LBXy4P4AakP/h2XGtRrBp0xtInAhijHyl3SJCRImHJ7K2RKi
-lTza6We/CKBk49ZCt0Xvl/T29de1ShUCWH2YWEtgvM3XDZoTM1PRYfl61dd4s5oz9wCGzh1NlDiv
-qOx4UXCKXBCDUSH3ET00hl7lSM2XgYI1TBnsZfZrxQWh7kcT1rMhJ5QQCtkkO7q+RBNGMD+XPNjX
-12ruOzjjK9SXDrkb5wdJfzcq+Xd4z1TtW0ado4AOkUPB1ltfFLqfpo0kR0BZv3I4sjZsN/+Z0V0O
-WQqraffAsgRFelQArr5T9rXn4fg8ozHSqf4hUmTFpmfwdQcGlBSBVcYn5AGPF8Fqcde+S/uUWH1+
-ETOxQvdibBjWzwloPn9s9h6PYq2lY9sJpx8iQkEeb5mKPtf5P0B6ebClAZLSnT0IFaUQAS2zMnao
-lQ2zepr7BxB4EW/hj8e6DyUadCrlHJhBmd8hh+iVBmoKs2pHdmX2Os+PYhcZewoozRrSgx4hxyy/
-vv9haLdnG7t4TY3OZ+XkwY63I2binZB1NJipNiuKmpS5nezMirH4JYlcWrYvjB9teSSnUmjDhDXi
-Zo1jDiVN1Rmy5nk3pyKdVDECAwEAAaNqMGgwHQYDVR0OBBYEFB4M97Zn8uGSJglFwFU5Lnc/Qkqi
-MAwGA1UdEwQFMAMBAf8wOQYEZyoHAAQxMC8wLQIBADAJBgUrDgMCGgUAMAcGBWcqAwAABBRFsMLH
-ClZ87lt4DJX5GFPBphzYEDANBgkqhkiG9w0BAQUFAAOCAgEACbODU1kBPpVJufGBuvl2ICO1J2B0
-1GqZNF5sAFPZn/KmsSQHRGoqxqWOeBLoR9lYGxMqXnmbnwoqZ6YlPwZpVnPDimZI+ymBV3QGypzq
-KOg4ZyYr8dW1P2WT+DZdjo2NQCCHGervJ8A9tDkPJXtoUHRVnAxZfVo9QZQlUgjgRywVMRnVvwdV
-xrsStZf0X4OFunHB2WyBEXYKCrC/gpf36j36+uwtqSiUO1bd0lEursC9CBWMd1I0ltabrNMdjmEP
-NXubrjlpC2JgQCA2j6/7Nu4tCEoduL+bXPjqpRugc6bY+G7gMwRfaKonh+3ZwZCc7b3jajWvY9+r
-GNm65ulK6lCKD2GTHuItGeIwlDWSXQ62B68ZgI9HkFFLLk3dheLSClIKF5r8GrBQAuUBo2M3IUxE
-xJtRmREOc5wGj1QupyheRDmHVi03vYVElOEMSyycw5KFNGHLD7ibSkNS/jQ6fbjpKdx2qcgw+BRx
-gMYeNkh0IkFch4LoGHGLQYlE535YW6i4jRPpp2zDR+2zGp1iro2C6pSe3VkQw63d4k3jMdXH7Ojy
-sP6SHhYKGvzZ8/gntsm+HbRsZJB/9OTEW9c3rkIO3aQab3yIVMUWbuF6aC74Or8NpDyJO3inTmOD
-BCEIZ43ygknQW/2xzQ+DhNQ+IIX3Sj0rnP0qCglN6oH4EZw=
------END CERTIFICATE-----
-
-certSIGN ROOT CA
-================
------BEGIN CERTIFICATE-----
-MIIDODCCAiCgAwIBAgIGIAYFFnACMA0GCSqGSIb3DQEBBQUAMDsxCzAJBgNVBAYTAlJPMREwDwYD
-VQQKEwhjZXJ0U0lHTjEZMBcGA1UECxMQY2VydFNJR04gUk9PVCBDQTAeFw0wNjA3MDQxNzIwMDRa
-Fw0zMTA3MDQxNzIwMDRaMDsxCzAJBgNVBAYTAlJPMREwDwYDVQQKEwhjZXJ0U0lHTjEZMBcGA1UE
-CxMQY2VydFNJR04gUk9PVCBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALczuX7I
-JUqOtdu0KBuqV5Do0SLTZLrTk+jUrIZhQGpgV2hUhE28alQCBf/fm5oqrl0Hj0rDKH/v+yv6efHH
-rfAQUySQi2bJqIirr1qjAOm+ukbuW3N7LBeCgV5iLKECZbO9xSsAfsT8AzNXDe3i+s5dRdY4zTW2
-ssHQnIFKquSyAVwdj1+ZxLGt24gh65AIgoDzMKND5pCCrlUoSe1b16kQOA7+j0xbm0bqQfWwCHTD
-0IgztnzXdN/chNFDDnU5oSVAKOp4yw4sLjmdjItuFhwvJoIQ4uNllAoEwF73XVv4EOLQunpL+943
-AAAaWyjj0pxzPjKHmKHJUS/X3qwzs08CAwEAAaNCMEAwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8B
-Af8EBAMCAcYwHQYDVR0OBBYEFOCMm9slSbPxfIbWskKHC9BroNnkMA0GCSqGSIb3DQEBBQUAA4IB
-AQA+0hyJLjX8+HXd5n9liPRyTMks1zJO890ZeUe9jjtbkw9QSSQTaxQGcu8J06Gh40CEyecYMnQ8
-SG4Pn0vU9x7Tk4ZkVJdjclDVVc/6IJMCopvDI5NOFlV2oHB5bc0hH88vLbwZ44gx+FkagQnIl6Z0
-x2DEW8xXjrJ1/RsCCdtZb3KTafcxQdaIOL+Hsr0Wefmq5L6IJd1hJyMctTEHBDa0GpC9oHRxUIlt
-vBTjD4au8as+x6AJzKNI0eDbZOeStc+vckNwi/nDhDwTqn6Sm1dTk/pwwpEOMfmbZ13pljheX7Nz
-TogVZ96edhBiIL5VaZVDADlN9u6wWk5JRFRYX0KD
------END CERTIFICATE-----
-
-GeoTrust Primary Certification Authority - G3
-=============================================
------BEGIN CERTIFICATE-----
-MIID/jCCAuagAwIBAgIQFaxulBmyeUtB9iepwxgPHzANBgkqhkiG9w0BAQsFADCBmDELMAkGA1UE
-BhMCVVMxFjAUBgNVBAoTDUdlb1RydXN0IEluYy4xOTA3BgNVBAsTMChjKSAyMDA4IEdlb1RydXN0
-IEluYy4gLSBGb3IgYXV0aG9yaXplZCB1c2Ugb25seTE2MDQGA1UEAxMtR2VvVHJ1c3QgUHJpbWFy
-eSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eSAtIEczMB4XDTA4MDQwMjAwMDAwMFoXDTM3MTIwMTIz
-NTk1OVowgZgxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1HZW9UcnVzdCBJbmMuMTkwNwYDVQQLEzAo
-YykgMjAwOCBHZW9UcnVzdCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxNjA0BgNVBAMT
-LUdlb1RydXN0IFByaW1hcnkgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkgLSBHMzCCASIwDQYJKoZI
-hvcNAQEBBQADggEPADCCAQoCggEBANziXmJYHTNXOTIz+uvLh4yn1ErdBojqZI4xmKU4kB6Yzy5j
-K/BGvESyiaHAKAxJcCGVn2TAppMSAmUmhsalifD614SgcK9PGpc/BkTVyetyEH3kMSj7HGHmKAdE
-c5IiaacDiGydY8hS2pgn5whMcD60yRLBxWeDXTPzAxHsatBT4tG6NmCUgLthY2xbF37fQJQeqw3C
-IShwiP/WJmxsYAQlTlV+fe+/lEjetx3dcI0FX4ilm/LC7urRQEFtYjgdVgbFA0dRIBn8exALDmKu
-dlW/X3e+PkkBUz2YJQN2JFodtNuJ6nnltrM7P7pMKEF/BqxqjsHQ9gUdfeZChuOl1UcCAwEAAaNC
-MEAwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFMR5yo6hTgMdHNxr
-2zFblD4/MH8tMA0GCSqGSIb3DQEBCwUAA4IBAQAtxRPPVoB7eni9n64smefv2t+UXglpp+duaIy9
-cr5HqQ6XErhK8WTTOd8lNNTBzU6B8A8ExCSzNJbGpqow32hhc9f5joWJ7w5elShKKiePEI4ufIbE
-Ap7aDHdlDkQNkv39sxY2+hENHYwOB4lqKVb3cvTdFZx3NWZXqxNT2I7BQMXXExZacse3aQHEerGD
-AWh9jUGhlBjBJVz88P6DAod8DQ3PLghcSkANPuyBYeYk28rgDi0Hsj5W3I31QYUHSJsMC8tJP33s
-t/3LjWeJGqvtux6jAAgIFyqCXDFdRootD4abdNlF+9RAsXqqaC2Gspki4cErx5z481+oghLrGREt
------END CERTIFICATE-----
-
-thawte Primary Root CA - G2
-===========================
------BEGIN CERTIFICATE-----
-MIICiDCCAg2gAwIBAgIQNfwmXNmET8k9Jj1Xm67XVjAKBggqhkjOPQQDAzCBhDELMAkGA1UEBhMC
-VVMxFTATBgNVBAoTDHRoYXd0ZSwgSW5jLjE4MDYGA1UECxMvKGMpIDIwMDcgdGhhd3RlLCBJbmMu
-IC0gRm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxJDAiBgNVBAMTG3RoYXd0ZSBQcmltYXJ5IFJvb3Qg
-Q0EgLSBHMjAeFw0wNzExMDUwMDAwMDBaFw0zODAxMTgyMzU5NTlaMIGEMQswCQYDVQQGEwJVUzEV
-MBMGA1UEChMMdGhhd3RlLCBJbmMuMTgwNgYDVQQLEy8oYykgMjAwNyB0aGF3dGUsIEluYy4gLSBG
-b3IgYXV0aG9yaXplZCB1c2Ugb25seTEkMCIGA1UEAxMbdGhhd3RlIFByaW1hcnkgUm9vdCBDQSAt
-IEcyMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEotWcgnuVnfFSeIf+iha/BebfowJPDQfGAFG6DAJS
-LSKkQjnE/o/qycG+1E3/n3qe4rF8mq2nhglzh9HnmuN6papu+7qzcMBniKI11KOasf2twu8x+qi5
-8/sIxpHR+ymVo0IwQDAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQU
-mtgAMADna3+FGO6Lts6KDPgR4bswCgYIKoZIzj0EAwMDaQAwZgIxAN344FdHW6fmCsO99YCKlzUN
-G4k8VIZ3KMqh9HneteY4sPBlcIx/AlTCv//YoT7ZzwIxAMSNlPzcU9LcnXgWHxUzI1NS41oxXZ3K
-rr0TKUQNJ1uo52icEvdYPy5yAlejj6EULg==
------END CERTIFICATE-----
-
-thawte Primary Root CA - G3
-===========================
------BEGIN CERTIFICATE-----
-MIIEKjCCAxKgAwIBAgIQYAGXt0an6rS0mtZLL/eQ+zANBgkqhkiG9w0BAQsFADCBrjELMAkGA1UE
-BhMCVVMxFTATBgNVBAoTDHRoYXd0ZSwgSW5jLjEoMCYGA1UECxMfQ2VydGlmaWNhdGlvbiBTZXJ2
-aWNlcyBEaXZpc2lvbjE4MDYGA1UECxMvKGMpIDIwMDggdGhhd3RlLCBJbmMuIC0gRm9yIGF1dGhv
-cml6ZWQgdXNlIG9ubHkxJDAiBgNVBAMTG3RoYXd0ZSBQcmltYXJ5IFJvb3QgQ0EgLSBHMzAeFw0w
-ODA0MDIwMDAwMDBaFw0zNzEyMDEyMzU5NTlaMIGuMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMdGhh
-d3RlLCBJbmMuMSgwJgYDVQQLEx9DZXJ0aWZpY2F0aW9uIFNlcnZpY2VzIERpdmlzaW9uMTgwNgYD
-VQQLEy8oYykgMjAwOCB0aGF3dGUsIEluYy4gLSBGb3IgYXV0aG9yaXplZCB1c2Ugb25seTEkMCIG
-A1UEAxMbdGhhd3RlIFByaW1hcnkgUm9vdCBDQSAtIEczMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8A
-MIIBCgKCAQEAsr8nLPvb2FvdeHsbnndmgcs+vHyu86YnmjSjaDFxODNi5PNxZnmxqWWjpYvVj2At
-P0LMqmsywCPLLEHd5N/8YZzic7IilRFDGF/Eth9XbAoFWCLINkw6fKXRz4aviKdEAhN0cXMKQlkC
-+BsUa0Lfb1+6a4KinVvnSr0eAXLbS3ToO39/fR8EtCab4LRarEc9VbjXsCZSKAExQGbY2SS99irY
-7CFJXJv2eul/VTV+lmuNk5Mny5K76qxAwJ/C+IDPXfRa3M50hqY+bAtTyr2SzhkGcuYMXDhpxwTW
-vGzOW/b3aJzcJRVIiKHpqfiYnODz1TEoYRFsZ5aNOZnLwkUkOQIDAQABo0IwQDAPBgNVHRMBAf8E
-BTADAQH/MA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQUrWyqlGCc7eT/+j4KdCtjA/e2Wb8wDQYJ
-KoZIhvcNAQELBQADggEBABpA2JVlrAmSicY59BDlqQ5mU1143vokkbvnRFHfxhY0Cu9qRFHqKweK
-A3rD6z8KLFIWoCtDuSWQP3CpMyVtRRooOyfPqsMpQhvfO0zAMzRbQYi/aytlryjvsvXDqmbOe1bu
-t8jLZ8HJnBoYuMTDSQPxYA5QzUbF83d597YV4Djbxy8ooAw/dyZ02SUS2jHaGh7cKUGRIjxpp7sC
-8rZcJwOJ9Abqm+RyguOhCcHpABnTPtRwa7pxpqpYrvS76Wy274fMm7v/OeZWYdMKp8RcTGB7BXcm
-er/YB1IsYvdwY9k5vG8cwnncdimvzsUsZAReiDZuMdRAGmI0Nj81Aa6sY6A=
------END CERTIFICATE-----
-
-GeoTrust Primary Certification Authority - G2
-=============================================
------BEGIN CERTIFICATE-----
-MIICrjCCAjWgAwIBAgIQPLL0SAoA4v7rJDteYD7DazAKBggqhkjOPQQDAzCBmDELMAkGA1UEBhMC
-VVMxFjAUBgNVBAoTDUdlb1RydXN0IEluYy4xOTA3BgNVBAsTMChjKSAyMDA3IEdlb1RydXN0IElu
-Yy4gLSBGb3IgYXV0aG9yaXplZCB1c2Ugb25seTE2MDQGA1UEAxMtR2VvVHJ1c3QgUHJpbWFyeSBD
-ZXJ0aWZpY2F0aW9uIEF1dGhvcml0eSAtIEcyMB4XDTA3MTEwNTAwMDAwMFoXDTM4MDExODIzNTk1
-OVowgZgxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1HZW9UcnVzdCBJbmMuMTkwNwYDVQQLEzAoYykg
-MjAwNyBHZW9UcnVzdCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxNjA0BgNVBAMTLUdl
-b1RydXN0IFByaW1hcnkgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkgLSBHMjB2MBAGByqGSM49AgEG
-BSuBBAAiA2IABBWx6P0DFUPlrOuHNxFi79KDNlJ9RVcLSo17VDs6bl8VAsBQps8lL33KSLjHUGMc
-KiEIfJo22Av+0SbFWDEwKCXzXV2juLaltJLtbCyf691DiaI8S0iRHVDsJt/WYC69IaNCMEAwDwYD
-VR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFBVfNVdRVfslsq0DafwBo/q+
-EVXVMAoGCCqGSM49BAMDA2cAMGQCMGSWWaboCd6LuvpaiIjwH5HTRqjySkwCY/tsXzjbLkGTqQ7m
-ndwxHLKgpxgceeHHNgIwOlavmnRs9vuD4DPTCF+hnMJbn0bWtsuRBmOiBuczrD6ogRLQy7rQkgu2
-npaqBA+K
------END CERTIFICATE-----
-
-VeriSign Universal Root Certification Authority
-===============================================
------BEGIN CERTIFICATE-----
-MIIEuTCCA6GgAwIBAgIQQBrEZCGzEyEDDrvkEhrFHTANBgkqhkiG9w0BAQsFADCBvTELMAkGA1UE
-BhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQLExZWZXJpU2lnbiBUcnVzdCBO
-ZXR3b3JrMTowOAYDVQQLEzEoYykgMjAwOCBWZXJpU2lnbiwgSW5jLiAtIEZvciBhdXRob3JpemVk
-IHVzZSBvbmx5MTgwNgYDVQQDEy9WZXJpU2lnbiBVbml2ZXJzYWwgUm9vdCBDZXJ0aWZpY2F0aW9u
-IEF1dGhvcml0eTAeFw0wODA0MDIwMDAwMDBaFw0zNzEyMDEyMzU5NTlaMIG9MQswCQYDVQQGEwJV
-UzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xHzAdBgNVBAsTFlZlcmlTaWduIFRydXN0IE5ldHdv
-cmsxOjA4BgNVBAsTMShjKSAyMDA4IFZlcmlTaWduLCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNl
-IG9ubHkxODA2BgNVBAMTL1ZlcmlTaWduIFVuaXZlcnNhbCBSb290IENlcnRpZmljYXRpb24gQXV0
-aG9yaXR5MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAx2E3XrEBNNti1xWb/1hajCMj
-1mCOkdeQmIN65lgZOIzF9uVkhbSicfvtvbnazU0AtMgtc6XHaXGVHzk8skQHnOgO+k1KxCHfKWGP
-MiJhgsWHH26MfF8WIFFE0XBPV+rjHOPMee5Y2A7Cs0WTwCznmhcrewA3ekEzeOEz4vMQGn+HLL72
-9fdC4uW/h2KJXwBL38Xd5HVEMkE6HnFuacsLdUYI0crSK5XQz/u5QGtkjFdN/BMReYTtXlT2NJ8I
-AfMQJQYXStrxHXpma5hgZqTZ79IugvHw7wnqRMkVauIDbjPTrJ9VAMf2CGqUuV/c4DPxhGD5WycR
-tPwW8rtWaoAljQIDAQABo4GyMIGvMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMG0G
-CCsGAQUFBwEMBGEwX6FdoFswWTBXMFUWCWltYWdlL2dpZjAhMB8wBwYFKw4DAhoEFI/l0xqGrI2O
-a8PPgGrUSBgsexkuMCUWI2h0dHA6Ly9sb2dvLnZlcmlzaWduLmNvbS92c2xvZ28uZ2lmMB0GA1Ud
-DgQWBBS2d/ppSEefUxLVwuoHMnYH0ZcHGTANBgkqhkiG9w0BAQsFAAOCAQEASvj4sAPmLGd75JR3
-Y8xuTPl9Dg3cyLk1uXBPY/ok+myDjEedO2Pzmvl2MpWRsXe8rJq+seQxIcaBlVZaDrHC1LGmWazx
-Y8u4TB1ZkErvkBYoH1quEPuBUDgMbMzxPcP1Y+Oz4yHJJDnp/RVmRvQbEdBNc6N9Rvk97ahfYtTx
-P/jgdFcrGJ2BtMQo2pSXpXDrrB2+BxHw1dvd5Yzw1TKwg+ZX4o+/vqGqvz0dtdQ46tewXDpPaj+P
-wGZsY6rp2aQW9IHRlRQOfc2VNNnSj3BzgXucfr2YYdhFh5iQxeuGMMY1v/D/w1WIg0vvBZIGcfK4
-mJO37M2CYfE45k+XmCpajQ==
------END CERTIFICATE-----
-
-VeriSign Class 3 Public Primary Certification Authority - G4
-============================================================
------BEGIN CERTIFICATE-----
-MIIDhDCCAwqgAwIBAgIQL4D+I4wOIg9IZxIokYesszAKBggqhkjOPQQDAzCByjELMAkGA1UEBhMC
-VVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQLExZWZXJpU2lnbiBUcnVzdCBOZXR3
-b3JrMTowOAYDVQQLEzEoYykgMjAwNyBWZXJpU2lnbiwgSW5jLiAtIEZvciBhdXRob3JpemVkIHVz
-ZSBvbmx5MUUwQwYDVQQDEzxWZXJpU2lnbiBDbGFzcyAzIFB1YmxpYyBQcmltYXJ5IENlcnRpZmlj
-YXRpb24gQXV0aG9yaXR5IC0gRzQwHhcNMDcxMTA1MDAwMDAwWhcNMzgwMTE4MjM1OTU5WjCByjEL
-MAkGA1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQLExZWZXJpU2lnbiBU
-cnVzdCBOZXR3b3JrMTowOAYDVQQLEzEoYykgMjAwNyBWZXJpU2lnbiwgSW5jLiAtIEZvciBhdXRo
-b3JpemVkIHVzZSBvbmx5MUUwQwYDVQQDEzxWZXJpU2lnbiBDbGFzcyAzIFB1YmxpYyBQcmltYXJ5
-IENlcnRpZmljYXRpb24gQXV0aG9yaXR5IC0gRzQwdjAQBgcqhkjOPQIBBgUrgQQAIgNiAASnVnp8
-Utpkmw4tXNherJI9/gHmGUo9FANL+mAnINmDiWn6VMaaGF5VKmTeBvaNSjutEDxlPZCIBIngMGGz
-rl0Bp3vefLK+ymVhAIau2o970ImtTR1ZmkGxvEeA3J5iw/mjgbIwga8wDwYDVR0TAQH/BAUwAwEB
-/zAOBgNVHQ8BAf8EBAMCAQYwbQYIKwYBBQUHAQwEYTBfoV2gWzBZMFcwVRYJaW1hZ2UvZ2lmMCEw
-HzAHBgUrDgMCGgQUj+XTGoasjY5rw8+AatRIGCx7GS4wJRYjaHR0cDovL2xvZ28udmVyaXNpZ24u
-Y29tL3ZzbG9nby5naWYwHQYDVR0OBBYEFLMWkf3upm7ktS5Jj4d4gYDs5bG1MAoGCCqGSM49BAMD
-A2gAMGUCMGYhDBgmYFo4e1ZC4Kf8NoRRkSAsdk1DPcQdhCPQrNZ8NQbOzWm9kA3bbEhCHQ6qQgIx
-AJw9SDkjOVgaFRJZap7v1VmyHVIsmXHNxynfGyphe3HR3vPA5Q06Sqotp9iGKt0uEA==
------END CERTIFICATE-----
-
-NetLock Arany (Class Gold) Főtanúsítvány
-========================================
------BEGIN CERTIFICATE-----
-MIIEFTCCAv2gAwIBAgIGSUEs5AAQMA0GCSqGSIb3DQEBCwUAMIGnMQswCQYDVQQGEwJIVTERMA8G
-A1UEBwwIQnVkYXBlc3QxFTATBgNVBAoMDE5ldExvY2sgS2Z0LjE3MDUGA1UECwwuVGFuw7pzw610
-dsOhbnlraWFkw7NrIChDZXJ0aWZpY2F0aW9uIFNlcnZpY2VzKTE1MDMGA1UEAwwsTmV0TG9jayBB
-cmFueSAoQ2xhc3MgR29sZCkgRsWRdGFuw7pzw610dsOhbnkwHhcNMDgxMjExMTUwODIxWhcNMjgx
-MjA2MTUwODIxWjCBpzELMAkGA1UEBhMCSFUxETAPBgNVBAcMCEJ1ZGFwZXN0MRUwEwYDVQQKDAxO
-ZXRMb2NrIEtmdC4xNzA1BgNVBAsMLlRhbsO6c8OtdHbDoW55a2lhZMOzayAoQ2VydGlmaWNhdGlv
-biBTZXJ2aWNlcykxNTAzBgNVBAMMLE5ldExvY2sgQXJhbnkgKENsYXNzIEdvbGQpIEbFkXRhbsO6
-c8OtdHbDoW55MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAxCRec75LbRTDofTjl5Bu
-0jBFHjzuZ9lk4BqKf8owyoPjIMHj9DrTlF8afFttvzBPhCf2nx9JvMaZCpDyD/V/Q4Q3Y1GLeqVw
-/HpYzY6b7cNGbIRwXdrzAZAj/E4wqX7hJ2Pn7WQ8oLjJM2P+FpD/sLj916jAwJRDC7bVWaaeVtAk
-H3B5r9s5VA1lddkVQZQBr17s9o3x/61k/iCa11zr/qYfCGSji3ZVrR47KGAuhyXoqq8fxmRGILdw
-fzzeSNuWU7c5d+Qa4scWhHaXWy+7GRWF+GmF9ZmnqfI0p6m2pgP8b4Y9VHx2BJtr+UBdADTHLpl1
-neWIA6pN+APSQnbAGwIDAKiLo0UwQzASBgNVHRMBAf8ECDAGAQH/AgEEMA4GA1UdDwEB/wQEAwIB
-BjAdBgNVHQ4EFgQUzPpnk/C2uNClwB7zU/2MU9+D15YwDQYJKoZIhvcNAQELBQADggEBAKt/7hwW
-qZw8UQCgwBEIBaeZ5m8BiFRhbvG5GK1Krf6BQCOUL/t1fC8oS2IkgYIL9WHxHG64YTjrgfpioTta
-YtOUZcTh5m2C+C8lcLIhJsFyUR+MLMOEkMNaj7rP9KdlpeuY0fsFskZ1FSNqb4VjMIDw1Z4fKRzC
-bLBQWV2QWzuoDTDPv31/zvGdg73JRm4gpvlhUbohL3u+pRVjodSVh/GeufOJ8z2FuLjbvrW5Kfna
-NwUASZQDhETnv0Mxz3WLJdH0pmT1kvarBes96aULNmLazAZfNou2XjG4Kvte9nHfRCaexOYNkbQu
-dZWAUWpLMKawYqGT8ZvYzsRjdT9ZR7E=
------END CERTIFICATE-----
-
-Staat der Nederlanden Root CA - G2
-==================================
------BEGIN CERTIFICATE-----
-MIIFyjCCA7KgAwIBAgIEAJiWjDANBgkqhkiG9w0BAQsFADBaMQswCQYDVQQGEwJOTDEeMBwGA1UE
-CgwVU3RhYXQgZGVyIE5lZGVybGFuZGVuMSswKQYDVQQDDCJTdGFhdCBkZXIgTmVkZXJsYW5kZW4g
-Um9vdCBDQSAtIEcyMB4XDTA4MDMyNjExMTgxN1oXDTIwMDMyNTExMDMxMFowWjELMAkGA1UEBhMC
-TkwxHjAcBgNVBAoMFVN0YWF0IGRlciBOZWRlcmxhbmRlbjErMCkGA1UEAwwiU3RhYXQgZGVyIE5l
-ZGVybGFuZGVuIFJvb3QgQ0EgLSBHMjCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAMVZ
-5291qj5LnLW4rJ4L5PnZyqtdj7U5EILXr1HgO+EASGrP2uEGQxGZqhQlEq0i6ABtQ8SpuOUfiUtn
-vWFI7/3S4GCI5bkYYCjDdyutsDeqN95kWSpGV+RLufg3fNU254DBtvPUZ5uW6M7XxgpT0GtJlvOj
-CwV3SPcl5XCsMBQgJeN/dVrlSPhOewMHBPqCYYdu8DvEpMfQ9XQ+pV0aCPKbJdL2rAQmPlU6Yiil
-e7Iwr/g3wtG61jj99O9JMDeZJiFIhQGp5Rbn3JBV3w/oOM2ZNyFPXfUib2rFEhZgF1XyZWampzCR
-OME4HYYEhLoaJXhena/MUGDWE4dS7WMfbWV9whUYdMrhfmQpjHLYFhN9C0lK8SgbIHRrxT3dsKpI
-CT0ugpTNGmXZK4iambwYfp/ufWZ8Pr2UuIHOzZgweMFvZ9C+X+Bo7d7iscksWXiSqt8rYGPy5V65
-48r6f1CGPqI0GAwJaCgRHOThuVw+R7oyPxjMW4T182t0xHJ04eOLoEq9jWYv6q012iDTiIJh8BIi
-trzQ1aTsr1SIJSQ8p22xcik/Plemf1WvbibG/ufMQFxRRIEKeN5KzlW/HdXZt1bv8Hb/C3m1r737
-qWmRRpdogBQ2HbN/uymYNqUg+oJgYjOk7Na6B6duxc8UpufWkjTYgfX8HV2qXB72o007uPc5AgMB
-AAGjgZcwgZQwDwYDVR0TAQH/BAUwAwEB/zBSBgNVHSAESzBJMEcGBFUdIAAwPzA9BggrBgEFBQcC
-ARYxaHR0cDovL3d3dy5wa2lvdmVyaGVpZC5ubC9wb2xpY2llcy9yb290LXBvbGljeS1HMjAOBgNV
-HQ8BAf8EBAMCAQYwHQYDVR0OBBYEFJFoMocVHYnitfGsNig0jQt8YojrMA0GCSqGSIb3DQEBCwUA
-A4ICAQCoQUpnKpKBglBu4dfYszk78wIVCVBR7y29JHuIhjv5tLySCZa59sCrI2AGeYwRTlHSeYAz
-+51IvuxBQ4EffkdAHOV6CMqqi3WtFMTC6GY8ggen5ieCWxjmD27ZUD6KQhgpxrRW/FYQoAUXvQwj
-f/ST7ZwaUb7dRUG/kSS0H4zpX897IZmflZ85OkYcbPnNe5yQzSipx6lVu6xiNGI1E0sUOlWDuYaN
-kqbG9AclVMwWVxJKgnjIFNkXgiYtXSAfea7+1HAWFpWD2DU5/1JddRwWxRNVz0fMdWVSSt7wsKfk
-CpYL+63C4iWEst3kvX5ZbJvw8NjnyvLplzh+ib7M+zkXYT9y2zqR2GUBGR2tUKRXCnxLvJxxcypF
-URmFzI79R6d0lR2o0a9OF7FpJsKqeFdbxU2n5Z4FF5TKsl+gSRiNNOkmbEgeqmiSBeGCc1qb3Adb
-CG19ndeNIdn8FCCqwkXfP+cAslHkwvgFuXkajDTznlvkN1trSt8sV4pAWja63XVECDdCcAz+3F4h
-oKOKwJCcaNpQ5kUQR3i2TtJlycM33+FCY7BXN0Ute4qcvwXqZVUz9zkQxSgqIXobisQk+T8VyJoV
-IPVVYpbtbZNQvOSqeK3Zywplh6ZmwcSBo3c6WB4L7oOLnR7SUqTMHW+wmG2UMbX4cQrcufx9MmDm
-66+KAQ==
------END CERTIFICATE-----
-
-Hongkong Post Root CA 1
-=======================
------BEGIN CERTIFICATE-----
-MIIDMDCCAhigAwIBAgICA+gwDQYJKoZIhvcNAQEFBQAwRzELMAkGA1UEBhMCSEsxFjAUBgNVBAoT
-DUhvbmdrb25nIFBvc3QxIDAeBgNVBAMTF0hvbmdrb25nIFBvc3QgUm9vdCBDQSAxMB4XDTAzMDUx
-NTA1MTMxNFoXDTIzMDUxNTA0NTIyOVowRzELMAkGA1UEBhMCSEsxFjAUBgNVBAoTDUhvbmdrb25n
-IFBvc3QxIDAeBgNVBAMTF0hvbmdrb25nIFBvc3QgUm9vdCBDQSAxMIIBIjANBgkqhkiG9w0BAQEF
-AAOCAQ8AMIIBCgKCAQEArP84tulmAknjorThkPlAj3n54r15/gK97iSSHSL22oVyaf7XPwnU3ZG1
-ApzQjVrhVcNQhrkpJsLj2aDxaQMoIIBFIi1WpztUlVYiWR8o3x8gPW2iNr4joLFutbEnPzlTCeqr
-auh0ssJlXI6/fMN4hM2eFvz1Lk8gKgifd/PFHsSaUmYeSF7jEAaPIpjhZY4bXSNmO7ilMlHIhqqh
-qZ5/dpTCpmy3QfDVyAY45tQM4vM7TG1QjMSDJ8EThFk9nnV0ttgCXjqQesBCNnLsak3c78QA3xMY
-V18meMjWCnl3v/evt3a5pQuEF10Q6m/hq5URX208o1xNg1vysxmKgIsLhwIDAQABoyYwJDASBgNV
-HRMBAf8ECDAGAQH/AgEDMA4GA1UdDwEB/wQEAwIBxjANBgkqhkiG9w0BAQUFAAOCAQEADkbVPK7i
-h9legYsCmEEIjEy82tvuJxuC52pF7BaLT4Wg87JwvVqWuspube5Gi27nKi6Wsxkz67SfqLI37pio
-l7Yutmcn1KZJ/RyTZXaeQi/cImyaT/JaFTmxcdcrUehtHJjA2Sr0oYJ71clBoiMBdDhViw+5Lmei
-IAQ32pwL0xch4I+XeTRvhEgCIDMb5jREn5Fw9IBehEPCKdJsEhTkYY2sEJCehFC78JZvRZ+K88ps
-T/oROhUVRsPNH4NbLUES7VBnQRM9IauUiqpOfMGx+6fWtScvl6tu4B3i0RwsH0Ti/L6RoZz71ilT
-c4afU9hDDl3WY4JxHYB0yvbiAmvZWg==
------END CERTIFICATE-----
-
-SecureSign RootCA11
-===================
------BEGIN CERTIFICATE-----
-MIIDbTCCAlWgAwIBAgIBATANBgkqhkiG9w0BAQUFADBYMQswCQYDVQQGEwJKUDErMCkGA1UEChMi
-SmFwYW4gQ2VydGlmaWNhdGlvbiBTZXJ2aWNlcywgSW5jLjEcMBoGA1UEAxMTU2VjdXJlU2lnbiBS
-b290Q0ExMTAeFw0wOTA0MDgwNDU2NDdaFw0yOTA0MDgwNDU2NDdaMFgxCzAJBgNVBAYTAkpQMSsw
-KQYDVQQKEyJKYXBhbiBDZXJ0aWZpY2F0aW9uIFNlcnZpY2VzLCBJbmMuMRwwGgYDVQQDExNTZWN1
-cmVTaWduIFJvb3RDQTExMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA/XeqpRyQBTvL
-TJszi1oURaTnkBbR31fSIRCkF/3frNYfp+TbfPfs37gD2pRY/V1yfIw/XwFndBWW4wI8h9uuywGO
-wvNmxoVF9ALGOrVisq/6nL+k5tSAMJjzDbaTj6nU2DbysPyKyiyhFTOVMdrAG/LuYpmGYz+/3ZMq
-g6h2uRMft85OQoWPIucuGvKVCbIFtUROd6EgvanyTgp9UK31BQ1FT0Zx/Sg+U/sE2C3XZR1KG/rP
-O7AxmjVuyIsG0wCR8pQIZUyxNAYAeoni8McDWc/V1uinMrPmmECGxc0nEovMe863ETxiYAcjPitA
-bpSACW22s293bzUIUPsCh8U+iQIDAQABo0IwQDAdBgNVHQ4EFgQUW/hNT7KlhtQ60vFjmqC+CfZX
-t94wDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wDQYJKoZIhvcNAQEFBQADggEBAKCh
-OBZmLqdWHyGcBvod7bkixTgm2E5P7KN/ed5GIaGHd48HCJqypMWvDzKYC3xmKbabfSVSSUOrTC4r
-bnpwrxYO4wJs+0LmGJ1F2FXI6Dvd5+H0LgscNFxsWEr7jIhQX5Ucv+2rIrVls4W6ng+4reV6G4pQ
-Oh29Dbx7VFALuUKvVaAYga1lme++5Jy/xIWrQbJUb9wlze144o4MjQlJ3WN7WmmWAiGovVJZ6X01
-y8hSyn+B/tlr0/cR7SXf+Of5pPpyl4RTDaXQMhhRdlkUbA/r7F+AjHVDg8OFmP9Mni0N5HeDk061
-lgeLKBObjBmNQSdJQO7e5iNEOdyhIta6A/I=
------END CERTIFICATE-----
-
-Microsec e-Szigno Root CA 2009
-==============================
------BEGIN CERTIFICATE-----
-MIIECjCCAvKgAwIBAgIJAMJ+QwRORz8ZMA0GCSqGSIb3DQEBCwUAMIGCMQswCQYDVQQGEwJIVTER
-MA8GA1UEBwwIQnVkYXBlc3QxFjAUBgNVBAoMDU1pY3Jvc2VjIEx0ZC4xJzAlBgNVBAMMHk1pY3Jv
-c2VjIGUtU3ppZ25vIFJvb3QgQ0EgMjAwOTEfMB0GCSqGSIb3DQEJARYQaW5mb0BlLXN6aWduby5o
-dTAeFw0wOTA2MTYxMTMwMThaFw0yOTEyMzAxMTMwMThaMIGCMQswCQYDVQQGEwJIVTERMA8GA1UE
-BwwIQnVkYXBlc3QxFjAUBgNVBAoMDU1pY3Jvc2VjIEx0ZC4xJzAlBgNVBAMMHk1pY3Jvc2VjIGUt
-U3ppZ25vIFJvb3QgQ0EgMjAwOTEfMB0GCSqGSIb3DQEJARYQaW5mb0BlLXN6aWduby5odTCCASIw
-DQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOn4j/NjrdqG2KfgQvvPkd6mJviZpWNwrZuuyjNA
-fW2WbqEORO7hE52UQlKavXWFdCyoDh2Tthi3jCyoz/tccbna7P7ofo/kLx2yqHWH2Leh5TvPmUpG
-0IMZfcChEhyVbUr02MelTTMuhTlAdX4UfIASmFDHQWe4oIBhVKZsTh/gnQ4H6cm6M+f+wFUoLAKA
-pxn1ntxVUwOXewdI/5n7N4okxFnMUBBjjqqpGrCEGob5X7uxUG6k0QrM1XF+H6cbfPVTbiJfyyvm
-1HxdrtbCxkzlBQHZ7Vf8wSN5/PrIJIOV87VqUQHQd9bpEqH5GoP7ghu5sJf0dgYzQ0mg/wu1+rUC
-AwEAAaOBgDB+MA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBTLD8bf
-QkPMPcu1SCOhGnqmKrs0aDAfBgNVHSMEGDAWgBTLD8bfQkPMPcu1SCOhGnqmKrs0aDAbBgNVHREE
-FDASgRBpbmZvQGUtc3ppZ25vLmh1MA0GCSqGSIb3DQEBCwUAA4IBAQDJ0Q5eLtXMs3w+y/w9/w0o
-lZMEyL/azXm4Q5DwpL7v8u8hmLzU1F0G9u5C7DBsoKqpyvGvivo/C3NqPuouQH4frlRheesuCDfX
-I/OMn74dseGkddug4lQUsbocKaQY9hK6ohQU4zE1yED/t+AFdlfBHFny+L/k7SViXITwfn4fs775
-tyERzAMBVnCnEJIeGzSBHq2cGsMEPO0CYdYeBvNfOofyK/FFh+U9rNHHV4S9a67c2Pm2G2JwCz02
-yULyMtd6YebS2z3PyKnJm9zbWETXbzivf3jTo60adbocwTZ8jx5tHMN1Rq41Bab2XD0h7lbwyYIi
-LXpUq3DDfSJlgnCW
------END CERTIFICATE-----
-
-GlobalSign Root CA - R3
-=======================
------BEGIN CERTIFICATE-----
-MIIDXzCCAkegAwIBAgILBAAAAAABIVhTCKIwDQYJKoZIhvcNAQELBQAwTDEgMB4GA1UECxMXR2xv
-YmFsU2lnbiBSb290IENBIC0gUjMxEzARBgNVBAoTCkdsb2JhbFNpZ24xEzARBgNVBAMTCkdsb2Jh
-bFNpZ24wHhcNMDkwMzE4MTAwMDAwWhcNMjkwMzE4MTAwMDAwWjBMMSAwHgYDVQQLExdHbG9iYWxT
-aWduIFJvb3QgQ0EgLSBSMzETMBEGA1UEChMKR2xvYmFsU2lnbjETMBEGA1UEAxMKR2xvYmFsU2ln
-bjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMwldpB5BngiFvXAg7aEyiie/QV2EcWt
-iHL8RgJDx7KKnQRfJMsuS+FggkbhUqsMgUdwbN1k0ev1LKMPgj0MK66X17YUhhB5uzsTgHeMCOFJ
-0mpiLx9e+pZo34knlTifBtc+ycsmWQ1z3rDI6SYOgxXG71uL0gRgykmmKPZpO/bLyCiR5Z2KYVc3
-rHQU3HTgOu5yLy6c+9C7v/U9AOEGM+iCK65TpjoWc4zdQQ4gOsC0p6Hpsk+QLjJg6VfLuQSSaGjl
-OCZgdbKfd/+RFO+uIEn8rUAVSNECMWEZXriX7613t2Saer9fwRPvm2L7DWzgVGkWqQPabumDk3F2
-xmmFghcCAwEAAaNCMEAwDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYE
-FI/wS3+oLkUkrk1Q+mOai97i3Ru8MA0GCSqGSIb3DQEBCwUAA4IBAQBLQNvAUKr+yAzv95ZURUm7
-lgAJQayzE4aGKAczymvmdLm6AC2upArT9fHxD4q/c2dKg8dEe3jgr25sbwMpjjM5RcOO5LlXbKr8
-EpbsU8Yt5CRsuZRj+9xTaGdWPoO4zzUhw8lo/s7awlOqzJCK6fBdRoyV3XpYKBovHd7NADdBj+1E
-bddTKJd+82cEHhXXipa0095MJ6RMG3NzdvQXmcIfeg7jLQitChws/zyrVQ4PkX4268NXSb7hLi18
-YIvDQVETI53O9zJrlAGomecsMx86OyXShkDOOyyGeMlhLxS67ttVb9+E7gUJTb0o2HLO02JQZR7r
-kpeDMdmztcpHWD9f
------END CERTIFICATE-----
-
-Autoridad de Certificacion Firmaprofesional CIF A62634068
-=========================================================
------BEGIN CERTIFICATE-----
-MIIGFDCCA/ygAwIBAgIIU+w77vuySF8wDQYJKoZIhvcNAQEFBQAwUTELMAkGA1UEBhMCRVMxQjBA
-BgNVBAMMOUF1dG9yaWRhZCBkZSBDZXJ0aWZpY2FjaW9uIEZpcm1hcHJvZmVzaW9uYWwgQ0lGIEE2
-MjYzNDA2ODAeFw0wOTA1MjAwODM4MTVaFw0zMDEyMzEwODM4MTVaMFExCzAJBgNVBAYTAkVTMUIw
-QAYDVQQDDDlBdXRvcmlkYWQgZGUgQ2VydGlmaWNhY2lvbiBGaXJtYXByb2Zlc2lvbmFsIENJRiBB
-NjI2MzQwNjgwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDKlmuO6vj78aI14H9M2uDD
-Utd9thDIAl6zQyrET2qyyhxdKJp4ERppWVevtSBC5IsP5t9bpgOSL/UR5GLXMnE42QQMcas9UX4P
-B99jBVzpv5RvwSmCwLTaUbDBPLutN0pcyvFLNg4kq7/DhHf9qFD0sefGL9ItWY16Ck6WaVICqjaY
-7Pz6FIMMNx/Jkjd/14Et5cS54D40/mf0PmbR0/RAz15iNA9wBj4gGFrO93IbJWyTdBSTo3OxDqqH
-ECNZXyAFGUftaI6SEspd/NYrspI8IM/hX68gvqB2f3bl7BqGYTM+53u0P6APjqK5am+5hyZvQWyI
-plD9amML9ZMWGxmPsu2bm8mQ9QEM3xk9Dz44I8kvjwzRAv4bVdZO0I08r0+k8/6vKtMFnXkIoctX
-MbScyJCyZ/QYFpM6/EfY0XiWMR+6KwxfXZmtY4laJCB22N/9q06mIqqdXuYnin1oKaPnirjaEbsX
-LZmdEyRG98Xi2J+Of8ePdG1asuhy9azuJBCtLxTa/y2aRnFHvkLfuwHb9H/TKI8xWVvTyQKmtFLK
-bpf7Q8UIJm+K9Lv9nyiqDdVF8xM6HdjAeI9BZzwelGSuewvF6NkBiDkal4ZkQdU7hwxu+g/GvUgU
-vzlN1J5Bto+WHWOWk9mVBngxaJ43BjuAiUVhOSPHG0SjFeUc+JIwuwIDAQABo4HvMIHsMBIGA1Ud
-EwEB/wQIMAYBAf8CAQEwDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBRlzeurNR4APn7VdMActHNH
-DhpkLzCBpgYDVR0gBIGeMIGbMIGYBgRVHSAAMIGPMC8GCCsGAQUFBwIBFiNodHRwOi8vd3d3LmZp
-cm1hcHJvZmVzaW9uYWwuY29tL2NwczBcBggrBgEFBQcCAjBQHk4AUABhAHMAZQBvACAAZABlACAA
-bABhACAAQgBvAG4AYQBuAG8AdgBhACAANAA3ACAAQgBhAHIAYwBlAGwAbwBuAGEAIAAwADgAMAAx
-ADcwDQYJKoZIhvcNAQEFBQADggIBABd9oPm03cXF661LJLWhAqvdpYhKsg9VSytXjDvlMd3+xDLx
-51tkljYyGOylMnfX40S2wBEqgLk9am58m9Ot/MPWo+ZkKXzR4Tgegiv/J2Wv+xYVxC5xhOW1//qk
-R71kMrv2JYSiJ0L1ILDCExARzRAVukKQKtJE4ZYm6zFIEv0q2skGz3QeqUvVhyj5eTSSPi5E6PaP
-T481PyWzOdxjKpBrIF/EUhJOlywqrJ2X3kjyo2bbwtKDlaZmp54lD+kLM5FlClrD2VQS3a/DTg4f
-Jl4N3LON7NWBcN7STyQF82xO9UxJZo3R/9ILJUFI/lGExkKvgATP0H5kSeTy36LssUzAKh3ntLFl
-osS88Zj0qnAHY7S42jtM+kAiMFsRpvAFDsYCA0irhpuF3dvd6qJ2gHN99ZwExEWN57kci57q13XR
-crHedUTnQn3iV2t93Jm8PYMo6oCTjcVMZcFwgbg4/EMxsvYDNEeyrPsiBsse3RdHHF9mudMaotoR
-saS8I8nkvof/uZS2+F0gStRf571oe2XyFR7SOqkt6dhrJKyXWERHrVkY8SFlcN7ONGCoQPHzPKTD
-KCOM/iczQ0CgFzzr6juwcqajuUpLXhZI9LK8yIySxZ2frHI2vDSANGupi5LAuBft7HZT9SQBjLMi
-6Et8Vcad+qMUu2WFbm5PEn4KPJ2V
------END CERTIFICATE-----
-
-Izenpe.com
-==========
------BEGIN CERTIFICATE-----
-MIIF8TCCA9mgAwIBAgIQALC3WhZIX7/hy/WL1xnmfTANBgkqhkiG9w0BAQsFADA4MQswCQYDVQQG
-EwJFUzEUMBIGA1UECgwLSVpFTlBFIFMuQS4xEzARBgNVBAMMCkl6ZW5wZS5jb20wHhcNMDcxMjEz
-MTMwODI4WhcNMzcxMjEzMDgyNzI1WjA4MQswCQYDVQQGEwJFUzEUMBIGA1UECgwLSVpFTlBFIFMu
-QS4xEzARBgNVBAMMCkl6ZW5wZS5jb20wggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDJ
-03rKDx6sp4boFmVqscIbRTJxldn+EFvMr+eleQGPicPK8lVx93e+d5TzcqQsRNiekpsUOqHnJJAK
-ClaOxdgmlOHZSOEtPtoKct2jmRXagaKH9HtuJneJWK3W6wyyQXpzbm3benhB6QiIEn6HLmYRY2xU
-+zydcsC8Lv/Ct90NduM61/e0aL6i9eOBbsFGb12N4E3GVFWJGjMxCrFXuaOKmMPsOzTFlUFpfnXC
-PCDFYbpRR6AgkJOhkEvzTnyFRVSa0QUmQbC1TR0zvsQDyCV8wXDbO/QJLVQnSKwv4cSsPsjLkkxT
-OTcj7NMB+eAJRE1NZMDhDVqHIrytG6P+JrUV86f8hBnp7KGItERphIPzidF0BqnMC9bC3ieFUCbK
-F7jJeodWLBoBHmy+E60QrLUk9TiRodZL2vG70t5HtfG8gfZZa88ZU+mNFctKy6lvROUbQc/hhqfK
-0GqfvEyNBjNaooXlkDWgYlwWTvDjovoDGrQscbNYLN57C9saD+veIR8GdwYDsMnvmfzAuU8Lhij+
-0rnq49qlw0dpEuDb8PYZi+17cNcC1u2HGCgsBCRMd+RIihrGO5rUD8r6ddIBQFqNeb+Lz0vPqhbB
-leStTIo+F5HUsWLlguWABKQDfo2/2n+iD5dPDNMN+9fR5XJ+HMh3/1uaD7euBUbl8agW7EekFwID
-AQABo4H2MIHzMIGwBgNVHREEgagwgaWBD2luZm9AaXplbnBlLmNvbaSBkTCBjjFHMEUGA1UECgw+
-SVpFTlBFIFMuQS4gLSBDSUYgQTAxMzM3MjYwLVJNZXJjLlZpdG9yaWEtR2FzdGVpeiBUMTA1NSBG
-NjIgUzgxQzBBBgNVBAkMOkF2ZGEgZGVsIE1lZGl0ZXJyYW5lbyBFdG9yYmlkZWEgMTQgLSAwMTAx
-MCBWaXRvcmlhLUdhc3RlaXowDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0O
-BBYEFB0cZQ6o8iV7tJHP5LGx5r1VdGwFMA0GCSqGSIb3DQEBCwUAA4ICAQB4pgwWSp9MiDrAyw6l
-Fn2fuUhfGI8NYjb2zRlrrKvV9pF9rnHzP7MOeIWblaQnIUdCSnxIOvVFfLMMjlF4rJUT3sb9fbga
-kEyrkgPH7UIBzg/YsfqikuFgba56awmqxinuaElnMIAkejEWOVt+8Rwu3WwJrfIxwYJOubv5vr8q
-hT/AQKM6WfxZSzwoJNu0FXWuDYi6LnPAvViH5ULy617uHjAimcs30cQhbIHsvm0m5hzkQiCeR7Cs
-g1lwLDXWrzY0tM07+DKo7+N4ifuNRSzanLh+QBxh5z6ikixL8s36mLYp//Pye6kfLqCTVyvehQP5
-aTfLnnhqBbTFMXiJ7HqnheG5ezzevh55hM6fcA5ZwjUukCox2eRFekGkLhObNA5me0mrZJfQRsN5
-nXJQY6aYWwa9SG3YOYNw6DXwBdGqvOPbyALqfP2C2sJbUjWumDqtujWTI6cfSN01RpiyEGjkpTHC
-ClguGYEQyVB1/OpaFs4R1+7vUIgtYf8/QnMFlEPVjjxOAToZpR9GTnfQXeWBIiGH/pR9hNiTrdZo
-Q0iy2+tzJOeRf1SktoA+naM8THLCV8Sg1Mw4J87VBp6iSNnpn86CcDaTmjvfliHjWbcM2pE38P1Z
-WrOZyGlsQyYBNWNgVYkDOnXYukrZVP/u3oDYLdE41V4tC5h9Pmzb/CaIxw==
------END CERTIFICATE-----
-
-Chambers of Commerce Root - 2008
-================================
------BEGIN CERTIFICATE-----
-MIIHTzCCBTegAwIBAgIJAKPaQn6ksa7aMA0GCSqGSIb3DQEBBQUAMIGuMQswCQYDVQQGEwJFVTFD
-MEEGA1UEBxM6TWFkcmlkIChzZWUgY3VycmVudCBhZGRyZXNzIGF0IHd3dy5jYW1lcmZpcm1hLmNv
-bS9hZGRyZXNzKTESMBAGA1UEBRMJQTgyNzQzMjg3MRswGQYDVQQKExJBQyBDYW1lcmZpcm1hIFMu
-QS4xKTAnBgNVBAMTIENoYW1iZXJzIG9mIENvbW1lcmNlIFJvb3QgLSAyMDA4MB4XDTA4MDgwMTEy
-Mjk1MFoXDTM4MDczMTEyMjk1MFowga4xCzAJBgNVBAYTAkVVMUMwQQYDVQQHEzpNYWRyaWQgKHNl
-ZSBjdXJyZW50IGFkZHJlc3MgYXQgd3d3LmNhbWVyZmlybWEuY29tL2FkZHJlc3MpMRIwEAYDVQQF
-EwlBODI3NDMyODcxGzAZBgNVBAoTEkFDIENhbWVyZmlybWEgUy5BLjEpMCcGA1UEAxMgQ2hhbWJl
-cnMgb2YgQ29tbWVyY2UgUm9vdCAtIDIwMDgwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoIC
-AQCvAMtwNyuAWko6bHiUfaN/Gh/2NdW928sNRHI+JrKQUrpjOyhYb6WzbZSm891kDFX29ufyIiKA
-XuFixrYp4YFs8r/lfTJqVKAyGVn+H4vXPWCGhSRv4xGzdz4gljUha7MI2XAuZPeEklPWDrCQiorj
-h40G072QDuKZoRuGDtqaCrsLYVAGUvGef3bsyw/QHg3PmTA9HMRFEFis1tPo1+XqxQEHd9ZR5gN/
-ikilTWh1uem8nk4ZcfUyS5xtYBkL+8ydddy/Js2Pk3g5eXNeJQ7KXOt3EgfLZEFHcpOrUMPrCXZk
-NNI5t3YRCQ12RcSprj1qr7V9ZS+UWBDsXHyvfuK2GNnQm05aSd+pZgvMPMZ4fKecHePOjlO+Bd5g
-D2vlGts/4+EhySnB8esHnFIbAURRPHsl18TlUlRdJQfKFiC4reRB7noI/plvg6aRArBsNlVq5331
-lubKgdaX8ZSD6e2wsWsSaR6s+12pxZjptFtYer49okQ6Y1nUCyXeG0+95QGezdIp1Z8XGQpvvwyQ
-0wlf2eOKNcx5Wk0ZN5K3xMGtr/R5JJqyAQuxr1yW84Ay+1w9mPGgP0revq+ULtlVmhduYJ1jbLhj
-ya6BXBg14JC7vjxPNyK5fuvPnnchpj04gftI2jE9K+OJ9dC1vX7gUMQSibMjmhAxhduub+84Mxh2
-EQIDAQABo4IBbDCCAWgwEgYDVR0TAQH/BAgwBgEB/wIBDDAdBgNVHQ4EFgQU+SSsD7K1+HnA+mCI
-G8TZTQKeFxkwgeMGA1UdIwSB2zCB2IAU+SSsD7K1+HnA+mCIG8TZTQKeFxmhgbSkgbEwga4xCzAJ
-BgNVBAYTAkVVMUMwQQYDVQQHEzpNYWRyaWQgKHNlZSBjdXJyZW50IGFkZHJlc3MgYXQgd3d3LmNh
-bWVyZmlybWEuY29tL2FkZHJlc3MpMRIwEAYDVQQFEwlBODI3NDMyODcxGzAZBgNVBAoTEkFDIENh
-bWVyZmlybWEgUy5BLjEpMCcGA1UEAxMgQ2hhbWJlcnMgb2YgQ29tbWVyY2UgUm9vdCAtIDIwMDiC
-CQCj2kJ+pLGu2jAOBgNVHQ8BAf8EBAMCAQYwPQYDVR0gBDYwNDAyBgRVHSAAMCowKAYIKwYBBQUH
-AgEWHGh0dHA6Ly9wb2xpY3kuY2FtZXJmaXJtYS5jb20wDQYJKoZIhvcNAQEFBQADggIBAJASryI1
-wqM58C7e6bXpeHxIvj99RZJe6dqxGfwWPJ+0W2aeaufDuV2I6A+tzyMP3iU6XsxPpcG1Lawk0lgH
-3qLPaYRgM+gQDROpI9CF5Y57pp49chNyM/WqfcZjHwj0/gF/JM8rLFQJ3uIrbZLGOU8W6jx+ekbU
-RWpGqOt1glanq6B8aBMz9p0w8G8nOSQjKpD9kCk18pPfNKXG9/jvjA9iSnyu0/VU+I22mlaHFoI6
-M6taIgj3grrqLuBHmrS1RaMFO9ncLkVAO+rcf+g769HsJtg1pDDFOqxXnrN2pSB7+R5KBWIBpih1
-YJeSDW4+TTdDDZIVnBgizVGZoCkaPF+KMjNbMMeJL0eYD6MDxvbxrN8y8NmBGuScvfaAFPDRLLmF
-9dijscilIeUcE5fuDr3fKanvNFNb0+RqE4QGtjICxFKuItLcsiFCGtpA8CnJ7AoMXOLQusxI0zcK
-zBIKinmwPQN/aUv0NCB9szTqjktk9T79syNnFQ0EuPAtwQlRPLJsFfClI9eDdOTlLsn+mCdCxqvG
-nrDQWzilm1DefhiYtUU79nm06PcaewaD+9CL2rvHvRirCG88gGtAPxkZumWK5r7VXNM21+9AUiRg
-OGcEMeyP84LG3rlV8zsxkVrctQgVrXYlCg17LofiDKYGvCYQbTed7N14jHyAxfDZd0jQ
------END CERTIFICATE-----
-
-Global Chambersign Root - 2008
-==============================
------BEGIN CERTIFICATE-----
-MIIHSTCCBTGgAwIBAgIJAMnN0+nVfSPOMA0GCSqGSIb3DQEBBQUAMIGsMQswCQYDVQQGEwJFVTFD
-MEEGA1UEBxM6TWFkcmlkIChzZWUgY3VycmVudCBhZGRyZXNzIGF0IHd3dy5jYW1lcmZpcm1hLmNv
-bS9hZGRyZXNzKTESMBAGA1UEBRMJQTgyNzQzMjg3MRswGQYDVQQKExJBQyBDYW1lcmZpcm1hIFMu
-QS4xJzAlBgNVBAMTHkdsb2JhbCBDaGFtYmVyc2lnbiBSb290IC0gMjAwODAeFw0wODA4MDExMjMx
-NDBaFw0zODA3MzExMjMxNDBaMIGsMQswCQYDVQQGEwJFVTFDMEEGA1UEBxM6TWFkcmlkIChzZWUg
-Y3VycmVudCBhZGRyZXNzIGF0IHd3dy5jYW1lcmZpcm1hLmNvbS9hZGRyZXNzKTESMBAGA1UEBRMJ
-QTgyNzQzMjg3MRswGQYDVQQKExJBQyBDYW1lcmZpcm1hIFMuQS4xJzAlBgNVBAMTHkdsb2JhbCBD
-aGFtYmVyc2lnbiBSb290IC0gMjAwODCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAMDf
-VtPkOpt2RbQT2//BthmLN0EYlVJH6xedKYiONWwGMi5HYvNJBL99RDaxccy9Wglz1dmFRP+RVyXf
-XjaOcNFccUMd2drvXNL7G706tcuto8xEpw2uIRU/uXpbknXYpBI4iRmKt4DS4jJvVpyR1ogQC7N0
-ZJJ0YPP2zxhPYLIj0Mc7zmFLmY/CDNBAspjcDahOo7kKrmCgrUVSY7pmvWjg+b4aqIG7HkF4ddPB
-/gBVsIdU6CeQNR1MM62X/JcumIS/LMmjv9GYERTtY/jKmIhYF5ntRQOXfjyGHoiMvvKRhI9lNNgA
-TH23MRdaKXoKGCQwoze1eqkBfSbW+Q6OWfH9GzO1KTsXO0G2Id3UwD2ln58fQ1DJu7xsepeY7s2M
-H/ucUa6LcL0nn3HAa6x9kGbo1106DbDVwo3VyJ2dwW3Q0L9R5OP4wzg2rtandeavhENdk5IMagfe
-Ox2YItaswTXbo6Al/3K1dh3ebeksZixShNBFks4c5eUzHdwHU1SjqoI7mjcv3N2gZOnm3b2u/GSF
-HTynyQbehP9r6GsaPMWis0L7iwk+XwhSx2LE1AVxv8Rk5Pihg+g+EpuoHtQ2TS9x9o0o9oOpE9Jh
-wZG7SMA0j0GMS0zbaRL/UJScIINZc+18ofLx/d33SdNDWKBWY8o9PeU1VlnpDsogzCtLkykPAgMB
-AAGjggFqMIIBZjASBgNVHRMBAf8ECDAGAQH/AgEMMB0GA1UdDgQWBBS5CcqcHtvTbDprru1U8VuT
-BjUuXjCB4QYDVR0jBIHZMIHWgBS5CcqcHtvTbDprru1U8VuTBjUuXqGBsqSBrzCBrDELMAkGA1UE
-BhMCRVUxQzBBBgNVBAcTOk1hZHJpZCAoc2VlIGN1cnJlbnQgYWRkcmVzcyBhdCB3d3cuY2FtZXJm
-aXJtYS5jb20vYWRkcmVzcykxEjAQBgNVBAUTCUE4Mjc0MzI4NzEbMBkGA1UEChMSQUMgQ2FtZXJm
-aXJtYSBTLkEuMScwJQYDVQQDEx5HbG9iYWwgQ2hhbWJlcnNpZ24gUm9vdCAtIDIwMDiCCQDJzdPp
-1X0jzjAOBgNVHQ8BAf8EBAMCAQYwPQYDVR0gBDYwNDAyBgRVHSAAMCowKAYIKwYBBQUHAgEWHGh0
-dHA6Ly9wb2xpY3kuY2FtZXJmaXJtYS5jb20wDQYJKoZIhvcNAQEFBQADggIBAICIf3DekijZBZRG
-/5BXqfEv3xoNa/p8DhxJJHkn2EaqbylZUohwEurdPfWbU1Rv4WCiqAm57OtZfMY18dwY6fFn5a+6
-ReAJ3spED8IXDneRRXozX1+WLGiLwUePmJs9wOzL9dWCkoQ10b42OFZyMVtHLaoXpGNR6woBrX/s
-dZ7LoR/xfxKxueRkf2fWIyr0uDldmOghp+G9PUIadJpwr2hsUF1Jz//7Dl3mLEfXgTpZALVza2Mg
-9jFFCDkO9HB+QHBaP9BrQql0PSgvAm11cpUJjUhjxsYjV5KTXjXBjfkK9yydYhz2rXzdpjEetrHH
-foUm+qRqtdpjMNHvkzeyZi99Bffnt0uYlDXA2TopwZ2yUDMdSqlapskD7+3056huirRXhOukP9Du
-qqqHW2Pok+JrqNS4cnhrG+055F3Lm6qH1U9OAP7Zap88MQ8oAgF9mOinsKJknnn4SPIVqczmyETr
-P3iZ8ntxPjzxmKfFGBI/5rsoM0LpRQp8bfKGeS/Fghl9CYl8slR2iK7ewfPM4W7bMdaTrpmg7yVq
-c5iJWzouE4gev8CSlDQb4ye3ix5vQv/n6TebUB0tovkC7stYWDpxvGjjqsGvHCgfotwjZT+B6q6Z
-09gwzxMNTxXJhLynSC34MCN32EZLeW32jO06f2ARePTpm67VVMB0gNELQp/B
------END CERTIFICATE-----
-
-Go Daddy Root Certificate Authority - G2
-========================================
------BEGIN CERTIFICATE-----
-MIIDxTCCAq2gAwIBAgIBADANBgkqhkiG9w0BAQsFADCBgzELMAkGA1UEBhMCVVMxEDAOBgNVBAgT
-B0FyaXpvbmExEzARBgNVBAcTClNjb3R0c2RhbGUxGjAYBgNVBAoTEUdvRGFkZHkuY29tLCBJbmMu
-MTEwLwYDVQQDEyhHbyBEYWRkeSBSb290IENlcnRpZmljYXRlIEF1dGhvcml0eSAtIEcyMB4XDTA5
-MDkwMTAwMDAwMFoXDTM3MTIzMTIzNTk1OVowgYMxCzAJBgNVBAYTAlVTMRAwDgYDVQQIEwdBcml6
-b25hMRMwEQYDVQQHEwpTY290dHNkYWxlMRowGAYDVQQKExFHb0RhZGR5LmNvbSwgSW5jLjExMC8G
-A1UEAxMoR28gRGFkZHkgUm9vdCBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkgLSBHMjCCASIwDQYJKoZI
-hvcNAQEBBQADggEPADCCAQoCggEBAL9xYgjx+lk09xvJGKP3gElY6SKDE6bFIEMBO4Tx5oVJnyfq
-9oQbTqC023CYxzIBsQU+B07u9PpPL1kwIuerGVZr4oAH/PMWdYA5UXvl+TW2dE6pjYIT5LY/qQOD
-+qK+ihVqf94Lw7YZFAXK6sOoBJQ7RnwyDfMAZiLIjWltNowRGLfTshxgtDj6AozO091GB94KPutd
-fMh8+7ArU6SSYmlRJQVhGkSBjCypQ5Yj36w6gZoOKcUcqeldHraenjAKOc7xiID7S13MMuyFYkMl
-NAJWJwGRtDtwKj9useiciAF9n9T521NtYJ2/LOdYq7hfRvzOxBsDPAnrSTFcaUaz4EcCAwEAAaNC
-MEAwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFDqahQcQZyi27/a9
-BUFuIMGU2g/eMA0GCSqGSIb3DQEBCwUAA4IBAQCZ21151fmXWWcDYfF+OwYxdS2hII5PZYe096ac
-vNjpL9DbWu7PdIxztDhC2gV7+AJ1uP2lsdeu9tfeE8tTEH6KRtGX+rcuKxGrkLAngPnon1rpN5+r
-5N9ss4UXnT3ZJE95kTXWXwTrgIOrmgIttRD02JDHBHNA7XIloKmf7J6raBKZV8aPEjoJpL1E/QYV
-N8Gb5DKj7Tjo2GTzLH4U/ALqn83/B2gX2yKQOC16jdFU8WnjXzPKej17CuPKf1855eJ1usV2GDPO
-LPAvTK33sefOT6jEm0pUBsV/fdUID+Ic/n4XuKxe9tQWskMJDE32p2u0mYRlynqI4uJEvlz36hz1
------END CERTIFICATE-----
-
-Starfield Root Certificate Authority - G2
-=========================================
------BEGIN CERTIFICATE-----
-MIID3TCCAsWgAwIBAgIBADANBgkqhkiG9w0BAQsFADCBjzELMAkGA1UEBhMCVVMxEDAOBgNVBAgT
-B0FyaXpvbmExEzARBgNVBAcTClNjb3R0c2RhbGUxJTAjBgNVBAoTHFN0YXJmaWVsZCBUZWNobm9s
-b2dpZXMsIEluYy4xMjAwBgNVBAMTKVN0YXJmaWVsZCBSb290IENlcnRpZmljYXRlIEF1dGhvcml0
-eSAtIEcyMB4XDTA5MDkwMTAwMDAwMFoXDTM3MTIzMTIzNTk1OVowgY8xCzAJBgNVBAYTAlVTMRAw
-DgYDVQQIEwdBcml6b25hMRMwEQYDVQQHEwpTY290dHNkYWxlMSUwIwYDVQQKExxTdGFyZmllbGQg
-VGVjaG5vbG9naWVzLCBJbmMuMTIwMAYDVQQDEylTdGFyZmllbGQgUm9vdCBDZXJ0aWZpY2F0ZSBB
-dXRob3JpdHkgLSBHMjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAL3twQP89o/8ArFv
-W59I2Z154qK3A2FWGMNHttfKPTUuiUP3oWmb3ooa/RMgnLRJdzIpVv257IzdIvpy3Cdhl+72WoTs
-bhm5iSzchFvVdPtrX8WJpRBSiUZV9Lh1HOZ/5FSuS/hVclcCGfgXcVnrHigHdMWdSL5stPSksPNk
-N3mSwOxGXn/hbVNMYq/NHwtjuzqd+/x5AJhhdM8mgkBj87JyahkNmcrUDnXMN/uLicFZ8WJ/X7Nf
-ZTD4p7dNdloedl40wOiWVpmKs/B/pM293DIxfJHP4F8R+GuqSVzRmZTRouNjWwl2tVZi4Ut0HZbU
-JtQIBFnQmA4O5t78w+wfkPECAwEAAaNCMEAwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMC
-AQYwHQYDVR0OBBYEFHwMMh+n2TB/xH1oo2Kooc6rB1snMA0GCSqGSIb3DQEBCwUAA4IBAQARWfol
-TwNvlJk7mh+ChTnUdgWUXuEok21iXQnCoKjUsHU48TRqneSfioYmUeYs0cYtbpUgSpIB7LiKZ3sx
-4mcujJUDJi5DnUox9g61DLu34jd/IroAow57UvtruzvE03lRTs2Q9GcHGcg8RnoNAX3FWOdt5oUw
-F5okxBDgBPfg8n/Uqgr/Qh037ZTlZFkSIHc40zI+OIF1lnP6aI+xy84fxez6nH7PfrHxBy22/L/K
-pL/QlwVKvOoYKAKQvVR4CSFx09F9HdkWsKlhPdAKACL8x3vLCWRFCztAgfd9fDL1mMpYjn0q7pBZ
-c2T5NnReJaH1ZgUufzkVqSr7UIuOhWn0
------END CERTIFICATE-----
-
-Starfield Services Root Certificate Authority - G2
-==================================================
------BEGIN CERTIFICATE-----
-MIID7zCCAtegAwIBAgIBADANBgkqhkiG9w0BAQsFADCBmDELMAkGA1UEBhMCVVMxEDAOBgNVBAgT
-B0FyaXpvbmExEzARBgNVBAcTClNjb3R0c2RhbGUxJTAjBgNVBAoTHFN0YXJmaWVsZCBUZWNobm9s
-b2dpZXMsIEluYy4xOzA5BgNVBAMTMlN0YXJmaWVsZCBTZXJ2aWNlcyBSb290IENlcnRpZmljYXRl
-IEF1dGhvcml0eSAtIEcyMB4XDTA5MDkwMTAwMDAwMFoXDTM3MTIzMTIzNTk1OVowgZgxCzAJBgNV
-BAYTAlVTMRAwDgYDVQQIEwdBcml6b25hMRMwEQYDVQQHEwpTY290dHNkYWxlMSUwIwYDVQQKExxT
-dGFyZmllbGQgVGVjaG5vbG9naWVzLCBJbmMuMTswOQYDVQQDEzJTdGFyZmllbGQgU2VydmljZXMg
-Um9vdCBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkgLSBHMjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCC
-AQoCggEBANUMOsQq+U7i9b4Zl1+OiFOxHz/Lz58gE20pOsgPfTz3a3Y4Y9k2YKibXlwAgLIvWX/2
-h/klQ4bnaRtSmpDhcePYLQ1Ob/bISdm28xpWriu2dBTrz/sm4xq6HZYuajtYlIlHVv8loJNwU4Pa
-hHQUw2eeBGg6345AWh1KTs9DkTvnVtYAcMtS7nt9rjrnvDH5RfbCYM8TWQIrgMw0R9+53pBlbQLP
-LJGmpufehRhJfGZOozptqbXuNC66DQO4M99H67FrjSXZm86B0UVGMpZwh94CDklDhbZsc7tk6mFB
-rMnUVN+HL8cisibMn1lUaJ/8viovxFUcdUBgF4UCVTmLfwUCAwEAAaNCMEAwDwYDVR0TAQH/BAUw
-AwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFJxfAN+qAdcwKziIorhtSpzyEZGDMA0GCSqG
-SIb3DQEBCwUAA4IBAQBLNqaEd2ndOxmfZyMIbw5hyf2E3F/YNoHN2BtBLZ9g3ccaaNnRbobhiCPP
-E95Dz+I0swSdHynVv/heyNXBve6SbzJ08pGCL72CQnqtKrcgfU28elUSwhXqvfdqlS5sdJ/PHLTy
-xQGjhdByPq1zqwubdQxtRbeOlKyWN7Wg0I8VRw7j6IPdj/3vQQF3zCepYoUz8jcI73HPdwbeyBkd
-iEDPfUYd/x7H4c7/I9vG+o1VTqkC50cRRj70/b17KSa7qWFiNyi2LSr2EIZkyXCn0q23KXB56jza
-YyWf/Wi3MOxw+3WKt21gZ7IeyLnp2KhvAotnDU0mV3HaIPzBSlCNsSi6
------END CERTIFICATE-----
-
-AffirmTrust Commercial
-======================
------BEGIN CERTIFICATE-----
-MIIDTDCCAjSgAwIBAgIId3cGJyapsXwwDQYJKoZIhvcNAQELBQAwRDELMAkGA1UEBhMCVVMxFDAS
-BgNVBAoMC0FmZmlybVRydXN0MR8wHQYDVQQDDBZBZmZpcm1UcnVzdCBDb21tZXJjaWFsMB4XDTEw
-MDEyOTE0MDYwNloXDTMwMTIzMTE0MDYwNlowRDELMAkGA1UEBhMCVVMxFDASBgNVBAoMC0FmZmly
-bVRydXN0MR8wHQYDVQQDDBZBZmZpcm1UcnVzdCBDb21tZXJjaWFsMIIBIjANBgkqhkiG9w0BAQEF
-AAOCAQ8AMIIBCgKCAQEA9htPZwcroRX1BiLLHwGy43NFBkRJLLtJJRTWzsO3qyxPxkEylFf6Eqdb
-DuKPHx6GGaeqtS25Xw2Kwq+FNXkyLbscYjfysVtKPcrNcV/pQr6U6Mje+SJIZMblq8Yrba0F8PrV
-C8+a5fBQpIs7R6UjW3p6+DM/uO+Zl+MgwdYoic+U+7lF7eNAFxHUdPALMeIrJmqbTFeurCA+ukV6
-BfO9m2kVrn1OIGPENXY6BwLJN/3HR+7o8XYdcxXyl6S1yHp52UKqK39c/s4mT6NmgTWvRLpUHhww
-MmWd5jyTXlBOeuM61G7MGvv50jeuJCqrVwMiKA1JdX+3KNp1v47j3A55MQIDAQABo0IwQDAdBgNV
-HQ4EFgQUnZPGU4teyq8/nx4P5ZmVvCT2lI8wDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMC
-AQYwDQYJKoZIhvcNAQELBQADggEBAFis9AQOzcAN/wr91LoWXym9e2iZWEnStB03TX8nfUYGXUPG
-hi4+c7ImfU+TqbbEKpqrIZcUsd6M06uJFdhrJNTxFq7YpFzUf1GO7RgBsZNjvbz4YYCanrHOQnDi
-qX0GJX0nof5v7LMeJNrjS1UaADs1tDvZ110w/YETifLCBivtZ8SOyUOyXGsViQK8YvxO8rUzqrJv
-0wqiUOP2O+guRMLbZjipM1ZI8W0bM40NjD9gN53Tym1+NH4Nn3J2ixufcv1SNUFFApYvHLKac0kh
-sUlHRUe072o0EclNmsxZt9YCnlpOZbWUrhvfKbAW8b8Angc6F2S1BLUjIZkKlTuXfO8=
------END CERTIFICATE-----
-
-AffirmTrust Networking
-======================
------BEGIN CERTIFICATE-----
-MIIDTDCCAjSgAwIBAgIIfE8EORzUmS0wDQYJKoZIhvcNAQEFBQAwRDELMAkGA1UEBhMCVVMxFDAS
-BgNVBAoMC0FmZmlybVRydXN0MR8wHQYDVQQDDBZBZmZpcm1UcnVzdCBOZXR3b3JraW5nMB4XDTEw
-MDEyOTE0MDgyNFoXDTMwMTIzMTE0MDgyNFowRDELMAkGA1UEBhMCVVMxFDASBgNVBAoMC0FmZmly
-bVRydXN0MR8wHQYDVQQDDBZBZmZpcm1UcnVzdCBOZXR3b3JraW5nMIIBIjANBgkqhkiG9w0BAQEF
-AAOCAQ8AMIIBCgKCAQEAtITMMxcua5Rsa2FSoOujz3mUTOWUgJnLVWREZY9nZOIG41w3SfYvm4SE
-Hi3yYJ0wTsyEheIszx6e/jarM3c1RNg1lho9Nuh6DtjVR6FqaYvZ/Ls6rnla1fTWcbuakCNrmreI
-dIcMHl+5ni36q1Mr3Lt2PpNMCAiMHqIjHNRqrSK6mQEubWXLviRmVSRLQESxG9fhwoXA3hA/Pe24
-/PHxI1Pcv2WXb9n5QHGNfb2V1M6+oF4nI979ptAmDgAp6zxG8D1gvz9Q0twmQVGeFDdCBKNwV6gb
-h+0t+nvujArjqWaJGctB+d1ENmHP4ndGyH329JKBNv3bNPFyfvMMFr20FQIDAQABo0IwQDAdBgNV
-HQ4EFgQUBx/S55zawm6iQLSwelAQUHTEyL0wDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMC
-AQYwDQYJKoZIhvcNAQEFBQADggEBAIlXshZ6qML91tmbmzTCnLQyFE2npN/svqe++EPbkTfOtDIu
-UFUaNU52Q3Eg75N3ThVwLofDwR1t3Mu1J9QsVtFSUzpE0nPIxBsFZVpikpzuQY0x2+c06lkh1QF6
-12S4ZDnNye2v7UsDSKegmQGA3GWjNq5lWUhPgkvIZfFXHeVZLgo/bNjR9eUJtGxUAArgFU2HdW23
-WJZa3W3SAKD0m0i+wzekujbgfIeFlxoVot4uolu9rxj5kFDNcFn4J2dHy8egBzp90SxdbBk6ZrV9
-/ZFvgrG+CJPbFEfxojfHRZ48x3evZKiT3/Zpg4Jg8klCNO1aAFSFHBY2kgxc+qatv9s=
------END CERTIFICATE-----
-
-AffirmTrust Premium
-===================
------BEGIN CERTIFICATE-----
-MIIFRjCCAy6gAwIBAgIIbYwURrGmCu4wDQYJKoZIhvcNAQEMBQAwQTELMAkGA1UEBhMCVVMxFDAS
-BgNVBAoMC0FmZmlybVRydXN0MRwwGgYDVQQDDBNBZmZpcm1UcnVzdCBQcmVtaXVtMB4XDTEwMDEy
-OTE0MTAzNloXDTQwMTIzMTE0MTAzNlowQTELMAkGA1UEBhMCVVMxFDASBgNVBAoMC0FmZmlybVRy
-dXN0MRwwGgYDVQQDDBNBZmZpcm1UcnVzdCBQcmVtaXVtMIICIjANBgkqhkiG9w0BAQEFAAOCAg8A
-MIICCgKCAgEAxBLfqV/+Qd3d9Z+K4/as4Tx4mrzY8H96oDMq3I0gW64tb+eT2TZwamjPjlGjhVtn
-BKAQJG9dKILBl1fYSCkTtuG+kU3fhQxTGJoeJKJPj/CihQvL9Cl/0qRY7iZNyaqoe5rZ+jjeRFcV
-5fiMyNlI4g0WJx0eyIOFJbe6qlVBzAMiSy2RjYvmia9mx+n/K+k8rNrSs8PhaJyJ+HoAVt70VZVs
-+7pk3WKL3wt3MutizCaam7uqYoNMtAZ6MMgpv+0GTZe5HMQxK9VfvFMSF5yZVylmd2EhMQcuJUmd
-GPLu8ytxjLW6OQdJd/zvLpKQBY0tL3d770O/Nbua2Plzpyzy0FfuKE4mX4+QaAkvuPjcBukumj5R
-p9EixAqnOEhss/n/fauGV+O61oV4d7pD6kh/9ti+I20ev9E2bFhc8e6kGVQa9QPSdubhjL08s9NI
-S+LI+H+SqHZGnEJlPqQewQcDWkYtuJfzt9WyVSHvutxMAJf7FJUnM7/oQ0dG0giZFmA7mn7S5u04
-6uwBHjxIVkkJx0w3AJ6IDsBz4W9m6XJHMD4Q5QsDyZpCAGzFlH5hxIrff4IaC1nEWTJ3s7xgaVY5
-/bQGeyzWZDbZvUjthB9+pSKPKrhC9IK31FOQeE4tGv2Bb0TXOwF0lkLgAOIua+rF7nKsu7/+6qqo
-+Nz2snmKtmcCAwEAAaNCMEAwHQYDVR0OBBYEFJ3AZ6YMItkm9UWrpmVSESfYRaxjMA8GA1UdEwEB
-/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMA0GCSqGSIb3DQEBDAUAA4ICAQCzV00QYk465KzquByv
-MiPIs0laUZx2KI15qldGF9X1Uva3ROgIRL8YhNILgM3FEv0AVQVhh0HctSSePMTYyPtwni94loMg
-Nt58D2kTiKV1NpgIpsbfrM7jWNa3Pt668+s0QNiigfV4Py/VpfzZotReBA4Xrf5B8OWycvpEgjNC
-6C1Y91aMYj+6QrCcDFx+LmUmXFNPALJ4fqENmS2NuB2OosSw/WDQMKSOyARiqcTtNd56l+0OOF6S
-L5Nwpamcb6d9Ex1+xghIsV5n61EIJenmJWtSKZGc0jlzCFfemQa0W50QBuHCAKi4HEoCChTQwUHK
-+4w1IX2COPKpVJEZNZOUbWo6xbLQu4mGk+ibyQ86p3q4ofB4Rvr8Ny/lioTz3/4E2aFooC8k4gmV
-BtWVyuEklut89pMFu+1z6S3RdTnX5yTb2E5fQ4+e0BQ5v1VwSJlXMbSc7kqYA5YwH2AG7hsj/oFg
-IxpHYoWlzBk0gG+zrBrjn/B7SK3VAdlntqlyk+otZrWyuOQ9PLLvTIzq6we/qzWaVYa8GKa1qF60
-g2xraUDTn9zxw2lrueFtCfTxqlB2Cnp9ehehVZZCmTEJ3WARjQUwfuaORtGdFNrHF+QFlozEJLUb
-zxQHskD4o55BhrwE0GuWyCqANP2/7waj3VjFhT0+j/6eKeC2uAloGRwYQw==
------END CERTIFICATE-----
-
-AffirmTrust Premium ECC
-=======================
------BEGIN CERTIFICATE-----
-MIIB/jCCAYWgAwIBAgIIdJclisc/elQwCgYIKoZIzj0EAwMwRTELMAkGA1UEBhMCVVMxFDASBgNV
-BAoMC0FmZmlybVRydXN0MSAwHgYDVQQDDBdBZmZpcm1UcnVzdCBQcmVtaXVtIEVDQzAeFw0xMDAx
-MjkxNDIwMjRaFw00MDEyMzExNDIwMjRaMEUxCzAJBgNVBAYTAlVTMRQwEgYDVQQKDAtBZmZpcm1U
-cnVzdDEgMB4GA1UEAwwXQWZmaXJtVHJ1c3QgUHJlbWl1bSBFQ0MwdjAQBgcqhkjOPQIBBgUrgQQA
-IgNiAAQNMF4bFZ0D0KF5Nbc6PJJ6yhUczWLznCZcBz3lVPqj1swS6vQUX+iOGasvLkjmrBhDeKzQ
-N8O9ss0s5kfiGuZjuD0uL3jET9v0D6RoTFVya5UdThhClXjMNzyR4ptlKymjQjBAMB0GA1UdDgQW
-BBSaryl6wBE1NSZRMADDav5A1a7WPDAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBBjAK
-BggqhkjOPQQDAwNnADBkAjAXCfOHiFBar8jAQr9HX/VsaobgxCd05DhT1wV/GzTjxi+zygk8N53X
-57hG8f2h4nECMEJZh0PUUd+60wkyWs6Iflc9nF9Ca/UHLbXwgpP5WW+uZPpY5Yse42O+tYHNbwKM
-eQ==
------END CERTIFICATE-----
-
-Certum Trusted Network CA
-=========================
------BEGIN CERTIFICATE-----
-MIIDuzCCAqOgAwIBAgIDBETAMA0GCSqGSIb3DQEBBQUAMH4xCzAJBgNVBAYTAlBMMSIwIAYDVQQK
-ExlVbml6ZXRvIFRlY2hub2xvZ2llcyBTLkEuMScwJQYDVQQLEx5DZXJ0dW0gQ2VydGlmaWNhdGlv
-biBBdXRob3JpdHkxIjAgBgNVBAMTGUNlcnR1bSBUcnVzdGVkIE5ldHdvcmsgQ0EwHhcNMDgxMDIy
-MTIwNzM3WhcNMjkxMjMxMTIwNzM3WjB+MQswCQYDVQQGEwJQTDEiMCAGA1UEChMZVW5pemV0byBU
-ZWNobm9sb2dpZXMgUy5BLjEnMCUGA1UECxMeQ2VydHVtIENlcnRpZmljYXRpb24gQXV0aG9yaXR5
-MSIwIAYDVQQDExlDZXJ0dW0gVHJ1c3RlZCBOZXR3b3JrIENBMIIBIjANBgkqhkiG9w0BAQEFAAOC
-AQ8AMIIBCgKCAQEA4/t9o3K6wvDJFIf1awFO4W5AB7ptJ11/91sts1rHUV+rpDKmYYe2bg+G0jAC
-l/jXaVehGDldamR5xgFZrDwxSjh80gTSSyjoIF87B6LMTXPb865Px1bVWqeWifrzq2jUI4ZZJ88J
-J7ysbnKDHDBy3+Ci6dLhdHUZvSqeexVUBBvXQzmtVSjF4hq79MDkrjhJM8x2hZ85RdKknvISjFH4
-fOQtf/WsX+sWn7Et0brMkUJ3TCXJkDhv2/DM+44el1k+1WBO5gUo7Ul5E0u6SNsv+XLTOcr+H9g0
-cvW0QM8xAcPs3hEtF10fuFDRXhmnad4HMyjKUJX5p1TLVIZQRan5SQIDAQABo0IwQDAPBgNVHRMB
-Af8EBTADAQH/MB0GA1UdDgQWBBQIds3LB/8k9sXN7buQvOKEN0Z19zAOBgNVHQ8BAf8EBAMCAQYw
-DQYJKoZIhvcNAQEFBQADggEBAKaorSLOAT2mo/9i0Eidi15ysHhE49wcrwn9I0j6vSrEuVUEtRCj
-jSfeC4Jj0O7eDDd5QVsisrCaQVymcODU0HfLI9MA4GxWL+FpDQ3Zqr8hgVDZBqWo/5U30Kr+4rP1
-mS1FhIrlQgnXdAIv94nYmem8J9RHjboNRhx3zxSkHLmkMcScKHQDNP8zGSal6Q10tz6XxnboJ5aj
-Zt3hrvJBW8qYVoNzcOSGGtIxQbovvi0TWnZvTuhOgQ4/WwMioBK+ZlgRSssDxLQqKi2WF+A5VLxI
-03YnnZotBqbJ7DnSq9ufmgsnAjUpsUCV5/nonFWIGUbWtzT1fs45mtk48VH3Tyw=
------END CERTIFICATE-----
-
-TWCA Root Certification Authority
-=================================
------BEGIN CERTIFICATE-----
-MIIDezCCAmOgAwIBAgIBATANBgkqhkiG9w0BAQUFADBfMQswCQYDVQQGEwJUVzESMBAGA1UECgwJ
-VEFJV0FOLUNBMRAwDgYDVQQLDAdSb290IENBMSowKAYDVQQDDCFUV0NBIFJvb3QgQ2VydGlmaWNh
-dGlvbiBBdXRob3JpdHkwHhcNMDgwODI4MDcyNDMzWhcNMzAxMjMxMTU1OTU5WjBfMQswCQYDVQQG
-EwJUVzESMBAGA1UECgwJVEFJV0FOLUNBMRAwDgYDVQQLDAdSb290IENBMSowKAYDVQQDDCFUV0NB
-IFJvb3QgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEK
-AoIBAQCwfnK4pAOU5qfeCTiRShFAh6d8WWQUe7UREN3+v9XAu1bihSX0NXIP+FPQQeFEAcK0HMMx
-QhZHhTMidrIKbw/lJVBPhYa+v5guEGcevhEFhgWQxFnQfHgQsIBct+HHK3XLfJ+utdGdIzdjp9xC
-oi2SBBtQwXu4PhvJVgSLL1KbralW6cH/ralYhzC2gfeXRfwZVzsrb+RH9JlF/h3x+JejiB03HFyP
-4HYlmlD4oFT/RJB2I9IyxsOrBr/8+7/zrX2SYgJbKdM1o5OaQ2RgXbL6Mv87BK9NQGr5x+PvI/1r
-y+UPizgN7gr8/g+YnzAx3WxSZfmLgb4i4RxYA7qRG4kHAgMBAAGjQjBAMA4GA1UdDwEB/wQEAwIB
-BjAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBRqOFsmjd6LWvJPelSDGRjjCDWmujANBgkqhkiG
-9w0BAQUFAAOCAQEAPNV3PdrfibqHDAhUaiBQkr6wQT25JmSDCi/oQMCXKCeCMErJk/9q56YAf4lC
-mtYR5VPOL8zy2gXE/uJQxDqGfczafhAJO5I1KlOy/usrBdlsXebQ79NqZp4VKIV66IIArB6nCWlW
-QtNoURi+VJq/REG6Sb4gumlc7rh3zc5sH62Dlhh9DrUUOYTxKOkto557HnpyWoOzeW/vtPzQCqVY
-T0bf+215WfKEIlKuD8z7fDvnaspHYcN6+NOSBB+4IIThNlQWx0DeO4pz3N/GCUzf7Nr/1FNCocny
-Yh0igzyXxfkZYiesZSLX0zzG5Y6yU8xJzrww/nsOM5D77dIUkR8Hrw==
------END CERTIFICATE-----
-
-Security Communication RootCA2
-==============================
------BEGIN CERTIFICATE-----
-MIIDdzCCAl+gAwIBAgIBADANBgkqhkiG9w0BAQsFADBdMQswCQYDVQQGEwJKUDElMCMGA1UEChMc
-U0VDT00gVHJ1c3QgU3lzdGVtcyBDTy4sTFRELjEnMCUGA1UECxMeU2VjdXJpdHkgQ29tbXVuaWNh
-dGlvbiBSb290Q0EyMB4XDTA5MDUyOTA1MDAzOVoXDTI5MDUyOTA1MDAzOVowXTELMAkGA1UEBhMC
-SlAxJTAjBgNVBAoTHFNFQ09NIFRydXN0IFN5c3RlbXMgQ08uLExURC4xJzAlBgNVBAsTHlNlY3Vy
-aXR5IENvbW11bmljYXRpb24gUm9vdENBMjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEB
-ANAVOVKxUrO6xVmCxF1SrjpDZYBLx/KWvNs2l9amZIyoXvDjChz335c9S672XewhtUGrzbl+dp++
-+T42NKA7wfYxEUV0kz1XgMX5iZnK5atq1LXaQZAQwdbWQonCv/Q4EpVMVAX3NuRFg3sUZdbcDE3R
-3n4MqzvEFb46VqZab3ZpUql6ucjrappdUtAtCms1FgkQhNBqyjoGADdH5H5XTz+L62e4iKrFvlNV
-spHEfbmwhRkGeC7bYRr6hfVKkaHnFtWOojnflLhwHyg/i/xAXmODPIMqGplrz95Zajv8bxbXH/1K
-EOtOghY6rCcMU/Gt1SSwawNQwS08Ft1ENCcadfsCAwEAAaNCMEAwHQYDVR0OBBYEFAqFqXdlBZh8
-QIH4D5csOPEK7DzPMA4GA1UdDwEB/wQEAwIBBjAPBgNVHRMBAf8EBTADAQH/MA0GCSqGSIb3DQEB
-CwUAA4IBAQBMOqNErLlFsceTfsgLCkLfZOoc7llsCLqJX2rKSpWeeo8HxdpFcoJxDjrSzG+ntKEj
-u/Ykn8sX/oymzsLS28yN/HH8AynBbF0zX2S2ZTuJbxh2ePXcokgfGT+Ok+vx+hfuzU7jBBJV1uXk
-3fs+BXziHV7Gp7yXT2g69ekuCkO2r1dcYmh8t/2jioSgrGK+KwmHNPBqAbubKVY8/gA3zyNs8U6q
-tnRGEmyR7jTV7JqR50S+kDFy1UkC9gLl9B/rfNmWVan/7Ir5mUf/NVoCqgTLiluHcSmRvaS0eg29
-mvVXIwAHIRc/SjnRBUkLp7Y3gaVdjKozXoEofKd9J+sAro03
------END CERTIFICATE-----
-
-EC-ACC
-======
------BEGIN CERTIFICATE-----
-MIIFVjCCBD6gAwIBAgIQ7is969Qh3hSoYqwE893EATANBgkqhkiG9w0BAQUFADCB8zELMAkGA1UE
-BhMCRVMxOzA5BgNVBAoTMkFnZW5jaWEgQ2F0YWxhbmEgZGUgQ2VydGlmaWNhY2lvIChOSUYgUS0w
-ODAxMTc2LUkpMSgwJgYDVQQLEx9TZXJ2ZWlzIFB1YmxpY3MgZGUgQ2VydGlmaWNhY2lvMTUwMwYD
-VQQLEyxWZWdldSBodHRwczovL3d3dy5jYXRjZXJ0Lm5ldC92ZXJhcnJlbCAoYykwMzE1MDMGA1UE
-CxMsSmVyYXJxdWlhIEVudGl0YXRzIGRlIENlcnRpZmljYWNpbyBDYXRhbGFuZXMxDzANBgNVBAMT
-BkVDLUFDQzAeFw0wMzAxMDcyMzAwMDBaFw0zMTAxMDcyMjU5NTlaMIHzMQswCQYDVQQGEwJFUzE7
-MDkGA1UEChMyQWdlbmNpYSBDYXRhbGFuYSBkZSBDZXJ0aWZpY2FjaW8gKE5JRiBRLTA4MDExNzYt
-SSkxKDAmBgNVBAsTH1NlcnZlaXMgUHVibGljcyBkZSBDZXJ0aWZpY2FjaW8xNTAzBgNVBAsTLFZl
-Z2V1IGh0dHBzOi8vd3d3LmNhdGNlcnQubmV0L3ZlcmFycmVsIChjKTAzMTUwMwYDVQQLEyxKZXJh
-cnF1aWEgRW50aXRhdHMgZGUgQ2VydGlmaWNhY2lvIENhdGFsYW5lczEPMA0GA1UEAxMGRUMtQUND
-MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAsyLHT+KXQpWIR4NA9h0X84NzJB5R85iK
-w5K4/0CQBXCHYMkAqbWUZRkiFRfCQ2xmRJoNBD45b6VLeqpjt4pEndljkYRm4CgPukLjbo73FCeT
-ae6RDqNfDrHrZqJyTxIThmV6PttPB/SnCWDaOkKZx7J/sxaVHMf5NLWUhdWZXqBIoH7nF2W4onW4
-HvPlQn2v7fOKSGRdghST2MDk/7NQcvJ29rNdQlB50JQ+awwAvthrDk4q7D7SzIKiGGUzE3eeml0a
-E9jD2z3Il3rucO2n5nzbcc8tlGLfbdb1OL4/pYUKGbio2Al1QnDE6u/LDsg0qBIimAy4E5S2S+zw
-0JDnJwIDAQABo4HjMIHgMB0GA1UdEQQWMBSBEmVjX2FjY0BjYXRjZXJ0Lm5ldDAPBgNVHRMBAf8E
-BTADAQH/MA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQUoMOLRKo3pUW/l4Ba0fF4opvpXY0wfwYD
-VR0gBHgwdjB0BgsrBgEEAfV4AQMBCjBlMCwGCCsGAQUFBwIBFiBodHRwczovL3d3dy5jYXRjZXJ0
-Lm5ldC92ZXJhcnJlbDA1BggrBgEFBQcCAjApGidWZWdldSBodHRwczovL3d3dy5jYXRjZXJ0Lm5l
-dC92ZXJhcnJlbCAwDQYJKoZIhvcNAQEFBQADggEBAKBIW4IB9k1IuDlVNZyAelOZ1Vr/sXE7zDkJ
-lF7W2u++AVtd0x7Y/X1PzaBB4DSTv8vihpw3kpBWHNzrKQXlxJ7HNd+KDM3FIUPpqojlNcAZQmNa
-Al6kSBg6hW/cnbw/nZzBh7h6YQjpdwt/cKt63dmXLGQehb+8dJahw3oS7AwaboMMPOhyRp/7SNVe
-l+axofjk70YllJyJ22k4vuxcDlbHZVHlUIiIv0LVKz3l+bqeLrPK9HOSAgu+TGbrIP65y7WZf+a2
-E/rKS03Z7lNGBjvGTq2TWoF+bCpLagVFjPIhpDGQh2xlnJ2lYJU6Un/10asIbvPuW/mIPX64b24D
-5EI=
------END CERTIFICATE-----
-
-Hellenic Academic and Research Institutions RootCA 2011
-=======================================================
------BEGIN CERTIFICATE-----
-MIIEMTCCAxmgAwIBAgIBADANBgkqhkiG9w0BAQUFADCBlTELMAkGA1UEBhMCR1IxRDBCBgNVBAoT
-O0hlbGxlbmljIEFjYWRlbWljIGFuZCBSZXNlYXJjaCBJbnN0aXR1dGlvbnMgQ2VydC4gQXV0aG9y
-aXR5MUAwPgYDVQQDEzdIZWxsZW5pYyBBY2FkZW1pYyBhbmQgUmVzZWFyY2ggSW5zdGl0dXRpb25z
-IFJvb3RDQSAyMDExMB4XDTExMTIwNjEzNDk1MloXDTMxMTIwMTEzNDk1MlowgZUxCzAJBgNVBAYT
-AkdSMUQwQgYDVQQKEztIZWxsZW5pYyBBY2FkZW1pYyBhbmQgUmVzZWFyY2ggSW5zdGl0dXRpb25z
-IENlcnQuIEF1dGhvcml0eTFAMD4GA1UEAxM3SGVsbGVuaWMgQWNhZGVtaWMgYW5kIFJlc2VhcmNo
-IEluc3RpdHV0aW9ucyBSb290Q0EgMjAxMTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEB
-AKlTAOMupvaO+mDYLZU++CwqVE7NuYRhlFhPjz2L5EPzdYmNUeTDN9KKiE15HrcS3UN4SoqS5tdI
-1Q+kOilENbgH9mgdVc04UfCMJDGFr4PJfel3r+0ae50X+bOdOFAPplp5kYCvN66m0zH7tSYJnTxa
-71HFK9+WXesyHgLacEnsbgzImjeN9/E2YEsmLIKe0HjzDQ9jpFEw4fkrJxIH2Oq9GGKYsFk3fb7u
-8yBRQlqD75O6aRXxYp2fmTmCobd0LovUxQt7L/DICto9eQqakxylKHJzkUOap9FNhYS5qXSPFEDH
-3N6sQWRstBmbAmNtJGSPRLIl6s5ddAxjMlyNh+UCAwEAAaOBiTCBhjAPBgNVHRMBAf8EBTADAQH/
-MAsGA1UdDwQEAwIBBjAdBgNVHQ4EFgQUppFC/RNhSiOeCKQp5dgTBCPuQSUwRwYDVR0eBEAwPqA8
-MAWCAy5ncjAFggMuZXUwBoIELmVkdTAGggQub3JnMAWBAy5ncjAFgQMuZXUwBoEELmVkdTAGgQQu
-b3JnMA0GCSqGSIb3DQEBBQUAA4IBAQAf73lB4XtuP7KMhjdCSk4cNx6NZrokgclPEg8hwAOXhiVt
-XdMiKahsog2p6z0GW5k6x8zDmjR/qw7IThzh+uTczQ2+vyT+bOdrwg3IBp5OjWEopmr95fZi6hg8
-TqBTnbI6nOulnJEWtk2C4AwFSKls9cz4y51JtPACpf1wA+2KIaWuE4ZJwzNzvoc7dIsXRSZMFpGD
-/md9zU1jZ/rzAxKWeAaNsWftjj++n08C9bMJL/NMh98qy5V8AcysNnq/onN694/BtZqhFLKPM58N
-7yLcZnuEvUUXBj08yrl3NI/K6s8/MT7jiOOASSXIl7WdmplNsDz4SgCbZN2fOUvRJ9e4
------END CERTIFICATE-----
-
-Actalis Authentication Root CA
-==============================
------BEGIN CERTIFICATE-----
-MIIFuzCCA6OgAwIBAgIIVwoRl0LE48wwDQYJKoZIhvcNAQELBQAwazELMAkGA1UEBhMCSVQxDjAM
-BgNVBAcMBU1pbGFuMSMwIQYDVQQKDBpBY3RhbGlzIFMucC5BLi8wMzM1ODUyMDk2NzEnMCUGA1UE
-AwweQWN0YWxpcyBBdXRoZW50aWNhdGlvbiBSb290IENBMB4XDTExMDkyMjExMjIwMloXDTMwMDky
-MjExMjIwMlowazELMAkGA1UEBhMCSVQxDjAMBgNVBAcMBU1pbGFuMSMwIQYDVQQKDBpBY3RhbGlz
-IFMucC5BLi8wMzM1ODUyMDk2NzEnMCUGA1UEAwweQWN0YWxpcyBBdXRoZW50aWNhdGlvbiBSb290
-IENBMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAp8bEpSmkLO/lGMWwUKNvUTufClrJ
-wkg4CsIcoBh/kbWHuUA/3R1oHwiD1S0eiKD4j1aPbZkCkpAW1V8IbInX4ay8IMKx4INRimlNAJZa
-by/ARH6jDuSRzVju3PvHHkVH3Se5CAGfpiEd9UEtL0z9KK3giq0itFZljoZUj5NDKd45RnijMCO6
-zfB9E1fAXdKDa0hMxKufgFpbOr3JpyI/gCczWw63igxdBzcIy2zSekciRDXFzMwujt0q7bd9Zg1f
-YVEiVRvjRuPjPdA1YprbrxTIW6HMiRvhMCb8oJsfgadHHwTrozmSBp+Z07/T6k9QnBn+locePGX2
-oxgkg4YQ51Q+qDp2JE+BIcXjDwL4k5RHILv+1A7TaLndxHqEguNTVHnd25zS8gebLra8Pu2Fbe8l
-EfKXGkJh90qX6IuxEAf6ZYGyojnP9zz/GPvG8VqLWeICrHuS0E4UT1lF9gxeKF+w6D9Fz8+vm2/7
-hNN3WpVvrJSEnu68wEqPSpP4RCHiMUVhUE4Q2OM1fEwZtN4Fv6MGn8i1zeQf1xcGDXqVdFUNaBr8
-EBtiZJ1t4JWgw5QHVw0U5r0F+7if5t+L4sbnfpb2U8WANFAoWPASUHEXMLrmeGO89LKtmyuy/uE5
-jF66CyCU3nuDuP/jVo23Eek7jPKxwV2dpAtMK9myGPW1n0sCAwEAAaNjMGEwHQYDVR0OBBYEFFLY
-iDrIn3hm7YnzezhwlMkCAjbQMA8GA1UdEwEB/wQFMAMBAf8wHwYDVR0jBBgwFoAUUtiIOsifeGbt
-ifN7OHCUyQICNtAwDgYDVR0PAQH/BAQDAgEGMA0GCSqGSIb3DQEBCwUAA4ICAQALe3KHwGCmSUyI
-WOYdiPcUZEim2FgKDk8TNd81HdTtBjHIgT5q1d07GjLukD0R0i70jsNjLiNmsGe+b7bAEzlgqqI0
-JZN1Ut6nna0Oh4lScWoWPBkdg/iaKWW+9D+a2fDzWochcYBNy+A4mz+7+uAwTc+G02UQGRjRlwKx
-K3JCaKygvU5a2hi/a5iB0P2avl4VSM0RFbnAKVy06Ij3Pjaut2L9HmLecHgQHEhb2rykOLpn7VU+
-Xlff1ANATIGk0k9jpwlCCRT8AKnCgHNPLsBA2RF7SOp6AsDT6ygBJlh0wcBzIm2Tlf05fbsq4/aC
-4yyXX04fkZT6/iyj2HYauE2yOE+b+h1IYHkm4vP9qdCa6HCPSXrW5b0KDtst842/6+OkfcvHlXHo
-2qN8xcL4dJIEG4aspCJTQLas/kx2z/uUMsA1n3Y/buWQbqCmJqK4LL7RK4X9p2jIugErsWx0Hbhz
-lefut8cl8ABMALJ+tguLHPPAUJ4lueAI3jZm/zel0btUZCzJJ7VLkn5l/9Mt4blOvH+kQSGQQXem
-OR/qnuOf0GZvBeyqdn6/axag67XH/JJULysRJyU3eExRarDzzFhdFPFqSBX/wge2sY0PjlxQRrM9
-vwGYT7JZVEc+NHt4bVaTLnPqZih4zR0Uv6CPLy64Lo7yFIrM6bV8+2ydDKXhlg==
------END CERTIFICATE-----
-
-Trustis FPS Root CA
-===================
------BEGIN CERTIFICATE-----
-MIIDZzCCAk+gAwIBAgIQGx+ttiD5JNM2a/fH8YygWTANBgkqhkiG9w0BAQUFADBFMQswCQYDVQQG
-EwJHQjEYMBYGA1UEChMPVHJ1c3RpcyBMaW1pdGVkMRwwGgYDVQQLExNUcnVzdGlzIEZQUyBSb290
-IENBMB4XDTAzMTIyMzEyMTQwNloXDTI0MDEyMTExMzY1NFowRTELMAkGA1UEBhMCR0IxGDAWBgNV
-BAoTD1RydXN0aXMgTGltaXRlZDEcMBoGA1UECxMTVHJ1c3RpcyBGUFMgUm9vdCBDQTCCASIwDQYJ
-KoZIhvcNAQEBBQADggEPADCCAQoCggEBAMVQe547NdDfxIzNjpvto8A2mfRC6qc+gIMPpqdZh8mQ
-RUN+AOqGeSoDvT03mYlmt+WKVoaTnGhLaASMk5MCPjDSNzoiYYkchU59j9WvezX2fihHiTHcDnlk
-H5nSW7r+f2C/revnPDgpai/lkQtV/+xvWNUtyd5MZnGPDNcE2gfmHhjjvSkCqPoc4Vu5g6hBSLwa
-cY3nYuUtsuvffM/bq1rKMfFMIvMFE/eC+XN5DL7XSxzA0RU8k0Fk0ea+IxciAIleH2ulrG6nS4zt
-o3Lmr2NNL4XSFDWaLk6M6jKYKIahkQlBOrTh4/L68MkKokHdqeMDx4gVOxzUGpTXn2RZEm0CAwEA
-AaNTMFEwDwYDVR0TAQH/BAUwAwEB/zAfBgNVHSMEGDAWgBS6+nEleYtXQSUhhgtx67JkDoshZzAd
-BgNVHQ4EFgQUuvpxJXmLV0ElIYYLceuyZA6LIWcwDQYJKoZIhvcNAQEFBQADggEBAH5Y//01GX2c
-GE+esCu8jowU/yyg2kdbw++BLa8F6nRIW/M+TgfHbcWzk88iNVy2P3UnXwmWzaD+vkAMXBJV+JOC
-yinpXj9WV4s4NvdFGkwozZ5BuO1WTISkQMi4sKUraXAEasP41BIy+Q7DsdwyhEQsb8tGD+pmQQ9P
-8Vilpg0ND2HepZ5dfWWhPBfnqFVO76DH7cZEf1T1o+CP8HxVIo8ptoGj4W1OLBuAZ+ytIJ8MYmHV
-l/9D7S3B2l0pKoU/rGXuhg8FjZBf3+6f9L/uHfuY5H+QK4R4EA5sSVPvFVtlRkpdr7r7OnIdzfYl
-iB6XzCGcKQENZetX2fNXlrtIzYE=
------END CERTIFICATE-----
-
-Buypass Class 2 Root CA
-=======================
------BEGIN CERTIFICATE-----
-MIIFWTCCA0GgAwIBAgIBAjANBgkqhkiG9w0BAQsFADBOMQswCQYDVQQGEwJOTzEdMBsGA1UECgwU
-QnV5cGFzcyBBUy05ODMxNjMzMjcxIDAeBgNVBAMMF0J1eXBhc3MgQ2xhc3MgMiBSb290IENBMB4X
-DTEwMTAyNjA4MzgwM1oXDTQwMTAyNjA4MzgwM1owTjELMAkGA1UEBhMCTk8xHTAbBgNVBAoMFEJ1
-eXBhc3MgQVMtOTgzMTYzMzI3MSAwHgYDVQQDDBdCdXlwYXNzIENsYXNzIDIgUm9vdCBDQTCCAiIw
-DQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBANfHXvfBB9R3+0Mh9PT1aeTuMgHbo4Yf5FkNuud1
-g1Lr6hxhFUi7HQfKjK6w3Jad6sNgkoaCKHOcVgb/S2TwDCo3SbXlzwx87vFKu3MwZfPVL4O2fuPn
-9Z6rYPnT8Z2SdIrkHJasW4DptfQxh6NR/Md+oW+OU3fUl8FVM5I+GC911K2GScuVr1QGbNgGE41b
-/+EmGVnAJLqBcXmQRFBoJJRfuLMR8SlBYaNByyM21cHxMlAQTn/0hpPshNOOvEu/XAFOBz3cFIqU
-CqTqc/sLUegTBxj6DvEr0VQVfTzh97QZQmdiXnfgolXsttlpF9U6r0TtSsWe5HonfOV116rLJeff
-awrbD02TTqigzXsu8lkBarcNuAeBfos4GzjmCleZPe4h6KP1DBbdi+w0jpwqHAAVF41og9JwnxgI
-zRFo1clrUs3ERo/ctfPYV3Me6ZQ5BL/T3jjetFPsaRyifsSP5BtwrfKi+fv3FmRmaZ9JUaLiFRhn
-Bkp/1Wy1TbMz4GHrXb7pmA8y1x1LPC5aAVKRCfLf6o3YBkBjqhHk/sM3nhRSP/TizPJhk9H9Z2vX
-Uq6/aKtAQ6BXNVN48FP4YUIHZMbXb5tMOA1jrGKvNouicwoN9SG9dKpN6nIDSdvHXx1iY8f93ZHs
-M+71bbRuMGjeyNYmsHVee7QHIJihdjK4TWxPAgMBAAGjQjBAMA8GA1UdEwEB/wQFMAMBAf8wHQYD
-VR0OBBYEFMmAd+BikoL1RpzzuvdMw964o605MA4GA1UdDwEB/wQEAwIBBjANBgkqhkiG9w0BAQsF
-AAOCAgEAU18h9bqwOlI5LJKwbADJ784g7wbylp7ppHR/ehb8t/W2+xUbP6umwHJdELFx7rxP462s
-A20ucS6vxOOto70MEae0/0qyexAQH6dXQbLArvQsWdZHEIjzIVEpMMpghq9Gqx3tOluwlN5E40EI
-osHsHdb9T7bWR9AUC8rmyrV7d35BH16Dx7aMOZawP5aBQW9gkOLo+fsicdl9sz1Gv7SEr5AcD48S
-aq/v7h56rgJKihcrdv6sVIkkLE8/trKnToyokZf7KcZ7XC25y2a2t6hbElGFtQl+Ynhw/qlqYLYd
-DnkM/crqJIByw5c/8nerQyIKx+u2DISCLIBrQYoIwOula9+ZEsuK1V6ADJHgJgg2SMX6OBE1/yWD
-LfJ6v9r9jv6ly0UsH8SIU653DtmadsWOLB2jutXsMq7Aqqz30XpN69QH4kj3Io6wpJ9qzo6ysmD0
-oyLQI+uUWnpp3Q+/QFesa1lQ2aOZ4W7+jQF5JyMV3pKdewlNWudLSDBaGOYKbeaP4NK75t98biGC
-wWg5TbSYWGZizEqQXsP6JwSxeRV0mcy+rSDeJmAc61ZRpqPq5KM/p/9h3PFaTWwyI0PurKju7koS
-CTxdccK+efrCh2gdC/1cacwG0Jp9VJkqyTkaGa9LKkPzY11aWOIv4x3kqdbQCtCev9eBCfHJxyYN
-rJgWVqA=
------END CERTIFICATE-----
-
-Buypass Class 3 Root CA
-=======================
------BEGIN CERTIFICATE-----
-MIIFWTCCA0GgAwIBAgIBAjANBgkqhkiG9w0BAQsFADBOMQswCQYDVQQGEwJOTzEdMBsGA1UECgwU
-QnV5cGFzcyBBUy05ODMxNjMzMjcxIDAeBgNVBAMMF0J1eXBhc3MgQ2xhc3MgMyBSb290IENBMB4X
-DTEwMTAyNjA4Mjg1OFoXDTQwMTAyNjA4Mjg1OFowTjELMAkGA1UEBhMCTk8xHTAbBgNVBAoMFEJ1
-eXBhc3MgQVMtOTgzMTYzMzI3MSAwHgYDVQQDDBdCdXlwYXNzIENsYXNzIDMgUm9vdCBDQTCCAiIw
-DQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAKXaCpUWUOOV8l6ddjEGMnqb8RB2uACatVI2zSRH
-sJ8YZLya9vrVediQYkwiL944PdbgqOkcLNt4EemOaFEVcsfzM4fkoF0LXOBXByow9c3EN3coTRiR
-5r/VUv1xLXA+58bEiuPwKAv0dpihi4dVsjoT/Lc+JzeOIuOoTyrvYLs9tznDDgFHmV0ST9tD+leh
-7fmdvhFHJlsTmKtdFoqwNxxXnUX/iJY2v7vKB3tvh2PX0DJq1l1sDPGzbjniazEuOQAnFN44wOwZ
-ZoYS6J1yFhNkUsepNxz9gjDthBgd9K5c/3ATAOux9TN6S9ZV+AWNS2mw9bMoNlwUxFFzTWsL8TQH
-2xc519woe2v1n/MuwU8XKhDzzMro6/1rqy6any2CbgTUUgGTLT2G/H783+9CHaZr77kgxve9oKeV
-/afmiSTYzIw0bOIjL9kSGiG5VZFvC5F5GQytQIgLcOJ60g7YaEi7ghM5EFjp2CoHxhLbWNvSO1UQ
-RwUVZ2J+GGOmRj8JDlQyXr8NYnon74Do29lLBlo3WiXQCBJ31G8JUJc9yB3D34xFMFbG02SrZvPA
-Xpacw8Tvw3xrizp5f7NJzz3iiZ+gMEuFuZyUJHmPfWupRWgPK9Dx2hzLabjKSWJtyNBjYt1gD1iq
-j6G8BaVmos8bdrKEZLFMOVLAMLrwjEsCsLa3AgMBAAGjQjBAMA8GA1UdEwEB/wQFMAMBAf8wHQYD
-VR0OBBYEFEe4zf/lb+74suwvTg75JbCOPGvDMA4GA1UdDwEB/wQEAwIBBjANBgkqhkiG9w0BAQsF
-AAOCAgEAACAjQTUEkMJAYmDv4jVM1z+s4jSQuKFvdvoWFqRINyzpkMLyPPgKn9iB5btb2iUspKdV
-cSQy9sgL8rxq+JOssgfCX5/bzMiKqr5qb+FJEMwx14C7u8jYog5kV+qi9cKpMRXSIGrs/CIBKM+G
-uIAeqcwRpTzyFrNHnfzSgCHEy9BHcEGhyoMZCCxt8l13nIoUE9Q2HJLw5QY33KbmkJs4j1xrG0aG
-Q0JfPgEHU1RdZX33inOhmlRaHylDFCfChQ+1iHsaO5S3HWCntZznKWlXWpuTekMwGwPXYshApqr8
-ZORK15FTAaggiG6cX0S5y2CBNOxv033aSF/rtJC8LakcC6wc1aJoIIAE1vyxjy+7SjENSoYc6+I2
-KSb12tjE8nVhz36udmNKekBlk4f4HoCMhuWG1o8O/FMsYOgWYRqiPkN7zTlgVGr18okmAWiDSKIz
-6MkEkbIRNBE+6tBDGR8Dk5AM/1E9V/RBbuHLoL7ryWPNbczk+DaqaJ3tvV2XcEQNtg413OEMXbug
-UZTLfhbrES+jkkXITHHZvMmZUldGL1DPvTVp9D0VzgalLA8+9oG6lLvDu79leNKGef9JOxqDDPDe
-eOzI8k1MGt6CKfjBWtrt7uYnXuhF0J0cUahoq0Tj0Itq4/g7u9xN12TyUb7mqqta6THuBrxzvxNi
-Cp/HuZc=
------END CERTIFICATE-----
-
-T-TeleSec GlobalRoot Class 3
-============================
------BEGIN CERTIFICATE-----
-MIIDwzCCAqugAwIBAgIBATANBgkqhkiG9w0BAQsFADCBgjELMAkGA1UEBhMCREUxKzApBgNVBAoM
-IlQtU3lzdGVtcyBFbnRlcnByaXNlIFNlcnZpY2VzIEdtYkgxHzAdBgNVBAsMFlQtU3lzdGVtcyBU
-cnVzdCBDZW50ZXIxJTAjBgNVBAMMHFQtVGVsZVNlYyBHbG9iYWxSb290IENsYXNzIDMwHhcNMDgx
-MDAxMTAyOTU2WhcNMzMxMDAxMjM1OTU5WjCBgjELMAkGA1UEBhMCREUxKzApBgNVBAoMIlQtU3lz
-dGVtcyBFbnRlcnByaXNlIFNlcnZpY2VzIEdtYkgxHzAdBgNVBAsMFlQtU3lzdGVtcyBUcnVzdCBD
-ZW50ZXIxJTAjBgNVBAMMHFQtVGVsZVNlYyBHbG9iYWxSb290IENsYXNzIDMwggEiMA0GCSqGSIb3
-DQEBAQUAA4IBDwAwggEKAoIBAQC9dZPwYiJvJK7genasfb3ZJNW4t/zN8ELg63iIVl6bmlQdTQyK
-9tPPcPRStdiTBONGhnFBSivwKixVA9ZIw+A5OO3yXDw/RLyTPWGrTs0NvvAgJ1gORH8EGoel15YU
-NpDQSXuhdfsaa3Ox+M6pCSzyU9XDFES4hqX2iys52qMzVNn6chr3IhUciJFrf2blw2qAsCTz34ZF
-iP0Zf3WHHx+xGwpzJFu5ZeAsVMhg02YXP+HMVDNzkQI6pn97djmiH5a2OK61yJN0HZ65tOVgnS9W
-0eDrXltMEnAMbEQgqxHY9Bn20pxSN+f6tsIxO0rUFJmtxxr1XV/6B7h8DR/Wgx6zAgMBAAGjQjBA
-MA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBS1A/d2O2GCahKqGFPr
-AyGUv/7OyjANBgkqhkiG9w0BAQsFAAOCAQEAVj3vlNW92nOyWL6ukK2YJ5f+AbGwUgC4TeQbIXQb
-fsDuXmkqJa9c1h3a0nnJ85cp4IaH3gRZD/FZ1GSFS5mvJQQeyUapl96Cshtwn5z2r3Ex3XsFpSzT
-ucpH9sry9uetuUg/vBa3wW306gmv7PO15wWeph6KU1HWk4HMdJP2udqmJQV0eVp+QD6CSyYRMG7h
-P0HHRwA11fXT91Q+gT3aSWqas+8QPebrb9HIIkfLzM8BMZLZGOMivgkeGj5asuRrDFR6fUNOuIml
-e9eiPZaGzPImNC1qkp2aGtAw4l1OBLBfiyB+d8E9lYLRRpo7PHi4b6HQDWSieB4pTpPDpFQUWw==
------END CERTIFICATE-----
-
-EE Certification Centre Root CA
-===============================
------BEGIN CERTIFICATE-----
-MIIEAzCCAuugAwIBAgIQVID5oHPtPwBMyonY43HmSjANBgkqhkiG9w0BAQUFADB1MQswCQYDVQQG
-EwJFRTEiMCAGA1UECgwZQVMgU2VydGlmaXRzZWVyaW1pc2tlc2t1czEoMCYGA1UEAwwfRUUgQ2Vy
-dGlmaWNhdGlvbiBDZW50cmUgUm9vdCBDQTEYMBYGCSqGSIb3DQEJARYJcGtpQHNrLmVlMCIYDzIw
-MTAxMDMwMTAxMDMwWhgPMjAzMDEyMTcyMzU5NTlaMHUxCzAJBgNVBAYTAkVFMSIwIAYDVQQKDBlB
-UyBTZXJ0aWZpdHNlZXJpbWlza2Vza3VzMSgwJgYDVQQDDB9FRSBDZXJ0aWZpY2F0aW9uIENlbnRy
-ZSBSb290IENBMRgwFgYJKoZIhvcNAQkBFglwa2lAc2suZWUwggEiMA0GCSqGSIb3DQEBAQUAA4IB
-DwAwggEKAoIBAQDIIMDs4MVLqwd4lfNE7vsLDP90jmG7sWLqI9iroWUyeuuOF0+W2Ap7kaJjbMeM
-TC55v6kF/GlclY1i+blw7cNRfdCT5mzrMEvhvH2/UpvObntl8jixwKIy72KyaOBhU8E2lf/slLo2
-rpwcpzIP5Xy0xm90/XsY6KxX7QYgSzIwWFv9zajmofxwvI6Sc9uXp3whrj3B9UiHbCe9nyV0gVWw
-93X2PaRka9ZP585ArQ/dMtO8ihJTmMmJ+xAdTX7Nfh9WDSFwhfYggx/2uh8Ej+p3iDXE/+pOoYtN
-P2MbRMNE1CV2yreN1x5KZmTNXMWcg+HCCIia7E6j8T4cLNlsHaFLAgMBAAGjgYowgYcwDwYDVR0T
-AQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFBLyWj7qVhy/zQas8fElyalL1BSZ
-MEUGA1UdJQQ+MDwGCCsGAQUFBwMCBggrBgEFBQcDAQYIKwYBBQUHAwMGCCsGAQUFBwMEBggrBgEF
-BQcDCAYIKwYBBQUHAwkwDQYJKoZIhvcNAQEFBQADggEBAHv25MANqhlHt01Xo/6tu7Fq1Q+e2+Rj
-xY6hUFaTlrg4wCQiZrxTFGGVv9DHKpY5P30osxBAIWrEr7BSdxjhlthWXePdNl4dp1BUoMUq5KqM
-lIpPnTX/dqQGE5Gion0ARD9V04I8GtVbvFZMIi5GQ4okQC3zErg7cBqklrkar4dBGmoYDQZPxz5u
-uSlNDUmJEYcyW+ZLBMjkXOZ0c5RdFpgTlf7727FE5TpwrDdr5rMzcijJs1eg9gIWiAYLtqZLICjU
-3j2LrTcFU3T+bsy8QxdxXvnFzBqpYe73dgzzcvRyrc9yAjYHR8/vGVCJYMzpJJUPwssd8m92kMfM
-dcGWxZ0=
------END CERTIFICATE-----
-
-D-TRUST Root Class 3 CA 2 2009
-==============================
------BEGIN CERTIFICATE-----
-MIIEMzCCAxugAwIBAgIDCYPzMA0GCSqGSIb3DQEBCwUAME0xCzAJBgNVBAYTAkRFMRUwEwYDVQQK
-DAxELVRydXN0IEdtYkgxJzAlBgNVBAMMHkQtVFJVU1QgUm9vdCBDbGFzcyAzIENBIDIgMjAwOTAe
-Fw0wOTExMDUwODM1NThaFw0yOTExMDUwODM1NThaME0xCzAJBgNVBAYTAkRFMRUwEwYDVQQKDAxE
-LVRydXN0IEdtYkgxJzAlBgNVBAMMHkQtVFJVU1QgUm9vdCBDbGFzcyAzIENBIDIgMjAwOTCCASIw
-DQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANOySs96R+91myP6Oi/WUEWJNTrGa9v+2wBoqOAD
-ER03UAifTUpolDWzU9GUY6cgVq/eUXjsKj3zSEhQPgrfRlWLJ23DEE0NkVJD2IfgXU42tSHKXzlA
-BF9bfsyjxiupQB7ZNoTWSPOSHjRGICTBpFGOShrvUD9pXRl/RcPHAY9RySPocq60vFYJfxLLHLGv
-KZAKyVXMD9O0Gu1HNVpK7ZxzBCHQqr0ME7UAyiZsxGsMlFqVlNpQmvH/pStmMaTJOKDfHR+4CS7z
-p+hnUquVH+BGPtikw8paxTGA6Eian5Rp/hnd2HN8gcqW3o7tszIFZYQ05ub9VxC1X3a/L7AQDcUC
-AwEAAaOCARowggEWMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFP3aFMSfMN4hvR5COfyrYyNJ
-4PGEMA4GA1UdDwEB/wQEAwIBBjCB0wYDVR0fBIHLMIHIMIGAoH6gfIZ6bGRhcDovL2RpcmVjdG9y
-eS5kLXRydXN0Lm5ldC9DTj1ELVRSVVNUJTIwUm9vdCUyMENsYXNzJTIwMyUyMENBJTIwMiUyMDIw
-MDksTz1ELVRydXN0JTIwR21iSCxDPURFP2NlcnRpZmljYXRlcmV2b2NhdGlvbmxpc3QwQ6BBoD+G
-PWh0dHA6Ly93d3cuZC10cnVzdC5uZXQvY3JsL2QtdHJ1c3Rfcm9vdF9jbGFzc18zX2NhXzJfMjAw
-OS5jcmwwDQYJKoZIhvcNAQELBQADggEBAH+X2zDI36ScfSF6gHDOFBJpiBSVYEQBrLLpME+bUMJm
-2H6NMLVwMeniacfzcNsgFYbQDfC+rAF1hM5+n02/t2A7nPPKHeJeaNijnZflQGDSNiH+0LS4F9p0
-o3/U37CYAqxva2ssJSRyoWXuJVrl5jLn8t+rSfrzkGkj2wTZ51xY/GXUl77M/C4KzCUqNQT4YJEV
-dT1B/yMfGchs64JTBKbkTCJNjYy6zltz7GRUUG3RnFX7acM2w4y8PIWmawomDeCTmGCufsYkl4ph
-X5GOZpIJhzbNi5stPvZR1FDUWSi9g/LMKHtThm3YJohw1+qRzT65ysCQblrGXnRl11z+o+I=
------END CERTIFICATE-----
-
-D-TRUST Root Class 3 CA 2 EV 2009
-=================================
------BEGIN CERTIFICATE-----
-MIIEQzCCAyugAwIBAgIDCYP0MA0GCSqGSIb3DQEBCwUAMFAxCzAJBgNVBAYTAkRFMRUwEwYDVQQK
-DAxELVRydXN0IEdtYkgxKjAoBgNVBAMMIUQtVFJVU1QgUm9vdCBDbGFzcyAzIENBIDIgRVYgMjAw
-OTAeFw0wOTExMDUwODUwNDZaFw0yOTExMDUwODUwNDZaMFAxCzAJBgNVBAYTAkRFMRUwEwYDVQQK
-DAxELVRydXN0IEdtYkgxKjAoBgNVBAMMIUQtVFJVU1QgUm9vdCBDbGFzcyAzIENBIDIgRVYgMjAw
-OTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAJnxhDRwui+3MKCOvXwEz75ivJn9gpfS
-egpnljgJ9hBOlSJzmY3aFS3nBfwZcyK3jpgAvDw9rKFs+9Z5JUut8Mxk2og+KbgPCdM03TP1YtHh
-zRnp7hhPTFiu4h7WDFsVWtg6uMQYZB7jM7K1iXdODL/ZlGsTl28So/6ZqQTMFexgaDbtCHu39b+T
-7WYxg4zGcTSHThfqr4uRjRxWQa4iN1438h3Z0S0NL2lRp75mpoo6Kr3HGrHhFPC+Oh25z1uxav60
-sUYgovseO3Dvk5h9jHOW8sXvhXCtKSb8HgQ+HKDYD8tSg2J87otTlZCpV6LqYQXY+U3EJ/pure35
-11H3a6UCAwEAAaOCASQwggEgMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFNOUikxiEyoZLsyv
-cop9NteaHNxnMA4GA1UdDwEB/wQEAwIBBjCB3QYDVR0fBIHVMIHSMIGHoIGEoIGBhn9sZGFwOi8v
-ZGlyZWN0b3J5LmQtdHJ1c3QubmV0L0NOPUQtVFJVU1QlMjBSb290JTIwQ2xhc3MlMjAzJTIwQ0El
-MjAyJTIwRVYlMjAyMDA5LE89RC1UcnVzdCUyMEdtYkgsQz1ERT9jZXJ0aWZpY2F0ZXJldm9jYXRp
-b25saXN0MEagRKBChkBodHRwOi8vd3d3LmQtdHJ1c3QubmV0L2NybC9kLXRydXN0X3Jvb3RfY2xh
-c3NfM19jYV8yX2V2XzIwMDkuY3JsMA0GCSqGSIb3DQEBCwUAA4IBAQA07XtaPKSUiO8aEXUHL7P+
-PPoeUSbrh/Yp3uDx1MYkCenBz1UbtDDZzhr+BlGmFaQt77JLvyAoJUnRpjZ3NOhk31KxEcdzes05
-nsKtjHEh8lprr988TlWvsoRlFIm5d8sqMb7Po23Pb0iUMkZv53GMoKaEGTcH8gNFCSuGdXzfX2lX
-ANtu2KZyIktQ1HWYVt+3GP9DQ1CuekR78HlR10M9p9OB0/DJT7naxpeG0ILD5EJt/rDiZE4OJudA
-NCa1CInXCGNjOCd1HjPqbqjdn5lPdE2BiYBL3ZqXKVwvvoFBuYz/6n1gBp7N1z3TLqMVvKjmJuVv
-w9y4AyHqnxbxLFS1
------END CERTIFICATE-----
-
-CA Disig Root R2
-================
------BEGIN CERTIFICATE-----
-MIIFaTCCA1GgAwIBAgIJAJK4iNuwisFjMA0GCSqGSIb3DQEBCwUAMFIxCzAJBgNVBAYTAlNLMRMw
-EQYDVQQHEwpCcmF0aXNsYXZhMRMwEQYDVQQKEwpEaXNpZyBhLnMuMRkwFwYDVQQDExBDQSBEaXNp
-ZyBSb290IFIyMB4XDTEyMDcxOTA5MTUzMFoXDTQyMDcxOTA5MTUzMFowUjELMAkGA1UEBhMCU0sx
-EzARBgNVBAcTCkJyYXRpc2xhdmExEzARBgNVBAoTCkRpc2lnIGEucy4xGTAXBgNVBAMTEENBIERp
-c2lnIFJvb3QgUjIwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCio8QACdaFXS1tFPbC
-w3OeNcJxVX6B+6tGUODBfEl45qt5WDza/3wcn9iXAng+a0EE6UG9vgMsRfYvZNSrXaNHPWSb6Wia
-xswbP7q+sos0Ai6YVRn8jG+qX9pMzk0DIaPY0jSTVpbLTAwAFjxfGs3Ix2ymrdMxp7zo5eFm1tL7
-A7RBZckQrg4FY8aAamkw/dLukO8NJ9+flXP04SXabBbeQTg06ov80egEFGEtQX6sx3dOy1FU+16S
-GBsEWmjGycT6txOgmLcRK7fWV8x8nhfRyyX+hk4kLlYMeE2eARKmK6cBZW58Yh2EhN/qwGu1pSqV
-g8NTEQxzHQuyRpDRQjrOQG6Vrf/GlK1ul4SOfW+eioANSW1z4nuSHsPzwfPrLgVv2RvPN3YEyLRa
-5Beny912H9AZdugsBbPWnDTYltxhh5EF5EQIM8HauQhl1K6yNg3ruji6DOWbnuuNZt2Zz9aJQfYE
-koopKW1rOhzndX0CcQ7zwOe9yxndnWCywmZgtrEE7snmhrmaZkCo5xHtgUUDi/ZnWejBBhG93c+A
-Ak9lQHhcR1DIm+YfgXvkRKhbhZri3lrVx/k6RGZL5DJUfORsnLMOPReisjQS1n6yqEm70XooQL6i
-Fh/f5DcfEXP7kAplQ6INfPgGAVUzfbANuPT1rqVCV3w2EYx7XsQDnYx5nQIDAQABo0IwQDAPBgNV
-HRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQUtZn4r7CU9eMg1gqtzk5WpC5u
-Qu0wDQYJKoZIhvcNAQELBQADggIBACYGXnDnZTPIgm7ZnBc6G3pmsgH2eDtpXi/q/075KMOYKmFM
-tCQSin1tERT3nLXK5ryeJ45MGcipvXrA1zYObYVybqjGom32+nNjf7xueQgcnYqfGopTpti72TVV
-sRHFqQOzVju5hJMiXn7B9hJSi+osZ7z+Nkz1uM/Rs0mSO9MpDpkblvdhuDvEK7Z4bLQjb/D907Je
-dR+Zlais9trhxTF7+9FGs9K8Z7RiVLoJ92Owk6Ka+elSLotgEqv89WBW7xBci8QaQtyDW2QOy7W8
-1k/BfDxujRNt+3vrMNDcTa/F1balTFtxyegxvug4BkihGuLq0t4SOVga/4AOgnXmt8kHbA7v/zjx
-mHHEt38OFdAlab0inSvtBfZGR6ztwPDUO+Ls7pZbkBNOHlY667DvlruWIxG68kOGdGSVyCh13x01
-utI3gzhTODY7z2zp+WsO0PsE6E9312UBeIYMej4hYvF/Y3EMyZ9E26gnonW+boE+18DrG5gPcFw0
-sorMwIUY6256s/daoQe/qUKS82Ail+QUoQebTnbAjn39pCXHR+3/H3OszMOl6W8KjptlwlCFtaOg
-UxLMVYdh84GuEEZhvUQhuMI9dM9+JDX6HAcOmz0iyu8xL4ysEr3vQCj8KWefshNPZiTEUxnpHikV
-7+ZtsH8tZ/3zbBt1RqPlShfppNcL
------END CERTIFICATE-----
-
-ACCVRAIZ1
-=========
------BEGIN CERTIFICATE-----
-MIIH0zCCBbugAwIBAgIIXsO3pkN/pOAwDQYJKoZIhvcNAQEFBQAwQjESMBAGA1UEAwwJQUNDVlJB
-SVoxMRAwDgYDVQQLDAdQS0lBQ0NWMQ0wCwYDVQQKDARBQ0NWMQswCQYDVQQGEwJFUzAeFw0xMTA1
-MDUwOTM3MzdaFw0zMDEyMzEwOTM3MzdaMEIxEjAQBgNVBAMMCUFDQ1ZSQUlaMTEQMA4GA1UECwwH
-UEtJQUNDVjENMAsGA1UECgwEQUNDVjELMAkGA1UEBhMCRVMwggIiMA0GCSqGSIb3DQEBAQUAA4IC
-DwAwggIKAoICAQCbqau/YUqXry+XZpp0X9DZlv3P4uRm7x8fRzPCRKPfmt4ftVTdFXxpNRFvu8gM
-jmoYHtiP2Ra8EEg2XPBjs5BaXCQ316PWywlxufEBcoSwfdtNgM3802/J+Nq2DoLSRYWoG2ioPej0
-RGy9ocLLA76MPhMAhN9KSMDjIgro6TenGEyxCQ0jVn8ETdkXhBilyNpAlHPrzg5XPAOBOp0KoVdD
-aaxXbXmQeOW1tDvYvEyNKKGno6e6Ak4l0Squ7a4DIrhrIA8wKFSVf+DuzgpmndFALW4ir50awQUZ
-0m/A8p/4e7MCQvtQqR0tkw8jq8bBD5L/0KIV9VMJcRz/RROE5iZe+OCIHAr8Fraocwa48GOEAqDG
-WuzndN9wrqODJerWx5eHk6fGioozl2A3ED6XPm4pFdahD9GILBKfb6qkxkLrQaLjlUPTAYVtjrs7
-8yM2x/474KElB0iryYl0/wiPgL/AlmXz7uxLaL2diMMxs0Dx6M/2OLuc5NF/1OVYm3z61PMOm3WR
-5LpSLhl+0fXNWhn8ugb2+1KoS5kE3fj5tItQo05iifCHJPqDQsGH+tUtKSpacXpkatcnYGMN285J
-9Y0fkIkyF/hzQ7jSWpOGYdbhdQrqeWZ2iE9x6wQl1gpaepPluUsXQA+xtrn13k/c4LOsOxFwYIRK
-Q26ZIMApcQrAZQIDAQABo4ICyzCCAscwfQYIKwYBBQUHAQEEcTBvMEwGCCsGAQUFBzAChkBodHRw
-Oi8vd3d3LmFjY3YuZXMvZmlsZWFkbWluL0FyY2hpdm9zL2NlcnRpZmljYWRvcy9yYWl6YWNjdjEu
-Y3J0MB8GCCsGAQUFBzABhhNodHRwOi8vb2NzcC5hY2N2LmVzMB0GA1UdDgQWBBTSh7Tj3zcnk1X2
-VuqB5TbMjB4/vTAPBgNVHRMBAf8EBTADAQH/MB8GA1UdIwQYMBaAFNKHtOPfNyeTVfZW6oHlNsyM
-Hj+9MIIBcwYDVR0gBIIBajCCAWYwggFiBgRVHSAAMIIBWDCCASIGCCsGAQUFBwICMIIBFB6CARAA
-QQB1AHQAbwByAGkAZABhAGQAIABkAGUAIABDAGUAcgB0AGkAZgBpAGMAYQBjAGkA8wBuACAAUgBh
-AO0AegAgAGQAZQAgAGwAYQAgAEEAQwBDAFYAIAAoAEEAZwBlAG4AYwBpAGEAIABkAGUAIABUAGUA
-YwBuAG8AbABvAGcA7QBhACAAeQAgAEMAZQByAHQAaQBmAGkAYwBhAGMAaQDzAG4AIABFAGwAZQBj
-AHQAcgDzAG4AaQBjAGEALAAgAEMASQBGACAAUQA0ADYAMAAxADEANQA2AEUAKQAuACAAQwBQAFMA
-IABlAG4AIABoAHQAdABwADoALwAvAHcAdwB3AC4AYQBjAGMAdgAuAGUAczAwBggrBgEFBQcCARYk
-aHR0cDovL3d3dy5hY2N2LmVzL2xlZ2lzbGFjaW9uX2MuaHRtMFUGA1UdHwROMEwwSqBIoEaGRGh0
-dHA6Ly93d3cuYWNjdi5lcy9maWxlYWRtaW4vQXJjaGl2b3MvY2VydGlmaWNhZG9zL3JhaXphY2N2
-MV9kZXIuY3JsMA4GA1UdDwEB/wQEAwIBBjAXBgNVHREEEDAOgQxhY2N2QGFjY3YuZXMwDQYJKoZI
-hvcNAQEFBQADggIBAJcxAp/n/UNnSEQU5CmH7UwoZtCPNdpNYbdKl02125DgBS4OxnnQ8pdpD70E
-R9m+27Up2pvZrqmZ1dM8MJP1jaGo/AaNRPTKFpV8M9xii6g3+CfYCS0b78gUJyCpZET/LtZ1qmxN
-YEAZSUNUY9rizLpm5U9EelvZaoErQNV/+QEnWCzI7UiRfD+mAM/EKXMRNt6GGT6d7hmKG9Ww7Y49
-nCrADdg9ZuM8Db3VlFzi4qc1GwQA9j9ajepDvV+JHanBsMyZ4k0ACtrJJ1vnE5Bc5PUzolVt3OAJ
-TS+xJlsndQAJxGJ3KQhfnlmstn6tn1QwIgPBHnFk/vk4CpYY3QIUrCPLBhwepH2NDd4nQeit2hW3
-sCPdK6jT2iWH7ehVRE2I9DZ+hJp4rPcOVkkO1jMl1oRQQmwgEh0q1b688nCBpHBgvgW1m54ERL5h
-I6zppSSMEYCUWqKiuUnSwdzRp+0xESyeGabu4VXhwOrPDYTkF7eifKXeVSUG7szAh1xA2syVP1Xg
-Nce4hL60Xc16gwFy7ofmXx2utYXGJt/mwZrpHgJHnyqobalbz+xFd3+YJ5oyXSrjhO7FmGYvliAd
-3djDJ9ew+f7Zfc3Qn48LFFhRny+Lwzgt3uiP1o2HpPVWQxaZLPSkVrQ0uGE3ycJYgBugl6H8WY3p
-EfbRD0tVNEYqi4Y7
------END CERTIFICATE-----
-
-TWCA Global Root CA
-===================
------BEGIN CERTIFICATE-----
-MIIFQTCCAymgAwIBAgICDL4wDQYJKoZIhvcNAQELBQAwUTELMAkGA1UEBhMCVFcxEjAQBgNVBAoT
-CVRBSVdBTi1DQTEQMA4GA1UECxMHUm9vdCBDQTEcMBoGA1UEAxMTVFdDQSBHbG9iYWwgUm9vdCBD
-QTAeFw0xMjA2MjcwNjI4MzNaFw0zMDEyMzExNTU5NTlaMFExCzAJBgNVBAYTAlRXMRIwEAYDVQQK
-EwlUQUlXQU4tQ0ExEDAOBgNVBAsTB1Jvb3QgQ0ExHDAaBgNVBAMTE1RXQ0EgR2xvYmFsIFJvb3Qg
-Q0EwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCwBdvI64zEbooh745NnHEKH1Jw7W2C
-nJfF10xORUnLQEK1EjRsGcJ0pDFfhQKX7EMzClPSnIyOt7h52yvVavKOZsTuKwEHktSz0ALfUPZV
-r2YOy+BHYC8rMjk1Ujoog/h7FsYYuGLWRyWRzvAZEk2tY/XTP3VfKfChMBwqoJimFb3u/Rk28OKR
-Q4/6ytYQJ0lM793B8YVwm8rqqFpD/G2Gb3PpN0Wp8DbHzIh1HrtsBv+baz4X7GGqcXzGHaL3SekV
-tTzWoWH1EfcFbx39Eb7QMAfCKbAJTibc46KokWofwpFFiFzlmLhxpRUZyXx1EcxwdE8tmx2RRP1W
-KKD+u4ZqyPpcC1jcxkt2yKsi2XMPpfRaAok/T54igu6idFMqPVMnaR1sjjIsZAAmY2E2TqNGtz99
-sy2sbZCilaLOz9qC5wc0GZbpuCGqKX6mOL6OKUohZnkfs8O1CWfe1tQHRvMq2uYiN2DLgbYPoA/p
-yJV/v1WRBXrPPRXAb94JlAGD1zQbzECl8LibZ9WYkTunhHiVJqRaCPgrdLQABDzfuBSO6N+pjWxn
-kjMdwLfS7JLIvgm/LCkFbwJrnu+8vyq8W8BQj0FwcYeyTbcEqYSjMq+u7msXi7Kx/mzhkIyIqJdI
-zshNy/MGz19qCkKxHh53L46g5pIOBvwFItIm4TFRfTLcDwIDAQABoyMwITAOBgNVHQ8BAf8EBAMC
-AQYwDwYDVR0TAQH/BAUwAwEB/zANBgkqhkiG9w0BAQsFAAOCAgEAXzSBdu+WHdXltdkCY4QWwa6g
-cFGn90xHNcgL1yg9iXHZqjNB6hQbbCEAwGxCGX6faVsgQt+i0trEfJdLjbDorMjupWkEmQqSpqsn
-LhpNgb+E1HAerUf+/UqdM+DyucRFCCEK2mlpc3INvjT+lIutwx4116KD7+U4x6WFH6vPNOw/KP4M
-8VeGTslV9xzU2KV9Bnpv1d8Q34FOIWWxtuEXeZVFBs5fzNxGiWNoRI2T9GRwoD2dKAXDOXC4Ynsg
-/eTb6QihuJ49CcdP+yz4k3ZB3lLg4VfSnQO8d57+nile98FRYB/e2guyLXW3Q0iT5/Z5xoRdgFlg
-lPx4mI88k1HtQJAH32RjJMtOcQWh15QaiDLxInQirqWm2BJpTGCjAu4r7NRjkgtevi92a6O2JryP
-A9gK8kxkRr05YuWW6zRjESjMlfGt7+/cgFhI6Uu46mWs6fyAtbXIRfmswZ/ZuepiiI7E8UuDEq3m
-i4TWnsLrgxifarsbJGAzcMzs9zLzXNl5fe+epP7JI8Mk7hWSsT2RTyaGvWZzJBPqpK5jwa19hAM8
-EHiGG3njxPPyBJUgriOCxLM6AGK/5jYk4Ve6xx6QddVfP5VhK8E7zeWzaGHQRiapIVJpLesux+t3
-zqY6tQMzT3bR51xUAV3LePTJDL/PEo4XLSNolOer/qmyKwbQBM0=
------END CERTIFICATE-----
-
-TeliaSonera Root CA v1
-======================
------BEGIN CERTIFICATE-----
-MIIFODCCAyCgAwIBAgIRAJW+FqD3LkbxezmCcvqLzZYwDQYJKoZIhvcNAQEFBQAwNzEUMBIGA1UE
-CgwLVGVsaWFTb25lcmExHzAdBgNVBAMMFlRlbGlhU29uZXJhIFJvb3QgQ0EgdjEwHhcNMDcxMDE4
-MTIwMDUwWhcNMzIxMDE4MTIwMDUwWjA3MRQwEgYDVQQKDAtUZWxpYVNvbmVyYTEfMB0GA1UEAwwW
-VGVsaWFTb25lcmEgUm9vdCBDQSB2MTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAMK+
-6yfwIaPzaSZVfp3FVRaRXP3vIb9TgHot0pGMYzHw7CTww6XScnwQbfQ3t+XmfHnqjLWCi65ItqwA
-3GV17CpNX8GH9SBlK4GoRz6JI5UwFpB/6FcHSOcZrr9FZ7E3GwYq/t75rH2D+1665I+XZ75Ljo1k
-B1c4VWk0Nj0TSO9P4tNmHqTPGrdeNjPUtAa9GAH9d4RQAEX1jF3oI7x+/jXh7VB7qTCNGdMJjmhn
-Xb88lxhTuylixcpecsHHltTbLaC0H2kD7OriUPEMPPCs81Mt8Bz17Ww5OXOAFshSsCPN4D7c3TxH
-oLs1iuKYaIu+5b9y7tL6pe0S7fyYGKkmdtwoSxAgHNN/Fnct7W+A90m7UwW7XWjH1Mh1Fj+JWov3
-F0fUTPHSiXk+TT2YqGHeOh7S+F4D4MHJHIzTjU3TlTazN19jY5szFPAtJmtTfImMMsJu7D0hADnJ
-oWjiUIMusDor8zagrC/kb2HCUQk5PotTubtn2txTuXZZNp1D5SDgPTJghSJRt8czu90VL6R4pgd7
-gUY2BIbdeTXHlSw7sKMXNeVzH7RcWe/a6hBle3rQf5+ztCo3O3CLm1u5K7fsslESl1MpWtTwEhDc
-TwK7EpIvYtQ/aUN8Ddb8WHUBiJ1YFkveupD/RwGJBmr2X7KQarMCpgKIv7NHfirZ1fpoeDVNAgMB
-AAGjPzA9MA8GA1UdEwEB/wQFMAMBAf8wCwYDVR0PBAQDAgEGMB0GA1UdDgQWBBTwj1k4ALP1j5qW
-DNXr+nuqF+gTEjANBgkqhkiG9w0BAQUFAAOCAgEAvuRcYk4k9AwI//DTDGjkk0kiP0Qnb7tt3oNm
-zqjMDfz1mgbldxSR651Be5kqhOX//CHBXfDkH1e3damhXwIm/9fH907eT/j3HEbAek9ALCI18Bmx
-0GtnLLCo4MBANzX2hFxc469CeP6nyQ1Q6g2EdvZR74NTxnr/DlZJLo961gzmJ1TjTQpgcmLNkQfW
-pb/ImWvtxBnmq0wROMVvMeJuScg/doAmAyYp4Db29iBT4xdwNBedY2gea+zDTYa4EzAvXUYNR0PV
-G6pZDrlcjQZIrXSHX8f8MVRBE+LHIQ6e4B4N4cB7Q4WQxYpYxmUKeFfyxiMPAdkgS94P+5KFdSpc
-c41teyWRyu5FrgZLAMzTsVlQ2jqIOylDRl6XK1TOU2+NSueW+r9xDkKLfP0ooNBIytrEgUy7onOT
-JsjrDNYmiLbAJM+7vVvrdX3pCI6GMyx5dwlppYn8s3CQh3aP0yK7Qs69cwsgJirQmz1wHiRszYd2
-qReWt88NkvuOGKmYSdGe/mBEciG5Ge3C9THxOUiIkCR1VBatzvT4aRRkOfujuLpwQMcnHL/EVlP6
-Y2XQ8xwOFvVrhlhNGNTkDY6lnVuR3HYkUD/GKvvZt5y11ubQ2egZixVxSK236thZiNSQvxaz2ems
-WWFUyBy6ysHK4bkgTI86k4mloMy/0/Z1pHWWbVY=
------END CERTIFICATE-----
-
-E-Tugra Certification Authority
-===============================
------BEGIN CERTIFICATE-----
-MIIGSzCCBDOgAwIBAgIIamg+nFGby1MwDQYJKoZIhvcNAQELBQAwgbIxCzAJBgNVBAYTAlRSMQ8w
-DQYDVQQHDAZBbmthcmExQDA+BgNVBAoMN0UtVHXEn3JhIEVCRyBCaWxpxZ9pbSBUZWtub2xvamls
-ZXJpIHZlIEhpem1ldGxlcmkgQS7Fni4xJjAkBgNVBAsMHUUtVHVncmEgU2VydGlmaWthc3lvbiBN
-ZXJrZXppMSgwJgYDVQQDDB9FLVR1Z3JhIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MB4XDTEzMDMw
-NTEyMDk0OFoXDTIzMDMwMzEyMDk0OFowgbIxCzAJBgNVBAYTAlRSMQ8wDQYDVQQHDAZBbmthcmEx
-QDA+BgNVBAoMN0UtVHXEn3JhIEVCRyBCaWxpxZ9pbSBUZWtub2xvamlsZXJpIHZlIEhpem1ldGxl
-cmkgQS7Fni4xJjAkBgNVBAsMHUUtVHVncmEgU2VydGlmaWthc3lvbiBNZXJrZXppMSgwJgYDVQQD
-DB9FLVR1Z3JhIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MIICIjANBgkqhkiG9w0BAQEFAAOCAg8A
-MIICCgKCAgEA4vU/kwVRHoViVF56C/UYB4Oufq9899SKa6VjQzm5S/fDxmSJPZQuVIBSOTkHS0vd
-hQd2h8y/L5VMzH2nPbxHD5hw+IyFHnSOkm0bQNGZDbt1bsipa5rAhDGvykPL6ys06I+XawGb1Q5K
-CKpbknSFQ9OArqGIW66z6l7LFpp3RMih9lRozt6Plyu6W0ACDGQXwLWTzeHxE2bODHnv0ZEoq1+g
-ElIwcxmOj+GMB6LDu0rw6h8VqO4lzKRG+Bsi77MOQ7osJLjFLFzUHPhdZL3Dk14opz8n8Y4e0ypQ
-BaNV2cvnOVPAmJ6MVGKLJrD3fY185MaeZkJVgkfnsliNZvcHfC425lAcP9tDJMW/hkd5s3kc91r0
-E+xs+D/iWR+V7kI+ua2oMoVJl0b+SzGPWsutdEcf6ZG33ygEIqDUD13ieU/qbIWGvaimzuT6w+Gz
-rt48Ue7LE3wBf4QOXVGUnhMMti6lTPk5cDZvlsouDERVxcr6XQKj39ZkjFqzAQqptQpHF//vkUAq
-jqFGOjGY5RH8zLtJVor8udBhmm9lbObDyz51Sf6Pp+KJxWfXnUYTTjF2OySznhFlhqt/7x3U+Lzn
-rFpct1pHXFXOVbQicVtbC/DP3KBhZOqp12gKY6fgDT+gr9Oq0n7vUaDmUStVkhUXU8u3Zg5mTPj5
-dUyQ5xJwx0UCAwEAAaNjMGEwHQYDVR0OBBYEFC7j27JJ0JxUeVz6Jyr+zE7S6E5UMA8GA1UdEwEB
-/wQFMAMBAf8wHwYDVR0jBBgwFoAULuPbsknQnFR5XPonKv7MTtLoTlQwDgYDVR0PAQH/BAQDAgEG
-MA0GCSqGSIb3DQEBCwUAA4ICAQAFNzr0TbdF4kV1JI+2d1LoHNgQk2Xz8lkGpD4eKexd0dCrfOAK
-kEh47U6YA5n+KGCRHTAduGN8qOY1tfrTYXbm1gdLymmasoR6d5NFFxWfJNCYExL/u6Au/U5Mh/jO
-XKqYGwXgAEZKgoClM4so3O0409/lPun++1ndYYRP0lSWE2ETPo+Aab6TR7U1Q9Jauz1c77NCR807
-VRMGsAnb/WP2OogKmW9+4c4bU2pEZiNRCHu8W1Ki/QY3OEBhj0qWuJA3+GbHeJAAFS6LrVE1Uweo
-a2iu+U48BybNCAVwzDk/dr2l02cmAYamU9JgO3xDf1WKvJUawSg5TB9D0pH0clmKuVb8P7Sd2nCc
-dlqMQ1DujjByTd//SffGqWfZbawCEeI6FiWnWAjLb1NBnEg4R2gz0dfHj9R0IdTDBZB6/86WiLEV
-KV0jq9BgoRJP3vQXzTLlyb/IQ639Lo7xr+L0mPoSHyDYwKcMhcWQ9DstliaxLL5Mq+ux0orJ23gT
-Dx4JnW2PAJ8C2sH6H3p6CcRK5ogql5+Ji/03X186zjhZhkuvcQu02PJwT58yE+Owp1fl2tpDy4Q0
-8ijE6m30Ku/Ba3ba+367hTzSU8JNvnHhRdH9I2cNE3X7z2VnIp2usAnRCf8dNL/+I5c30jn6PQ0G
-C7TbO6Orb1wdtn7os4I07QZcJA==
------END CERTIFICATE-----
-
-T-TeleSec GlobalRoot Class 2
-============================
------BEGIN CERTIFICATE-----
-MIIDwzCCAqugAwIBAgIBATANBgkqhkiG9w0BAQsFADCBgjELMAkGA1UEBhMCREUxKzApBgNVBAoM
-IlQtU3lzdGVtcyBFbnRlcnByaXNlIFNlcnZpY2VzIEdtYkgxHzAdBgNVBAsMFlQtU3lzdGVtcyBU
-cnVzdCBDZW50ZXIxJTAjBgNVBAMMHFQtVGVsZVNlYyBHbG9iYWxSb290IENsYXNzIDIwHhcNMDgx
-MDAxMTA0MDE0WhcNMzMxMDAxMjM1OTU5WjCBgjELMAkGA1UEBhMCREUxKzApBgNVBAoMIlQtU3lz
-dGVtcyBFbnRlcnByaXNlIFNlcnZpY2VzIEdtYkgxHzAdBgNVBAsMFlQtU3lzdGVtcyBUcnVzdCBD
-ZW50ZXIxJTAjBgNVBAMMHFQtVGVsZVNlYyBHbG9iYWxSb290IENsYXNzIDIwggEiMA0GCSqGSIb3
-DQEBAQUAA4IBDwAwggEKAoIBAQCqX9obX+hzkeXaXPSi5kfl82hVYAUdAqSzm1nzHoqvNK38DcLZ
-SBnuaY/JIPwhqgcZ7bBcrGXHX+0CfHt8LRvWurmAwhiCFoT6ZrAIxlQjgeTNuUk/9k9uN0goOA/F
-vudocP05l03Sx5iRUKrERLMjfTlH6VJi1hKTXrcxlkIF+3anHqP1wvzpesVsqXFP6st4vGCvx970
-2cu+fjOlbpSD8DT6IavqjnKgP6TeMFvvhk1qlVtDRKgQFRzlAVfFmPHmBiiRqiDFt1MmUUOyCxGV
-WOHAD3bZwI18gfNycJ5v/hqO2V81xrJvNHy+SE/iWjnX2J14np+GPgNeGYtEotXHAgMBAAGjQjBA
-MA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBS/WSA2AHmgoCJrjNXy
-YdK4LMuCSjANBgkqhkiG9w0BAQsFAAOCAQEAMQOiYQsfdOhyNsZt+U2e+iKo4YFWz827n+qrkRk4
-r6p8FU3ztqONpfSO9kSpp+ghla0+AGIWiPACuvxhI+YzmzB6azZie60EI4RYZeLbK4rnJVM3YlNf
-vNoBYimipidx5joifsFvHZVwIEoHNN/q/xWA5brXethbdXwFeilHfkCoMRN3zUA7tFFHei4R40cR
-3p1m0IvVVGb6g1XqfMIpiRvpb7PO4gWEyS8+eIVibslfwXhjdFjASBgMmTnrpMwatXlajRWc2BQN
-9noHV8cigwUtPJslJj0Ys6lDfMjIq2SPDqO/nBudMNva0Bkuqjzx+zOAduTNrRlPBSeOE6Fuwg==
------END CERTIFICATE-----
-
-Atos TrustedRoot 2011
-=====================
------BEGIN CERTIFICATE-----
-MIIDdzCCAl+gAwIBAgIIXDPLYixfszIwDQYJKoZIhvcNAQELBQAwPDEeMBwGA1UEAwwVQXRvcyBU
-cnVzdGVkUm9vdCAyMDExMQ0wCwYDVQQKDARBdG9zMQswCQYDVQQGEwJERTAeFw0xMTA3MDcxNDU4
-MzBaFw0zMDEyMzEyMzU5NTlaMDwxHjAcBgNVBAMMFUF0b3MgVHJ1c3RlZFJvb3QgMjAxMTENMAsG
-A1UECgwEQXRvczELMAkGA1UEBhMCREUwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCV
-hTuXbyo7LjvPpvMpNb7PGKw+qtn4TaA+Gke5vJrf8v7MPkfoepbCJI419KkM/IL9bcFyYie96mvr
-54rMVD6QUM+A1JX76LWC1BTFtqlVJVfbsVD2sGBkWXppzwO3bw2+yj5vdHLqqjAqc2K+SZFhyBH+
-DgMq92og3AIVDV4VavzjgsG1xZ1kCWyjWZgHJ8cblithdHFsQ/H3NYkQ4J7sVaE3IqKHBAUsR320
-HLliKWYoyrfhk/WklAOZuXCFteZI6o1Q/NnezG8HDt0Lcp2AMBYHlT8oDv3FdU9T1nSatCQujgKR
-z3bFmx5VdJx4IbHwLfELn8LVlhgf8FQieowHAgMBAAGjfTB7MB0GA1UdDgQWBBSnpQaxLKYJYO7R
-l+lwrrw7GWzbITAPBgNVHRMBAf8EBTADAQH/MB8GA1UdIwQYMBaAFKelBrEspglg7tGX6XCuvDsZ
-bNshMBgGA1UdIAQRMA8wDQYLKwYBBAGwLQMEAQEwDgYDVR0PAQH/BAQDAgGGMA0GCSqGSIb3DQEB
-CwUAA4IBAQAmdzTblEiGKkGdLD4GkGDEjKwLVLgfuXvTBznk+j57sj1O7Z8jvZfza1zv7v1Apt+h
-k6EKhqzvINB5Ab149xnYJDE0BAGmuhWawyfc2E8PzBhj/5kPDpFrdRbhIfzYJsdHt6bPWHJxfrrh
-TZVHO8mvbaG0weyJ9rQPOLXiZNwlz6bb65pcmaHFCN795trV1lpFDMS3wrUU77QR/w4VtfX128a9
-61qn8FYiqTxlVMYVqL2Gns2Dlmh6cYGJ4Qvh6hEbaAjMaZ7snkGeRDImeuKHCnE96+RapNLbxc3G
-3mB/ufNPRJLvKrcYPqcZ2Qt9sTdBQrC6YB3y/gkRsPCHe6ed
------END CERTIFICATE-----
-
-QuoVadis Root CA 1 G3
-=====================
------BEGIN CERTIFICATE-----
-MIIFYDCCA0igAwIBAgIUeFhfLq0sGUvjNwc1NBMotZbUZZMwDQYJKoZIhvcNAQELBQAwSDELMAkG
-A1UEBhMCQk0xGTAXBgNVBAoTEFF1b1ZhZGlzIExpbWl0ZWQxHjAcBgNVBAMTFVF1b1ZhZGlzIFJv
-b3QgQ0EgMSBHMzAeFw0xMjAxMTIxNzI3NDRaFw00MjAxMTIxNzI3NDRaMEgxCzAJBgNVBAYTAkJN
-MRkwFwYDVQQKExBRdW9WYWRpcyBMaW1pdGVkMR4wHAYDVQQDExVRdW9WYWRpcyBSb290IENBIDEg
-RzMwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCgvlAQjunybEC0BJyFuTHK3C3kEakE
-PBtVwedYMB0ktMPvhd6MLOHBPd+C5k+tR4ds7FtJwUrVu4/sh6x/gpqG7D0DmVIB0jWerNrwU8lm
-PNSsAgHaJNM7qAJGr6Qc4/hzWHa39g6QDbXwz8z6+cZM5cOGMAqNF34168Xfuw6cwI2H44g4hWf6
-Pser4BOcBRiYz5P1sZK0/CPTz9XEJ0ngnjybCKOLXSoh4Pw5qlPafX7PGglTvF0FBM+hSo+LdoIN
-ofjSxxR3W5A2B4GbPgb6Ul5jxaYA/qXpUhtStZI5cgMJYr2wYBZupt0lwgNm3fME0UDiTouG9G/l
-g6AnhF4EwfWQvTA9xO+oabw4m6SkltFi2mnAAZauy8RRNOoMqv8hjlmPSlzkYZqn0ukqeI1RPToV
-7qJZjqlc3sX5kCLliEVx3ZGZbHqfPT2YfF72vhZooF6uCyP8Wg+qInYtyaEQHeTTRCOQiJ/GKubX
-9ZqzWB4vMIkIG1SitZgj7Ah3HJVdYdHLiZxfokqRmu8hqkkWCKi9YSgxyXSthfbZxbGL0eUQMk1f
-iyA6PEkfM4VZDdvLCXVDaXP7a3F98N/ETH3Goy7IlXnLc6KOTk0k+17kBL5yG6YnLUlamXrXXAkg
-t3+UuU/xDRxeiEIbEbfnkduebPRq34wGmAOtzCjvpUfzUwIDAQABo0IwQDAPBgNVHRMBAf8EBTAD
-AQH/MA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQUo5fW816iEOGrRZ88F2Q87gFwnMwwDQYJKoZI
-hvcNAQELBQADggIBABj6W3X8PnrHX3fHyt/PX8MSxEBd1DKquGrX1RUVRpgjpeaQWxiZTOOtQqOC
-MTaIzen7xASWSIsBx40Bz1szBpZGZnQdT+3Btrm0DWHMY37XLneMlhwqI2hrhVd2cDMT/uFPpiN3
-GPoajOi9ZcnPP/TJF9zrx7zABC4tRi9pZsMbj/7sPtPKlL92CiUNqXsCHKnQO18LwIE6PWThv6ct
-Tr1NxNgpxiIY0MWscgKCP6o6ojoilzHdCGPDdRS5YCgtW2jgFqlmgiNR9etT2DGbe+m3nUvriBbP
-+V04ikkwj+3x6xn0dxoxGE1nVGwvb2X52z3sIexe9PSLymBlVNFxZPT5pqOBMzYzcfCkeF9OrYMh
-3jRJjehZrJ3ydlo28hP0r+AJx2EqbPfgna67hkooby7utHnNkDPDs3b69fBsnQGQ+p6Q9pxyz0fa
-wx/kNSBT8lTR32GDpgLiJTjehTItXnOQUl1CxM49S+H5GYQd1aJQzEH7QRTDvdbJWqNjZgKAvQU6
-O0ec7AAmTPWIUb+oI38YB7AL7YsmoWTTYUrrXJ/es69nA7Mf3W1daWhpq1467HxpvMc7hU6eFbm0
-FU/DlXpY18ls6Wy58yljXrQs8C097Vpl4KlbQMJImYFtnh8GKjwStIsPm6Ik8KaN1nrgS7ZklmOV
-hMJKzRwuJIczYOXD
------END CERTIFICATE-----
-
-QuoVadis Root CA 2 G3
-=====================
------BEGIN CERTIFICATE-----
-MIIFYDCCA0igAwIBAgIURFc0JFuBiZs18s64KztbpybwdSgwDQYJKoZIhvcNAQELBQAwSDELMAkG
-A1UEBhMCQk0xGTAXBgNVBAoTEFF1b1ZhZGlzIExpbWl0ZWQxHjAcBgNVBAMTFVF1b1ZhZGlzIFJv
-b3QgQ0EgMiBHMzAeFw0xMjAxMTIxODU5MzJaFw00MjAxMTIxODU5MzJaMEgxCzAJBgNVBAYTAkJN
-MRkwFwYDVQQKExBRdW9WYWRpcyBMaW1pdGVkMR4wHAYDVQQDExVRdW9WYWRpcyBSb290IENBIDIg
-RzMwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQChriWyARjcV4g/Ruv5r+LrI3HimtFh
-ZiFfqq8nUeVuGxbULX1QsFN3vXg6YOJkApt8hpvWGo6t/x8Vf9WVHhLL5hSEBMHfNrMWn4rjyduY
-NM7YMxcoRvynyfDStNVNCXJJ+fKH46nafaF9a7I6JaltUkSs+L5u+9ymc5GQYaYDFCDy54ejiK2t
-oIz/pgslUiXnFgHVy7g1gQyjO/Dh4fxaXc6AcW34Sas+O7q414AB+6XrW7PFXmAqMaCvN+ggOp+o
-MiwMzAkd056OXbxMmO7FGmh77FOm6RQ1o9/NgJ8MSPsc9PG/Srj61YxxSscfrf5BmrODXfKEVu+l
-V0POKa2Mq1W/xPtbAd0jIaFYAI7D0GoT7RPjEiuA3GfmlbLNHiJuKvhB1PLKFAeNilUSxmn1uIZo
-L1NesNKqIcGY5jDjZ1XHm26sGahVpkUG0CM62+tlXSoREfA7T8pt9DTEceT/AFr2XK4jYIVz8eQQ
-sSWu1ZK7E8EM4DnatDlXtas1qnIhO4M15zHfeiFuuDIIfR0ykRVKYnLP43ehvNURG3YBZwjgQQvD
-6xVu+KQZ2aKrr+InUlYrAoosFCT5v0ICvybIxo/gbjh9Uy3l7ZizlWNof/k19N+IxWA1ksB8aRxh
-lRbQ694Lrz4EEEVlWFA4r0jyWbYW8jwNkALGcC4BrTwV1wIDAQABo0IwQDAPBgNVHRMBAf8EBTAD
-AQH/MA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQU7edvdlq/YOxJW8ald7tyFnGbxD0wDQYJKoZI
-hvcNAQELBQADggIBAJHfgD9DCX5xwvfrs4iP4VGyvD11+ShdyLyZm3tdquXK4Qr36LLTn91nMX66
-AarHakE7kNQIXLJgapDwyM4DYvmL7ftuKtwGTTwpD4kWilhMSA/ohGHqPHKmd+RCroijQ1h5fq7K
-pVMNqT1wvSAZYaRsOPxDMuHBR//47PERIjKWnML2W2mWeyAMQ0GaW/ZZGYjeVYg3UQt4XAoeo0L9
-x52ID8DyeAIkVJOviYeIyUqAHerQbj5hLja7NQ4nlv1mNDthcnPxFlxHBlRJAHpYErAK74X9sbgz
-dWqTHBLmYF5vHX/JHyPLhGGfHoJE+V+tYlUkmlKY7VHnoX6XOuYvHxHaU4AshZ6rNRDbIl9qxV6X
-U/IyAgkwo1jwDQHVcsaxfGl7w/U2Rcxhbl5MlMVerugOXou/983g7aEOGzPuVBj+D77vfoRrQ+Nw
-mNtddbINWQeFFSM51vHfqSYP1kjHs6Yi9TM3WpVHn3u6GBVv/9YUZINJ0gpnIdsPNWNgKCLjsZWD
-zYWm3S8P52dSbrsvhXz1SnPnxT7AvSESBT/8twNJAlvIJebiVDj1eYeMHVOyToV7BjjHLPj4sHKN
-JeV3UvQDHEimUF+IIDBu8oJDqz2XhOdT+yHBTw8imoa4WSr2Rz0ZiC3oheGe7IUIarFsNMkd7Egr
-O3jtZsSOeWmD3n+M
------END CERTIFICATE-----
-
-QuoVadis Root CA 3 G3
-=====================
------BEGIN CERTIFICATE-----
-MIIFYDCCA0igAwIBAgIULvWbAiin23r/1aOp7r0DoM8Sah0wDQYJKoZIhvcNAQELBQAwSDELMAkG
-A1UEBhMCQk0xGTAXBgNVBAoTEFF1b1ZhZGlzIExpbWl0ZWQxHjAcBgNVBAMTFVF1b1ZhZGlzIFJv
-b3QgQ0EgMyBHMzAeFw0xMjAxMTIyMDI2MzJaFw00MjAxMTIyMDI2MzJaMEgxCzAJBgNVBAYTAkJN
-MRkwFwYDVQQKExBRdW9WYWRpcyBMaW1pdGVkMR4wHAYDVQQDExVRdW9WYWRpcyBSb290IENBIDMg
-RzMwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCzyw4QZ47qFJenMioKVjZ/aEzHs286
-IxSR/xl/pcqs7rN2nXrpixurazHb+gtTTK/FpRp5PIpM/6zfJd5O2YIyC0TeytuMrKNuFoM7pmRL
-Mon7FhY4futD4tN0SsJiCnMK3UmzV9KwCoWdcTzeo8vAMvMBOSBDGzXRU7Ox7sWTaYI+FrUoRqHe
-6okJ7UO4BUaKhvVZR74bbwEhELn9qdIoyhA5CcoTNs+cra1AdHkrAj80//ogaX3T7mH1urPnMNA3
-I4ZyYUUpSFlob3emLoG+B01vr87ERRORFHAGjx+f+IdpsQ7vw4kZ6+ocYfx6bIrc1gMLnia6Et3U
-VDmrJqMz6nWB2i3ND0/kA9HvFZcba5DFApCTZgIhsUfei5pKgLlVj7WiL8DWM2fafsSntARE60f7
-5li59wzweyuxwHApw0BiLTtIadwjPEjrewl5qW3aqDCYz4ByA4imW0aucnl8CAMhZa634RylsSqi
-Md5mBPfAdOhx3v89WcyWJhKLhZVXGqtrdQtEPREoPHtht+KPZ0/l7DxMYIBpVzgeAVuNVejH38DM
-dyM0SXV89pgR6y3e7UEuFAUCf+D+IOs15xGsIs5XPd7JMG0QA4XN8f+MFrXBsj6IbGB/kE+V9/Yt
-rQE5BwT6dYB9v0lQ7e/JxHwc64B+27bQ3RP+ydOc17KXqQIDAQABo0IwQDAPBgNVHRMBAf8EBTAD
-AQH/MA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQUxhfQvKjqAkPyGwaZXSuQILnXnOQwDQYJKoZI
-hvcNAQELBQADggIBADRh2Va1EodVTd2jNTFGu6QHcrxfYWLopfsLN7E8trP6KZ1/AvWkyaiTt3px
-KGmPc+FSkNrVvjrlt3ZqVoAh313m6Tqe5T72omnHKgqwGEfcIHB9UqM+WXzBusnIFUBhynLWcKzS
-t/Ac5IYp8M7vaGPQtSCKFWGafoaYtMnCdvvMujAWzKNhxnQT5WvvoxXqA/4Ti2Tk08HS6IT7SdEQ
-TXlm66r99I0xHnAUrdzeZxNMgRVhvLfZkXdxGYFgu/BYpbWcC/ePIlUnwEsBbTuZDdQdm2NnL9Du
-DcpmvJRPpq3t/O5jrFc/ZSXPsoaP0Aj/uHYUbt7lJ+yreLVTubY/6CD50qi+YUbKh4yE8/nxoGib
-Ih6BJpsQBJFxwAYf3KDTuVan45gtf4Od34wrnDKOMpTwATwiKp9Dwi7DmDkHOHv8XgBCH/MyJnmD
-hPbl8MFREsALHgQjDFSlTC9JxUrRtm5gDWv8a4uFJGS3iQ6rJUdbPM9+Sb3H6QrG2vd+DhcI00iX
-0HGS8A85PjRqHH3Y8iKuu2n0M7SmSFXRDw4m6Oy2Cy2nhTXN/VnIn9HNPlopNLk9hM6xZdRZkZFW
-dSHBd575euFgndOtBBj0fOtek49TSiIp+EgrPk2GrFt/ywaZWWDYWGWVjUTR939+J399roD1B0y2
-PpxxVJkES/1Y+Zj0
------END CERTIFICATE-----
-
-DigiCert Assured ID Root G2
-===========================
------BEGIN CERTIFICATE-----
-MIIDljCCAn6gAwIBAgIQC5McOtY5Z+pnI7/Dr5r0SzANBgkqhkiG9w0BAQsFADBlMQswCQYDVQQG
-EwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNlcnQuY29tMSQw
-IgYDVQQDExtEaWdpQ2VydCBBc3N1cmVkIElEIFJvb3QgRzIwHhcNMTMwODAxMTIwMDAwWhcNMzgw
-MTE1MTIwMDAwWjBlMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQL
-ExB3d3cuZGlnaWNlcnQuY29tMSQwIgYDVQQDExtEaWdpQ2VydCBBc3N1cmVkIElEIFJvb3QgRzIw
-ggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDZ5ygvUj82ckmIkzTz+GoeMVSAn61UQbVH
-35ao1K+ALbkKz3X9iaV9JPrjIgwrvJUXCzO/GU1BBpAAvQxNEP4HteccbiJVMWWXvdMX0h5i89vq
-bFCMP4QMls+3ywPgym2hFEwbid3tALBSfK+RbLE4E9HpEgjAALAcKxHad3A2m67OeYfcgnDmCXRw
-VWmvo2ifv922ebPynXApVfSr/5Vh88lAbx3RvpO704gqu52/clpWcTs/1PPRCv4o76Pu2ZmvA9OP
-YLfykqGxvYmJHzDNw6YuYjOuFgJ3RFrngQo8p0Quebg/BLxcoIfhG69Rjs3sLPr4/m3wOnyqi+Rn
-lTGNAgMBAAGjQjBAMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgGGMB0GA1UdDgQWBBTO
-w0q5mVXyuNtgv6l+vVa1lzan1jANBgkqhkiG9w0BAQsFAAOCAQEAyqVVjOPIQW5pJ6d1Ee88hjZv
-0p3GeDgdaZaikmkuOGybfQTUiaWxMTeKySHMq2zNixya1r9I0jJmwYrA8y8678Dj1JGG0VDjA9tz
-d29KOVPt3ibHtX2vK0LRdWLjSisCx1BL4GnilmwORGYQRI+tBev4eaymG+g3NJ1TyWGqolKvSnAW
-hsI6yLETcDbYz+70CjTVW0z9B5yiutkBclzzTcHdDrEcDcRjvq30FPuJ7KJBDkzMyFdA0G4Dqs0M
-jomZmWzwPDCvON9vvKO+KSAnq3T/EyJ43pdSVR6DtVQgA+6uwE9W3jfMw3+qBCe703e4YtsXfJwo
-IhNzbM8m9Yop5w==
------END CERTIFICATE-----
-
-DigiCert Assured ID Root G3
-===========================
------BEGIN CERTIFICATE-----
-MIICRjCCAc2gAwIBAgIQC6Fa+h3foLVJRK/NJKBs7DAKBggqhkjOPQQDAzBlMQswCQYDVQQGEwJV
-UzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNlcnQuY29tMSQwIgYD
-VQQDExtEaWdpQ2VydCBBc3N1cmVkIElEIFJvb3QgRzMwHhcNMTMwODAxMTIwMDAwWhcNMzgwMTE1
-MTIwMDAwWjBlMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3
-d3cuZGlnaWNlcnQuY29tMSQwIgYDVQQDExtEaWdpQ2VydCBBc3N1cmVkIElEIFJvb3QgRzMwdjAQ
-BgcqhkjOPQIBBgUrgQQAIgNiAAQZ57ysRGXtzbg/WPuNsVepRC0FFfLvC/8QdJ+1YlJfZn4f5dwb
-RXkLzMZTCp2NXQLZqVneAlr2lSoOjThKiknGvMYDOAdfVdp+CW7if17QRSAPWXYQ1qAk8C3eNvJs
-KTmjQjBAMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgGGMB0GA1UdDgQWBBTL0L2p4ZgF
-UaFNN6KDec6NHSrkhDAKBggqhkjOPQQDAwNnADBkAjAlpIFFAmsSS3V0T8gj43DydXLefInwz5Fy
-YZ5eEJJZVrmDxxDnOOlYJjZ91eQ0hjkCMHw2U/Aw5WJjOpnitqM7mzT6HtoQknFekROn3aRukswy
-1vUhZscv6pZjamVFkpUBtA==
------END CERTIFICATE-----
-
-DigiCert Global Root G2
-=======================
------BEGIN CERTIFICATE-----
-MIIDjjCCAnagAwIBAgIQAzrx5qcRqaC7KGSxHQn65TANBgkqhkiG9w0BAQsFADBhMQswCQYDVQQG
-EwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNlcnQuY29tMSAw
-HgYDVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBHMjAeFw0xMzA4MDExMjAwMDBaFw0zODAxMTUx
-MjAwMDBaMGExCzAJBgNVBAYTAlVTMRUwEwYDVQQKEwxEaWdpQ2VydCBJbmMxGTAXBgNVBAsTEHd3
-dy5kaWdpY2VydC5jb20xIDAeBgNVBAMTF0RpZ2lDZXJ0IEdsb2JhbCBSb290IEcyMIIBIjANBgkq
-hkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAuzfNNNx7a8myaJCtSnX/RrohCgiN9RlUyfuI2/Ou8jqJ
-kTx65qsGGmvPrC3oXgkkRLpimn7Wo6h+4FR1IAWsULecYxpsMNzaHxmx1x7e/dfgy5SDN67sH0NO
-3Xss0r0upS/kqbitOtSZpLYl6ZtrAGCSYP9PIUkY92eQq2EGnI/yuum06ZIya7XzV+hdG82MHauV
-BJVJ8zUtluNJbd134/tJS7SsVQepj5WztCO7TG1F8PapspUwtP1MVYwnSlcUfIKdzXOS0xZKBgyM
-UNGPHgm+F6HmIcr9g+UQvIOlCsRnKPZzFBQ9RnbDhxSJITRNrw9FDKZJobq7nMWxM4MphQIDAQAB
-o0IwQDAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBhjAdBgNVHQ4EFgQUTiJUIBiV5uNu
-5g/6+rkS7QYXjzkwDQYJKoZIhvcNAQELBQADggEBAGBnKJRvDkhj6zHd6mcY1Yl9PMWLSn/pvtsr
-F9+wX3N3KjITOYFnQoQj8kVnNeyIv/iPsGEMNKSuIEyExtv4NeF22d+mQrvHRAiGfzZ0JFrabA0U
-WTW98kndth/Jsw1HKj2ZL7tcu7XUIOGZX1NGFdtom/DzMNU+MeKNhJ7jitralj41E6Vf8PlwUHBH
-QRFXGU7Aj64GxJUTFy8bJZ918rGOmaFvE7FBcf6IKshPECBV1/MUReXgRPTqh5Uykw7+U0b6LJ3/
-iyK5S9kJRaTepLiaWN0bfVKfjllDiIGknibVb63dDcY3fe0Dkhvld1927jyNxF1WW6LZZm6zNTfl
-MrY=
------END CERTIFICATE-----
-
-DigiCert Global Root G3
-=======================
------BEGIN CERTIFICATE-----
-MIICPzCCAcWgAwIBAgIQBVVWvPJepDU1w6QP1atFcjAKBggqhkjOPQQDAzBhMQswCQYDVQQGEwJV
-UzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNlcnQuY29tMSAwHgYD
-VQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBHMzAeFw0xMzA4MDExMjAwMDBaFw0zODAxMTUxMjAw
-MDBaMGExCzAJBgNVBAYTAlVTMRUwEwYDVQQKEwxEaWdpQ2VydCBJbmMxGTAXBgNVBAsTEHd3dy5k
-aWdpY2VydC5jb20xIDAeBgNVBAMTF0RpZ2lDZXJ0IEdsb2JhbCBSb290IEczMHYwEAYHKoZIzj0C
-AQYFK4EEACIDYgAE3afZu4q4C/sLfyHS8L6+c/MzXRq8NOrexpu80JX28MzQC7phW1FGfp4tn+6O
-YwwX7Adw9c+ELkCDnOg/QW07rdOkFFk2eJ0DQ+4QE2xy3q6Ip6FrtUPOZ9wj/wMco+I+o0IwQDAP
-BgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBhjAdBgNVHQ4EFgQUs9tIpPmhxdiuNkHMEWNp
-Yim8S8YwCgYIKoZIzj0EAwMDaAAwZQIxAK288mw/EkrRLTnDCgmXc/SINoyIJ7vmiI1Qhadj+Z4y
-3maTD/HMsQmP3Wyr+mt/oAIwOWZbwmSNuJ5Q3KjVSaLtx9zRSX8XAbjIho9OjIgrqJqpisXRAL34
-VOKa5Vt8sycX
------END CERTIFICATE-----
-
-DigiCert Trusted Root G4
-========================
------BEGIN CERTIFICATE-----
-MIIFkDCCA3igAwIBAgIQBZsbV56OITLiOQe9p3d1XDANBgkqhkiG9w0BAQwFADBiMQswCQYDVQQG
-EwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNlcnQuY29tMSEw
-HwYDVQQDExhEaWdpQ2VydCBUcnVzdGVkIFJvb3QgRzQwHhcNMTMwODAxMTIwMDAwWhcNMzgwMTE1
-MTIwMDAwWjBiMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3
-d3cuZGlnaWNlcnQuY29tMSEwHwYDVQQDExhEaWdpQ2VydCBUcnVzdGVkIFJvb3QgRzQwggIiMA0G
-CSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQC/5pBzaN675F1KPDAiMGkz7MKnJS7JIT3yithZwuEp
-pz1Yq3aaza57G4QNxDAf8xukOBbrVsaXbR2rsnnyyhHS5F/WBTxSD1Ifxp4VpX6+n6lXFllVcq9o
-k3DCsrp1mWpzMpTREEQQLt+C8weE5nQ7bXHiLQwb7iDVySAdYyktzuxeTsiT+CFhmzTrBcZe7Fsa
-vOvJz82sNEBfsXpm7nfISKhmV1efVFiODCu3T6cw2Vbuyntd463JT17lNecxy9qTXtyOj4DatpGY
-QJB5w3jHtrHEtWoYOAMQjdjUN6QuBX2I9YI+EJFwq1WCQTLX2wRzKm6RAXwhTNS8rhsDdV14Ztk6
-MUSaM0C/CNdaSaTC5qmgZ92kJ7yhTzm1EVgX9yRcRo9k98FpiHaYdj1ZXUJ2h4mXaXpI8OCiEhtm
-mnTK3kse5w5jrubU75KSOp493ADkRSWJtppEGSt+wJS00mFt6zPZxd9LBADMfRyVw4/3IbKyEbe7
-f/LVjHAsQWCqsWMYRJUadmJ+9oCw++hkpjPRiQfhvbfmQ6QYuKZ3AeEPlAwhHbJUKSWJbOUOUlFH
-dL4mrLZBdd56rF+NP8m800ERElvlEFDrMcXKchYiCd98THU/Y+whX8QgUWtvsauGi0/C1kVfnSD8
-oR7FwI+isX4KJpn15GkvmB0t9dmpsh3lGwIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MA4GA1Ud
-DwEB/wQEAwIBhjAdBgNVHQ4EFgQU7NfjgtJxXWRM3y5nP+e6mK4cD08wDQYJKoZIhvcNAQEMBQAD
-ggIBALth2X2pbL4XxJEbw6GiAI3jZGgPVs93rnD5/ZpKmbnJeFwMDF/k5hQpVgs2SV1EY+CtnJYY
-ZhsjDT156W1r1lT40jzBQ0CuHVD1UvyQO7uYmWlrx8GnqGikJ9yd+SeuMIW59mdNOj6PWTkiU0Tr
-yF0Dyu1Qen1iIQqAyHNm0aAFYF/opbSnr6j3bTWcfFqK1qI4mfN4i/RN0iAL3gTujJtHgXINwBQy
-7zBZLq7gcfJW5GqXb5JQbZaNaHqasjYUegbyJLkJEVDXCLG4iXqEI2FCKeWjzaIgQdfRnGTZ6iah
-ixTXTBmyUEFxPT9NcCOGDErcgdLMMpSEDQgJlxxPwO5rIHQw0uA5NBCFIRUBCOhVMt5xSdkoF1BN
-5r5N0XWs0Mr7QbhDparTwwVETyw2m+L64kW4I1NsBm9nVX9GtUw/bihaeSbSpKhil9Ie4u1Ki7wb
-/UdKDd9nZn6yW0HQO+T0O/QEY+nvwlQAUaCKKsnOeMzV6ocEGLPOr0mIr/OSmbaz5mEP0oUA51Aa
-5BuVnRmhuZyxm7EAHu/QD09CbMkKvO5D+jpxpchNJqU1/YldvIViHTLSoCtU7ZpXwdv6EM8Zt4tK
-G48BtieVU+i2iW1bvGjUI+iLUaJW+fCmgKDWHrO8Dw9TdSmq6hN35N6MgSGtBxBHEa2HPQfRdbzP
-82Z+
------END CERTIFICATE-----
-
-COMODO RSA Certification Authority
-==================================
------BEGIN CERTIFICATE-----
-MIIF2DCCA8CgAwIBAgIQTKr5yttjb+Af907YWwOGnTANBgkqhkiG9w0BAQwFADCBhTELMAkGA1UE
-BhMCR0IxGzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UEBxMHU2FsZm9yZDEaMBgG
-A1UEChMRQ09NT0RPIENBIExpbWl0ZWQxKzApBgNVBAMTIkNPTU9ETyBSU0EgQ2VydGlmaWNhdGlv
-biBBdXRob3JpdHkwHhcNMTAwMTE5MDAwMDAwWhcNMzgwMTE4MjM1OTU5WjCBhTELMAkGA1UEBhMC
-R0IxGzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UEBxMHU2FsZm9yZDEaMBgGA1UE
-ChMRQ09NT0RPIENBIExpbWl0ZWQxKzApBgNVBAMTIkNPTU9ETyBSU0EgQ2VydGlmaWNhdGlvbiBB
-dXRob3JpdHkwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCR6FSS0gpWsawNJN3Fz0Rn
-dJkrN6N9I3AAcbxT38T6KhKPS38QVr2fcHK3YX/JSw8Xpz3jsARh7v8Rl8f0hj4K+j5c+ZPmNHrZ
-FGvnnLOFoIJ6dq9xkNfs/Q36nGz637CC9BR++b7Epi9Pf5l/tfxnQ3K9DADWietrLNPtj5gcFKt+
-5eNu/Nio5JIk2kNrYrhV/erBvGy2i/MOjZrkm2xpmfh4SDBF1a3hDTxFYPwyllEnvGfDyi62a+pG
-x8cgoLEfZd5ICLqkTqnyg0Y3hOvozIFIQ2dOciqbXL1MGyiKXCJ7tKuY2e7gUYPDCUZObT6Z+pUX
-2nwzV0E8jVHtC7ZcryxjGt9XyD+86V3Em69FmeKjWiS0uqlWPc9vqv9JWL7wqP/0uK3pN/u6uPQL
-OvnoQ0IeidiEyxPx2bvhiWC4jChWrBQdnArncevPDt09qZahSL0896+1DSJMwBGB7FY79tOi4lu3
-sgQiUpWAk2nojkxl8ZEDLXB0AuqLZxUpaVICu9ffUGpVRr+goyhhf3DQw6KqLCGqR84onAZFdr+C
-GCe01a60y1Dma/RMhnEw6abfFobg2P9A3fvQQoh/ozM6LlweQRGBY84YcWsr7KaKtzFcOmpH4MN5
-WdYgGq/yapiqcrxXStJLnbsQ/LBMQeXtHT1eKJ2czL+zUdqnR+WEUwIDAQABo0IwQDAdBgNVHQ4E
-FgQUu69+Aj36pvE8hI6t7jiY7NkyMtQwDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8w
-DQYJKoZIhvcNAQEMBQADggIBAArx1UaEt65Ru2yyTUEUAJNMnMvlwFTPoCWOAvn9sKIN9SCYPBMt
-rFaisNZ+EZLpLrqeLppysb0ZRGxhNaKatBYSaVqM4dc+pBroLwP0rmEdEBsqpIt6xf4FpuHA1sj+
-nq6PK7o9mfjYcwlYRm6mnPTXJ9OV2jeDchzTc+CiR5kDOF3VSXkAKRzH7JsgHAckaVd4sjn8OoSg
-tZx8jb8uk2IntznaFxiuvTwJaP+EmzzV1gsD41eeFPfR60/IvYcjt7ZJQ3mFXLrrkguhxuhoqEwW
-sRqZCuhTLJK7oQkYdQxlqHvLI7cawiiFwxv/0Cti76R7CZGYZ4wUAc1oBmpjIXUDgIiKboHGhfKp
-pC3n9KUkEEeDys30jXlYsQab5xoq2Z0B15R97QNKyvDb6KkBPvVWmckejkk9u+UJueBPSZI9FoJA
-zMxZxuY67RIuaTxslbH9qh17f4a+Hg4yRvv7E491f0yLS0Zj/gA0QHDBw7mh3aZw4gSzQbzpgJHq
-ZJx64SIDqZxubw5lT2yHh17zbqD5daWbQOhTsiedSrnAdyGN/4fy3ryM7xfft0kL0fJuMAsaDk52
-7RH89elWsn2/x20Kk4yl0MC2Hb46TpSi125sC8KKfPog88Tk5c0NqMuRkrF8hey1FGlmDoLnzc7I
-LaZRfyHBNVOFBkpdn627G190
------END CERTIFICATE-----
-
-USERTrust RSA Certification Authority
-=====================================
------BEGIN CERTIFICATE-----
-MIIF3jCCA8agAwIBAgIQAf1tMPyjylGoG7xkDjUDLTANBgkqhkiG9w0BAQwFADCBiDELMAkGA1UE
-BhMCVVMxEzARBgNVBAgTCk5ldyBKZXJzZXkxFDASBgNVBAcTC0plcnNleSBDaXR5MR4wHAYDVQQK
-ExVUaGUgVVNFUlRSVVNUIE5ldHdvcmsxLjAsBgNVBAMTJVVTRVJUcnVzdCBSU0EgQ2VydGlmaWNh
-dGlvbiBBdXRob3JpdHkwHhcNMTAwMjAxMDAwMDAwWhcNMzgwMTE4MjM1OTU5WjCBiDELMAkGA1UE
-BhMCVVMxEzARBgNVBAgTCk5ldyBKZXJzZXkxFDASBgNVBAcTC0plcnNleSBDaXR5MR4wHAYDVQQK
-ExVUaGUgVVNFUlRSVVNUIE5ldHdvcmsxLjAsBgNVBAMTJVVTRVJUcnVzdCBSU0EgQ2VydGlmaWNh
-dGlvbiBBdXRob3JpdHkwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCAEmUXNg7D2wiz
-0KxXDXbtzSfTTK1Qg2HiqiBNCS1kCdzOiZ/MPans9s/B3PHTsdZ7NygRK0faOca8Ohm0X6a9fZ2j
-Y0K2dvKpOyuR+OJv0OwWIJAJPuLodMkYtJHUYmTbf6MG8YgYapAiPLz+E/CHFHv25B+O1ORRxhFn
-RghRy4YUVD+8M/5+bJz/Fp0YvVGONaanZshyZ9shZrHUm3gDwFA66Mzw3LyeTP6vBZY1H1dat//O
-+T23LLb2VN3I5xI6Ta5MirdcmrS3ID3KfyI0rn47aGYBROcBTkZTmzNg95S+UzeQc0PzMsNT79uq
-/nROacdrjGCT3sTHDN/hMq7MkztReJVni+49Vv4M0GkPGw/zJSZrM233bkf6c0Plfg6lZrEpfDKE
-Y1WJxA3Bk1QwGROs0303p+tdOmw1XNtB1xLaqUkL39iAigmTYo61Zs8liM2EuLE/pDkP2QKe6xJM
-lXzzawWpXhaDzLhn4ugTncxbgtNMs+1b/97lc6wjOy0AvzVVdAlJ2ElYGn+SNuZRkg7zJn0cTRe8
-yexDJtC/QV9AqURE9JnnV4eeUB9XVKg+/XRjL7FQZQnmWEIuQxpMtPAlR1n6BB6T1CZGSlCBst6+
-eLf8ZxXhyVeEHg9j1uliutZfVS7qXMYoCAQlObgOK6nyTJccBz8NUvXt7y+CDwIDAQABo0IwQDAd
-BgNVHQ4EFgQUU3m/WqorSs9UgOHYm8Cd8rIDZsswDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQF
-MAMBAf8wDQYJKoZIhvcNAQEMBQADggIBAFzUfA3P9wF9QZllDHPFUp/L+M+ZBn8b2kMVn54CVVeW
-FPFSPCeHlCjtHzoBN6J2/FNQwISbxmtOuowhT6KOVWKR82kV2LyI48SqC/3vqOlLVSoGIG1VeCkZ
-7l8wXEskEVX/JJpuXior7gtNn3/3ATiUFJVDBwn7YKnuHKsSjKCaXqeYalltiz8I+8jRRa8YFWSQ
-Eg9zKC7F4iRO/Fjs8PRF/iKz6y+O0tlFYQXBl2+odnKPi4w2r78NBc5xjeambx9spnFixdjQg3IM
-8WcRiQycE0xyNN+81XHfqnHd4blsjDwSXWXavVcStkNr/+XeTWYRUc+ZruwXtuhxkYzeSf7dNXGi
-FSeUHM9h4ya7b6NnJSFd5t0dCy5oGzuCr+yDZ4XUmFF0sbmZgIn/f3gZXHlKYC6SQK5MNyosycdi
-yA5d9zZbyuAlJQG03RoHnHcAP9Dc1ew91Pq7P8yF1m9/qS3fuQL39ZeatTXaw2ewh0qpKJ4jjv9c
-J2vhsE/zB+4ALtRZh8tSQZXq9EfX7mRBVXyNWQKV3WKdwrnuWih0hKWbt5DHDAff9Yk2dDLWKMGw
-sAvgnEzDHNb842m1R0aBL6KCq9NjRHDEjf8tM7qtj3u1cIiuPhnPQCjY/MiQu12ZIvVS5ljFH4gx
-Q+6IHdfGjjxDah2nGN59PRbxYvnKkKj9
------END CERTIFICATE-----
-
-USERTrust ECC Certification Authority
-=====================================
------BEGIN CERTIFICATE-----
-MIICjzCCAhWgAwIBAgIQXIuZxVqUxdJxVt7NiYDMJjAKBggqhkjOPQQDAzCBiDELMAkGA1UEBhMC
-VVMxEzARBgNVBAgTCk5ldyBKZXJzZXkxFDASBgNVBAcTC0plcnNleSBDaXR5MR4wHAYDVQQKExVU
-aGUgVVNFUlRSVVNUIE5ldHdvcmsxLjAsBgNVBAMTJVVTRVJUcnVzdCBFQ0MgQ2VydGlmaWNhdGlv
-biBBdXRob3JpdHkwHhcNMTAwMjAxMDAwMDAwWhcNMzgwMTE4MjM1OTU5WjCBiDELMAkGA1UEBhMC
-VVMxEzARBgNVBAgTCk5ldyBKZXJzZXkxFDASBgNVBAcTC0plcnNleSBDaXR5MR4wHAYDVQQKExVU
-aGUgVVNFUlRSVVNUIE5ldHdvcmsxLjAsBgNVBAMTJVVTRVJUcnVzdCBFQ0MgQ2VydGlmaWNhdGlv
-biBBdXRob3JpdHkwdjAQBgcqhkjOPQIBBgUrgQQAIgNiAAQarFRaqfloI+d61SRvU8Za2EurxtW2
-0eZzca7dnNYMYf3boIkDuAUU7FfO7l0/4iGzzvfUinngo4N+LZfQYcTxmdwlkWOrfzCjtHDix6Ez
-nPO/LlxTsV+zfTJ/ijTjeXmjQjBAMB0GA1UdDgQWBBQ64QmG1M8ZwpZ2dEl23OA1xmNjmjAOBgNV
-HQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB/zAKBggqhkjOPQQDAwNoADBlAjA2Z6EWCNzklwBB
-HU6+4WMBzzuqQhFkoJ2UOQIReVx7Hfpkue4WQrO/isIJxOzksU0CMQDpKmFHjFJKS04YcPbWRNZu
-9YO6bVi9JNlWSOrvxKJGgYhqOkbRqZtNyWHa0V1Xahg=
------END CERTIFICATE-----
-
-GlobalSign ECC Root CA - R4
-===========================
------BEGIN CERTIFICATE-----
-MIIB4TCCAYegAwIBAgIRKjikHJYKBN5CsiilC+g0mAIwCgYIKoZIzj0EAwIwUDEkMCIGA1UECxMb
-R2xvYmFsU2lnbiBFQ0MgUm9vdCBDQSAtIFI0MRMwEQYDVQQKEwpHbG9iYWxTaWduMRMwEQYDVQQD
-EwpHbG9iYWxTaWduMB4XDTEyMTExMzAwMDAwMFoXDTM4MDExOTAzMTQwN1owUDEkMCIGA1UECxMb
-R2xvYmFsU2lnbiBFQ0MgUm9vdCBDQSAtIFI0MRMwEQYDVQQKEwpHbG9iYWxTaWduMRMwEQYDVQQD
-EwpHbG9iYWxTaWduMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEuMZ5049sJQ6fLjkZHAOkrprl
-OQcJFspjsbmG+IpXwVfOQvpzofdlQv8ewQCybnMO/8ch5RikqtlxP6jUuc6MHaNCMEAwDgYDVR0P
-AQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFFSwe61FuOJAf/sKbvu+M8k8o4TV
-MAoGCCqGSM49BAMCA0gAMEUCIQDckqGgE6bPA7DmxCGXkPoUVy0D7O48027KqGx2vKLeuwIgJ6iF
-JzWbVsaj8kfSt24bAgAXqmemFZHe+pTsewv4n4Q=
------END CERTIFICATE-----
-
-GlobalSign ECC Root CA - R5
-===========================
------BEGIN CERTIFICATE-----
-MIICHjCCAaSgAwIBAgIRYFlJ4CYuu1X5CneKcflK2GwwCgYIKoZIzj0EAwMwUDEkMCIGA1UECxMb
-R2xvYmFsU2lnbiBFQ0MgUm9vdCBDQSAtIFI1MRMwEQYDVQQKEwpHbG9iYWxTaWduMRMwEQYDVQQD
-EwpHbG9iYWxTaWduMB4XDTEyMTExMzAwMDAwMFoXDTM4MDExOTAzMTQwN1owUDEkMCIGA1UECxMb
-R2xvYmFsU2lnbiBFQ0MgUm9vdCBDQSAtIFI1MRMwEQYDVQQKEwpHbG9iYWxTaWduMRMwEQYDVQQD
-EwpHbG9iYWxTaWduMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAER0UOlvt9Xb/pOdEh+J8LttV7HpI6
-SFkc8GIxLcB6KP4ap1yztsyX50XUWPrRd21DosCHZTQKH3rd6zwzocWdTaRvQZU4f8kehOvRnkmS
-h5SHDDqFSmafnVmTTZdhBoZKo0IwQDAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB/zAd
-BgNVHQ4EFgQUPeYpSJvqB8ohREom3m7e0oPQn1kwCgYIKoZIzj0EAwMDaAAwZQIxAOVpEslu28Yx
-uglB4Zf4+/2a4n0Sye18ZNPLBSWLVtmg515dTguDnFt2KaAJJiFqYgIwcdK1j1zqO+F4CYWodZI7
-yFz9SO8NdCKoCOJuxUnOxwy8p2Fp8fc74SrL+SvzZpA3
------END CERTIFICATE-----
-
-Staat der Nederlanden Root CA - G3
-==================================
------BEGIN CERTIFICATE-----
-MIIFdDCCA1ygAwIBAgIEAJiiOTANBgkqhkiG9w0BAQsFADBaMQswCQYDVQQGEwJOTDEeMBwGA1UE
-CgwVU3RhYXQgZGVyIE5lZGVybGFuZGVuMSswKQYDVQQDDCJTdGFhdCBkZXIgTmVkZXJsYW5kZW4g
-Um9vdCBDQSAtIEczMB4XDTEzMTExNDExMjg0MloXDTI4MTExMzIzMDAwMFowWjELMAkGA1UEBhMC
-TkwxHjAcBgNVBAoMFVN0YWF0IGRlciBOZWRlcmxhbmRlbjErMCkGA1UEAwwiU3RhYXQgZGVyIE5l
-ZGVybGFuZGVuIFJvb3QgQ0EgLSBHMzCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAL4y
-olQPcPssXFnrbMSkUeiFKrPMSjTysF/zDsccPVMeiAho2G89rcKezIJnByeHaHE6n3WWIkYFsO2t
-x1ueKt6c/DrGlaf1F2cY5y9JCAxcz+bMNO14+1Cx3Gsy8KL+tjzk7FqXxz8ecAgwoNzFs21v0IJy
-EavSgWhZghe3eJJg+szeP4TrjTgzkApyI/o1zCZxMdFyKJLZWyNtZrVtB0LrpjPOktvA9mxjeM3K
-Tj215VKb8b475lRgsGYeCasH/lSJEULR9yS6YHgamPfJEf0WwTUaVHXvQ9Plrk7O53vDxk5hUUur
-mkVLoR9BvUhTFXFkC4az5S6+zqQbwSmEorXLCCN2QyIkHxcE1G6cxvx/K2Ya7Irl1s9N9WMJtxU5
-1nus6+N86U78dULI7ViVDAZCopz35HCz33JvWjdAidiFpNfxC95DGdRKWCyMijmev4SH8RY7Ngzp
-07TKbBlBUgmhHbBqv4LvcFEhMtwFdozL92TkA1CvjJFnq8Xy7ljY3r735zHPbMk7ccHViLVlvMDo
-FxcHErVc0qsgk7TmgoNwNsXNo42ti+yjwUOH5kPiNL6VizXtBznaqB16nzaeErAMZRKQFWDZJkBE
-41ZgpRDUajz9QdwOWke275dhdU/Z/seyHdTtXUmzqWrLZoQT1Vyg3N9udwbRcXXIV2+vD3dbAgMB
-AAGjQjBAMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBRUrfrHkleu
-yjWcLhL75LpdINyUVzANBgkqhkiG9w0BAQsFAAOCAgEAMJmdBTLIXg47mAE6iqTnB/d6+Oea31BD
-U5cqPco8R5gu4RV78ZLzYdqQJRZlwJ9UXQ4DO1t3ApyEtg2YXzTdO2PCwyiBwpwpLiniyMMB8jPq
-KqrMCQj3ZWfGzd/TtiunvczRDnBfuCPRy5FOCvTIeuXZYzbB1N/8Ipf3YF3qKS9Ysr1YvY2WTxB1
-v0h7PVGHoTx0IsL8B3+A3MSs/mrBcDCw6Y5p4ixpgZQJut3+TcCDjJRYwEYgr5wfAvg1VUkvRtTA
-8KCWAg8zxXHzniN9lLf9OtMJgwYh/WA9rjLA0u6NpvDntIJ8CsxwyXmA+P5M9zWEGYox+wrZ13+b
-8KKaa8MFSu1BYBQw0aoRQm7TIwIEC8Zl3d1Sd9qBa7Ko+gE4uZbqKmxnl4mUnrzhVNXkanjvSr0r
-mj1AfsbAddJu+2gw7OyLnflJNZoaLNmzlTnVHpL3prllL+U9bTpITAjc5CgSKL59NVzq4BZ+Extq
-1z7XnvwtdbLBFNUjA9tbbws+eC8N3jONFrdI54OagQ97wUNNVQQXOEpR1VmiiXTTn74eS9fGbbeI
-JG9gkaSChVtWQbzQRKtqE77RLFi3EjNYsjdj3BP1lB0/QFH1T/U67cjF68IeHRaVesd+QnGTbksV
-tzDfqu1XhUisHWrdOWnk4Xl4vs4Fv6EM94B7IWcnMFk=
------END CERTIFICATE-----
-
-Staat der Nederlanden EV Root CA
-================================
------BEGIN CERTIFICATE-----
-MIIFcDCCA1igAwIBAgIEAJiWjTANBgkqhkiG9w0BAQsFADBYMQswCQYDVQQGEwJOTDEeMBwGA1UE
-CgwVU3RhYXQgZGVyIE5lZGVybGFuZGVuMSkwJwYDVQQDDCBTdGFhdCBkZXIgTmVkZXJsYW5kZW4g
-RVYgUm9vdCBDQTAeFw0xMDEyMDgxMTE5MjlaFw0yMjEyMDgxMTEwMjhaMFgxCzAJBgNVBAYTAk5M
-MR4wHAYDVQQKDBVTdGFhdCBkZXIgTmVkZXJsYW5kZW4xKTAnBgNVBAMMIFN0YWF0IGRlciBOZWRl
-cmxhbmRlbiBFViBSb290IENBMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEA48d+ifkk
-SzrSM4M1LGns3Amk41GoJSt5uAg94JG6hIXGhaTK5skuU6TJJB79VWZxXSzFYGgEt9nCUiY4iKTW
-O0Cmws0/zZiTs1QUWJZV1VD+hq2kY39ch/aO5ieSZxeSAgMs3NZmdO3dZ//BYY1jTw+bbRcwJu+r
-0h8QoPnFfxZpgQNH7R5ojXKhTbImxrpsX23Wr9GxE46prfNeaXUmGD5BKyF/7otdBwadQ8QpCiv8
-Kj6GyzyDOvnJDdrFmeK8eEEzduG/L13lpJhQDBXd4Pqcfzho0LKmeqfRMb1+ilgnQ7O6M5HTp5gV
-XJrm0w912fxBmJc+qiXbj5IusHsMX/FjqTf5m3VpTCgmJdrV8hJwRVXj33NeN/UhbJCONVrJ0yPr
-08C+eKxCKFhmpUZtcALXEPlLVPxdhkqHz3/KRawRWrUgUY0viEeXOcDPusBCAUCZSCELa6fS/ZbV
-0b5GnUngC6agIk440ME8MLxwjyx1zNDFjFE7PZQIZCZhfbnDZY8UnCHQqv0XcgOPvZuM5l5Tnrmd
-74K74bzickFbIZTTRTeU0d8JOV3nI6qaHcptqAqGhYqCvkIH1vI4gnPah1vlPNOePqc7nvQDs/nx
-fRN0Av+7oeX6AHkcpmZBiFxgV6YuCcS6/ZrPpx9Aw7vMWgpVSzs4dlG4Y4uElBbmVvMCAwEAAaNC
-MEAwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFP6rAJCYniT8qcwa
-ivsnuL8wbqg7MA0GCSqGSIb3DQEBCwUAA4ICAQDPdyxuVr5Os7aEAJSrR8kN0nbHhp8dB9O2tLsI
-eK9p0gtJ3jPFrK3CiAJ9Brc1AsFgyb/E6JTe1NOpEyVa/m6irn0F3H3zbPB+po3u2dfOWBfoqSmu
-c0iH55vKbimhZF8ZE/euBhD/UcabTVUlT5OZEAFTdfETzsemQUHSv4ilf0X8rLiltTMMgsT7B/Zq
-5SWEXwbKwYY5EdtYzXc7LMJMD16a4/CrPmEbUCTCwPTxGfARKbalGAKb12NMcIxHowNDXLldRqAN
-b/9Zjr7dn3LDWyvfjFvO5QxGbJKyCqNMVEIYFRIYvdr8unRu/8G2oGTYqV9Vrp9canaW2HNnh/tN
-f1zuacpzEPuKqf2evTY4SUmH9A4U8OmHuD+nT3pajnnUk+S7aFKErGzp85hwVXIy+TSrK0m1zSBi
-5Dp6Z2Orltxtrpfs/J92VoguZs9btsmksNcFuuEnL5O7Jiqik7Ab846+HUCjuTaPPoIaGl6I6lD4
-WeKDRikL40Rc4ZW2aZCaFG+XroHPaO+Zmr615+F/+PoTRxZMzG0IQOeLeG9QgkRQP2YGiqtDhFZK
-DyAthg710tvSeopLzaXoTvFeJiUBWSOgftL2fiFX1ye8FVdMpEbB4IMeDExNH08GGeL5qPQ6gqGy
-eUN51q1veieQA6TqJIc/2b3Z6fJfUEkc7uzXLg==
------END CERTIFICATE-----
-
-IdenTrust Commercial Root CA 1
-==============================
------BEGIN CERTIFICATE-----
-MIIFYDCCA0igAwIBAgIQCgFCgAAAAUUjyES1AAAAAjANBgkqhkiG9w0BAQsFADBKMQswCQYDVQQG
-EwJVUzESMBAGA1UEChMJSWRlblRydXN0MScwJQYDVQQDEx5JZGVuVHJ1c3QgQ29tbWVyY2lhbCBS
-b290IENBIDEwHhcNMTQwMTE2MTgxMjIzWhcNMzQwMTE2MTgxMjIzWjBKMQswCQYDVQQGEwJVUzES
-MBAGA1UEChMJSWRlblRydXN0MScwJQYDVQQDEx5JZGVuVHJ1c3QgQ29tbWVyY2lhbCBSb290IENB
-IDEwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCnUBneP5k91DNG8W9RYYKyqU+PZ4ld
-hNlT3Qwo2dfw/66VQ3KZ+bVdfIrBQuExUHTRgQ18zZshq0PirK1ehm7zCYofWjK9ouuU+ehcCuz/
-mNKvcbO0U59Oh++SvL3sTzIwiEsXXlfEU8L2ApeN2WIrvyQfYo3fw7gpS0l4PJNgiCL8mdo2yMKi
-1CxUAGc1bnO/AljwpN3lsKImesrgNqUZFvX9t++uP0D1bVoE/c40yiTcdCMbXTMTEl3EASX2MN0C
-XZ/g1Ue9tOsbobtJSdifWwLziuQkkORiT0/Br4sOdBeo0XKIanoBScy0RnnGF7HamB4HWfp1IYVl
-3ZBWzvurpWCdxJ35UrCLvYf5jysjCiN2O/cz4ckA82n5S6LgTrx+kzmEB/dEcH7+B1rlsazRGMzy
-NeVJSQjKVsk9+w8YfYs7wRPCTY/JTw436R+hDmrfYi7LNQZReSzIJTj0+kuniVyc0uMNOYZKdHzV
-WYfCP04MXFL0PfdSgvHqo6z9STQaKPNBiDoT7uje/5kdX7rL6B7yuVBgwDHTc+XvvqDtMwt0viAg
-xGds8AgDelWAf0ZOlqf0Hj7h9tgJ4TNkK2PXMl6f+cB7D3hvl7yTmvmcEpB4eoCHFddydJxVdHix
-uuFucAS6T6C6aMN7/zHwcz09lCqxC0EOoP5NiGVreTO01wIDAQABo0IwQDAOBgNVHQ8BAf8EBAMC
-AQYwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQU7UQZwNPwBovupHu+QucmVMiONnYwDQYJKoZI
-hvcNAQELBQADggIBAA2ukDL2pkt8RHYZYR4nKM1eVO8lvOMIkPkp165oCOGUAFjvLi5+U1KMtlwH
-6oi6mYtQlNeCgN9hCQCTrQ0U5s7B8jeUeLBfnLOic7iPBZM4zY0+sLj7wM+x8uwtLRvM7Kqas6pg
-ghstO8OEPVeKlh6cdbjTMM1gCIOQ045U8U1mwF10A0Cj7oV+wh93nAbowacYXVKV7cndJZ5t+qnt
-ozo00Fl72u1Q8zW/7esUTTHHYPTa8Yec4kjixsU3+wYQ+nVZZjFHKdp2mhzpgq7vmrlR94gjmmmV
-YjzlVYA211QC//G5Xc7UI2/YRYRKW2XviQzdFKcgyxilJbQN+QHwotL0AMh0jqEqSI5l2xPE4iUX
-feu+h1sXIFRRk0pTAwvsXcoz7WL9RccvW9xYoIA55vrX/hMUpu09lEpCdNTDd1lzzY9GvlU47/ro
-kTLql1gEIt44w8y8bckzOmoKaT+gyOpyj4xjhiO9bTyWnpXgSUyqorkqG5w2gXjtw+hG4iZZRHUe
-2XWJUc0QhJ1hYMtd+ZciTY6Y5uN/9lu7rs3KSoFrXgvzUeF0K+l+J6fZmUlO+KWA2yUPHGNiiskz
-Z2s8EIPGrd6ozRaOjfAHN3Gf8qv8QfXBi+wAN10J5U6A7/qxXDgGpRtK4dw4LTzcqx+QGtVKnO7R
-cGzM7vRX+Bi6hG6H
------END CERTIFICATE-----
-
-IdenTrust Public Sector Root CA 1
-=================================
------BEGIN CERTIFICATE-----
-MIIFZjCCA06gAwIBAgIQCgFCgAAAAUUjz0Z8AAAAAjANBgkqhkiG9w0BAQsFADBNMQswCQYDVQQG
-EwJVUzESMBAGA1UEChMJSWRlblRydXN0MSowKAYDVQQDEyFJZGVuVHJ1c3QgUHVibGljIFNlY3Rv
-ciBSb290IENBIDEwHhcNMTQwMTE2MTc1MzMyWhcNMzQwMTE2MTc1MzMyWjBNMQswCQYDVQQGEwJV
-UzESMBAGA1UEChMJSWRlblRydXN0MSowKAYDVQQDEyFJZGVuVHJ1c3QgUHVibGljIFNlY3RvciBS
-b290IENBIDEwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQC2IpT8pEiv6EdrCvsnduTy
-P4o7ekosMSqMjbCpwzFrqHd2hCa2rIFCDQjrVVi7evi8ZX3yoG2LqEfpYnYeEe4IFNGyRBb06tD6
-Hi9e28tzQa68ALBKK0CyrOE7S8ItneShm+waOh7wCLPQ5CQ1B5+ctMlSbdsHyo+1W/CD80/HLaXI
-rcuVIKQxKFdYWuSNG5qrng0M8gozOSI5Cpcu81N3uURF/YTLNiCBWS2ab21ISGHKTN9T0a9SvESf
-qy9rg3LvdYDaBjMbXcjaY8ZNzaxmMc3R3j6HEDbhuaR672BQssvKplbgN6+rNBM5Jeg5ZuSYeqoS
-mJxZZoY+rfGwyj4GD3vwEUs3oERte8uojHH01bWRNszwFcYr3lEXsZdMUD2xlVl8BX0tIdUAvwFn
-ol57plzy9yLxkA2T26pEUWbMfXYD62qoKjgZl3YNa4ph+bz27nb9cCvdKTz4Ch5bQhyLVi9VGxyh
-LrXHFub4qjySjmm2AcG1hp2JDws4lFTo6tyePSW8Uybt1as5qsVATFSrsrTZ2fjXctscvG29ZV/v
-iDUqZi/u9rNl8DONfJhBaUYPQxxp+pu10GFqzcpL2UyQRqsVWaFHVCkugyhfHMKiq3IXAAaOReyL
-4jM9f9oZRORicsPfIsbyVtTdX5Vy7W1f90gDW/3FKqD2cyOEEBsB5wIDAQABo0IwQDAOBgNVHQ8B
-Af8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQU43HgntinQtnbcZFrlJPrw6PRFKMw
-DQYJKoZIhvcNAQELBQADggIBAEf63QqwEZE4rU1d9+UOl1QZgkiHVIyqZJnYWv6IAcVYpZmxI1Qj
-t2odIFflAWJBF9MJ23XLblSQdf4an4EKwt3X9wnQW3IV5B4Jaj0z8yGa5hV+rVHVDRDtfULAj+7A
-mgjVQdZcDiFpboBhDhXAuM/FSRJSzL46zNQuOAXeNf0fb7iAaJg9TaDKQGXSc3z1i9kKlT/YPyNt
-GtEqJBnZhbMX73huqVjRI9PHE+1yJX9dsXNw0H8GlwmEKYBhHfpe/3OsoOOJuBxxFcbeMX8S3OFt
-m6/n6J91eEyrRjuazr8FGF1NFTwWmhlQBJqymm9li1JfPFgEKCXAZmExfrngdbkaqIHWchezxQMx
-NRF4eKLg6TCMf4DfWN88uieW4oA0beOY02QnrEh+KHdcxiVhJfiFDGX6xDIvpZgF5PgLZxYWxoK4
-Mhn5+bl53B/N66+rDt0b20XkeucC4pVd/GnwU2lhlXV5C15V5jgclKlZM57IcXR5f1GJtshquDDI
-ajjDbp7hNxbqBWJMWxJH7ae0s1hWx0nzfxJoCTFx8G34Tkf71oXuxVhAGaQdp/lLQzfcaFpPz+vC
-ZHTetBXZ9FRUGi8c15dxVJCO2SCdUyt/q4/i6jC8UDfv8Ue1fXwsBOxonbRJRBD0ckscZOf85muQ
-3Wl9af0AVqW3rLatt8o+Ae+c
------END CERTIFICATE-----
-
-Entrust Root Certification Authority - G2
-=========================================
------BEGIN CERTIFICATE-----
-MIIEPjCCAyagAwIBAgIESlOMKDANBgkqhkiG9w0BAQsFADCBvjELMAkGA1UEBhMCVVMxFjAUBgNV
-BAoTDUVudHJ1c3QsIEluYy4xKDAmBgNVBAsTH1NlZSB3d3cuZW50cnVzdC5uZXQvbGVnYWwtdGVy
-bXMxOTA3BgNVBAsTMChjKSAyMDA5IEVudHJ1c3QsIEluYy4gLSBmb3IgYXV0aG9yaXplZCB1c2Ug
-b25seTEyMDAGA1UEAxMpRW50cnVzdCBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5IC0gRzIw
-HhcNMDkwNzA3MTcyNTU0WhcNMzAxMjA3MTc1NTU0WjCBvjELMAkGA1UEBhMCVVMxFjAUBgNVBAoT
-DUVudHJ1c3QsIEluYy4xKDAmBgNVBAsTH1NlZSB3d3cuZW50cnVzdC5uZXQvbGVnYWwtdGVybXMx
-OTA3BgNVBAsTMChjKSAyMDA5IEVudHJ1c3QsIEluYy4gLSBmb3IgYXV0aG9yaXplZCB1c2Ugb25s
-eTEyMDAGA1UEAxMpRW50cnVzdCBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5IC0gRzIwggEi
-MA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC6hLZy254Ma+KZ6TABp3bqMriVQRrJ2mFOWHLP
-/vaCeb9zYQYKpSfYs1/TRU4cctZOMvJyig/3gxnQaoCAAEUesMfnmr8SVycco2gvCoe9amsOXmXz
-HHfV1IWNcCG0szLni6LVhjkCsbjSR87kyUnEO6fe+1R9V77w6G7CebI6C1XiUJgWMhNcL3hWwcKU
-s/Ja5CeanyTXxuzQmyWC48zCxEXFjJd6BmsqEZ+pCm5IO2/b1BEZQvePB7/1U1+cPvQXLOZprE4y
-TGJ36rfo5bs0vBmLrpxR57d+tVOxMyLlbc9wPBr64ptntoP0jaWvYkxN4FisZDQSA/i2jZRjJKRx
-AgMBAAGjQjBAMA4GA1UdDwEB/wQEAwIBBjAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBRqciZ6
-0B7vfec7aVHUbI2fkBJmqzANBgkqhkiG9w0BAQsFAAOCAQEAeZ8dlsa2eT8ijYfThwMEYGprmi5Z
-iXMRrEPR9RP/jTkrwPK9T3CMqS/qF8QLVJ7UG5aYMzyorWKiAHarWWluBh1+xLlEjZivEtRh2woZ
-Rkfz6/djwUAFQKXSt/S1mja/qYh2iARVBCuch38aNzx+LaUa2NSJXsq9rD1s2G2v1fN2D807iDgi
-nWyTmsQ9v4IbZT+mD12q/OWyFcq1rca8PdCE6OoGcrBNOTJ4vz4RnAuknZoh8/CbCzB428Hch0P+
-vGOaysXCHMnHjf87ElgI5rY97HosTvuDls4MPGmHVHOkc8KT/1EQrBVUAdj8BbGJoX90g5pJ19xO
-e4pIb4tF9g==
------END CERTIFICATE-----
-
-Entrust Root Certification Authority - EC1
-==========================================
------BEGIN CERTIFICATE-----
-MIIC+TCCAoCgAwIBAgINAKaLeSkAAAAAUNCR+TAKBggqhkjOPQQDAzCBvzELMAkGA1UEBhMCVVMx
-FjAUBgNVBAoTDUVudHJ1c3QsIEluYy4xKDAmBgNVBAsTH1NlZSB3d3cuZW50cnVzdC5uZXQvbGVn
-YWwtdGVybXMxOTA3BgNVBAsTMChjKSAyMDEyIEVudHJ1c3QsIEluYy4gLSBmb3IgYXV0aG9yaXpl
-ZCB1c2Ugb25seTEzMDEGA1UEAxMqRW50cnVzdCBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5
-IC0gRUMxMB4XDTEyMTIxODE1MjUzNloXDTM3MTIxODE1NTUzNlowgb8xCzAJBgNVBAYTAlVTMRYw
-FAYDVQQKEw1FbnRydXN0LCBJbmMuMSgwJgYDVQQLEx9TZWUgd3d3LmVudHJ1c3QubmV0L2xlZ2Fs
-LXRlcm1zMTkwNwYDVQQLEzAoYykgMjAxMiBFbnRydXN0LCBJbmMuIC0gZm9yIGF1dGhvcml6ZWQg
-dXNlIG9ubHkxMzAxBgNVBAMTKkVudHJ1c3QgUm9vdCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eSAt
-IEVDMTB2MBAGByqGSM49AgEGBSuBBAAiA2IABIQTydC6bUF74mzQ61VfZgIaJPRbiWlH47jCffHy
-AsWfoPZb1YsGGYZPUxBtByQnoaD41UcZYUx9ypMn6nQM72+WCf5j7HBdNq1nd67JnXxVRDqiY1Ef
-9eNi1KlHBz7MIKNCMEAwDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYE
-FLdj5xrdjekIplWDpOBqUEFlEUJJMAoGCCqGSM49BAMDA2cAMGQCMGF52OVCR98crlOZF7ZvHH3h
-vxGU0QOIdeSNiaSKd0bebWHvAvX7td/M/k7//qnmpwIwW5nXhTcGtXsI/esni0qU+eH6p44mCOh8
-kmhtc9hvJqwhAriZtyZBWyVgrtBIGu4G
------END CERTIFICATE-----
-
-CFCA EV ROOT
-============
------BEGIN CERTIFICATE-----
-MIIFjTCCA3WgAwIBAgIEGErM1jANBgkqhkiG9w0BAQsFADBWMQswCQYDVQQGEwJDTjEwMC4GA1UE
-CgwnQ2hpbmEgRmluYW5jaWFsIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MRUwEwYDVQQDDAxDRkNB
-IEVWIFJPT1QwHhcNMTIwODA4MDMwNzAxWhcNMjkxMjMxMDMwNzAxWjBWMQswCQYDVQQGEwJDTjEw
-MC4GA1UECgwnQ2hpbmEgRmluYW5jaWFsIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MRUwEwYDVQQD
-DAxDRkNBIEVWIFJPT1QwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDXXWvNED8fBVnV
-BU03sQ7smCuOFR36k0sXgiFxEFLXUWRwFsJVaU2OFW2fvwwbwuCjZ9YMrM8irq93VCpLTIpTUnrD
-7i7es3ElweldPe6hL6P3KjzJIx1qqx2hp/Hz7KDVRM8Vz3IvHWOX6Jn5/ZOkVIBMUtRSqy5J35DN
-uF++P96hyk0g1CXohClTt7GIH//62pCfCqktQT+x8Rgp7hZZLDRJGqgG16iI0gNyejLi6mhNbiyW
-ZXvKWfry4t3uMCz7zEasxGPrb382KzRzEpR/38wmnvFyXVBlWY9ps4deMm/DGIq1lY+wejfeWkU7
-xzbh72fROdOXW3NiGUgthxwG+3SYIElz8AXSG7Ggo7cbcNOIabla1jj0Ytwli3i/+Oh+uFzJlU9f
-py25IGvPa931DfSCt/SyZi4QKPaXWnuWFo8BGS1sbn85WAZkgwGDg8NNkt0yxoekN+kWzqotaK8K
-gWU6cMGbrU1tVMoqLUuFG7OA5nBFDWteNfB/O7ic5ARwiRIlk9oKmSJgamNgTnYGmE69g60dWIol
-hdLHZR4tjsbftsbhf4oEIRUpdPA+nJCdDC7xij5aqgwJHsfVPKPtl8MeNPo4+QgO48BdK4PRVmrJ
-tqhUUy54Mmc9gn900PvhtgVguXDbjgv5E1hvcWAQUhC5wUEJ73IfZzF4/5YFjQIDAQABo2MwYTAf
-BgNVHSMEGDAWgBTj/i39KNALtbq2osS/BqoFjJP7LzAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB
-/wQEAwIBBjAdBgNVHQ4EFgQU4/4t/SjQC7W6tqLEvwaqBYyT+y8wDQYJKoZIhvcNAQELBQADggIB
-ACXGumvrh8vegjmWPfBEp2uEcwPenStPuiB/vHiyz5ewG5zz13ku9Ui20vsXiObTej/tUxPQ4i9q
-ecsAIyjmHjdXNYmEwnZPNDatZ8POQQaIxffu2Bq41gt/UP+TqhdLjOztUmCypAbqTuv0axn96/Ua
-4CUqmtzHQTb3yHQFhDmVOdYLO6Qn+gjYXB74BGBSESgoA//vU2YApUo0FmZ8/Qmkrp5nGm9BC2sG
-E5uPhnEFtC+NiWYzKXZUmhH4J/qyP5Hgzg0b8zAarb8iXRvTvyUFTeGSGn+ZnzxEk8rUQElsgIfX
-BDrDMlI1Dlb4pd19xIsNER9Tyx6yF7Zod1rg1MvIB671Oi6ON7fQAUtDKXeMOZePglr4UeWJoBjn
-aH9dCi77o0cOPaYjesYBx4/IXr9tgFa+iiS6M+qf4TIRnvHST4D2G0CvOJ4RUHlzEhLN5mydLIhy
-PDCBBpEi6lmt2hkuIsKNuYyH4Ga8cyNfIWRjgEj1oDwYPZTISEEdQLpe/v5WOaHIz16eGWRGENoX
-kbcFgKyLmZJ956LYBws2J+dIeWCKw9cTXPhyQN9Ky8+ZAAoACxGV2lZFA4gKn2fQ1XmxqI1AbQ3C
-ekD6819kR5LLU7m7Wc5P/dAVUwHY3+vZ5nbv0CO7O6l5s9UCKc2Jo5YPSjXnTkLAdc0Hz+Ys63su
------END CERTIFICATE-----
-
-Certinomis - Root CA
-====================
------BEGIN CERTIFICATE-----
-MIIFkjCCA3qgAwIBAgIBATANBgkqhkiG9w0BAQsFADBaMQswCQYDVQQGEwJGUjETMBEGA1UEChMK
-Q2VydGlub21pczEXMBUGA1UECxMOMDAwMiA0MzM5OTg5MDMxHTAbBgNVBAMTFENlcnRpbm9taXMg
-LSBSb290IENBMB4XDTEzMTAyMTA5MTcxOFoXDTMzMTAyMTA5MTcxOFowWjELMAkGA1UEBhMCRlIx
-EzARBgNVBAoTCkNlcnRpbm9taXMxFzAVBgNVBAsTDjAwMDIgNDMzOTk4OTAzMR0wGwYDVQQDExRD
-ZXJ0aW5vbWlzIC0gUm9vdCBDQTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBANTMCQos
-P5L2fxSeC5yaah1AMGT9qt8OHgZbn1CF6s2Nq0Nn3rD6foCWnoR4kkjW4znuzuRZWJflLieY6pOo
-d5tK8O90gC3rMB+12ceAnGInkYjwSond3IjmFPnVAy//ldu9n+ws+hQVWZUKxkd8aRi5pwP5ynap
-z8dvtF4F/u7BUrJ1Mofs7SlmO/NKFoL21prbcpjp3vDFTKWrteoB4owuZH9kb/2jJZOLyKIOSY00
-8B/sWEUuNKqEUL3nskoTuLAPrjhdsKkb5nPJWqHZZkCqqU2mNAKthH6yI8H7KsZn9DS2sJVqM09x
-RLWtwHkziOC/7aOgFLScCbAK42C++PhmiM1b8XcF4LVzbsF9Ri6OSyemzTUK/eVNfaoqoynHWmgE
-6OXWk6RiwsXm9E/G+Z8ajYJJGYrKWUM66A0ywfRMEwNvbqY/kXPLynNvEiCL7sCCeN5LLsJJwx3t
-FvYk9CcbXFcx3FXuqB5vbKziRcxXV4p1VxngtViZSTYxPDMBbRZKzbgqg4SGm/lg0h9tkQPTYKbV
-PZrdd5A9NaSfD171UkRpucC63M9933zZxKyGIjK8e2uR73r4F2iw4lNVYC2vPsKD2NkJK/DAZNuH
-i5HMkesE/Xa0lZrmFAYb1TQdvtj/dBxThZngWVJKYe2InmtJiUZ+IFrZ50rlau7SZRFDAgMBAAGj
-YzBhMA4GA1UdDwEB/wQEAwIBBjAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTvkUz1pcMw6C8I
-6tNxIqSSaHh02TAfBgNVHSMEGDAWgBTvkUz1pcMw6C8I6tNxIqSSaHh02TANBgkqhkiG9w0BAQsF
-AAOCAgEAfj1U2iJdGlg+O1QnurrMyOMaauo++RLrVl89UM7g6kgmJs95Vn6RHJk/0KGRHCwPT5iV
-WVO90CLYiF2cN/z7ZMF4jIuaYAnq1fohX9B0ZedQxb8uuQsLrbWwF6YSjNRieOpWauwK0kDDPAUw
-Pk2Ut59KA9N9J0u2/kTO+hkzGm2kQtHdzMjI1xZSg081lLMSVX3l4kLr5JyTCcBMWwerx20RoFAX
-lCOotQqSD7J6wWAsOMwaplv/8gzjqh8c3LigkyfeY+N/IZ865Z764BNqdeuWXGKRlI5nU7aJ+BIJ
-y29SWwNyhlCVCNSNh4YVH5Uk2KRvms6knZtt0rJ2BobGVgjF6wnaNsIbW0G+YSrjcOa4pvi2WsS9
-Iff/ql+hbHY5ZtbqTFXhADObE5hjyW/QASAJN1LnDE8+zbz1X5YnpyACleAu6AdBBR8Vbtaw5Bng
-DwKTACdyxYvRVB9dSsNAl35VpnzBMwQUAR1JIGkLGZOdblgi90AMRgwjY/M50n92Uaf0yKHxDHYi
-I0ZSKS3io0EHVmmY0gUJvGnHWmHNj4FgFU2A3ZDifcRQ8ow7bkrHxuaAKzyBvBGAFhAn1/DNP3nM
-cyrDflOR1m749fPH0FFNjkulW+YZFzvWgQncItzujrnEj1PhZ7szuIgVRs/taTX/dQ1G885x4cVr
-hkIGuUE=
------END CERTIFICATE-----
-
-OISTE WISeKey Global Root GB CA
-===============================
------BEGIN CERTIFICATE-----
-MIIDtTCCAp2gAwIBAgIQdrEgUnTwhYdGs/gjGvbCwDANBgkqhkiG9w0BAQsFADBtMQswCQYDVQQG
-EwJDSDEQMA4GA1UEChMHV0lTZUtleTEiMCAGA1UECxMZT0lTVEUgRm91bmRhdGlvbiBFbmRvcnNl
-ZDEoMCYGA1UEAxMfT0lTVEUgV0lTZUtleSBHbG9iYWwgUm9vdCBHQiBDQTAeFw0xNDEyMDExNTAw
-MzJaFw0zOTEyMDExNTEwMzFaMG0xCzAJBgNVBAYTAkNIMRAwDgYDVQQKEwdXSVNlS2V5MSIwIAYD
-VQQLExlPSVNURSBGb3VuZGF0aW9uIEVuZG9yc2VkMSgwJgYDVQQDEx9PSVNURSBXSVNlS2V5IEds
-b2JhbCBSb290IEdCIENBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA2Be3HEokKtaX
-scriHvt9OO+Y9bI5mE4nuBFde9IllIiCFSZqGzG7qFshISvYD06fWvGxWuR51jIjK+FTzJlFXHtP
-rby/h0oLS5daqPZI7H17Dc0hBt+eFf1Biki3IPShehtX1F1Q/7pn2COZH8g/497/b1t3sWtuuMlk
-9+HKQUYOKXHQuSP8yYFfTvdv37+ErXNku7dCjmn21HYdfp2nuFeKUWdy19SouJVUQHMD9ur06/4o
-Qnc/nSMbsrY9gBQHTC5P99UKFg29ZkM3fiNDecNAhvVMKdqOmq0NpQSHiB6F4+lT1ZvIiwNjeOvg
-GUpuuy9rM2RYk61pv48b74JIxwIDAQABo1EwTzALBgNVHQ8EBAMCAYYwDwYDVR0TAQH/BAUwAwEB
-/zAdBgNVHQ4EFgQUNQ/INmNe4qPs+TtmFc5RUuORmj0wEAYJKwYBBAGCNxUBBAMCAQAwDQYJKoZI
-hvcNAQELBQADggEBAEBM+4eymYGQfp3FsLAmzYh7KzKNbrghcViXfa43FK8+5/ea4n32cZiZBKpD
-dHij40lhPnOMTZTg+XHEthYOU3gf1qKHLwI5gSk8rxWYITD+KJAAjNHhy/peyP34EEY7onhCkRd0
-VQreUGdNZtGn//3ZwLWoo4rOZvUPQ82nK1d7Y0Zqqi5S2PTt4W2tKZB4SLrhI6qjiey1q5bAtEui
-HZeeevJuQHHfaPFlTc58Bd9TZaml8LGXBHAVRgOY1NK/VLSgWH1Sb9pWJmLU2NuJMW8c8CLC02Ic
-Nc1MaRVUGpCY3useX8p3x8uOPUNpnJpY0CQ73xtAln41rYHHTnG6iBM=
------END CERTIFICATE-----
-
-SZAFIR ROOT CA2
-===============
------BEGIN CERTIFICATE-----
-MIIDcjCCAlqgAwIBAgIUPopdB+xV0jLVt+O2XwHrLdzk1uQwDQYJKoZIhvcNAQELBQAwUTELMAkG
-A1UEBhMCUEwxKDAmBgNVBAoMH0tyYWpvd2EgSXpiYSBSb3psaWN6ZW5pb3dhIFMuQS4xGDAWBgNV
-BAMMD1NaQUZJUiBST09UIENBMjAeFw0xNTEwMTkwNzQzMzBaFw0zNTEwMTkwNzQzMzBaMFExCzAJ
-BgNVBAYTAlBMMSgwJgYDVQQKDB9LcmFqb3dhIEl6YmEgUm96bGljemVuaW93YSBTLkEuMRgwFgYD
-VQQDDA9TWkFGSVIgUk9PVCBDQTIwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC3vD5Q
-qEvNQLXOYeeWyrSh2gwisPq1e3YAd4wLz32ohswmUeQgPYUM1ljj5/QqGJ3a0a4m7utT3PSQ1hNK
-DJA8w/Ta0o4NkjrcsbH/ON7Dui1fgLkCvUqdGw+0w8LBZwPd3BucPbOw3gAeqDRHu5rr/gsUvTaE
-2g0gv/pby6kWIK05YO4vdbbnl5z5Pv1+TW9NL++IDWr63fE9biCloBK0TXC5ztdyO4mTp4CEHCdJ
-ckm1/zuVnsHMyAHs6A6KCpbns6aH5db5BSsNl0BwPLqsdVqc1U2dAgrSS5tmS0YHF2Wtn2yIANwi
-ieDhZNRnvDF5YTy7ykHNXGoAyDw4jlivAgMBAAGjQjBAMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0P
-AQH/BAQDAgEGMB0GA1UdDgQWBBQuFqlKGLXLzPVvUPMjX/hd56zwyDANBgkqhkiG9w0BAQsFAAOC
-AQEAtXP4A9xZWx126aMqe5Aosk3AM0+qmrHUuOQn/6mWmc5G4G18TKI4pAZw8PRBEew/R40/cof5
-O/2kbytTAOD/OblqBw7rHRz2onKQy4I9EYKL0rufKq8h5mOGnXkZ7/e7DDWQw4rtTw/1zBLZpD67
-oPwglV9PJi8RI4NOdQcPv5vRtB3pEAT+ymCPoky4rc/hkA/NrgrHXXu3UNLUYfrVFdvXn4dRVOul
-4+vJhaAlIDf7js4MNIThPIGyd05DpYhfhmehPea0XGG2Ptv+tyjFogeutcrKjSoS75ftwjCkySp6
-+/NNIxuZMzSgLvWpCz/UXeHPhJ/iGcJfitYgHuNztw==
------END CERTIFICATE-----
-
-Certum Trusted Network CA 2
-===========================
------BEGIN CERTIFICATE-----
-MIIF0jCCA7qgAwIBAgIQIdbQSk8lD8kyN/yqXhKN6TANBgkqhkiG9w0BAQ0FADCBgDELMAkGA1UE
-BhMCUEwxIjAgBgNVBAoTGVVuaXpldG8gVGVjaG5vbG9naWVzIFMuQS4xJzAlBgNVBAsTHkNlcnR1
-bSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTEkMCIGA1UEAxMbQ2VydHVtIFRydXN0ZWQgTmV0d29y
-ayBDQSAyMCIYDzIwMTExMDA2MDgzOTU2WhgPMjA0NjEwMDYwODM5NTZaMIGAMQswCQYDVQQGEwJQ
-TDEiMCAGA1UEChMZVW5pemV0byBUZWNobm9sb2dpZXMgUy5BLjEnMCUGA1UECxMeQ2VydHVtIENl
-cnRpZmljYXRpb24gQXV0aG9yaXR5MSQwIgYDVQQDExtDZXJ0dW0gVHJ1c3RlZCBOZXR3b3JrIENB
-IDIwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQC9+Xj45tWADGSdhhuWZGc/IjoedQF9
-7/tcZ4zJzFxrqZHmuULlIEub2pt7uZld2ZuAS9eEQCsn0+i6MLs+CRqnSZXvK0AkwpfHp+6bJe+o
-CgCXhVqqndwpyeI1B+twTUrWwbNWuKFBOJvR+zF/j+Bf4bE/D44WSWDXBo0Y+aomEKsq09DRZ40b
-Rr5HMNUuctHFY9rnY3lEfktjJImGLjQ/KUxSiyqnwOKRKIm5wFv5HdnnJ63/mgKXwcZQkpsCLL2p
-uTRZCr+ESv/f/rOf69me4Jgj7KZrdxYq28ytOxykh9xGc14ZYmhFV+SQgkK7QtbwYeDBoz1mo130
-GO6IyY0XRSmZMnUCMe4pJshrAua1YkV/NxVaI2iJ1D7eTiew8EAMvE0Xy02isx7QBlrd9pPPV3WZ
-9fqGGmd4s7+W/jTcvedSVuWz5XV710GRBdxdaeOVDUO5/IOWOZV7bIBaTxNyxtd9KXpEulKkKtVB
-Rgkg/iKgtlswjbyJDNXXcPiHUv3a76xRLgezTv7QCdpw75j6VuZt27VXS9zlLCUVyJ4ueE742pye
-hizKV/Ma5ciSixqClnrDvFASadgOWkaLOusm+iPJtrCBvkIApPjW/jAux9JG9uWOdf3yzLnQh1vM
-BhBgu4M1t15n3kfsmUjxpKEV/q2MYo45VU85FrmxY53/twIDAQABo0IwQDAPBgNVHRMBAf8EBTAD
-AQH/MB0GA1UdDgQWBBS2oVQ5AsOgP46KvPrU+Bym0ToO/TAOBgNVHQ8BAf8EBAMCAQYwDQYJKoZI
-hvcNAQENBQADggIBAHGlDs7k6b8/ONWJWsQCYftMxRQXLYtPU2sQF/xlhMcQSZDe28cmk4gmb3DW
-Al45oPePq5a1pRNcgRRtDoGCERuKTsZPpd1iHkTfCVn0W3cLN+mLIMb4Ck4uWBzrM9DPhmDJ2vuA
-L55MYIR4PSFk1vtBHxgP58l1cb29XN40hz5BsA72udY/CROWFC/emh1auVbONTqwX3BNXuMp8SMo
-clm2q8KMZiYcdywmdjWLKKdpoPk79SPdhRB0yZADVpHnr7pH1BKXESLjokmUbOe3lEu6LaTaM4tM
-pkT/WjzGHWTYtTHkpjx6qFcL2+1hGsvxznN3Y6SHb0xRONbkX8eftoEq5IVIeVheO/jbAoJnwTnb
-w3RLPTYe+SmTiGhbqEQZIfCn6IENLOiTNrQ3ssqwGyZ6miUfmpqAnksqP/ujmv5zMnHCnsZy4Ypo
-J/HkD7TETKVhk/iXEAcqMCWpuchxuO9ozC1+9eB+D4Kob7a6bINDd82Kkhehnlt4Fj1F4jNy3eFm
-ypnTycUm/Q1oBEauttmbjL4ZvrHG8hnjXALKLNhvSgfZyTXaQHXyxKcZb55CEJh15pWLYLztxRLX
-is7VmFxWlgPF7ncGNf/P5O4/E2Hu29othfDNrp2yGAlFw5Khchf8R7agCyzxxN5DaAhqXzvwdmP7
-zAYspsbiDrW5viSP
------END CERTIFICATE-----
-
-Hellenic Academic and Research Institutions RootCA 2015
-=======================================================
------BEGIN CERTIFICATE-----
-MIIGCzCCA/OgAwIBAgIBADANBgkqhkiG9w0BAQsFADCBpjELMAkGA1UEBhMCR1IxDzANBgNVBAcT
-BkF0aGVuczFEMEIGA1UEChM7SGVsbGVuaWMgQWNhZGVtaWMgYW5kIFJlc2VhcmNoIEluc3RpdHV0
-aW9ucyBDZXJ0LiBBdXRob3JpdHkxQDA+BgNVBAMTN0hlbGxlbmljIEFjYWRlbWljIGFuZCBSZXNl
-YXJjaCBJbnN0aXR1dGlvbnMgUm9vdENBIDIwMTUwHhcNMTUwNzA3MTAxMTIxWhcNNDAwNjMwMTAx
-MTIxWjCBpjELMAkGA1UEBhMCR1IxDzANBgNVBAcTBkF0aGVuczFEMEIGA1UEChM7SGVsbGVuaWMg
-QWNhZGVtaWMgYW5kIFJlc2VhcmNoIEluc3RpdHV0aW9ucyBDZXJ0LiBBdXRob3JpdHkxQDA+BgNV
-BAMTN0hlbGxlbmljIEFjYWRlbWljIGFuZCBSZXNlYXJjaCBJbnN0aXR1dGlvbnMgUm9vdENBIDIw
-MTUwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDC+Kk/G4n8PDwEXT2QNrCROnk8Zlrv
-bTkBSRq0t89/TSNTt5AA4xMqKKYx8ZEA4yjsriFBzh/a/X0SWwGDD7mwX5nh8hKDgE0GPt+sr+eh
-iGsxr/CL0BgzuNtFajT0AoAkKAoCFZVedioNmToUW/bLy1O8E00BiDeUJRtCvCLYjqOWXjrZMts+
-6PAQZe104S+nfK8nNLspfZu2zwnI5dMK/IhlZXQK3HMcXM1AsRzUtoSMTFDPaI6oWa7CJ06CojXd
-FPQf/7J31Ycvqm59JCfnxssm5uX+Zwdj2EUN3TpZZTlYepKZcj2chF6IIbjV9Cz82XBST3i4vTwr
-i5WY9bPRaM8gFH5MXF/ni+X1NYEZN9cRCLdmvtNKzoNXADrDgfgXy5I2XdGj2HUb4Ysn6npIQf1F
-GQatJ5lOwXBH3bWfgVMS5bGMSF0xQxfjjMZ6Y5ZLKTBOhE5iGV48zpeQpX8B653g+IuJ3SWYPZK2
-fu/Z8VFRfS0myGlZYeCsargqNhEEelC9MoS+L9xy1dcdFkfkR2YgP/SWxa+OAXqlD3pk9Q0Yh9mu
-iNX6hME6wGkoLfINaFGq46V3xqSQDqE3izEjR8EJCOtu93ib14L8hCCZSRm2Ekax+0VVFqmjZayc
-Bw/qa9wfLgZy7IaIEuQt218FL+TwA9MmM+eAws1CoRc0CwIDAQABo0IwQDAPBgNVHRMBAf8EBTAD
-AQH/MA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQUcRVnyMjJvXVdctA4GGqd83EkVAswDQYJKoZI
-hvcNAQELBQADggIBAHW7bVRLqhBYRjTyYtcWNl0IXtVsyIe9tC5G8jH4fOpCtZMWVdyhDBKg2mF+
-D1hYc2Ryx+hFjtyp8iY/xnmMsVMIM4GwVhO+5lFc2JsKT0ucVlMC6U/2DWDqTUJV6HwbISHTGzrM
-d/K4kPFox/la/vot9L/J9UUbzjgQKjeKeaO04wlshYaT/4mWJ3iBj2fjRnRUjtkNaeJK9E10A/+y
-d+2VZ5fkscWrv2oj6NSU4kQoYsRL4vDY4ilrGnB+JGGTe08DMiUNRSQrlrRGar9KC/eaj8GsGsVn
-82800vpzY4zvFrCopEYq+OsS7HK07/grfoxSwIuEVPkvPuNVqNxmsdnhX9izjFk0WaSrT2y7Hxjb
-davYy5LNlDhhDgcGH0tGEPEVvo2FXDtKK4F5D7Rpn0lQl033DlZdwJVqwjbDG2jJ9SrcR5q+ss7F
-Jej6A7na+RZukYT1HCjI/CbM1xyQVqdfbzoEvM14iQuODy+jqk+iGxI9FghAD/FGTNeqewjBCvVt
-J94Cj8rDtSvK6evIIVM4pcw72Hc3MKJP2W/R8kCtQXoXxdZKNYm3QdV8hn9VTYNKpXMgwDqvkPGa
-JI7ZjnHKe7iG2rKPmT4dEw0SEe7Uq/DpFXYC5ODfqiAeW2GFZECpkJcNrVPSWh2HagCXZWK0vm9q
-p/UsQu0yrbYhnr68
------END CERTIFICATE-----
-
-Hellenic Academic and Research Institutions ECC RootCA 2015
-===========================================================
------BEGIN CERTIFICATE-----
-MIICwzCCAkqgAwIBAgIBADAKBggqhkjOPQQDAjCBqjELMAkGA1UEBhMCR1IxDzANBgNVBAcTBkF0
-aGVuczFEMEIGA1UEChM7SGVsbGVuaWMgQWNhZGVtaWMgYW5kIFJlc2VhcmNoIEluc3RpdHV0aW9u
-cyBDZXJ0LiBBdXRob3JpdHkxRDBCBgNVBAMTO0hlbGxlbmljIEFjYWRlbWljIGFuZCBSZXNlYXJj
-aCBJbnN0aXR1dGlvbnMgRUNDIFJvb3RDQSAyMDE1MB4XDTE1MDcwNzEwMzcxMloXDTQwMDYzMDEw
-MzcxMlowgaoxCzAJBgNVBAYTAkdSMQ8wDQYDVQQHEwZBdGhlbnMxRDBCBgNVBAoTO0hlbGxlbmlj
-IEFjYWRlbWljIGFuZCBSZXNlYXJjaCBJbnN0aXR1dGlvbnMgQ2VydC4gQXV0aG9yaXR5MUQwQgYD
-VQQDEztIZWxsZW5pYyBBY2FkZW1pYyBhbmQgUmVzZWFyY2ggSW5zdGl0dXRpb25zIEVDQyBSb290
-Q0EgMjAxNTB2MBAGByqGSM49AgEGBSuBBAAiA2IABJKgQehLgoRc4vgxEZmGZE4JJS+dQS8KrjVP
-dJWyUWRrjWvmP3CV8AVER6ZyOFB2lQJajq4onvktTpnvLEhvTCUp6NFxW98dwXU3tNf6e3pCnGoK
-Vlp8aQuqgAkkbH7BRqNCMEAwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0O
-BBYEFLQiC4KZJAEOnLvkDv2/+5cgk5kqMAoGCCqGSM49BAMCA2cAMGQCMGfOFmI4oqxiRaeplSTA
-GiecMjvAwNW6qef4BENThe5SId6d9SWDPp5YSy/XZxMOIQIwBeF1Ad5o7SofTUwJCA3sS61kFyjn
-dc5FZXIhF8siQQ6ME5g4mlRtm8rifOoCWCKR
------END CERTIFICATE-----
-
-ISRG Root X1
-============
------BEGIN CERTIFICATE-----
-MIIFazCCA1OgAwIBAgIRAIIQz7DSQONZRGPgu2OCiwAwDQYJKoZIhvcNAQELBQAwTzELMAkGA1UE
-BhMCVVMxKTAnBgNVBAoTIEludGVybmV0IFNlY3VyaXR5IFJlc2VhcmNoIEdyb3VwMRUwEwYDVQQD
-EwxJU1JHIFJvb3QgWDEwHhcNMTUwNjA0MTEwNDM4WhcNMzUwNjA0MTEwNDM4WjBPMQswCQYDVQQG
-EwJVUzEpMCcGA1UEChMgSW50ZXJuZXQgU2VjdXJpdHkgUmVzZWFyY2ggR3JvdXAxFTATBgNVBAMT
-DElTUkcgUm9vdCBYMTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAK3oJHP0FDfzm54r
-Vygch77ct984kIxuPOZXoHj3dcKi/vVqbvYATyjb3miGbESTtrFj/RQSa78f0uoxmyF+0TM8ukj1
-3Xnfs7j/EvEhmkvBioZxaUpmZmyPfjxwv60pIgbz5MDmgK7iS4+3mX6UA5/TR5d8mUgjU+g4rk8K
-b4Mu0UlXjIB0ttov0DiNewNwIRt18jA8+o+u3dpjq+sWT8KOEUt+zwvo/7V3LvSye0rgTBIlDHCN
-Aymg4VMk7BPZ7hm/ELNKjD+Jo2FR3qyHB5T0Y3HsLuJvW5iB4YlcNHlsdu87kGJ55tukmi8mxdAQ
-4Q7e2RCOFvu396j3x+UCB5iPNgiV5+I3lg02dZ77DnKxHZu8A/lJBdiB3QW0KtZB6awBdpUKD9jf
-1b0SHzUvKBds0pjBqAlkd25HN7rOrFleaJ1/ctaJxQZBKT5ZPt0m9STJEadao0xAH0ahmbWnOlFu
-hjuefXKnEgV4We0+UXgVCwOPjdAvBbI+e0ocS3MFEvzG6uBQE3xDk3SzynTnjh8BCNAw1FtxNrQH
-usEwMFxIt4I7mKZ9YIqioymCzLq9gwQbooMDQaHWBfEbwrbwqHyGO0aoSCqI3Haadr8faqU9GY/r
-OPNk3sgrDQoo//fb4hVC1CLQJ13hef4Y53CIrU7m2Ys6xt0nUW7/vGT1M0NPAgMBAAGjQjBAMA4G
-A1UdDwEB/wQEAwIBBjAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBR5tFnme7bl5AFzgAiIyBpY
-9umbbjANBgkqhkiG9w0BAQsFAAOCAgEAVR9YqbyyqFDQDLHYGmkgJykIrGF1XIpu+ILlaS/V9lZL
-ubhzEFnTIZd+50xx+7LSYK05qAvqFyFWhfFQDlnrzuBZ6brJFe+GnY+EgPbk6ZGQ3BebYhtF8GaV
-0nxvwuo77x/Py9auJ/GpsMiu/X1+mvoiBOv/2X/qkSsisRcOj/KKNFtY2PwByVS5uCbMiogziUwt
-hDyC3+6WVwW6LLv3xLfHTjuCvjHIInNzktHCgKQ5ORAzI4JMPJ+GslWYHb4phowim57iaztXOoJw
-TdwJx4nLCgdNbOhdjsnvzqvHu7UrTkXWStAmzOVyyghqpZXjFaH3pO3JLF+l+/+sKAIuvtd7u+Nx
-e5AW0wdeRlN8NwdCjNPElpzVmbUq4JUagEiuTDkHzsxHpFKVK7q4+63SM1N95R1NbdWhscdCb+ZA
-JzVcoyi3B43njTOQ5yOf+1CceWxG1bQVs5ZufpsMljq4Ui0/1lvh+wjChP4kqKOJ2qxq4RgqsahD
-YVvTH9w7jXbyLeiNdd8XM2w9U/t7y0Ff/9yi0GE44Za4rF2LN9d11TPAmRGunUHBcnWEvgJBQl9n
-JEiU0Zsnvgc/ubhPgXRR4Xq37Z0j4r7g1SgEEzwxA57demyPxgcYxn/eR44/KJ4EBs+lVDR3veyJ
-m+kXQ99b21/+jh5Xos1AnX5iItreGCc=
------END CERTIFICATE-----
-
-AC RAIZ FNMT-RCM
-================
------BEGIN CERTIFICATE-----
-MIIFgzCCA2ugAwIBAgIPXZONMGc2yAYdGsdUhGkHMA0GCSqGSIb3DQEBCwUAMDsxCzAJBgNVBAYT
-AkVTMREwDwYDVQQKDAhGTk1ULVJDTTEZMBcGA1UECwwQQUMgUkFJWiBGTk1ULVJDTTAeFw0wODEw
-MjkxNTU5NTZaFw0zMDAxMDEwMDAwMDBaMDsxCzAJBgNVBAYTAkVTMREwDwYDVQQKDAhGTk1ULVJD
-TTEZMBcGA1UECwwQQUMgUkFJWiBGTk1ULVJDTTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoC
-ggIBALpxgHpMhm5/yBNtwMZ9HACXjywMI7sQmkCpGreHiPibVmr75nuOi5KOpyVdWRHbNi63URcf
-qQgfBBckWKo3Shjf5TnUV/3XwSyRAZHiItQDwFj8d0fsjz50Q7qsNI1NOHZnjrDIbzAzWHFctPVr
-btQBULgTfmxKo0nRIBnuvMApGGWn3v7v3QqQIecaZ5JCEJhfTzC8PhxFtBDXaEAUwED653cXeuYL
-j2VbPNmaUtu1vZ5Gzz3rkQUCwJaydkxNEJY7kvqcfw+Z374jNUUeAlz+taibmSXaXvMiwzn15Cou
-08YfxGyqxRxqAQVKL9LFwag0Jl1mpdICIfkYtwb1TplvqKtMUejPUBjFd8g5CSxJkjKZqLsXF3mw
-WsXmo8RZZUc1g16p6DULmbvkzSDGm0oGObVo/CK67lWMK07q87Hj/LaZmtVC+nFNCM+HHmpxffnT
-tOmlcYF7wk5HlqX2doWjKI/pgG6BU6VtX7hI+cL5NqYuSf+4lsKMB7ObiFj86xsc3i1w4peSMKGJ
-47xVqCfWS+2QrYv6YyVZLag13cqXM7zlzced0ezvXg5KkAYmY6252TUtB7p2ZSysV4999AeU14EC
-ll2jB0nVetBX+RvnU0Z1qrB5QstocQjpYL05ac70r8NWQMetUqIJ5G+GR4of6ygnXYMgrwTJbFaa
-i0b1AgMBAAGjgYMwgYAwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYE
-FPd9xf3E6Jobd2Sn9R2gzL+HYJptMD4GA1UdIAQ3MDUwMwYEVR0gADArMCkGCCsGAQUFBwIBFh1o
-dHRwOi8vd3d3LmNlcnQuZm5tdC5lcy9kcGNzLzANBgkqhkiG9w0BAQsFAAOCAgEAB5BK3/MjTvDD
-nFFlm5wioooMhfNzKWtN/gHiqQxjAb8EZ6WdmF/9ARP67Jpi6Yb+tmLSbkyU+8B1RXxlDPiyN8+s
-D8+Nb/kZ94/sHvJwnvDKuO+3/3Y3dlv2bojzr2IyIpMNOmqOFGYMLVN0V2Ue1bLdI4E7pWYjJ2cJ
-j+F3qkPNZVEI7VFY/uY5+ctHhKQV8Xa7pO6kO8Rf77IzlhEYt8llvhjho6Tc+hj507wTmzl6NLrT
-Qfv6MooqtyuGC2mDOL7Nii4LcK2NJpLuHvUBKwrZ1pebbuCoGRw6IYsMHkCtA+fdZn71uSANA+iW
-+YJF1DngoABd15jmfZ5nc8OaKveri6E6FO80vFIOiZiaBECEHX5FaZNXzuvO+FB8TxxuBEOb+dY7
-Ixjp6o7RTUaN8Tvkasq6+yO3m/qZASlaWFot4/nUbQ4mrcFuNLwy+AwF+mWj2zs3gyLp1txyM/1d
-8iC9djwj2ij3+RvrWWTV3F9yfiD8zYm1kGdNYno/Tq0dwzn+evQoFt9B9kiABdcPUXmsEKvU7ANm
-5mqwujGSQkBqvjrTcuFqN1W8rB2Vt2lh8kORdOag0wokRqEIr9baRRmW1FMdW4R58MD3R++Lj8UG
-rp1MYp3/RgT408m2ECVAdf4WqslKYIYvuu8wd+RU4riEmViAqhOLUTpPSPaLtrM=
------END CERTIFICATE-----
-
-Amazon Root CA 1
-================
------BEGIN CERTIFICATE-----
-MIIDQTCCAimgAwIBAgITBmyfz5m/jAo54vB4ikPmljZbyjANBgkqhkiG9w0BAQsFADA5MQswCQYD
-VQQGEwJVUzEPMA0GA1UEChMGQW1hem9uMRkwFwYDVQQDExBBbWF6b24gUm9vdCBDQSAxMB4XDTE1
-MDUyNjAwMDAwMFoXDTM4MDExNzAwMDAwMFowOTELMAkGA1UEBhMCVVMxDzANBgNVBAoTBkFtYXpv
-bjEZMBcGA1UEAxMQQW1hem9uIFJvb3QgQ0EgMTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoC
-ggEBALJ4gHHKeNXjca9HgFB0fW7Y14h29Jlo91ghYPl0hAEvrAIthtOgQ3pOsqTQNroBvo3bSMgH
-FzZM9O6II8c+6zf1tRn4SWiw3te5djgdYZ6k/oI2peVKVuRF4fn9tBb6dNqcmzU5L/qwIFAGbHrQ
-gLKm+a/sRxmPUDgH3KKHOVj4utWp+UhnMJbulHheb4mjUcAwhmahRWa6VOujw5H5SNz/0egwLX0t
-dHA114gk957EWW67c4cX8jJGKLhD+rcdqsq08p8kDi1L93FcXmn/6pUCyziKrlA4b9v7LWIbxcce
-VOF34GfID5yHI9Y/QCB/IIDEgEw+OyQmjgSubJrIqg0CAwEAAaNCMEAwDwYDVR0TAQH/BAUwAwEB
-/zAOBgNVHQ8BAf8EBAMCAYYwHQYDVR0OBBYEFIQYzIU07LwMlJQuCFmcx7IQTgoIMA0GCSqGSIb3
-DQEBCwUAA4IBAQCY8jdaQZChGsV2USggNiMOruYou6r4lK5IpDB/G/wkjUu0yKGX9rbxenDIU5PM
-CCjjmCXPI6T53iHTfIUJrU6adTrCC2qJeHZERxhlbI1Bjjt/msv0tadQ1wUsN+gDS63pYaACbvXy
-8MWy7Vu33PqUXHeeE6V/Uq2V8viTO96LXFvKWlJbYK8U90vvo/ufQJVtMVT8QtPHRh8jrdkPSHCa
-2XV4cdFyQzR1bldZwgJcJmApzyMZFo6IQ6XU5MsI+yMRQ+hDKXJioaldXgjUkK642M4UwtBV8ob2
-xJNDd2ZhwLnoQdeXeGADbkpyrqXRfboQnoZsG4q5WTP468SQvvG5
------END CERTIFICATE-----
-
-Amazon Root CA 2
-================
------BEGIN CERTIFICATE-----
-MIIFQTCCAymgAwIBAgITBmyf0pY1hp8KD+WGePhbJruKNzANBgkqhkiG9w0BAQwFADA5MQswCQYD
-VQQGEwJVUzEPMA0GA1UEChMGQW1hem9uMRkwFwYDVQQDExBBbWF6b24gUm9vdCBDQSAyMB4XDTE1
-MDUyNjAwMDAwMFoXDTQwMDUyNjAwMDAwMFowOTELMAkGA1UEBhMCVVMxDzANBgNVBAoTBkFtYXpv
-bjEZMBcGA1UEAxMQQW1hem9uIFJvb3QgQ0EgMjCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoC
-ggIBAK2Wny2cSkxKgXlRmeyKy2tgURO8TW0G/LAIjd0ZEGrHJgw12MBvIITplLGbhQPDW9tK6Mj4
-kHbZW0/jTOgGNk3Mmqw9DJArktQGGWCsN0R5hYGCrVo34A3MnaZMUnbqQ523BNFQ9lXg1dKmSYXp
-N+nKfq5clU1Imj+uIFptiJXZNLhSGkOQsL9sBbm2eLfq0OQ6PBJTYv9K8nu+NQWpEjTj82R0Yiw9
-AElaKP4yRLuH3WUnAnE72kr3H9rN9yFVkE8P7K6C4Z9r2UXTu/Bfh+08LDmG2j/e7HJV63mjrdvd
-fLC6HM783k81ds8P+HgfajZRRidhW+mez/CiVX18JYpvL7TFz4QuK/0NURBs+18bvBt+xa47mAEx
-kv8LV/SasrlX6avvDXbR8O70zoan4G7ptGmh32n2M8ZpLpcTnqWHsFcQgTfJU7O7f/aS0ZzQGPSS
-btqDT6ZjmUyl+17vIWR6IF9sZIUVyzfpYgwLKhbcAS4y2j5L9Z469hdAlO+ekQiG+r5jqFoz7Mt0
-Q5X5bGlSNscpb/xVA1wf+5+9R+vnSUeVC06JIglJ4PVhHvG/LopyboBZ/1c6+XUyo05f7O0oYtlN
-c/LMgRdg7c3r3NunysV+Ar3yVAhU/bQtCSwXVEqY0VThUWcI0u1ufm8/0i2BWSlmy5A5lREedCf+
-3euvAgMBAAGjQjBAMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgGGMB0GA1UdDgQWBBSw
-DPBMMPQFWAJI/TPlUq9LhONmUjANBgkqhkiG9w0BAQwFAAOCAgEAqqiAjw54o+Ci1M3m9Zh6O+oA
-A7CXDpO8Wqj2LIxyh6mx/H9z/WNxeKWHWc8w4Q0QshNabYL1auaAn6AFC2jkR2vHat+2/XcycuUY
-+gn0oJMsXdKMdYV2ZZAMA3m3MSNjrXiDCYZohMr/+c8mmpJ5581LxedhpxfL86kSk5Nrp+gvU5LE
-YFiwzAJRGFuFjWJZY7attN6a+yb3ACfAXVU3dJnJUH/jWS5E4ywl7uxMMne0nxrpS10gxdr9HIcW
-xkPo1LsmmkVwXqkLN1PiRnsn/eBG8om3zEK2yygmbtmlyTrIQRNg91CMFa6ybRoVGld45pIq2WWQ
-gj9sAq+uEjonljYE1x2igGOpm/HlurR8FLBOybEfdF849lHqm/osohHUqS0nGkWxr7JOcQ3AWEbW
-aQbLU8uz/mtBzUF+fUwPfHJ5elnNXkoOrJupmHN5fLT0zLm4BwyydFy4x2+IoZCn9Kr5v2c69BoV
-Yh63n749sSmvZ6ES8lgQGVMDMBu4Gon2nL2XA46jCfMdiyHxtN/kHNGfZQIG6lzWE7OE76KlXIx3
-KadowGuuQNKotOrN8I1LOJwZmhsoVLiJkO/KdYE+HvJkJMcYr07/R54H9jVlpNMKVv/1F2Rs76gi
-JUmTtt8AF9pYfl3uxRuw0dFfIRDH+fO6AgonB8Xx1sfT4PsJYGw=
------END CERTIFICATE-----
-
-Amazon Root CA 3
-================
------BEGIN CERTIFICATE-----
-MIIBtjCCAVugAwIBAgITBmyf1XSXNmY/Owua2eiedgPySjAKBggqhkjOPQQDAjA5MQswCQYDVQQG
-EwJVUzEPMA0GA1UEChMGQW1hem9uMRkwFwYDVQQDExBBbWF6b24gUm9vdCBDQSAzMB4XDTE1MDUy
-NjAwMDAwMFoXDTQwMDUyNjAwMDAwMFowOTELMAkGA1UEBhMCVVMxDzANBgNVBAoTBkFtYXpvbjEZ
-MBcGA1UEAxMQQW1hem9uIFJvb3QgQ0EgMzBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABCmXp8ZB
-f8ANm+gBG1bG8lKlui2yEujSLtf6ycXYqm0fc4E7O5hrOXwzpcVOho6AF2hiRVd9RFgdszflZwjr
-Zt6jQjBAMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgGGMB0GA1UdDgQWBBSrttvXBp43
-rDCGB5Fwx5zEGbF4wDAKBggqhkjOPQQDAgNJADBGAiEA4IWSoxe3jfkrBqWTrBqYaGFy+uGh0Psc
-eGCmQ5nFuMQCIQCcAu/xlJyzlvnrxir4tiz+OpAUFteMYyRIHN8wfdVoOw==
------END CERTIFICATE-----
-
-Amazon Root CA 4
-================
------BEGIN CERTIFICATE-----
-MIIB8jCCAXigAwIBAgITBmyf18G7EEwpQ+Vxe3ssyBrBDjAKBggqhkjOPQQDAzA5MQswCQYDVQQG
-EwJVUzEPMA0GA1UEChMGQW1hem9uMRkwFwYDVQQDExBBbWF6b24gUm9vdCBDQSA0MB4XDTE1MDUy
-NjAwMDAwMFoXDTQwMDUyNjAwMDAwMFowOTELMAkGA1UEBhMCVVMxDzANBgNVBAoTBkFtYXpvbjEZ
-MBcGA1UEAxMQQW1hem9uIFJvb3QgQ0EgNDB2MBAGByqGSM49AgEGBSuBBAAiA2IABNKrijdPo1MN
-/sGKe0uoe0ZLY7Bi9i0b2whxIdIA6GO9mif78DluXeo9pcmBqqNbIJhFXRbb/egQbeOc4OO9X4Ri
-83BkM6DLJC9wuoihKqB1+IGuYgbEgds5bimwHvouXKNCMEAwDwYDVR0TAQH/BAUwAwEB/zAOBgNV
-HQ8BAf8EBAMCAYYwHQYDVR0OBBYEFNPsxzplbszh2naaVvuc84ZtV+WBMAoGCCqGSM49BAMDA2gA
-MGUCMDqLIfG9fhGt0O9Yli/W651+kI0rz2ZVwyzjKKlwCkcO8DdZEv8tmZQoTipPNU0zWgIxAOp1
-AE47xDqUEpHJWEadIRNyp4iciuRMStuW1KyLa2tJElMzrdfkviT8tQp21KW8EA==
------END CERTIFICATE-----
-
-LuxTrust Global Root 2
-======================
------BEGIN CERTIFICATE-----
-MIIFwzCCA6ugAwIBAgIUCn6m30tEntpqJIWe5rgV0xZ/u7EwDQYJKoZIhvcNAQELBQAwRjELMAkG
-A1UEBhMCTFUxFjAUBgNVBAoMDUx1eFRydXN0IFMuQS4xHzAdBgNVBAMMFkx1eFRydXN0IEdsb2Jh
-bCBSb290IDIwHhcNMTUwMzA1MTMyMTU3WhcNMzUwMzA1MTMyMTU3WjBGMQswCQYDVQQGEwJMVTEW
-MBQGA1UECgwNTHV4VHJ1c3QgUy5BLjEfMB0GA1UEAwwWTHV4VHJ1c3QgR2xvYmFsIFJvb3QgMjCC
-AiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBANeFl78RmOnwYoNMPIf5U2o3C/IPPIfOb9wm
-Kb3FibrJgz337spbxm1Jc7TJRqMbNBM/wYlFV/TZsfs2ZUv7COJIcRHIbjuend+JZTemhfY7RBi2
-xjcwYkSSl2l9QjAk5A0MiWtj3sXh306pFGxT4GHO9hcvHTy95iJMHZP1EMShduxq3sVs35a0VkBC
-wGKSMKEtFZSg0iAGCW5qbeXrt77U8PEVfIvmTroTzEsnXpk8F12PgX8zPU/TPxvsXD/wPEx1bvKm
-1Z3aLQdjAsZy6ZS8TEmVT4hSyNvoaYL4zDRbIvCGp4m9SAptZoFtyMhk+wHh9OHe2Z7d21vUKpkm
-FRseTJIpgp7VkoGSQXAZ96Tlk0u8d2cx3Rz9MXANF5kM+Qw5GSoXtTBxVdUPrljhPS80m8+f9niF
-wpN6cj5mj5wWEWCPnolvZ77gR1o7DJpni89Gxq44o/KnvObWhWszJHAiS8sIm7vI+AIpHb4gDEa/
-a4ebsypmQjVGbKq6rfmYe+lQVRQxv7HaLe2ArWgk+2mr2HETMOZns4dA/Yl+8kPREd8vZS9kzl8U
-ubG/Mb2HeFpZZYiq/FkySIbWTLkpS5XTdvN3JW1CHDiDTf2jX5t/Lax5Gw5CMZdjpPuKadUiDTSQ
-MC6otOBttpSsvItO13D8xTiOZCXhTTmQzsmHhFhxAgMBAAGjgagwgaUwDwYDVR0TAQH/BAUwAwEB
-/zBCBgNVHSAEOzA5MDcGByuBKwEBAQowLDAqBggrBgEFBQcCARYeaHR0cHM6Ly9yZXBvc2l0b3J5
-Lmx1eHRydXN0Lmx1MA4GA1UdDwEB/wQEAwIBBjAfBgNVHSMEGDAWgBT/GCh2+UgFLKGu8SsbK7JT
-+Et8szAdBgNVHQ4EFgQU/xgodvlIBSyhrvErGyuyU/hLfLMwDQYJKoZIhvcNAQELBQADggIBAGoZ
-FO1uecEsh9QNcH7X9njJCwROxLHOk3D+sFTAMs2ZMGQXvw/l4jP9BzZAcg4atmpZ1gDlaCDdLnIN
-H2pkMSCEfUmmWjfrRcmF9dTHF5kH5ptV5AzoqbTOjFu1EVzPig4N1qx3gf4ynCSecs5U89BvolbW
-7MM3LGVYvlcAGvI1+ut7MV3CwRI9loGIlonBWVx65n9wNOeD4rHh4bhY79SV5GCc8JaXcozrhAIu
-ZY+kt9J/Z93I055cqqmkoCUUBpvsT34tC38ddfEz2O3OuHVtPlu5mB0xDVbYQw8wkbIEa91WvpWA
-VWe+2M2D2RjuLg+GLZKecBPs3lHJQ3gCpU3I+V/EkVhGFndadKpAvAefMLmx9xIX3eP/JEAdemrR
-TxgKqpAd60Ae36EeRJIQmvKN4dFLRp7oRUKX6kWZ8+xm1QL68qZKJKrezrnK+T+Tb/mjuuqlPpmt
-/f97mfVl7vBZKGfXkJWkE4SphMHozs51k2MavDzq1WQfLSoSOcbDWjLtR5EWDrw4wVDej8oqkDQc
-7kGUnF4ZLvhFSZl0kbAEb+MEWrGrKqv+x9CWttrhSmQGbmBNvUJO/3jaJMobtNeWOWyu8Q6qp31I
-iyBMz2TWuJdGsE7RKlY6oJO9r4Ak4Ap+58rVyuiFVdw2KuGUaJPHZnJED4AhMmwlxyOAgwrr
------END CERTIFICATE-----
-
-TUBITAK Kamu SM SSL Kok Sertifikasi - Surum 1
-=============================================
------BEGIN CERTIFICATE-----
-MIIEYzCCA0ugAwIBAgIBATANBgkqhkiG9w0BAQsFADCB0jELMAkGA1UEBhMCVFIxGDAWBgNVBAcT
-D0dlYnplIC0gS29jYWVsaTFCMEAGA1UEChM5VHVya2l5ZSBCaWxpbXNlbCB2ZSBUZWtub2xvamlr
-IEFyYXN0aXJtYSBLdXJ1bXUgLSBUVUJJVEFLMS0wKwYDVQQLEyRLYW11IFNlcnRpZmlrYXN5b24g
-TWVya2V6aSAtIEthbXUgU00xNjA0BgNVBAMTLVRVQklUQUsgS2FtdSBTTSBTU0wgS29rIFNlcnRp
-ZmlrYXNpIC0gU3VydW0gMTAeFw0xMzExMjUwODI1NTVaFw00MzEwMjUwODI1NTVaMIHSMQswCQYD
-VQQGEwJUUjEYMBYGA1UEBxMPR2ViemUgLSBLb2NhZWxpMUIwQAYDVQQKEzlUdXJraXllIEJpbGlt
-c2VsIHZlIFRla25vbG9qaWsgQXJhc3Rpcm1hIEt1cnVtdSAtIFRVQklUQUsxLTArBgNVBAsTJEth
-bXUgU2VydGlmaWthc3lvbiBNZXJrZXppIC0gS2FtdSBTTTE2MDQGA1UEAxMtVFVCSVRBSyBLYW11
-IFNNIFNTTCBLb2sgU2VydGlmaWthc2kgLSBTdXJ1bSAxMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8A
-MIIBCgKCAQEAr3UwM6q7a9OZLBI3hNmNe5eA027n/5tQlT6QlVZC1xl8JoSNkvoBHToP4mQ4t4y8
-6Ij5iySrLqP1N+RAjhgleYN1Hzv/bKjFxlb4tO2KRKOrbEz8HdDc72i9z+SqzvBV96I01INrN3wc
-wv61A+xXzry0tcXtAA9TNypN9E8Mg/uGz8v+jE69h/mniyFXnHrfA2eJLJ2XYacQuFWQfw4tJzh0
-3+f92k4S400VIgLI4OD8D62K18lUUMw7D8oWgITQUVbDjlZ/iSIzL+aFCr2lqBs23tPcLG07xxO9
-WSMs5uWk99gL7eqQQESolbuT1dCANLZGeA4fAJNG4e7p+exPFwIDAQABo0IwQDAdBgNVHQ4EFgQU
-ZT/HiobGPN08VFw1+DrtUgxHV8gwDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wDQYJ
-KoZIhvcNAQELBQADggEBACo/4fEyjq7hmFxLXs9rHmoJ0iKpEsdeV31zVmSAhHqT5Am5EM2fKifh
-AHe+SMg1qIGf5LgsyX8OsNJLN13qudULXjS99HMpw+0mFZx+CFOKWI3QSyjfwbPfIPP54+M638yc
-lNhOT8NrF7f3cuitZjO1JVOr4PhMqZ398g26rrnZqsZr+ZO7rqu4lzwDGrpDxpa5RXI4s6ehlj2R
-e37AIVNMh+3yC1SVUZPVIqUNivGTDj5UDrDYyU7c8jEyVupk+eq1nRZmQnLzf9OxMUP8pI4X8W0j
-q5Rm+K37DwhuJi1/FwcJsoz7UMCflo3Ptv0AnVoUmr8CRPXBwp8iXqIPoeM=
------END CERTIFICATE-----
-
-GDCA TrustAUTH R5 ROOT
-======================
------BEGIN CERTIFICATE-----
-MIIFiDCCA3CgAwIBAgIIfQmX/vBH6nowDQYJKoZIhvcNAQELBQAwYjELMAkGA1UEBhMCQ04xMjAw
-BgNVBAoMKUdVQU5HIERPTkcgQ0VSVElGSUNBVEUgQVVUSE9SSVRZIENPLixMVEQuMR8wHQYDVQQD
-DBZHRENBIFRydXN0QVVUSCBSNSBST09UMB4XDTE0MTEyNjA1MTMxNVoXDTQwMTIzMTE1NTk1OVow
-YjELMAkGA1UEBhMCQ04xMjAwBgNVBAoMKUdVQU5HIERPTkcgQ0VSVElGSUNBVEUgQVVUSE9SSVRZ
-IENPLixMVEQuMR8wHQYDVQQDDBZHRENBIFRydXN0QVVUSCBSNSBST09UMIICIjANBgkqhkiG9w0B
-AQEFAAOCAg8AMIICCgKCAgEA2aMW8Mh0dHeb7zMNOwZ+Vfy1YI92hhJCfVZmPoiC7XJjDp6L3TQs
-AlFRwxn9WVSEyfFrs0yw6ehGXTjGoqcuEVe6ghWinI9tsJlKCvLriXBjTnnEt1u9ol2x8kECK62p
-OqPseQrsXzrj/e+APK00mxqriCZ7VqKChh/rNYmDf1+uKU49tm7srsHwJ5uu4/Ts765/94Y9cnrr
-pftZTqfrlYwiOXnhLQiPzLyRuEH3FMEjqcOtmkVEs7LXLM3GKeJQEK5cy4KOFxg2fZfmiJqwTTQJ
-9Cy5WmYqsBebnh52nUpmMUHfP/vFBu8btn4aRjb3ZGM74zkYI+dndRTVdVeSN72+ahsmUPI2JgaQ
-xXABZG12ZuGR224HwGGALrIuL4xwp9E7PLOR5G62xDtw8mySlwnNR30YwPO7ng/Wi64HtloPzgsM
-R6flPri9fcebNaBhlzpBdRfMK5Z3KpIhHtmVdiBnaM8Nvd/WHwlqmuLMc3GkL30SgLdTMEZeS1SZ
-D2fJpcjyIMGC7J0R38IC+xo70e0gmu9lZJIQDSri3nDxGGeCjGHeuLzRL5z7D9Ar7Rt2ueQ5Vfj4
-oR24qoAATILnsn8JuLwwoC8N9VKejveSswoAHQBUlwbgsQfZxw9cZX08bVlX5O2ljelAU58VS6Bx
-9hoh49pwBiFYFIeFd3mqgnkCAwEAAaNCMEAwHQYDVR0OBBYEFOLJQJ9NzuiaoXzPDj9lxSmIahlR
-MA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgGGMA0GCSqGSIb3DQEBCwUAA4ICAQDRSVfg
-p8xoWLoBDysZzY2wYUWsEe1jUGn4H3++Fo/9nesLqjJHdtJnJO29fDMylyrHBYZmDRd9FBUb1Ov9
-H5r2XpdptxolpAqzkT9fNqyL7FeoPueBihhXOYV0GkLH6VsTX4/5COmSdI31R9KrO9b7eGZONn35
-6ZLpBN79SWP8bfsUcZNnL0dKt7n/HipzcEYwv1ryL3ml4Y0M2fmyYzeMN2WFcGpcWwlyua1jPLHd
-+PwyvzeG5LuOmCd+uh8W4XAR8gPfJWIyJyYYMoSf/wA6E7qaTfRPuBRwIrHKK5DOKcFw9C+df/KQ
-HtZa37dG/OaG+svgIHZ6uqbL9XzeYqWxi+7egmaKTjowHz+Ay60nugxe19CxVsp3cbK1daFQqUBD
-F8Io2c9Si1vIY9RCPqAzekYu9wogRlR+ak8x8YF+QnQ4ZXMn7sZ8uI7XpTrXmKGcjBBV09tL7ECQ
-8s1uV9JiDnxXk7Gnbc2dg7sq5+W2O3FYrf3RRbxake5TFW/TRQl1brqQXR4EzzffHqhmsYzmIGrv
-/EhOdJhCrylvLmrH+33RZjEizIYAfmaDDEL0vTSSwxrqT8p+ck0LcIymSLumoRT2+1hEmRSuqguT
-aaApJUqlyyvdimYHFngVV3Eb7PVHhPOeMTd61X8kreS8/f3MboPoDKi3QWwH3b08hpcv0g==
------END CERTIFICATE-----
-
-TrustCor RootCert CA-1
-======================
------BEGIN CERTIFICATE-----
-MIIEMDCCAxigAwIBAgIJANqb7HHzA7AZMA0GCSqGSIb3DQEBCwUAMIGkMQswCQYDVQQGEwJQQTEP
-MA0GA1UECAwGUGFuYW1hMRQwEgYDVQQHDAtQYW5hbWEgQ2l0eTEkMCIGA1UECgwbVHJ1c3RDb3Ig
-U3lzdGVtcyBTLiBkZSBSLkwuMScwJQYDVQQLDB5UcnVzdENvciBDZXJ0aWZpY2F0ZSBBdXRob3Jp
-dHkxHzAdBgNVBAMMFlRydXN0Q29yIFJvb3RDZXJ0IENBLTEwHhcNMTYwMjA0MTIzMjE2WhcNMjkx
-MjMxMTcyMzE2WjCBpDELMAkGA1UEBhMCUEExDzANBgNVBAgMBlBhbmFtYTEUMBIGA1UEBwwLUGFu
-YW1hIENpdHkxJDAiBgNVBAoMG1RydXN0Q29yIFN5c3RlbXMgUy4gZGUgUi5MLjEnMCUGA1UECwwe
-VHJ1c3RDb3IgQ2VydGlmaWNhdGUgQXV0aG9yaXR5MR8wHQYDVQQDDBZUcnVzdENvciBSb290Q2Vy
-dCBDQS0xMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAv463leLCJhJrMxnHQFgKq1mq
-jQCj/IDHUHuO1CAmujIS2CNUSSUQIpidRtLByZ5OGy4sDjjzGiVoHKZaBeYei0i/mJZ0PmnK6bV4
-pQa81QBeCQryJ3pS/C3Vseq0iWEk8xoT26nPUu0MJLq5nux+AHT6k61sKZKuUbS701e/s/OojZz0
-JEsq1pme9J7+wH5COucLlVPat2gOkEz7cD+PSiyU8ybdY2mplNgQTsVHCJCZGxdNuWxu72CVEY4h
-gLW9oHPY0LJ3xEXqWib7ZnZ2+AYfYW0PVcWDtxBWcgYHpfOxGgMFZA6dWorWhnAbJN7+KIor0Gqw
-/Hqi3LJ5DotlDwIDAQABo2MwYTAdBgNVHQ4EFgQU7mtJPHo/DeOxCbeKyKsZn3MzUOcwHwYDVR0j
-BBgwFoAU7mtJPHo/DeOxCbeKyKsZn3MzUOcwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMC
-AYYwDQYJKoZIhvcNAQELBQADggEBACUY1JGPE+6PHh0RU9otRCkZoB5rMZ5NDp6tPVxBb5UrJKF5
-mDo4Nvu7Zp5I/5CQ7z3UuJu0h3U/IJvOcs+hVcFNZKIZBqEHMwwLKeXx6quj7LUKdJDHfXLy11yf
-ke+Ri7fc7Waiz45mO7yfOgLgJ90WmMCV1Aqk5IGadZQ1nJBfiDcGrVmVCrDRZ9MZyonnMlo2HD6C
-qFqTvsbQZJG2z9m2GM/bftJlo6bEjhcxwft+dtvTheNYsnd6djtsL1Ac59v2Z3kf9YKVmgenFK+P
-3CghZwnS1k1aHBkcjndcw5QkPTJrS37UeJSDvjdNzl/HHk484IkzlQsPpTLWPFp5LBk=
------END CERTIFICATE-----
-
-TrustCor RootCert CA-2
-======================
------BEGIN CERTIFICATE-----
-MIIGLzCCBBegAwIBAgIIJaHfyjPLWQIwDQYJKoZIhvcNAQELBQAwgaQxCzAJBgNVBAYTAlBBMQ8w
-DQYDVQQIDAZQYW5hbWExFDASBgNVBAcMC1BhbmFtYSBDaXR5MSQwIgYDVQQKDBtUcnVzdENvciBT
-eXN0ZW1zIFMuIGRlIFIuTC4xJzAlBgNVBAsMHlRydXN0Q29yIENlcnRpZmljYXRlIEF1dGhvcml0
-eTEfMB0GA1UEAwwWVHJ1c3RDb3IgUm9vdENlcnQgQ0EtMjAeFw0xNjAyMDQxMjMyMjNaFw0zNDEy
-MzExNzI2MzlaMIGkMQswCQYDVQQGEwJQQTEPMA0GA1UECAwGUGFuYW1hMRQwEgYDVQQHDAtQYW5h
-bWEgQ2l0eTEkMCIGA1UECgwbVHJ1c3RDb3IgU3lzdGVtcyBTLiBkZSBSLkwuMScwJQYDVQQLDB5U
-cnVzdENvciBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkxHzAdBgNVBAMMFlRydXN0Q29yIFJvb3RDZXJ0
-IENBLTIwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCnIG7CKqJiJJWQdsg4foDSq8Gb
-ZQWU9MEKENUCrO2fk8eHyLAnK0IMPQo+QVqedd2NyuCb7GgypGmSaIwLgQ5WoD4a3SwlFIIvl9Nk
-RvRUqdw6VC0xK5mC8tkq1+9xALgxpL56JAfDQiDyitSSBBtlVkxs1Pu2YVpHI7TYabS3OtB0PAx1
-oYxOdqHp2yqlO/rOsP9+aij9JxzIsekp8VduZLTQwRVtDr4uDkbIXvRR/u8OYzo7cbrPb1nKDOOb
-XUm4TOJXsZiKQlecdu/vvdFoqNL0Cbt3Nb4lggjEFixEIFapRBF37120Hapeaz6LMvYHL1cEksr1
-/p3C6eizjkxLAjHZ5DxIgif3GIJ2SDpxsROhOdUuxTTCHWKF3wP+TfSvPd9cW436cOGlfifHhi5q
-jxLGhF5DUVCcGZt45vz27Ud+ez1m7xMTiF88oWP7+ayHNZ/zgp6kPwqcMWmLmaSISo5uZk3vFsQP
-eSghYA2FFn3XVDjxklb9tTNMg9zXEJ9L/cb4Qr26fHMC4P99zVvh1Kxhe1fVSntb1IVYJ12/+Ctg
-rKAmrhQhJ8Z3mjOAPF5GP/fDsaOGM8boXg25NSyqRsGFAnWAoOsk+xWq5Gd/bnc/9ASKL3x74xdh
-8N0JqSDIvgmk0H5Ew7IwSjiqqewYmgeCK9u4nBit2uBGF6zPXQIDAQABo2MwYTAdBgNVHQ4EFgQU
-2f4hQG6UnrybPZx9mCAZ5YwwYrIwHwYDVR0jBBgwFoAU2f4hQG6UnrybPZx9mCAZ5YwwYrIwDwYD
-VR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAYYwDQYJKoZIhvcNAQELBQADggIBAJ5Fngw7tu/h
-Osh80QA9z+LqBrWyOrsGS2h60COXdKcs8AjYeVrXWoSK2BKaG9l9XE1wxaX5q+WjiYndAfrs3fnp
-kpfbsEZC89NiqpX+MWcUaViQCqoL7jcjx1BRtPV+nuN79+TMQjItSQzL/0kMmx40/W5ulop5A7Zv
-2wnL/V9lFDfhOPXzYRZY5LVtDQsEGz9QLX+zx3oaFoBg+Iof6Rsqxvm6ARppv9JYx1RXCI/hOWB3
-S6xZhBqI8d3LT3jX5+EzLfzuQfogsL7L9ziUwOHQhQ+77Sxzq+3+knYaZH9bDTMJBzN7Bj8RpFxw
-PIXAz+OQqIN3+tvmxYxoZxBnpVIt8MSZj3+/0WvitUfW2dCFmU2Umw9Lje4AWkcdEQOsQRivh7dv
-DDqPys/cA8GiCcjl/YBeyGBCARsaU1q7N6a3vLqE6R5sGtRk2tRD/pOLS/IseRYQ1JMLiI+h2IYU
-RpFHmygk71dSTlxCnKr3Sewn6EAes6aJInKc9Q0ztFijMDvd1GpUk74aTfOTlPf8hAs/hCBcNANE
-xdqtvArBAs8e5ZTZ845b2EzwnexhF7sUMlQMAimTHpKG9n/v55IFDlndmQguLvqcAFLTxWYp5KeX
-RKQOKIETNcX2b2TmQcTVL8w0RSXPQQCWPUouwpaYT05KnJe32x+SMsj/D1Fu1uwJ
------END CERTIFICATE-----
-
-TrustCor ECA-1
-==============
------BEGIN CERTIFICATE-----
-MIIEIDCCAwigAwIBAgIJAISCLF8cYtBAMA0GCSqGSIb3DQEBCwUAMIGcMQswCQYDVQQGEwJQQTEP
-MA0GA1UECAwGUGFuYW1hMRQwEgYDVQQHDAtQYW5hbWEgQ2l0eTEkMCIGA1UECgwbVHJ1c3RDb3Ig
-U3lzdGVtcyBTLiBkZSBSLkwuMScwJQYDVQQLDB5UcnVzdENvciBDZXJ0aWZpY2F0ZSBBdXRob3Jp
-dHkxFzAVBgNVBAMMDlRydXN0Q29yIEVDQS0xMB4XDTE2MDIwNDEyMzIzM1oXDTI5MTIzMTE3Mjgw
-N1owgZwxCzAJBgNVBAYTAlBBMQ8wDQYDVQQIDAZQYW5hbWExFDASBgNVBAcMC1BhbmFtYSBDaXR5
-MSQwIgYDVQQKDBtUcnVzdENvciBTeXN0ZW1zIFMuIGRlIFIuTC4xJzAlBgNVBAsMHlRydXN0Q29y
-IENlcnRpZmljYXRlIEF1dGhvcml0eTEXMBUGA1UEAwwOVHJ1c3RDb3IgRUNBLTEwggEiMA0GCSqG
-SIb3DQEBAQUAA4IBDwAwggEKAoIBAQDPj+ARtZ+odnbb3w9U73NjKYKtR8aja+3+XzP4Q1HpGjOR
-MRegdMTUpwHmspI+ap3tDvl0mEDTPwOABoJA6LHip1GnHYMma6ve+heRK9jGrB6xnhkB1Zem6g23
-xFUfJ3zSCNV2HykVh0A53ThFEXXQmqc04L/NyFIduUd+Dbi7xgz2c1cWWn5DkR9VOsZtRASqnKmc
-p0yJF4OuowReUoCLHhIlERnXDH19MURB6tuvsBzvgdAsxZohmz3tQjtQJvLsznFhBmIhVE5/wZ0+
-fyCMgMsq2JdiyIMzkX2woloPV+g7zPIlstR8L+xNxqE6FXrntl019fZISjZFZtS6mFjBAgMBAAGj
-YzBhMB0GA1UdDgQWBBREnkj1zG1I1KBLf/5ZJC+Dl5mahjAfBgNVHSMEGDAWgBREnkj1zG1I1KBL
-f/5ZJC+Dl5mahjAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBhjANBgkqhkiG9w0BAQsF
-AAOCAQEABT41XBVwm8nHc2FvcivUwo/yQ10CzsSUuZQRg2dd4mdsdXa/uwyqNsatR5Nj3B5+1t4u
-/ukZMjgDfxT2AHMsWbEhBuH7rBiVDKP/mZb3Kyeb1STMHd3BOuCYRLDE5D53sXOpZCz2HAF8P11F
-hcCF5yWPldwX8zyfGm6wyuMdKulMY/okYWLW2n62HGz1Ah3UKt1VkOsqEUc8Ll50soIipX1TH0Xs
-J5F95yIW6MBoNtjG8U+ARDL54dHRHareqKucBK+tIA5kmE2la8BIWJZpTdwHjFGTot+fDz2LYLSC
-jaoITmJF4PkL0uDgPFveXHEnJcLmA4GLEFPjx1WitJ/X5g==
------END CERTIFICATE-----
-
-SSL.com Root Certification Authority RSA
-========================================
------BEGIN CERTIFICATE-----
-MIIF3TCCA8WgAwIBAgIIeyyb0xaAMpkwDQYJKoZIhvcNAQELBQAwfDELMAkGA1UEBhMCVVMxDjAM
-BgNVBAgMBVRleGFzMRAwDgYDVQQHDAdIb3VzdG9uMRgwFgYDVQQKDA9TU0wgQ29ycG9yYXRpb24x
-MTAvBgNVBAMMKFNTTC5jb20gUm9vdCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eSBSU0EwHhcNMTYw
-MjEyMTczOTM5WhcNNDEwMjEyMTczOTM5WjB8MQswCQYDVQQGEwJVUzEOMAwGA1UECAwFVGV4YXMx
-EDAOBgNVBAcMB0hvdXN0b24xGDAWBgNVBAoMD1NTTCBDb3Jwb3JhdGlvbjExMC8GA1UEAwwoU1NM
-LmNvbSBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5IFJTQTCCAiIwDQYJKoZIhvcNAQEBBQAD
-ggIPADCCAgoCggIBAPkP3aMrfcvQKv7sZ4Wm5y4bunfh4/WvpOz6Sl2RxFdHaxh3a3by/ZPkPQ/C
-Fp4LZsNWlJ4Xg4XOVu/yFv0AYvUiCVToZRdOQbngT0aXqhvIuG5iXmmxX9sqAn78bMrzQdjt0Oj8
-P2FI7bADFB0QDksZ4LtO7IZl/zbzXmcCC52GVWH9ejjt/uIZALdvoVBidXQ8oPrIJZK0bnoix/ge
-oeOy3ZExqysdBP+lSgQ36YWkMyv94tZVNHwZpEpox7Ko07fKoZOI68GXvIz5HdkihCR0xwQ9aqkp
-k8zruFvh/l8lqjRYyMEjVJ0bmBHDOJx+PYZspQ9AhnwC9FwCTyjLrnGfDzrIM/4RJTXq/LrFYD3Z
-fBjVsqnTdXgDciLKOsMf7yzlLqn6niy2UUb9rwPW6mBo6oUWNmuF6R7As93EJNyAKoFBbZQ+yODJ
-gUEAnl6/f8UImKIYLEJAs/lvOCdLToD0PYFH4Ih86hzOtXVcUS4cK38acijnALXRdMbX5J+tB5O2
-UzU1/Dfkw/ZdFr4hc96SCvigY2q8lpJqPvi8ZVWb3vUNiSYE/CUapiVpy8JtynziWV+XrOvvLsi8
-1xtZPCvM8hnIk2snYxnP/Okm+Mpxm3+T/jRnhE6Z6/yzeAkzcLpmpnbtG3PrGqUNxCITIJRWCk4s
-bE6x/c+cCbqiM+2HAgMBAAGjYzBhMB0GA1UdDgQWBBTdBAkHovV6fVJTEpKV7jiAJQ2mWTAPBgNV
-HRMBAf8EBTADAQH/MB8GA1UdIwQYMBaAFN0ECQei9Xp9UlMSkpXuOIAlDaZZMA4GA1UdDwEB/wQE
-AwIBhjANBgkqhkiG9w0BAQsFAAOCAgEAIBgRlCn7Jp0cHh5wYfGVcpNxJK1ok1iOMq8bs3AD/CUr
-dIWQPXhq9LmLpZc7tRiRux6n+UBbkflVma8eEdBcHadm47GUBwwyOabqG7B52B2ccETjit3E+ZUf
-ijhDPwGFpUenPUayvOUiaPd7nNgsPgohyC0zrL/FgZkxdMF1ccW+sfAjRfSda/wZY52jvATGGAsl
-u1OJD7OAUN5F7kR/q5R4ZJjT9ijdh9hwZXT7DrkT66cPYakylszeu+1jTBi7qUD3oFRuIIhxdRjq
-erQ0cuAjJ3dctpDqhiVAq+8zD8ufgr6iIPv2tS0a5sKFsXQP+8hlAqRSAUfdSSLBv9jra6x+3uxj
-MxW3IwiPxg+NQVrdjsW5j+VFP3jbutIbQLH+cU0/4IGiul607BXgk90IH37hVZkLId6Tngr75qNJ
-vTYw/ud3sqB1l7UtgYgXZSD32pAAn8lSzDLKNXz1PQ/YK9f1JmzJBjSWFupwWRoyeXkLtoh/D1JI
-Pb9s2KJELtFOt3JY04kTlf5Eq/jXixtunLwsoFvVagCvXzfh1foQC5ichucmj87w7G6KVwuA406y
-wKBjYZC6VWg3dGq2ktufoYYitmUnDuy2n0Jg5GfCtdpBC8TTi2EbvPofkSvXRAdeuims2cXp71NI
-WuuA8ShYIc2wBlX7Jz9TkHCpBB5XJ7k=
------END CERTIFICATE-----
-
-SSL.com Root Certification Authority ECC
-========================================
------BEGIN CERTIFICATE-----
-MIICjTCCAhSgAwIBAgIIdebfy8FoW6gwCgYIKoZIzj0EAwIwfDELMAkGA1UEBhMCVVMxDjAMBgNV
-BAgMBVRleGFzMRAwDgYDVQQHDAdIb3VzdG9uMRgwFgYDVQQKDA9TU0wgQ29ycG9yYXRpb24xMTAv
-BgNVBAMMKFNTTC5jb20gUm9vdCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eSBFQ0MwHhcNMTYwMjEy
-MTgxNDAzWhcNNDEwMjEyMTgxNDAzWjB8MQswCQYDVQQGEwJVUzEOMAwGA1UECAwFVGV4YXMxEDAO
-BgNVBAcMB0hvdXN0b24xGDAWBgNVBAoMD1NTTCBDb3Jwb3JhdGlvbjExMC8GA1UEAwwoU1NMLmNv
-bSBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5IEVDQzB2MBAGByqGSM49AgEGBSuBBAAiA2IA
-BEVuqVDEpiM2nl8ojRfLliJkP9x6jh3MCLOicSS6jkm5BBtHllirLZXI7Z4INcgn64mMU1jrYor+
-8FsPazFSY0E7ic3s7LaNGdM0B9y7xgZ/wkWV7Mt/qCPgCemB+vNH06NjMGEwHQYDVR0OBBYEFILR
-hXMw5zUE044CkvvlpNHEIejNMA8GA1UdEwEB/wQFMAMBAf8wHwYDVR0jBBgwFoAUgtGFczDnNQTT
-jgKS++Wk0cQh6M0wDgYDVR0PAQH/BAQDAgGGMAoGCCqGSM49BAMCA2cAMGQCMG/n61kRpGDPYbCW
-e+0F+S8Tkdzt5fxQaxFGRrMcIQBiu77D5+jNB5n5DQtdcj7EqgIwH7y6C+IwJPt8bYBVCpk+gA0z
-5Wajs6O7pdWLjwkspl1+4vAHCGht0nxpbl/f5Wpl
------END CERTIFICATE-----
-
-SSL.com EV Root Certification Authority RSA R2
-==============================================
------BEGIN CERTIFICATE-----
-MIIF6zCCA9OgAwIBAgIIVrYpzTS8ePYwDQYJKoZIhvcNAQELBQAwgYIxCzAJBgNVBAYTAlVTMQ4w
-DAYDVQQIDAVUZXhhczEQMA4GA1UEBwwHSG91c3RvbjEYMBYGA1UECgwPU1NMIENvcnBvcmF0aW9u
-MTcwNQYDVQQDDC5TU0wuY29tIEVWIFJvb3QgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkgUlNBIFIy
-MB4XDTE3MDUzMTE4MTQzN1oXDTQyMDUzMDE4MTQzN1owgYIxCzAJBgNVBAYTAlVTMQ4wDAYDVQQI
-DAVUZXhhczEQMA4GA1UEBwwHSG91c3RvbjEYMBYGA1UECgwPU1NMIENvcnBvcmF0aW9uMTcwNQYD
-VQQDDC5TU0wuY29tIEVWIFJvb3QgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkgUlNBIFIyMIICIjAN
-BgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAjzZlQOHWTcDXtOlG2mvqM0fNTPl9fb69LT3w23jh
-hqXZuglXaO1XPqDQCEGD5yhBJB/jchXQARr7XnAjssufOePPxU7Gkm0mxnu7s9onnQqG6YE3Bf7w
-cXHswxzpY6IXFJ3vG2fThVUCAtZJycxa4bH3bzKfydQ7iEGonL3Lq9ttewkfokxykNorCPzPPFTO
-Zw+oz12WGQvE43LrrdF9HSfvkusQv1vrO6/PgN3B0pYEW3p+pKk8OHakYo6gOV7qd89dAFmPZiw+
-B6KjBSYRaZfqhbcPlgtLyEDhULouisv3D5oi53+aNxPN8k0TayHRwMwi8qFG9kRpnMphNQcAb9Zh
-CBHqurj26bNg5U257J8UZslXWNvNh2n4ioYSA0e/ZhN2rHd9NCSFg83XqpyQGp8hLH94t2S42Oim
-9HizVcuE0jLEeK6jj2HdzghTreyI/BXkmg3mnxp3zkyPuBQVPWKchjgGAGYS5Fl2WlPAApiiECto
-RHuOec4zSnaqW4EWG7WK2NAAe15itAnWhmMOpgWVSbooi4iTsjQc2KRVbrcc0N6ZVTsj9CLg+Slm
-JuwgUHfbSguPvuUCYHBBXtSuUDkiFCbLsjtzdFVHB3mBOagwE0TlBIqulhMlQg+5U8Sb/M3kHN48
-+qvWBkofZ6aYMBzdLNvcGJVXZsb/XItW9XcCAwEAAaNjMGEwDwYDVR0TAQH/BAUwAwEB/zAfBgNV
-HSMEGDAWgBT5YLvU49U09rj1BoAlp3PbRmmonjAdBgNVHQ4EFgQU+WC71OPVNPa49QaAJadz20Zp
-qJ4wDgYDVR0PAQH/BAQDAgGGMA0GCSqGSIb3DQEBCwUAA4ICAQBWs47LCp1Jjr+kxJG7ZhcFUZh1
-++VQLHqe8RT6q9OKPv+RKY9ji9i0qVQBDb6Thi/5Sm3HXvVX+cpVHBK+Rw82xd9qt9t1wkclf7nx
-Y/hoLVUE0fKNsKTPvDxeH3jnpaAgcLAExbf3cqfeIg29MyVGjGSSJuM+LmOW2puMPfgYCdcDzH2G
-guDKBAdRUNf/ktUM79qGn5nX67evaOI5JpS6aLe/g9Pqemc9YmeuJeVy6OLk7K4S9ksrPJ/psEDz
-OFSz/bdoyNrGj1E8svuR3Bznm53htw1yj+KkxKl4+esUrMZDBcJlOSgYAsOCsp0FvmXtll9ldDz7
-CTUue5wT/RsPXcdtgTpWD8w74a8CLyKsRspGPKAcTNZEtF4uXBVmCeEmKf7GUmG6sXP/wwyc5Wxq
-lD8UykAWlYTzWamsX0xhk23RO8yilQwipmdnRC652dKKQbNmC1r7fSOl8hqw/96bg5Qu0T/fkreR
-rwU7ZcegbLHNYhLDkBvjJc40vG93drEQw/cFGsDWr3RiSBd3kmmQYRzelYB0VI8YHMPzA9C/pEN1
-hlMYegouCRw2n5H9gooiS9EOUCXdywMMF8mDAAhONU2Ki+3wApRmLER/y5UnlhetCTCstnEXbosX
-9hwJ1C07mKVx01QT2WDz9UtmT/rx7iASjbSsV7FFY6GsdqnC+w==
------END CERTIFICATE-----
-
-SSL.com EV Root Certification Authority ECC
-===========================================
------BEGIN CERTIFICATE-----
-MIIClDCCAhqgAwIBAgIILCmcWxbtBZUwCgYIKoZIzj0EAwIwfzELMAkGA1UEBhMCVVMxDjAMBgNV
-BAgMBVRleGFzMRAwDgYDVQQHDAdIb3VzdG9uMRgwFgYDVQQKDA9TU0wgQ29ycG9yYXRpb24xNDAy
-BgNVBAMMK1NTTC5jb20gRVYgUm9vdCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eSBFQ0MwHhcNMTYw
-MjEyMTgxNTIzWhcNNDEwMjEyMTgxNTIzWjB/MQswCQYDVQQGEwJVUzEOMAwGA1UECAwFVGV4YXMx
-EDAOBgNVBAcMB0hvdXN0b24xGDAWBgNVBAoMD1NTTCBDb3Jwb3JhdGlvbjE0MDIGA1UEAwwrU1NM
-LmNvbSBFViBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5IEVDQzB2MBAGByqGSM49AgEGBSuB
-BAAiA2IABKoSR5CYG/vvw0AHgyBO8TCCogbR8pKGYfL2IWjKAMTH6kMAVIbc/R/fALhBYlzccBYy
-3h+Z1MzFB8gIH2EWB1E9fVwHU+M1OIzfzZ/ZLg1KthkuWnBaBu2+8KGwytAJKaNjMGEwHQYDVR0O
-BBYEFFvKXuXe0oGqzagtZFG22XKbl+ZPMA8GA1UdEwEB/wQFMAMBAf8wHwYDVR0jBBgwFoAUW8pe
-5d7SgarNqC1kUbbZcpuX5k8wDgYDVR0PAQH/BAQDAgGGMAoGCCqGSM49BAMCA2gAMGUCMQCK5kCJ
-N+vp1RPZytRrJPOwPYdGWBrssd9v+1a6cGvHOMzosYxPD/fxZ3YOg9AeUY8CMD32IygmTMZgh5Mm
-m7I1HrrW9zzRHM76JTymGoEVW/MSD2zuZYrJh6j5B+BimoxcSg==
------END CERTIFICATE-----
-
-GlobalSign Root CA - R6
-=======================
------BEGIN CERTIFICATE-----
-MIIFgzCCA2ugAwIBAgIORea7A4Mzw4VlSOb/RVEwDQYJKoZIhvcNAQEMBQAwTDEgMB4GA1UECxMX
-R2xvYmFsU2lnbiBSb290IENBIC0gUjYxEzARBgNVBAoTCkdsb2JhbFNpZ24xEzARBgNVBAMTCkds
-b2JhbFNpZ24wHhcNMTQxMjEwMDAwMDAwWhcNMzQxMjEwMDAwMDAwWjBMMSAwHgYDVQQLExdHbG9i
-YWxTaWduIFJvb3QgQ0EgLSBSNjETMBEGA1UEChMKR2xvYmFsU2lnbjETMBEGA1UEAxMKR2xvYmFs
-U2lnbjCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAJUH6HPKZvnsFMp7PPcNCPG0RQss
-grRIxutbPK6DuEGSMxSkb3/pKszGsIhrxbaJ0cay/xTOURQh7ErdG1rG1ofuTToVBu1kZguSgMpE
-3nOUTvOniX9PeGMIyBJQbUJmL025eShNUhqKGoC3GYEOfsSKvGRMIRxDaNc9PIrFsmbVkJq3MQbF
-vuJtMgamHvm566qjuL++gmNQ0PAYid/kD3n16qIfKtJwLnvnvJO7bVPiSHyMEAc4/2ayd2F+4OqM
-PKq0pPbzlUoSB239jLKJz9CgYXfIWHSw1CM69106yqLbnQneXUQtkPGBzVeS+n68UARjNN9rkxi+
-azayOeSsJDa38O+2HBNXk7besvjihbdzorg1qkXy4J02oW9UivFyVm4uiMVRQkQVlO6jxTiWm05O
-WgtH8wY2SXcwvHE35absIQh1/OZhFj931dmRl4QKbNQCTXTAFO39OfuD8l4UoQSwC+n+7o/hbguy
-CLNhZglqsQY6ZZZZwPA1/cnaKI0aEYdwgQqomnUdnjqGBQCe24DWJfncBZ4nWUx2OVvq+aWh2IMP
-0f/fMBH5hc8zSPXKbWQULHpYT9NLCEnFlWQaYw55PfWzjMpYrZxCRXluDocZXFSxZba/jJvcE+kN
-b7gu3GduyYsRtYQUigAZcIN5kZeR1BonvzceMgfYFGM8KEyvAgMBAAGjYzBhMA4GA1UdDwEB/wQE
-AwIBBjAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBSubAWjkxPioufi1xzWx/B/yGdToDAfBgNV
-HSMEGDAWgBSubAWjkxPioufi1xzWx/B/yGdToDANBgkqhkiG9w0BAQwFAAOCAgEAgyXt6NH9lVLN
-nsAEoJFp5lzQhN7craJP6Ed41mWYqVuoPId8AorRbrcWc+ZfwFSY1XS+wc3iEZGtIxg93eFyRJa0
-lV7Ae46ZeBZDE1ZXs6KzO7V33EByrKPrmzU+sQghoefEQzd5Mr6155wsTLxDKZmOMNOsIeDjHfrY
-BzN2VAAiKrlNIC5waNrlU/yDXNOd8v9EDERm8tLjvUYAGm0CuiVdjaExUd1URhxN25mW7xocBFym
-Fe944Hn+Xds+qkxV/ZoVqW/hpvvfcDDpw+5CRu3CkwWJ+n1jez/QcYF8AOiYrg54NMMl+68KnyBr
-3TsTjxKM4kEaSHpzoHdpx7Zcf4LIHv5YGygrqGytXm3ABdJ7t+uA/iU3/gKbaKxCXcPu9czc8FB1
-0jZpnOZ7BN9uBmm23goJSFmH63sUYHpkqmlD75HHTOwY3WzvUy2MmeFe8nI+z1TIvWfspA9MRf/T
-uTAjB0yPEL+GltmZWrSZVxykzLsViVO6LAUP5MSeGbEYNNVMnbrt9x+vJJUEeKgDu+6B5dpffItK
-oZB0JaezPkvILFa9x8jvOOJckvB595yEunQtYQEgfn7R8k8HWV+LLUNS60YMlOH1Zkd5d9VUWx+t
-JDfLRVpOoERIyNiwmcUVhAn21klJwGW45hpxbqCo8YLoRT5s1gLXCmeDBVrJpBA=
------END CERTIFICATE-----
-
-OISTE WISeKey Global Root GC CA
-===============================
------BEGIN CERTIFICATE-----
-MIICaTCCAe+gAwIBAgIQISpWDK7aDKtARb8roi066jAKBggqhkjOPQQDAzBtMQswCQYDVQQGEwJD
-SDEQMA4GA1UEChMHV0lTZUtleTEiMCAGA1UECxMZT0lTVEUgRm91bmRhdGlvbiBFbmRvcnNlZDEo
-MCYGA1UEAxMfT0lTVEUgV0lTZUtleSBHbG9iYWwgUm9vdCBHQyBDQTAeFw0xNzA1MDkwOTQ4MzRa
-Fw00MjA1MDkwOTU4MzNaMG0xCzAJBgNVBAYTAkNIMRAwDgYDVQQKEwdXSVNlS2V5MSIwIAYDVQQL
-ExlPSVNURSBGb3VuZGF0aW9uIEVuZG9yc2VkMSgwJgYDVQQDEx9PSVNURSBXSVNlS2V5IEdsb2Jh
-bCBSb290IEdDIENBMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAETOlQwMYPchi82PG6s4nieUqjFqdr
-VCTbUf/q9Akkwwsin8tqJ4KBDdLArzHkdIJuyiXZjHWd8dvQmqJLIX4Wp2OQ0jnUsYd4XxiWD1Ab
-NTcPasbc2RNNpI6QN+a9WzGRo1QwUjAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB/zAd
-BgNVHQ4EFgQUSIcUrOPDnpBgOtfKie7TrYy0UGYwEAYJKwYBBAGCNxUBBAMCAQAwCgYIKoZIzj0E
-AwMDaAAwZQIwJsdpW9zV57LnyAyMjMPdeYwbY9XJUpROTYJKcx6ygISpJcBMWm1JKWB4E+J+SOtk
-AjEA2zQgMgj/mkkCtojeFK9dbJlxjRo/i9fgojaGHAeCOnZT/cKi7e97sIBPWA9LUzm9
------END CERTIFICATE-----
-
-GTS Root R1
-===========
------BEGIN CERTIFICATE-----
-MIIFWjCCA0KgAwIBAgIQbkepxUtHDA3sM9CJuRz04TANBgkqhkiG9w0BAQwFADBHMQswCQYDVQQG
-EwJVUzEiMCAGA1UEChMZR29vZ2xlIFRydXN0IFNlcnZpY2VzIExMQzEUMBIGA1UEAxMLR1RTIFJv
-b3QgUjEwHhcNMTYwNjIyMDAwMDAwWhcNMzYwNjIyMDAwMDAwWjBHMQswCQYDVQQGEwJVUzEiMCAG
-A1UEChMZR29vZ2xlIFRydXN0IFNlcnZpY2VzIExMQzEUMBIGA1UEAxMLR1RTIFJvb3QgUjEwggIi
-MA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQC2EQKLHuOhd5s73L+UPreVp0A8of2C+X0yBoJx
-9vaMf/vo27xqLpeXo4xL+Sv2sfnOhB2x+cWX3u+58qPpvBKJXqeqUqv4IyfLpLGcY9vXmX7wCl7r
-aKb0xlpHDU0QM+NOsROjyBhsS+z8CZDfnWQpJSMHobTSPS5g4M/SCYe7zUjwTcLCeoiKu7rPWRnW
-r4+wB7CeMfGCwcDfLqZtbBkOtdh+JhpFAz2weaSUKK0PfyblqAj+lug8aJRT7oM6iCsVlgmy4HqM
-LnXWnOunVmSPlk9orj2XwoSPwLxAwAtcvfaHszVsrBhQf4TgTM2S0yDpM7xSma8ytSmzJSq0SPly
-4cpk9+aCEI3oncKKiPo4Zor8Y/kB+Xj9e1x3+naH+uzfsQ55lVe0vSbv1gHR6xYKu44LtcXFilWr
-06zqkUspzBmkMiVOKvFlRNACzqrOSbTqn3yDsEB750Orp2yjj32JgfpMpf/VjsPOS+C12LOORc92
-wO1AK/1TD7Cn1TsNsYqiA94xrcx36m97PtbfkSIS5r762DL8EGMUUXLeXdYWk70paDPvOmbsB4om
-3xPXV2V4J95eSRQAogB/mqghtqmxlbCluQ0WEdrHbEg8QOB+DVrNVjzRlwW5y0vtOUucxD/SVRNu
-JLDWcfr0wbrM7Rv1/oFB2ACYPTrIrnqYNxgFlQIDAQABo0IwQDAOBgNVHQ8BAf8EBAMCAQYwDwYD
-VR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQU5K8rJnEaK0gnhS9SZizv8IkTcT4wDQYJKoZIhvcNAQEM
-BQADggIBADiWCu49tJYeX++dnAsznyvgyv3SjgofQXSlfKqE1OXyHuY3UjKcC9FhHb8owbZEKTV1
-d5iyfNm9dKyKaOOpMQkpAWBz40d8U6iQSifvS9efk+eCNs6aaAyC58/UEBZvXw6ZXPYfcX3v73sv
-fuo21pdwCxXu11xWajOl40k4DLh9+42FpLFZXvRq4d2h9mREruZRgyFmxhE+885H7pwoHyXa/6xm
-ld01D1zvICxi/ZG6qcz8WpyTgYMpl0p8WnK0OdC3d8t5/Wk6kjftbjhlRn7pYL15iJdfOBL07q9b
-gsiG1eGZbYwE8na6SfZu6W0eX6DvJ4J2QPim01hcDyxC2kLGe4g0x8HYRZvBPsVhHdljUEn2NIVq
-4BjFbkerQUIpm/ZgDdIx02OYI5NaAIFItO/Nis3Jz5nu2Z6qNuFoS3FJFDYoOj0dzpqPJeaAcWEr
-tXvM+SUWgeExX6GjfhaknBZqlxi9dnKlC54dNuYvoS++cJEPqOba+MSSQGwlfnuzCdyyF62ARPBo
-pY+Udf90WuioAnwMCeKpSwughQtiue+hMZL77/ZRBIls6Kl0obsXs7X9SQ98POyDGCBDTtWTurQ0
-sR8WNh8M5mQ5Fkzc4P4dyKliPUDqysU0ArSuiYgzNdwsE3PYJ/HQcu51OyLemGhmW/HGY0dVHLql
-CFF1pkgl
------END CERTIFICATE-----
-
-GTS Root R2
-===========
------BEGIN CERTIFICATE-----
-MIIFWjCCA0KgAwIBAgIQbkepxlqz5yDFMJo/aFLybzANBgkqhkiG9w0BAQwFADBHMQswCQYDVQQG
-EwJVUzEiMCAGA1UEChMZR29vZ2xlIFRydXN0IFNlcnZpY2VzIExMQzEUMBIGA1UEAxMLR1RTIFJv
-b3QgUjIwHhcNMTYwNjIyMDAwMDAwWhcNMzYwNjIyMDAwMDAwWjBHMQswCQYDVQQGEwJVUzEiMCAG
-A1UEChMZR29vZ2xlIFRydXN0IFNlcnZpY2VzIExMQzEUMBIGA1UEAxMLR1RTIFJvb3QgUjIwggIi
-MA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDO3v2m++zsFDQ8BwZabFn3GTXd98GdVarTzTuk
-k3LvCvptnfbwhYBboUhSnznFt+4orO/LdmgUud+tAWyZH8QiHZ/+cnfgLFuv5AS/T3KgGjSY6Dlo
-7JUle3ah5mm5hRm9iYz+re026nO8/4Piy33B0s5Ks40FnotJk9/BW9BuXvAuMC6C/Pq8tBcKSOWI
-m8Wba96wyrQD8Nr0kLhlZPdcTK3ofmZemde4wj7I0BOdre7kRXuJVfeKH2JShBKzwkCX44ofR5Gm
-dFrS+LFjKBC4swm4VndAoiaYecb+3yXuPuWgf9RhD1FLPD+M2uFwdNjCaKH5wQzpoeJ/u1U8dgbu
-ak7MkogwTZq9TwtImoS1mKPV+3PBV2HdKFZ1E66HjucMUQkQdYhMvI35ezzUIkgfKtzra7tEscsz
-cTJGr61K8YzodDqs5xoic4DSMPclQsciOzsSrZYuxsN2B6ogtzVJV+mSSeh2FnIxZyuWfoqjx5RW
-Ir9qS34BIbIjMt/kmkRtWVtd9QCgHJvGeJeNkP+byKq0rxFROV7Z+2et1VsRnTKaG73Vululycsl
-aVNVJ1zgyjbLiGH7HrfQy+4W+9OmTN6SpdTi3/UGVN4unUu0kzCqgc7dGtxRcw1PcOnlthYhGXmy
-5okLdWTK1au8CcEYof/UVKGFPP0UJAOyh9OktwIDAQABo0IwQDAOBgNVHQ8BAf8EBAMCAQYwDwYD
-VR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUu//KjiOfT5nK2+JopqUVJxce2Q4wDQYJKoZIhvcNAQEM
-BQADggIBALZp8KZ3/p7uC4Gt4cCpx/k1HUCCq+YEtN/L9x0Pg/B+E02NjO7jMyLDOfxA325BS0JT
-vhaI8dI4XsRomRyYUpOM52jtG2pzegVATX9lO9ZY8c6DR2Dj/5epnGB3GFW1fgiTz9D2PGcDFWEJ
-+YF59exTpJ/JjwGLc8R3dtyDovUMSRqodt6Sm2T4syzFJ9MHwAiApJiS4wGWAqoC7o87xdFtCjMw
-c3i5T1QWvwsHoaRc5svJXISPD+AVdyx+Jn7axEvbpxZ3B7DNdehyQtaVhJ2Gg/LkkM0JR9SLA3Da
-WsYDQvTtN6LwG1BUSw7YhN4ZKJmBR64JGz9I0cNv4rBgF/XuIwKl2gBbbZCr7qLpGzvpx0QnRY5r
-n/WkhLx3+WuXrD5RRaIRpsyF7gpo8j5QOHokYh4XIDdtak23CZvJ/KRY9bb7nE4Yu5UC56Gtmwfu
-Nmsk0jmGwZODUNKBRqhfYlcsu2xkiAhu7xNUX90txGdj08+JN7+dIPT7eoOboB6BAFDC5AwiWVIQ
-7UNWhwD4FFKnHYuTjKJNRn8nxnGbJN7k2oaLDX5rIMHAnuFl2GqjpuiFizoHCBy69Y9Vmhh1fuXs
-gWbRIXOhNUQLgD1bnF5vKheW0YMjiGZt5obicDIvUiLnyOd/xCxgXS/Dr55FBcOEArf9LAhST4Ld
-o/DUhgkC
------END CERTIFICATE-----
-
-GTS Root R3
-===========
------BEGIN CERTIFICATE-----
-MIICDDCCAZGgAwIBAgIQbkepx2ypcyRAiQ8DVd2NHTAKBggqhkjOPQQDAzBHMQswCQYDVQQGEwJV
-UzEiMCAGA1UEChMZR29vZ2xlIFRydXN0IFNlcnZpY2VzIExMQzEUMBIGA1UEAxMLR1RTIFJvb3Qg
-UjMwHhcNMTYwNjIyMDAwMDAwWhcNMzYwNjIyMDAwMDAwWjBHMQswCQYDVQQGEwJVUzEiMCAGA1UE
-ChMZR29vZ2xlIFRydXN0IFNlcnZpY2VzIExMQzEUMBIGA1UEAxMLR1RTIFJvb3QgUjMwdjAQBgcq
-hkjOPQIBBgUrgQQAIgNiAAQfTzOHMymKoYTey8chWEGJ6ladK0uFxh1MJ7x/JlFyb+Kf1qPKzEUU
-Rout736GjOyxfi//qXGdGIRFBEFVbivqJn+7kAHjSxm65FSWRQmx1WyRRK2EE46ajA2ADDL24Cej
-QjBAMA4GA1UdDwEB/wQEAwIBBjAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTB8Sa6oC2uhYHP
-0/EqEr24Cmf9vDAKBggqhkjOPQQDAwNpADBmAjEAgFukfCPAlaUs3L6JbyO5o91lAFJekazInXJ0
-glMLfalAvWhgxeG4VDvBNhcl2MG9AjEAnjWSdIUlUfUk7GRSJFClH9voy8l27OyCbvWFGFPouOOa
-KaqW04MjyaR7YbPMAuhd
------END CERTIFICATE-----
-
-GTS Root R4
-===========
------BEGIN CERTIFICATE-----
-MIICCjCCAZGgAwIBAgIQbkepyIuUtui7OyrYorLBmTAKBggqhkjOPQQDAzBHMQswCQYDVQQGEwJV
-UzEiMCAGA1UEChMZR29vZ2xlIFRydXN0IFNlcnZpY2VzIExMQzEUMBIGA1UEAxMLR1RTIFJvb3Qg
-UjQwHhcNMTYwNjIyMDAwMDAwWhcNMzYwNjIyMDAwMDAwWjBHMQswCQYDVQQGEwJVUzEiMCAGA1UE
-ChMZR29vZ2xlIFRydXN0IFNlcnZpY2VzIExMQzEUMBIGA1UEAxMLR1RTIFJvb3QgUjQwdjAQBgcq
-hkjOPQIBBgUrgQQAIgNiAATzdHOnaItgrkO4NcWBMHtLSZ37wWHO5t5GvWvVYRg1rkDdc/eJkTBa
-6zzuhXyiQHY7qca4R9gq55KRanPpsXI5nymfopjTX15YhmUPoYRlBtHci8nHc8iMai/lxKvRHYqj
-QjBAMA4GA1UdDwEB/wQEAwIBBjAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBSATNbrdP9JNqPV
-2Py1PsVq8JQdjDAKBggqhkjOPQQDAwNnADBkAjBqUFJ0CMRw3J5QdCHojXohw0+WbhXRIjVhLfoI
-N+4Zba3bssx9BzT1YBkstTTZbyACMANxsbqjYAuG7ZoIapVon+Kz4ZNkfF6Tpt95LY2F45TPI11x
-zPKwTdb+mciUqXWi4w==
------END CERTIFICATE-----
-
-UCA Global G2 Root
-==================
------BEGIN CERTIFICATE-----
-MIIFRjCCAy6gAwIBAgIQXd+x2lqj7V2+WmUgZQOQ7zANBgkqhkiG9w0BAQsFADA9MQswCQYDVQQG
-EwJDTjERMA8GA1UECgwIVW5pVHJ1c3QxGzAZBgNVBAMMElVDQSBHbG9iYWwgRzIgUm9vdDAeFw0x
-NjAzMTEwMDAwMDBaFw00MDEyMzEwMDAwMDBaMD0xCzAJBgNVBAYTAkNOMREwDwYDVQQKDAhVbmlU
-cnVzdDEbMBkGA1UEAwwSVUNBIEdsb2JhbCBHMiBSb290MIICIjANBgkqhkiG9w0BAQEFAAOCAg8A
-MIICCgKCAgEAxeYrb3zvJgUno4Ek2m/LAfmZmqkywiKHYUGRO8vDaBsGxUypK8FnFyIdK+35KYmT
-oni9kmugow2ifsqTs6bRjDXVdfkX9s9FxeV67HeToI8jrg4aA3++1NDtLnurRiNb/yzmVHqUwCoV
-8MmNsHo7JOHXaOIxPAYzRrZUEaalLyJUKlgNAQLx+hVRZ2zA+te2G3/RVogvGjqNO7uCEeBHANBS
-h6v7hn4PJGtAnTRnvI3HLYZveT6OqTwXS3+wmeOwcWDcC/Vkw85DvG1xudLeJ1uK6NjGruFZfc8o
-LTW4lVYa8bJYS7cSN8h8s+1LgOGN+jIjtm+3SJUIsUROhYw6AlQgL9+/V087OpAh18EmNVQg7Mc/
-R+zvWr9LesGtOxdQXGLYD0tK3Cv6brxzks3sx1DoQZbXqX5t2Okdj4q1uViSukqSKwxW/YDrCPBe
-KW4bHAyvj5OJrdu9o54hyokZ7N+1wxrrFv54NkzWbtA+FxyQF2smuvt6L78RHBgOLXMDj6DlNaBa
-4kx1HXHhOThTeEDMg5PXCp6dW4+K5OXgSORIskfNTip1KnvyIvbJvgmRlld6iIis7nCs+dwp4wwc
-OxJORNanTrAmyPPZGpeRaOrvjUYG0lZFWJo8DA+DuAUlwznPO6Q0ibd5Ei9Hxeepl2n8pndntd97
-8XplFeRhVmUCAwEAAaNCMEAwDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0O
-BBYEFIHEjMz15DD/pQwIX4wVZyF0Ad/fMA0GCSqGSIb3DQEBCwUAA4ICAQATZSL1jiutROTL/7lo
-5sOASD0Ee/ojL3rtNtqyzm325p7lX1iPyzcyochltq44PTUbPrw7tgTQvPlJ9Zv3hcU2tsu8+Mg5
-1eRfB70VVJd0ysrtT7q6ZHafgbiERUlMjW+i67HM0cOU2kTC5uLqGOiiHycFutfl1qnN3e92mI0A
-Ds0b+gO3joBYDic/UvuUospeZcnWhNq5NXHzJsBPd+aBJ9J3O5oUb3n09tDh05S60FdRvScFDcH9
-yBIw7m+NESsIndTUv4BFFJqIRNow6rSn4+7vW4LVPtateJLbXDzz2K36uGt/xDYotgIVilQsnLAX
-c47QN6MUPJiVAAwpBVueSUmxX8fjy88nZY41F7dXyDDZQVu5FLbowg+UMaeUmMxq67XhJ/UQqAHo
-jhJi6IjMtX9Gl8CbEGY4GjZGXyJoPd/JxhMnq1MGrKI8hgZlb7F+sSlEmqO6SWkoaY/X5V+tBIZk
-bxqgDMUIYs6Ao9Dz7GjevjPHF1t/gMRMTLGmhIrDO7gJzRSBuhjjVFc2/tsvfEehOjPI+Vg7RE+x
-ygKJBJYoaMVLuCaJu9YzL1DV/pqJuhgyklTGW+Cd+V7lDSKb9triyCGyYiGqhkCyLmTTX8jjfhFn
-RR8F/uOi77Oos/N9j/gMHyIfLXC0uAE0djAA5SN4p1bXUB+K+wb1whnw0A==
------END CERTIFICATE-----
-
-UCA Extended Validation Root
-============================
------BEGIN CERTIFICATE-----
-MIIFWjCCA0KgAwIBAgIQT9Irj/VkyDOeTzRYZiNwYDANBgkqhkiG9w0BAQsFADBHMQswCQYDVQQG
-EwJDTjERMA8GA1UECgwIVW5pVHJ1c3QxJTAjBgNVBAMMHFVDQSBFeHRlbmRlZCBWYWxpZGF0aW9u
-IFJvb3QwHhcNMTUwMzEzMDAwMDAwWhcNMzgxMjMxMDAwMDAwWjBHMQswCQYDVQQGEwJDTjERMA8G
-A1UECgwIVW5pVHJ1c3QxJTAjBgNVBAMMHFVDQSBFeHRlbmRlZCBWYWxpZGF0aW9uIFJvb3QwggIi
-MA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCpCQcoEwKwmeBkqh5DFnpzsZGgdT6o+uM4AHrs
-iWogD4vFsJszA1qGxliG1cGFu0/GnEBNyr7uaZa4rYEwmnySBesFK5pI0Lh2PpbIILvSsPGP2KxF
-Rv+qZ2C0d35qHzwaUnoEPQc8hQ2E0B92CvdqFN9y4zR8V05WAT558aopO2z6+I9tTcg1367r3CTu
-eUWnhbYFiN6IXSV8l2RnCdm/WhUFhvMJHuxYMjMR83dksHYf5BA1FxvyDrFspCqjc/wJHx4yGVMR
-59mzLC52LqGj3n5qiAno8geK+LLNEOfic0CTuwjRP+H8C5SzJe98ptfRr5//lpr1kXuYC3fUfugH
-0mK1lTnj8/FtDw5lhIpjVMWAtuCeS31HJqcBCF3RiJ7XwzJE+oJKCmhUfzhTA8ykADNkUVkLo4KR
-el7sFsLzKuZi2irbWWIQJUoqgQtHB0MGcIfS+pMRKXpITeuUx3BNr2fVUbGAIAEBtHoIppB/TuDv
-B0GHr2qlXov7z1CymlSvw4m6WC31MJixNnI5fkkE/SmnTHnkBVfblLkWU41Gsx2VYVdWf6/wFlth
-WG82UBEL2KwrlRYaDh8IzTY0ZRBiZtWAXxQgXy0MoHgKaNYs1+lvK9JKBZP8nm9rZ/+I8U6laUpS
-NwXqxhaN0sSZ0YIrO7o1dfdRUVjzyAfd5LQDfwIDAQABo0IwQDAdBgNVHQ4EFgQU2XQ65DA9DfcS
-3H5aBZ8eNJr34RQwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAYYwDQYJKoZIhvcNAQEL
-BQADggIBADaNl8xCFWQpN5smLNb7rhVpLGsaGvdftvkHTFnq88nIua7Mui563MD1sC3AO6+fcAUR
-ap8lTwEpcOPlDOHqWnzcSbvBHiqB9RZLcpHIojG5qtr8nR/zXUACE/xOHAbKsxSQVBcZEhrxH9cM
-aVr2cXj0lH2RC47skFSOvG+hTKv8dGT9cZr4QQehzZHkPJrgmzI5c6sq1WnIeJEmMX3ixzDx/BR4
-dxIOE/TdFpS/S2d7cFOFyrC78zhNLJA5wA3CXWvp4uXViI3WLL+rG761KIcSF3Ru/H38j9CHJrAb
-+7lsq+KePRXBOy5nAliRn+/4Qh8st2j1da3Ptfb/EX3C8CSlrdP6oDyp+l3cpaDvRKS+1ujl5BOW
-F3sGPjLtx7dCvHaj2GU4Kzg1USEODm8uNBNA4StnDG1KQTAYI1oyVZnJF+A83vbsea0rWBmirSwi
-GpWOvpaQXUJXxPkUAzUrHC1RVwinOt4/5Mi0A3PCwSaAuwtCH60NryZy2sy+s6ODWA2CxR9GUeOc
-GMyNm43sSet1UNWMKFnKdDTajAshqx7qG+XH/RU+wBeq+yNuJkbL+vmxcmtpzyKEC2IPrNkZAJSi
-djzULZrtBJ4tBmIQN1IchXIbJ+XMxjHsN+xjWZsLHXbMfjKaiJUINlK73nZfdklJrX+9ZSCyycEr
-dhh2n1ax
------END CERTIFICATE-----
-
-Certigna Root CA
-================
------BEGIN CERTIFICATE-----
-MIIGWzCCBEOgAwIBAgIRAMrpG4nxVQMNo+ZBbcTjpuEwDQYJKoZIhvcNAQELBQAwWjELMAkGA1UE
-BhMCRlIxEjAQBgNVBAoMCURoaW15b3RpczEcMBoGA1UECwwTMDAwMiA0ODE0NjMwODEwMDAzNjEZ
-MBcGA1UEAwwQQ2VydGlnbmEgUm9vdCBDQTAeFw0xMzEwMDEwODMyMjdaFw0zMzEwMDEwODMyMjda
-MFoxCzAJBgNVBAYTAkZSMRIwEAYDVQQKDAlEaGlteW90aXMxHDAaBgNVBAsMEzAwMDIgNDgxNDYz
-MDgxMDAwMzYxGTAXBgNVBAMMEENlcnRpZ25hIFJvb3QgQ0EwggIiMA0GCSqGSIb3DQEBAQUAA4IC
-DwAwggIKAoICAQDNGDllGlmx6mQWDoyUJJV8g9PFOSbcDO8WV43X2KyjQn+Cyu3NW9sOty3tRQgX
-stmzy9YXUnIo245Onoq2C/mehJpNdt4iKVzSs9IGPjA5qXSjklYcoW9MCiBtnyN6tMbaLOQdLNyz
-KNAT8kxOAkmhVECe5uUFoC2EyP+YbNDrihqECB63aCPuI9Vwzm1RaRDuoXrC0SIxwoKF0vJVdlB8
-JXrJhFwLrN1CTivngqIkicuQstDuI7pmTLtipPlTWmR7fJj6o0ieD5Wupxj0auwuA0Wv8HT4Ks16
-XdG+RCYyKfHx9WzMfgIhC59vpD++nVPiz32pLHxYGpfhPTc3GGYo0kDFUYqMwy3OU4gkWGQwFsWq
-4NYKpkDfePb1BHxpE4S80dGnBs8B92jAqFe7OmGtBIyT46388NtEbVncSVmurJqZNjBBe3YzIoej
-wpKGbvlw7q6Hh5UbxHq9MfPU0uWZ/75I7HX1eBYdpnDBfzwboZL7z8g81sWTCo/1VTp2lc5ZmIoJ
-lXcymoO6LAQ6l73UL77XbJuiyn1tJslV1c/DeVIICZkHJC1kJWumIWmbat10TWuXekG9qxf5kBdI
-jzb5LdXF2+6qhUVB+s06RbFo5jZMm5BX7CO5hwjCxAnxl4YqKE3idMDaxIzb3+KhF1nOJFl0Mdp/
-/TBt2dzhauH8XwIDAQABo4IBGjCCARYwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYw
-HQYDVR0OBBYEFBiHVuBud+4kNTxOc5of1uHieX4rMB8GA1UdIwQYMBaAFBiHVuBud+4kNTxOc5of
-1uHieX4rMEQGA1UdIAQ9MDswOQYEVR0gADAxMC8GCCsGAQUFBwIBFiNodHRwczovL3d3d3cuY2Vy
-dGlnbmEuZnIvYXV0b3JpdGVzLzBtBgNVHR8EZjBkMC+gLaArhilodHRwOi8vY3JsLmNlcnRpZ25h
-LmZyL2NlcnRpZ25hcm9vdGNhLmNybDAxoC+gLYYraHR0cDovL2NybC5kaGlteW90aXMuY29tL2Nl
-cnRpZ25hcm9vdGNhLmNybDANBgkqhkiG9w0BAQsFAAOCAgEAlLieT/DjlQgi581oQfccVdV8AOIt
-OoldaDgvUSILSo3L6btdPrtcPbEo/uRTVRPPoZAbAh1fZkYJMyjhDSSXcNMQH+pkV5a7XdrnxIxP
-TGRGHVyH41neQtGbqH6mid2PHMkwgu07nM3A6RngatgCdTer9zQoKJHyBApPNeNgJgH60BGM+RFq
-7q89w1DTj18zeTyGqHNFkIwgtnJzFyO+B2XleJINugHA64wcZr+shncBlA2c5uk5jR+mUYyZDDl3
-4bSb+hxnV29qao6pK0xXeXpXIs/NX2NGjVxZOob4Mkdio2cNGJHc+6Zr9UhhcyNZjgKnvETq9Emd
-8VRY+WCv2hikLyhF3HqgiIZd8zvn/yk1gPxkQ5Tm4xxvvq0OKmOZK8l+hfZx6AYDlf7ej0gcWtSS
-6Cvu5zHbugRqh5jnxV/vfaci9wHYTfmJ0A6aBVmknpjZbyvKcL5kwlWj9Omvw5Ip3IgWJJk8jSaY
-tlu3zM63Nwf9JtmYhST/WSMDmu2dnajkXjjO11INb9I/bbEFa0nOipFGc/T2L/Coc3cOZayhjWZS
-aX5LaAzHHjcng6WMxwLkFM1JAbBzs/3GkDpv0mztO+7skb6iQ12LAEpmJURw3kAP+HwV96LOPNde
-E4yBFxgX0b3xdxA61GU5wSesVywlVP+i2k+KYTlerj1KjL0=
------END CERTIFICATE-----
diff --git a/tools/depends/target/p8-platform/0001-fix-c++17-support.patch b/tools/depends/target/p8-platform/0001-fix-c++17-support.patch
new file mode 100644
index 0000000000..25fbe483fe
--- /dev/null
+++ b/tools/depends/target/p8-platform/0001-fix-c++17-support.patch
@@ -0,0 +1,22 @@
+diff --git a/src/util/StringUtils.cpp b/src/util/StringUtils.cpp
+index 510e2d5..3d25ba7 100644
+--- a/src/util/StringUtils.cpp
++++ b/src/util/StringUtils.cpp
+@@ -453,7 +453,7 @@ static int isspace_c(char c)
+
+ std::string& StringUtils::TrimLeft(std::string &str)
+ {
+- str.erase(str.begin(), ::find_if(str.begin(), str.end(), ::not1(::ptr_fun(isspace_c))));
++ str.erase(str.begin(), ::find_if(str.begin(), str.end(), [](char s) { return isspace_c(s) == 0; }));
+ return str;
+ }
+
+@@ -466,7 +466,7 @@ std::string& StringUtils::TrimLeft(std::string &str, const char* const chars)
+
+ std::string& StringUtils::TrimRight(std::string &str)
+ {
+- str.erase(::find_if(str.rbegin(), str.rend(), ::not1(::ptr_fun(isspace_c))).base(), str.end());
++ str.erase(::find_if(str.rbegin(), str.rend(), [](char s) { return isspace_c(s) == 0; }).base(), str.end());
+ return str;
+ }
+
diff --git a/tools/depends/target/p8-platform/Makefile b/tools/depends/target/p8-platform/Makefile
index 257f7e0561..a6dd9b57f3 100644
--- a/tools/depends/target/p8-platform/Makefile
+++ b/tools/depends/target/p8-platform/Makefile
@@ -1,22 +1,23 @@
include ../../Makefile.include
-DEPS= ../../Makefile.include Makefile
+DEPS = ../../Makefile.include Makefile 0001-fix-c++17-support.patch ../../download-files.include
# lib name, version
LIBNAME=p8-platform
VERSION=2.1.0.1
SOURCE=$(LIBNAME)-$(VERSION)
ARCHIVE=$(SOURCE).tar.gz
+SHA512=10f8e3ca8ea7a48923a4cc57d47015b56b4bdbf78997ba77abd9fc2f929198fda16dfb869ba69eec393ab4b635be916c3ed9a07d6989bf8265aa055794e84bf7
+include ../../download-files.include
LIBDYLIB=$(PLATFORM)/build/lib$(LIBNAME).a
all: .installed-$(PLATFORM)
-$(TARBALLS_LOCATION)/$(ARCHIVE):
- cd $(TARBALLS_LOCATION); $(RETRIEVE_TOOL) $(RETRIEVE_TOOL_FLAGS) $(BASE_URL)/$(ARCHIVE)
-$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE) $(DEPS)
+$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE).$(HASH_TYPE) $(DEPS)
rm -rf $(PLATFORM); mkdir -p $(PLATFORM)/build
cd $(PLATFORM); $(ARCHIVE_TOOL) $(ARCHIVE_TOOL_FLAGS) $(TARBALLS_LOCATION)/$(ARCHIVE)
+ cd $(PLATFORM); patch -p1 -i ../0001-fix-c++17-support.patch
cd $(PLATFORM)/build; $(CMAKE) -DBUILD_SHARED_LIBS=0 -DCMAKE_INSTALL_LIBDIR=$(PREFIX)/lib ..
$(LIBDYLIB): $(PLATFORM)
@@ -31,4 +32,3 @@ clean:
distclean::
rm -rf $(PLATFORM) .installed-$(PLATFORM)
-
diff --git a/tools/depends/target/pcre/001-all-cmakeconfig.patch b/tools/depends/target/pcre/001-all-cmakeconfig.patch
new file mode 100644
index 0000000000..5babbdf597
--- /dev/null
+++ b/tools/depends/target/pcre/001-all-cmakeconfig.patch
@@ -0,0 +1,43 @@
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -934,7 +934,7 @@
+ # Installation
+ SET(CMAKE_INSTALL_ALWAYS 1)
+
+-INSTALL(TARGETS ${targets}
++INSTALL(TARGETS ${targets} EXPORT pcre
+ RUNTIME DESTINATION bin
+ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
+ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR})
+@@ -941,6 +941,27 @@
+
+ INSTALL(FILES ${PCRE_HEADERS} ${PCREPOSIX_HEADERS} DESTINATION include)
+
++include(CMakePackageConfigHelpers)
++write_basic_package_version_file(
++ ${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}-config-version.cmake
++ VERSION ${PACKAGE_VERSION}
++ COMPATIBILITY AnyNewerVersion
++)
++
++install(EXPORT pcre
++ NAMESPACE
++ ${PROJECT_NAME}::
++ DESTINATION
++ lib/cmake/${PROJECT_NAME}
++)
++
++install(FILES
++ ${CMAKE_CURRENT_SOURCE_DIR}/cmake/${PROJECT_NAME}-config.cmake
++ ${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}-config-version.cmake
++ DESTINATION
++ lib/cmake/${PROJECT_NAME}
++)
++
+ FILE(GLOB html ${PROJECT_SOURCE_DIR}/doc/html/*.html)
+ FILE(GLOB man1 ${PROJECT_SOURCE_DIR}/doc/*.1)
+ FILE(GLOB man3 ${PROJECT_SOURCE_DIR}/doc/*.3)
+--- /dev/null
++++ b/cmake/PCRE-config.cmake
+@@ -0,0 +1 @@
++include(${CMAKE_CURRENT_LIST_DIR}/pcre.cmake)
diff --git a/tools/depends/target/pcre/002-all-enable_docs_pc.patch b/tools/depends/target/pcre/002-all-enable_docs_pc.patch
new file mode 100644
index 0000000000..4848e2c783
--- /dev/null
+++ b/tools/depends/target/pcre/002-all-enable_docs_pc.patch
@@ -0,0 +1,21 @@
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -980,14 +980,18 @@
+ SET(man3 ${man3_new})
+ ENDIF(PCRE_BUILD_PCRECPP)
+
++if(ENABLE_DOCS)
+ INSTALL(FILES ${man1} DESTINATION man/man1)
+ INSTALL(FILES ${man3} DESTINATION man/man3)
+ INSTALL(FILES ${html} DESTINATION share/doc/pcre/html)
++endif()
++if(ENABLE_PKGCONFIG)
+ INSTALL(FILES ${pc} DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig)
+ INSTALL(FILES "${CMAKE_CURRENT_BINARY_DIR}/pcre-config"
+ DESTINATION bin
+ # Set 0755 permissions
+ PERMISSIONS OWNER_WRITE OWNER_READ OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE)
++endif()
+
+ IF(MSVC AND INSTALL_MSVC_PDB)
+ INSTALL(FILES ${PROJECT_BINARY_DIR}/pcre.pdb
diff --git a/tools/depends/target/pcre/003-all-postfix.patch b/tools/depends/target/pcre/003-all-postfix.patch
new file mode 100644
index 0000000000..bfa8ce344d
--- /dev/null
+++ b/tools/depends/target/pcre/003-all-postfix.patch
@@ -0,0 +1,13 @@
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -661,9 +661,7 @@
+ SET(CMAKE_INCLUDE_CURRENT_DIR 1)
+ # needed to make sure to not link debug libs
+ # against release libs and vice versa
+-IF(WIN32)
+- SET(CMAKE_DEBUG_POSTFIX "d")
+-ENDIF(WIN32)
++SET(CMAKE_DEBUG_POSTFIX "d")
+
+ SET(targets)
+
diff --git a/tools/depends/target/pcre/004-win-pdb.patch b/tools/depends/target/pcre/004-win-pdb.patch
new file mode 100644
index 0000000000..2815ca2559
--- /dev/null
+++ b/tools/depends/target/pcre/004-win-pdb.patch
@@ -0,0 +1,21 @@
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -969,12 +969,14 @@
+ PERMISSIONS OWNER_WRITE OWNER_READ OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE)
+
+ IF(MSVC AND INSTALL_MSVC_PDB)
+- INSTALL(FILES ${PROJECT_BINARY_DIR}/pcre.pdb
+- ${PROJECT_BINARY_DIR}/pcreposix.pdb
++ INSTALL(FILES ${PROJECT_BINARY_DIR}/$<CONFIG>/pcre.pdb
++ ${PROJECT_BINARY_DIR}/$<CONFIG>/pcrecpp.pdb
++ ${PROJECT_BINARY_DIR}/$<CONFIG>/pcreposix.pdb
+ DESTINATION bin
+ CONFIGURATIONS RelWithDebInfo)
+- INSTALL(FILES ${PROJECT_BINARY_DIR}/pcred.pdb
+- ${PROJECT_BINARY_DIR}/pcreposixd.pdb
++ INSTALL(FILES ${PROJECT_BINARY_DIR}/$<CONFIG>/pcred.pdb
++ ${PROJECT_BINARY_DIR}/$<CONFIG>/pcrecppd.pdb
++ ${PROJECT_BINARY_DIR}/$<CONFIG>/pcreposixd.pdb
+ DESTINATION bin
+ CONFIGURATIONS Debug)
+ ENDIF(MSVC AND INSTALL_MSVC_PDB)
diff --git a/tools/depends/target/pcre/Makefile b/tools/depends/target/pcre/Makefile
index 8cd5323746..26fc932852 100644
--- a/tools/depends/target/pcre/Makefile
+++ b/tools/depends/target/pcre/Makefile
@@ -1,44 +1,58 @@
-include ../../Makefile.include
-DEPS= ../../Makefile.include Makefile tvos-bitcode-fix.patch jit_aarch64.patch ios-clear_cache.patch
-
-# lib name, version
-LIBNAME=pcre
-VERSION=8.42
-SOURCE=$(LIBNAME)-$(VERSION)
-ARCHIVE=$(SOURCE).tar.gz
+include ../../Makefile.include PCRE-VERSION ../../download-files.include
+DEPS = ../../Makefile.include Makefile PCRE-VERSION ../../download-files.include \
+ 001-all-cmakeconfig.patch \
+ 002-all-enable_docs_pc.patch \
+ 003-all-postfix.patch \
+ 004-win-pdb.patch \
+ jit_aarch64.patch \
+ ios-clear_cache.patch \
+ tvos-bitcode-fix.patch
# configuration settings
-CONFIGURE=cp -f $(CONFIG_SUB) $(CONFIG_GUESS) .; ./configure --prefix=$(PREFIX) \
- --disable-shared --disable-stack-for-recursion \
- --enable-pcre8 --disable-pcre16 --disable-pcre32 \
- --enable-jit --enable-utf --enable-unicode-properties \
- --enable-newline-is-anycrlf
-
-
-LIBDYLIB=$(PLATFORM)/.libs/lib$(LIBNAME).a
+CMAKE_OPTIONS=-DPCRE_NEWLINE=ANYCRLF \
+ -DPCRE_NO_RECURSE=ON \
+ -DPCRE_MATCH_LIMIT_RECURSION=1500 \
+ -DPCRE_SUPPORT_JIT=ON \
+ -DPCRE_SUPPORT_PCREGREP_JIT=ON \
+ -DPCRE_SUPPORT_UTF=ON \
+ -DPCRE_SUPPORT_UNICODE_PROPERTIES=ON \
+ -DPCRE_SUPPORT_LIBZ=OFF \
+ -DPCRE_SUPPORT_LIBBZ2=OFF \
+ -DPCRE_BUILD_PCREGREP=OFF \
+ -DPCRE_BUILD_TESTS=OFF \
+ -DCMAKE_BUILD_TYPE=Release
+
+ifeq ($(OS),android)
+ # CMake CheckFunctionExists incorrectly detects strtoq for android
+ CMAKE_OPTIONS+= -DHAVE_STRTOQ=0
+endif
+
+LIBDYLIB=$(PLATFORM)/build/$(BYPRODUCT)
all: .installed-$(PLATFORM)
-$(TARBALLS_LOCATION)/$(ARCHIVE):
- cd $(TARBALLS_LOCATION); $(RETRIEVE_TOOL) $(RETRIEVE_TOOL_FLAGS) $(BASE_URL)/$(ARCHIVE)
-
-$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE) $(DEPS)
- rm -rf $(PLATFORM)/*; mkdir -p $(PLATFORM)
+$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE).$(HASH_TYPE) $(DEPS)
+ rm -rf $(PLATFORM); mkdir -p $(PLATFORM)
cd $(PLATFORM); $(ARCHIVE_TOOL) $(ARCHIVE_TOOL_FLAGS) $(TARBALLS_LOCATION)/$(ARCHIVE)
+ cd $(PLATFORM); mkdir -p build
+ cd $(PLATFORM); patch -p1 -i ../001-all-cmakeconfig.patch
+ cd $(PLATFORM); patch -p1 -i ../002-all-enable_docs_pc.patch
+ cd $(PLATFORM); patch -p1 -i ../003-all-postfix.patch
+ cd $(PLATFORM); patch -p1 -i ../004-win-pdb.patch
cd $(PLATFORM); patch -p1 -i ../tvos-bitcode-fix.patch
cd $(PLATFORM); patch -p1 -i ../jit_aarch64.patch
cd $(PLATFORM); patch -p1 -i ../ios-clear_cache.patch
- cd $(PLATFORM); $(CONFIGURE)
+ cd $(PLATFORM)/build; $(CMAKE) $(CMAKE_OPTIONS) ..
$(LIBDYLIB): $(PLATFORM)
- $(MAKE) -C $(PLATFORM)
+ $(MAKE) -C $(PLATFORM)/build
.installed-$(PLATFORM): $(LIBDYLIB)
- $(MAKE) -C $(PLATFORM) install
+ $(MAKE) -C $(PLATFORM)/build install
touch $@
clean:
- $(MAKE) -C $(PLATFORM) clean
+ $(MAKE) -C $(PLATFORM)/build clean
rm -f .installed-$(PLATFORM)
distclean::
diff --git a/tools/depends/target/pcre/PCRE-VERSION b/tools/depends/target/pcre/PCRE-VERSION
new file mode 100644
index 0000000000..af533d2bc2
--- /dev/null
+++ b/tools/depends/target/pcre/PCRE-VERSION
@@ -0,0 +1,6 @@
+LIBNAME=pcre
+VERSION=8.45
+ARCHIVE=$(LIBNAME)-$(VERSION).tar.bz2
+SHA512=91bff52eed4a2dfc3f3bfdc9c672b88e7e2ffcf3c4b121540af8a4ae8c1ce05178430aa6b8000658b9bb7b4252239357250890e20ceb84b79cdfcde05154061a
+BYPRODUCT=libpcre.a
+BYPRODUCT_WIN=pcre.lib
diff --git a/tools/depends/target/pcre/ios-clear_cache.patch b/tools/depends/target/pcre/ios-clear_cache.patch
index 75d5683912..53d83c0990 100644
--- a/tools/depends/target/pcre/ios-clear_cache.patch
+++ b/tools/depends/target/pcre/ios-clear_cache.patch
@@ -1,6 +1,6 @@
--- a/sljit/sljitConfigInternal.h
+++ b/sljit/sljitConfigInternal.h
-@@ -275,12 +275,16 @@
+@@ -279,12 +279,16 @@
#define SLJIT_API_FUNC_ATTRIBUTE
#endif /* (defined SLJIT_CONFIG_STATIC && SLJIT_CONFIG_STATIC) */
diff --git a/tools/depends/target/pcre/jit_aarch64.patch b/tools/depends/target/pcre/jit_aarch64.patch
index f69f4a6fd9..ce7a90504c 100644
--- a/tools/depends/target/pcre/jit_aarch64.patch
+++ b/tools/depends/target/pcre/jit_aarch64.patch
@@ -1,6 +1,6 @@
--- a/sljit/sljitConfigInternal.h
+++ b/sljit/sljitConfigInternal.h
-@@ -316,7 +316,7 @@
+@@ -320,7 +320,7 @@
#define SLJIT_CACHE_FLUSH(from, to) \
__builtin___clear_cache((char*)from, (char*)to)
diff --git a/tools/depends/target/python3/Makefile b/tools/depends/target/python3/Makefile
index 7ac1928538..6d9859a4ef 100644
--- a/tools/depends/target/python3/Makefile
+++ b/tools/depends/target/python3/Makefile
@@ -1,81 +1,81 @@
-include ../../Makefile.include
-DEPS= ../../Makefile.include Makefile apple.patch crosscompile.patch android.patch \
- fix-datetime.patch modules.setup darwin_embedded.patch android-nl_langinfo.patch
+include ../../Makefile.include PYTHON3-VERSION ../../download-files.include
+DEPS = ../../Makefile.include Makefile PYTHON3-VERSION ../../download-files.include \
+ apple.patch \
+ crosscompile.patch \
+ android.patch \
+ darwin_embedded.patch \
+ modules.setup
-# lib name, version
-LIBNAME=Python
-VERSION=3.7.4
-SOURCE=$(LIBNAME)-$(VERSION)
-ARCHIVE=$(SOURCE).tar.xz
-BASE_URL=https://www.python.org/ftp/python/$(VERSION)
-
-ifeq ($(OS),osx)
+ifeq ($(findstring apple-darwin, $(HOST)), apple-darwin)
HOSTPLATFORM=_PYTHON_HOST_PLATFORM="darwin"
- LINK_ICONV=-framework CoreFoundation -liconv
+ LINK_ICONV=-liconv
+ ifeq ($(OS), darwin_embedded)
+ EXTRA_CONFIGURE=ac_cv_func_wait3=no ac_cv_func_wait4=no ac_cv_func_waitpid=no \
+ ac_cv_func_execv=no ac_cv_func_fexecv=no ac_cv_func_getentropy=no \
+ ac_cv_func_setpriority=no ac_cv_func_sendfile=no ac_cv_header_sched_h=no \
+ ac_cv_func_posix_spawn=no ac_cv_func_posix_spawnp=no \
+ ac_cv_func_forkpty=no ac_cv_lib_util_forkpty=no \
+ ac_cv_func_getgroups=no
+ endif
endif
-ifeq ($(OS),darwin_embedded)
- HOSTPLATFORM=_PYTHON_HOST_PLATFORM="darwin"
- LINK_ICONV=-framework CoreFoundation -liconv
+
+ifeq ($(OS), linux)
+ EXTRA_CONFIGURE=ac_cv_pthread=yes
endif
# configuration settings
CONFIGURE=./configure --prefix=$(PREFIX) \
- --disable-shared \
- --without-ensurepip \
- --disable-framework --with-system-expat --with-system-ffi --without-pymalloc --enable-ipv6
+ --disable-shared \
+ --without-ensurepip \
+ --disable-framework \
+ --without-pymalloc \
+ --enable-ipv6 \
+ $(EXTRA_CONFIGURE)
-LIBDYLIB=$(PLATFORM)/libpython3.7.a
-all: .installed-$(PLATFORM)
+LIBDYLIB=$(PLATFORM)/libpython$(PYTHON_VERSION).a
-$(TARBALLS_LOCATION)/$(ARCHIVE):
- cd $(TARBALLS_LOCATION); $(RETRIEVE_TOOL) $(RETRIEVE_TOOL_FLAGS) $(BASE_URL)/$(ARCHIVE)
+all: .installed-$(PLATFORM)
-$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE) $(DEPS)
+$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE).$(HASH_TYPE) $(DEPS)
rm -rf $(PLATFORM)/*; mkdir -p $(PLATFORM)
cd $(PLATFORM); $(ARCHIVE_TOOL) $(ARCHIVE_TOOL_FLAGS) $(TARBALLS_LOCATION)/$(ARCHIVE)
cd $(PLATFORM); patch -p1 -i ../crosscompile.patch
- cd $(PLATFORM); patch -p1 -i ../fix-datetime.patch
cd $(PLATFORM); patch -p1 -i ../android.patch
- cd $(PLATFORM); patch -p1 -i ../fix-ffi.patch
- cd $(PLATFORM); patch -p1 -i ../android-nl_langinfo.patch
cd $(PLATFORM); patch -p1 -i ../apple.patch
ifeq ($(OS),darwin_embedded)
cd $(PLATFORM); patch -p1 -i ../darwin_embedded.patch
endif
- cp modules.setup $(PLATFORM)/Modules/Setup.dist
+ cp modules.setup $(PLATFORM)/Modules/Setup
#Add -liconv as needed, and add the _scproxy module for darwin
# disable locale altogether for Android
ifeq ($(OS),android)
- cd $(PLATFORM); sed -ie 's|_locale _localemodule.c -lintl|#_locale _localemodule.c -lintl $(LINK_ICONV)|' Modules/Setup.dist
-else
- cd $(PLATFORM); sed -ie 's|_locale _localemodule.c -lintl|_locale _localemodule.c -lintl $(LINK_ICONV)|' Modules/Setup.dist
+ cd $(PLATFORM); sed -ie 's|_locale -DPy_BUILD_CORE_BUILTIN _localemodule.c -lintl \$$(LINK_ICONV)|#_locale -DPy_BUILD_CORE_BUILTIN _localemodule.c -lintl \$$(LINK_ICONV)|' Modules/Setup
endif
-ifeq ($(OS),osx)
- echo "_scproxy \$$(srcdir)/Modules/_scproxy.c -framework SystemConfiguration -framework CoreFoundation" >> $(PLATFORM)/Modules/Setup.dist
+ifeq ($(OS),linux)
+ # _posixshmem module requires librt for linux for SHM_OPEN/SHM_UNLINK
+ cd $(PLATFORM); sed -ie 's|# -lrt # _posixshmem|-lrt # _posixshmem|' Modules/Setup
endif
-
-ifeq ($(OS),android)
- cd $(PLATFORM); sed -ie 's|-framework CoreFoundation||' configure.ac
+ifeq ($(OS),osx)
+ cd $(PLATFORM); sed -ie 's|\$$(OSX_SCPROXY)|_scproxy \$$(srcdir)/Modules/_scproxy.c -framework SystemConfiguration -framework CoreFoundation|' Modules/Setup
endif
cd $(PLATFORM); $(AUTORECONF)
cd $(PLATFORM); $(CONFIGURE)
$(LIBDYLIB): $(PLATFORM)
- $(MAKE) -C $(PLATFORM) $(HOSTPLATFORM) PYTHON_FOR_BUILD=$(NATIVEPREFIX)/bin/python3 NATIVE_PGEN=$(NATIVEPREFIX)/bin/pgen CROSS_COMPILE_TARGET=yes libpython3.7.a
+ $(MAKE) -C $(PLATFORM) $(HOSTPLATFORM) PYTHON_FOR_BUILD=$(NATIVEPREFIX)/bin/python3 CROSS_COMPILE_TARGET=yes libpython$(PYTHON_VERSION).a
touch $@
.installed-$(PLATFORM): $(LIBDYLIB)
- $(MAKE) -C $(PLATFORM) $(HOSTPLATFORM) PYTHON_FOR_BUILD=$(NATIVEPREFIX)/bin/python3 NATIVE_PGEN=$(NATIVEPREFIX)/bin/pgen CROSS_COMPILE_TARGET=yes install
- # find $(PREFIX)/lib/python3.7 -type f -name "*.py" -delete
- find $(PREFIX)/lib/python3.7 -type f -name "*.pyc" -delete
+ $(MAKE) -C $(PLATFORM) $(HOSTPLATFORM) PYTHON_FOR_BUILD=$(NATIVEPREFIX)/bin/python3 CROSS_COMPILE_TARGET=yes install
+ find $(PREFIX)/lib/python$(PYTHON_VERSION) -type f -name "*.pyc" -delete
touch $(LIBDYLIB)
touch $@
clean:
- rm -rf $(PLATFORM) .installed-$(PLATFORM)
+ rm -rf .installed-$(PLATFORM)
distclean::
rm -rf $(PLATFORM) .installed-$(PLATFORM)
diff --git a/tools/depends/target/python3/PYTHON3-VERSION b/tools/depends/target/python3/PYTHON3-VERSION
new file mode 100644
index 0000000000..5ebe12a1ab
--- /dev/null
+++ b/tools/depends/target/python3/PYTHON3-VERSION
@@ -0,0 +1,5 @@
+LIBNAME=Python
+VERSION=3.9.14
+SOURCE=$(LIBNAME)-$(VERSION)
+ARCHIVE=$(SOURCE).tar.xz
+SHA512=691a7814cf6c7bee96d8dbb7c5c85cb11f2e999101e20491b99435cdec07c3bbd5ce43ad3d9c64f695383b79197884caa1965c4346e4525e23b09c686271e4ab
diff --git a/tools/depends/target/python3/android-nl_langinfo.patch b/tools/depends/target/python3/android-nl_langinfo.patch
deleted file mode 100644
index c51581f06a..0000000000
--- a/tools/depends/target/python3/android-nl_langinfo.patch
+++ /dev/null
@@ -1,60 +0,0 @@
---- a/Modules/_localemodule.c
-+++ b/Modules/_localemodule.c
-@@ -424,7 +424,7 @@
- }
- #endif
-
--#ifdef HAVE_LANGINFO_H
-+#if defined(HAVE_LANGINFO_H) && defined(HAVE_NL_LANGINFO)
- #define LANGINFO(X) {#X, X}
- static struct langinfo_constant{
- char* name;
-@@ -690,7 +690,7 @@
- #if defined(MS_WINDOWS)
- {"_getdefaultlocale", (PyCFunction) PyLocale_getdefaultlocale, METH_NOARGS},
- #endif
--#ifdef HAVE_LANGINFO_H
-+#if defined(HAVE_LANGINFO_H) && defined(HAVE_NL_LANGINFO)
- {"nl_langinfo", (PyCFunction) PyLocale_nl_langinfo,
- METH_VARARGS, nl_langinfo__doc__},
- #endif
-@@ -730,7 +730,7 @@
- PyInit__locale(void)
- {
- PyObject *m;
--#ifdef HAVE_LANGINFO_H
-+#if defined(HAVE_LANGINFO_H) && defined(HAVE_NL_LANGINFO)
- int i;
- #endif
-
-@@ -758,7 +758,7 @@
- }
- PyModule_AddObject(m, "Error", Error);
-
--#ifdef HAVE_LANGINFO_H
-+#if defined(HAVE_LANGINFO_H) && defined(HAVE_NL_LANGINFO)
- for (i = 0; langinfo_constants[i].name; i++) {
- PyModule_AddIntConstant(m, langinfo_constants[i].name,
- langinfo_constants[i].value);
---- a/Python/fileutils.c
-+++ b/Python/fileutils.c
-@@ -56,7 +56,7 @@
- has no console */
- if (cp != 0)
- return PyUnicode_FromFormat("cp%u", (unsigned int)cp);
--#elif defined(CODESET)
-+#elif defined(HAVE_NL_LANGINFO) && defined(CODESET)
- {
- char *codeset = nl_langinfo(CODESET);
- if (codeset != NULL && codeset[0] != 0)
---- a/configure.ac
-+++ b/configure.ac
-@@ -3554,7 +3554,7 @@
- if_nameindex \
- initgroups kill killpg lchown lockf linkat lstat lutimes mmap \
- memrchr mbrtowc mkdirat mkfifo \
-- mkfifoat mknod mknodat mktime mremap nice openat pathconf pause pipe2 plock poll \
-+ mkfifoat mknod mknodat mktime mremap nice nl_langinfo openat pathconf pause pipe2 plock poll \
- posix_fallocate posix_fadvise posix_spawn pread preadv preadv2 \
- pthread_init pthread_kill putenv pwrite pwritev pwritev2 readlink readlinkat readv realpath renameat \
- sem_open sem_timedwait sem_getvalue sem_unlink sendfile setegid seteuid \
diff --git a/tools/depends/target/python3/android.patch b/tools/depends/target/python3/android.patch
index 3b95042565..0d72053d84 100644
--- a/tools/depends/target/python3/android.patch
+++ b/tools/depends/target/python3/android.patch
@@ -1,17 +1,6 @@
---- a/Modules/pwdmodule.c
-+++ b/Modules/pwdmodule.c
-@@ -82,7 +82,7 @@
- #endif
- PyStructSequence_SET_ITEM(v, setIndex++, _PyLong_FromUid(p->pw_uid));
- PyStructSequence_SET_ITEM(v, setIndex++, _PyLong_FromGid(p->pw_gid));
--#if defined(HAVE_STRUCT_PASSWD_PW_GECOS)
-+#if defined(HAVE_STRUCT_PASSWD_PW_GECOS) && !defined(__ANDROID__)
- SETS(setIndex++, p->pw_gecos);
- #else
- SETS(setIndex++, "");
--- a/Modules/termios.c
+++ b/Modules/termios.c
-@@ -224,6 +224,7 @@
+@@ -239,6 +239,7 @@
Py_RETURN_NONE;
}
@@ -19,7 +8,7 @@
PyDoc_STRVAR(termios_tcdrain__doc__,
"tcdrain(fd) -> None\n\
\n\
-@@ -242,6 +243,7 @@
+@@ -257,6 +257,7 @@
Py_RETURN_NONE;
}
@@ -27,7 +16,7 @@
PyDoc_STRVAR(termios_tcflush__doc__,
"tcflush(fd, queue) -> None\n\
-@@ -295,8 +297,10 @@
+@@ -310,8 +310,10 @@
METH_VARARGS, termios_tcsetattr__doc__},
{"tcsendbreak", termios_tcsendbreak,
METH_VARARGS, termios_tcsendbreak__doc__},
diff --git a/tools/depends/target/python3/apple.patch b/tools/depends/target/python3/apple.patch
index d87826f708..b6e529f3d3 100644
--- a/tools/depends/target/python3/apple.patch
+++ b/tools/depends/target/python3/apple.patch
@@ -1,33 +1,39 @@
---- a/Modules/posixmodule.c
-+++ b/Modules/posixmodule.c
-@@ -113,6 +113,9 @@
- #include <sys/xattr.h>
- #endif
-
-+#if defined(__APPLE__) && defined(_POSIX_C_SOURCE)
-+#undef _POSIX_C_SOURCE
-+#endif
- #if defined(__FreeBSD__) || defined(__DragonFly__) || defined(__APPLE__)
- #ifdef HAVE_SYS_SOCKET_H
- #include <sys/socket.h>
--- a/configure.ac
+++ b/configure.ac
-@@ -2826,11 +2826,17 @@
- # pthread (first!) on Linux
- AC_SEARCH_LIBS(sem_init, pthread rt posix4)
-
-+OLD_LIBS=$LIBS
-+if test $ac_sys_system = darwin
-+then
-+ LIBS="$LIBS -framework CoreFoundation"
-+fi
-+
- # check if we need libintl for locale functions
- AC_CHECK_LIB(intl, textdomain,
- [AC_DEFINE(WITH_LIBINTL, 1,
- [Define to 1 if libintl is needed for locale functions.])
-- LIBS="-lintl $LIBS"])
-+ LIBS="-lintl $LIBS"], LIBS=$OLD_LIBS)
+@@ -400,6 +400,9 @@
+ *-*-cygwin*)
+ ac_sys_system=Cygwin
+ ;;
++ *-*-darwin*)
++ ac_sys_system=Darwin
++ ;;
+ *-*-vxworks*)
+ ac_sys_system=VxWorks
+ ;;
+@@ -449,6 +449,8 @@
+ *-*-cygwin*)
+ _host_cpu=
+ ;;
++ *-*-darwin*)
++ ;;
+ *-*-vxworks*)
+ _host_cpu=$host_cpu
+ ;;
+@@ -521,6 +521,8 @@
+ define_xopen_source=no;;
+ Darwin/@<:@[12]@:>@@<:@0-9@:>@.*)
+ define_xopen_source=no;;
++ Darwin/*)
++ define_xopen_source=no;;
+ # On AIX 4 and 5.1, mbstate_t is defined only when _XOPEN_SOURCE == 500 but
+ # used in wcsnrtombs() and mbsnrtowcs() even if _XOPEN_SOURCE is not defined
+ # or has another value. By not (re)defining it, the defaults come in place.
+@@ -2492,7 +2492,7 @@
+ return 1;
+ }
+ }
+- ]])],[ac_osx_32bit=yes],[ac_osx_32bit=no],[ac_osx_32bit=yes])
++ ]])],[ac_osx_32bit=yes],[ac_osx_32bit=no],[ac_osx_32bit=no])
- # checks for system dependent C++ extensions support
- case "$ac_sys_system" in
+ if test "${ac_osx_32bit}" = "yes"; then
+ case `/usr/bin/arch` in
diff --git a/tools/depends/target/python3/crosscompile.patch b/tools/depends/target/python3/crosscompile.patch
index 30668a8a7b..ac43131593 100644
--- a/tools/depends/target/python3/crosscompile.patch
+++ b/tools/depends/target/python3/crosscompile.patch
@@ -1,78 +1,6 @@
---- a/Makefile.pre.in
-+++ b/Makefile.pre.in
-@@ -38,7 +38,6 @@
- MAINCC= @MAINCC@
- LINKCC= @LINKCC@
- AR= @AR@
--READELF= @READELF@
- SOABI= @SOABI@
- LDVERSION= @LDVERSION@
- GITVERSION= @GITVERSION@
-@@ -295,7 +294,7 @@
- ##########################################################################
- # Parser
- PGEN= Parser/pgen$(EXE)
--
-+PGEN_FOR_BUILD=$(NATIVE_PGEN)
- POBJS= \
- Parser/acceler.o \
- Parser/grammar1.o \
-@@ -622,7 +621,7 @@
- $(PYTHON_FOR_BUILD) $(srcdir)/setup.py $$quiet build"; \
- $(RUNSHARED) CC='$(CC)' LDSHARED='$(BLDSHARED)' OPT='$(OPT)' \
- _TCLTK_INCLUDES='$(TCLTK_INCLUDES)' _TCLTK_LIBS='$(TCLTK_LIBS)' \
-- $(PYTHON_FOR_BUILD) $(srcdir)/setup.py $$quiet build
-+ PYTHONXCPREFIX='$(DESTDIR)$(prefix)' $(PYTHON_FOR_BUILD) $(srcdir)/setup.py $$quiet build
-
-
- # Build static library
-@@ -1526,11 +1525,13 @@
- # Install the dynamically loadable modules
- # This goes into $(exec_prefix)
- sharedinstall: sharedmods
-+ CC='$(CC)' LDSHARED='$(BLDSHARED)' OPT='$(OPT)' \
- $(RUNSHARED) $(PYTHON_FOR_BUILD) $(srcdir)/setup.py install \
-+ --skip-build \
- --prefix=$(prefix) \
-- --install-scripts=$(BINDIR) \
-- --install-platlib=$(DESTSHARED) \
-- --root=$(DESTDIR)/
-+ --install-scripts=$(DESTDIR)$(BINDIR) \
-+ --install-platlib=$(DESTDIR)$(DESTSHARED) \
-+ --root=/
- -rm $(DESTDIR)$(DESTSHARED)/_sysconfigdata_$(ABIFLAGS)_$(MACHDEP)_$(MULTIARCH).py
- -rm -r $(DESTDIR)$(DESTSHARED)/__pycache__
-
--- a/configure.ac
+++ b/configure.ac
-@@ -379,10 +379,12 @@
- *-*-cygwin*)
- ac_sys_system=Cygwin
- ;;
-+ *-*-darwin*)
-+ ac_sys_system=darwin
-+ ;;
- *)
- # for now, limit cross builds to known configurations
- MACHDEP="unknown"
-- AC_MSG_ERROR([cross build not supported for $host])
- esac
- ac_sys_release=
- else
-@@ -423,10 +425,11 @@
- *-*-cygwin*)
- _host_cpu=
- ;;
-+ *-*-darwin*)
-+ ;;
- *)
- # for now, limit cross builds to known configurations
- MACHDEP="unknown"
-- AC_MSG_ERROR([cross build not supported for $host])
- esac
- _PYTHON_HOST_PLATFORM="$MACHDEP${_host_cpu:+-$_host_cpu}"
- fi
-@@ -1200,16 +1203,6 @@
+@@ -1221,15 +1221,6 @@
ARFLAGS="rcs"
fi
@@ -85,36 +13,51 @@
- esac
-fi
-AC_SUBST(READELF)
--
+
case $MACHDEP in
- hp*|HP*)
+--- a/Makefile.pre.in
++++ b/Makefile.pre.in
+@@ -1695,10 +1695,11 @@
+ # This goes into $(exec_prefix)
+ sharedinstall: sharedmods
+ $(RUNSHARED) $(PYTHON_FOR_BUILD) $(srcdir)/setup.py install \
++ --skip-build \
+ --prefix=$(prefix) \
+- --install-scripts=$(BINDIR) \
+- --install-platlib=$(DESTSHARED) \
+- --root=$(DESTDIR)/
++ --install-scripts=$(DESTDIR)$(BINDIR) \
++ --install-platlib=$(DESTDIR)$(DESTSHARED) \
++ --root=/
+ -rm $(DESTDIR)$(DESTSHARED)/_sysconfigdata_$(ABIFLAGS)_$(MACHDEP)_$(MULTIARCH).py
+ -rm -r $(DESTDIR)$(DESTSHARED)/__pycache__
+
--- a/setup.py
+++ b/setup.py
-@@ -16,7 +16,7 @@
- from distutils.command.build_scripts import build_scripts
- from distutils.spawn import find_executable
+@@ -41,7 +41,7 @@
--cross_compiling = "_PYTHON_HOST_PLATFORM" in os.environ
-+cross_compiling = ("_PYTHON_HOST_PLATFORM" in os.environ) or ('CROSS_COMPILE_TARGET' in os.environ)
- # Set common compiler and linker flags derived from the Makefile,
- # reserved for building the interpreter and the stdlib modules.
-@@ -268,6 +268,7 @@
+ # Compile extensions used to test Python?
+-TEST_EXTENSIONS = True
++TEST_EXTENSIONS = False
- def build_extensions(self):
+ # This global variable is used to hold the list of modules to be disabled.
+ DISABLED_MODULE_LIST = []
+@@ -58,7 +58,7 @@
+ return sys.platform
-+ return
- # Detect which modules should be compiled
- missing = self.detect_modules()
-
-@@ -477,6 +478,9 @@
- # Don't try to load extensions for cross builds
- if cross_compiling:
-+ self.announce(
-+ 'WARNING: skipping import check for cross-compiled: "%s"' %
-+ ext.name)
- return
+-CROSS_COMPILING = ("_PYTHON_HOST_PLATFORM" in os.environ)
++CROSS_COMPILING = ("_PYTHON_HOST_PLATFORM" in os.environ) or ('CROSS_COMPILE_TARGET' in os.environ)
+ HOST_PLATFORM = get_platform()
+ MS_WINDOWS = (HOST_PLATFORM == 'win32')
+ CYGWIN = (HOST_PLATFORM == 'cygwin')
+@@ -445,6 +445,7 @@
+ self.compiler.set_executables(**args)
- loader = importlib.machinery.ExtensionFileLoader(ext.name, ext_filename)
+ def build_extensions(self):
++ return
+ self.set_srcdir()
+ self.set_compiler_executables()
+ self.configure_compiler()
diff --git a/tools/depends/target/python3/darwin_embedded.patch b/tools/depends/target/python3/darwin_embedded.patch
index 094e7f112e..92c4f2d043 100644
--- a/tools/depends/target/python3/darwin_embedded.patch
+++ b/tools/depends/target/python3/darwin_embedded.patch
@@ -1,6 +1,6 @@
--- a/Lib/os.py
+++ b/Lib/os.py
-@@ -602,6 +602,7 @@
+@@ -605,6 +605,7 @@
fullname = path.join(dir, file)
try:
exec_func(fullname, *argrest)
@@ -10,16 +10,7 @@
except OSError as e:
--- a/Lib/platform.py
+++ b/Lib/platform.py
-@@ -781,7 +781,7 @@
-
- """ Interface to the system's uname command.
- """
-- if sys.platform in ('dos', 'win32', 'win16'):
-+ if sys.platform in ('dos', 'win32', 'win16', 'darwin'):
- # XXX Others too ?
- return default
- try:
-@@ -804,7 +804,7 @@
+@@ -615,7 +615,7 @@
default in case the command should fail.
"""
@@ -27,10 +18,19 @@
+ if sys.platform in ('dos', 'win32', 'win16', 'darwin'):
# XXX Others too ?
return default
- target = _follow_symlinks(target)
+
--- a/Lib/subprocess.py
+++ b/Lib/subprocess.py
-@@ -851,6 +851,7 @@
+@@ -762,6 +762,8 @@
+ pass_fds=(), *, user=None, group=None, extra_groups=None,
+ encoding=None, errors=None, text=None, umask=-1):
+ """Create new Popen instance."""
++ raise RuntimeError("Subprocesses are not supported on this platform.")
++
+ _cleanup()
+ # Held while anything is calling waitpid before returncode has been
+ # updated to prevent clobbering returncode if wait() or poll() are
+@@ -1046,6 +1048,7 @@
if not self._child_created:
# We didn't get to successfully create a child process.
return
@@ -38,7 +38,7 @@
if self.returncode is None:
# Not reading subprocess exit status creates a zombie process which
# is only destroyed at the parent python process exit
-@@ -1394,6 +1395,7 @@
+@@ -1679,6 +1682,7 @@
else:
args = list(args)
@@ -46,15 +46,15 @@
if shell:
# On Android the default shell is at '/system/bin/sh'.
unix_shell = ('/system/bin/sh' if
-@@ -1452,6 +1454,7 @@
- errpipe_read, errpipe_write,
- restore_signals, start_new_session, preexec_fn)
+@@ -1762,6 +1766,7 @@
+ gid, gids, uid, umask,
+ preexec_fn)
self._child_created = True
+ return
finally:
# be sure the FD is closed no matter what
os.close(errpipe_write)
-@@ -1480,6 +1483,7 @@
+@@ -1781,6 +1786,7 @@
finally:
# be sure the FD is closed no matter what
os.close(errpipe_read)
@@ -62,9 +62,27 @@
if errpipe_data:
try:
+@@ -1834,7 +1840,7 @@
+ else:
+ self.returncode = waitstatus_to_exitcode(sts)
+
+- def _internal_poll(self, _deadstate=None, _waitpid=os.waitpid,
++ def _internal_poll(self, _deadstate=None, _waitpid=None,
+ _WNOHANG=os.WNOHANG, _ECHILD=errno.ECHILD):
+ """Check if child process has terminated. Returns returncode
+ attribute.
+@@ -1843,6 +1849,8 @@
+ outside of the local scope (nor can any methods it calls).
+
+ """
++ if _waitpid is None:
++ _waitpid = os.waitpid
+ if self.returncode is None:
+ if not self._waitpid_lock.acquire(False):
+ # Something else is busy calling waitpid. Don't allow two
--- a/Lib/urllib/request.py
+++ b/Lib/urllib/request.py
-@@ -2580,11 +2580,9 @@
+@@ -2617,11 +2617,9 @@
if sys.platform == 'darwin':
@@ -77,7 +95,7 @@
def getproxies_macosx_sysconf():
"""Return a dictionary of scheme -> proxy server URL mappings.
-@@ -2592,7 +2590,7 @@
+@@ -2629,7 +2627,7 @@
This function uses the MacOSX framework SystemConfiguration
to fetch the proxy information.
"""
@@ -86,7 +104,7 @@
-@@ -2605,9 +2603,9 @@
+@@ -2642,9 +2640,9 @@
"""
proxies = getproxies_environment()
if proxies:
@@ -100,17 +118,17 @@
return getproxies_environment() or getproxies_macosx_sysconf()
--- a/Modules/_posixsubprocess.c
+++ b/Modules/_posixsubprocess.c
-@@ -49,6 +49,9 @@
-
- #define POSIX_CALL(call) do { if ((call) == -1) goto error; } while (0)
+@@ -100,6 +100,9 @@
+ return 0;
+ }
+#if defined(__APPLE__)
+#include <TargetConditionals.h>
+#endif
- /* If gc was disabled, call gc.enable(). Return 0 on success. */
+ /* Convert ASCII to a positive int, no libc call. no overflow. -1 on error. */
static int
-@@ -419,14 +422,14 @@
+@@ -456,14 +459,14 @@
goto error;
/* Close parent's pipe ends. */
@@ -127,7 +145,7 @@
/* When duping fds, if there arises a situation where one of the fds is
either 0, 1 or 2, it is possible that it is overwritten (#12607). */
if (c2pwrite == 0) {
-@@ -471,6 +474,8 @@
+@@ -508,6 +511,8 @@
/* We no longer manually close p2cread, c2pwrite, and errwrite here as
* _close_open_fds takes care when it is not already non-inheritable. */
@@ -136,7 +154,7 @@
if (cwd)
POSIX_CALL(chdir(cwd));
-@@ -496,13 +501,13 @@
+@@ -552,13 +557,13 @@
errno = 0; /* We don't want to report an OSError. */
goto error;
}
@@ -152,7 +170,7 @@
}
/* This loop matches the Lib/os.py _execvpe()'s PATH search when */
-@@ -511,20 +516,34 @@
+@@ -567,20 +572,34 @@
for (i = 0; exec_array[i] != NULL; ++i) {
const char *executable = exec_array[i];
if (envp) {
@@ -187,7 +205,12 @@
/* Report the posix error to our parent process. */
/* We ignore all write() return values as the total size of our writes is
less than PIPEBUF and we cannot do anything about an error anyways.
-@@ -683,7 +702,8 @@
+@@ -837,11 +856,12 @@
+ preexec_fn_args_tuple = PyTuple_New(0);
+ if (!preexec_fn_args_tuple)
+ goto cleanup;
+- PyOS_BeforeFork();
++// PyOS_BeforeFork();
need_after_fork = 1;
}
@@ -197,91 +220,79 @@
if (pid == 0) {
/* Child process */
/*
+@@ -855,7 +875,7 @@
+ * This call may not be async-signal-safe but neither is calling
+ * back into Python. The user asked us to use hope as a strategy
+ * to avoid deadlock... */
+- PyOS_AfterFork_Child();
++// PyOS_AfterFork_Child();
+ }
+
+ child_exec(exec_array, argv, envp, cwd,
+@@ -876,8 +896,8 @@
+
+ Py_XDECREF(cwd_obj2);
+
+- if (need_after_fork)
+- PyOS_AfterFork_Parent();
++// if (need_after_fork)
++// PyOS_AfterFork_Parent();
+ if (envp)
+ _Py_FreeCharPArray(envp);
+ if (argv)
--- a/Modules/getpath.c
+++ b/Modules/getpath.c
-@@ -593,8 +593,10 @@
- * will fail if a relative path was used. but in that case,
- * absolutize() should help us out below
- */
-- else if(0 == _NSGetExecutablePath(execpath, &nsexeclength) &&
-- execpath[0] == SEP)
+@@ -935,8 +935,10 @@
+ will fail if a relative path was used. but in that case,
+ absolutize() should help us out below
+ */
+- if (_NSGetExecutablePath(execpath, &nsexeclength) != 0
+- || (wchar_t)execpath[0] != SEP)
+ char *iospath = Py_GETENV("PYTHONHOME");
+ char *prog = Py_GETENV("PYTHONEXECUTABLE");
+ sprintf(execpath, "%s/bin/%s", iospath, prog);
-+ if (execpath[0] == SEP)
++ if (execpath[0] != SEP)
{
- size_t len;
- wchar_t *path = Py_DecodeLocale(execpath, &len);
+ /* _NSGetExecutablePath() failed or the path is relative */
+ return _PyStatus_OK();
--- a/Modules/posixmodule.c
+++ b/Modules/posixmodule.c
-@@ -197,6 +197,19 @@
- #endif /* _MSC_VER */
+@@ -313,8 +313,8 @@
+ # else
+ /* Unix functions that the configure script doesn't check for */
+ # ifndef __VXWORKS__
+-# define HAVE_EXECV 1
+-# define HAVE_FORK 1
++//# define HAVE_EXECV 0
++//# define HAVE_FORK 0
+ # if defined(__USLC__) && defined(__SCO_VERSION__) /* SCO UDK Compiler */
+ # define HAVE_FORK1 1
+ # endif
+@@ -327,8 +327,8 @@
+ # define HAVE_KILL 1
+ # define HAVE_OPENDIR 1
+ # define HAVE_PIPE 1
+-# define HAVE_SYSTEM 1
+-# define HAVE_WAIT 1
++//# define HAVE_SYSTEM 0
++//# define HAVE_WAIT 0
+ # define HAVE_TTYNAME 1
+ # endif /* _MSC_VER */
#endif /* ! __WATCOMC__ || __QNX__ */
+--- a/Include/intrcheck.h
++++ b/Include/intrcheck.h
+@@ -7,13 +7,13 @@
-+# undef HAVE_EXECV
-+# undef HAVE_FORK
-+# undef HAVE_FORK1
-+# undef HAVE_FORKPTY
-+# undef HAVE_GETGROUPS
-+# undef HAVE_SCHED_H
-+# undef HAVE_SENDFILE
-+# undef HAVE_SETPRIORITY
-+# undef HAVE_SPAWNV
-+# undef HAVE_SYSTEM
-+# undef HAVE_WAIT
-+# undef HAVE_WAIT3
-+# undef HAVE_WAIT4
-
- /*[clinic input]
- # one of the few times we lie about this name!
-@@ -475,6 +488,10 @@
- }
+ PyAPI_FUNC(int) PyOS_InterruptOccurred(void);
+ PyAPI_FUNC(void) PyOS_InitInterrupts(void);
+-#ifdef HAVE_FORK
++//#ifdef HAVE_FORK
+ #if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 >= 0x03070000
+ PyAPI_FUNC(void) PyOS_BeforeFork(void);
+ PyAPI_FUNC(void) PyOS_AfterFork_Parent(void);
+ PyAPI_FUNC(void) PyOS_AfterFork_Child(void);
#endif
-
-+void PyOS_BeforeFork(void){}
-+void PyOS_AfterFork_Parent(void){}
-+void PyOS_AfterFork_Child(void){}
-+
- /* Legacy wrapper */
- void
- PyOS_AfterFork(void)
-@@ -5040,6 +5057,8 @@
- #endif
- _Py_END_SUPPRESS_IPH
-
-+ Py_RETURN_NONE;
-+
- /* If we get here it's definitely an error */
-
- free_string_array(argvlist, argc);
-@@ -5116,6 +5135,12 @@
- #endif
- _Py_END_SUPPRESS_IPH
-
-+ while (--envc >= 0)
-+ PyMem_DEL(envlist[envc]);
-+ PyMem_DEL(envlist);
-+ // iOS: we return now
-+ Py_RETURN_NONE;
-+
- /* If we get here it's definitely an error */
-
- posix_path_error(path);
-@@ -5416,7 +5441,7 @@
- pid_t pid;
-
- PyOS_BeforeFork();
-- pid = fork1();
-+ pid = -1;
- if (pid == 0) {
- /* child: this clobbers and resets the import lock. */
- PyOS_AfterFork_Child();
-@@ -5447,7 +5472,7 @@
- pid_t pid;
-
- PyOS_BeforeFork();
-- pid = fork();
-+ pid = -1;
- if (pid == 0) {
- /* child: this clobbers and resets the import lock. */
- PyOS_AfterFork_Child();
+-#endif
++//#endif
+ /* Deprecated, please use PyOS_AfterFork_Child() instead */
+ Py_DEPRECATED(3.7) PyAPI_FUNC(void) PyOS_AfterFork(void);
diff --git a/tools/depends/target/python3/fix-datetime.patch b/tools/depends/target/python3/fix-datetime.patch
deleted file mode 100644
index 3dce1814d8..0000000000
--- a/tools/depends/target/python3/fix-datetime.patch
+++ /dev/null
@@ -1,16 +0,0 @@
---- a/Modules/_testcapimodule.c
-+++ b/Modules/_testcapimodule.c
-@@ -10,7 +10,13 @@
- #include "Python.h"
- #include <float.h>
- #include "structmember.h"
-+#ifdef Py_BUILD_CORE
-+#undef Py_BUILD_CORE
- #include "datetime.h"
-+#define Py_BUILD_CORE
-+#else
-+#include "datetime.h"
-+#endif
- #include "marshal.h"
- #include <signal.h>
-
diff --git a/tools/depends/target/python3/fix-ffi.patch b/tools/depends/target/python3/fix-ffi.patch
deleted file mode 100644
index 17c43ec40d..0000000000
--- a/tools/depends/target/python3/fix-ffi.patch
+++ /dev/null
@@ -1,51 +0,0 @@
---- a/Modules/_ctypes/cfield.c
-+++ b/Modules/_ctypes/cfield.c
-@@ -1634,6 +1634,7 @@
- */
-
- /* align and size are bogus for void, but they must not be zero */
-+/*
- ffi_type ffi_type_void = { 1, 1, FFI_TYPE_VOID };
-
- ffi_type ffi_type_uint8 = { 1, 1, FFI_TYPE_UINT8 };
-@@ -1650,14 +1651,15 @@
-
- ffi_type ffi_type_float = { sizeof(float), FLOAT_ALIGN, FFI_TYPE_FLOAT };
- ffi_type ffi_type_double = { sizeof(double), DOUBLE_ALIGN, FFI_TYPE_DOUBLE };
-+*/
-
- #ifdef ffi_type_longdouble
- #undef ffi_type_longdouble
- #endif
-- /* This is already defined on OSX */
-+ /* This is already defined on OSX
- ffi_type ffi_type_longdouble = { sizeof(long double), LONGDOUBLE_ALIGN,
- FFI_TYPE_LONGDOUBLE };
-
- ffi_type ffi_type_pointer = { sizeof(void *), VOID_P_ALIGN, FFI_TYPE_POINTER };
--
-+ */
- /*---------------- EOF ----------------*/
---- a/Modules/_ctypes/malloc_closure.c
-+++ b/Modules/_ctypes/malloc_closure.c
-@@ -89,6 +89,7 @@
- /******************************************************************/
-
- /* put the item back into the free list */
-+/*
- void ffi_closure_free(void *p)
- {
- ITEM *item = (ITEM *)p;
-@@ -96,7 +97,6 @@
- free_list = item;
- }
-
--/* return one item from the free list, allocating more if needed */
- void *ffi_closure_alloc(size_t ignored, void** codeloc)
- {
- ITEM *item;
-@@ -109,3 +109,4 @@
- *codeloc = (void *)item;
- return (void *)item;
- }
-+*/
diff --git a/tools/depends/target/python3/modules.setup b/tools/depends/target/python3/modules.setup
index f965baa4a1..a48241752b 100644
--- a/tools/depends/target/python3/modules.setup
+++ b/tools/depends/target/python3/modules.setup
@@ -1,14 +1,11 @@
# -*- makefile -*-
# The file Setup is used by the makesetup script to construct the files
# Makefile and config.c, from Makefile.pre and config.c.in,
-# respectively. The file Setup itself is initially copied from
-# Setup.dist; once it exists it will not be overwritten, so you can edit
-# Setup to your heart's content. Note that Makefile.pre is created
-# from Makefile.pre.in by the toplevel configure script.
+# respectively. Note that Makefile.pre is created from Makefile.pre.in
+# by the toplevel configure script.
# (VPATH notes: Setup and Makefile.pre are in the build directory, as
-# are Makefile and config.c; the *.in and *.dist files are in the source
-# directory.)
+# are Makefile and config.c; the *.in files are in the source directory.)
# Each line in this file describes one or more optional modules.
# Modules configured here will not be compiled by the setup.py script,
@@ -64,15 +61,11 @@
# toplevel "make install" target.) (For compatibility,
# *noconfig* has the same effect as *shared*.)
#
-# In addition, *static* explicitly declares the following modules to
-# be static. Lines containing "*static*" and "*shared*" may thus
-# alternate throughout this file.
-
# NOTE: As a standard policy, as many modules as can be supported by a
# platform should be present. The distribution comes with all modules
# enabled that are supported by most platforms and don't require you
# to ftp sources from elsewhere.
-*static*
+
# Some special rules to define PYTHONPATH.
# Edit the definitions below to indicate which options you are using.
@@ -108,39 +101,41 @@ PYTHONPATH=$(COREPYTHONPATH)
# This only contains the minimal set of modules required to run the
# setup.py script in the root of the Python source tree.
-posix -DPy_BUILD_CORE posixmodule.c # posix (UNIX) system calls
+posix -DPy_BUILD_CORE_BUILTIN -I$(srcdir)/Include/internal posixmodule.c # posix (UNIX) system calls
errno errnomodule.c # posix (UNIX) errno values
pwd pwdmodule.c # this is needed to find out the user's home dir
# if $HOME is not set
_sre _sre.c # Fredrik Lundh's new regular expressions
_codecs _codecsmodule.c # access to the builtin codecs and codec registry
_weakref _weakref.c # weak references
-_functools -DPy_BUILD_CORE _functoolsmodule.c # Tools for working with functions and callable objects
+_functools -DPy_BUILD_CORE_BUILTIN -I$(srcdir)/Include/internal _functoolsmodule.c # Tools for working with functions and callable objects
_operator _operator.c # operator.add() and similar goodies
_collections _collectionsmodule.c # Container types
-_abc _abc.c # Abstract base classes
+_abc _abc.c -DPy_BUILD_CORE_MODULE # Abstract base classes
itertools itertoolsmodule.c # Functions creating iterators for efficient looping
atexit atexitmodule.c # Register functions to be run at interpreter-shutdown
-_signal -DPy_BUILD_CORE signalmodule.c
+_signal -DPy_BUILD_CORE_BUILTIN -I$(srcdir)/Include/internal signalmodule.c
_stat _stat.c # stat.h interface
-time -DPy_BUILD_CORE timemodule.c # -lm # time operations and variables
-_thread -DPy_BUILD_CORE _threadmodule.c # low-level threading interface
+time -DPy_BUILD_CORE_BUILTIN -I$(srcdir)/Include/internal timemodule.c # -lm # time operations and variables
+_thread -DPy_BUILD_CORE_BUILTIN -I$(srcdir)/Include/internal _threadmodule.c # low-level threading interface
# access to ISO C locale support
-_locale _localemodule.c -lintl
+_locale -DPy_BUILD_CORE_BUILTIN _localemodule.c -lintl $(LINK_ICONV)
# Standard I/O baseline
-_io -DPy_BUILD_CORE -I$(srcdir)/Modules/_io _io/_iomodule.c _io/iobase.c _io/fileio.c _io/bytesio.c _io/bufferedio.c _io/textio.c _io/stringio.c
-
-# The zipimport module is always imported at startup. Having it as a
-# builtin module avoids some bootstrapping problems and reduces overhead.
-zipimport -DPy_BUILD_CORE zipimport.c
+_io -DPy_BUILD_CORE_BUILTIN -I$(srcdir)/Include/internal -I$(srcdir)/Modules/_io _io/_iomodule.c _io/iobase.c _io/fileio.c _io/bytesio.c _io/bufferedio.c _io/textio.c _io/stringio.c
# faulthandler module
faulthandler faulthandler.c
# debug tool to trace memory blocks allocated by Python
-_tracemalloc _tracemalloc.c hashtable.c
+#
+# bpo-35053: The module must be builtin since _Py_NewReference()
+# can call _PyTraceMalloc_NewReference().
+_tracemalloc _tracemalloc.c
+
+# PEG-based parser module -- slated to be *the* parser
+_peg_parser _peg_parser.c
# The rest of the modules listed in this file are all commented out by
# default. Usually they can be detected and built as dynamically
@@ -174,22 +169,26 @@ _symtable symtablemodule.c
# Modules that should always be present (non UNIX dependent):
-array arraymodule.c # array objects
-cmath cmathmodule.c _math.c # -lm # complex math library functions
-math mathmodule.c _math.c # -lm # math library functions, e.g. sin()
+array arraymodule.c -DPy_BUILD_CORE_MODULE # array objects
+cmath cmathmodule.c _math.c -DPy_BUILD_CORE_MODULE # -lm # complex math library functions
+math mathmodule.c _math.c -DPy_BUILD_CORE_MODULE # -lm # math library functions, e.g. sin()
_contextvars _contextvarsmodule.c # Context Variables
_struct _struct.c # binary structure packing/unpacking
_weakref _weakref.c # basic weak reference support
-_testcapi _testcapimodule.c # Python C API test module
-_random _randommodule.c # Random number generator
-_elementtree -I$(srcdir)/Modules/expat -DHAVE_EXPAT_CONFIG_H -DUSE_PYEXPAT_CAPI _elementtree.c # elementtree accelerator
-_pickle _pickle.c # pickle accelerator
-_datetime _datetimemodule.c # datetime accelerator
+#_testcapi _testcapimodule.c # Python C API test module
+#_testinternalcapi _testinternalcapi.c -I$(srcdir)/Include/internal -DPy_BUILD_CORE_MODULE # Python internal C API test module
+_random _randommodule.c -DPy_BUILD_CORE_MODULE # Random number generator
+_elementtree -I$(prefix)/include -L$(prefix)/lib -lexpat -DHAVE_EXPAT_CONFIG_H -DUSE_PYEXPAT_CAPI _elementtree.c # elementtree accelerator
+_pickle _pickle.c -DPy_BUILD_CORE_MODULE # pickle accelerator
+_datetime _datetimemodule.c -DPy_BUILD_CORE_MODULE # datetime accelerator
+_zoneinfo _zoneinfo.c -DPy_BUILD_CORE_MODULE # zoneinfo accelerator
_bisect _bisectmodule.c # Bisection algorithms
-_heapq _heapqmodule.c # Heap queue algorithm
-_asyncio _asynciomodule.c # Fast asyncio Future
+_heapq _heapqmodule.c -DPy_BUILD_CORE_MODULE # Heap queue algorithm
+_asyncio _asynciomodule.c -DPy_BUILD_CORE_MODULE # Fast asyncio Future
+_json -I$(srcdir)/Include/internal -DPy_BUILD_CORE_BUILTIN _json.c # _json speedups
+_statistics _statisticsmodule.c # statistics accelerator
-unicodedata unicodedata.c # static Unicode character database
+unicodedata unicodedata.c -DPy_BUILD_CORE_MODULE # static Unicode character database
# Modules with some UNIX dependencies -- on by default:
@@ -212,14 +211,10 @@ _socket socketmodule.c
# Socket module helper for SSL support; you must comment out the other
# socket line above, and possibly edit the SSL variable:
-SSLDEFINES='-DUSE_SSL'
+SSL=$(prefix)
_ssl _ssl.c \
- $(SSLDEFINES) -I$(prefix)/include -I$(prefix)/include/openssl \
- -L$(prefix)/lib -lssl -lcrypto
-
-_hashlib _hashopenssl.c \
- $(SSLDEFINES) -I$(prefix)/include -I$(prefix)/include/openssl \
- -L$(prefix)/lib -lssl -lcrypto
+ -DUSE_SSL -I$(SSL)/include -I$(SSL)/include/openssl \
+ -L$(SSL)/lib -lssl -lcrypto
# The crypt module is now disabled by default because it breaks builds
# on many systems (where -lcrypt is needed), e.g. Linux (I believe).
@@ -234,7 +229,7 @@ _hashlib _hashopenssl.c \
termios termios.c # Steen Lumholt's termios module
resource resource.c # Jeremy Hylton's rlimit interface
-_posixsubprocess _posixsubprocess.c # POSIX subprocess module helper
+_posixsubprocess _posixsubprocess.c -DPy_BUILD_CORE_MODULE # POSIX subprocess module helper
# Multimedia modules -- off by default.
# These don't work for 64-bit platforms!!!
@@ -256,13 +251,19 @@ _md5 md5module.c
# The _sha module implements the SHA checksum algorithms.
# (NIST's Secure Hash Algorithms.)
_sha1 sha1module.c
-_sha256 sha256module.c
-_sha512 sha512module.c
+_sha256 sha256module.c -DPy_BUILD_CORE_BUILTIN
+_sha512 sha512module.c -DPy_BUILD_CORE_BUILTIN
_sha3 _sha3/sha3module.c
# _blake module
_blake2 _blake2/blake2module.c _blake2/blake2b_impl.c _blake2/blake2s_impl.c
+# _multiprocessing module
+_multiprocessing _multiprocessing/multiprocessing.c _multiprocessing/semaphore.c
+
+# _posixshmem module does not run on android platform due to missing primitives shm_open/shm_unlink
+_posixshmem _multiprocessing/posixshmem.c -I$(srcdir)/Modules/_multiprocessing # -lrt # _posixshmem
+
# The _tkinter module.
#
# The command for _tkinter is long and site specific. Please
@@ -339,6 +340,8 @@ binascii binascii.c
# Fred Drake's interface to the Python parser
parser parsermodule.c
+# profiling
+_lsprof _lsprof.c rotatingtree.c -DPy_BUILD_CORE_MODULE
# Andrew Kuchling's zlib module.
# This require zlib 1.1.3 (or later).
@@ -348,7 +351,7 @@ zlib zlibmodule.c -I$(prefix)/include -L$(exec_prefix)/lib -lz
# Interface to the Expat XML parser
# More information on Expat can be found at www.libexpat.org.
#
-pyexpat pyexpat.c -I$(prefix)/include -L$(prefix)/lib -lexpat -DHAVE_EXPAT_CONFIG_H -DUSE_PYEXPAT_CAPI
+pyexpat pyexpat.c -I$(prefix)/include -L$(prefix)/lib -lexpat -DHAVE_EXPAT_CONFIG_H -DXML_POOR_ENTROPY -DUSE_PYEXPAT_CAPI
# Hye-Shik Chang's CJKCodecs
@@ -375,10 +378,16 @@ _sqlite3 _sqlite/connection.c \
-I$(prefix)/include -L$(prefix)/lib -lsqlite3 $(SQLITEDEFINES)
_ctypes _ctypes/callbacks.c _ctypes/callproc.c _ctypes/cfield.c _ctypes/_ctypes.c \
- _ctypes/malloc_closure.c _ctypes/stgdict.c \
+ _ctypes/stgdict.c -DPy_BUILD_CORE_MODULE \
-I$(prefix)/include/ffi -L$(prefix)/lib -lffi
-_queue _queuemodule.c
+_queue _queuemodule.c -DPy_BUILD_CORE_MODULE
+
+_bz2 _bz2module.c -I$(prefix)/include -L$(prefix)/lib -lbz2
+_lzma _lzmamodule.c -I$(prefix)/include -L$(prefix)/lib -llzma
+
+# scproxy module only for osx
+$(OSX_SCPROXY)
# Uncommenting the following line tells makesetup that all following modules
# are not built (see above for more detail).
diff --git a/tools/depends/target/python3/no-abort.patch b/tools/depends/target/python3/no-abort.patch
deleted file mode 100644
index e509c2d1e7..0000000000
--- a/tools/depends/target/python3/no-abort.patch
+++ /dev/null
@@ -1,22 +0,0 @@
---- a/Modules/posixmodule.c
-+++ b/Modules/posixmodule.c
-@@ -10365,7 +10365,7 @@
- os_abort_impl(PyObject *module)
- /*[clinic end generated code: output=dcf52586dad2467c input=cf2c7d98bc504047]*/
- {
-- abort();
-+ // abort();
- /*NOTREACHED*/
- Py_FatalError("abort() called from Python code didn't abort!");
- return NULL;
---- a/Python/pythonrun.c
-+++ b/Python/pythonrun.c
-@@ -1697,7 +1697,7 @@
- DebugBreak();
- #endif
- #endif /* MS_WINDOWS */
-- abort();
-+ // abort();
- }
-
- /* Clean up and exit */
diff --git a/tools/depends/target/python3/setup.patch b/tools/depends/target/python3/setup.patch
deleted file mode 100644
index 64968d413e..0000000000
--- a/tools/depends/target/python3/setup.patch
+++ /dev/null
@@ -1,74 +0,0 @@
---- a/Modules/makesetup
-+++ b/Modules/makesetup
-@@ -212,6 +212,7 @@
- objs="$objs $obj"
- case $src in
- glmodule.c) ;;
-+ # _*io.c) src='$(srcdir)/'"$srcdir/_io/$(echo $src| tr -d "_")";;
- /*) ;;
- \$*) ;;
- *) src='$(srcdir)/'"$srcdir/$src";;
---- a/setup.py
-+++ b/setup.py
-@@ -337,6 +337,9 @@
- self.announce('WARNING: skipping import check for Cygwin-based "%s"'
- % ext.name)
- return
-+ #if os.environ.get('CROSS_COMPILE_TARGET') == 'yes':
-+ # return
-+
- ext_filename = os.path.join(
- self.build_lib,
- self.get_ext_filename(self.get_ext_fullname(ext.name)))
-@@ -351,27 +354,30 @@
- try:
- imp.load_dynamic(ext.name, ext_filename)
- except ImportError, why:
-- self.failed.append(ext.name)
-- self.announce('*** WARNING: renaming "%s" since importing it'
-- ' failed: %s' % (ext.name, why), level=3)
-- assert not self.inplace
-- basename, tail = os.path.splitext(ext_filename)
-- newname = basename + "_failed" + tail
-- if os.path.exists(newname):
-- os.remove(newname)
-- os.rename(ext_filename, newname)
--
-- # XXX -- This relies on a Vile HACK in
-- # distutils.command.build_ext.build_extension(). The
-- # _built_objects attribute is stored there strictly for
-- # use here.
-- # If there is a failure, _built_objects may not be there,
-- # so catch the AttributeError and move on.
-- try:
-- for filename in self._built_objects:
-- os.remove(filename)
-- except AttributeError:
-- self.announce('unable to remove files (ignored)')
-+ if os.environ.get('CROSS_COMPILE_TARGET') != "yes":
-+ self.failed.append(ext.name)
-+ self.announce('*** WARNING: renaming "%s" since importing it'
-+ ' failed: %s' % (ext.name, why), level=3)
-+ assert not self.inplace
-+ basename, tail = os.path.splitext(ext_filename)
-+ newname = basename + "_failed" + tail
-+ if os.path.exists(newname):
-+ os.remove(newname)
-+ os.rename(ext_filename, newname)
-+
-+ # XXX -- This relies on a Vile HACK in
-+ # distutils.command.build_ext.build_extension(). The
-+ # _built_objects attribute is stored there strictly for
-+ # use here.
-+ # If there is a failure, _built_objects may not be there,
-+ # so catch the AttributeError and move on.
-+ try:
-+ for filename in self._built_objects:
-+ os.remove(filename)
-+ except AttributeError:
-+ self.announce('unable to remove files (ignored)')
-+ else:
-+ self.announce('WARNING: "%s" failed importing, ignored because we are cross-compiling' % ext.name)
- except:
- exc_type, why, tb = sys.exc_info()
- self.announce('*** WARNING: importing extension "%s" '
diff --git a/tools/depends/target/pythonmodule-pil/Makefile b/tools/depends/target/pythonmodule-pil/Makefile
index 07796ae807..a7b58a9c11 100644
--- a/tools/depends/target/pythonmodule-pil/Makefile
+++ b/tools/depends/target/pythonmodule-pil/Makefile
@@ -1,65 +1,79 @@
-include ../../Makefile.include
-DEPS= ../../Makefile.include Makefile pillow-crosscompile.patch
+include ../../Makefile.include PYTHONMODULE-PIL-VERSION ../../download-files.include
+DEPS= ../../Makefile.include Makefile PYTHONMODULE-PIL-VERSION ../../download-files.include pillow-crosscompile.patch
-VERSION.TXT := $(CMAKE_SOURCE_DIR)/version.txt
-APP_NAME=$(shell awk '/APP_NAME/ {print tolower($$2)}' $(VERSION.TXT))
+PYTHONPATH=$(PYTHON_SITE_PKG)
+PILPATH=$(PYTHONPATH)
+LDSHARED=$(CC) -shared
-# lib name, version
-LIBNAME=pillow
-VERSION=3.0.0
-SOURCE=$(LIBNAME)-$(VERSION)
-ARCHIVE=$(SOURCE).tar.gz
+# Clear pkg-config data, as it will pull from Native pkg-config incorrectly
+ifeq ($(CROSS_COMPILING), yes)
+ export PKG_CONFIG_PATH=
+ export PKG_CONFIG_LIBDIR=${PREFIX}/lib/pkgconfig
+ export PKG_CONFIG_SYSROOT_DIR=${SDKROOT}
+endif
-CROSSFLAGS=PYTHONXCPREFIX="$(PREFIX)" CC="$(CC) $(CFLAGS)" LDSHARED="$(CC) -shared" LDFLAGS="$(LDFLAGS)" PYTHONPATH="$(PREFIX)/lib/python3.7/site-packages/"
ifeq ($(OS),android)
-PILPATH=$(PREFIX)/share/$(APP_NAME)/addons/script.module.pil
-CROSSFLAGS=PYTHONXCPREFIX="$(PREFIX)" CC="$(CC) $(CFLAGS)" LDSHARED="$(CC) -shared" LDFLAGS="$(LDFLAGS) -L$(PREFIX)/lib/dummy-lib$(APP_NAME)/ -l$(APP_NAME) -lm" PYTHONPATH="$(PILPATH):$(PREFIX)/lib/python3.7/site-packages/"
+ PILPATH=$(PREFIX)/share/$(APP_NAME)/addons/script.module.pil
+ PILPATHLIB=$(PILPATH)/lib
+ PYTHONPATH=$(PILPATH):$(PYTHON_SITE_PKG)
+ LDFLAGS+= -L$(PREFIX)/lib/dummy-lib$(APP_NAME)/ -l$(APP_NAME) -lm
+else ifeq ($(OS),darwin_embedded)
+ PILPATH=$(PREFIX)/share/$(APP_NAME)/addons/script.module.pil
+ PILPATHLIB=$(PILPATH)/lib
+ PYTHONPATH=$(PILPATH):$(PYTHON_SITE_PKG)
endif
-ifeq (darwin, $(findstring darwin, $(HOST)))
-ifeq ($(OS),darwin_embedded)
-PYTHON_O=$(abs_top_srcdir)/target/python3/$(PLATFORM)/Programs/python.o
-PILPATH=$(PREFIX)/share/$(APP_NAME)/addons/script.module.pil
-endif
-#ensure that only our target ldflags are passed to the python build
-LDSHARED:=$(CC) -bundle -undefined dynamic_lookup $(LDFLAGS)
-CROSSFLAGS=PYTHONXCPREFIX="$(PREFIX)" CC="$(CC) $(CFLAGS)" CCSHARED="$(CC) $(CFLAGS) $(PYTHON_O)" LDFLAGS="$(LDFLAGS)" PYTHONPATH="$(PILPATH):$(PREFIX)/lib/python3.7/site-packages/" LDSHARED="$(LDSHARED)"
+SED_FLAG=-i
+ifeq (darwin, $(findstring darwin, $(BUILD)))
+ SED_FLAG=-i ''
endif
-LIBDYLIB=$(PLATFORM)/dist/Pillow-$(VERSION)-py3.7-$(OS)-$(CPU).egg
-ifeq ($(OS),android)
-LIBDYLIB=$(PREFIX)/share/$(APP_NAME)/addons/script.module.pil/lib/PIL/_imaging.so
-else ifeq (darwin, $(findstring darwin, $(HOST)))
-LIBDYLIB=$(PLATFORM)/dist/Pillow-$(VERSION)-py3.7-macosx-10.4-x86_64.egg
+ifeq (darwin, $(findstring darwin, $(HOST)))
+ ifeq ($(CPU),arm64)
+ # Work around an issue with xcode 11 stripping -arch arm64 flags.
+ # Not required for xcode 12+, but doesnt hurt either.
+ CFLAGS+= -target arm64-apple-darwin
+ LDFLAGS+= -target arm64-apple-darwin
+ endif
+
+ LDSHARED:=$(CC) -bundle -undefined dynamic_lookup $(LDFLAGS)
+ export ZLIB_ROOT=$(SDKROOT)/usr
endif
+BUILD_OPTS=--plat-name $(OS)-$(CPU) --disable-jpeg2000 --disable-webp --disable-imagequant --disable-tiff --disable-webp --disable-webpmux --disable-xcb --disable-lcms --disable-platform-guessing
+
+export CC CFLAGS
+export PYTHONXINCLUDE=$(PREFIX)/include/python$(PYTHON_VERSION)
+export LDSHARED LDFLAGS PYTHONPATH
+
all: .installed-$(PLATFORM)
-$(TARBALLS_LOCATION)/$(ARCHIVE):
- cd $(TARBALLS_LOCATION); $(RETRIEVE_TOOL) $(RETRIEVE_TOOL_FLAGS) $(BASE_URL)/$(ARCHIVE)
-$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE) $(DEPS)
+$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE).$(HASH_TYPE) $(DEPS)
rm -rf $(PLATFORM)/*; mkdir -p $(PLATFORM)
cd $(PLATFORM); $(ARCHIVE_TOOL) $(ARCHIVE_TOOL_FLAGS) $(TARBALLS_LOCATION)/$(ARCHIVE)
cd $(PLATFORM); patch -p1 -i ../pillow-crosscompile.patch
-$(LIBDYLIB): $(PLATFORM)
- mkdir -p $(PLATFORM)/output
- cd $(PLATFORM); $(CROSSFLAGS) $(NATIVEPREFIX)/bin/python3 setup.py build_ext --plat-name $(OS)-$(CPU)
+$(PILPATHLIB):
+ifeq ($(OS),android)
+ mkdir -p $(PILPATHLIB)
+else ifeq ($(OS),darwin_embedded)
+ mkdir -p $(PILPATHLIB)
+endif
-.installed-$(PLATFORM): $(LIBDYLIB)
+.installed-$(PLATFORM): $(PLATFORM) $(PILPATHLIB)
+ cd $(PLATFORM); $(NATIVEPREFIX)/bin/python3 setup.py build_ext $(BUILD_OPTS) install --install-lib $(PILPATH)
ifeq ($(OS),android)
- mkdir -p $(PREFIX)/share/$(APP_NAME)/addons/script.module.pil/lib
- cd $(PLATFORM); $(CROSSFLAGS) $(NATIVEPREFIX)/bin/python3 setup.py install --install-lib $(PREFIX)/share/$(APP_NAME)/addons/script.module.pil
- cd $(PREFIX)/share/$(APP_NAME)/addons/script.module.pil/lib && unzip -o ../Pillow-*.egg
- cd $(PREFIX)/share/$(APP_NAME)/addons/script.module.pil && rm -rf Pillow-*.egg
-else ifeq ($(TARGET_PLATFORM),appletvos)
- mkdir -p $(PILPATH)/lib
- cd $(PLATFORM); $(CROSSFLAGS) $(NATIVEPREFIX)/bin/python3 setup.py install --install-lib $(PILPATH)
- cd $(PILPATH)/lib && unzip -o ../Pillow-*.egg
+ cd $(PILPATHLIB) && unzip -o ../Pillow-*.egg
+ cd $(PILPATHLIB)/PIL && \
+ sed $(SED_FLAG) -e 's/import sys/import os, sys /' \
+ -e '/__file__/ s/_imaging/lib_imaging/g' \
+ -e 's/pkg_resources.resource_filename(__name__,/os.path.join(os.environ["KODI_ANDROID_LIBS"], /' \
+ _imaging*.py
+ cd $(PILPATH) && rm -rf Pillow-*.egg
+else ifeq ($(OS),darwin_embedded)
+ cd $(PILPATHLIB) && unzip -o ../Pillow-*.egg
cd $(PILPATH) && rm -rf Pillow-*.egg
-else
- cd $(PLATFORM); $(CROSSFLAGS) $(NATIVEPREFIX)/bin/python3 setup.py install --prefix=$(PREFIX)
endif
touch $@
diff --git a/tools/depends/target/pythonmodule-pil/PYTHONMODULE-PIL-VERSION b/tools/depends/target/pythonmodule-pil/PYTHONMODULE-PIL-VERSION
new file mode 100644
index 0000000000..9940c862f7
--- /dev/null
+++ b/tools/depends/target/pythonmodule-pil/PYTHONMODULE-PIL-VERSION
@@ -0,0 +1,4 @@
+LIBNAME=Pillow
+VERSION=8.4.0
+ARCHIVE=$(LIBNAME)-$(VERSION).tar.gz
+SHA512=d395f69ccb37c52a3b6f45836700ffbc3173afae31848cc61d7b47db88ca1594541023beb9a14fd9067aca664e182c7d6e3300ab3e3095c31afe8dcbc6e08233
diff --git a/tools/depends/target/pythonmodule-pil/pillow-crosscompile.patch b/tools/depends/target/pythonmodule-pil/pillow-crosscompile.patch
index cfd7a9f261..e42143131f 100644
--- a/tools/depends/target/pythonmodule-pil/pillow-crosscompile.patch
+++ b/tools/depends/target/pythonmodule-pil/pillow-crosscompile.patch
@@ -1,8 +1,8 @@
--- a/setup.py
+++ b/setup.py
-@@ -156,6 +156,16 @@
-
- _add_directory(include_dirs, "libImaging")
+@@ -414,6 +414,19 @@
+ if _cmd_exists(os.environ.get("PKG_CONFIG", "pkg-config")):
+ pkg_config = _pkg_config
+ compiler = os.environ.get('CC')
+ args = {}
@@ -14,194 +14,9 @@
+ args['compiler_so'] = compiler + ' ' + ccshared + ' ' + cflags
+ self.compiler.set_executables(**args)
+
++ self.compiler.include_dirs.clear()
++ self.compiler.include_dirs.append(os.environ.get('PYTHONXINCLUDE'))
++
#
# add configured kits
-
-@@ -187,10 +197,11 @@
- for d in os.environ[k].split(os.path.pathsep):
- _add_directory(library_dirs, d)
-
-- prefix = sysconfig.get_config_var("prefix")
-+ prefix = os.environ.get('PYTHONXCPREFIX')
- if prefix:
- _add_directory(library_dirs, os.path.join(prefix, "lib"))
- _add_directory(include_dirs, os.path.join(prefix, "include"))
-+ _add_directory(include_dirs, os.path.join(prefix, "include/python3.7"))
-
- #
- # add platform directories
-@@ -202,14 +213,14 @@
-
- elif sys.platform == "darwin":
- # attempt to make sure we pick freetype2 over other versions
-- _add_directory(include_dirs, "/sw/include/freetype2")
-- _add_directory(include_dirs, "/sw/lib/freetype2/include")
-+ #_add_directory(include_dirs, "/sw/include/freetype2")
-+ #_add_directory(include_dirs, "/sw/lib/freetype2/include")
- # fink installation directories
-- _add_directory(library_dirs, "/sw/lib")
-- _add_directory(include_dirs, "/sw/include")
-+ #_add_directory(library_dirs, "/sw/lib")
-+ #_add_directory(include_dirs, "/sw/include")
- # darwin ports installation directories
-- _add_directory(library_dirs, "/opt/local/lib")
-- _add_directory(include_dirs, "/opt/local/include")
-+ #_add_directory(library_dirs, "/opt/local/lib")
-+ #_add_directory(include_dirs, "/opt/local/include")
-
- # if Homebrew is installed, use its lib and include directories
- import subprocess
-@@ -234,15 +245,15 @@
- _add_directory(library_dirs, os.path.join(ft_prefix, 'lib'))
- _add_directory(
- include_dirs, os.path.join(ft_prefix, 'include'))
-- else:
-+ #else:
- # fall back to freetype from XQuartz if
- # Homebrew's freetype is missing
-- _add_directory(library_dirs, "/usr/X11/lib")
-- _add_directory(include_dirs, "/usr/X11/include")
-+ #_add_directory(library_dirs, "/usr/X11/lib")
-+ #_add_directory(include_dirs, "/usr/X11/include")
-
- elif sys.platform.startswith("linux"):
- arch_tp = (plat.processor(), plat.architecture()[0])
-- if arch_tp == ("x86_64", "32bit"):
-+ if arch_tp == ("x86_64xxx", "32bit"):
- # 32 bit build on 64 bit machine.
- _add_directory(library_dirs, "/usr/lib/i386-linux-gnu")
- else:
-@@ -252,43 +263,43 @@
- continue
-
- if platform_ in ["x86_64", "64bit"]:
-- _add_directory(library_dirs, "/lib64")
-- _add_directory(library_dirs, "/usr/lib64")
-- _add_directory(
-- library_dirs, "/usr/lib/x86_64-linux-gnu")
-+ #_add_directory(library_dirs, "/lib64")
-+ #_add_directory(library_dirs, "/usr/lib64")
-+ #_add_directory(
-+ # library_dirs, "/usr/lib/x86_64-linux-gnu")
- break
- elif platform_ in ["i386", "i686", "32bit"]:
-- _add_directory(
-- library_dirs, "/usr/lib/i386-linux-gnu")
-+ #_add_directory(
-+ # library_dirs, "/usr/lib/i386-linux-gnu")
- break
- elif platform_ in ["aarch64"]:
-- _add_directory(library_dirs, "/usr/lib64")
-- _add_directory(
-- library_dirs, "/usr/lib/aarch64-linux-gnu")
-+ #_add_directory(library_dirs, "/usr/lib64")
-+ #_add_directory(
-+ # library_dirs, "/usr/lib/aarch64-linux-gnu")
- break
- elif platform_ in ["arm", "armv7l"]:
-- _add_directory(
-- library_dirs, "/usr/lib/arm-linux-gnueabi")
-+ #_add_directory(
-+ # library_dirs, "/usr/lib/arm-linux-gnueabi")
- break
- elif platform_ in ["ppc64"]:
-- _add_directory(library_dirs, "/usr/lib64")
-- _add_directory(
-- library_dirs, "/usr/lib/ppc64-linux-gnu")
-- _add_directory(
-- library_dirs, "/usr/lib/powerpc64-linux-gnu")
-+ #_add_directory(library_dirs, "/usr/lib64")
-+ #_add_directory(
-+ # library_dirs, "/usr/lib/ppc64-linux-gnu")
-+ #_add_directory(
-+ # library_dirs, "/usr/lib/powerpc64-linux-gnu")
- break
- elif platform_ in ["ppc"]:
-- _add_directory(library_dirs, "/usr/lib/ppc-linux-gnu")
-- _add_directory(
-- library_dirs, "/usr/lib/powerpc-linux-gnu")
-+ #_add_directory(library_dirs, "/usr/lib/ppc-linux-gnu")
-+ #_add_directory(
-+ # library_dirs, "/usr/lib/powerpc-linux-gnu")
- break
- elif platform_ in ["s390x"]:
-- _add_directory(library_dirs, "/usr/lib64")
-- _add_directory(
-- library_dirs, "/usr/lib/s390x-linux-gnu")
-+ #_add_directory(library_dirs, "/usr/lib64")
-+ #_add_directory(
-+ # library_dirs, "/usr/lib/s390x-linux-gnu")
- break
- elif platform_ in ["s390"]:
-- _add_directory(library_dirs, "/usr/lib/s390-linux-gnu")
-+ #_add_directory(library_dirs, "/usr/lib/s390-linux-gnu")
- break
- else:
- raise ValueError(
-@@ -297,18 +308,18 @@
- # XXX Kludge. Above /\ we brute force support multiarch. Here we
- # try Barry's more general approach. Afterward, something should
- # work ;-)
-- self.add_multiarch_paths()
-+ #self.add_multiarch_paths()
-
-- elif sys.platform.startswith("gnu"):
-- self.add_multiarch_paths()
-+ #elif sys.platform.startswith("gnu"):
-+ # self.add_multiarch_paths()
-
-- elif sys.platform.startswith("netbsd"):
-- _add_directory(library_dirs, "/usr/pkg/lib")
-- _add_directory(include_dirs, "/usr/pkg/include")
-+ #elif sys.platform.startswith("netbsd"):
-+ #_add_directory(library_dirs, "/usr/pkg/lib")
-+ #_add_directory(include_dirs, "/usr/pkg/include")
-
-- elif sys.platform.startswith("sunos5"):
-- _add_directory(library_dirs, "/opt/local/lib")
-- _add_directory(include_dirs, "/opt/local/include")
-+ #elif sys.platform.startswith("sunos5"):
-+ #_add_directory(library_dirs, "/opt/local/lib")
-+ #_add_directory(include_dirs, "/opt/local/include")
-
- # FIXME: check /opt/stuff directories here?
-
-@@ -350,11 +361,11 @@
- _add_directory(include_dirs, tcl_dir)
-
- # standard locations
-- _add_directory(library_dirs, "/usr/local/lib")
-- _add_directory(include_dirs, "/usr/local/include")
-+ #_add_directory(library_dirs, "/usr/local/lib")
-+ #_add_directory(include_dirs, "/usr/local/include")
-
-- _add_directory(library_dirs, "/usr/lib")
-- _add_directory(include_dirs, "/usr/include")
-+ #_add_directory(library_dirs, "/usr/lib")
-+ #_add_directory(include_dirs, "/usr/include")
-
- # on Windows, look for the OpenJPEG libraries in the location that
- # the official installer puts them
-@@ -389,12 +400,7 @@
- feature = self.feature
-
- if feature.want('zlib'):
-- if _find_include_file(self, "zlib.h"):
-- if _find_library_file(self, "z"):
-- feature.zlib = "z"
-- elif (sys.platform == "win32" and
-- _find_library_file(self, "zlib")):
-- feature.zlib = "zlib" # alternative name
-+ feature.zlib = "z"
-
- if feature.want('jpeg'):
- if _find_include_file(self, "jpeglib.h"):
-@@ -552,7 +558,7 @@
-
- if feature.freetype:
- exts.append(Extension(
-- "PIL._imagingft", ["_imagingft.c"], libraries=["freetype"]))
-+ "PIL._imagingft", ["_imagingft.c"], libraries=["freetype", "bz2", "z"]))
-
- if os.path.isfile("_imagingtiff.c") and feature.tiff:
- exts.append(Extension(
+ for root_name, lib_name in dict(
diff --git a/tools/depends/target/pythonmodule-pycryptodome/Makefile b/tools/depends/target/pythonmodule-pycryptodome/Makefile
index 759de0f3a6..d07459a03b 100644
--- a/tools/depends/target/pythonmodule-pycryptodome/Makefile
+++ b/tools/depends/target/pythonmodule-pycryptodome/Makefile
@@ -1,40 +1,40 @@
-include ../../Makefile.include
-DEPS= ../../Makefile.include Makefile 01-nosetuptool.patch 02-android-dlopen.patch 03-obey-crosscompileflags.patch
+include ../../Makefile.include PYTHONMODULE-PYCRYPTODOME-VERSION ../../download-files.include
+DEPS= ../../Makefile.include Makefile PYTHONMODULE-PYCRYPTODOME-VERSION ../../download-files.include \
+ 01-nosetuptool.patch 02-android-dlopen.patch \
+ 03-obey-crosscompileflags.patch
-VERSION.TXT := $(CMAKE_SOURCE_DIR)/version.txt
-APP_NAME=$(shell awk '/APP_NAME/ {print tolower($$2)}' $(VERSION.TXT))
+LDSHARED=$(CC) -shared
-# lib name, version
-LIBNAME=pycryptodome
-VERSION=3.4.3
-SOURCE=$(LIBNAME)-$(VERSION)
-ARCHIVE=$(SOURCE).tar.gz
-
-CROSSFLAGS=PYTHONXCPREFIX="$(PREFIX)" CC="$(CC) $(CFLAGS)" LDSHARED="$(CC) -shared" LDFLAGS="$(LDFLAGS)" PYTHONPATH="$(PREFIX)/lib/python3.7/site-packages/"
ifeq ($(OS),android)
-CROSSFLAGS=PYTHONXCPREFIX="$(PREFIX)" CC="$(CC) $(CFLAGS)" LDSHARED="$(CC) -shared" LDFLAGS="$(LDFLAGS) -L$(PREFIX)/lib/dummy-lib$(APP_NAME)/ -l$(APP_NAME) -lm" PYTHONPATH="$(PREFIX)/lib/python3.7/site-packages/"
+ LDFLAGS+= -L$(PREFIX)/lib/dummy-lib$(APP_NAME)/ -l$(APP_NAME) -lm
endif
ifeq (darwin, $(findstring darwin, $(HOST)))
-ifeq ($(OS),darwin_embedded)
-PYTHON_O=$(abs_top_srcdir)/target/python3/$(PLATFORM)/Programs/python.o
-endif
-#ensure that only our target ldflags are passed to the python build
-LDSHARED:=$(CC) -bundle -undefined dynamic_lookup $(LDFLAGS)
-CROSSFLAGS=PYTHONXCPREFIX="$(PREFIX)" CC="$(CC) $(CFLAGS)" CCSHARED="$(CC) $(CFLAGS) $(PYTHON_O)" LDFLAGS="$(LDFLAGS)" PYTHONPATH="$(PREFIX)/lib/python3.7/site-packages/" LDSHARED="$(LDSHARED)"
+ ifeq ($(CPU),arm64)
+ # Work around an issue with xcode 11 stripping -arch arm64 flags.
+ # Not required for xcode 12+, but doesnt hurt either.
+ CFLAGS+= -target arm64-apple-darwin
+ LDFLAGS+= -target arm64-apple-darwin
+ endif
+ LDSHARED:=$(CC) -bundle -undefined dynamic_lookup $(LDFLAGS)
endif
-LIBDYLIB=$(PLATFORM)/build/lib.$(OS)-$(CPU)-3.7/Cryptodome
+
+export CC CFLAGS
+export LDSHARED LDFLAGS
+export PYTHONPATH=$(PYTHON_SITE_PKG)
+
+LIBDYLIB=$(PLATFORM)/build/lib.$(OS)-$(CPU)-$(PYTHON_VERSION)/Cryptodome
ifeq ($(NATIVE_OS), osx)
- LIBDYLIB=$(PLATFORM)/build/lib.macosx-10.4-x86_64-3.7/Cryptodome
+ # this module will always recompile. currently the hardcoded 10.4 is incorrect
+ # and would need to be generated based on sdk version that we dont currently collect
+ LIBDYLIB=$(PLATFORM)/build/lib.macosx-10.4-$(CPU)-$(PYTHON_VERSION)/Cryptodome
endif
all: .installed-$(PLATFORM)
-$(TARBALLS_LOCATION)/$(ARCHIVE):
- cd $(TARBALLS_LOCATION); $(RETRIEVE_TOOL) $(RETRIEVE_TOOL_FLAGS) $(BASE_URL)/$(ARCHIVE)
-$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE) $(DEPS)
+$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE).$(HASH_TYPE) $(DEPS)
rm -rf $(PLATFORM)/*; mkdir -p $(PLATFORM)
cd $(PLATFORM); $(ARCHIVE_TOOL) $(ARCHIVE_TOOL_FLAGS) $(TARBALLS_LOCATION)/$(ARCHIVE)
cd $(PLATFORM); patch -p1 -i ../01-nosetuptool.patch
@@ -44,11 +44,10 @@ endif
cd $(PLATFORM); patch -p1 -i ../03-obey-crosscompileflags.patch
$(LIBDYLIB): $(PLATFORM)
- mkdir -p $(PLATFORM)/output
- cd $(PLATFORM); touch .separate_namespace && $(CROSSFLAGS) $(NATIVEPREFIX)/bin/python3 setup.py build_ext --plat-name $(OS)-$(TARGET_ARCH)
+ cd $(PLATFORM); touch .separate_namespace && $(NATIVEPREFIX)/bin/python3 setup.py build_ext --plat-name $(OS)-$(CPU)
.installed-$(PLATFORM): $(LIBDYLIB)
- cd $(PLATFORM); $(CROSSFLAGS) $(NATIVEPREFIX)/bin/python3 setup.py install --prefix=$(PREFIX)
+ cd $(PLATFORM); $(NATIVEPREFIX)/bin/python3 setup.py install --prefix=$(PREFIX)
touch $@
clean:
diff --git a/tools/depends/target/pythonmodule-pycryptodome/PYTHONMODULE-PYCRYPTODOME-VERSION b/tools/depends/target/pythonmodule-pycryptodome/PYTHONMODULE-PYCRYPTODOME-VERSION
new file mode 100644
index 0000000000..d87a73a248
--- /dev/null
+++ b/tools/depends/target/pythonmodule-pycryptodome/PYTHONMODULE-PYCRYPTODOME-VERSION
@@ -0,0 +1,4 @@
+LIBNAME=pycryptodome
+VERSION=3.4.3
+ARCHIVE=$(LIBNAME)-$(VERSION).tar.gz
+SHA512=066ac92f8c4fc3aa4d2ba955d9e7665938c96b60ab516783a9446e718e2e9467f2411710d5ab203c8ae66945b1c0c3de2149d82d3f6f04e8517a57f82e20a879
diff --git a/tools/depends/target/pythonmodule-setuptools/Makefile b/tools/depends/target/pythonmodule-setuptools/Makefile
index b629c42e97..9a9992f643 100644
--- a/tools/depends/target/pythonmodule-setuptools/Makefile
+++ b/tools/depends/target/pythonmodule-setuptools/Makefile
@@ -1,45 +1,16 @@
-include ../../Makefile.include
-DEPS= ../../Makefile.include Makefile
+include ../../Makefile.include PYTHONMODULE-SETUPTOOLS-VERSION ../../download-files.include
+DEPS= ../../Makefile.include Makefile PYTHONMODULE-SETUPTOOLS-VERSION ../../download-files.include
-VERSION.TXT := $(CMAKE_SOURCE_DIR)/version.txt
-APP_NAME=$(shell awk '/APP_NAME/ {print tolower($$2)}' $(VERSION.TXT))
-
-# lib name, version
-LIBNAME=setuptools
-VERSION=18.4
-SOURCE=$(LIBNAME)-$(VERSION)
-ARCHIVE=$(SOURCE).tar.gz
-
-CROSSFLAGS=PYTHONXCPREFIX="$(PREFIX)" CC="$(CC) $(CFLAGS)" LDSHARED="$(CC) -shared" LDFLAGS="$(LDFLAGS)" PYTHONPATH="$(PREFIX)/lib/python3.7/site-packages/"
-ifeq ($(OS),android)
-#PYTHONPATH=$(PREFIX)/share/$(APP_NAME)/addons/script.module.pil
-CROSSFLAGS=PYTHONXCPREFIX="$(PREFIX)" CC="$(CC) $(CFLAGS)" LDSHARED="$(CC) -shared" LDFLAGS="$(LDFLAGS) -L$(PREFIX)/lib/dummy-lib$(APP_NAME)/ -l$(APP_NAME) -lm" PYTHONPATH="$(PREFIX)/lib/python3.7/site-packages/"
-endif
-ifeq ($(OS),osx)
-CROSSFLAGS=PYTHONXCPREFIX="$(PREFIX)" CC="$(CC)" LDSHARED="$(CC) -shared" LDFLAGS="$(LDFLAGS) -lpython" PYTHONPATH="$(PREFIX)/lib/python3.7/site-packages/"
-endif
-ifeq ($(OS),darwin_embedded)
-PYTHON_O=$(abs_top_srcdir)/target/python3/$(PLATFORM)/Programs/python.o
-CROSSFLAGS=PYTHONXCPREFIX="$(PREFIX)" CC="$(CC) $(CFLAGS)" CCSHARED="$(CC) $(CFLAGS) $(PYTHON_O)" LDFLAGS="$(LDFLAGS)" PYTHONPATH="$(PREFIX)/lib/python3.7/site-packages/"
-endif
-
-LIBDYLIB=$(PLATFORM)/dist/$(LIBNAME)-$(VERSION)-py3.7.egg
+LIBDYLIB=$(PLATFORM)/dist/$(LIBNAME)-$(VERSION)-py$(PYTHON_VERSION).egg
all: .installed-$(PLATFORM)
-$(TARBALLS_LOCATION)/$(ARCHIVE):
- cd $(TARBALLS_LOCATION); $(RETRIEVE_TOOL) $(RETRIEVE_TOOL_FLAGS) $(BASE_URL)/$(ARCHIVE)
-
-$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE) $(DEPS)
+$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE).$(HASH_TYPE) $(DEPS)
rm -rf $(PLATFORM)/*; mkdir -p $(PLATFORM)
cd $(PLATFORM); $(ARCHIVE_TOOL) $(ARCHIVE_TOOL_FLAGS) $(TARBALLS_LOCATION)/$(ARCHIVE)
-$(LIBDYLIB): $(PLATFORM)
- mkdir -p $(PLATFORM)/output
- cd $(PLATFORM); $(CROSSFLAGS) $(NATIVEPREFIX)/bin/python3 setup.py build_ext --plat-name $(OS)-$(CPU)
-
-.installed-$(PLATFORM): $(LIBDYLIB)
- cd $(PLATFORM); $(CROSSFLAGS) $(NATIVEPREFIX)/bin/python3 setup.py install --prefix=$(PREFIX)
+.installed-$(PLATFORM): $(PLATFORM)
+ cd $(PLATFORM); PYTHONPATH="$(PYTHON_SITE_PKG)" $(NATIVEPREFIX)/bin/python3 setup.py install --prefix=$(PREFIX)
touch $@
clean:
diff --git a/tools/depends/target/pythonmodule-setuptools/PYTHONMODULE-SETUPTOOLS-VERSION b/tools/depends/target/pythonmodule-setuptools/PYTHONMODULE-SETUPTOOLS-VERSION
new file mode 100644
index 0000000000..195842b0fa
--- /dev/null
+++ b/tools/depends/target/pythonmodule-setuptools/PYTHONMODULE-SETUPTOOLS-VERSION
@@ -0,0 +1,4 @@
+LIBNAME=setuptools
+VERSION=53.0.0
+ARCHIVE=$(LIBNAME)-$(VERSION).tar.gz
+SHA512=d045198210f09c5f2acbd487d3dd291cd7ce814bebe331f1876c133cd28f56d368717c7bd4a875b439c9cc8c9488dc9a7d3e27ab791cce419f78b87fcfd8fff6
diff --git a/tools/depends/target/rapidjson/0001-remove_custom_cxx_flags.patch b/tools/depends/target/rapidjson/001-remove_custom_cxx_flags.patch
index c923c76380..c923c76380 100644
--- a/tools/depends/target/rapidjson/0001-remove_custom_cxx_flags.patch
+++ b/tools/depends/target/rapidjson/001-remove_custom_cxx_flags.patch
diff --git a/tools/depends/target/rapidjson/002-cmake-removedocs-examples.patch b/tools/depends/target/rapidjson/002-cmake-removedocs-examples.patch
new file mode 100644
index 0000000000..4bf06da59c
--- /dev/null
+++ b/tools/depends/target/rapidjson/002-cmake-removedocs-examples.patch
@@ -0,0 +1,28 @@
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -134,14 +134,17 @@
+ COMPONENT pkgconfig)
+ ENDIF()
+
++if(RAPIDJSON_BUILD_DOC)
+ install(FILES readme.md
+ DESTINATION "${DOC_INSTALL_DIR}"
+ COMPONENT doc)
++endif()
+
+ install(DIRECTORY include/rapidjson
+ DESTINATION "${INCLUDE_INSTALL_DIR}"
+ COMPONENT dev)
+
++if(RAPIDJSON_BUILD_EXAMPLES)
+ install(DIRECTORY example/
+ DESTINATION "${DOC_INSTALL_DIR}/examples"
+ COMPONENT examples
+@@ -150,6 +153,7 @@
+ PATTERN "CMakeFiles" EXCLUDE
+ PATTERN "Makefile" EXCLUDE
+ PATTERN "cmake_install.cmake" EXCLUDE)
++endif()
+
+ # Provide config and version files to be used by other applications
+ # ===============================
diff --git a/tools/depends/target/rapidjson/003-win-arm64.patch b/tools/depends/target/rapidjson/003-win-arm64.patch
new file mode 100644
index 0000000000..2d045dcaf6
--- /dev/null
+++ b/tools/depends/target/rapidjson/003-win-arm64.patch
@@ -0,0 +1,11 @@
+--- a/include/rapidjson/rapidjson.h
++++ b/include/rapidjson/rapidjson.h
+@@ -236,7 +236,7 @@
+ # define RAPIDJSON_ENDIAN RAPIDJSON_BIGENDIAN
+ # elif defined(__i386__) || defined(__alpha__) || defined(__ia64) || defined(__ia64__) || defined(_M_IX86) || defined(_M_IA64) || defined(_M_ALPHA) || defined(__amd64) || defined(__amd64__) || defined(_M_AMD64) || defined(__x86_64) || defined(__x86_64__) || defined(_M_X64) || defined(__bfin__)
+ # define RAPIDJSON_ENDIAN RAPIDJSON_LITTLEENDIAN
+-# elif defined(_MSC_VER) && defined(_M_ARM)
++# elif defined(_MSC_VER) && (defined(_M_ARM) || defined(_M_ARM64))
+ # define RAPIDJSON_ENDIAN RAPIDJSON_LITTLEENDIAN
+ # elif defined(RAPIDJSON_DOXYGEN_RUNNING)
+ # define RAPIDJSON_ENDIAN
diff --git a/tools/depends/target/rapidjson/Makefile b/tools/depends/target/rapidjson/Makefile
index 0939ed5757..050f7eebc6 100644
--- a/tools/depends/target/rapidjson/Makefile
+++ b/tools/depends/target/rapidjson/Makefile
@@ -1,11 +1,8 @@
-include ../../Makefile.include
-DEPS = Makefile 0001-remove_custom_cxx_flags.patch
-
-# lib name, version
-LIBNAME=rapidjson
-VERSION=1.1.0
-SOURCE=$(LIBNAME)-$(VERSION)
-ARCHIVE=$(SOURCE).tar.gz
+include RAPIDJSON-VERSION
+DEPS = Makefile RAPIDJSON-VERSION 001-remove_custom_cxx_flags.patch ../../download-files.include \
+ 002-cmake-removedocs-examples.patch \
+ 003-win-arm64.patch
CMAKE_OPTIONS=-DRAPIDJSON_HAS_STDSTRING=ON -DRAPIDJSON_BUILD_DOC=OFF -DRAPIDJSON_BUILD_EXAMPLES=OFF -DRAPIDJSON_BUILD_TESTS=OFF -DRAPIDJSON_BUILD_THIRDPARTY_GTEST=OFF
@@ -23,17 +20,19 @@ else
RETRIEVE_TOOL_FLAGS := -Ls --create-dirs -f -O
ARCHIVE_TOOL := tar
ARCHIVE_TOOL_FLAGS := --strip-components=1 -xf
+ HASH_TOOL := sha512sum
+ HASH_TOOL_FLAGS = -c --status
CMAKE := cmake
CMAKE_OPTIONS := -DCMAKE_INSTALL_PREFIX=$(PREFIX) $(CMAKE_OPTIONS)
endif
endif
+include ../../download-files.include
+
all: .installed-$(PLATFORM)
-$(TARBALLS_LOCATION)/$(ARCHIVE):
- cd $(TARBALLS_LOCATION); $(RETRIEVE_TOOL) $(RETRIEVE_TOOL_FLAGS) $(BASE_URL)/$(ARCHIVE)
-$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE) $(DEPS)
+$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE).$(HASH_TYPE) $(DEPS)
ifeq ($(PREFIX),)
@echo
@echo "ERROR: please set PREFIX to the kodi install path e.g. $(MAKE) PREFIX=/usr/local"
@@ -42,7 +41,9 @@ endif
rm -rf $(PLATFORM); mkdir -p $(PLATFORM)
cd $(PLATFORM); $(ARCHIVE_TOOL) $(ARCHIVE_TOOL_FLAGS) $(TARBALLS_LOCATION)/$(ARCHIVE)
cd $(PLATFORM); rm -rf build; mkdir -p build
- cd $(PLATFORM); patch -p1 -i ../0001-remove_custom_cxx_flags.patch
+ cd $(PLATFORM); patch -p1 -i ../001-remove_custom_cxx_flags.patch
+ cd $(PLATFORM); patch -p1 -i ../002-cmake-removedocs-examples.patch
+ cd $(PLATFORM); patch -p1 -i ../003-win-arm64.patch
cd $(PLATFORM)/build; $(CMAKE) $(CMAKE_OPTIONS) ..
.installed-$(PLATFORM): $(PLATFORM)
diff --git a/tools/depends/target/rapidjson/RAPIDJSON-VERSION b/tools/depends/target/rapidjson/RAPIDJSON-VERSION
new file mode 100644
index 0000000000..120e868fca
--- /dev/null
+++ b/tools/depends/target/rapidjson/RAPIDJSON-VERSION
@@ -0,0 +1,4 @@
+LIBNAME=rapidjson
+VERSION=1.1.0
+ARCHIVE=$(LIBNAME)-$(VERSION).tar.gz
+SHA512=2e82a4bddcd6c4669541f5945c2d240fb1b4fdd6e239200246d3dd50ce98733f0a4f6d3daa56f865d8c88779c036099c52a9ae85d47ad263686b68a88d832dff
diff --git a/tools/depends/target/samba-gplv3/02-cross_compile.patch b/tools/depends/target/samba-gplv3/02-cross_compile.patch
index a6dd9aa2ef..84b40289a1 100644
--- a/tools/depends/target/samba-gplv3/02-cross_compile.patch
+++ b/tools/depends/target/samba-gplv3/02-cross_compile.patch
@@ -1,6 +1,6 @@
--- a/buildtools/wafsamba/samba_autoconf.py
+++ b/buildtools/wafsamba/samba_autoconf.py
-@@ -319,7 +319,7 @@
+@@ -318,7 +318,7 @@
@conf
@@ -9,7 +9,7 @@
'''check the size of a type'''
for v in TO_LIST(vars):
v_define = define
-@@ -332,6 +332,7 @@
+@@ -331,6 +331,7 @@
define=v_define,
quote=False,
headers=headers,
@@ -17,7 +17,7 @@
local_include=False,
msg="Checking if size of %s == %d" % (v, size)):
conf.DEFINE(v_define, size)
-@@ -828,7 +829,6 @@
+@@ -841,7 +841,6 @@
for key in conf.env.define_key:
conf.undefine(key, from_env=False)
conf.env.define_key = []
@@ -68,7 +68,7 @@
return False
--- a/buildtools/wafsamba/wscript
+++ b/buildtools/wafsamba/wscript
-@@ -302,7 +302,7 @@
+@@ -314,7 +314,7 @@
conf.CHECK_CODE('printf("hello world")',
define='HAVE_SIMPLE_C_PROG',
mandatory=True,
@@ -77,18 +77,6 @@
headers='stdio.h',
msg='Checking simple C program')
---- a/lib/replace/system/time.h
-+++ b/lib/replace/system/time.h
-@@ -74,9 +74,6 @@
- #endif
-
- #ifndef HAVE_CLOCK_GETTIME
--/* CLOCK_REALTIME is required by POSIX */
--#define CLOCK_REALTIME 0
--typedef int clockid_t;
- int rep_clock_gettime(clockid_t clk_id, struct timespec *tp);
- #endif
- /* make sure we have a best effort CUSTOM_CLOCK_MONOTONIC we can rely on.
--- a/lib/replace/wscript
+++ b/lib/replace/wscript
@@ -37,6 +37,7 @@
@@ -96,10 +84,10 @@
conf.CHECK_HEADERS('acl/libacl.h attr/xattr.h compat.h ctype.h dustat.h')
conf.CHECK_HEADERS('fcntl.h fnmatch.h glob.h history.h krb5.h langinfo.h')
+ conf.CHECK_FUNCS('nl_langinfo', headers='langinfo.h')
- conf.CHECK_HEADERS('libaio.h locale.h ndir.h pwd.h')
+ conf.CHECK_HEADERS('locale.h ndir.h pwd.h')
conf.CHECK_HEADERS('shadow.h sys/acl.h')
conf.CHECK_HEADERS('sys/attributes.h attr/attributes.h sys/capability.h sys/dir.h sys/epoll.h')
-@@ -679,7 +680,7 @@
+@@ -692,7 +692,7 @@
conf.CHECK_CODE('''#define LIBREPLACE_CONFIGURE_TEST_STRPTIME
#include "tests/strptime.c"''',
define='HAVE_WORKING_STRPTIME',
@@ -108,7 +96,7 @@
addmain=False,
msg='Checking for working strptime')
-@@ -694,7 +695,7 @@
+@@ -707,7 +707,7 @@
conf.CHECK_CODE('#include "tests/snprintf.c"',
define="HAVE_C99_VSNPRINTF",
@@ -117,7 +105,7 @@
addmain=False,
msg="Checking for C99 vsnprintf")
-@@ -791,7 +792,7 @@
+@@ -804,7 +804,7 @@
exit(0);
''',
define='HAVE_SECURE_MKSTEMP',
@@ -126,7 +114,7 @@
mandatory=True) # lets see if we get a mandatory failure for this one
# look for a method of finding the list of network interfaces
-@@ -803,6 +804,7 @@
+@@ -816,6 +816,7 @@
#define %s 1
#define NO_CONFIG_H 1
#define AUTOCONF_TEST 1
@@ -134,7 +122,7 @@
#include "replace.c"
#include "inet_ntop.c"
#include "snprintf.c"
-@@ -813,7 +815,7 @@
+@@ -826,7 +826,7 @@
method,
lib='nsl socket' + bsd_for_strlcpy,
addmain=False,
@@ -167,7 +155,7 @@
enum protocol_types get_Protocol(void)
--- a/source3/wscript
+++ b/source3/wscript
-@@ -137,7 +137,7 @@
+@@ -159,7 +159,7 @@
# Check for inotify support (Skip if we are SunOS)
#NOTE: illumos provides sys/inotify.h but is not an exact match for linux
@@ -176,7 +164,7 @@
if host_os.rfind('sunos') == -1:
conf.CHECK_HEADERS('sys/inotify.h')
if conf.env.HAVE_SYS_INOTIFY_H:
-@@ -416,8 +416,8 @@
+@@ -481,8 +481,8 @@
# FIXME: these should be tests for features, but the old build system just
# checks for OSes.
@@ -187,7 +175,7 @@
# Python doesn't have case switches... :/
# FIXME: original was *linux* | gnu* | k*bsd*-gnu | kopensolaris*-gnu | *qnx*)
-@@ -989,7 +989,7 @@
+@@ -1057,7 +1057,7 @@
''',
'USE_SETREUID',
addmain=False,
@@ -196,7 +184,7 @@
msg="Checking whether setreuid is available")
if not seteuid:
seteuid = conf.CHECK_CODE('''
-@@ -1055,7 +1055,7 @@
+@@ -1123,7 +1123,7 @@
''',
'HAVE_FCNTL_LOCK',
addmain=False,
@@ -269,7 +257,7 @@
/*@*/;
--- a/wscript
+++ b/wscript
-@@ -153,7 +153,7 @@
+@@ -182,7 +182,7 @@
conf.SAMBA_CHECK_PYTHON()
conf.SAMBA_CHECK_PYTHON_HEADERS()
@@ -278,7 +266,7 @@
# Mac OSX needs to have this and it's also needed that the python is compiled with this
# otherwise you face errors about common symbols
if not conf.CHECK_SHLIB_W_PYTHON("Checking if -fno-common is needed"):
-@@ -161,7 +161,7 @@
+@@ -190,7 +190,7 @@
if not conf.CHECK_SHLIB_W_PYTHON("Checking if -undefined dynamic_lookup is not need"):
conf.env.append_value('cshlib_LINKFLAGS', ['-undefined', 'dynamic_lookup'])
diff --git a/tools/depends/target/samba-gplv3/03-builtin-heimdal.patch b/tools/depends/target/samba-gplv3/03-builtin-heimdal.patch
index 58449953cb..9767ca948b 100644
--- a/tools/depends/target/samba-gplv3/03-builtin-heimdal.patch
+++ b/tools/depends/target/samba-gplv3/03-builtin-heimdal.patch
@@ -1,6 +1,6 @@
--- a/lib/ldb/wscript
+++ b/lib/ldb/wscript
-@@ -518,10 +518,6 @@
+@@ -519,10 +519,6 @@
install=False)
bld.SAMBA_BINARY('ldb_key_value_sub_txn_tdb_test',
diff --git a/tools/depends/target/samba-gplv3/05-apple-disable-zlib-pkgconfig.patch b/tools/depends/target/samba-gplv3/05-apple-disable-zlib-pkgconfig.patch
new file mode 100644
index 0000000000..97642ab5c8
--- /dev/null
+++ b/tools/depends/target/samba-gplv3/05-apple-disable-zlib-pkgconfig.patch
@@ -0,0 +1,11 @@
+--- a/wscript
++++ b/wscript
+@@ -198,7 +198,7 @@
+
+ conf.CHECK_CFG(package='zlib', minversion='1.2.3',
+ args='--cflags --libs',
+- mandatory=True)
++ mandatory=False)
+ conf.CHECK_FUNCS_IN('inflateInit2', 'z')
+
+ if conf.CHECK_FOR_THIRD_PARTY():
diff --git a/tools/depends/target/samba-gplv3/06-apple-fix-st_atim.patch b/tools/depends/target/samba-gplv3/06-apple-fix-st_atim.patch
new file mode 100644
index 0000000000..21b55af7bd
--- /dev/null
+++ b/tools/depends/target/samba-gplv3/06-apple-fix-st_atim.patch
@@ -0,0 +1,48 @@
+--- a/source3/libsmb/libsmb_stat.c
++++ b/source3/libsmb/libsmb_stat.c
+@@ -102,18 +102,18 @@ void setup_stat(struct stat *st,
+ }
+
+ st->st_dev = dev;
+- st->st_atim = access_time_ts;
+- st->st_ctim = change_time_ts;
+- st->st_mtim = write_time_ts;
++ st->st_atimespec = access_time_ts;
++ st->st_ctimespec = change_time_ts;
++ st->st_mtimespec = write_time_ts;
+ }
+
+ void setup_stat_from_stat_ex(const struct stat_ex *stex,
+ const char *fname,
+ struct stat *st)
+ {
+- st->st_atim = stex->st_ex_atime;
+- st->st_ctim = stex->st_ex_ctime;
+- st->st_mtim = stex->st_ex_mtime;
++ st->st_atimespec = stex->st_ex_atime;
++ st->st_ctimespec = stex->st_ex_ctime;
++ st->st_mtimespec = stex->st_ex_mtime;
+
+ st->st_mode = stex->st_ex_mode;
+ st->st_size = stex->st_ex_size;
+--- a/source4/torture/libsmbclient/libsmbclient.c
++++ b/source4/torture/libsmbclient/libsmbclient.c
+@@ -1231,8 +1231,8 @@ static bool torture_libsmbclient_utimes(struct torture_context *tctx)
+ ret = smbc_fstat(fhandle, &st);
+ torture_assert_int_not_equal(tctx, ret, -1, "smbc_fstat failed");
+
+- tbuf[0] = convert_timespec_to_timeval(st.st_atim);
+- tbuf[1] = convert_timespec_to_timeval(st.st_mtim);
++ tbuf[0] = convert_timespec_to_timeval(st.st_atimespec);
++ tbuf[1] = convert_timespec_to_timeval(st.st_mtimespec);
+
+ tbuf[1] = timeval_add(&tbuf[1], 0, 100000); /* 100 msec */
+
+@@ -1244,7 +1244,7 @@ static bool torture_libsmbclient_utimes(struct torture_context *tctx)
+
+ torture_assert_int_equal(
+ tctx,
+- st.st_mtim.tv_nsec / 1000,
++ st.st_mtimespec.tv_nsec / 1000,
+ tbuf[1].tv_usec,
+ "smbc_utimes did not update msec");
diff --git a/tools/depends/target/samba-gplv3/Makefile b/tools/depends/target/samba-gplv3/Makefile
index d046c25695..5c4765b81b 100644
--- a/tools/depends/target/samba-gplv3/Makefile
+++ b/tools/depends/target/samba-gplv3/Makefile
@@ -1,12 +1,13 @@
-include ../../Makefile.include
-DEPS= ../../Makefile.include Makefile 01-fix-dependencies.patch 02-cross_compile.patch 03-builtin-heimdal.patch 04-built-static.patch samba_android.patch no_fork_and_exec.patch crt_extensions.patch
-
-# lib name, version
-LIBNAME=samba
-VERSION=4.11.6
-SOURCE=$(LIBNAME)-$(VERSION)
-ARCHIVE=$(SOURCE).tar.gz
+include ../../Makefile.include SAMBA-GPLV3-VERSION ../../download-files.include
+DEPS= ../../Makefile.include Makefile SAMBA-GPLV3-VERSION ../../download-files.include \
+ 01-fix-dependencies.patch 02-cross_compile.patch \
+ 03-builtin-heimdal.patch 04-built-static.patch \
+ 05-apple-disable-zlib-pkgconfig.patch 06-apple-fix-st_atim.patch \
+ samba_android.patch \
+ no_fork_and_exec.patch \
+ crt_extensions.patch \
+# vfs_snapper requires dbus, so disable.
CONFIGURE=./configure --prefix=$(PREFIX) \
--cross-compile --cross-answers=cross-answers.txt \
--without-cluster-support --without-ldap \
@@ -18,6 +19,7 @@ CONFIGURE=./configure --prefix=$(PREFIX) \
--without-utmp --disable-iprint \
--nopyc --nopyo \
--builtin-libraries=!smbclient,!smbd_base,!smbstatus,ALL \
+ --with-shared-modules=!vfs_snapper \
--disable-python \
--disable-symbol-versions \
--without-json \
@@ -26,6 +28,25 @@ CONFIGURE=./configure --prefix=$(PREFIX) \
LIBDYLIB=$(PLATFORM)/bin/default/source3/libsmb/libsmbclient.a
+ifeq ($(OS), darwin_embedded)
+ # build errors with _yp_get_default_domain NIS failure
+ CFLAGS+= -Wno-error=implicit-function-declaration
+endif
+
+ifeq ($(findstring apple-darwin, $(HOST)), apple-darwin)
+ # perlmodule-parseyapp install location for darwin host
+ PERLMODULE=$(NATIVEPREFIX)/lib/perl5/site_perl
+else
+ ifeq ($(findstring -linux-, $(HOST)), -linux-)
+ # linux host installs to $NATIVEPREFIX/share with perl version as folder
+ # just do a find for the Parse folder to handle variable versions
+ location:=$(shell find $(NATIVEPREFIX)/share/ -type d -name Parse | sed 's|$(NATIVEPREFIX)/||' | sed 's|/Parse||')
+ PERLMODULE=$(NATIVEPREFIX)/$(location)
+ endif
+endif
+
+export PERL5LIB:=$(PERLMODULE):$(PERL5LIB)
+
export CC CXX CPP AR RANLIB LD AS NM STRIP TOOLCHAIN
export CFLAGS CXXFLAGS CPPFLAGS LDFLAGS
export HOST
@@ -33,10 +54,7 @@ export PKG_CONFIG_LIBDIR=$(PREFIX)/lib/pkgconfig
all: .installed-$(PLATFORM)
-$(TARBALLS_LOCATION)/$(ARCHIVE):
- cd $(TARBALLS_LOCATION); $(RETRIEVE_TOOL) $(RETRIEVE_TOOL_FLAGS) $(BASE_URL)/$(ARCHIVE)
-
-$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE) $(DEPS)
+$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE).$(HASH_TYPE) $(DEPS)
rm -rf $(PLATFORM); mkdir -p $(PLATFORM)
cd $(PLATFORM); $(ARCHIVE_TOOL) $(ARCHIVE_TOOL_FLAGS) $(TARBALLS_LOCATION)/$(ARCHIVE)
cd $(PLATFORM); patch -p1 -i ../01-fix-dependencies.patch
@@ -50,15 +68,11 @@ ifeq ($(OS), darwin_embedded)
cd $(PLATFORM); patch -p1 -i ../no_fork_and_exec.patch
cd $(PLATFORM); patch -p1 -i ../crt_extensions.patch
endif
- cd $(PLATFORM); $(CONFIGURE)
-ifeq (darwin, $(findstring darwin, $(HOST)))
-ifneq ($(TARGET_PLATFORM),appletvos)
- # clock_gettime is only available since macOS 10.12, iOS 10.0 and tvOS 10.0
- # build sytem doesn't include time.h for the check,
- # so the version guards have no effect
- sed -ie -E "s/#define (HAVE_(CLOCK_GETTIME|CLOCK_MONOTONIC|CLOCK_PROCESS_CPUTIME_ID|CLOCK_REALTIME)) 1/\/* #undef \1 *\//g" $(PLATFORM)/bin/default/include/config.h
-endif
+ifeq ($(findstring apple-darwin, $(HOST)), apple-darwin)
+ cd $(PLATFORM); patch -p1 -i ../05-apple-disable-zlib-pkgconfig.patch
+ cd $(PLATFORM); patch -p1 -i ../06-apple-fix-st_atim.patch
endif
+ cd $(PLATFORM); $(CONFIGURE)
$(LIBDYLIB): $(PLATFORM)
cd $(PLATFORM); WAF_MAKE=1 ./buildtools/bin/waf --targets=smbclient
diff --git a/tools/depends/target/samba-gplv3/SAMBA-GPLV3-VERSION b/tools/depends/target/samba-gplv3/SAMBA-GPLV3-VERSION
new file mode 100644
index 0000000000..57d2c983bf
--- /dev/null
+++ b/tools/depends/target/samba-gplv3/SAMBA-GPLV3-VERSION
@@ -0,0 +1,4 @@
+LIBNAME=samba
+VERSION=4.13.17
+ARCHIVE=$(LIBNAME)-$(VERSION).tar.gz
+SHA512=3f47cc588c370510a11a1d5dc1a9f64872d765a2940a0dd39f02718f9a81b134dda9c9cb593f291f2aa1657de65b26458adcda33369c0858e16edf7f088edaf4
diff --git a/tools/depends/target/samba-gplv3/no_fork_and_exec.patch b/tools/depends/target/samba-gplv3/no_fork_and_exec.patch
index dc158db408..fe678e061a 100644
--- a/tools/depends/target/samba-gplv3/no_fork_and_exec.patch
+++ b/tools/depends/target/samba-gplv3/no_fork_and_exec.patch
@@ -11,7 +11,7 @@
}
--- a/lib/util/fault.c
+++ b/lib/util/fault.c
-@@ -147,7 +147,7 @@
+@@ -137,7 +137,7 @@
snprintf(pidstr, sizeof(pidstr), "%d", (int) getpid());
all_string_sub(cmdstring, "%d", pidstr, sizeof(cmdstring));
DEBUG(0, ("smb_panic(): calling panic action [%s]\n", cmdstring));
@@ -42,7 +42,7 @@
"'%s': %s\n", command, strerror(errno));
--- a/lib/util/tfork.c
+++ b/lib/util/tfork.c
-@@ -510,7 +510,7 @@
+@@ -511,7 +511,7 @@
ready_pipe_worker_fd = p[0];
ready_pipe_caller_fd = p[1];
@@ -51,7 +51,7 @@
if (pid == -1) {
close(status_sp_caller_fd);
close(status_sp_waiter_fd);
-@@ -578,7 +578,7 @@
+@@ -580,7 +580,7 @@
close(event_pipe_caller_fd);
close(ready_pipe_caller_fd);
@@ -112,7 +112,7 @@
DEBUG(0,("smbrun: fork failed with error %s\n", strerror(errno) ));
(void)CatchSignal(SIGCLD, saved_handler);
if (outfd) {
-@@ -198,15 +198,6 @@
+@@ -193,15 +193,6 @@
exit(82);
}
@@ -128,7 +128,7 @@
SAFE_FREE(newcmd);
}
-@@ -268,7 +259,7 @@
+@@ -263,7 +254,7 @@
saved_handler = CatchChildLeaveStatus();
@@ -137,9 +137,9 @@
DEBUG(0, ("smbrunsecret: fork failed with error %s\n", strerror(errno)));
(void)CatchSignal(SIGCLD, saved_handler);
return errno;
-@@ -356,8 +347,6 @@
- }
- #endif
+@@ -346,8 +333,6 @@
+ 2 point to /dev/null from the startup code */
+ closefrom(3);
- execl("/bin/sh", "sh", "-c", cmd, NULL);
-
@@ -148,8 +148,8 @@
return 1;
--- a/source3/lib/util.c
+++ b/source3/lib/util.c
-@@ -838,7 +838,7 @@
- cmd = lp_panic_action(talloc_tos());
+@@ -840,7 +840,7 @@
+ cmd = lp_panic_action(talloc_tos(), lp_sub);
if (cmd && *cmd) {
DEBUG(0, ("smb_panic(): calling panic action [%s]\n", cmd));
- result = system(cmd);
diff --git a/tools/depends/target/samba-gplv3/samba_android.patch b/tools/depends/target/samba-gplv3/samba_android.patch
index f2f932df02..a81f2bee6d 100644
--- a/tools/depends/target/samba-gplv3/samba_android.patch
+++ b/tools/depends/target/samba-gplv3/samba_android.patch
@@ -1,8 +1,8 @@
--- a/lib/util/charset/iconv.c
+++ b/lib/util/charset/iconv.c
-@@ -28,6 +28,10 @@
- #include "libcli/util/ntstatus.h"
- #include "lib/util/util_str_hex.h"
+@@ -33,6 +33,10 @@
+ #include <unicode/utrans.h>
+ #endif
+#if defined(ANDROID) && (!defined(__ANDROID_API__) || __ANDROID_API__ < 28)
+#include <byteswap.h>
@@ -11,7 +11,7 @@
#ifdef strcasecmp
#undef strcasecmp
#endif
-@@ -592,6 +596,19 @@
+@@ -756,6 +756,19 @@
return 0;
}
@@ -58,7 +58,7 @@
goto fail;
--- a/nsswitch/libwbclient/wbc_sid.c
+++ b/nsswitch/libwbclient/wbc_sid.c
-@@ -1052,9 +1052,13 @@
+@@ -1054,9 +1054,13 @@
wbcFreeMemory(name);
diff --git a/tools/depends/target/samba/Makefile b/tools/depends/target/samba/Makefile
index f8f4c4fda0..fd2b770e00 100644
--- a/tools/depends/target/samba/Makefile
+++ b/tools/depends/target/samba/Makefile
@@ -1,5 +1,6 @@
include ../../Makefile.include
-DEPS= ../../Makefile.include Makefile samba30-3.0.37-configure.in.patch \
+DEPS = ../../Makefile.include Makefile ../../download-files.include
+ samba30-3.0.37-configure.in.patch \
samba30-3.0.37-CVE-2010-2063.patch \
samba30-3.0.37-silence-receive-warning.patch \
samba30-3.0.37-vfs_default.c.patch samba30-3.0.37-wle-fix.patch \
@@ -10,6 +11,8 @@ LIBNAME=samba
VERSION=3.0.37
SOURCE=$(LIBNAME)-$(VERSION)
ARCHIVE=$(SOURCE).tar.gz
+SHA512=7311a38abc271b461086d088a2a1b6ba74dc706c57cc34b18088e344e313e7a65f42ab6155a31f5467bc3f9e7bfb1d554288a1553d25503aed2a636f58868c6d
+include ../../download-files.include
# configuration settings
# android does not really support LFS but we can force it
@@ -49,10 +52,8 @@ LIBDYLIB=$(PLATFORM)/source/bin/libsmbclient.a
all: .installed-$(PLATFORM)
-$(TARBALLS_LOCATION)/$(ARCHIVE):
- cd $(TARBALLS_LOCATION); $(RETRIEVE_TOOL) $(RETRIEVE_TOOL_FLAGS) $(BASE_URL)/$(ARCHIVE)
-$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE) $(DEPS)
+$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE).$(HASH_TYPE) $(DEPS)
rm -rf $(PLATFORM); mkdir -p $(PLATFORM)
cd $(PLATFORM); $(ARCHIVE_TOOL) $(ARCHIVE_TOOL_FLAGS) $(TARBALLS_LOCATION)/$(ARCHIVE)
cd $(PLATFORM); patch -p1 -i ../samba30-3.0.37-configure.in.patch
diff --git a/tools/depends/target/spdlog/001-windows-pdb-symbol-gen.patch b/tools/depends/target/spdlog/001-windows-pdb-symbol-gen.patch
new file mode 100644
index 0000000000..242978553e
--- /dev/null
+++ b/tools/depends/target/spdlog/001-windows-pdb-symbol-gen.patch
@@ -0,0 +1,52 @@
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -239,6 +239,26 @@
+ endif()
+ endforeach()
+
++if(WIN32 OR WINDOWS_STORE)
++ set_target_properties(spdlog
++ PROPERTIES
++ COMPILE_PDB_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}
++ PDB_NAME spdlog
++ PDB_NAME_DEBUG spdlogd
++ COMPILE_PDB_NAME spdlog
++ COMPILE_PDB_NAME_DEBUG spdlogd
++ )
++ target_compile_options(spdlog PRIVATE /sdl-
++ /EHsc
++ /WX-
++ )
++ target_link_options(spdlog
++ PRIVATE
++ /INCREMENTAL:NO
++ /debug:full
++ )
++endif()
++
+ if(SPDLOG_NO_EXCEPTIONS AND NOT MSVC)
+ target_compile_options(spdlog PRIVATE -fno-exceptions)
+ endif()
+@@ -296,6 +316,22 @@
+ endif()
+
+ # ---------------------------------------------------------------------------------------
++ # Windows PDB debug files
++ # ---------------------------------------------------------------------------------------
++ if(WIN32 OR WINDOWS_STORE)
++ install(FILES
++ ${PROJECT_BINARY_DIR}/Debug/spdlogd.pdb
++ DESTINATION lib
++ CONFIGURATIONS Debug
++ )
++ install(FILES
++ ${PROJECT_BINARY_DIR}/RelWithDebInfo/spdlog.pdb
++ DESTINATION lib
++ CONFIGURATIONS RelWithDebInfo
++ )
++ endif()
++
++ # ---------------------------------------------------------------------------------------
+ # Install pkg-config file
+ # ---------------------------------------------------------------------------------------
+ get_target_property(PKG_CONFIG_DEFINES spdlog INTERFACE_COMPILE_DEFINITIONS)
diff --git a/tools/depends/target/spdlog/Makefile b/tools/depends/target/spdlog/Makefile
new file mode 100644
index 0000000000..f2ca418865
--- /dev/null
+++ b/tools/depends/target/spdlog/Makefile
@@ -0,0 +1,66 @@
+-include ../../Makefile.include
+include SPDLOG-VERSION
+DEPS = Makefile SPDLOG-VERSION ../../download-files.include \
+ 001-windows-pdb-symbol-gen.patch
+
+CMAKE_OPTIONS= \
+ -DSPDLOG_BUILD_EXAMPLE=OFF \
+ -DSPDLOG_BUILD_TESTS=OFF \
+ -DSPDLOG_BUILD_BENCH=OFF \
+ -DSPDLOG_INSTALL=ON \
+ -DSPDLOG_FMT_EXTERNAL=ON
+
+ifeq ($(CROSS_COMPILING), yes)
+ DEPS += ../../Makefile.include
+else
+ CXXFLAGS += -std=c++17
+ ROOT_DIR := $(shell dirname $(realpath $(lastword $(MAKEFILE_LIST))))
+
+ ifeq ($(PLATFORM),)
+ PLATFORM = native
+ TARBALLS_LOCATION = $(ROOT_DIR)
+ BASE_URL := http://mirrors.kodi.tv/build-deps/sources
+ RETRIEVE_TOOL := curl
+ RETRIEVE_TOOL_FLAGS := -Ls --create-dirs -f -O
+ ARCHIVE_TOOL := tar
+ ARCHIVE_TOOL_FLAGS := --strip-components=1 -xf
+ CMAKE := cmake -DCMAKE_INSTALL_PREFIX=$(PREFIX) -DCMAKE_PREFIX_PATH=$(PREFIX)
+ HASH_TOOL := sha512sum
+ HASH_TOOL_FLAGS = -c --status
+ endif
+endif
+
+LIBDYLIB=$(PLATFORM)/build/$(BYPRODUCT)
+
+include ../../download-files.include
+
+.PHONY: .installed-native
+
+all: .installed-$(PLATFORM)
+
+download: $(TARBALLS_LOCATION)/$(ARCHIVE)
+
+$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE).$(HASH_TYPE) $(DEPS)
+ifeq ($(PREFIX),)
+ @echo
+ @echo "ERROR: please set PREFIX to the kodi install path e.g. make PREFIX=/usr/local"
+ @exit 1
+endif
+ rm -rf $(PLATFORM); mkdir -p $(PLATFORM)/build
+ cd $(PLATFORM); $(ARCHIVE_TOOL) $(ARCHIVE_TOOL_FLAGS) $(TARBALLS_LOCATION)/$(ARCHIVE)
+ cd $(PLATFORM); patch -p1 -i ../001-windows-pdb-symbol-gen.patch
+ cd $(PLATFORM)/build; $(CMAKE) $(CMAKE_OPTIONS) ..
+
+$(LIBDYLIB): $(PLATFORM)
+ $(MAKE) -C $(PLATFORM)/build
+
+.installed-$(PLATFORM): $(PLATFORM)
+ $(MAKE) -C $(PLATFORM)/build install
+ touch $@
+
+clean:
+ $(MAKE) -C $(PLATFORM)/build clean
+ rm -f .installed-$(PLATFORM)
+
+distclean:
+ rm -rf $(PLATFORM) .installed-$(PLATFORM)
diff --git a/tools/depends/target/spdlog/SPDLOG-VERSION b/tools/depends/target/spdlog/SPDLOG-VERSION
new file mode 100644
index 0000000000..297caea1ba
--- /dev/null
+++ b/tools/depends/target/spdlog/SPDLOG-VERSION
@@ -0,0 +1,6 @@
+LIBNAME=spdlog
+VERSION=1.10.0
+ARCHIVE=$(LIBNAME)-$(VERSION).tar.gz
+SHA512=e82ec0a0c813ed2f1c8a31a0f21dbb733d0a7bd8d05284feae3bd66040bc53ad47a93b26c3e389c7e5623cfdeba1854d690992c842748e072aab3e6e6ecc5666
+BYPRODUCT=libspdlog.a
+BYPRODUCT_WIN=spdlog.lib
diff --git a/tools/depends/target/sqlite3/001-Disable-sqlite3bin.patch b/tools/depends/target/sqlite3/001-Disable-sqlite3bin.patch
new file mode 100644
index 0000000000..4500b0259b
--- /dev/null
+++ b/tools/depends/target/sqlite3/001-Disable-sqlite3bin.patch
@@ -0,0 +1,16 @@
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -4,13 +4,6 @@
+ libsqlite3_la_SOURCES = sqlite3.c
+ libsqlite3_la_LDFLAGS = -no-undefined -version-info 8:6:8
+
+-bin_PROGRAMS = sqlite3
+-sqlite3_SOURCES = shell.c sqlite3.h
+-EXTRA_sqlite3_SOURCES = sqlite3.c
+-sqlite3_LDADD = @EXTRA_SHELL_OBJ@ @READLINE_LIBS@
+-sqlite3_DEPENDENCIES = @EXTRA_SHELL_OBJ@
+-sqlite3_CFLAGS = $(AM_CFLAGS) -DSQLITE_ENABLE_EXPLAIN_COMMENTS -DSQLITE_ENABLE_DBPAGE_VTAB -DSQLITE_ENABLE_STMTVTAB -DSQLITE_ENABLE_DBSTAT_VTAB $(SHELL_CFLAGS)
+-
+ include_HEADERS = sqlite3.h sqlite3ext.h
+
+ EXTRA_DIST = sqlite3.1 tea Makefile.msc sqlite3.rc sqlite3rc.h README.txt Replace.cs Makefile.fallback
diff --git a/tools/depends/target/sqlite3/Makefile b/tools/depends/target/sqlite3/Makefile
index 640042f9d8..a09a03a9f8 100644
--- a/tools/depends/target/sqlite3/Makefile
+++ b/tools/depends/target/sqlite3/Makefile
@@ -1,35 +1,27 @@
-include ../../Makefile.include
-DEPS= ../../Makefile.include Makefile sqlite3.c.patch
-
-# lib name, version
-LIBNAME=sqlite
-VERSION=3260000
-SOURCE=$(LIBNAME)-autoconf-$(VERSION)
-ARCHIVE=$(SOURCE).tar.gz
+include ../../Makefile.include SQLITE3-VERSION ../../download-files.include
+DEPS = ../../Makefile.include SQLITE3-VERSION Makefile ../../download-files.include \
+ 001-Disable-sqlite3bin.patch \
+ sqlite3.c.patch
# configuration settings
export CXXFLAGS+=-DSQLITE_ENABLE_COLUMN_METADATA=1
export CFLAGS+=-DSQLITE_TEMP_STORE=3 -DSQLITE_DEFAULT_MMAP_SIZE=0x10000000
CONFIGURE=cp -f $(CONFIG_SUB) $(CONFIG_GUESS) .; \
- ./configure --prefix=$(PREFIX) --disable-shared \
- --enable-threadsafe --disable-readline \
+ ./configure --prefix=$(PREFIX) --disable-shared --enable-threadsafe --disable-readline
LIBDYLIB=$(PLATFORM)/.libs/lib$(LIBNAME)3.a
all: .installed-$(PLATFORM)
-$(TARBALLS_LOCATION)/$(ARCHIVE):
- cd $(TARBALLS_LOCATION); $(RETRIEVE_TOOL) $(RETRIEVE_TOOL_FLAGS) $(BASE_URL)/$(ARCHIVE)
-
-$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE) $(DEPS)
+$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE).$(HASH_TYPE) $(DEPS)
rm -rf $(PLATFORM)/*; mkdir -p $(PLATFORM)
cd $(PLATFORM); $(ARCHIVE_TOOL) $(ARCHIVE_TOOL_FLAGS) $(TARBALLS_LOCATION)/$(ARCHIVE)
+ # do not build the program sqlite3
+ cd $(PLATFORM); patch -p1 -i ../001-Disable-sqlite3bin.patch
# seems MAP_POPULATE is broken on aarch64
ifneq ($(OS),android)
cd $(PLATFORM); patch -p1 -i ../sqlite3.c.patch
endif
- # do not build the program sqlite3
- sed -ie "s|bin_PROGRAMS = sqlite3||" "$(PLATFORM)/Makefile.am";
cd $(PLATFORM); $(AUTORECONF) -vif
cd $(PLATFORM); $(CONFIGURE)
@@ -46,4 +38,3 @@ clean:
distclean::
rm -rf $(PLATFORM) .installed-$(PLATFORM)
-
diff --git a/tools/depends/target/sqlite3/SQLITE3-VERSION b/tools/depends/target/sqlite3/SQLITE3-VERSION
new file mode 100644
index 0000000000..ef3e9d99c4
--- /dev/null
+++ b/tools/depends/target/sqlite3/SQLITE3-VERSION
@@ -0,0 +1,4 @@
+LIBNAME=sqlite
+VERSION=3360000
+ARCHIVE=$(LIBNAME)-autoconf-$(VERSION).tar.gz
+SHA512=e59c57f421b4956c7759af528a2da929167e15179ab9d28267474683e2272f93c901203e5a648732f1a3d43e7be3ac4217c3cdd7adf108c378b9127b771a7cd0
diff --git a/tools/depends/target/sqlite3/sqlite3.c.patch b/tools/depends/target/sqlite3/sqlite3.c.patch
index 9def81e522..02c9b152c4 100644
--- a/tools/depends/target/sqlite3/sqlite3.c.patch
+++ b/tools/depends/target/sqlite3/sqlite3.c.patch
@@ -1,6 +1,6 @@
--- a/sqlite3.c
+++ b/sqlite3.c
-@@ -37359,8 +37359,12 @@
+@@ -39226,8 +39226,12 @@
#if HAVE_MREMAP
pNew = osMremap(pOrig, nReuse, nNew, MREMAP_MAYMOVE);
zErr = "mremap";
@@ -13,7 +13,7 @@
if( pNew!=MAP_FAILED ){
if( pNew!=pReq ){
osMunmap(pNew, nNew - nReuse);
-@@ -37379,7 +37383,11 @@
+@@ -39246,7 +39246,11 @@
/* If pNew is still NULL, try to create an entirely new mapping. */
if( pNew==0 ){
diff --git a/tools/depends/target/taglib/001-cmake-pdb-debug.patch b/tools/depends/target/taglib/001-cmake-pdb-debug.patch
new file mode 100644
index 0000000000..f410cc33cf
--- /dev/null
+++ b/tools/depends/target/taglib/001-cmake-pdb-debug.patch
@@ -0,0 +1,29 @@
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -58,6 +58,11 @@
+ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall")
+ endif()
+
++set(CMAKE_DEBUG_POSTFIX "d")
++if(MSVC)
++ add_definitions(-D_CRT_SECURE_NO_DEPRECATE -D_CRT_NONSTDC_NO_DEPRECATE)
++endif()
++
+ if(MSVC AND ENABLE_STATIC_RUNTIME)
+ foreach(flag_var CMAKE_CXX_FLAGS CMAKE_CXX_FLAGS_DEBUG CMAKE_CXX_FLAGS_RELEASE CMAKE_CXX_FLAGS_MINSIZEREL CMAKE_CXX_FLAGS_RELWITHDEBINFO)
+ string(REGEX REPLACE "/MD" "/MT" ${flag_var} "${${flag_var}}")
+--- a/taglib/CMakeLists.txt
++++ b/taglib/CMakeLists.txt
+@@ -341,6 +341,12 @@
+ target_link_libraries(tag ${ZLIB_LIBRARIES})
+ endif()
+
++if(MSVC)
++ set_target_properties(tag PROPERTIES COMPILE_PDB_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR} COMPILE_PDB_NAME tag COMPILE_PDB_NAME_DEBUG tagd)
++ install(FILES ${PROJECT_BINARY_DIR}/RelWithDebInfo/tag.pdb DESTINATION lib CONFIGURATIONS RelWithDebInfo)
++ install(FILES ${PROJECT_BINARY_DIR}/Debug/tagd.pdb DESTINATION lib CONFIGURATIONS Debug)
++endif(MSVC)
++
+ set_target_properties(tag PROPERTIES
+ VERSION ${TAGLIB_SOVERSION_MAJOR}.${TAGLIB_SOVERSION_MINOR}.${TAGLIB_SOVERSION_PATCH}
+ SOVERSION ${TAGLIB_SOVERSION_MAJOR}
diff --git a/tools/depends/target/taglib/ID3v2Lookup.patch b/tools/depends/target/taglib/ID3v2Lookup.patch
deleted file mode 100644
index 297802d9ff..0000000000
--- a/tools/depends/target/taglib/ID3v2Lookup.patch
+++ /dev/null
@@ -1,70 +0,0 @@
-From d2e0e5522308ce4c905c205c7bf5972ea71cd6e5 Mon Sep 17 00:00:00 2001
-From: Tsuda Kageyu <tsuda.kageyu@gmail.com>
-Date: Fri, 20 Jan 2017 21:14:38 +0900
-Subject: [PATCH] Efficient lookup for an ID3v2 tag in MPEG files with garbage.
-
-This looks for an ID3v2 tag until reaching the first valid MPEG frame in O(n) time.
----
- taglib/mpeg/mpegfile.cpp | 45 +++++++++++++++++++++++++++++----------------
- 1 file changed, 29 insertions(+), 16 deletions(-)
-
---- a/taglib/mpeg/mpegfile.cpp
-+++ b/taglib/mpeg/mpegfile.cpp
-@@ -488,28 +488,41 @@
- const ByteVector headerID = ID3v2::Header::fileIdentifier();
-
- seek(0);
-+ if(readBlock(headerID.size()) == headerID)
-+ return 0;
-
-- const ByteVector data = readBlock(headerID.size());
-- if(data.size() < headerID.size())
-+ Header firstHeader(this, 0, true);
-+ if(firstHeader.isValid())
- return -1;
-
-- if(data == headerID)
-- return 0;
-+ // Look for an ID3v2 tag until reaching the first valid MPEG frame.
-
-- if(firstSyncByte(data[0]) && secondSynchByte(data[1]))
-- return -1;
-+ char frameSyncBytes[2] = {};
-+ char tagHeaderBytes[4] = {};
-+ long position = 0;
-
-- // Look for the entire file, if neither an MEPG frame or ID3v2 tag was found
-- // at the beginning of the file.
-- // We don't care about the inefficiency of the code, since this is a seldom case.
-+ while(true) {
-+ seek(position);
-+ const ByteVector buffer = readBlock(bufferSize());
-+ if(buffer.isEmpty())
-+ return -1;
-
-- const long tagOffset = find(headerID);
-- if(tagOffset < 0)
-- return -1;
-+ for(unsigned int i = 0; i < buffer.size(); ++i) {
-+ frameSyncBytes[0] = frameSyncBytes[1];
-+ frameSyncBytes[1] = buffer[i];
-+ if(firstSyncByte(frameSyncBytes[0]) && secondSynchByte(frameSyncBytes[1])) {
-+ Header header(this, position + i - 1, true);
-+ if(header.isValid())
-+ return -1;
-+ }
-
-- const long frameOffset = firstFrameOffset();
-- if(frameOffset < tagOffset)
-- return -1;
-+ tagHeaderBytes[0] = tagHeaderBytes[1];
-+ tagHeaderBytes[1] = tagHeaderBytes[2];
-+ tagHeaderBytes[2] = buffer[i];
-+ if(headerID == tagHeaderBytes)
-+ return position + i - 2;
-+ }
-
-- return tagOffset;
-+ position += bufferSize();
-+ }
- }
diff --git a/tools/depends/target/taglib/Makefile b/tools/depends/target/taglib/Makefile
index 9f8b09edab..2ae922950e 100644
--- a/tools/depends/target/taglib/Makefile
+++ b/tools/depends/target/taglib/Makefile
@@ -1,31 +1,22 @@
-include ../../Makefile.include
-DEPS= ../../Makefile.include Makefile ID3v2Lookup.patch remove-boost.patch
+include ../../Makefile.include TAGLIB-VERSION ../../download-files.include
+DEPS = ../../Makefile.include Makefile TAGLIB-VERSION ../../download-files.include \
+ 001-cmake-pdb-debug.patch
-LIBNAME=taglib
-VERSION=1.11.1
-SOURCE=$(LIBNAME)-$(VERSION)
-ARCHIVE=$(LIBNAME)-$(VERSION).tar.gz
-
-LIBDYLIB=$(PLATFORM)/build/$(LIBNAME)/libtag.a
+LIBDYLIB=$(PLATFORM)/build/$(LIBNAME)/$(BYPRODUCT)
all: .installed-$(PLATFORM)
-$(TARBALLS_LOCATION)/$(ARCHIVE):
- cd $(TARBALLS_LOCATION); $(RETRIEVE_TOOL) $(RETRIEVE_TOOL_FLAGS) $(BASE_URL)/$(ARCHIVE)
-
-$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE) $(DEPS)
+$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE).$(HASH_TYPE) $(DEPS)
rm -rf $(PLATFORM); mkdir -p $(PLATFORM)
cd $(PLATFORM); $(ARCHIVE_TOOL) $(ARCHIVE_TOOL_FLAGS) $(TARBALLS_LOCATION)/$(ARCHIVE)
cd $(PLATFORM); rm -rf build; mkdir -p build
- cd $(PLATFORM); patch -p1 -i ../ID3v2Lookup.patch
- cd $(PLATFORM); patch -p1 -i ../remove-boost.patch
- cd $(PLATFORM)/build; $(CMAKE) -DCMAKE_LIBRARY_PATH=$(TOOLCHAIN)/lib/$(HOST) -DBUILD_SHARED_LIBS=OFF ..
+ cd $(PLATFORM)/build; $(CMAKE) -DBUILD_SHARED_LIBS=OFF -DBUILD_BINDINGS=OFF -DCMAKE_BUILD_TYPE=Debug ..
$(LIBDYLIB): $(PLATFORM)
$(MAKE) -C $(PLATFORM)/build
touch $@
+
.installed-$(PLATFORM): $(LIBDYLIB)
$(MAKE) -C $(PLATFORM)/build install
- rm -f $(PREFIX)/lib/libtag_c.*
touch $@
clean:
diff --git a/tools/depends/target/taglib/TAGLIB-VERSION b/tools/depends/target/taglib/TAGLIB-VERSION
new file mode 100644
index 0000000000..8f980b0b26
--- /dev/null
+++ b/tools/depends/target/taglib/TAGLIB-VERSION
@@ -0,0 +1,6 @@
+LIBNAME=taglib
+VERSION=1.12
+ARCHIVE=$(LIBNAME)-$(VERSION).tar.gz
+SHA512=7e369faa5e3c6c6401052b7a19e35b0cf8c1e5ed9597053ac731a7718791d5d4803d1b18a93e903ec8c3fc6cb92e34d9616daa2ae4d326965d4c4d5624dcdaba
+BYPRODUCT=libtag.a
+BYPRODUCT_WIN=tag.lib
diff --git a/tools/depends/target/taglib/remove-boost.patch b/tools/depends/target/taglib/remove-boost.patch
deleted file mode 100644
index aeb5452b90..0000000000
--- a/tools/depends/target/taglib/remove-boost.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-From de87cd7736d52302db330c830adae50b1e667954 Mon Sep 17 00:00:00 2001
-From: Tsuda Kageyu <tsuda.kageyu@gmail.com>
-Date: Tue, 20 Dec 2016 12:06:21 +0900
-Subject: [PATCH] Remove the CMake check for Boost I missed out on.
-
----
- ConfigureChecks.cmake | 7 -------
- 1 file changed, 7 deletions(-)
-
---- a/ConfigureChecks.cmake
-+++ b/ConfigureChecks.cmake
-@@ -34,13 +34,6 @@
- message(FATAL_ERROR "TagLib requires that double is 64-bit wide.")
- endif()
-
--# Enable check_cxx_source_compiles() to work with Boost "header-only" libraries.
--
--find_package(Boost)
--if(Boost_FOUND)
-- set(CMAKE_REQUIRED_INCLUDES "${CMAKE_REQUIRED_INCLUDES};${Boost_INCLUDE_DIRS}")
--endif()
--
- # Determine which kind of atomic operations your compiler supports.
-
- check_cxx_source_compiles("
diff --git a/tools/depends/target/tinyxml/Makefile b/tools/depends/target/tinyxml/Makefile
index 70a7e4ee63..38a7b63d3c 100644
--- a/tools/depends/target/tinyxml/Makefile
+++ b/tools/depends/target/tinyxml/Makefile
@@ -1,11 +1,13 @@
include ../../Makefile.include
-DEPS= ../../Makefile.include Makefile
+DEPS = ../../Makefile.include Makefile ../../download-files.include
# lib name, version
LIBNAME=tinyxml
VERSION=2.6.2_2
SOURCE=$(LIBNAME)-$(VERSION)
ARCHIVE=$(SOURCE).tar.gz
+SHA512=01b5c564c29f151b076ff47211404e3b203d9d12071054c11c0eca84f2bba7c3fe90936d6580f6045ea9c204435f8b19e77e56ad5fae05241d311222b898eacf
+include ../../download-files.include
# configuration settings
CONFIGURE=./configure --prefix=$(PREFIX) --disable-shared
@@ -15,10 +17,8 @@ LIBDYLIB=$(PLATFORM)/src/.libs/libtinyxml.a
all: .installed-$(PLATFORM)
-$(TARBALLS_LOCATION)/$(ARCHIVE):
- cd $(TARBALLS_LOCATION); $(RETRIEVE_TOOL) $(RETRIEVE_TOOL_FLAGS) $(BASE_URL)/$(ARCHIVE)
-$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE) $(DEPS)
+$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE).$(HASH_TYPE) $(DEPS)
rm -rf $(PLATFORM); mkdir -p $(PLATFORM)
cd $(PLATFORM); $(ARCHIVE_TOOL) $(ARCHIVE_TOOL_FLAGS) $(TARBALLS_LOCATION)/$(ARCHIVE)
cd $(PLATFORM); $(AUTORECONF) -vif
diff --git a/tools/depends/target/udfread/Makefile b/tools/depends/target/udfread/Makefile
new file mode 100644
index 0000000000..1658a094f9
--- /dev/null
+++ b/tools/depends/target/udfread/Makefile
@@ -0,0 +1,43 @@
+-include ../../Makefile.include
+include UDFREAD-VERSION
+DEPS = Makefile UDFREAD-VERSION ../../download-files.include ../../download-files.include
+
+ifeq ($(CROSS_COMPILING), yes)
+ DEPS += ../../Makefile.include
+else
+ ROOT_DIR := $(shell dirname $(realpath $(lastword $(MAKEFILE_LIST))))
+ TARBALLS_LOCATION ?= $(ROOT_DIR)
+ BASE_URL ?= http://mirrors.kodi.tv/build-deps/sources
+ RETRIEVE_TOOL := curl -Ls --retry 10 --retry-delay 3 -o $(ARCHIVE)
+ ARCHIVE_TOOL := tar --strip-components=1 -xf
+endif
+
+include ../../download-files.include
+
+# configuration settings
+CONFIGURE = ./configure --prefix=$(PREFIX) --disable-shared --enable-static
+
+LIBDYLIB=$(PLATFORM)/.libs/$(BYPRODUCT)
+
+all: .installed-$(PLATFORM)
+download: $(TARBALLS_LOCATION)/$(ARCHIVE)
+
+$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE).$(HASH_TYPE) $(DEPS)
+ rm -rf $(PLATFORM)/*; mkdir -p $(PLATFORM)
+ cd $(PLATFORM); $(ARCHIVE_TOOL) $(ARCHIVE_TOOL_FLAGS) $(TARBALLS_LOCATION)/$(ARCHIVE)
+ cd $(PLATFORM); $(AUTORECONF) -vif
+ cd $(PLATFORM); $(CONFIGURE)
+
+$(LIBDYLIB): $(PLATFORM)
+ $(MAKE) -C $(PLATFORM)
+
+.installed-$(PLATFORM): $(LIBDYLIB)
+ $(MAKE) -C $(PLATFORM) install
+ touch $@
+
+clean:
+ $(MAKE) -C $(PLATFORM) clean
+ rm -f .installed-$(PLATFORM)
+
+distclean:
+ rm -rf $(PLATFORM) .installed-$(PLATFORM)
diff --git a/tools/depends/target/udfread/UDFREAD-VERSION b/tools/depends/target/udfread/UDFREAD-VERSION
new file mode 100644
index 0000000000..64c5a41007
--- /dev/null
+++ b/tools/depends/target/udfread/UDFREAD-VERSION
@@ -0,0 +1,5 @@
+LIBNAME=udfread
+VERSION=1.1.2
+ARCHIVE=lib$(LIBNAME)-$(VERSION).tar.gz
+SHA512=3069feb5db40288beb5b112b285186162a704f0fdd3cf67a17fd4eeea015f2cfcfbb455b7aa7c3d79d00fd095a3fd11cffc7b121dce94d99c3b06a509a8977d2
+BYPRODUCT=libudfread.a
diff --git a/tools/depends/target/wayland-protocols/Makefile b/tools/depends/target/wayland-protocols/Makefile
index 340eb41a74..97374ef89b 100644
--- a/tools/depends/target/wayland-protocols/Makefile
+++ b/tools/depends/target/wayland-protocols/Makefile
@@ -1,11 +1,13 @@
-include ../../Makefile.include
-DEPS=Makefile
+DEPS =Makefile ../../download-files.include
# lib name, version
LIBNAME=wayland-protocols
-VERSION=1.12
+VERSION=1.20
SOURCE=$(LIBNAME)-$(VERSION)
-ARCHIVE=$(SOURCE).tar.xz
+ARCHIVE=$(SOURCE).tar.gz
+SHA512=56c99b1534ca12e094c0ba1a7d38e7551d38dd7dea80d1a35ae4cd60e8b28ddbd8f00374394da871bbfc91aa3a42f77ebed7d62a8fe6165684a385f2028a1bf4
+include ../../download-files.include
ifeq ($(PLATFORM),)
# Building stand-alone
@@ -25,10 +27,8 @@ CONFIGURE=./configure --prefix=$(PREFIX)
all: .installed-$(PLATFORM)
-$(TARBALLS_LOCATION)/$(ARCHIVE):
- cd $(TARBALLS_LOCATION); $(RETRIEVE_TOOL) $(RETRIEVE_TOOL_FLAGS) $(BASE_URL)/$(ARCHIVE)
-$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE) $(DEPS)
+$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE).$(HASH_TYPE) $(DEPS)
ifeq ($(PREFIX),)
@echo
@echo "ERROR: please set PREFIX to the kodi install path e.g. make PREFIX=/usr/local"
@@ -36,10 +36,12 @@ ifeq ($(PREFIX),)
endif
rm -rf $(PLATFORM)/*; mkdir -p $(PLATFORM)
cd $(PLATFORM); $(ARCHIVE_TOOL) $(ARCHIVE_TOOL_FLAGS) $(TARBALLS_LOCATION)/$(ARCHIVE)
+ cd $(PLATFORM); $(AUTORECONF) -vif
cd $(PLATFORM); $(CONFIGURE)
.installed-$(PLATFORM): $(PLATFORM)
$(MAKE) -C $(PLATFORM) install
+ ln -sf $(PREFIX)/share/pkgconfig/wayland-protocols.pc $(PREFIX)/lib/pkgconfig/wayland-protocols.pc
touch $@
clean:
diff --git a/tools/depends/target/wayland/Makefile b/tools/depends/target/wayland/Makefile
index 49de928782..e4950ff2e9 100644
--- a/tools/depends/target/wayland/Makefile
+++ b/tools/depends/target/wayland/Makefile
@@ -1,11 +1,13 @@
include ../../Makefile.include
-DEPS=../../Makefile.include Makefile
+DEPS =../../Makefile.include Makefile ../../download-files.include
# lib name, version
LIBNAME=wayland
-VERSION=1.13.0
+VERSION=1.17.0
SOURCE=$(LIBNAME)-$(VERSION)
ARCHIVE=$(SOURCE).tar.xz
+SHA512=c5051aab5ff078b368c196ecfedb33ccd961265bb914845d7ed81de361bb86ae18299575baa6c4eceb0d82cf8b495e8293f31b51d1cbc05d84af0a199ab3f946
+include ../../download-files.include
# configuration settings
CONFIGURE=./configure --prefix=$(PREFIX) --with-host-scanner --disable-documentation --disable-dtd-validation
@@ -14,10 +16,8 @@ LIBDYLIB=$(PLATFORM)/.libs/libwayland-client.la
all: .installed-$(PLATFORM)
-$(TARBALLS_LOCATION)/$(ARCHIVE):
- cd $(TARBALLS_LOCATION); $(RETRIEVE_TOOL) $(RETRIEVE_TOOL_FLAGS) $(BASE_URL)/$(ARCHIVE)
-$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE) $(DEPS)
+$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE).$(HASH_TYPE) $(DEPS)
rm -rf $(PLATFORM)/*; mkdir -p $(PLATFORM)
cd $(PLATFORM); $(ARCHIVE_TOOL) $(ARCHIVE_TOOL_FLAGS) $(TARBALLS_LOCATION)/$(ARCHIVE)
cd $(PLATFORM); $(CONFIGURE)
@@ -27,6 +27,11 @@ $(LIBDYLIB): $(PLATFORM)
.installed-$(PLATFORM): $(LIBDYLIB)
$(MAKE) -C $(PLATFORM) install
+
+ # remove the target wayland scanner from the sysroot. We only want to use the native one
+ rm -f $(PREFIX)/bin/wayland-scanner
+ rm -f $(PREFIX)/lib/pkgconfig/wayland-scanner.pc
+ ln -sf $(NATIVEPREFIX)/lib/pkgconfig/wayland-scanner.pc $(PREFIX)/lib/pkgconfig/wayland-scanner.pc
touch $@
clean:
diff --git a/tools/depends/target/waylandpp/Makefile b/tools/depends/target/waylandpp/Makefile
index 94018f3393..c7e264c0aa 100644
--- a/tools/depends/target/waylandpp/Makefile
+++ b/tools/depends/target/waylandpp/Makefile
@@ -1,13 +1,15 @@
-include ../../Makefile.include
-DEPS=Makefile
+DEPS =Makefile ../../download-files.include
# lib name, version
LIBNAME=waylandpp
-VERSION=0.2.3
+VERSION=0.2.8
SOURCE=$(LIBNAME)-$(VERSION)
ARCHIVE=$(SOURCE).tar.gz
+SHA512=bf1b8a9e69b87547fc65989b9eaff88a442d8b2f01f5446cef960000b093390b1e557536837fbf38bb6d9a4f93e3985ea34c3253f94925b0f571b4606c980832
+include ../../download-files.include
-LIBDYLIB=$(PLATFORM)/src/libwayland-client++.so
+LIBDYLIB=$(PLATFORM)/build/libwayland-client++.so
ifeq ($(PLATFORM),)
# Building stand-alone
@@ -30,10 +32,8 @@ BUILDDIR = $(PLATFORM)/build
all: .installed-$(PLATFORM)
-$(TARBALLS_LOCATION)/$(ARCHIVE):
- cd $(TARBALLS_LOCATION); $(RETRIEVE_TOOL) $(RETRIEVE_TOOL_FLAGS) $(BASE_URL)/$(ARCHIVE)
-$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE) $(DEPS)
+$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE).$(HASH_TYPE) $(DEPS)
ifeq ($(PREFIX),)
@echo
@echo "ERROR: please set PREFIX to the kodi install path e.g. make PREFIX=/usr/local"
@@ -49,6 +49,9 @@ $(LIBDYLIB): $(PLATFORM)
.installed-$(PLATFORM): $(LIBDYLIB)
$(MAKE) -C $(BUILDDIR) install
+
+ # We want to use the native wayland-scanner++
+ ln -sf $(NATIVEPREFIX)/lib/pkgconfig/wayland-scanner++.pc $(PREFIX)/lib/pkgconfig/wayland-scanner++.pc
touch $@
clean:
diff --git a/tools/depends/target/xz/Makefile b/tools/depends/target/xz/Makefile
new file mode 100644
index 0000000000..95e46b51ad
--- /dev/null
+++ b/tools/depends/target/xz/Makefile
@@ -0,0 +1,28 @@
+include ../../Makefile.include XZ-VERSION ../../download-files.include
+DEPS = ../../Makefile.include Makefile XZ-VERSION ../../download-files.include
+
+# configuration settings
+CONFIGURE=./configure --prefix=$(PREFIX) --disable-shared --disable-assembler --disable-lzmainfo --disable-lzma-links --disable-scripts --disable-doc
+
+LIBDYLIB=$(PLATFORM)/src/liblzma/liblzma.a
+
+all: .installed-$(PLATFORM)
+
+$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE).$(HASH_TYPE) $(DEPS)
+ rm -rf $(PLATFORM)/*; mkdir -p $(PLATFORM)
+ cd $(PLATFORM); $(ARCHIVE_TOOL) $(ARCHIVE_TOOL_FLAGS) $(TARBALLS_LOCATION)/$(ARCHIVE)
+ cd $(PLATFORM); $(CONFIGURE)
+
+$(LIBDYLIB): $(PLATFORM)
+ $(MAKE) -C $(PLATFORM)
+
+.installed-$(PLATFORM): $(LIBDYLIB)
+ $(MAKE) -C $(PLATFORM) install
+ touch $@
+
+clean:
+ $(MAKE) -C $(PLATFORM) clean
+ rm -f .installed-$(PLATFORM)
+
+distclean::
+ rm -rf $(PLATFORM) .installed-$(PLATFORM)
diff --git a/tools/depends/target/xz/XZ-VERSION b/tools/depends/target/xz/XZ-VERSION
new file mode 100644
index 0000000000..288df10b58
--- /dev/null
+++ b/tools/depends/target/xz/XZ-VERSION
@@ -0,0 +1,4 @@
+LIBNAME=xz
+VERSION=5.2.6
+ARCHIVE=$(LIBNAME)-$(VERSION).tar.xz
+SHA512=5c69a492227c0ff72836d7a87e6372dc2e62bedfffb33f057263e28a6341825cef67834a863ed6ac02c5368c86da89f8affbe767f8bb914064cfa478f653e935
diff --git a/tools/depends/target/zlib/01-all-disable_tests.patch b/tools/depends/target/zlib/01-all-disable_tests.patch
new file mode 100644
index 0000000000..55de6a471d
--- /dev/null
+++ b/tools/depends/target/zlib/01-all-disable_tests.patch
@@ -0,0 +1,16 @@
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -229,7 +229,7 @@
+ #============================================================================
+ # Example binaries
+ #============================================================================
+-
++if(ENABLE_TESTS)
+ add_executable(example test/example.c)
+ target_link_libraries(example zlib)
+ add_test(example example)
+@@ -247,3 +247,4 @@
+ target_link_libraries(minigzip64 zlib)
+ set_target_properties(minigzip64 PROPERTIES COMPILE_FLAGS "-D_FILE_OFFSET_BITS=64")
+ endif()
++endif()
diff --git a/tools/depends/target/zlib/02-all-static_only.patch b/tools/depends/target/zlib/02-all-static_only.patch
new file mode 100644
index 0000000000..baef9bbb20
--- /dev/null
+++ b/tools/depends/target/zlib/02-all-static_only.patch
@@ -0,0 +1,11 @@
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -211,7 +211,7 @@
+ endif()
+
+ if(NOT SKIP_INSTALL_LIBRARIES AND NOT SKIP_INSTALL_ALL )
+- install(TARGETS zlib zlibstatic
++ install(TARGETS zlibstatic
+ RUNTIME DESTINATION "${INSTALL_BIN_DIR}"
+ ARCHIVE DESTINATION "${INSTALL_LIB_DIR}"
+ LIBRARY DESTINATION "${INSTALL_LIB_DIR}" )
diff --git a/tools/depends/target/zlib/Makefile b/tools/depends/target/zlib/Makefile
index 89c33814d9..b7f6d41e6e 100644
--- a/tools/depends/target/zlib/Makefile
+++ b/tools/depends/target/zlib/Makefile
@@ -1,38 +1,32 @@
-include ../../Makefile.include
-DEPS= ../../Makefile.include Makefile visibility.patch remove_fixe_ar_osx.patch
-
-# lib name, version
-LIBNAME=zlib
-VERSION=1.2.11
-SOURCE=$(LIBNAME)-$(VERSION)
-ARCHIVE=$(SOURCE).tar.gz
+include ../../Makefile.include ZLIB-VERSION ../../download-files.include
+DEPS = ../../Makefile.include Makefile ZLIB-VERSION ../../download-files.include \
+ 01-all-disable_tests.patch \
+ 02-all-static_only.patch
+
# configuration settings
-CONFIGURE= RANLIB="$(RANLIB)" LD="$(LD)" AR="$(AR)" CC="$(CC)" CFLAGS="$(CFLAGS)" ./configure --prefix=$(PREFIX) --static
+CMAKE_OPTIONS=-DCMAKE_INSTALL_PREFIX=$(PREFIX) \
+ -DINSTALL_PKGCONFIG_DIR=$(PREFIX)/lib/pkgconfig
-LIBDYLIB=$(PLATFORM)/$(LIBNAME).a
+LIBDYLIB=$(PLATFORM)/build/$(BYPRODUCT)
all: .installed-$(PLATFORM)
-$(TARBALLS_LOCATION)/$(ARCHIVE):
- cd $(TARBALLS_LOCATION); $(RETRIEVE_TOOL) $(RETRIEVE_TOOL_FLAGS) $(BASE_URL)/$(ARCHIVE)
-
-$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE) $(DEPS)
- rm -rf $(PLATFORM); mkdir -p $(PLATFORM)
+$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE).$(HASH_TYPE) $(DEPS)
+ rm -rf $(PLATFORM); mkdir -p $(PLATFORM)/build
cd $(PLATFORM); $(ARCHIVE_TOOL) $(ARCHIVE_TOOL_FLAGS) $(TARBALLS_LOCATION)/$(ARCHIVE)
- cd $(PLATFORM); patch -p1 -i ../visibility.patch
- cd $(PLATFORM); patch -p1 -i ../remove_fixe_ar_osx.patch
- cd $(PLATFORM); $(CONFIGURE)
+ cd $(PLATFORM); patch -p1 -i ../01-all-disable_tests.patch
+ cd $(PLATFORM); patch -p1 -i ../02-all-static_only.patch
+ cd $(PLATFORM)/build; $(CMAKE) $(CMAKE_OPTIONS) ..
$(LIBDYLIB): $(PLATFORM)
- $(MAKE) -C $(PLATFORM)
+ $(MAKE) -C $(PLATFORM)/build
.installed-$(PLATFORM): $(LIBDYLIB)
- $(MAKE) -C $(PLATFORM) install
- touch $(LIBDYLIB)
+ $(MAKE) -C $(PLATFORM)/build install
touch $@
clean:
- $(MAKE) -C $(PLATFORM) clean
+ $(MAKE) -C $(PLATFORM)/build clean
rm -f .installed-$(PLATFORM)
distclean::
diff --git a/tools/depends/target/zlib/ZLIB-VERSION b/tools/depends/target/zlib/ZLIB-VERSION
new file mode 100644
index 0000000000..c609cbe9bb
--- /dev/null
+++ b/tools/depends/target/zlib/ZLIB-VERSION
@@ -0,0 +1,5 @@
+LIBNAME=zlib
+VERSION=1.2.12
+ARCHIVE=$(LIBNAME)-$(VERSION).tar.xz
+SHA512=12940e81e988f7661da52fa20bdc333314ae86a621fdb748804a20840b065a1d6d984430f2d41f3a057de0effc6ff9bcf42f9ee9510b88219085f59cbbd082bd
+BYPRODUCT=libz.a
diff --git a/tools/depends/target/zlib/remove_fixe_ar_osx.patch b/tools/depends/target/zlib/remove_fixe_ar_osx.patch
deleted file mode 100644
index 1eaabff3ba..0000000000
--- a/tools/depends/target/zlib/remove_fixe_ar_osx.patch
+++ /dev/null
@@ -1,16 +0,0 @@
---- a/configure
-+++ b/configure
-@@ -241,12 +241,7 @@
- SHAREDLIBV=libz.$VER$shared_ext
- SHAREDLIBM=libz.$VER1$shared_ext
- LDSHARED=${LDSHARED-"$cc -dynamiclib -install_name $libdir/$SHAREDLIBM -compatibility_version $VER1 -current_version $VER3"}
-- if libtool -V 2>&1 | grep Apple > /dev/null; then
-- AR="libtool"
-- else
-- AR="/usr/bin/libtool"
-- fi
-- ARFLAGS="-o" ;;
-+ ;;
- *) LDSHARED=${LDSHARED-"$cc -shared"} ;;
- esac
- else
diff --git a/tools/depends/target/zlib/visibility.patch b/tools/depends/target/zlib/visibility.patch
deleted file mode 100644
index 3257f7fedb..0000000000
--- a/tools/depends/target/zlib/visibility.patch
+++ /dev/null
@@ -1,15 +0,0 @@
---- a/zconf.h.in
-+++ b/zconf.h.in
-@@ -374,7 +374,11 @@
- #endif
-
- #ifndef ZEXTERN
--# define ZEXTERN extern
-+# ifdef HAVE_HIDDEN
-+# define ZEXTERN extern __attribute__((visibility ("default")))
-+# else
-+# define ZEXTERN extern
-+# endif
- #endif
- #ifndef ZEXPORT
- # define ZEXPORT
diff --git a/tools/depends/xbmc-addons.include b/tools/depends/xbmc-addons.include
index 35399f0e2f..928845bf89 100644
--- a/tools/depends/xbmc-addons.include
+++ b/tools/depends/xbmc-addons.include
@@ -7,8 +7,12 @@ ifeq ($(CROSS_COMPILING),yes)
DEPS = $(TOOLCHAIN_FILE) $(abs_top_srcdir)/target/config-binaddons.site $(abs_top_srcdir)/target/Toolchain_binaddons.cmake $(CONFIG_SUB) $(CONFIG_GUESS)
TOOLCHAIN = -DCMAKE_TOOLCHAIN_FILE=$(TOOLCHAIN_FILE)
ifeq ($(OS),linux)
- ifneq ($(TARGET_PLATFORM),raspberry-pi)
- DEPS += linux-system-libs
+ DEPS += linux-system-libs linux-system-x11-libs
+
+ ifeq ($(RENDER_SYSTEM),gl)
+ DEPS += linux-system-gl-libs
+ else
+ DEPS += linux-system-gles-libs
endif
endif
endif
@@ -92,22 +96,38 @@ $(TOOLCHAIN_FILE): $(abs_top_srcdir)/target/Toolchain_binaddons.cmake
mkdir -p $(ADDON_DEPS_DIR)/share
sed "s|@CMAKE_FIND_ROOT_PATH@|$(ADDON_DEPS_DIR)|g" $(abs_top_srcdir)/target/Toolchain_binaddons.cmake > $@
+HOST_LIBDIR := $(firstword $(wildcard /usr/lib64 /usr/lib/$(HOST)))
+
linux-system-libs:
+ mkdir -p $(ADDON_DEPS_DIR)/lib
+ [ -f $(ADDON_DEPS_DIR)/lib/libm.so ] || ln -sf $(HOST_LIBDIR)/libm.so $(ADDON_DEPS_DIR)/lib/
+
+linux-system-x11-libs:
mkdir -p $(ADDON_DEPS_DIR)/lib/pkgconfig $(ADDON_DEPS_DIR)/include
- [ -f $(ADDON_DEPS_DIR)/lib/pkgconfig/x11.pc ] || ln -sf /usr/lib/$(HOST)/pkgconfig/x*.pc $(ADDON_DEPS_DIR)/lib/pkgconfig/
- [ -f $(ADDON_DEPS_DIR)/lib/libX11.so ] || ln -sf /usr/lib/$(HOST)/libX11.so* $(ADDON_DEPS_DIR)/lib/
+ [ -f $(ADDON_DEPS_DIR)/lib/pkgconfig/x11.pc ] || ln -sf $(HOST_LIBDIR)/pkgconfig/x*.pc $(ADDON_DEPS_DIR)/lib/pkgconfig/
+ [ -f $(ADDON_DEPS_DIR)/lib/libX11.so ] || ln -sf $(HOST_LIBDIR)/libX11.so* $(ADDON_DEPS_DIR)/lib/
[ -L $(ADDON_DEPS_DIR)/include/X11 ] || ln -sf /usr/include/X11 $(ADDON_DEPS_DIR)/include/X11
[ -f $(ADDON_DEPS_DIR)/lib/pkgconfig/xproto.pc ] || ln -sf /usr/share/pkgconfig/x*.pc $(ADDON_DEPS_DIR)/lib/pkgconfig/
[ -f $(ADDON_DEPS_DIR)/lib/pkgconfig/kbproto.pc ] || ln -sf /usr/share/pkgconfig/kbproto.pc $(ADDON_DEPS_DIR)/lib/pkgconfig/kbproto.pc
[ -f $(ADDON_DEPS_DIR)/lib/pkgconfig/damageproto.pc ] || ln -sf /usr/share/pkgconfig/damageproto.pc $(ADDON_DEPS_DIR)/lib/pkgconfig/damageproto.pc
[ -f $(ADDON_DEPS_DIR)/lib/pkgconfig/fixesproto.pc ] || ln -sf /usr/share/pkgconfig/fixesproto.pc $(ADDON_DEPS_DIR)/lib/pkgconfig/fixesproto.pc
- [ -f $(ADDON_DEPS_DIR)/lib/pkgconfig/pthread-stubs.pc ] || ln -sf /usr/lib/$(HOST)/pkgconfig/pthread-stubs.pc $(ADDON_DEPS_DIR)/lib/pkgconfig/pthread-stubs.pc
- [ -f $(ADDON_DEPS_DIR)/lib/pkgconfig/ice.pc ] || ln -sf /usr/lib/$(HOST)/pkgconfig/ice.pc $(ADDON_DEPS_DIR)/lib/pkgconfig/ice.pc
- [ -f $(ADDON_DEPS_DIR)/lib/pkgconfig/sm.pc ] || ln -sf /usr/lib/$(HOST)/pkgconfig/sm.pc $(ADDON_DEPS_DIR)/lib/pkgconfig/sm.pc
- [ -f $(ADDON_DEPS_DIR)/lib/pkgconfig/libdrm.pc ] || ln -sf /usr/lib/$(HOST)/pkgconfig/libdrm.pc $(ADDON_DEPS_DIR)/lib/pkgconfig/libdrm.pc
- [ -f $(ADDON_DEPS_DIR)/lib/pkgconfig/gl.pc ] || ln -sf /usr/lib/$(HOST)/pkgconfig/gl.pc $(ADDON_DEPS_DIR)/lib/pkgconfig/gl.pc
- [ -f $(ADDON_DEPS_DIR)/lib/pkgconfig/glu.pc ] || ln -sf /usr/lib/$(HOST)/pkgconfig/glu.pc $(ADDON_DEPS_DIR)/lib/pkgconfig/glu.pc
- [ -f $(ADDON_DEPS_DIR)/lib/libGL.so ] || ln -sf /usr/lib/$(HOST)/libGL.so $(ADDON_DEPS_DIR)/lib/libGL.so
+ [ -f $(ADDON_DEPS_DIR)/lib/pkgconfig/pthread-stubs.pc ] || ln -sf $(HOST_LIBDIR)/pkgconfig/pthread-stubs.pc $(ADDON_DEPS_DIR)/lib/pkgconfig/pthread-stubs.pc
+ [ -f $(ADDON_DEPS_DIR)/lib/pkgconfig/ice.pc ] || ln -sf $(HOST_LIBDIR)/pkgconfig/ice.pc $(ADDON_DEPS_DIR)/lib/pkgconfig/ice.pc
+ [ -f $(ADDON_DEPS_DIR)/lib/pkgconfig/sm.pc ] || ln -sf $(HOST_LIBDIR)/pkgconfig/sm.pc $(ADDON_DEPS_DIR)/lib/pkgconfig/sm.pc
+ [ -f $(ADDON_DEPS_DIR)/lib/pkgconfig/libdrm.pc ] || ln -sf $(HOST_LIBDIR)/pkgconfig/libdrm.pc $(ADDON_DEPS_DIR)/lib/pkgconfig/libdrm.pc
+
+linux-system-gl-libs:
+ mkdir -p $(ADDON_DEPS_DIR)/lib/pkgconfig $(ADDON_DEPS_DIR)/include
+ [ -f $(ADDON_DEPS_DIR)/lib/pkgconfig/gl.pc ] || ln -sf $(HOST_LIBDIR)/pkgconfig/gl.pc $(ADDON_DEPS_DIR)/lib/pkgconfig/gl.pc
+ [ -f $(ADDON_DEPS_DIR)/lib/pkgconfig/glu.pc ] || ln -sf $(HOST_LIBDIR)/pkgconfig/glu.pc $(ADDON_DEPS_DIR)/lib/pkgconfig/glu.pc
+ [ -f $(ADDON_DEPS_DIR)/lib/libGL.so ] || ln -sf $(HOST_LIBDIR)/libGL.so $(ADDON_DEPS_DIR)/lib/libGL.so
[ -L $(ADDON_DEPS_DIR)/include/GL ] || ln -sf /usr/include/GL $(ADDON_DEPS_DIR)/include/GL
- [ -f $(ADDON_DEPS_DIR)/lib/libm.so ] || ln -sf /usr/lib/$(HOST)/libm.so $(ADDON_DEPS_DIR)/lib/
+linux-system-gles-libs:
+ mkdir -p $(ADDON_DEPS_DIR)/lib/pkgconfig $(ADDON_DEPS_DIR)/include
+ [ -f $(ADDON_DEPS_DIR)/lib/pkgconfig/glesv2.pc ] || ln -sf $(PREFIX)/lib/pkgconfig/glesv2.pc $(ADDON_DEPS_DIR)/lib/pkgconfig/glesv2.pc
+ [ -f $(ADDON_DEPS_DIR)/lib/libGLESv2.so ] || ln -sf $(PREFIX)/lib/libGLESv2.so $(ADDON_DEPS_DIR)/lib/libGLESv2.so
+ [ -L $(ADDON_DEPS_DIR)/include/GLES2 ] || ln -sf $(PREFIX)/include/GLES2 $(ADDON_DEPS_DIR)/include/GLES2
+ [ -L $(ADDON_DEPS_DIR)/include/KHR ] || ln -sf $(PREFIX)/include/KHR $(ADDON_DEPS_DIR)/include/KHR
+ [ -L $(ADDON_DEPS_DIR)/include/EGL ] || ln -sf $(PREFIX)/include/EGL $(ADDON_DEPS_DIR)/include/EGL
+ [ -f $(ADDON_DEPS_DIR)/lib/libEGL.so ] || ln -sf $(PREFIX)/lib/libEGL.so $(ADDON_DEPS_DIR)/lib/libEGL.so