mirror of
https://github.com/corda/corda.git
synced 2025-01-06 05:04:20 +00:00
b96cc3c575
Lots has changed since we forked Android's libcore, so merging the latest upstream code has required extensive changes to the Avian/Android port. One big change is that we now use Avian's versions of java.lang.Object, java.lang.Class, java.lang.ClassLoader, some java.lang.reflect.* classes, etc. instead of the Android versions. The main reason is that the Android versions have become very Dex/Dalvik-specific, and since Avian is based on Java class files, not dex archives, that code doesn't make sense here. This has the side benefit that we can share more native code with classpath-avian.cpp and reduce the amount of Java/C++ code duplication.
57 lines
1.2 KiB
Bash
Executable File
57 lines
1.2 KiB
Bash
Executable File
#!/bin/sh
|
|
|
|
set -e
|
|
|
|
root_dir=$(pwd)
|
|
|
|
run() {
|
|
echo '==============================================='
|
|
if [ ! $(pwd) = ${root_dir} ]; then
|
|
printf "cd $(pwd); "
|
|
fi
|
|
echo "${@}"
|
|
echo '==============================================='
|
|
"${@}"
|
|
}
|
|
|
|
run_cmake() {
|
|
mkdir -p cmake-build
|
|
rm -rf cmake-build/*
|
|
cd cmake-build
|
|
run cmake ${@} ..
|
|
run make -j4 check
|
|
cd ..
|
|
}
|
|
|
|
flags="${@}"
|
|
|
|
has_flag() {
|
|
local arg=$1
|
|
for f in ${flags}; do
|
|
local key=$(echo $f | awk -F '=' '{print $1}')
|
|
if [ ${key} = ${arg} ]; then
|
|
return 0
|
|
fi
|
|
done
|
|
return 1
|
|
}
|
|
|
|
make_target=test
|
|
|
|
test `uname -o` = "Cygwin" || run_cmake -DCMAKE_BUILD_TYPE=Debug
|
|
|
|
run make jdk-test
|
|
run make ${flags} ${make_target}
|
|
run make ${flags} mode=debug ${make_target}
|
|
run make ${flags} process=interpret ${make_target}
|
|
|
|
(has_flag openjdk-src || ! has_flag openjdk) && \
|
|
run make ${flags} mode=debug bootimage=true ${make_target} && \
|
|
run make ${flags} bootimage=true ${make_target}
|
|
|
|
(! has_flag openjdk && ! has_flag android) && \
|
|
run make ${flags} openjdk=$JAVA_HOME ${make_target}
|
|
|
|
run make ${flags} tails=true continuations=true heapdump=true ${make_target}
|
|
run make ${flags} codegen-targets=all
|