A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://github.com/Haivision/srt/commit/e37f4abc017f717220ccb624db41aa0fa03e2349 below:

[build] Set openssl vars explicitly; Support mbedtls Android build (#… · Haivision/srt@e37f4ab · GitHub

File tree Expand file treeCollapse file tree 3 files changed

+73

-13

lines changed

Filter options

Expand file treeCollapse file tree 3 files changed

+73

-13

lines changed Original file line number Diff line number Diff line change

@@ -6,9 +6,11 @@ echo_help()

6 6

echo " -n Specify NDK root path for the build."

7 7

echo " -a Select target API level."

8 8

echo " -t Select target architectures."

9 -

echo " Android supports the following architectures: armeabi armeabi-v7a arm64-v8a x86 x86_64."

9 +

echo " Android supports the following architectures: armeabi-v7a arm64-v8a x86 x86_64."

10 +

echo " -e Encryption library to be used. Possible options: openssl (default) mbedtls"

10 11

echo " -o Select OpenSSL (1.1.1 series) version. E.g. 1.1.1h"

11 -

echo " -s Select a specific SRT tag. E.g. v1.4.3"

12 +

echo " -m Select Mbed TLS version. E.g. v2.26.0"

13 +

echo " -s Select SRT version. E.g. v1.4.3"

12 14

echo

13 15

echo "Example: ./build-android -n /home/username/Android/Sdk/ndk/21.4.7075529 -a 28 -t \"armeabi-v7a arm64-v8a x86 x86_64\" -o 1.1.1h -s v1.4.3"

14 16

echo

@@ -17,11 +19,13 @@ echo_help()

17 19

# Init optional command line vars

18 20

NDK_ROOT=""

19 21

API_LEVEL=28

20 -

BUILD_TARGETS="armeabi armeabi-v7a arm64-v8a x86 x86_64"

22 +

BUILD_TARGETS="armeabi-v7a arm64-v8a x86 x86_64"

21 23

OPENSSL_VERSION=1.1.1h

22 24

SRT_VERSION=""

25 +

ENC_LIB=openssl

26 +

MBEDTLS_VERSION=v2.26.0

23 27 24 -

while getopts n:a:t:o:s: option

28 +

while getopts n:a:t:o:s:e:m: option

25 29

do

26 30

case "${option}"

27 31

in

@@ -30,6 +34,8 @@ do

30 34

t) BUILD_TARGETS=${OPTARG};;

31 35

o) OPENSSL_VERSION=${OPTARG};;

32 36

s) SRT_VERSION=${OPTARG};;

37 +

e) ENC_LIB=${OPTARG};;

38 +

m) MBEDTLS_VERSION=${OPTARG};;

33 39

*) twentytwo=${OPTARG};;

34 40

esac

35 41

done

@@ -49,7 +55,19 @@ fi

49 55

# Determine the path of the executing script

50 56

BASE_DIR=$(readlink -f $0 | xargs dirname)

51 57 52 -

$BASE_DIR/mkssl -n $NDK_ROOT -a $API_LEVEL -t "$BUILD_TARGETS" -o $OPENSSL_VERSION

58 +

if [ $ENC_LIB = 'openssl' ]; then

59 +

$BASE_DIR/mkssl -n $NDK_ROOT -a $API_LEVEL -t "$BUILD_TARGETS" -o $OPENSSL_VERSION

60 +

elif [ $ENC_LIB = 'mbedtls' ]; then

61 +

if [ ! -d $BASE_DIR/mbedtls ]; then

62 +

git clone https://github.com/ARMmbed/mbedtls mbedtls

63 +

if [ ! -z "$MBEDTLS_VERSION" ]; then

64 +

git -C $BASE_DIR/mbedtls checkout $MBEDTLS_VERSION

65 +

fi

66 +

fi

67 +

else

68 +

echo "Unknown encryption library. Possible options: openssl mbedtls"

69 +

exit 128

70 +

fi

53 71 54 72

if [ ! -d $BASE_DIR/srt ]; then

55 73

git clone https://github.com/Haivision/srt srt

@@ -58,12 +76,20 @@ if [ ! -d $BASE_DIR/srt ]; then

58 76

fi

59 77

fi

60 78 61 -

JNI_DIR=$BASE_DIR/prebuilt

62 - 63 79

for build_target in $BUILD_TARGETS; do

64 -

git -C $BASE_DIR/srt clean -fd

65 -

$BASE_DIR/mksrt -n $NDK_ROOT -a $API_LEVEL -t $build_target -s $BASE_DIR/srt -i $BASE_DIR/$build_target

80 +

LIB_DIR=$BASE_DIR/$build_target/lib

81 +

JNI_DIR=$BASE_DIR/prebuilt/$build_target

82 + 83 +

mkdir -p $JNI_DIR

66 84 67 -

mkdir -p $JNI_DIR/$build_target

68 -

cp $BASE_DIR/$build_target/lib/libsrt.so $JNI_DIR/$build_target/libsrt.so

85 +

