Skip to content

Commit a96a132

Browse files
committed
don't use mthumb for curl with armeabi
1 parent 16a997f commit a96a132

File tree

4 files changed

+23
-3
lines changed

4 files changed

+23
-3
lines changed

build/android.ini

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,10 @@ cfg_default_libraries_all=("png" "zlib" "lua" "luajit" "websockets" "curl" "free
3737
#whether build fat library, use lipo -S create
3838
cfg_build_fat_library=no
3939

40+
#whether use mthumb instruction or not
41+
#format cfg_${libname}_${archname}_use_mthumb
42+
cfg_curl_arm_use_mthumb=no
43+
4044
#debug and release mode flag
4145
cfg_build_release_mode="-O3 -DNDEBUG"
4246
cfg_build_debug_mode="-O0 -g -DDEBUG"

build/build.sh

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -283,6 +283,7 @@ do
283283
archive_name=$lib
284284
fi
285285

286+
286287
mkdir -p $cfg_platform_name/$archive_name/include/
287288

288289
for arch in "${build_arches[@]}"
@@ -302,6 +303,15 @@ do
302303
#set build mode flags -- debug or release
303304
set_build_mode_cflags
304305

306+
#determine wether use mthumb or not
307+
parse_use_mthumb=cfg_${lib}_${arch}_use_mthumb
308+
use_mthumb=${!parse_use_mthumb}
309+
echo $use_mthumb
310+
if [ -z $use_mthumb ];then
311+
use_mthumb=yes
312+
fi
313+
314+
export ANDROID_USE_MTHUMB=$use_mthumb
305315

306316
install_library_path="install-${cfg_platform_name}"
307317
build_library_path=$cfg_platform_name
@@ -331,7 +341,6 @@ do
331341
if [ $cfg_platform_name = "android" ];then
332342
export ANDROID_GCC_VERSION=$build_gcc_version
333343
export ANDROID_API=android-$build_api
334-
335344
fi
336345

337346

build/main.ini

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@ png_dependent_archive_list=z
2828
freetype_dependent_archive_list=z
2929
websockets_dependent_archive_list=z
3030
curl_dependent_archive_list=z,ssl,crypto
31+
openssl_dependent_archive_list=crypto
3132

3233

3334
##ignore arch list for specify libraries

contrib/bootstrap

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -247,17 +247,23 @@ check_android_sdk()
247247
exit 1
248248
fi
249249

250+
THUMB_FLAG=""
251+
if [ $ANDROID_USE_MTHUMB = "yes" ];then
252+
THUMB_FLAG="-mthumb"
253+
echo "we are using mthumb for ${ANDROID_ABI}!!"
254+
fi
255+
250256

251257
if [ ${ANDROID_ABI} = "armeabi-v7a" ]; then
252258
add_make_enabled "HAVE_NEON"
253259
add_make_enabled "HAVE_ARMV7A"
254-
add_make "EXTRA_CFLAGS := -march=armv7-a -mfloat-abi=softfp -mfpu=vfpv3-d16 -mthumb -fomit-frame-pointer -fno-strict-aliasing -DANDROID -Wa,--noexecstack -Wformat "
260+
add_make "EXTRA_CFLAGS := -march=armv7-a -mfloat-abi=softfp -mfpu=vfpv3-d16 ${THUMB_FLAG} -fomit-frame-pointer -fno-strict-aliasing -DANDROID -Wa,--noexecstack -Wformat "
255261
add_make "EXTRA_LDFLAGS := -march=armv7-a -Wl,--fix-cortex-a8"
256262
fi
257263

258264
if [ ${ANDROID_ABI} = "armeabi" -a -z "${NO_ARMV6}" ];then
259265
add_make_enabled "HAVE_ARMV6"
260-
add_make "EXTRA_CFLAGS := -ffunction-sections -funwind-tables -fstack-protector -no-canonical-prefixes -march=armv5te -mtune=xscale -msoft-float -mthumb -fomit-frame-pointer -fno-strict-aliasing -DANDROID -Wa,--noexecstack -Wformat "
266+
add_make "EXTRA_CFLAGS := -ffunction-sections -funwind-tables -fstack-protector -no-canonical-prefixes -march=armv5te -mtune=xscale -msoft-float ${THUMB_FLAG} -fomit-frame-pointer -fno-strict-aliasing -DANDROID -Wa,--noexecstack -Wformat "
261267
fi
262268

263269
if [ ${ANDROID_ABI} = "armeabi-v8a" ]; then

0 commit comments

Comments
 (0)