@@ -38,6 +38,8 @@ export CMAKE_VERSION=3.13.0
3838
3939
4040export ORIGIN=$( pwd)
41+ export PYDK=$( pwd)
42+
4143export HOST=" ${ORIGIN} /host"
4244export BUILD_SRC=${ORIGIN} /src
4345
@@ -59,14 +61,16 @@ ROOT="${ORIGIN}/${ENV}"
5961BUILD_PREFIX=" ${ROOT} /build"
6062
6163# sdk tools https://developer.android.com/studio/releases/platform-tools
64+ export ANDROID_HOME=" ${ANDROID_HOME:- $(pwd)/ android-sdk} "
65+ # 28.0.3 at time of ndk 21/22
66+ export BUILD_TOOLS=" ${ANDROID_HOME} /build-tools/28.0.3"
6267
6368# ndk https://developer.android.com/ndk/downloads
64-
65- export ANDROID_HOME=${ANDROID_HOME:- $(pwd)/ android-sdk}
6669export NDK_HOME=${NDK_HOME:- ${ANDROID_HOME} / ndk-bundle}
6770export ANDROID_NDK_HOME=${NDK_HOME}
6871
6972
73+
7074# above are the defaults, can be overridden via CONFIG
7175
7276if [ -f " CONFIG" ]
7680fi
7781
7882# tested
79- PATCHELF_URL =" URL https://github.com/NixOS/patchelf/archive/0.12.tar.gz"
80- PATCHELF_HASH =" URL_HASH SHA256=3dca33fb862213b3541350e1da262249959595903f559eae0fbc68966e9c3f56"
83+ URL_PATCHELF =" URL https://github.com/NixOS/patchelf/archive/0.12.tar.gz"
84+ HASH_PATCHELF =" URL_HASH SHA256=3dca33fb862213b3541350e1da262249959595903f559eae0fbc68966e9c3f56"
8185
8286
83- ADBFS_URL =" GIT_REPOSITORY https://github.com/spion/adbfs-rootless.git"
87+ URL_ADBFS =" GIT_REPOSITORY https://github.com/spion/adbfs-rootless.git"
8488# tested
85- ADBFS_HASH =" GIT_TAG ba64c22dbd373499eea9c9a9d2a9dd1cd25c33e1 # 14 july 2019"
89+ HASH_ADBFS =" GIT_TAG ba64c22dbd373499eea9c9a9d2a9dd1cd25c33e1 # 14 july 2019"
8690
8791# new
88- ADBFS_HASH =" GIT_TAG 5b091a50cd2419e1cebe42aa1d0e1ad1f90fdfad # 29 feb 2020"
92+ HASH_ADBFS =" GIT_TAG 5b091a50cd2419e1cebe42aa1d0e1ad1f90fdfad # 29 feb 2020"
8993
9094# optionnal urls for sources packages
9195if [ -f " CACHE_URL" ]
97101UNITS=" unit bzip2 lzma libffi sqlite3 openssl python3"
98102
99103# extra
100- UNITS=" $UNITS freetype2 harfbuzz ft2_hb bullet3 openal ogg vorbis panda3d sdl2"
104+ UNITS=" $UNITS freetype2 harfbuzz ft2_hb bullet3 openal ogg vorbis panda3d sdl2 pcre2 "
101105
102106
103107
@@ -199,7 +203,7 @@ cd "${ROOT}"
199203
200204# because libpython is shared
201205export LD_LIBRARY_PATH=" ${HOST} /lib64:${HOST} /lib:$LD_LIBRARY_PATH "
202- export BASEPATH=" ${HOST} /bin:$NDK_HOME :${ROOT} /bin:/bin:/usr/bin:/usr/local/bin"
206+ export BASEPATH=" ${HOST} /bin:$NDK_HOME :${ROOT} /bin:${PYTHONPYCACHEPREFIX} /bin: /bin:/usr/bin:/usr/local/bin"
203207
204208# prevent system path interference in build tools
205209export PATH=" $BASEPATH "
@@ -227,8 +231,10 @@ export PATH="$BASEPATH"
227231
228232export PYDK="${ORIGIN} "
229233
234+ export CMAKE_INSTALL_PREFIX=${APKUSR}
230235export PREFIX="${APKUSR} "
231236
237+
232238export PYTHONPATH=${HOST} /lib/python$PYVER :${HOST} /lib/python${PYMAJOR} .${PYMINOR} /site-packages
233239
234240alias python="${HOST} /bin/python${PYMAJOR} .${PYMINOR} -i -u -B"
@@ -286,8 +292,8 @@ set(_downloadOptions SHOW_PROGRESS)
286292
287293ExternalProject_Add(
288294 patchelf
289- ${PATCHELF_URL }
290- ${PATCHELF_HASH }
295+ ${URL_PATCHELF }
296+ ${HASH_PATCHELF }
291297
292298 DOWNLOAD_NO_PROGRESS ${CI}
293299
@@ -301,8 +307,8 @@ ExternalProject_Add(
301307
302308ExternalProject_Add(
303309 adbfs
304- ${ADBFS_URL }
305- ${ADBFS_HASH }
310+ ${URL_ADBFS }
311+ ${HASH_ADBFS }
306312
307313 DOWNLOAD_NO_PROGRESS ${CI}
308314
340346 echo " -> host tools now in CMAKE_INSTALL_PREFIX=${HOST} "
341347
342348 echo " -> upgrading host build pip"
343- # FIXME PYPA "${HOST}/bin/python3" -m pip install --upgrade pip
344- " ${HOST} /bin/python3" -m pip install pip==20.3.1
349+ # FIXME PYPA
350+ " ${HOST} /bin/python3" -m pip install --upgrade pip
351+ # "${HOST}/bin/python3" -m pip install pip==20.3.1
345352fi
346353
347354# small fix for panda3d cmake
503510
504511export PKG_CONFIG_PATH=${APKUSR} /lib/pkgconfig
505512
513+ export CMAKE_INSTALL_PREFIX=${APKUSR}
514+ export PREFIX=${APKUSR}
515+
506516export PS1="[PyDK:$ABI_NAME ] \w \$ "
507517
508518export PYDK="${ORIGIN} "
509519
520+ ndk_build () {
521+ ndk-build \
522+ APP_PLATFORM=\$ {APP_PLATFORM} APP_ABI=\$ {APP_ABI} \
523+ NDK_PROJECT_PATH=. \
524+ APP_BUILD_SCRIPT=Android.mk \
525+ APP_ALLOW_MISSING_DEPS=true \
526+ PREFIX=${PREFIX} \
527+ CFLAGS=-fPIC \$ @
528+ }
529+
510530acmake () {
511531 reset
512532 echo " == cmake for target ${ABI_NAME} =="
@@ -639,11 +659,11 @@ export CC=$CC
639659export RANLIB=$RANLIB
640660
641661#ndk-build
642- export PREFIX ="${APKUSR} "
662+ export APP_PREFIX ="${APKUSR} "
643663export APP_ABI=$ABI_NAME
644664export APP_PLATFORM=android-$API
645665
646- export PATH=$BASEPATH
666+ export PATH=${NDK_HOME} /toolchains/llvm/prebuilt/linux-x86_64/bin: ${BUILD_TOOLS} : $ BASEPATH
647667export LD_LIBRARY_PATH=$LD_LIBRARY_PATH
648668
649669END
@@ -669,12 +689,12 @@ done
669689# if CI does not use bash
670690if $NOBASH
671691then
672- unset ENV ROOT BUILD_PREFIX SUPPORT APKUSR PKG_CONFIG_PATH TOOLCHAIN UNITS PYTHON3_URL PYTHON3_HASH
692+ unset ENV ROOT BUILD_PREFIX SUPPORT APKUSR PKG_CONFIG_PATH TOOLCHAIN UNITS URL_PYTHON3 HASH_PYTHON3
673693fi
674694
675695# until webgl is merged into master
676- unset PANDA3D_URL
677- unset PANDA3D_HASH
696+ unset URL_PANDA3D
697+ unset HASH_PANDA3D
678698
679699if echo $ABI_NAME | grep -q wasm
680700then
@@ -714,7 +734,7 @@ export WCMAKE="emcmake $CMAKE -Wno-dev -DCMAKE_INSTALL_PREFIX=${APKUSR}"
714734cat > ${HOST} /${ABI_NAME} .sh << END
715735#!/bin/sh
716736
717- export PATH=${HOST} /bin:${ROOT} /bin:/bin:/usr/bin:/usr/local/bin
737+ export PATH=${HOST} /bin:${ROOT} /bin:${PYTHONPYCACHEPREFIX} /bin: /bin:/usr/bin:/usr/local/bin
718738export LD_LIBRARY_PATH=$LD_LIBRARY_PATH :${HOST} /lib64:${HOST} /lib
719739
720740. ${TOOLCHAIN}
@@ -751,6 +771,19 @@ export PS1="[PyDK:$ABI_NAME] \w \$ "
751771
752772export PYDK="${ORIGIN} "
753773
774+ export CMAKE_INSTALL_PREFIX=${APKUSR}
775+ export PREFIX="${APKUSR} "
776+
777+ # gather \$ HOME/.local/bin
778+
779+ export HOME="${PYTHONPYCACHEPREFIX} "
780+ rm "${PYTHONPYCACHEPREFIX} /.local"
781+ ln -s "${PYTHONPYCACHEPREFIX} " "${PYTHONPYCACHEPREFIX} /.local"
782+
783+
784+ wconfigure () {
785+ CC=emcc CXX=em++ ./configure --prefix=${APKUSR} \$ @
786+ }
754787
755788wcmake () {
756789 reset
766799
767800END
768801
769- export UNITS=" openssl libffi python3 vorbis panda3d panda3dffi"
802+ export UNITS=" openssl libffi python3 vorbis panda3d panda3dffi pcre2 "
770803
771804if [ -f " ${SUPPORT} /cross_pip.wasm.sh" ]
772805then
0 commit comments