Removed the need for the platform directory. Now, the binding can be cached in the build dir because it is one file that includes bitcoin core.
This commit is contained in:
parent
19b96754d7
commit
761243c724
|
@ -12,5 +12,4 @@ script:
|
||||||
- _mocha -R spec --recursive
|
- _mocha -R spec --recursive
|
||||||
cache:
|
cache:
|
||||||
directories:
|
directories:
|
||||||
- platform/ubuntu
|
- build
|
||||||
|
|
||||||
|
|
|
@ -7,29 +7,11 @@ 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)
|
ext=$($root_dir/platform/os.sh ext)
|
||||||
artifacts_dir=$($root_dir/platform/os.sh artifacts_dir)
|
|
||||||
export CPPFLAGS="-I${h_and_a_dir}/include/boost -I${h_and_a_dir}/include -I/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/usr/include -I/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.10.sdk/usr/include -L${h_and_a_dir}/lib"
|
export CPPFLAGS="-I${h_and_a_dir}/include/boost -I${h_and_a_dir}/include -I/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/usr/include -I/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.10.sdk/usr/include -L${h_and_a_dir}/lib"
|
||||||
echo "Using BTC directory: ${btc_dir}"
|
echo "Using BTC directory: ${btc_dir}"
|
||||||
|
|
||||||
cd "${root_dir}"
|
cd "${root_dir}"
|
||||||
|
|
||||||
copy_files () {
|
|
||||||
if [[ -d "${artifacts_dir}" && -d "${h_and_a_dir}" && -d "${btc_dir}" ]]; then
|
|
||||||
mkdir -p "${artifacts_dir}/include" > /dev/null 2>&1
|
|
||||||
pushd "${root_dir}"
|
|
||||||
echo "Copying headers for caching purposes, this can take a while (but will only be done once), please wait..."
|
|
||||||
find libbitcoind -type f \( -name "*.h" -or -name "*.hpp" -or -name "*.ipp" \) -print0 | xargs -0 -I{} rsync -R {} "${artifacts_dir}"/include
|
|
||||||
mkdir -p "${artifacts_dir}/lib" > /dev/null 2>&1
|
|
||||||
cp -r "${h_and_a_dir}"/lib/libboost_filesystem-mt.a "${h_and_a_dir}"/lib/libboost_thread-mt.a "${h_and_a_dir}"/lib/libboost_chrono-mt.a \
|
|
||||||
"${h_and_a_dir}"/lib/libboost_program_options-mt.a "${h_and_a_dir}"/lib/libboost_system-mt.a "${btc_dir}"/src/secp256k1/.libs/libsecp256k1.a \
|
|
||||||
"${btc_dir}"/src/.libs/libbitcoind.a "${btc_dir}"/src/leveldb/libleveldb.a "${btc_dir}"/src/leveldb/libmemenv.a "${artifacts_dir}"/lib/
|
|
||||||
if [ "${test}" = true ]; then
|
|
||||||
cp -r "${h_and_a_dir}"/lib/libdb* "${artifacts_dir}"/lib/
|
|
||||||
fi
|
|
||||||
popd
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
build_dependencies () {
|
build_dependencies () {
|
||||||
if [ -d "${btc_dir}" ]; then
|
if [ -d "${btc_dir}" ]; then
|
||||||
pushd "${depends_dir}"
|
pushd "${depends_dir}"
|
||||||
|
@ -82,17 +64,13 @@ if [ "${BITCORENODE_ENV}" == "test" ]; then
|
||||||
fi
|
fi
|
||||||
|
|
||||||
patch_file_sha=$(shasum -a 256 "${root_dir}/etc/bitcoin.patch" | awk '{print $1}')
|
patch_file_sha=$(shasum -a 256 "${root_dir}/etc/bitcoin.patch" | awk '{print $1}')
|
||||||
patch_sha=`find "${os_dir}" -iname patch_sha.txt`
|
patch_sha="${root_dir}"/etc/patch_sha.txt
|
||||||
last_patch_file_sha=
|
last_patch_file_sha=
|
||||||
if [ -e "${patch_sha}" ]; then
|
if [ -e "${patch_sha}" ]; then
|
||||||
if [ "${ext}" == "dylib" ]; then
|
last_patch_file_sha=$(cat "${patch_sha}")
|
||||||
last_patch_file_sha=$(cat "${os_dir}"/lib/patch_sha.txt)
|
|
||||||
else
|
|
||||||
last_patch_file_sha=$(cat "${os_dir}"/patch_sha.txt)
|
|
||||||
fi
|
|
||||||
fi
|
fi
|
||||||
shared_file_built=false
|
shared_file_built=false
|
||||||
if [[ "${last_patch_file_sha}" == "${patch_file_sha}" && -d "${artifacts_dir}/include" ]]; then
|
if [ "${last_patch_file_sha}" == "${patch_file_sha}" ]; then
|
||||||
shared_file_built=true
|
shared_file_built=true
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
@ -163,16 +141,8 @@ apply the current patch from "${root_dir}"/etc/bitcoin.patch? (y/N): "
|
||||||
echo 'make V=1'
|
echo 'make V=1'
|
||||||
make V=1
|
make V=1
|
||||||
|
|
||||||
echo 'Copying files to their appropriate location.'
|
|
||||||
if test -e "${btc_dir}/src/.libs/libbitcoind.a"; then
|
|
||||||
mkdir -p "${artifacts_dir}"
|
|
||||||
echo "Creating the sha marker for the patching in libbitcoind..."
|
echo "Creating the sha marker for the patching in libbitcoind..."
|
||||||
echo -n `shasum -a 256 "${root_dir}"/etc/bitcoin.patch | awk '{print $1}'` > "${artifacts_dir}"/patch_sha.txt
|
echo -n `shasum -a 256 "${root_dir}"/etc/bitcoin.patch | awk '{print $1}'` > "${root_dir}"/etc/patch_sha.txt
|
||||||
copy_files
|
|
||||||
else
|
|
||||||
echo "Could not find the libraries after they should have been built, please run make clean inside the libbitcoind dir and run npm install again."
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
echo 'Build finished successfully.'
|
echo 'Build finished successfully.'
|
||||||
else
|
else
|
||||||
echo 'Using existing shared library.'
|
echo 'Using existing shared library.'
|
||||||
|
|
|
@ -3,9 +3,9 @@
|
||||||
'target_name': "<(module_name)",
|
'target_name': "<(module_name)",
|
||||||
'include_dirs' : [
|
'include_dirs' : [
|
||||||
'<!(node -e "require(\'nan\')")',
|
'<!(node -e "require(\'nan\')")',
|
||||||
'<!(./platform/os.sh artifacts_dir)/include/libbitcoind/src',
|
'<!(./platform/os.sh btcdir)/src',
|
||||||
'<!(./platform/os.sh artifacts_dir)/include/libbitcoind/depends/<!(./platform/os.sh host)/include',
|
'<!(./platform/os.sh btcdir)/depends/<!(./platform/os.sh host)/include',
|
||||||
'<!(./platform/os.sh artifacts_dir)/include/libbitcoind/src/leveldb/include'
|
'<!(./platform/os.sh btcdir)/src/leveldb/include'
|
||||||
],
|
],
|
||||||
'sources': [
|
'sources': [
|
||||||
'./src/libbitcoind.cc',
|
'./src/libbitcoind.cc',
|
||||||
|
|
|
@ -0,0 +1 @@
|
||||||
|
8f9cdc31ef10317a01573c54509e6b8381c296aa49e7650185b3b3594ff8fa13
|
|
@ -63,17 +63,11 @@ fi
|
||||||
|
|
||||||
os_dir=${root_dir}/platform/${os}
|
os_dir=${root_dir}/platform/${os}
|
||||||
|
|
||||||
if [ "${os}" == "osx" ]; then
|
thread="${BITCOIN_DIR}"/depends/"${host}"/lib/libboost_thread-mt.a
|
||||||
artifacts_dir="${os_dir}/lib"
|
filesystem="${BITCOIN_DIR}"/depends/"${host}"/lib/libboost_filesystem-mt.a
|
||||||
else
|
chrono="${BITCOIN_DIR}"/depends/"${host}"/lib/libboost_chrono-mt.a
|
||||||
artifacts_dir="${os_dir}"
|
program_options="${BITCOIN_DIR}"/depends/"${host}"/lib/libboost_program_options-mt.a
|
||||||
fi
|
system="${BITCOIN_DIR}"/depends/"${host}"/lib/libboost_system-mt.a
|
||||||
|
|
||||||
thread="${artifacts_dir}"/lib/libboost_thread-mt.a
|
|
||||||
filesystem="${artifacts_dir}"/lib/libboost_filesystem-mt.a
|
|
||||||
chrono="${artifacts_dir}"/lib/libboost_chrono-mt.a
|
|
||||||
program_options="${artifacts_dir}"/lib/libboost_program_options-mt.a
|
|
||||||
system="${artifacts_dir}"/lib/libboost_system-mt.a
|
|
||||||
leveldb="${BITCOIN_DIR}"/src/leveldb/libleveldb.a
|
leveldb="${BITCOIN_DIR}"/src/leveldb/libleveldb.a
|
||||||
memenv="${BITCOIN_DIR}"/src/leveldb/libmemenv.a
|
memenv="${BITCOIN_DIR}"/src/leveldb/libmemenv.a
|
||||||
libsecp256k1="${BITCOIN_DIR}"/src/secp256k1/.libs/libsecp256k1.a
|
libsecp256k1="${BITCOIN_DIR}"/src/secp256k1/.libs/libsecp256k1.a
|
||||||
|
@ -146,7 +140,7 @@ fi
|
||||||
|
|
||||||
if test -z "$1" -o x"$1" = x'bdb'; then
|
if test -z "$1" -o x"$1" = x'bdb'; then
|
||||||
if [ "${BITCORENODE_ENV}" == "test" ]; then
|
if [ "${BITCORENODE_ENV}" == "test" ]; then
|
||||||
echo -n "${artifacts_dir}/lib/libdb_cxx.a"
|
echo -n "${BITCOIN_DIR}"/depends/"${host}"/lib/libdb_cxx.a
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
@ -154,19 +148,15 @@ if test -z "$1" -o x"$1" = x'load_archive'; then
|
||||||
if [ "${os}" == "osx" ]; then
|
if [ "${os}" == "osx" ]; then
|
||||||
echo -n "-Wl,-all_load -Wl,--no-undefined"
|
echo -n "-Wl,-all_load -Wl,--no-undefined"
|
||||||
else
|
else
|
||||||
echo -n "-Wl,--whole-archive ${filesystem} ${thread} "${artifacts_dir}"/lib/libbitcoind.a -Wl,--no-whole-archive"
|
echo -n "-Wl,--whole-archive ${filesystem} ${thread} "${BITCOIN_DIR}"/src/.libs/libbitcoind.a -Wl,--no-whole-archive"
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if test -z "$1" -o x"$1" = x'artifacts_dir'; then
|
|
||||||
echo -n "${artifacts_dir}"
|
|
||||||
fi
|
|
||||||
|
|
||||||
if test -z "$1" -o x"$1" = x'mac_dependencies'; then
|
if test -z "$1" -o x"$1" = x'mac_dependencies'; then
|
||||||
check_mac_build_system
|
check_mac_build_system
|
||||||
echo -n "${mac_response}"
|
echo -n "${mac_response}"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if test -z "$1" -o x"$1" = x'bitcoind'; then
|
if test -z "$1" -o x"$1" = x'bitcoind'; then
|
||||||
echo -n "${artifacts_dir}"/lib/libbitcoind.a
|
echo -n "${BITCOIN_DIR}"/src/.libs/libbitcoind.a
|
||||||
fi
|
fi
|
||||||
|
|
Loading…
Reference in New Issue