mirror of
https://github.com/foobnix/LibreraReader.git
synced 2025-10-06 00:02:43 +02:00
171 lines
4.8 KiB
Bash
Executable File
171 lines
4.8 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
#. ~/.profile
|
|
|
|
# get the location of this script, we will checkout mupdf into the same directory
|
|
BUILD_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )"
|
|
|
|
cd $BUILD_DIR
|
|
|
|
VERSION_TAG="1.23.7"
|
|
MUPDF_FOLDER=mupdf-$VERSION_TAG
|
|
|
|
if [ "$1" == "fdroid" ]; then
|
|
MUPDF_FOLDER=$MUPDF_FOLDER-fdroid
|
|
fi
|
|
|
|
git clone --recursive git://git.ghostscript.com/mupdf.git --branch $VERSION_TAG $MUPDF_FOLDER
|
|
|
|
MUPDF_ROOT=$BUILD_DIR/$MUPDF_FOLDER
|
|
|
|
|
|
MUPDF_JAVA=$MUPDF_ROOT/platform/librera
|
|
mkdir -p $MUPDF_JAVA/jni
|
|
|
|
SRC=jni/~mupdf-$VERSION_TAG
|
|
DEST=$MUPDF_ROOT/source
|
|
LIBS=$BUILD_DIR/../app/src/main/jniLibs
|
|
|
|
echo "MUPDF :" $VERSION_TAG
|
|
echo "================== "
|
|
|
|
mkdir $SRC
|
|
mkdir $MUPDF_FOLDER
|
|
|
|
cd $MUPDF_FOLDER
|
|
|
|
echo "=================="
|
|
|
|
if [ "$1" == "clean" ]; then
|
|
git reset --hard && git clean -f -d
|
|
rm -rf generated
|
|
rm -rf build
|
|
make clean
|
|
fi
|
|
|
|
if [ ! -d "build/release" ]; then
|
|
make generate
|
|
make release
|
|
fi
|
|
|
|
cd ..
|
|
|
|
rm -rf $MUPDF_JAVA/jni
|
|
cp -Rp jni $MUPDF_JAVA/jni
|
|
mv $MUPDF_JAVA/jni/Android-$VERSION_TAG.mk $MUPDF_JAVA/jni/Android.mk
|
|
|
|
|
|
rm -r $LIBS
|
|
mkdir $LIBS
|
|
|
|
ln -s $MUPDF_JAVA/libs/armeabi-v7a $LIBS
|
|
ln -s $MUPDF_JAVA/libs/arm64-v8a $LIBS
|
|
ln -s $MUPDF_JAVA/libs/x86 $LIBS
|
|
ln -s $MUPDF_JAVA/libs/x86_64 $LIBS
|
|
|
|
if [ "$1" == "copy" ]; then
|
|
|
|
cp -rpv $DEST/html/css-apply.c $SRC/css-apply.c
|
|
cp -rpv $DEST/html/epub-doc.c $SRC/epub-doc.c
|
|
cp -rpv $DEST/html/html-layout.c $SRC/html-layout.c
|
|
cp -rpv $DEST/html/html-parse.c $SRC/html-parse.c
|
|
|
|
cp -rpv $DEST/cbz/mucbz.c $SRC/mucbz.c
|
|
cp -rpv $DEST/cbz/muimg.c $SRC/muimg.c
|
|
|
|
cp -rpv $DEST/fitz/load-webp.c $SRC/load-webp.c
|
|
cp -rpv $DEST/fitz/image.c $SRC/image.c
|
|
cp -rpv $DEST/fitz/unzip.c $SRC/unzip.c
|
|
cp -rpv $DEST/fitz/directory.c $SRC/directory.c
|
|
cp -rpv $DEST/fitz/xml.c $SRC/xml.c
|
|
cp -rpv $DEST/fitz/list-device.c $SRC/list-device.c
|
|
|
|
cp -rpv $DEST/fitz/image-imp.h $SRC/image-imp.h
|
|
cp -rpv $MUPDF_ROOT/include/mupdf/fitz/compressed-buffer.h $SRC/compressed-buffer.h
|
|
cp -rpv $MUPDF_ROOT/include/mupdf/fitz/context.h $SRC/context.h
|
|
|
|
else
|
|
|
|
cp -rpv $SRC/css-apply.c $DEST/html/css-apply.c
|
|
cp -rpv $SRC/epub-doc.c $DEST/html/epub-doc.c
|
|
cp -rpv $SRC/html-layout.c $DEST/html/html-layout.c
|
|
cp -rpv $SRC/html-parse.c $DEST/html/html-parse.c
|
|
|
|
cp -rpv $SRC/mucbz.c $DEST/cbz/mucbz.c
|
|
cp -rpv $SRC/muimg.c $DEST/cbz/muimg.c
|
|
|
|
cp -rpv $SRC/load-webp.c $DEST/fitz/load-webp.c
|
|
cp -rpv $SRC/image.c $DEST/fitz/image.c
|
|
cp -rpv $SRC/unzip.c $DEST/fitz/unzip.c
|
|
cp -rpv $SRC/directory.c $DEST/fitz/directory.c
|
|
cp -rpv $SRC/xml.c $DEST/fitz/xml.c
|
|
cp -rpv $SRC/list-device.c $DEST/fitz/list-device.c
|
|
|
|
cp -rpv $SRC/image-imp.h $DEST/fitz/image-imp.h
|
|
cp -rpv $SRC/compressed-buffer.h $MUPDF_ROOT/include/mupdf/fitz/compressed-buffer.h
|
|
cp -rpv $SRC/context.h $MUPDF_ROOT/include/mupdf/fitz/context.h
|
|
|
|
cd $MUPDF_JAVA
|
|
|
|
NDK_VERSION="28.2.13676358"
|
|
FDRIOD_NDK_VERSION="21.4.7075529"
|
|
|
|
if [ "$(uname)" == "Darwin" ]; then
|
|
FDRIOD_NDK_VERSION=$NDK_VERSION
|
|
fi
|
|
|
|
PATH1=/Users/ivanivanenko/Library/Android/sdk/ndk
|
|
PATH2=/home/dev/Android/Sdk/ndk
|
|
|
|
if [ ! -d "$PATH1/$NDK_VERSION" ]; then
|
|
echo "-- NDK ERROR --"
|
|
echo "$PATH1/$NDK_VERSION NDK NOT FOUND"
|
|
echo "----"
|
|
fi
|
|
|
|
if [ "$1" == "clean_ndk" ]; then
|
|
rm -rf $MUPDF_JAVA/obj
|
|
|
|
if [ "$2" == "fdroid" ]; then
|
|
$PATH1/$FDRIOD_NDK_VERSION/ndk-build clean
|
|
$PATH2/$FDRIOD_NDK_VERSION/ndk-build clean
|
|
else
|
|
$PATH1/$NDK_VERSION/ndk-build clean
|
|
$PATH2/$NDK_VERSION/ndk-build clean
|
|
fi
|
|
|
|
fi
|
|
|
|
if [ "$1" == "fdroid" ]; then
|
|
for NDK in "$PATH1/$FDRIOD_NDK_VERSION/ndk-build" "$PATH2/$FDRIOD_NDK_VERSION/ndk-build";
|
|
do
|
|
if [ -f "$NDK" ]; then
|
|
$NDK NDK_APPLICATION_MK=jni/Application.mk APP_ABI=armeabi-v7a APP_PLATFORM=android-16 &
|
|
$NDK NDK_APPLICATION_MK=jni/Application.mk APP_ABI=arm64-v8a APP_PLATFORM=android-16 &
|
|
$NDK NDK_APPLICATION_MK=jni/Application.mk APP_ABI=x86 APP_PLATFORM=android-16 &
|
|
$NDK NDK_APPLICATION_MK=jni/Application.mk APP_ABI=x86_64 APP_PLATFORM=android-16
|
|
echo "=================="
|
|
echo "NDK:" $NDK
|
|
echo "APP_PLATFORM=android-16"
|
|
fi
|
|
done
|
|
else
|
|
for NDK in "$PATH1/$NDK_VERSION/ndk-build" "$PATH2/$NDK_VERSION/ndk-build";
|
|
do
|
|
if [ -f "$NDK" ]; then
|
|
$NDK NDK_APPLICATION_MK=jni/Application.mk APP_ABI=armeabi-v7a APP_PLATFORM=android-24 &
|
|
$NDK NDK_APPLICATION_MK=jni/Application.mk APP_ABI=arm64-v8a APP_PLATFORM=android-24 &
|
|
$NDK NDK_APPLICATION_MK=jni/Application.mk APP_ABI=x86 APP_PLATFORM=android-24 &
|
|
$NDK NDK_APPLICATION_MK=jni/Application.mk APP_ABI=x86_64 APP_PLATFORM=android-24
|
|
echo "=================="
|
|
echo "NDK:" $NDK
|
|
echo "APP_PLATFORM=android-24"
|
|
fi
|
|
done
|
|
|
|
fi
|
|
|
|
echo "=================="
|
|
echo "MUPDF:"$MUPDF_JAVA
|
|
echo "JNI:"$LIBS
|
|
echo "=================="
|
|
fi |