mirror of
				https://github.com/ossrs/srs.git
				synced 2025-03-09 15:49:59 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			85 lines
		
	
	
	
		
			2 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable file
		
	
	
	
	
			
		
		
	
	
			85 lines
		
	
	
	
		
			2 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable file
		
	
	
	
	
| #!/bin/sh
 | |
| 
 | |
| while getopts n:o:a:t:d:h: option
 | |
| do
 | |
|  case "${option}"
 | |
|  in
 | |
|  n) ANDROID_NDK=${OPTARG};;
 | |
|  o) OPENSSL_VERSION=${OPTARG};;
 | |
|  a) API_LEVEL=${OPTARG};;
 | |
|  t) BUILD_TARGETS=${OPTARG};;
 | |
|  d) OUT_DIR=${OPTARG};;
 | |
|  h) HOST_TAG=${OPTARG};;
 | |
|  *) twentytwo=${OPTARG};;
 | |
|  esac
 | |
| done
 | |
| 
 | |
| 
 | |
| BUILD_DIR=/tmp/openssl_android_build
 | |
| 
 | |
| if [ ! -d openssl-${OPENSSL_VERSION} ]
 | |
| then
 | |
|     if [ ! -f openssl-${OPENSSL_VERSION}.tar.gz ]
 | |
|     then
 | |
|         wget https://www.openssl.org/source/openssl-${OPENSSL_VERSION}.tar.gz || exit 128
 | |
|     fi
 | |
|     tar xzf openssl-${OPENSSL_VERSION}.tar.gz || exit 128
 | |
| fi
 | |
| 
 | |
| cd openssl-${OPENSSL_VERSION} || exit 128
 | |
| 
 | |
| 
 | |
| ##### export ndk directory. Required by openssl-build-scripts #####
 | |
| case ${OPENSSL_VERSION} in
 | |
|     1.1.1*)
 | |
|         export ANDROID_NDK_HOME=$ANDROID_NDK
 | |
|     ;;
 | |
|     *)
 | |
|         export ANDROID_NDK_ROOT=$ANDROID_NDK
 | |
|     ;;
 | |
| esac
 | |
| 
 | |
| export PATH=$ANDROID_NDK/toolchains/llvm/prebuilt/$HOST_TAG/bin:$PATH
 | |
| 
 | |
| ##### build-function #####
 | |
| build_the_thing() {
 | |
|     make clean
 | |
|     ./Configure $SSL_TARGET -D__ANDROID_API__=$API_LEVEL && \
 | |
|     make SHLIB_EXT=.so && \
 | |
|     make install SHLIB_EXT=.so DESTDIR=$DESTDIR || exit 128
 | |
| }
 | |
| 
 | |
| ##### set variables according to build-tagret #####
 | |
| for build_target in $BUILD_TARGETS
 | |
| do
 | |
|     case $build_target in
 | |
|     armeabi-v7a)
 | |
|         DESTDIR="$BUILD_DIR/armeabi-v7a"
 | |
|         SSL_TARGET="android-arm"
 | |
|     ;;
 | |
|     x86)
 | |
|         DESTDIR="$BUILD_DIR/x86"
 | |
|         SSL_TARGET="android-x86"
 | |
|     ;;
 | |
|     x86_64)
 | |
|         DESTDIR="$BUILD_DIR/x86_64"
 | |
|         SSL_TARGET="android-x86_64"
 | |
|     ;;
 | |
|     arm64-v8a)
 | |
|         DESTDIR="$BUILD_DIR/arm64-v8a"
 | |
|         SSL_TARGET="android-arm64"
 | |
|     ;;
 | |
|     esac
 | |
| 
 | |
|     rm -rf $DESTDIR
 | |
|     build_the_thing
 | |
| #### copy libraries and includes to output-directory #####
 | |
|     mkdir -p $OUT_DIR/$build_target/include
 | |
|     cp -R $DESTDIR/usr/local/include/* $OUT_DIR/$build_target/include
 | |
|     cp -R $DESTDIR/usr/local/ssl/* $OUT_DIR/$build_target/
 | |
|     mkdir -p $OUT_DIR/$build_target/lib
 | |
|     cp -R $DESTDIR/usr/local/lib/*.so $OUT_DIR/$build_target/lib
 | |
|     cp -R $DESTDIR/usr/local/lib/*.a $OUT_DIR/$build_target/lib
 | |
| done
 | |
| 
 | |
| echo Success
 |