From 34007e159faa049f0cb82ee5407b9e189d75af45 Mon Sep 17 00:00:00 2001 From: Ivo van Dongen Date: Mon, 30 Sep 2019 13:40:42 +0300 Subject: [PATCH 1/2] openssl 1.0.2t --- scripts/openssl/1.0.2t/.travis.yml | 70 +++++++++++++++++++ scripts/openssl/1.0.2t/script.sh | 108 +++++++++++++++++++++++++++++ 2 files changed, 178 insertions(+) create mode 100644 scripts/openssl/1.0.2t/.travis.yml create mode 100755 scripts/openssl/1.0.2t/script.sh diff --git a/scripts/openssl/1.0.2t/.travis.yml b/scripts/openssl/1.0.2t/.travis.yml new file mode 100644 index 000000000..97a56aa86 --- /dev/null +++ b/scripts/openssl/1.0.2t/.travis.yml @@ -0,0 +1,70 @@ +language: cpp + +matrix: + include: + - os: osx + compiler: clang + sudo: false + - os: osx + env: MASON_PLATFORM=ios + compiler: clang + - os: linux + env: MASON_PLATFORM_VERSION=cortex_a9 + - os: linux + env: MASON_PLATFORM_VERSION=i686 + - os: linux + compiler: clang + sudo: false + addons: + apt: + sources: + - ubuntu-toolchain-r-test + packages: + - libstdc++-5-dev + - xutils-dev + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=arm-v5 + addons: + apt: + packages: + - xutils-dev + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=arm-v7 + addons: + apt: + packages: + - xutils-dev + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=arm-v8 + addons: + apt: + packages: + - xutils-dev + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=x86 + addons: + apt: + packages: + - xutils-dev + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=x86-64 + addons: + apt: + packages: + - xutils-dev + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=mips + addons: + apt: + packages: + - xutils-dev + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=mips-64 + addons: + apt: + packages: + - xutils-dev + +script: +- ./mason build ${MASON_NAME} ${MASON_VERSION} +- ./mason publish ${MASON_NAME} ${MASON_VERSION} diff --git a/scripts/openssl/1.0.2t/script.sh b/scripts/openssl/1.0.2t/script.sh new file mode 100755 index 000000000..f57793987 --- /dev/null +++ b/scripts/openssl/1.0.2t/script.sh @@ -0,0 +1,108 @@ +#!/usr/bin/env bash + +MASON_NAME=openssl +MASON_VERSION=1.0.2t +MASON_LIB_FILE=lib/libssl.a +MASON_PKGCONFIG_FILE=lib/pkgconfig/openssl.pc + +. ${MASON_DIR}/mason.sh + +function mason_load_source { + mason_download \ + https://www.openssl.org/source/openssl-${MASON_VERSION}.tar.gz \ + 3928bb4c265a2d8e2e86bc0bd8dec04501cbfc62 + + mason_extract_tar_gz + + export MASON_BUILD_PATH=${MASON_ROOT}/.build/openssl-${MASON_VERSION} +} + +function mason_prepare_compile { + MASON_MAKEDEPEND="gccmakedep" + + if [ ${MASON_PLATFORM} = 'osx' ]; then + MASON_MAKEDEPEND="makedepend" + MASON_OS_COMPILER="darwin64-x86_64-cc enable-ec_nistp_64_gcc_128" + elif [ ${MASON_PLATFORM} = 'linux' ]; then + MASON_OS_COMPILER="linux-x86_64 enable-ec_nistp_64_gcc_128" + elif [[ ${MASON_PLATFORM} == 'android' ]]; then + COMMON="-fPIC -ffunction-sections -funwind-tables -fstack-protector-strong -no-canonical-prefixes -fno-integrated-as -O2 -g -DNDEBUG -fomit-frame-pointer -fstrict-aliasing -Wno-invalid-command-line-argument -Wno-unused-command-line-argument -no-canonical-prefixes" + if [ ${MASON_ANDROID_ABI} = 'arm-v5' ]; then + MASON_OS_COMPILER="linux-armv4 -march=armv5te -mtune=xscale -msoft-float -fuse-ld=gold $COMMON" + elif [ ${MASON_ANDROID_ABI} = 'arm-v7' ]; then + MASON_OS_COMPILER="linux-armv4 -march=armv7-a -mfpu=vfpv3-d16 -mfloat-abi=softfp -Wl,--fix-cortex-a8 -fuse-ld=gold $COMMON" + elif [ ${MASON_ANDROID_ABI} = 'x86' ]; then + MASON_OS_COMPILER="linux-elf -march=i686 -msse3 -mfpmath=sse -fuse-ld=gold $COMMON" + elif [ ${MASON_ANDROID_ABI} = 'mips' ]; then + MASON_OS_COMPILER="linux-generic32 $COMMON" + elif [ ${MASON_ANDROID_ABI} = 'arm-v8' ]; then + MASON_OS_COMPILER="linux-generic64 enable-ec_nistp_64_gcc_128 -fuse-ld=gold $COMMON" + elif [ ${MASON_ANDROID_ABI} = 'x86-64' ]; then + MASON_OS_COMPILER="linux-x86_64 enable-ec_nistp_64_gcc_128 -march=x86-64 -msse4.2 -mpopcnt -m64 -mtune=intel -fuse-ld=gold $COMMON" + elif [ ${MASON_ANDROID_ABI} = 'mips-64' ]; then + MASON_OS_COMPILER="linux-generic32 $COMMON" + fi + fi +} + +function mason_compile { + NO_ASM= + + # Work around a Android 6.0 TEXTREL exception. See https://github.com/mapbox/mapbox-gl-native/issues/2772 + if [[ ${MASON_PLATFORM} == 'android' ]]; then + if [ ${MASON_ANDROID_ABI} = 'x86' ]; then + NO_ASM=-no-asm + fi + fi + + ./Configure \ + --prefix=${MASON_PREFIX} \ + enable-tlsext \ + ${NO_ASM} \ + -no-dso \ + -no-hw \ + -no-engines \ + -no-comp \ + -no-gmp \ + -no-zlib \ + -no-shared \ + -no-ssl2 \ + -no-ssl3 \ + -no-krb5 \ + -no-camellia \ + -no-capieng \ + -no-cast \ + -no-dtls \ + -no-gost \ + -no-idea \ + -no-jpake \ + -no-md2 \ + -no-mdc2 \ + -no-rc5 \ + -no-rdrand \ + -no-ripemd \ + -no-rsax \ + -no-sctp \ + -no-seed \ + -no-sha0 \ + -no-whirlpool \ + -fPIC \ + -DOPENSSL_PIC \ + -DOPENSSL_NO_COMP \ + -DOPENSSL_NO_HEARTBEATS \ + --openssldir=${MASON_PREFIX}/etc/openssl \ + ${MASON_OS_COMPILER} + + make depend MAKEDEPPROG=${MASON_MAKEDEPEND} + + make + + # https://github.com/openssl/openssl/issues/57 + make install_sw +} + +function mason_clean { + make clean +} + +mason_run "$@" From baf7a47d0bc45108bd40e0b62939f190e5a2e4ea Mon Sep 17 00:00:00 2001 From: Ivo van Dongen Date: Mon, 30 Sep 2019 14:25:34 +0300 Subject: [PATCH 2/2] install missing packages --- scripts/openssl/1.0.2t/.travis.yml | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/scripts/openssl/1.0.2t/.travis.yml b/scripts/openssl/1.0.2t/.travis.yml index 97a56aa86..6048b97af 100644 --- a/scripts/openssl/1.0.2t/.travis.yml +++ b/scripts/openssl/1.0.2t/.travis.yml @@ -10,8 +10,16 @@ matrix: compiler: clang - os: linux env: MASON_PLATFORM_VERSION=cortex_a9 + addons: + apt: + packages: + - xutils-dev - os: linux env: MASON_PLATFORM_VERSION=i686 + addons: + apt: + packages: + - xutils-dev - os: linux compiler: clang sudo: false