@@ -19,6 +19,11 @@ SRC_PATH="$ROOT_PATH/src"
1919JNI_PATH=" $SRC_PATH /jni"
2020DIST_PATH=" $ROOT_PATH /dist/default"
2121
22+ # Tools
23+ export LIBLINK_PATH=" $BUILD_PATH /objects"
24+ export LIBLINK=" $ROOT_PATH /src/tools/liblink"
25+ export BIGLINK=" $ROOT_PATH /src/tools/biglink"
26+
2227# Internals
2328CRED=" \x1b[31;01m"
2429CBLUE=" \x1b[34;01m"
@@ -80,6 +85,7 @@ function push_arm() {
8085 export OLD_RANLIB=$RANLIB
8186 export OLD_STRIP=$STRIP
8287 export OLD_MAKE=$MAKE
88+ export OLD_LD=$LD
8389
8490 # to override the default optimization, set OFLAG
8591 # export OFLAG="-Os"
@@ -121,6 +127,7 @@ function push_arm() {
121127 export CXX=" $TOOLCHAIN_PREFIX -g++ $CXXFLAGS "
122128 export AR=" $TOOLCHAIN_PREFIX -ar"
123129 export RANLIB=" $TOOLCHAIN_PREFIX -ranlib"
130+ export LD=" $TOOLCHAIN_PREFIX -ld"
124131 export STRIP=" $TOOLCHAIN_PREFIX -strip --strip-unneeded"
125132 export MAKE=" make -j5"
126133
@@ -140,6 +147,7 @@ function pop_arm() {
140147 export CC=$OLD_CC
141148 export CXX=$OLD_CXX
142149 export AR=$OLD_AR
150+ export LD=$OLD_LD
143151 export RANLIB=$OLD_RANLIB
144152 export STRIP=$OLD_STRIP
145153 export MAKE=$OLD_MAKE
@@ -239,6 +247,7 @@ function run_prepare() {
239247 test -d $PACKAGES_PATH || mkdir -p $PACKAGES_PATH
240248 test -d $BUILD_PATH || mkdir -p $BUILD_PATH
241249 test -d $LIBS_PATH || mkdir -p $LIBS_PATH
250+ test -d $LIBLINK_PATH || mkdir -p $LIBLINK_PATH
242251
243252 # create initial files
244253 echo " target=android-$ANDROIDAPI " > $SRC_PATH /default.properties
@@ -486,6 +495,7 @@ function run_distribute() {
486495 debug " Fill private directory"
487496 try cp -a python-install/lib private/
488497 try mkdir -p private/include/python2.7
498+ try mv libs/$ARCH /libpymodules.so private/
489499 try cp python-install/include/python2.7/pyconfig.h private/include/python2.7/
490500
491501 debug " Reduce private directory from unwanted files"
@@ -519,12 +529,19 @@ function run_distribute() {
519529
520530}
521531
532+ function run_biglink() {
533+ push_arm
534+ try $BIGLINK $LIBS_PATH /libpymodules.so $LIBLINK_PATH
535+ pop_arm
536+ }
537+
522538function run() {
523539 run_prepare
524540 run_source_modules
525541 run_get_packages
526542 run_prebuild
527543 run_build
544+ run_biglink
528545 run_postbuild
529546 run_distribute
530547 info " All done !"
@@ -536,6 +553,23 @@ function list_modules() {
536553 exit 0
537554}
538555
556+ # one method to deduplicate some symbol in libraries
557+ function arm_deduplicate() {
558+ fn=$( basename $1 )
559+ echo " == Trying to remove duplicate symbol in $1 "
560+ push_arm
561+ try mkdir ddp
562+ try cd ddp
563+ try $AR x $1
564+ try $AR rc $fn * .o
565+ try $RANLIB $fn
566+ try mv -f $fn $1
567+ try cd ..
568+ try rm -rf ddp
569+ pop_arm
570+ }
571+
572+
539573# Do the build
540574while getopts " :hvlfm:d:" opt; do
541575 case $opt in
0 commit comments