Skip to content

Commit 6bdeb6f

Browse files
committed
Switched openssl build scripts to use the officially supported method.
1 parent 3fc6491 commit 6bdeb6f

File tree

4 files changed

+110
-218
lines changed

4 files changed

+110
-218
lines changed

Build_android/Makefile

Lines changed: 0 additions & 141 deletions
This file was deleted.

Build_android/android_configure_armeabiv7.sh

Lines changed: 0 additions & 26 deletions
This file was deleted.

Build_android/configure.sh

Lines changed: 50 additions & 51 deletions
Original file line numberDiff line numberDiff line change
@@ -37,13 +37,15 @@ set -e
3737
DO_LIBICONV=1
3838
DO_BOOST=1
3939
DO_OPENSSL=1
40+
DO_CPPRESTSDK=1
4041

4142
function usage {
42-
echo "Usage: $0 [--skip-boost] [--skip-openssl] [--skip-libiconv] [-h] [--ndk <android-ndk>]"
43+
echo "Usage: $0 [--skip-boost] [--skip-openssl] [--skip-libiconv] [--skip-cpprestsdk] [-h] [--ndk <android-ndk>]"
4344
echo ""
4445
echo " --skip-boost Skip fetching and compiling boost"
4546
echo " --skip-openssl Skip fetching and compiling openssl"
4647
echo " --skip-libiconv Skip fetching and compiling libiconv"
48+
echo " --skip-cpprestsdk Skip compiling cpprestsdk"
4749
echo " -h,--help,-? Display this information"
4850
echo " --ndk <android-ndk> If specified, overrides the ANDROID_NDK environment variable"
4951
}
@@ -60,6 +62,9 @@ do
6062
"--skip-libiconv")
6163
DO_LIBICONV=0
6264
;;
65+
"--skip-cpprestsdk")
66+
DO_CPPRESTSDK=0
67+
;;
6368
"-?"|"-h"|"--help")
6469
usage
6570
exit
@@ -113,25 +118,14 @@ fi
113118
# Openssl
114119
# -------
115120

116-
# This steps are based on the github project openssl1.0.1g-android
117-
# https://github.com/aluvalasuman/openssl1.0.1g-android
121+
# This steps are based on the official openssl build instructions
122+
# http://wiki.openssl.org/index.php/Android
118123
if [ "${DO_OPENSSL}" == "1" ]
119124
then
120125
(
121-
rm -rf openssl
122-
mkdir openssl
123-
cd openssl
124-
if [ ! -e "openssl-1.0.1h.tar.gz" ]
125-
then
126-
wget http://www.openssl.org/source/openssl-1.0.1h.tar.gz
127-
fi
128-
rm -rf openssl-1.0.1h
129-
tar xzf openssl-1.0.1h.tar.gz
130-
cd openssl-1.0.1h
131-
export ANDROID_NDK="$NDK_DIR"
132-
. "${DIR}/android_configure_armeabiv7.sh"
133-
./Configure android no-shared --openssldir="${SRC_DIR}/openssl/r9d-9-armeabiv7"
134-
make all install_sw || exit 1
126+
cp "${DIR}/openssl/Makefile" .
127+
export ANDROID_NDK_ROOT="${NDK_DIR}"
128+
make all
135129
)
136130
fi
137131

@@ -184,46 +178,51 @@ then
184178
)
185179
fi
186180

