commit
21f86c9fe8
|
@ -0,0 +1,2 @@
|
|||
# Auto detect text files and perform LF normalization
|
||||
* text=auto
|
|
@ -0,0 +1,4 @@
|
|||
.DS_Store
|
||||
local.properties
|
||||
deps
|
||||
output
|
|
@ -0,0 +1,6 @@
|
|||
APP_PLATFORM := ${APP_PLATFORM}
|
||||
APP_ABI := ${TARGET_ABI}
|
||||
APP_STL := ${APP_STL}
|
||||
NDK_TOOLCHAIN_VERSION := ${COMPILER_VERSION}
|
||||
|
||||
APP_CFLAGS := ${TARGET_CXXFLAGS_ADDON}
|
|
@ -0,0 +1,8 @@
|
|||
APP_PLATFORM := ${APP_PLATFORM}
|
||||
APP_ABI := ${TARGET_ABI}
|
||||
APP_STL := ${APP_STL}
|
||||
APP_MODULES := Irrlicht
|
||||
|
||||
APP_CFLAGS := ${TARGET_CFLAGS_ADDON}
|
||||
APP_CXXFLAGS := ${TARGET_CPPFLAGS_ADDON} -std=gnu++17
|
||||
APP_CPPFLAGS := ${TARGET_CPPFLAGS_ADDON} -DNO_IRR_COMPILE_WITH_SDL_TEXTINPUT_
|
|
@ -0,0 +1,7 @@
|
|||
## Dependencies for the MultiCraft (Android)
|
||||
|
||||
Copyright © 2021-2022 Maksim Gamarnik [MoNTE48] <Maksym48@pm.me>
|
||||
|
||||
Licensed to libraries under the license of their authors.
|
||||
|
||||
License for this bash scripts: CC0.
|
|
@ -0,0 +1,40 @@
|
|||
#!/bin/bash -e
|
||||
|
||||
SDL2_VERSION=2.24.2
|
||||
|
||||
. sdk.sh
|
||||
|
||||
mkdir -p output/sdl2/lib/$TARGET_ABI
|
||||
mkdir -p deps; cd deps
|
||||
|
||||
if [ ! -d SDL2-src ]; then
|
||||
wget https://github.com/libsdl-org/SDL/archive/release-$SDL2_VERSION.tar.gz
|
||||
tar -xzvf release-$SDL2_VERSION.tar.gz
|
||||
mv SDL-release-$SDL2_VERSION sdl2-src
|
||||
rm release-$SDL2_VERSION.tar.gz
|
||||
fi
|
||||
|
||||
cd SDL2-src
|
||||
|
||||
mkdir -p build; cd build
|
||||
|
||||
cmake .. -DANDROID_STL="c++_static" \
|
||||
-DANDROID_NATIVE_API_LEVEL="$NATIVE_API_LEVEL" \
|
||||
-DANDROID_ABI="$ANDROID_ABI" \
|
||||
-DANDROID_PLATFORM="$API" \
|
||||
-DCMAKE_BUILD_TYPE=Release \
|
||||
-DCMAKE_C_FLAGS="$CFLAGS" \
|
||||
-DCMAKE_CXX_FLAGS="$CXXFLAGS -fPIC" \
|
||||
-DCMAKE_TOOLCHAIN_FILE="$ANDROID_NDK/build/cmake/android.toolchain.cmake" \
|
||||
-DLIBTYPE=STATIC
|
||||
|
||||
cmake --build . -j
|
||||
|
||||
# update `include` folder
|
||||
rm -rf ../../../output/sdl2/include/
|
||||
cp -r ../include ../../../output/sdl2/include
|
||||
# update lib
|
||||
rm -rf ../../../output/sdl2/lib/$TARGET_ABI/libSDL2.a
|
||||
cp -r libSDL2.a ../../../output/sdl2/lib/$TARGET_ABI/libSDL2.a
|
||||
|
||||
echo "SDL2 build successful"
|
|
@ -0,0 +1,55 @@
|
|||
#!/bin/bash -e
|
||||
|
||||
# Set ARCH
|
||||
|
||||
export ARCH="$(grep '^arch' local.properties | sed 's/^.*=[[:space:]]*//')"
|
||||
|
||||
if [ -z "$ARCH" ];
|
||||
then
|
||||
echo "Please specify ARCH"
|
||||
echo "e.g. \"armv7\", \"arm64\" or \"x86_64\""
|
||||
read ARCH
|
||||
|
||||
if [ "$ARCH" != armv7 ] && [ "$ARCH" != arm64 ] && [ "$ARCH" != x86_64 ];
|
||||
then
|
||||
echo "$ARCH is not a valid ARCH"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo "arch = $ARCH" >> local.properties
|
||||
fi
|
||||
|
||||
# Set NDK path
|
||||
export ANDROID_NDK="$(grep '^ndk\.dir' local.properties | sed 's/^.*=[[:space:]]*//')"
|
||||
|
||||
if [ ! -d "$ANDROID_NDK" ];
|
||||
then
|
||||
echo "Please specify path of ANDROID NDK"
|
||||
echo "e.g. $HOME/Android/android-ndk-r25"
|
||||
read ANDROID_NDK
|
||||
|
||||
if [ ! -d "$ANDROID_NDK" ];
|
||||
then
|
||||
echo "$ANDROID_NDK is not a valid folder"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo "ndk.dir = $ANDROID_NDK" >> local.properties
|
||||
fi
|
||||
|
||||
# Build libs
|
||||
|
||||
sh freetype.sh
|
||||
sh gettext.sh
|
||||
sh leveldb.sh
|
||||
#sh luajit.sh
|
||||
sh libjpeg.sh
|
||||
sh libpng.sh
|
||||
sh SDL2.sh
|
||||
sh irrlicht.sh
|
||||
sh openal.sh
|
||||
sh mbedtls.sh
|
||||
sh libcurl.sh
|
||||
sh vorbis.sh
|
||||
|
||||
echo "Done!"
|
|
@ -0,0 +1,42 @@
|
|||
#!/bin/bash -e
|
||||
|
||||
FREETYPE_VERSION=2.12.1
|
||||
|
||||
. sdk.sh
|
||||
|
||||
mkdir -p output/freetype/lib/$TARGET_ABI
|
||||
mkdir -p deps; cd deps
|
||||
|
||||
if [ ! -d freetype-src ]; then
|
||||
wget https://download.savannah.gnu.org/releases/freetype/freetype-$FREETYPE_VERSION.tar.gz
|
||||
tar -xzvf freetype-$FREETYPE_VERSION.tar.gz
|
||||
mv freetype-$FREETYPE_VERSION freetype-src
|
||||
rm freetype-$FREETYPE_VERSION.tar.gz
|
||||
mkdir freetype-src/build
|
||||
fi
|
||||
|
||||
cd freetype-src/build
|
||||
|
||||
cmake .. -DANDROID_STL="c++_static" -DANDROID_NATIVE_API_LEVEL="$NATIVE_API_LEVEL" \
|
||||
-DCMAKE_BUILD_TYPE=Release \
|
||||
-DBUILD_SHARED_LIBS=FALSE \
|
||||
-DFT_DISABLE_BZIP2=TRUE \
|
||||
-DFT_DISABLE_PNG=TRUE \
|
||||
-DFT_DISABLE_HARFBUZZ=TRUE \
|
||||
-DFT_DISABLE_BROTLI=TRUE \
|
||||
-DANDROID_ABI="$ANDROID_ABI" \
|
||||
-DANDROID_PLATFORM="$API" \
|
||||
-DCMAKE_C_FLAGS_RELEASE="$CFLAGS" \
|
||||
-DCMAKE_TOOLCHAIN_FILE="$ANDROID_NDK/build/cmake/android.toolchain.cmake"
|
||||
|
||||
cmake --build . -j
|
||||
|
||||
# update `include` folder
|
||||
rm -rf ../../../output/freetype/include/
|
||||
cp -r ../include ../../../output/freetype/include
|
||||
rm -rf ../../../output/freetype/include/dlg
|
||||
# update lib
|
||||
rm -rf ../../../output/freetype/lib/$TARGET_ABI/libfreetype.a
|
||||
cp -r libfreetype.a ../../../output/freetype/lib/$TARGET_ABI/libfreetype.a
|
||||
|
||||
echo "Freetype build successful"
|
|
@ -0,0 +1,32 @@
|
|||
#!/bin/bash -e
|
||||
|
||||
. sdk.sh
|
||||
GETTEXT_VERSION=0.21.1
|
||||
|
||||
mkdir -p output/gettext/lib/$TARGET_ABI
|
||||
mkdir -p deps; cd deps
|
||||
|
||||
if [ ! -d gettext-src ]; then
|
||||
wget https://ftp.gnu.org/pub/gnu/gettext/gettext-$GETTEXT_VERSION.tar.gz
|
||||
tar -xzvf gettext-$GETTEXT_VERSION.tar.gz
|
||||
mv gettext-$GETTEXT_VERSION gettext-src
|
||||
rm gettext-$GETTEXT_VERSION.tar.gz
|
||||
fi
|
||||
|
||||
cd gettext-src/gettext-runtime
|
||||
|
||||
./configure --host=$TARGET CFLAGS="$CFLAGS" CPPFLAGS="$CXXFLAGS" \
|
||||
--prefix=/ --disable-shared --enable-static \
|
||||
--disable-libasprintf
|
||||
|
||||
make -j
|
||||
|
||||
# update `include` folder
|
||||
rm -rf ../../../output/gettext/include
|
||||
mkdir -p ../../../output/gettext/include
|
||||
cp -r intl/libintl.h ../../../output/gettext/include/libintl.h
|
||||
# update lib
|
||||
rm -rf ../../../output/gettext/lib/$TARGET_ABI/libintl.a
|
||||
cp -r intl/.libs/libintl.a ../../../output/gettext/lib/$TARGET_ABI/libintl.a
|
||||
|
||||
echo "Gettext build successful"
|
|
@ -0,0 +1,33 @@
|
|||
#!/bin/bash -e
|
||||
|
||||
. sdk.sh
|
||||
|
||||
mkdir -p output/irrlicht/lib/$TARGET_ABI
|
||||
mkdir -p deps; cd deps
|
||||
|
||||
[ ! -d irrlicht-src ] && \
|
||||
git clone --depth 1 -b SDL2 https://github.com/MoNTE48/Irrlicht irrlicht-src
|
||||
|
||||
cd irrlicht-src/source/Irrlicht/Android-SDL2
|
||||
|
||||
export SDL2_PATH="$OUTPUT_PATH/sdl2/"
|
||||
$ANDROID_NDK/ndk-build -j \
|
||||
NDEBUG=1 \
|
||||
APP_PLATFORM=android-"$API" \
|
||||
TARGET_ABI="$TARGET_ABI" \
|
||||
APP_STL="c++_static" \
|
||||
NDK_APPLICATION_MK="$ANDR_ROOT/Irrlicht.mk" \
|
||||
TARGET_CFLAGS_ADDON="${TARGET_CFLAGS_ADDON}" \
|
||||
TARGET_CPPFLAGS_ADDON="${TARGET_CXXFLAGS_ADDON} -I$OUTPUT_PATH/libjpeg/include -I$OUTPUT_PATH/libpng/include"
|
||||
|
||||
# update `include` folder
|
||||
rm -rf ../../../../../output/irrlicht/include
|
||||
cp -r ../../../include ../../../../../output/irrlicht/include
|
||||
# update lib
|
||||
rm -rf ../../../../../../../Irrlicht/lib/$TARGET_ABI/libIrrlicht.a
|
||||
cp -r ../../../lib/Android-SDL2/$TARGET_ABI/libIrrlicht.a ../../../../../output/irrlicht/lib/$TARGET_ABI/libIrrlicht.a
|
||||
# update shaders
|
||||
rm -rf ../../../../../output/irrlicht/shaders
|
||||
cp -r ../../../media/Shaders ../../../../../output/irrlicht/shaders
|
||||
|
||||
echo "Irrlicht build successful"
|
|
@ -0,0 +1,39 @@
|
|||
#!/bin/bash -e
|
||||
|
||||
LEVELDB_VERSION=1.23
|
||||
|
||||
. sdk.sh
|
||||
|
||||
mkdir -p output/leveldb/lib/$TARGET_ABI
|
||||
mkdir -p deps; cd deps
|
||||
|
||||
if [ ! -d leveldb-src ]; then
|
||||
git clone -b $LEVELDB_VERSION --depth 1 https://github.com/google/leveldb leveldb-src
|
||||
mkdir leveldb-src/build
|
||||
fi
|
||||
|
||||
cd leveldb-src/build
|
||||
|
||||
cmake .. -DANDROID_STL="c++_static" \
|
||||
-DANDROID_NATIVE_API_LEVEL="$NATIVE_API_LEVEL" \
|
||||
-DANDROID_ABI="$ANDROID_ABI" \
|
||||
-DANDROID_PLATFORM="$API" \
|
||||
-DBUILD_SHARED_LIBS=OFF \
|
||||
-DCMAKE_BUILD_TYPE=Release \
|
||||
-DCMAKE_C_FLAGS="$CFLAGS" \
|
||||
-DCMAKE_CXX_FLAGS="$CXXFLAGS -fPIC" \
|
||||
-DCMAKE_TOOLCHAIN_FILE="$ANDROID_NDK/build/cmake/android.toolchain.cmake" \
|
||||
-DLEVELDB_BUILD_TESTS=OFF \
|
||||
-DLEVELDB_BUILD_BENCHMARKS=OFF \
|
||||
-DLEVELDB_INSTALL=OFF
|
||||
|
||||
cmake --build . -j
|
||||
|
||||
# update `include` folder
|
||||
rm -rf ../../../output/leveldb/include/
|
||||
cp -r ../include ../../../output/leveldb/include
|
||||
# update lib
|
||||
rm -rf ../../../output/leveldb/lib/$TARGET_ABI/libleveldb.a
|
||||
cp -r libleveldb.a ../../../output/leveldb/lib/$TARGET_ABI/libleveldb.a
|
||||
|
||||
echo "LevelDB build successful"
|
|
@ -0,0 +1,40 @@
|
|||
#!/bin/bash -e
|
||||
|
||||
. sdk.sh
|
||||
CURL_VERSION=7.86.0
|
||||
|
||||
export ANDR_ROOT=$(pwd)
|
||||
|
||||
mkdir -p output/libcurl/lib/$TARGET_ABI
|
||||
mkdir -p deps; cd deps
|
||||
|
||||
if [ ! -d libcurl-src ]; then
|
||||
wget https://curl.haxx.se/download/curl-$CURL_VERSION.tar.gz
|
||||
tar -xzvf curl-$CURL_VERSION.tar.gz
|
||||
mv curl-$CURL_VERSION libcurl-src
|
||||
rm curl-$CURL_VERSION.tar.gz
|
||||
fi
|
||||
|
||||
cd libcurl-src
|
||||
|
||||
./configure --host=$TARGET \
|
||||
--with-mbedtls="$ANDR_ROOT/deps/mbedtls-src/build" \
|
||||
--prefix=/ --disable-shared --enable-static \
|
||||
--disable-debug --disable-verbose --disable-versioned-symbols \
|
||||
--disable-dependency-tracking --disable-libcurl-option \
|
||||
--disable-ares --disable-cookies --disable-crypto-auth --disable-manual \
|
||||
--disable-proxy --disable-unix-sockets --without-librtmp \
|
||||
--disable-ftp --disable-ldap --disable-ldaps --disable-rtsp \
|
||||
--disable-dict --disable-telnet --disable-tftp --disable-pop3 \
|
||||
--disable-imap --disable-smtp --disable-gopher --disable-sspi
|
||||
|
||||
make -j
|
||||
|
||||
# update `include` folder
|
||||
rm -rf ../../output/libcurl/include
|
||||
cp -r include ../../output/libcurl/
|
||||
# update lib
|
||||
rm -rf ../../output/libcurl/lib/$TARGET_ABI/libcurl.a
|
||||
cp -r lib/.libs/libcurl.a ../../output/libcurl/lib/$TARGET_ABI/
|
||||
|
||||
echo "libcurl build successful"
|
|
@ -0,0 +1,38 @@
|
|||
#!/bin/bash -e
|
||||
|
||||
. sdk.sh
|
||||
JPEG_VERSION=2.1.4
|
||||
|
||||
mkdir -p output/libjpeg/lib/$TARGET_ABI
|
||||
mkdir -p deps; cd deps
|
||||
|
||||
if [ ! -d libjpeg-src ]; then
|
||||
wget https://download.sourceforge.net/libjpeg-turbo/libjpeg-turbo-$JPEG_VERSION.tar.gz
|
||||
tar -xzvf libjpeg-turbo-$JPEG_VERSION.tar.gz
|
||||
mv libjpeg-turbo-$JPEG_VERSION libjpeg-src
|
||||
rm libjpeg-turbo-$JPEG_VERSION.tar.gz
|
||||
mkdir libjpeg-src/build
|
||||
fi
|
||||
|
||||
cd libjpeg-src/build
|
||||
|
||||
cmake .. -DANDROID_STL="c++_static" -DANDROID_NATIVE_API_LEVEL="$NATIVE_API_LEVEL" \
|
||||
-DCMAKE_BUILD_TYPE=Release \
|
||||
-DENABLE_SHARED=OFF \
|
||||
-DANDROID_ABI="$ANDROID_ABI" \
|
||||
-DANDROID_PLATFORM="$API" \
|
||||
-DCMAKE_C_FLAGS_RELEASE="$CFLAGS" \
|
||||
-DCMAKE_TOOLCHAIN_FILE="$ANDROID_NDK/build/cmake/android.toolchain.cmake"
|
||||
|
||||
cmake --build . -j
|
||||
|
||||
make DESTDIR=$PWD/../../../../libjpeg install
|
||||
|
||||
# update `include` folder
|
||||
rm -rf ../../../../libjpeg/include
|
||||
cp -r ../../../../libjpeg/opt/libjpeg-turbo/include ../../../output/libjpeg/include
|
||||
# update lib
|
||||
rm -rf ../../../output/libjpeg/lib/$TARGET_ABI/libjpeg.a
|
||||
cp -r libjpeg.a ../../../output/libjpeg/lib/$TARGET_ABI/libjpeg.a
|
||||
|
||||
echo "libjpeg build successful"
|
|
@ -0,0 +1,40 @@
|
|||
#!/bin/bash -e
|
||||
|
||||
. sdk.sh
|
||||
PNG_VERSION=1.6.38
|
||||
|
||||
mkdir -p output/libpng/lib/$TARGET_ABI
|
||||
mkdir -p deps; cd deps
|
||||
|
||||
if [ ! -d libpng-src ]; then
|
||||
wget https://download.sourceforge.net/libpng/libpng-$PNG_VERSION.tar.gz
|
||||
tar -xzvf libpng-$PNG_VERSION.tar.gz
|
||||
mv libpng-$PNG_VERSION libpng-src
|
||||
rm libpng-$PNG_VERSION.tar.gz
|
||||
mkdir libpng-src/build
|
||||
fi
|
||||
|
||||
cd libpng-src/build
|
||||
|
||||
cmake .. -DANDROID_STL="c++_static" -DANDROID_NATIVE_API_LEVEL="$NATIVE_API_LEVEL" \
|
||||
-DCMAKE_BUILD_TYPE=Release \
|
||||
-DPNG_SHARED=OFF \
|
||||
-DPNG_TESTS=OFF \
|
||||
-DPNG_EXECUTABLES=OFF \
|
||||
-DANDROID_ABI="$ANDROID_ABI" \
|
||||
-DANDROID_PLATFORM="$API" \
|
||||
-DCMAKE_C_FLAGS_RELEASE="$CFLAGS" \
|
||||
-DCMAKE_TOOLCHAIN_FILE="$ANDROID_NDK/build/cmake/android.toolchain.cmake"
|
||||
|
||||
cmake --build . -j
|
||||
|
||||
# update `include` folder
|
||||
rm -rf ../../../output/libpng/include
|
||||
mkdir -p ../../../output/libpng/include
|
||||
cp -v ../*.h ../../../output/libpng/include
|
||||
cp -v pnglibconf.h ../../../output/libpng/include
|
||||
# update lib
|
||||
rm -rf ../../../output/libpng/lib/$TARGET_ABI/libpng.a
|
||||
cp -r libpng16.a ../../../output/libpng/lib/$TARGET_ABI/libpng.a
|
||||
|
||||
echo "libpng build successful"
|
|
@ -0,0 +1,43 @@
|
|||
#!/bin/bash -e
|
||||
|
||||
LUAJIT_VERSION=2.1
|
||||
|
||||
. sdk.sh
|
||||
|
||||
mkdir -p output/luajit/lib/$TARGET_ABI
|
||||
mkdir -p deps; cd deps
|
||||
|
||||
if [ ! -d luajit-src ]; then
|
||||
wget https://github.com/LuaJIT/LuaJIT/archive/v$LUAJIT_VERSION.tar.gz
|
||||
tar -xzvf v$LUAJIT_VERSION.tar.gz
|
||||
mv LuaJIT-$LUAJIT_VERSION luajit-src
|
||||
rm v$LUAJIT_VERSION.tar.gz
|
||||
fi
|
||||
|
||||
cd luajit-src
|
||||
|
||||
if [ $TARGET_ABI == armeabi-v7a ];
|
||||
then
|
||||
HOST_CC="clang -m32"
|
||||
else
|
||||
HOST_CC="clang -m64"
|
||||
fi
|
||||
|
||||
make amalg -j \
|
||||
HOST_CC="$HOST_CC" \
|
||||
TARGET_SYS=Linux \
|
||||
CC="$CC" \
|
||||
TARGET_AR="$AR rcus" \
|
||||
TARGET_STRIP="$STRIP" \
|
||||
TARGET_FLAGS="$CFLAGS -fno-fast-math -Wno-undef-prefix" \
|
||||
BUILDMODE=static
|
||||
|
||||
# update `src` folder
|
||||
rm -rf ../../output/luajit/include
|
||||
mkdir -p ../../output/luajit/include
|
||||
cp src/*.h ../../output/luajit/include/
|
||||
# update lib
|
||||
rm -rf ../../output/luajit/lib/$TARGET_ABI/libluajit.a
|
||||
cp -r src/libluajit.a ../../output/luajit/lib/$TARGET_ABI/
|
||||
|
||||
echo "LuaJIT build successful"
|
|
@ -0,0 +1,39 @@
|
|||
#!/bin/bash -e
|
||||
|
||||
. sdk.sh
|
||||
MBEDTLS_VERSION=3.2.1
|
||||
|
||||
mkdir -p output/mbedtls/lib/$TARGET_ABI
|
||||
mkdir -p deps; cd deps
|
||||
|
||||
if [ ! -d mbedtls-src ]; then
|
||||
wget https://github.com/Mbed-TLS/mbedtls/archive/refs/tags/v$MBEDTLS_VERSION.tar.gz
|
||||
tar -xzvf v$MBEDTLS_VERSION.tar.gz
|
||||
mv mbedtls-$MBEDTLS_VERSION mbedtls-src
|
||||
rm v$MBEDTLS_VERSION.tar.gz
|
||||
mkdir mbedtls-src/build
|
||||
fi
|
||||
|
||||
cd mbedtls-src/build
|
||||
|
||||
cmake .. -DANDROID_STL="c++_static" \
|
||||
-DANDROID_NATIVE_API_LEVEL="$NATIVE_API_LEVEL" \
|
||||
-DANDROID_ABI="$ANDROID_ABI" \
|
||||
-DANDROID_PLATFORM="$API" \
|
||||
-DBUILD_SHARED_LIBS=OFF \
|
||||
-DANDROID_ARM_MODE="arm" \
|
||||
-DCMAKE_BUILD_TYPE=Release \
|
||||
-DCMAKE_C_FLAGS="$CFLAGS" \
|
||||
-DCMAKE_CXX_FLAGS="$CXXFLAGS -fPIC" \
|
||||
-DCMAKE_INSTALL_PREFIX="." \
|
||||
-DCMAKE_TOOLCHAIN_FILE="$ANDROID_NDK/build/cmake/android.toolchain.cmake" \
|
||||
-DENABLE_TESTING=OFF
|
||||
|
||||
cmake --build . -j
|
||||
make install -s
|
||||
|
||||
# update lib
|
||||
rm -rf ../../../output/mbedtls/lib/$TARGET_ABI/*.a
|
||||
cp -r library/*.a ../../../output/mbedtls/lib/$TARGET_ABI/
|
||||
|
||||
echo "MbedTLS build successful"
|
|
@ -0,0 +1,46 @@
|
|||
#!/bin/bash -e
|
||||
|
||||
OPENAL_VERSION=1.22.2
|
||||
|
||||
. sdk.sh
|
||||
|
||||
export SDL_PATH="$(pwd)/deps/sdl2-src"
|
||||
|
||||
mkdir -p output/openal/lib/$TARGET_ABI
|
||||
mkdir -p deps; cd deps
|
||||
|
||||
if [ ! -d openal-src ]; then
|
||||
git clone -b $OPENAL_VERSION --depth 1 https://github.com/kcat/openal-soft openal-src
|
||||
fi
|
||||
|
||||
cd openal-src/build
|
||||
|
||||
cmake .. -DANDROID_STL="c++_static" \
|
||||
-DANDROID_NATIVE_API_LEVEL="$NATIVE_API_LEVEL" \
|
||||
-DANDROID_ABI="$ANDROID_ABI" \
|
||||
-DANDROID_PLATFORM="$API" \
|
||||
-DALSOFT_UTILS=NO \
|
||||
-DALSOFT_EXAMPLES=NO \
|
||||
-DALSOFT_BACKEND_OPENSL=NO \
|
||||
-DALSOFT_BACKEND_WAVE=NO \
|
||||
-DALSOFT_BACKEND_SDL2=YES \
|
||||
-DALSOFT_EMBED_HRTF_DATA=NO \
|
||||
-DALSOFT_UPDATE_BUILD_VERSION=NO \
|
||||
-DCMAKE_BUILD_TYPE=Release \
|
||||
-DCMAKE_C_FLAGS="$CFLAGS -I $SDL_PATH" \
|
||||
-DCMAKE_CXX_FLAGS="$CXXFLAGS -fPIC -I $SDL_PATH/inlcude" \
|
||||
-DCMAKE_TOOLCHAIN_FILE="$ANDROID_NDK/build/cmake/android.toolchain.cmake" \
|
||||
-DLIBTYPE=STATIC \
|
||||
-DSDL2_INCLUDE_DIR="$SDL_PATH/include" \
|
||||
-DSDL2_LIBRARY="$SDL_PATH/lib/$TARGET_ABI/libSDL2.a"
|
||||
|
||||
cmake --build . -j
|
||||
|
||||
# update `include` folder
|
||||
rm -rf ../../../output/openal/include/
|
||||
cp -r ../include ../../../output/openal/include
|
||||
# update lib
|
||||
rm -rf ../../../output/openal/lib/$TARGET_ABI/libopenal.a
|
||||
cp -r libopenal.a ../../../output/openal/lib/$TARGET_ABI/libopenal.a
|
||||
|
||||
echo "OpenAL-Soft build successful"
|
|
@ -0,0 +1,68 @@
|
|||
#!/bin/bash -e
|
||||
|
||||
export ARCH="$(grep '^arch' local.properties | sed 's/^.*=[[:space:]]*//')"
|
||||
|
||||
if [ -z "$ARCH" ];
|
||||
then
|
||||
echo "Please specify ARCH using Start.sh"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
export ANDROID_NDK="$(grep '^ndk\.dir' local.properties | sed 's/^.*=[[:space:]]*//')"
|
||||
|
||||
if [ ! -d "$ANDROID_NDK" ];
|
||||
then
|
||||
echo "Please specify NDK path using Start.sh"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
case "$ARCH" in
|
||||
"armv7")
|
||||
### toolchain config for ARMv7
|
||||
export TARGET_ABI=armeabi-v7a
|
||||
export ANDROID_ABI="$TARGET_ABI with NEON"
|
||||
export TARGET=armv7a-linux-androideabi ;;
|
||||
"arm64")
|
||||
### toolchain config for ARM64
|
||||
export TARGET_ABI=arm64-v8a
|
||||
export ANDROID_ABI=$TARGET_ABI
|
||||
export TARGET=aarch64-linux-android ;;
|
||||
"x86_64")
|
||||
### toolchain config for x86_64
|
||||
export TARGET_ABI=x86_64
|
||||
export ANDROID_ABI=$TARGET_ABI
|
||||
export TARGET=x86_64-linux-android ;;
|
||||
*)
|
||||
echo "Don't ask to use $ARCH"
|
||||
exit 1 ;;
|
||||
esac
|
||||
|
||||
export API=21
|
||||
export CFLAGS="-fvisibility=hidden -fexceptions -D__ANDROID_MIN_SDK_VERSION__=$API"
|
||||
export CXXFLAGS="$CFLAGS -frtti"
|
||||
export NATIVE_API_LEVEL="android-$API"
|
||||
|
||||
echo "Configured for $TARGET_ABI"
|
||||
|
||||
case "$OSTYPE" in
|
||||
linux*)
|
||||
export TOOLCHAIN=$ANDROID_NDK/toolchains/llvm/prebuilt/linux-x86_64
|
||||
echo "Configured for Linux" ;;
|
||||
darwin*)
|
||||
export TOOLCHAIN=$ANDROID_NDK/toolchains/llvm/prebuilt/darwin-x86_64
|
||||
export MACOSX_DEPLOYMENT_TARGET=10.15
|
||||
echo "Configured for Mac OS" ;;
|
||||
*)
|
||||
echo "Just use right OS instead $OSTYPE"
|
||||
exit 1 ;;
|
||||
esac
|
||||
|
||||
export CC=$TOOLCHAIN/bin/$TARGET$API-clang
|
||||
export CXX=$TOOLCHAIN/bin/$TARGET$API-clang++
|
||||
export AR=$TOOLCHAIN/bin/llvm-ar
|
||||
export LD=$TOOLCHAIN/bin/ld
|
||||
export RANLIB=$TOOLCHAIN/bin/llvm-ranlib
|
||||
export STRIP=$TOOLCHAIN/bin/llvm-strip
|
||||
|
||||
export ANDR_ROOT=$(pwd)
|
||||
export OUTPUT_PATH="$ANDR_ROOT/output"
|
|
@ -0,0 +1,29 @@
|
|||
#!/bin/bash -e
|
||||
|
||||
. sdk.sh
|
||||
|
||||
export ANDR_ROOT=$(pwd)
|
||||
|
||||
mkdir -p output/vorbis/lib/$TARGET_ABI
|
||||
mkdir -p deps; cd deps
|
||||
|
||||
if [ ! -d vorbis-src ]; then
|
||||
git clone https://github.com/MoNTE48/libvorbis-android vorbis-src
|
||||
fi
|
||||
|
||||
cd vorbis-src
|
||||
|
||||
$ANDROID_NDK/ndk-build \
|
||||
APP_PLATFORM=android-"$API" \
|
||||
TARGET_ABI="$TARGET_ABI" \
|
||||
NDK_APPLICATION_MK="$ANDR_ROOT/Deps.mk"
|
||||
|
||||
# update `include` folder
|
||||
rm -rf ../../output/vorbis/include/
|
||||
cp -r jni/include ../../output/vorbis/include
|
||||
rm -rf ../../output/vorbis/include/dlg
|
||||
# update lib
|
||||
rm -rf ../../output/vorbis/lib/$TARGET_ABI/libvorbis.a
|
||||
cp -r obj/local/$TARGET_ABI/libvorbis.a ../../output/vorbis/lib/$TARGET_ABI/libvorbis.a
|
||||
|
||||
echo "Vorbis build successful"
|
Loading…
Reference in New Issue