Skipped building if the patch's sha matches the previously written patch's sha.

This commit is contained in:
Chris Kleeschulte 2015-07-28 18:13:14 -04:00
parent 7de5ac32de
commit b798ea918d

View File

@ -6,6 +6,7 @@ depends_dir=$($root_dir/platform/os.sh depends_dir)
os_dir=$(${root_dir}/platform/os.sh osdir) os_dir=$(${root_dir}/platform/os.sh osdir)
host=$(${root_dir}/platform/os.sh host) host=$(${root_dir}/platform/os.sh host)
btc_dir="${root_dir}/libbitcoind" btc_dir="${root_dir}/libbitcoind"
ext=$($root_dir/platform/os.sh ext)
echo "Using BTC directory: ${btc_dir}" echo "Using BTC directory: ${btc_dir}"
cd "${root_dir}" cd "${root_dir}"
@ -61,8 +62,20 @@ if [ "${BITCOINDJS_ENV}" == "test" ]; then
options=`cat ${root_dir}/bin/config_options_test.sh` options=`cat ${root_dir}/bin/config_options_test.sh`
fi fi
only_make=false patch_file_sha=$(shasum -a 256 "${root_dir}/etc/bitcoin.patch" | awk '{print $1}')
if [ -d "${btc_dir}" ]; then if [ "${ext}" == "dylib" ]; then
last_patch_file_sha=$(cat "${os_dir}"/lib/patch_sha.txt)
else
last_patch_file_sha=$(cat "${os_dir}"/patch_sha.txt)
fi
shared_file_built=false
if [ "${last_patch_file_sha}" == "${patch_file_sha}" ]; then
shared_file_built=true
fi
if [ "${shared_file_built}" = false ]; then
only_make=false
if [ -d "${btc_dir}" ]; then
echo "running compare patch..." echo "running compare patch..."
compare_patch compare_patch
repatch=false repatch=false
@ -89,12 +102,12 @@ apply the current patch from "${root_dir}"/etc/bitcoin.patch? (y/N): "
cd "${btc_dir}" cd "${btc_dir}"
only_make=true only_make=true
fi fi
fi fi
set -e set -e
if [ "${only_make}" = false ]; then if [ "${only_make}" = false ]; then
echo "Removing cloning, patching, and building libbitcoind..." echo "Cloning, patching, and building libbitcoind..."
get_patch_file get_patch_file
echo "attempting to checkout tag: ${tag} of bitcoin from github..." echo "attempting to checkout tag: ${tag} of bitcoin from github..."
cd "${root_dir}" cd "${root_dir}"
@ -110,24 +123,23 @@ if [ "${only_make}" = false ]; then
exit 1 exit 1
fi fi
fi fi
build_dependencies build_dependencies
echo './autogen.sh' echo './autogen.sh'
./autogen.sh ./autogen.sh
export CPPFLAGS="-I${h_and_a_dir}/include/boost -I${h_and_a_dir}/include -L${h_and_a_dir}/lib" export CPPFLAGS="-I${h_and_a_dir}/include/boost -I${h_and_a_dir}/include -L${h_and_a_dir}/lib"
boost_libdir="--with-boost-libdir=${h_and_a_dir}/lib" boost_libdir="--with-boost-libdir=${h_and_a_dir}/lib"
full_options="${options} ${boost_libdir} --prefix=${os_dir}" full_options="${options} ${boost_libdir} --prefix=${os_dir}"
echo "running the configure script with the following options:\n :::[\"${full_options}\"]:::" echo "running the configure script with the following options:\n :::[\"${full_options}\"]:::"
${full_options} ${full_options}
echo 'make V=1' echo 'make V=1'
make V=1 make V=1
ext=$($root_dir/platform/os.sh ext) echo 'Copying libbitcoind.{so|dylib} to its appropriate location.'
echo 'Copying libbitcoind.{so|dylib} to its appropriate location.' if test -e "${btc_dir}/src/.libs/libbitcoind.${ext}"; then
if test -e "${btc_dir}/src/.libs/libbitcoind.${ext}"; then
if [ "$ext" = "dylib" ]; then if [ "$ext" = "dylib" ]; then
if [ ! -d "${os_dir}/lib" ]; then if [ ! -d "${os_dir}/lib" ]; then
mkdir -p "${os_dir}/lib" mkdir -p "${os_dir}/lib"
@ -139,6 +151,11 @@ if test -e "${btc_dir}/src/.libs/libbitcoind.${ext}"; then
fi fi
cp -P "${btc_dir}"/src/.libs/libbitcoind.so* "${os_dir}/" cp -P "${btc_dir}"/src/.libs/libbitcoind.so* "${os_dir}/"
fi fi
echo "Creating the sha marker for the patching in libbitcoind..."
echo -n `shasum -a 256 "${root_dir}"/etc/bitcoin.patch | awk '{print $1}'` > "${os_dir}"/patch_sha.txt
fi
echo 'Build finished successfully.'
else
echo 'Using existing shared library.'
fi fi
echo 'Build finished successfully.'