181+
if [ "${DO_CPPRESTSDK}" == "1" ]
182+
then
183+
(
187184
# -------------
188185
# android-cmake
189186
# -------------
190-
if [ ! -e android-cmake ]
191-
then
192-
git clone https://github.com/taka-no-me/android-cmake.git
193-
fi
187+
if [ ! -e android-cmake ]
188+
then
189+
git clone https://github.com/taka-no-me/android-cmake.git
190+
fi
194191

195192
# ----------
196193
# casablanca
197194
# ----------
198195

199-
(
200-
mkdir -p build.armv7.debug
201-
cd build.armv7.debug
202-
cmake "$DIR/../Release/" \
203-
-DCMAKE_TOOLCHAIN_FILE=../android-cmake/android.toolchain.cmake \
204-
-DANDROID_ABI=armeabi-v7a \
205-
-DANDROID_TOOLCHAIN_NAME=arm-linux-androideabi-clang3.4 \
206-
-DANDROID_STL=none \
207-
-DANDROID_STL_FORCE_FEATURES=ON \
208-
-DANDROID_NATIVE_API_LEVEL=android-9 \
209-
-DANDROID_GOLD_LINKER=OFF \
210-
-DCMAKE_BUILD_TYPE=Debug \
211-
-DANDROID_NDK="${ANDROID_NDK}"
212-
make -j 3
213-
)
214-
215-
(
216-
mkdir -p build.armv7.release
217-
cd build.armv7.release
218-
cmake "$DIR/../Release/" \
219-
-DCMAKE_TOOLCHAIN_FILE=../android-cmake/android.toolchain.cmake \
220-
-DANDROID_ABI=armeabi-v7a \
221-
-DANDROID_TOOLCHAIN_NAME=arm-linux-androideabi-clang3.4 \
222-
-DANDROID_STL=none \
223-
-DANDROID_STL_FORCE_FEATURES=ON \
224-
-DANDROID_NDK="${ANDROID_NDK}" \
225-
-DANDROID_NATIVE_API_LEVEL=android-9 \
226-
-DANDROID_GOLD_LINKER=OFF \
227-
-DCMAKE_BUILD_TYPE=Release
228-
make -j 3
196+
(
197+
mkdir -p build.armv7.debug
198+
cd build.armv7.debug
199+
cmake "$DIR/../Release/" \
200+
-DCMAKE_TOOLCHAIN_FILE=../android-cmake/android.toolchain.cmake \
201+
-DANDROID_ABI=armeabi-v7a \
202+
-DANDROID_TOOLCHAIN_NAME=arm-linux-androideabi-clang3.4 \
203+
-DANDROID_STL=none \
204+
-DANDROID_STL_FORCE_FEATURES=ON \
205+
-DANDROID_NATIVE_API_LEVEL=android-9 \
206+
-DANDROID_GOLD_LINKER=OFF \
207+
-DCMAKE_BUILD_TYPE=Debug \
208+
-DANDROID_NDK="${ANDROID_NDK}"
209+
make -j 3
210+
)
211+
212+
(
213+
mkdir -p build.armv7.release
214+
cd build.armv7.release
215+
cmake "$DIR/../Release/" \
216+
-DCMAKE_TOOLCHAIN_FILE=../android-cmake/android.toolchain.cmake \
217+
-DANDROID_ABI=armeabi-v7a \
218+
-DANDROID_TOOLCHAIN_NAME=arm-linux-androideabi-clang3.4 \
219+
-DANDROID_STL=none \
220+
-DANDROID_STL_FORCE_FEATURES=ON \
221+
-DANDROID_NDK="${ANDROID_NDK}" \
222+
-DANDROID_NATIVE_API_LEVEL=android-9 \
223+
-DANDROID_GOLD_LINKER=OFF \
224+
-DCMAKE_BUILD_TYPE=Release
225+
make -j 3
226+
)
229227
)
228+
fi

Build_android/openssl/Makefile

Lines changed: 60 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,60 @@
1+
SHELL := /bin/bash
2+
OPENSSL_VER = openssl-1.0.1h
3+
4+
all: armeabi-v7a/lib/libssl.a x86/lib/libssl.a
5+
6+
clean:
7+
rm -rf $(OPENSSL_VER)
8+
rm -rf $(OPENSSL_VER)-armeabi-v7a
9+
rm -rf armeabi-v7a
10+
rm -rf setenv-android-x86.sh
11+
12+
setenv-android.sh:
13+
wget http://wiki.openssl.org/images/7/70/Setenv-android.sh
14+
mv Setenv-android.sh setenv-android.sh
15+
chmod a+x setenv-android.sh
16+
17+
setenv-android-x86.sh: setenv-android.sh
18+
cp setenv-android.sh setenv-android-x86.sh.tmp
19+
sed -i 's/_ANDROID_EABI="arm-linux-androideabi-4.8"/_ANDROID_EABI="x86-4.8"/g' setenv-android-x86.sh.tmp
20+
sed -i 's/_ANDROID_ARCH=arch-arm/_ANDROID_ARCH=arch-x86/g' setenv-android-x86.sh.tmp
21+
mv setenv-android-x86.sh.tmp setenv-android-x86.sh
22+
23+
$(OPENSSL_VER).tar.gz:
24+
wget http://www.openssl.org/source/$(OPENSSL_VER).tar.gz
25+
26+
armeabi-v7a/lib/libssl.a: setenv-android.sh $(OPENSSL_VER).tar.gz
27+
[ -d "$(ANDROID_NDK_ROOT)" ]
28+
export ANDROID_NDK_ROOT="$(ANDROID_NDK_ROOT)"; \
29+
. ./setenv-android.sh; \
30+
( \
31+
set -e; \
32+
rm -rf $(OPENSSL_VER)/; \
33+
tar xzf $(OPENSSL_VER).tar.gz; \
34+
rm -rf $(OPENSSL_VER)-armeabi-v7a/ \
35+
) && \
36+
mv $(OPENSSL_VER) $(OPENSSL_VER)-armeabi-v7a && \
37+
cd $(OPENSSL_VER)-armeabi-v7a && \
38+
perl -pi -e 's/install: all install_docs install_sw/install: install_docs install_sw/g' Makefile.org && \
39+
./config shared -no-ssl2 -no-ssl3 -no-comp -no-hw -no-engine --openssldir="`pwd`/../armeabi-v7a" && \
40+
make depend && \
41+
make all && \
42+
make install CC=$${ANDROID_TOOLCHAIN}/arm-linux-androideabi-gcc RANLIB=$${ANDROID_TOOLCHAIN}/arm-linux-androideabi-ranlib
43+
44+
x86/lib/libssl.a: setenv-android-x86.sh $(OPENSSL_VER).tar.gz
45+
[ -d "$(ANDROID_NDK_ROOT)" ]
46+
export ANDROID_NDK_ROOT="$(ANDROID_NDK_ROOT)"; \
47+
. ./setenv-android-x86.sh; \
48+
( \
49+
set -e; \
50+
rm -rf $(OPENSSL_VER)/; \
51+
tar xzf $(OPENSSL_VER).tar.gz; \
52+
rm -rf $(OPENSSL_VER)-x86/ \
53+
) && \
54+
mv $(OPENSSL_VER) $(OPENSSL_VER)-x86 && \
55+
cd $(OPENSSL_VER)-x86 && \
56+
perl -pi -e 's/install: all install_docs install_sw/install: install_docs install_sw/g' Makefile.org && \
57+
./config shared -no-ssl2 -no-ssl3 -no-comp -no-hw -no-engine --openssldir="`pwd`/../x86" && \
58+
make depend && \
59+
make all && \
60+
make install CC=$${ANDROID_TOOLCHAIN}/i686-linux-android-gcc RANLIB=$${ANDROID_TOOLCHAIN}/i686-linux-android-ranlib

0 commit comments

Comments
 (0)