diff --git a/android/BOINC/app/build.gradle b/android/BOINC/app/build.gradle
index ec0773dd43..cd59575b66 100644
--- a/android/BOINC/app/build.gradle
+++ b/android/BOINC/app/build.gradle
@@ -47,13 +47,13 @@ def buildVersionName() {
}
android {
- compileSdkVersion 23
- buildToolsVersion "25.0.0"
+ compileSdkVersion 26
+ buildToolsVersion "28.0.2"
defaultConfig {
applicationId "edu.berkeley.boinc"
- minSdkVersion 16
- targetSdkVersion 23
+ minSdkVersion 19
+ targetSdkVersion 26
versionCode buildVersionCode()
versionName buildVersionName()
}
@@ -71,5 +71,5 @@ android {
}
dependencies {
- compile 'com.android.support:appcompat-v7:23.1.+'
+ implementation 'com.android.support:appcompat-v7:26.0.2'
}
diff --git a/android/BOINC/app/src/main/AndroidManifest.xml b/android/BOINC/app/src/main/AndroidManifest.xml
index 4878a57df4..0834752151 100644
--- a/android/BOINC/app/src/main/AndroidManifest.xml
+++ b/android/BOINC/app/src/main/AndroidManifest.xml
@@ -30,8 +30,8 @@
android:xlargeScreens="true" />
+ android:minSdkVersion="19"
+ android:targetSdkVersion="26" />
diff --git a/android/BOINC/app/src/main/assets/mips/placeholder.txt b/android/BOINC/app/src/main/assets/mips/placeholder.txt
deleted file mode 100644
index dd97f12778..0000000000
--- a/android/BOINC/app/src/main/assets/mips/placeholder.txt
+++ /dev/null
@@ -1 +0,0 @@
-This file is used as a placeholder until real data files are created or copied from another location.
\ No newline at end of file
diff --git a/android/BOINC/app/src/main/assets/mips64/placeholder.txt b/android/BOINC/app/src/main/assets/mips64/placeholder.txt
deleted file mode 100644
index dd97f12778..0000000000
--- a/android/BOINC/app/src/main/assets/mips64/placeholder.txt
+++ /dev/null
@@ -1 +0,0 @@
-This file is used as a placeholder until real data files are created or copied from another location.
\ No newline at end of file
diff --git a/android/BOINC/app/src/main/java/edu/berkeley/boinc/BOINCActivity.java b/android/BOINC/app/src/main/java/edu/berkeley/boinc/BOINCActivity.java
index bbcaf8d6b7..dfc1ac5413 100644
--- a/android/BOINC/app/src/main/java/edu/berkeley/boinc/BOINCActivity.java
+++ b/android/BOINC/app/src/main/java/edu/berkeley/boinc/BOINCActivity.java
@@ -49,7 +49,7 @@ import android.support.v4.app.ActionBarDrawerToggle;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentTransaction;
import android.support.v4.widget.DrawerLayout;
-import android.support.v7.app.ActionBarActivity;
+import android.support.v7.app.AppCompatActivity;
import edu.berkeley.boinc.adapter.NavDrawerListAdapter;
import edu.berkeley.boinc.adapter.NavDrawerListAdapter.NavDrawerItem;
import edu.berkeley.boinc.attach.SelectionListActivity;
@@ -61,7 +61,7 @@ import edu.berkeley.boinc.utils.BOINCDefs;
import edu.berkeley.boinc.utils.Logging;
import java.util.ArrayList;
-public class BOINCActivity extends ActionBarActivity {
+public class BOINCActivity extends AppCompatActivity {
public static IMonitor monitor;
private Integer clientComputingStatus = -1;
diff --git a/android/BOINC/app/src/main/java/edu/berkeley/boinc/EventLogActivity.java b/android/BOINC/app/src/main/java/edu/berkeley/boinc/EventLogActivity.java
index 779ae6cd2f..97f89b3f6d 100644
--- a/android/BOINC/app/src/main/java/edu/berkeley/boinc/EventLogActivity.java
+++ b/android/BOINC/app/src/main/java/edu/berkeley/boinc/EventLogActivity.java
@@ -31,7 +31,7 @@ import android.content.ServiceConnection;
import android.os.Bundle;
import android.os.IBinder;
import android.support.v7.app.ActionBar;
-import android.support.v7.app.ActionBarActivity;
+import android.support.v7.app.AppCompatActivity;
import android.support.v7.app.ActionBar.Tab;
import android.text.ClipboardManager;
import android.util.Log;
@@ -42,7 +42,7 @@ import android.widget.ArrayAdapter;
import android.widget.ListView;
import android.widget.Toast;
-public class EventLogActivity extends ActionBarActivity {
+public class EventLogActivity extends AppCompatActivity {
private IMonitor monitor;
private Boolean mIsBound = false;
diff --git a/android/BOINC/build.gradle b/android/BOINC/build.gradle
index e7e3c60b0a..cf24e32fdd 100644
--- a/android/BOINC/build.gradle
+++ b/android/BOINC/build.gradle
@@ -2,14 +2,22 @@
buildscript {
repositories {
jcenter()
+ maven {
+ url 'https://maven.google.com/'
+ name 'Google'
+ }
}
dependencies {
- classpath 'com.android.tools.build:gradle:2.2.2'
+ classpath 'com.android.tools.build:gradle:3.1.4'
}
}
allprojects {
repositories {
jcenter()
+ maven {
+ url 'https://maven.google.com/'
+ name 'Google'
+ }
}
}
diff --git a/android/BOINC/gradle/wrapper/gradle-wrapper.properties b/android/BOINC/gradle/wrapper/gradle-wrapper.properties
index 04e285f340..ca45fb96f9 100644
--- a/android/BOINC/gradle/wrapper/gradle-wrapper.properties
+++ b/android/BOINC/gradle/wrapper/gradle-wrapper.properties
@@ -1,6 +1,6 @@
-#Mon Dec 28 10:00:20 PST 2015
+#Tue Sep 04 13:02:41 UTC 2018
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
-distributionUrl=https\://services.gradle.org/distributions/gradle-2.14.1-all.zip
+distributionUrl=https\://services.gradle.org/distributions/gradle-4.4-all.zip
diff --git a/android/build_all.sh b/android/build_all.sh
index 1279c7e185..c776df40b4 100755
--- a/android/build_all.sh
+++ b/android/build_all.sh
@@ -11,23 +11,15 @@ set -e
./build_androidtc_arm64.sh
./build_androidtc_x86.sh
./build_androidtc_x86_64.sh
-./build_androidtc_mips.sh
-./build_androidtc_mips64.sh
./build_openssl_arm.sh
./build_openssl_arm64.sh
./build_openssl_x86.sh
./build_openssl_x86_64.sh
-./build_openssl_mips.sh
-./build_openssl_mips64.sh
./build_curl_arm.sh
./build_curl_arm64.sh
./build_curl_x86.sh
./build_curl_x86_64.sh
-./build_curl_mips.sh
-./build_curl_mips64.sh
./build_boinc_arm.sh
./build_boinc_arm64.sh
./build_boinc_x86.sh
./build_boinc_x86_64.sh
-./build_boinc_mips.sh
-./build_boinc_mips64.sh
diff --git a/android/build_androidtc_arm.sh b/android/build_androidtc_arm.sh
index be4a761f54..33bc467618 100755
--- a/android/build_androidtc_arm.sh
+++ b/android/build_androidtc_arm.sh
@@ -12,5 +12,5 @@ export ANDROID_TC="${ANDROID_TC:-$HOME/android-tc}"
export ANDROID_TC_ARM="${ANDROID_TC_ARM:-$ANDROID_TC/arm}"
if [ ! -d "$ANDROID_TC_ARM/arm-linux-androideabi" ]; then
- "$NDK_ROOT/build/tools/make-standalone-toolchain.sh" --platform=android-9 --arch=arm --install-dir="$ANDROID_TC_ARM" "$@"
+ "$NDK_ROOT/build/tools/make-standalone-toolchain.sh" --verbose --platform=android-19 --arch=arm --stl=libc++ --install-dir="$ANDROID_TC_ARM" "$@"
fi
diff --git a/android/build_androidtc_arm64.sh b/android/build_androidtc_arm64.sh
index b882a77f2a..dddd6172a6 100755
--- a/android/build_androidtc_arm64.sh
+++ b/android/build_androidtc_arm64.sh
@@ -12,5 +12,5 @@ export ANDROID_TC="${ANDROID_TC:-$HOME/android-tc}"
export ANDROID_TC_ARM64="${ANDROID_TC_ARM64:-$ANDROID_TC/arm64}"
if [ ! -d "$ANDROID_TC_ARM64/aarch64-linux-android" ]; then
- "$NDK_ROOT/build/tools/make-standalone-toolchain.sh" --platform=android-21 --arch=arm64 --install-dir="$ANDROID_TC_ARM64" "$@"
+ "$NDK_ROOT/build/tools/make-standalone-toolchain.sh" --verbose --platform=android-21 --arch=arm64 --stl=libc++ --install-dir="$ANDROID_TC_ARM64" "$@"
fi
diff --git a/android/build_androidtc_mips.sh b/android/build_androidtc_mips.sh
deleted file mode 100755
index 3d2a781bdb..0000000000
--- a/android/build_androidtc_mips.sh
+++ /dev/null
@@ -1,16 +0,0 @@
-#!/bin/sh
-set -e
-
-#
-# See: http://boinc.berkeley.edu/trac/wiki/AndroidBuildClient#
-#
-
-# Script to setup Android toolchain
-
-export NDK_ROOT="${NDK_ROOT:-$HOME/NVPACK/android-ndk-r10e}"
-export ANDROID_TC="${ANDROID_TC:-$HOME/android-tc}"
-export ANDROID_TC_MIPS="${ANDROID_TC_MIPS:-$ANDROID_TC/mips}"
-
-if [ ! -d "$ANDROID_TC_MIPS/mipsel-linux-android" ]; then
- "$NDK_ROOT/build/tools/make-standalone-toolchain.sh" --platform=android-9 --arch=mips --install-dir="$ANDROID_TC_MIPS" "$@"
-fi
diff --git a/android/build_androidtc_mips64.sh b/android/build_androidtc_mips64.sh
deleted file mode 100755
index 3011144341..0000000000
--- a/android/build_androidtc_mips64.sh
+++ /dev/null
@@ -1,16 +0,0 @@
-#!/bin/sh
-set -e
-
-#
-# See: http://boinc.berkeley.edu/trac/wiki/AndroidBuildClient#
-#
-
-# Script to setup Android toolchain
-
-export NDK_ROOT="${NDK_ROOT:-$HOME/NVPACK/android-ndk-r10e}"
-export ANDROID_TC="${ANDROID_TC:-$HOME/android-tc}"
-export ANDROID_TC_MIPS64="${ANDROID_TC_MIPS64:-$ANDROID_TC/mips64}"
-
-if [ ! -d "$ANDROID_TC_MIPS64/mips64el-linux-android" ]; then
- "$NDK_ROOT/build/tools/make-standalone-toolchain.sh" --platform=android-21 --arch=mips64 --install-dir="$ANDROID_TC_MIPS64" "$@"
-fi
diff --git a/android/build_androidtc_x86.sh b/android/build_androidtc_x86.sh
index e2b0bf0b52..7374916ef1 100755
--- a/android/build_androidtc_x86.sh
+++ b/android/build_androidtc_x86.sh
@@ -12,5 +12,5 @@ export ANDROID_TC="${ANDROID_TC:-$HOME/android-tc}"
export ANDROID_TC_X86="${ANDROID_TC_X86:-$ANDROID_TC/x86}"
if [ ! -d "${ANDROID_TC_X86}/i686-linux-android" ]; then
- "${NDK_ROOT}/build/tools/make-standalone-toolchain.sh" --platform=android-9 --arch=x86 --install-dir="${ANDROID_TC_X86}" "$@"
+ "${NDK_ROOT}/build/tools/make-standalone-toolchain.sh" --verbose --platform=android-19 --arch=x86 --stl=libc++ --install-dir="${ANDROID_TC_X86}" "$@"
fi
diff --git a/android/build_androidtc_x86_64.sh b/android/build_androidtc_x86_64.sh
index 7a7a11d812..e05835b6d8 100755
--- a/android/build_androidtc_x86_64.sh
+++ b/android/build_androidtc_x86_64.sh
@@ -12,5 +12,5 @@ export ANDROID_TC="${ANDROID_TC:-$HOME/android-tc}"
export ANDROID_TC_X86_64="${ANDROID_TC_X86_64:-$ANDROID_TC/x86_64}"
if [ ! -d "${ANDROID_TC_X86_64}/x86_64-linux-android" ]; then
- "${NDK_ROOT}/build/tools/make-standalone-toolchain.sh" --platform=android-21 --arch=x86_64 --install-dir="${ANDROID_TC_X86_64}" "$@"
+ "${NDK_ROOT}/build/tools/make-standalone-toolchain.sh" --verbose --platform=android-21 --arch=x86_64 --stl=libc++ --install-dir="${ANDROID_TC_X86_64}" "$@"
fi
diff --git a/android/build_boinc_arm.sh b/android/build_boinc_arm.sh
index 7817a35b77..731c330b79 100755
--- a/android/build_boinc_arm.sh
+++ b/android/build_boinc_arm.sh
@@ -18,15 +18,15 @@ export ANDROIDTC="${ANDROID_TC_ARM:-$ANDROID_TC/arm}"
export TCBINARIES="$ANDROIDTC/bin"
export TCINCLUDES="$ANDROIDTC/arm-linux-androideabi"
export TCSYSROOT="$ANDROIDTC/sysroot"
-export STDCPPTC="$TCINCLUDES/lib/libstdc++.a"
+export STDCPPTC="$TCINCLUDES/lib/armv7-a/libstdc++.a"
export PATH="$TCBINARIES:$TCINCLUDES/bin:$PATH"
-export CC=arm-linux-androideabi-gcc
-export CXX=arm-linux-androideabi-g++
+export CC=arm-linux-androideabi-clang
+export CXX=arm-linux-androideabi-clang++
export LD=arm-linux-androideabi-ld
-export CFLAGS="--sysroot=$TCSYSROOT -DANDROID -DDECLARE_TIMEZONE -Wall -I$TCINCLUDES/include -O3 -fomit-frame-pointer -fPIE -march=armv7-a"
-export CXXFLAGS="--sysroot=$TCSYSROOT -DANDROID -Wall -I$TCINCLUDES/include -funroll-loops -fexceptions -O3 -fomit-frame-pointer -fPIE -march=armv7-a"
-export LDFLAGS="-L$TCSYSROOT/usr/lib -L$TCINCLUDES/lib -llog -fPIE -pie -march=armv7-a -Wl,--fix-cortex-a8"
+export CFLAGS="--sysroot=$TCSYSROOT -DANDROID -DDECLARE_TIMEZONE -Wall -I$TCINCLUDES/include -O3 -fomit-frame-pointer -fPIE -march=armv7-a -D__ANDROID_API__=19"
+export CXXFLAGS="--sysroot=$TCSYSROOT -DANDROID -Wall -I$TCINCLUDES/include -funroll-loops -fexceptions -O3 -fomit-frame-pointer -fPIE -march=armv7-a -D__ANDROID_API__=19"
+export LDFLAGS="-L$TCSYSROOT/usr/lib -L$TCINCLUDES/lib -llog -fPIE -pie -latomic -static-libstdc++ -march=armv7-a -Wl,--fix-cortex-a8"
export GDB_CFLAGS="--sysroot=$TCSYSROOT -Wall -g -I$TCINCLUDES/include"
export PKG_CONFIG_SYSROOT_DIR="$TCSYSROOT"
@@ -36,12 +36,12 @@ export PKG_CONFIG_SYSROOT_DIR="$TCSYSROOT"
if [ -n "$COMPILEBOINC" ]; then
echo "==================building BOINC from $BOINC=========================="
cd "$BOINC"
-if [ -n "$MAKECLEAN" ]; then
+if [ -n "$MAKECLEAN" ] && [ -f "Makefile" ]; then
make distclean
fi
if [ -n "$CONFIGURE" ]; then
./_autosetup
-./configure --host=arm-linux --with-boinc-platform="arm-android-linux-gnu" --with-ssl="$TCINCLUDES" --disable-server --disable-manager --disable-shared --enable-static
+./configure --host=arm-linux --with-boinc-platform="arm-android-linux-gnu" --with-ssl="$TCINCLUDES" --disable-server --disable-manager --disable-shared --enable-static --disable-largefile
sed -e "s%^CLIENTLIBS *= *.*$%CLIENTLIBS = -lm $STDCPPTC%g" client/Makefile > client/Makefile.out
mv client/Makefile.out client/Makefile
fi
diff --git a/android/build_boinc_arm64.sh b/android/build_boinc_arm64.sh
index ee6100e3df..fd0c6786fd 100755
--- a/android/build_boinc_arm64.sh
+++ b/android/build_boinc_arm64.sh
@@ -21,12 +21,12 @@ export TCSYSROOT="$ANDROIDTC/sysroot"
export STDCPPTC="$TCINCLUDES/lib/libstdc++.a"
export PATH="$TCBINARIES:$TCINCLUDES/bin:$PATH"
-export CC=aarch64-linux-android-gcc
-export CXX=aarch64-linux-android-g++
+export CC=aarch64-linux-android-clang
+export CXX=aarch64-linux-android-clang++
export LD=aarch64-linux-android-ld
-export CFLAGS="--sysroot=$TCSYSROOT -DANDROID -DANDROID_64 -DDECLARE_TIMEZONE -Wall -I$TCINCLUDES/include -O3 -fomit-frame-pointer -fPIE"
-export CXXFLAGS="--sysroot=$TCSYSROOT -DANDROID -DANDROID_64 -Wall -I$TCINCLUDES/include -funroll-loops -fexceptions -O3 -fomit-frame-pointer -fPIE"
-export LDFLAGS="-L$TCSYSROOT/usr/lib -L$TCINCLUDES/lib -llog -fPIE -pie"
+export CFLAGS="--sysroot=$TCSYSROOT -DANDROID -DANDROID_64 -DDECLARE_TIMEZONE -Wall -I$TCINCLUDES/include -O3 -fomit-frame-pointer -fPIE -D__ANDROID_API__=21"
+export CXXFLAGS="--sysroot=$TCSYSROOT -DANDROID -DANDROID_64 -Wall -I$TCINCLUDES/include -funroll-loops -fexceptions -O3 -fomit-frame-pointer -fPIE -D__ANDROID_API__=21"
+export LDFLAGS="-L$TCSYSROOT/usr/lib -L$TCINCLUDES/lib -llog -fPIE -pie -latomic -static-libstdc++"
export GDB_CFLAGS="--sysroot=$TCSYSROOT -Wall -g -I$TCINCLUDES/include"
export PKG_CONFIG_SYSROOT_DIR="$TCSYSROOT"
@@ -36,7 +36,7 @@ export PKG_CONFIG_SYSROOT_DIR="$TCSYSROOT"
if [ -n "$COMPILEBOINC" ]; then
echo "==================building BOINC from $BOINC=========================="
cd "$BOINC"
-if [ -n "$MAKECLEAN" ]; then
+if [ -n "$MAKECLEAN" ] && [ -f "Makefile" ]; then
make distclean
fi
if [ -n "$CONFIGURE" ]; then
diff --git a/android/build_boinc_mips.sh b/android/build_boinc_mips.sh
deleted file mode 100755
index beb012ba5c..0000000000
--- a/android/build_boinc_mips.sh
+++ /dev/null
@@ -1,66 +0,0 @@
-#!/bin/sh
-set -e
-
-#
-# See: http://boinc.berkeley.edu/trac/wiki/AndroidBuildClient#
-#
-
-# Script to compile BOINC for Android
-
-COMPILEBOINC="yes"
-CONFIGURE="yes"
-MAKECLEAN="yes"
-
-export BOINC=".." #BOINC source code
-
-export ANDROID_TC="${ANDROID_TC:-$HOME/android-tc}"
-export ANDROIDTC="${ANDROID_TC_MIPS-$ANDROID_TC/mips}"
-export TCBINARIES="$ANDROIDTC/bin"
-export TCINCLUDES="$ANDROIDTC/mipsel-linux-android"
-export TCSYSROOT="$ANDROIDTC/sysroot"
-export STDCPPTC="$TCINCLUDES/lib/libstdc++.a"
-
-export PATH="$TCBINARIES:$TCINCLUDES/bin:$PATH"
-export CC=mipsel-linux-android-gcc
-export CXX=mipsel-linux-android-g++
-export LD=mipsel-linux-android-ld
-export CFLAGS="--sysroot=$TCSYSROOT -DANDROID -DDECLARE_TIMEZONE -Wall -I$TCINCLUDES/include -O3 -fomit-frame-pointer -fPIE"
-export CXXFLAGS="--sysroot=$TCSYSROOT -DANDROID -Wall -I$TCINCLUDES/include -funroll-loops -fexceptions -O3 -fomit-frame-pointer -fPIE"
-export LDFLAGS="-L$TCSYSROOT/usr/lib -L$TCINCLUDES/lib -llog -fPIE -pie"
-export GDB_CFLAGS="--sysroot=$TCSYSROOT -Wall -g -I$TCINCLUDES/include"
-export PKG_CONFIG_SYSROOT_DIR="$TCSYSROOT"
-
-# Prepare android toolchain and environment
-./build_androidtc_mips.sh
-
-if [ -n "$COMPILEBOINC" ]; then
-echo "==================building BOINC from $BOINC=========================="
-cd "$BOINC"
-if [ -n "$MAKECLEAN" ]; then
-make distclean
-fi
-if [ -n "$CONFIGURE" ]; then
-./_autosetup
-./configure --host=mipsel-linux --with-boinc-platform="mipsel-android-linux-gnu" --with-ssl="$TCINCLUDES" --disable-server --disable-manager --disable-shared --enable-static
-sed -e "s%^CLIENTLIBS *= *.*$%CLIENTLIBS = -lm $STDCPPTC%g" client/Makefile > client/Makefile.out
-mv client/Makefile.out client/Makefile
-fi
-make
-make stage
-
-echo "Stripping Binaries"
-cd stage/usr/local/bin
-mipsel-linux-android-strip *
-cd ../../../../
-
-echo "Copy Assets"
-cd android
-mkdir -p "BOINC/app/src/main/assets"
-cp "$BOINC/stage/usr/local/bin/boinc" "BOINC/app/src/main/assets/mips/boinc"
-cp "$BOINC/stage/usr/local/bin/boinccmd" "BOINC/app/src/main/assets/mips/boinccmd"
-cp "$BOINC/win_build/installerv2/redist/all_projects_list.xml" "BOINC/app/src/main/assets/all_projects_list.xml"
-cp "$BOINC/curl/ca-bundle.crt" "BOINC/app/src/main/assets/ca-bundle.crt"
-
-echo "=============================BOINC done============================="
-
-fi
diff --git a/android/build_boinc_mips64.sh b/android/build_boinc_mips64.sh
deleted file mode 100755
index 3e881e56b6..0000000000
--- a/android/build_boinc_mips64.sh
+++ /dev/null
@@ -1,66 +0,0 @@
-#!/bin/sh
-set -e
-
-#
-# See: http://boinc.berkeley.edu/trac/wiki/AndroidBuildClient#
-#
-
-# Script to compile BOINC for Android
-
-COMPILEBOINC="yes"
-CONFIGURE="yes"
-MAKECLEAN="yes"
-
-export BOINC=".." #BOINC source code
-
-export ANDROID_TC="${ANDROID_TC:-$HOME/android-tc}"
-export ANDROIDTC="${ANDROID_TC_MIPS64-$ANDROID_TC/mips64}"
-export TCBINARIES="$ANDROIDTC/bin"
-export TCINCLUDES="$ANDROIDTC/mips64el-linux-android"
-export TCSYSROOT="$ANDROIDTC/sysroot"
-export STDCPPTC="$TCINCLUDES/lib64/libstdc++.a"
-
-export PATH="$TCBINARIES:$TCINCLUDES/bin:$PATH"
-export CC=mips64el-linux-android-gcc
-export CXX=mips64el-linux-android-g++
-export LD=mips64el-linux-android-ld
-export CFLAGS="--sysroot=$TCSYSROOT -DANDROID -DANDROID_64 -DDECLARE_TIMEZONE -Wall -I$TCINCLUDES/include -O3 -fomit-frame-pointer -fPIE"
-export CXXFLAGS="--sysroot=$TCSYSROOT -DANDROID -DANDROID_64 -Wall -I$TCINCLUDES/include -funroll-loops -fexceptions -O3 -fomit-frame-pointer -fPIE"
-export LDFLAGS="-L$TCSYSROOT/usr/lib64 -L$TCINCLUDES/lib64 -llog -fPIE -pie"
-export GDB_CFLAGS="--sysroot=$TCSYSROOT -Wall -g -I$TCINCLUDES/include"
-export PKG_CONFIG_SYSROOT_DIR="$TCSYSROOT"
-
-# Prepare android toolchain and environment
-./build_androidtc_mips64.sh
-
-if [ -n "$COMPILEBOINC" ]; then
-echo "==================building BOINC from $BOINC=========================="
-cd "$BOINC"
-if [ -n "$MAKECLEAN" ]; then
-make distclean
-fi
-if [ -n "$CONFIGURE" ]; then
-./_autosetup
-./configure --host=mips64el-linux --with-boinc-platform="mips64el-android-linux-gnu" --with-boinc-alt-platform="mipsel-android-linux-gnu" --with-ssl="$TCINCLUDES" --disable-server --disable-manager --disable-shared --enable-static
-sed -e "s%^CLIENTLIBS *= *.*$%CLIENTLIBS = -lm $STDCPPTC%g" client/Makefile > client/Makefile.out
-mv client/Makefile.out client/Makefile
-fi
-make
-make stage
-
-echo "Stripping Binaries"
-cd stage/usr/local/bin
-mips64el-linux-android-strip *
-cd ../../../../
-
-echo "Copy Assets"
-cd android
-mkdir -p "BOINC/app/src/main/assets"
-cp "$BOINC/stage/usr/local/bin/boinc" "BOINC/app/src/main/assets/mips64/boinc"
-cp "$BOINC/stage/usr/local/bin/boinccmd" "BOINC/app/src/main/assets/mips64/boinccmd"
-cp "$BOINC/win_build/installerv2/redist/all_projects_list.xml" "BOINC/app/src/main/assets/all_projects_list.xml"
-cp "$BOINC/curl/ca-bundle.crt" "BOINC/app/src/main/assets/ca-bundle.crt"
-
-echo "=============================BOINC done============================="
-
-fi
diff --git a/android/build_boinc_x86.sh b/android/build_boinc_x86.sh
index 623f14d553..e5caa0532f 100755
--- a/android/build_boinc_x86.sh
+++ b/android/build_boinc_x86.sh
@@ -21,12 +21,12 @@ export TCSYSROOT="$ANDROIDTC/sysroot"
export STDCPPTC="$TCINCLUDES/lib/libstdc++.a"
export PATH="$TCBINARIES:$TCINCLUDES/bin:$PATH"
-export CC=i686-linux-android-gcc
-export CXX=i686-linux-android-g++
+export CC=i686-linux-android-clang
+export CXX=i686-linux-android-clang++
export LD=i686-linux-android-ld
-export CFLAGS="--sysroot=$TCSYSROOT -DANDROID -DDECLARE_TIMEZONE -Wall -I$TCINCLUDES/include -O3 -fomit-frame-pointer -fPIE"
-export CXXFLAGS="--sysroot=$TCSYSROOT -DANDROID -Wall -I$TCINCLUDES/include -funroll-loops -fexceptions -O3 -fomit-frame-pointer -fPIE"
-export LDFLAGS="-L$TCSYSROOT/usr/lib -L$TCINCLUDES/lib -llog -fPIE -pie"
+export CFLAGS="--sysroot=$TCSYSROOT -DANDROID -DDECLARE_TIMEZONE -Wall -I$TCINCLUDES/include -O3 -fomit-frame-pointer -fPIE -D__ANDROID_API__=19"
+export CXXFLAGS="--sysroot=$TCSYSROOT -DANDROID -Wall -I$TCINCLUDES/include -funroll-loops -fexceptions -O3 -fomit-frame-pointer -fPIE -D__ANDROID_API__=19"
+export LDFLAGS="-L$TCSYSROOT/usr/lib -L$TCINCLUDES/lib -llog -fPIE -pie -latomic -static-libstdc++"
export GDB_CFLAGS="--sysroot=$TCSYSROOT -Wall -g -I$TCINCLUDES/include"
export PKG_CONFIG_SYSROOT_DIR="$TCSYSROOT"
@@ -36,12 +36,12 @@ export PKG_CONFIG_SYSROOT_DIR="$TCSYSROOT"
if [ -n "$COMPILEBOINC" ]; then
echo "==================building BOINC from $BOINC=========================="
cd "$BOINC"
-if [ -n "$MAKECLEAN" ]; then
+if [ -n "$MAKECLEAN" ] && [ -f "Makefile" ]; then
make distclean
fi
if [ -n "$CONFIGURE" ]; then
./_autosetup
-./configure --host=i686-linux --with-boinc-platform="x86-android-linux-gnu" --with-ssl="$TCINCLUDES" --disable-server --disable-manager --disable-shared --enable-static
+./configure --host=i686-linux --with-boinc-platform="x86-android-linux-gnu" --with-ssl="$TCINCLUDES" --disable-server --disable-manager --disable-shared --enable-static --disable-largefile
sed -e "s%^CLIENTLIBS *= *.*$%CLIENTLIBS = -lm $STDCPPTC%g" client/Makefile > client/Makefile.out
mv client/Makefile.out client/Makefile
fi
diff --git a/android/build_boinc_x86_64.sh b/android/build_boinc_x86_64.sh
index 7efc41c59f..731c18602e 100755
--- a/android/build_boinc_x86_64.sh
+++ b/android/build_boinc_x86_64.sh
@@ -21,12 +21,12 @@ export TCSYSROOT="$ANDROIDTC/sysroot"
export STDCPPTC="$TCINCLUDES/lib64/libstdc++.a"
export PATH="$TCBINARIES:$TCINCLUDES/bin:$PATH"
-export CC=x86_64-linux-android-gcc
-export CXX=x86_64-linux-android-g++
+export CC=x86_64-linux-android-clang
+export CXX=x86_64-linux-android-clang++
export LD=x86_64-linux-android-ld
-export CFLAGS="--sysroot=$TCSYSROOT -DANDROID -DANDROID_64 -DDECLARE_TIMEZONE -Wall -I$TCINCLUDES/include -O3 -fomit-frame-pointer -fPIE"
-export CXXFLAGS="--sysroot=$TCSYSROOT -DANDROID -DANDROID_64 -Wall -I$TCINCLUDES/include -funroll-loops -fexceptions -O3 -fomit-frame-pointer -fPIE"
-export LDFLAGS="-L$TCSYSROOT/usr/lib64 -L$TCINCLUDES/lib64 -llog -fPIE -pie"
+export CFLAGS="--sysroot=$TCSYSROOT -DANDROID -DANDROID_64 -DDECLARE_TIMEZONE -Wall -I$TCINCLUDES/include -O3 -fomit-frame-pointer -fPIE -D__ANDROID_API__=21"
+export CXXFLAGS="--sysroot=$TCSYSROOT -DANDROID -DANDROID_64 -Wall -I$TCINCLUDES/include -funroll-loops -fexceptions -O3 -fomit-frame-pointer -fPIE -D__ANDROID_API__=21"
+export LDFLAGS="-L$TCSYSROOT/usr/lib64 -L$TCINCLUDES/lib64 -llog -fPIE -pie -latomic -static-libstdc++"
export GDB_CFLAGS="--sysroot=$TCSYSROOT -Wall -g -I$TCINCLUDES/include"
export PKG_CONFIG_SYSROOT_DIR="$TCSYSROOT"
@@ -36,7 +36,7 @@ export PKG_CONFIG_SYSROOT_DIR="$TCSYSROOT"
if [ -n "$COMPILEBOINC" ]; then
echo "==================building BOINC from $BOINC=========================="
cd "$BOINC"
-if [ -n "$MAKECLEAN" ]; then
+if [ -n "$MAKECLEAN" ] && [ -f "Makefile" ]; then
make distclean
fi
if [ -n "$CONFIGURE" ]; then
diff --git a/android/build_build_app_mips.sh b/android/build_build_app_mips.sh
deleted file mode 100755
index ee177320ef..0000000000
--- a/android/build_build_app_mips.sh
+++ /dev/null
@@ -1,32 +0,0 @@
-#!/bin/sh
-set -e
-
-#
-# See: http://boinc.berkeley.edu/trac/wiki/AndroidBuildApp
-#
-
-# Script to compile a generic application on Android
-
-export ANDROID_TC="${ANDROID_TC:-$HOME/android-tc}"
-export ANDROIDTC="${ANDROID_TC_MIPS:-$ANDROID_TC/mips}"
-export TCBINARIES="$ANDROIDTC/bin"
-export TCINCLUDES="$ANDROIDTC/mipsel-linux-android"
-export TCSYSROOT="$ANDROIDTC/sysroot"
-export STDCPPTC="$TCINCLUDES/lib/libstdc++.a"
-
-export PATH="$TCBINARIES:$TCINCLUDES/bin:$PATH"
-export CC=mipsel-linux-android-gcc
-export CXX=mipsel-linux-android-g++
-export LD=mipsel-linux-android-ld
-export CFLAGS="--sysroot=$TCSYSROOT -DANDROID -Wall -I$TCINCLUDES/include -O3 -fomit-frame-pointer -fPIE"
-export CXXFLAGS="--sysroot=$TCSYSROOT -DANDROID -Wall -O3 -fomit-frame-pointer -fPIE"
-export LDFLAGS="-L$TCSYSROOT/usr/lib -L$TCINCLUDES/lib -llog -fPIE -pie"
-export GDB_CFLAGS="--sysroot=$TCSYSROOT -Wall -g -I$TCINCLUDES/include"
-
-make clean
-
-if [ -e "./configure" ]; then
-./configure --host=mipsel-linux --prefix="$TCINCLUDES" --libdir="$TCINCLUDES/lib" --disable-shared --enable-static
-fi
-
-make
diff --git a/android/build_curl_arm.sh b/android/build_curl_arm.sh
index 178582cfb4..bdaec2978d 100755
--- a/android/build_curl_arm.sh
+++ b/android/build_curl_arm.sh
@@ -11,7 +11,7 @@ COMPILECURL="yes"
CONFIGURE="yes"
MAKECLEAN="yes"
-CURL="${CURL_SRC:-$HOME/src/curl-7.48.0}" #CURL sources, required by BOINC
+CURL="${CURL_SRC:-$HOME/src/curl-7.61.0}" #CURL sources, required by BOINC
export ANDROID_TC="${ANDROID_TC:-$HOME/android-tc}"
export ANDROIDTC="${ANDROID_TC_ARM:-$ANDROID_TC/arm}"
@@ -21,12 +21,12 @@ export TCSYSROOT="$ANDROIDTC/sysroot"
export STDCPPTC="$TCINCLUDES/lib/libstdc++.a"
export PATH="$TCBINARIES:$TCINCLUDES/bin:$PATH"
-export CC=arm-linux-androideabi-gcc
-export CXX=arm-linux-androideabi-g++
+export CC=arm-linux-androideabi-clang
+export CXX=arm-linux-androideabi-clang++
export LD=arm-linux-androideabi-ld
-export CFLAGS="--sysroot=$TCSYSROOT -DANDROID -Wall -I$TCINCLUDES/include -O3 -fomit-frame-pointer -fPIE -march=armv7-a -mfloat-abi=softfp -mfpu=vfpv3-d16"
-export CXXFLAGS="--sysroot=$TCSYSROOT -DANDROID -Wall -funroll-loops -fexceptions -O3 -fomit-frame-pointer -fPIE -march=armv7-a -mfloat-abi=softfp -mfpu=vfpv3-d16"
-export LDFLAGS="-L$TCSYSROOT/usr/lib -L$TCINCLUDES/lib -llog -fPIE -pie -march=armv7-a -Wl,--fix-cortex-a8"
+export CFLAGS="--sysroot=$TCSYSROOT -DANDROID -Wall -I$TCINCLUDES/include -O3 -fomit-frame-pointer -fPIE -march=armv7-a -mfloat-abi=softfp -mfpu=vfpv3-d16 -D__ANDROID_API__=19"
+export CXXFLAGS="--sysroot=$TCSYSROOT -DANDROID -Wall -funroll-loops -fexceptions -O3 -fomit-frame-pointer -fPIE -march=armv7-a -mfloat-abi=softfp -mfpu=vfpv3-d16 -D__ANDROID_API__=19"
+export LDFLAGS="-L$TCSYSROOT/usr/lib -L$TCINCLUDES/lib -llog -fPIE -pie -latomic -static-libstdc++ -march=armv7-a -Wl,--fix-cortex-a8"
export GDB_CFLAGS="--sysroot=$TCSYSROOT -Wall -g -I$TCINCLUDES/include"
# Prepare android toolchain and environment
@@ -35,8 +35,8 @@ export GDB_CFLAGS="--sysroot=$TCSYSROOT -Wall -g -I$TCINCLUDES/include"
if [ -n "$COMPILECURL" ]; then
echo "==================building curl from $CURL================================="
cd "$CURL"
-if [ -n "$MAKECLEAN" ]; then
-make clean
+if [ -n "$MAKECLEAN" ] && $(grep -q "^distclean:" "${CURL}/Makefile"); then
+make distclean
fi
if [ -n "$CONFIGURE" ]; then
./configure --host=arm-linux --prefix="$TCINCLUDES" --libdir="$TCINCLUDES/lib" --disable-shared --enable-static --with-random=/dev/urandom --without-zlib
diff --git a/android/build_curl_arm64.sh b/android/build_curl_arm64.sh
index 111af5b624..29abd2ed56 100755
--- a/android/build_curl_arm64.sh
+++ b/android/build_curl_arm64.sh
@@ -11,7 +11,7 @@ COMPILECURL="yes"
CONFIGURE="yes"
MAKECLEAN="yes"
-CURL="${CURL_SRC:-$HOME/src/curl-7.48.0}" #CURL sources, required by BOINC
+CURL="${CURL_SRC:-$HOME/src/curl-7.61.0}" #CURL sources, required by BOINC
export ANDROID_TC="${ANDROID_TC:-$HOME/android-tc}"
export ANDROIDTC="${ANDROID_TC_ARM64:-$ANDROID_TC/arm64}"
@@ -21,12 +21,12 @@ export TCSYSROOT="$ANDROIDTC/sysroot"
export STDCPPTC="$TCINCLUDES/lib/libstdc++.a"
export PATH="$TCBINARIES:$TCINCLUDES/bin:$PATH"
-export CC=aarch64-linux-android-gcc
-export CXX=aarch64-linux-android-g++
+export CC=aarch64-linux-android-clang
+export CXX=aarch64-linux-android-clang++
export LD=aarch64-linux-android-ld
-export CFLAGS="--sysroot=$TCSYSROOT -DANDROID -Wall -I$TCINCLUDES/include -O3 -fomit-frame-pointer -fPIE"
-export CXXFLAGS="--sysroot=$TCSYSROOT -DANDROID -Wall -funroll-loops -fexceptions -O3 -fomit-frame-pointer -fPIE"
-export LDFLAGS="-L$TCSYSROOT/usr/lib -L$TCINCLUDES/lib -llog -fPIE -pie"
+export CFLAGS="--sysroot=$TCSYSROOT -DANDROID -Wall -I$TCINCLUDES/include -O3 -fomit-frame-pointer -fPIE -D__ANDROID_API__=21"
+export CXXFLAGS="--sysroot=$TCSYSROOT -DANDROID -Wall -funroll-loops -fexceptions -O3 -fomit-frame-pointer -fPIE -D__ANDROID_API__=21"
+export LDFLAGS="-L$TCSYSROOT/usr/lib -L$TCINCLUDES/lib -llog -fPIE -pie -latomic -static-libstdc++"
export GDB_CFLAGS="--sysroot=$TCSYSROOT -Wall -g -I$TCINCLUDES/include"
# Prepare android toolchain and environment
@@ -35,7 +35,7 @@ export GDB_CFLAGS="--sysroot=$TCSYSROOT -Wall -g -I$TCINCLUDES/include"
if [ -n "$COMPILECURL" ]; then
echo "==================building curl from $CURL================================="
cd "$CURL"
-if [ -n "$MAKECLEAN" ]; then
+if [ -n "$MAKECLEAN" ] && $(grep -q "^distclean:" "${CURL}/Makefile"); then
make distclean
fi
if [ -n "$CONFIGURE" ]; then
diff --git a/android/build_curl_mips.sh b/android/build_curl_mips.sh
deleted file mode 100755
index 1299583e79..0000000000
--- a/android/build_curl_mips.sh
+++ /dev/null
@@ -1,47 +0,0 @@
-#!/bin/sh
-set -e
-
-#
-# See: http://boinc.berkeley.edu/trac/wiki/AndroidBuildClient#
-#
-
-# Script to compile Libcurl for Android
-
-COMPILECURL="yes"
-CONFIGURE="yes"
-MAKECLEAN="yes"
-
-CURL="${CURL_SRC:-$HOME/src/curl-7.48.0}" #CURL sources, required by BOINC
-
-export ANDROID_TC="${ANDROID_TC:-$HOME/android-tc}"
-export ANDROIDTC="${ANDROID_TC_MIPS:-$ANDROID_TC/mips}"
-export TCBINARIES="$ANDROIDTC/bin"
-export TCINCLUDES="$ANDROIDTC/mipsel-linux-android"
-export TCSYSROOT="$ANDROIDTC/sysroot"
-export STDCPPTC="$TCINCLUDES/lib/libstdc++.a"
-
-export PATH="$TCBINARIES:$TCINCLUDES/bin:$PATH"
-export CC=mipsel-linux-android-gcc
-export CXX=mipsel-linux-android-g++
-export LD=mipsel-linux-android-ld
-export CFLAGS="--sysroot=$TCSYSROOT -DANDROID -Wall -I$TCINCLUDES/include -O3 -fomit-frame-pointer -fPIE"
-export CXXFLAGS="--sysroot=$TCSYSROOT -DANDROID -Wall -funroll-loops -fexceptions -O3 -fomit-frame-pointer -fPIE"
-export LDFLAGS="-L$TCSYSROOT/usr/lib -L$TCINCLUDES/lib -llog -fPIE -pie"
-export GDB_CFLAGS="--sysroot=$TCSYSROOT -Wall -g -I$TCINCLUDES/include"
-
-# Prepare android toolchain and environment
-./build_androidtc_mips.sh
-
-if [ -n "$COMPILECURL" ]; then
-echo "==================building curl from $CURL================================="
-cd "$CURL"
-if [ -n "$MAKECLEAN" ]; then
-make clean
-fi
-if [ -n "$CONFIGURE" ]; then
-./configure --host=mipsel-linux --prefix="$TCINCLUDES" --libdir="$TCINCLUDES/lib" --disable-shared --enable-static --with-random=/dev/urandom
-fi
-make
-make install
-echo "========================curl done================================="
-fi
diff --git a/android/build_curl_mips64.sh b/android/build_curl_mips64.sh
deleted file mode 100755
index 13e680bcc0..0000000000
--- a/android/build_curl_mips64.sh
+++ /dev/null
@@ -1,46 +0,0 @@
-#!/bin/sh
-set -e
-
-#
-# See: http://boinc.berkeley.edu/trac/wiki/AndroidBuildClient#
-#
-
-# Script to compile Libcurl for Android
-
-COMPILECURL="yes"
-CONFIGURE="yes"
-MAKECLEAN="yes"
-
-CURL="${CURL_SRC:-$HOME/src/curl-7.48.0}" #CURL sources, required by BOINC
-
-export ANDROID_TC="${ANDROID_TC:-$HOME/android-tc}"
-export ANDROIDTC="${ANDROID_TC_MIPS64:-$ANDROID_TC/mips64}"
-export TCBINARIES="$ANDROIDTC/bin"
-export TCINCLUDES="$ANDROIDTC/mips64el-linux-android"
-export TCSYSROOT="$ANDROIDTC/sysroot"
-
-export PATH="$TCBINARIES:$TCINCLUDES/bin:$PATH"
-export CC=mips64el-linux-android-gcc
-export CXX=mips64el-linux-android-g++
-export LD=mips64el-linux-android-ld
-export CFLAGS="--sysroot=$TCSYSROOT -DANDROID -Wall -I$TCINCLUDES/include -O3 -fomit-frame-pointer -fPIE"
-export CXXFLAGS="--sysroot=$TCSYSROOT -DANDROID -Wall -funroll-loops -fexceptions -O3 -fomit-frame-pointer -fPIE"
-export LDFLAGS="-L$TCSYSROOT/usr/lib64 -L$TCINCLUDES/lib64 -llog -fPIE -pie"
-export GDB_CFLAGS="--sysroot=$TCSYSROOT -Wall -g -I$TCINCLUDES/include"
-
-# Prepare android toolchain and environment
-./build_androidtc_mips64.sh
-
-if [ -n "$COMPILECURL" ]; then
-echo "==================building curl from $CURL================================="
-cd "$CURL"
-if [ -n "$MAKECLEAN" ]; then
-make distclean
-fi
-if [ -n "$CONFIGURE" ]; then
-./configure --host=mips64el-linux --prefix="$TCINCLUDES" --libdir="$TCINCLUDES/lib" --disable-shared --enable-static --with-random=/dev/urandom
-fi
-make
-make install
-echo "========================curl done================================="
-fi
diff --git a/android/build_curl_x86.sh b/android/build_curl_x86.sh
index fde13f37a5..05850b057a 100755
--- a/android/build_curl_x86.sh
+++ b/android/build_curl_x86.sh
@@ -11,7 +11,7 @@ COMPILECURL="yes"
CONFIGURE="yes"
MAKECLEAN="yes"
-CURL="${CURL_SRC:-$HOME/src/curl-7.48.0}" #CURL sources, required by BOINC
+CURL="${CURL_SRC:-$HOME/src/curl-7.61.0}" #CURL sources, required by BOINC
export ANDROID_TC="${ANDROID_TC:-$HOME/android-tc}"
export ANDROIDTC="${ANDROID_TC_X86:-$ANDROID_TC/x86}"
@@ -21,12 +21,12 @@ export TCSYSROOT="$ANDROIDTC/sysroot"
export STDCPPTC="$TCINCLUDES/lib/libstdc++.a"
export PATH="$TCBINARIES:$TCINCLUDES/bin:$PATH"
-export CC=i686-linux-android-gcc
-export CXX=i686-linux-android-g++
+export CC=i686-linux-android-clang
+export CXX=i686-linux-android-clang++
export LD=i686-linux-android-ld
-export CFLAGS="--sysroot=$TCSYSROOT -DANDROID -Wall -I$TCINCLUDES/include -O3 -fomit-frame-pointer -fPIE"
-export CXXFLAGS="--sysroot=$TCSYSROOT -DANDROID -Wall -funroll-loops -fexceptions -O3 -fomit-frame-pointer -fPIE"
-export LDFLAGS="-L$TCSYSROOT/usr/lib -L$TCINCLUDES/lib -llog -fPIE -pie"
+export CFLAGS="--sysroot=$TCSYSROOT -DANDROID -Wall -I$TCINCLUDES/include -O3 -fomit-frame-pointer -fPIE -D__ANDROID_API__=19"
+export CXXFLAGS="--sysroot=$TCSYSROOT -DANDROID -Wall -funroll-loops -fexceptions -O3 -fomit-frame-pointer -fPIE -D__ANDROID_API__=19"
+export LDFLAGS="-L$TCSYSROOT/usr/lib -L$TCINCLUDES/lib -llog -fPIE -pie -latomic -static-libstdc++"
export GDB_CFLAGS="--sysroot=$TCSYSROOT -Wall -g -I$TCINCLUDES/include"
# Prepare android toolchain and environment
@@ -35,8 +35,8 @@ export GDB_CFLAGS="--sysroot=$TCSYSROOT -Wall -g -I$TCINCLUDES/include"
if [ -n "$COMPILECURL" ]; then
echo "==================building curl from $CURL================================="
cd "$CURL"
-if [ -n "$MAKECLEAN" ]; then
-make clean
+if [ -n "$MAKECLEAN" ] && $(grep -q "^distclean:" "${CURL}/Makefile"); then
+make distclean
fi
if [ -n "$CONFIGURE" ]; then
./configure --host=i686-linux --prefix="$TCINCLUDES" --libdir="$TCINCLUDES/lib" --disable-shared --enable-static --with-random=/dev/urandom
diff --git a/android/build_curl_x86_64.sh b/android/build_curl_x86_64.sh
index ef4f27692b..db7dd1701f 100755
--- a/android/build_curl_x86_64.sh
+++ b/android/build_curl_x86_64.sh
@@ -11,7 +11,7 @@ COMPILECURL="yes"
CONFIGURE="yes"
MAKECLEAN="yes"
-CURL="${CURL_SRC:-$HOME/src/curl-7.48.0}" #CURL sources, required by BOINC
+CURL="${CURL_SRC:-$HOME/src/curl-7.61.0}" #CURL sources, required by BOINC
export ANDROID_TC="${ANDROID_TC:-$HOME/android-tc}"
export ANDROIDTC="${ANDROID_TC_X86_64:-$ANDROID_TC/x86_64}"
@@ -21,12 +21,12 @@ export TCSYSROOT="$ANDROIDTC/sysroot"
export STDCPPTC="$TCINCLUDES/lib/libstdc++.a"
export PATH="$TCBINARIES:$TCINCLUDES/bin:$PATH"
-export CC=x86_64-linux-android-gcc
-export CXX=x86_64-linux-android-g++
+export CC=x86_64-linux-android-clang
+export CXX=x86_64-linux-android-clang++
export LD=x86_64-linux-android-ld
-export CFLAGS="--sysroot=$TCSYSROOT -DANDROID -Wall -I$TCINCLUDES/include -O3 -fomit-frame-pointer -fPIE"
-export CXXFLAGS="--sysroot=$TCSYSROOT -DANDROID -Wall -funroll-loops -fexceptions -O3 -fomit-frame-pointer -fPIE"
-export LDFLAGS="-L$TCSYSROOT/usr/lib -L$TCINCLUDES/lib -llog -fPIE -pie"
+export CFLAGS="--sysroot=$TCSYSROOT -DANDROID -Wall -I$TCINCLUDES/include -O3 -fomit-frame-pointer -fPIE -D__ANDROID_API__=21"
+export CXXFLAGS="--sysroot=$TCSYSROOT -DANDROID -Wall -funroll-loops -fexceptions -O3 -fomit-frame-pointer -fPIE -D__ANDROID_API__=21"
+export LDFLAGS="-L$TCSYSROOT/usr/lib -L$TCINCLUDES/lib -llog -fPIE -pie -latomic -static-libstdc++"
export GDB_CFLAGS="--sysroot=$TCSYSROOT -Wall -g -I$TCINCLUDES/include"
# Prepare android toolchain and environment
@@ -35,7 +35,7 @@ export GDB_CFLAGS="--sysroot=$TCSYSROOT -Wall -g -I$TCINCLUDES/include"
if [ -n "$COMPILECURL" ]; then
echo "==================building curl from $CURL================================="
cd "$CURL"
-if [ -n "$MAKECLEAN" ]; then
+if [ -n "$MAKECLEAN" ] && $(grep -q "^distclean:" "${CURL}/Makefile"); then
make distclean
fi
if [ -n "$CONFIGURE" ]; then
diff --git a/android/build_libraries_mips.sh b/android/build_libraries_mips.sh
deleted file mode 100755
index a04a1df828..0000000000
--- a/android/build_libraries_mips.sh
+++ /dev/null
@@ -1,54 +0,0 @@
-#!/bin/sh
-set -e
-
-#
-# See: http://boinc.berkeley.edu/trac/wiki/AndroidBuildApp#
-#
-
-# Script to compile various BOINC libraries for Android to be used
-# by science applications
-
-COMPILEBOINC="yes"
-CONFIGURE="yes"
-MAKECLEAN="yes"
-
-export BOINC=".." #BOINC source code
-
-export ANDROID_TC="${ANDROID_TC:-$HOME/android-tc}"
-export ANDROIDTC="${ANDROID_TC_MIPS:-$ANDROID_TC/mips}"
-export TCBINARIES="$ANDROIDTC/bin"
-export TCINCLUDES="$ANDROIDTC/mipsel-linux-android"
-export TCSYSROOT="$ANDROIDTC/sysroot"
-export STDCPPTC="$TCINCLUDES/lib/libstdc++.a"
-
-export PATH="$TCBINARIES:$TCINCLUDES/bin:$PATH"
-export CC=mipsel-linux-android-gcc
-export CXX=mipsel-linux-android-g++
-export LD=mipsel-linux-android-ld
-export CFLAGS="--sysroot=$TCSYSROOT -DANDROID -DDECLARE_TIMEZONE -Wall -I$TCINCLUDES/include -O3 -fomit-frame-pointer -fPIE"
-export CXXFLAGS="--sysroot=$TCSYSROOT -DANDROID -Wall -I$TCINCLUDES/include -funroll-loops -fexceptions -O3 -fomit-frame-pointer -fPIE"
-export LDFLAGS="-L$TCSYSROOT/usr/lib -L$TCINCLUDES/lib -llog -fPIE -pie"
-export GDB_CFLAGS="--sysroot=$TCSYSROOT -Wall -g -I$TCINCLUDES/include"
-export PKG_CONFIG_SYSROOT_DIR="$TCSYSROOT"
-
-# Prepare android toolchain and environment
-./build_androidtc_mips.sh
-
-if [ -n "$COMPILEBOINC" ]; then
-
-echo "==================building Libraries from $BOINC=========================="
-cd "$BOINC"
-if [ -n "$MAKECLEAN" ]; then
-make clean
-fi
-if [ -n "$CONFIGURE" ]; then
-./_autosetup
-./configure --host=mipsel-linux --with-boinc-platform="mipsel-android-linux-gnu" --prefix="$TCINCLUDES" --libdir="$TCINCLUDES/lib" --with-ssl="$TCINCLUDES" --disable-server --disable-manager --disable-client --disable-shared --enable-static --enable-boinczip
-fi
-make
-make stage
-make install
-
-echo "=============================BOINC done============================="
-
-fi
diff --git a/android/build_openssl_arm.sh b/android/build_openssl_arm.sh
index 18444ed904..7b0e922658 100755
--- a/android/build_openssl_arm.sh
+++ b/android/build_openssl_arm.sh
@@ -11,7 +11,7 @@ COMPILEOPENSSL="yes"
CONFIGURE="yes"
MAKECLEAN="yes"
-OPENSSL="${OPENSSL_SRC:-$HOME/src/openssl-1.0.2g}" #openSSL sources, requiered by BOINC
+OPENSSL="${OPENSSL_SRC:-$HOME/src/openssl-1.0.2p}" #openSSL sources, requiered by BOINC
export ANDROID_TC="${ANDROID_TC:-$HOME/android-tc}"
export ANDROIDTC="${ANDROID_TC_ARM:-$ANDROID_TC/arm}"
@@ -21,12 +21,12 @@ export TCSYSROOT="$ANDROIDTC/sysroot"
export STDCPPTC="$TCINCLUDES/lib/libstdc++.a"
export PATH="$TCBINARIES:$TCINCLUDES/bin:$PATH"
-export CC=arm-linux-androideabi-gcc
-export CXX=arm-linux-androideabi-g++
+export CC=arm-linux-androideabi-clang
+export CXX=arm-linux-androideabi-clang++
export LD=arm-linux-androideabi-ld
-export CFLAGS="--sysroot=$TCSYSROOT -DANDROID -Wall -I$TCINCLUDES/include -O3 -fomit-frame-pointer -fPIE -march=armv7-a -mfloat-abi=softfp -mfpu=vfpv3-d16"
-export CXXFLAGS="--sysroot=$TCSYSROOT -DANDROID -Wall -funroll-loops -fexceptions -O3 -fomit-frame-pointer -fPIE -march=armv7-a -mfloat-abi=softfp -mfpu=vfpv3-d16"
-export LDFLAGS="-L$TCSYSROOT/usr/lib -L$TCINCLUDES/lib -llog -fPIE -pie -march=armv7-a -Wl,--fix-cortex-a8"
+export CFLAGS="--sysroot=$TCSYSROOT -DANDROID -Wall -I$TCINCLUDES/include -O3 -fomit-frame-pointer -fPIE -march=armv7-a -mfloat-abi=softfp -mfpu=vfpv3-d16 -D__ANDROID_API__=19"
+export CXXFLAGS="--sysroot=$TCSYSROOT -DANDROID -Wall -funroll-loops -fexceptions -O3 -fomit-frame-pointer -fPIE -march=armv7-a -mfloat-abi=softfp -mfpu=vfpv3-d16 -D__ANDROID_API__=19"
+export LDFLAGS="-L$TCSYSROOT/usr/lib -L$TCINCLUDES/lib -llog -fPIE -pie -latomic -static-libstdc++ -march=armv7-a -Wl,--fix-cortex-a8"
export GDB_CFLAGS="--sysroot=$TCSYSROOT -Wall -g -I$TCINCLUDES/include"
# Prepare android toolchain and environment
diff --git a/android/build_openssl_arm64.sh b/android/build_openssl_arm64.sh
index 3401e17e56..f3e2746897 100755
--- a/android/build_openssl_arm64.sh
+++ b/android/build_openssl_arm64.sh
@@ -11,7 +11,7 @@ COMPILEOPENSSL="yes"
CONFIGURE="yes"
MAKECLEAN="yes"
-OPENSSL="${OPENSSL_SRC:-$HOME/src/openssl-1.0.2g}" #openSSL sources, requiered by BOINC
+OPENSSL="${OPENSSL_SRC:-$HOME/src/openssl-1.0.2p}" #openSSL sources, requiered by BOINC
export ANDROID_TC="${ANDROID_TC:-$HOME/android-tc}"
export ANDROIDTC="${ANDROID_TC_ARM64:-$ANDROID_TC/arm64}"
@@ -21,12 +21,12 @@ export TCSYSROOT="$ANDROIDTC/sysroot"
export STDCPPTC="$TCINCLUDES/lib/libstdc++.a"
export PATH="$TCBINARIES:$TCINCLUDES/bin:$PATH"
-export CC=aarch64-linux-android-gcc
-export CXX=aarch64-linux-android-g++
+export CC=aarch64-linux-android-clang
+export CXX=aarch64-linux-android-clang++
export LD=aarch64-linux-android-ld
-export CFLAGS="--sysroot=$TCSYSROOT -DANDROID -Wall -I$TCINCLUDES/include -O3 -fomit-frame-pointer -fPIE"
-export CXXFLAGS="--sysroot=$TCSYSROOT -DANDROID -Wall -funroll-loops -fexceptions -O3 -fomit-frame-pointer -fPIE"
-export LDFLAGS="-L$TCSYSROOT/usr/lib -L$TCINCLUDES/lib -llog -fPIE -pie"
+export CFLAGS="--sysroot=$TCSYSROOT -DANDROID -Wall -I$TCINCLUDES/include -O3 -fomit-frame-pointer -fPIE -D__ANDROID_API__=21"
+export CXXFLAGS="--sysroot=$TCSYSROOT -DANDROID -Wall -funroll-loops -fexceptions -O3 -fomit-frame-pointer -fPIE -D__ANDROID_API__=21"
+export LDFLAGS="-L$TCSYSROOT/usr/lib -L$TCINCLUDES/lib -llog -fPIE -pie -latomic -static-libstdc++"
export GDB_CFLAGS="--sysroot=$TCSYSROOT -Wall -g -I$TCINCLUDES/include"
# Prepare android toolchain and environment
diff --git a/android/build_openssl_mips.sh b/android/build_openssl_mips.sh
deleted file mode 100755
index fdec3a7339..0000000000
--- a/android/build_openssl_mips.sh
+++ /dev/null
@@ -1,51 +0,0 @@
-#!/bin/sh
-set -e
-
-#
-# See: http://boinc.berkeley.edu/trac/wiki/AndroidBuildClient#
-#
-
-# Script to compile OpenSSL for Android
-
-COMPILEOPENSSL="yes"
-CONFIGURE="yes"
-MAKECLEAN="yes"
-
-OPENSSL="${OPENSSL_SRC:-$HOME/src/openssl-1.0.2g}" #openSSL sources, requiered by BOINC
-
-export ANDROID_TC="${ANDROID_TC:-$HOME/android-tc}"
-export ANDROIDTC="${ANDROID_TC_MIPS:-$ANDROID_TC/mips}"
-export TCBINARIES="$ANDROIDTC/bin"
-export TCINCLUDES="$ANDROIDTC/mipsel-linux-android"
-export TCSYSROOT="$ANDROIDTC/sysroot"
-export STDCPPTC="$TCINCLUDES/lib/libstdc++.a"
-
-export PATH="$TCBINARIES:$TCINCLUDES/bin:$PATH"
-export CC=mipsel-linux-android-gcc
-export CXX=mipsel-linux-android-g++
-export LD=mipsel-linux-android-ld
-export CFLAGS="--sysroot=$TCSYSROOT -DANDROID -Wall -I$TCINCLUDES/include -O3 -fomit-frame-pointer -fPIE"
-export CXXFLAGS="--sysroot=$TCSYSROOT -DANDROID -Wall -funroll-loops -fexceptions -O3 -fomit-frame-pointer -fPIE"
-export LDFLAGS="-L$TCSYSROOT/usr/lib -L$TCINCLUDES/lib -llog -fPIE -pie"
-export GDB_CFLAGS="--sysroot=$TCSYSROOT -Wall -g -I$TCINCLUDES/include"
-
-# Prepare android toolchain and environment
-./build_androidtc_mips.sh
-
-if [ -n "$COMPILEOPENSSL" ]; then
-echo "================building openssl from $OPENSSL============================="
-cd "$OPENSSL"
-if [ -n "$MAKECLEAN" ]; then
-make clean
-fi
-if [ -n "$CONFIGURE" ]; then
-./Configure linux-generic32 no-shared no-dso -DL_ENDIAN --openssldir="$TCINCLUDES/ssl"
-#override flags in Makefile
-sed -e "s/^CFLAG=.*$/`grep -e \^CFLAG= Makefile` \$(CFLAGS)/g
-s%^INSTALLTOP=.*%INSTALLTOP=$TCINCLUDES%g" Makefile > Makefile.out
-mv Makefile.out Makefile
-fi
-make
-make install_sw
-echo "========================openssl DONE=================================="
-fi
diff --git a/android/build_openssl_mips64.sh b/android/build_openssl_mips64.sh
deleted file mode 100755
index a6b6bef2c4..0000000000
--- a/android/build_openssl_mips64.sh
+++ /dev/null
@@ -1,50 +0,0 @@
-#!/bin/sh
-set -e
-
-#
-# See: http://boinc.berkeley.edu/trac/wiki/AndroidBuildClient#
-#
-
-# Script to compile OpenSSL for Android
-
-COMPILEOPENSSL="yes"
-CONFIGURE="yes"
-MAKECLEAN="yes"
-
-OPENSSL="${OPENSSL_SRC:-$HOME/src/openssl-1.0.2g}" #openSSL sources, requiered by BOINC
-
-export ANDROID_TC="${ANDROID_TC:-$HOME/android-tc}"
-export ANDROIDTC="${ANDROID_TC_MIPS64:-$ANDROID_TC/mips64}"
-export TCBINARIES="$ANDROIDTC/bin"
-export TCINCLUDES="$ANDROIDTC/mips64el-linux-android"
-export TCSYSROOT="$ANDROIDTC/sysroot"
-
-export PATH="$TCBINARIES:$TCINCLUDES/bin:$PATH"
-export CC=mips64el-linux-android-gcc
-export CXX=mips64el-linux-android-g++
-export LD=mips64el-linux-android-ld
-export CFLAGS="--sysroot=$TCSYSROOT -DANDROID -Wall -I$TCINCLUDES/include -O3 -fomit-frame-pointer -fPIE"
-export CXXFLAGS="--sysroot=$TCSYSROOT -DANDROID -Wall -funroll-loops -fexceptions -O3 -fomit-frame-pointer -fPIE"
-export LDFLAGS="-L$TCSYSROOT/usr/lib64 -L$TCINCLUDES/lib64 -llog -fPIE -pie"
-export GDB_CFLAGS="--sysroot=$TCSYSROOT -Wall -g -I$TCINCLUDES/include"
-
-# Prepare android toolchain and environment
-./build_androidtc_mips64.sh
-
-if [ -n "$COMPILEOPENSSL" ]; then
-echo "================building openssl from $OPENSSL============================="
-cd "$OPENSSL"
-if [ -n "$MAKECLEAN" ]; then
-make clean
-fi
-if [ -n "$CONFIGURE" ]; then
-./Configure linux-generic64 no-shared no-dso -DL_ENDIAN --openssldir="$TCINCLUDES/ssl"
-#override flags in Makefile
-sed -e "s/^CFLAG=.*$/`grep -e \^CFLAG= Makefile` \$(CFLAGS)/g
-s%^INSTALLTOP=.*%INSTALLTOP=$TCINCLUDES%g" Makefile > Makefile.out
-mv Makefile.out Makefile
-fi
-make
-make install_sw
-echo "========================openssl DONE=================================="
-fi
diff --git a/android/build_openssl_x86.sh b/android/build_openssl_x86.sh
index 230415a651..88ad03fe06 100755
--- a/android/build_openssl_x86.sh
+++ b/android/build_openssl_x86.sh
@@ -11,7 +11,7 @@ COMPILEOPENSSL="yes"
CONFIGURE="yes"
MAKECLEAN="yes"
-OPENSSL="${OPENSSL_SRC:-$HOME/src/openssl-1.0.2g}" #openSSL sources, requiered by BOINC
+OPENSSL="${OPENSSL_SRC:-$HOME/src/openssl-1.0.2p}" #openSSL sources, requiered by BOINC
export ANDROID_TC="${ANDROID_TC:-$HOME/android-tc}"
export ANDROIDTC="${ANDROID_TC_X86:-$ANDROID_TC/x86}"
@@ -21,12 +21,12 @@ export TCSYSROOT="$ANDROIDTC/sysroot"
export STDCPPTC="$TCINCLUDES/lib/libstdc++.a"
export PATH="$TCBINARIES:$TCINCLUDES/bin:$PATH"
-export CC=i686-linux-android-gcc
-export CXX=i686-linux-android-g++
+export CC=i686-linux-android-clang
+export CXX=i686-linux-android-clang++
export LD=i686-linux-android-ld
-export CFLAGS="--sysroot=$TCSYSROOT -DANDROID -Wall -I$TCINCLUDES/include -O3 -fomit-frame-pointer -fPIE"
-export CXXFLAGS="--sysroot=$TCSYSROOT -DANDROID -Wall -funroll-loops -fexceptions -O3 -fomit-frame-pointer -fPIE"
-export LDFLAGS="-L$TCSYSROOT/usr/lib -L$TCINCLUDES/lib -llog -fPIE -pie"
+export CFLAGS="--sysroot=$TCSYSROOT -DANDROID -Wall -I$TCINCLUDES/include -O3 -fomit-frame-pointer -fPIE -D__ANDROID_API__=19"
+export CXXFLAGS="--sysroot=$TCSYSROOT -DANDROID -Wall -funroll-loops -fexceptions -O3 -fomit-frame-pointer -fPIE -D__ANDROID_API__=19"
+export LDFLAGS="-L$TCSYSROOT/usr/lib -L$TCINCLUDES/lib -llog -fPIE -pie -latomic -static-libstdc++"
export GDB_CFLAGS="--sysroot=$TCSYSROOT -Wall -g -I$TCINCLUDES/include"
# Prepare android toolchain and environment
diff --git a/android/build_openssl_x86_64.sh b/android/build_openssl_x86_64.sh
index d1f47ea926..d70a5307da 100755
--- a/android/build_openssl_x86_64.sh
+++ b/android/build_openssl_x86_64.sh
@@ -11,7 +11,7 @@ COMPILEOPENSSL="yes"
CONFIGURE="yes"
MAKECLEAN="yes"
-OPENSSL="${OPENSSL_SRC:-$HOME/src/openssl-1.0.2g}" #openSSL sources, requiered by BOINC
+OPENSSL="${OPENSSL_SRC:-$HOME/src/openssl-1.0.2p}" #openSSL sources, requiered by BOINC
export ANDROID_TC="${ANDROID_TC:-$HOME/android-tc}"
export ANDROIDTC="${ANDROID_TC_X86_64:-$ANDROID_TC/x86_64}"
@@ -21,12 +21,12 @@ export TCSYSROOT="$ANDROIDTC/sysroot"
export STDCPPTC="$TCINCLUDES/lib/libstdc++.a"
export PATH="$TCBINARIES:$TCINCLUDES/bin:$PATH"
-export CC=x86_64-linux-android-gcc
-export CXX=x86_64-linux-android-g++
+export CC=x86_64-linux-android-clang
+export CXX=x86_64-linux-android-clang++
export LD=x86_64-linux-android-ld
-export CFLAGS="--sysroot=$TCSYSROOT -DANDROID -Wall -I$TCINCLUDES/include -O3 -fomit-frame-pointer -fPIE"
-export CXXFLAGS="--sysroot=$TCSYSROOT -DANDROID -Wall -funroll-loops -fexceptions -O3 -fomit-frame-pointer -fPIE"
-export LDFLAGS="-L$TCSYSROOT/usr/lib -L$TCINCLUDES/lib -llog -fPIE -pie"
+export CFLAGS="--sysroot=$TCSYSROOT -DANDROID -Wall -I$TCINCLUDES/include -O3 -fomit-frame-pointer -fPIE -D__ANDROID_API__=21"
+export CXXFLAGS="--sysroot=$TCSYSROOT -DANDROID -Wall -funroll-loops -fexceptions -O3 -fomit-frame-pointer -fPIE -D__ANDROID_API__=21"
+export LDFLAGS="-L$TCSYSROOT/usr/lib -L$TCINCLUDES/lib -llog -fPIE -pie -latomic -static-libstdc++"
export GDB_CFLAGS="--sysroot=$TCSYSROOT -Wall -g -I$TCINCLUDES/include"
# Prepare android toolchain and environment
diff --git a/android/build_wrapper_mips.sh b/android/build_wrapper_mips.sh
deleted file mode 100755
index 67e2b32b17..0000000000
--- a/android/build_wrapper_mips.sh
+++ /dev/null
@@ -1,62 +0,0 @@
-#!/bin/sh
-set -e
-
-#
-# See: http://boinc.berkeley.edu/trac/wiki/AndroidBuildApp#
-#
-
-# Script to compile various BOINC libraries for Android to be used
-# by science applications
-
-COMPILEBOINC="yes"
-CONFIGURE="yes"
-MAKECLEAN="yes"
-
-export BOINC=".." #BOINC source code
-
-export ANDROID_TC="${ANDROID_TC:-$HOME/android-tc}"
-export ANDROIDTC="${ANDROID_TC_MIPS:-$ANDROID_TC/mips}"
-export TCBINARIES="$ANDROIDTC/bin"
-export TCINCLUDES="$ANDROIDTC/mipsel-linux-android"
-export TCSYSROOT="$ANDROIDTC/sysroot"
-export STDCPPTC="$TCINCLUDES/lib/libstdc++.a"
-
-export PATH="$TCBINARIES:$TCINCLUDES/bin:$PATH"
-export CC=mipsel-linux-android-gcc
-export CXX=mipsel-linux-android-g++
-export LD=mipsel-linux-android-ld
-export CFLAGS="--sysroot=$TCSYSROOT -DANDROID -DDECLARE_TIMEZONE -Wall -I$TCINCLUDES/include -O3 -fomit-frame-pointer"
-export CXXFLAGS="--sysroot=$TCSYSROOT -DANDROID -Wall -I$TCINCLUDES/include -funroll-loops -fexceptions -O3 -fomit-frame-pointer"
-export LDFLAGS="-L$TCSYSROOT/usr/lib -L$TCINCLUDES/lib -llog"
-export GDB_CFLAGS="--sysroot=$TCSYSROOT -Wall -g -I$TCINCLUDES/include"
-export PKG_CONFIG_SYSROOT_DIR="$TCSYSROOT"
-export PTHREAD=-L.
-
-# Prepare android toolchain and environment
-./build_androidtc_mips.sh
-
-if [ -n "$COMPILEBOINC" ]; then
-
-echo "==================building Wrapper from $BOINC=========================="
-cd "$BOINC"
-
-if [ -n "$MAKECLEAN" ]; then
-make clean
-cd samples/wrapper
-make clean
-cd ../..
-fi
-
-if [ -n "$CONFIGURE" ]; then
-./_autosetup
-./configure --host=mipsel-linux --with-boinc-platform="mipsel-android-linux-gnu" --prefix="$TCINCLUDES" --libdir="$TCINCLUDES/lib" --with-ssl="$TCINCLUDES" --disable-server --disable-manager --disable-client --disable-shared --enable-static --enable-boinczip
-fi
-
-make
-
-cd samples/wrapper
-make
-
-echo "=============================Wrapper done============================="
-
-fi
diff --git a/client/hostinfo_unix.cpp b/client/hostinfo_unix.cpp
index ad78d55122..1679f4b581 100644
--- a/client/hostinfo_unix.cpp
+++ b/client/hostinfo_unix.cpp
@@ -74,12 +74,8 @@
#include
#if HAVE_SYS_SWAP_H
-#if defined(ANDROID) && !defined(ANDROID_64)
-#include
-#else
#include
#endif
-#endif
#if HAVE_SYS_SYSCTL_H
#include