if [ $ENC_LIB = 'mbedtls' ]; then

86 +

$BASE_DIR/mkmbedtls -n $NDK_ROOT -a $API_LEVEL -t $build_target -s $BASE_DIR/mbedtls -i $BASE_DIR/$build_target

87 +

cp $LIB_DIR/libmbedcrypto.so $JNI_DIR/libmbedcrypto.so

88 +

cp $LIB_DIR/libmbedtls.so $JNI_DIR/libmbedtls.so

89 +

cp $LIB_DIR/libmbedx509.so $JNI_DIR/libmbedx509.so

90 +

fi

91 + 92 +

git -C $BASE_DIR/srt clean -fd

93 +

$BASE_DIR/mksrt -n $NDK_ROOT -a $API_LEVEL -t $build_target -e $ENC_LIB -s $BASE_DIR/srt -i $BASE_DIR/$build_target

94 +

cp $LIB_DIR/libsrt.so $JNI_DIR/libsrt.so

69 95

done

Original file line number Diff line number Diff line change

@@ -0,0 +1,27 @@

1 +

#!/bin/sh

2 + 3 +

while getopts s:i:t:n:a: option

4 +

do

5 +

case "${option}"

6 +

in

7 +

s) SRC_DIR=${OPTARG};;

8 +

i) INSTALL_DIR=${OPTARG};;

9 +

t) ARCH_ABI=${OPTARG};;

10 +

n) NDK_ROOT=${OPTARG};;

11 +

a) API_LEVEL=${OPTARG};;

12 +

*) twentytwo=${OPTARG};;

13 +

esac

14 +

done

15 + 16 + 17 +

BUILD_DIR=/tmp/mbedtls_android_build

18 +

rm -rf $BUILD_DIR

19 +

mkdir $BUILD_DIR

20 +

cd $BUILD_DIR

21 +

cmake -DENABLE_TESTING=Off -DUSE_SHARED_MBEDTLS_LIBRARY=On \

22 +

-DCMAKE_PREFIX_PATH=$INSTALL_DIR -DCMAKE_INSTALL_PREFIX=$INSTALL_DIR -DCMAKE_ANDROID_NDK=$NDK_ROOT \

23 +

-DCMAKE_SYSTEM_NAME=Android -DCMAKE_SYSTEM_VERSION=$API_LEVEL -DCMAKE_ANDROID_ARCH_ABI=$ARCH_ABI \

24 +

-DCMAKE_C_FLAGS="-fPIC" -DCMAKE_SHARED_LINKER_FLAGS="-Wl,--build-id" \

25 +

-DCMAKE_BUILD_TYPE=RelWithDebInfo $SRC_DIR

26 +

cmake --build .

27 +

cmake --install .

Original file line number Diff line number Diff line change

@@ -1,6 +1,6 @@

1 1

#!/bin/sh

2 2 3 -

while getopts s:i:t:n:a: option

3 +

while getopts s:i:t:n:a:e: option

4 4

do

5 5

case "${option}"

6 6

in

@@ -9,13 +9,20 @@ do

9 9

t) ARCH_ABI=${OPTARG};;

10 10

n) NDK_ROOT=${OPTARG};;

11 11

a) API_LEVEL=${OPTARG};;

12 +

e) ENC_LIB=${OPTARG};;

12 13

*) twentytwo=${OPTARG};;

13 14

esac

14 15

done

15 16 16 17 17 18

cd $SRC_DIR

18 -

./configure --use-openssl-pc=OFF --OPENSSL_USE_STATIC_LIBS=true \

19 +

./configure --use-enclib=$ENC_LIB \

20 +

--use-openssl-pc=OFF --OPENSSL_USE_STATIC_LIBS=TRUE \

21 +

--OPENSSL_INCLUDE_DIR=$INSTALL_DIR/include \

22 +

--OPENSSL_CRYPTO_LIBRARY=$INSTALL_DIR/lib/libcrypto.a --OPENSSL_SSL_LIBRARY=$INSTALL_DIR/lib/libssl.a \

23 +

--STATIC_MBEDTLS=FALSE \

24 +

--MBEDTLS_INCLUDE_DIR=$INSTALL_DIR/include --MBEDTLS_INCLUDE_DIRS=$INSTALL_DIR/include \

25 +

--MBEDTLS_LIBRARIES=$INSTALL_DIR/lib/libmbedtls.so \

19 26

--CMAKE_PREFIX_PATH=$INSTALL_DIR --CMAKE_INSTALL_PREFIX=$INSTALL_DIR --CMAKE_ANDROID_NDK=$NDK_ROOT \

20 27

--CMAKE_SYSTEM_NAME=Android --CMAKE_SYSTEM_VERSION=$API_LEVEL --CMAKE_ANDROID_ARCH_ABI=$ARCH_ABI \

21 28

--CMAKE_C_FLAGS="-fPIC" --CMAKE_SHARED_LINKER_FLAGS="-Wl,--build-id" \

You can’t perform that action at this time.


RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4