wooof
This commit is contained in:
@@ -11,14 +11,19 @@ labels:
|
||||
when:
|
||||
- event: tag
|
||||
|
||||
matrix:
|
||||
repo:
|
||||
- monero
|
||||
- wownero
|
||||
|
||||
steps:
|
||||
- name: patch monero and cache depends
|
||||
- name: patch ${repo} and cache depends
|
||||
image: git.mrcyjanek.net/mrcyjanek/debian:buster
|
||||
commands:
|
||||
- cd monero && git submodule update --init --force && cd ..
|
||||
- ./apply_patches.sh
|
||||
- cd monero/contrib/depends
|
||||
- for i in sources built; do cp "/root/.cache/$i" . -r || true; done
|
||||
- cd ${repo} && git submodule update --init --force && cd ..
|
||||
- ./apply_patches.sh ${repo}
|
||||
- cd ${repo}/contrib/depends
|
||||
- for i in sources built; do cp "/root/.cache/${repo}/$i" . -r || true; done
|
||||
- make download
|
||||
volumes:
|
||||
- /opt/cache/monero_c/dotcache:/root/.cache
|
||||
@@ -26,55 +31,56 @@ steps:
|
||||
image: git.mrcyjanek.net/mrcyjanek/debian:buster
|
||||
commands:
|
||||
- apt update
|
||||
- apt install -y gcc-mingw-w64-x86-64 g++-mingw-w64-x86-64 gperf libtinfo5
|
||||
- ./build_single.sh x86_64-w64-mingw32 -j$(nproc)
|
||||
- apt install -y ccache gcc-mingw-w64-x86-64 g++-mingw-w64-x86-64 gperf libtinfo5
|
||||
- ./build_single.sh ${repo} x86_64-w64-mingw32 -j$(nproc)
|
||||
- name: i686-w64-mingw32
|
||||
image: git.mrcyjanek.net/mrcyjanek/debian:buster
|
||||
commands:
|
||||
- apt update
|
||||
- apt install -y gcc-mingw-w64-i686 g++-mingw-w64-i686 gperf libtinfo5
|
||||
- ./build_single.sh i686-w64-mingw32 -j$(nproc)
|
||||
- apt install -y ccache gcc-mingw-w64-i686 g++-mingw-w64-i686 gperf libtinfo5
|
||||
- ./build_single.sh ${repo} i686-w64-mingw32 -j$(nproc)
|
||||
- name: x86_64-linux-gnu
|
||||
image: git.mrcyjanek.net/mrcyjanek/debian:buster
|
||||
commands:
|
||||
- apt update
|
||||
- apt install -y gcc g++ gperf
|
||||
- ./build_single.sh x86_64-linux-gnu -j$(nproc)
|
||||
- apt install -y ccache gcc g++ gperf
|
||||
- ./build_single.sh ${repo} x86_64-linux-gnu -j$(nproc)
|
||||
- name: i686-linux-gnu
|
||||
image: git.mrcyjanek.net/mrcyjanek/debian:buster
|
||||
commands:
|
||||
- apt update
|
||||
- apt install -y gcc-i686-linux-gnu g++-i686-linux-gnu gperf
|
||||
- ./build_single.sh i686-linux-gnu -j$(nproc)
|
||||
- apt install -y ccache gcc-i686-linux-gnu g++-i686-linux-gnu gperf
|
||||
- ./build_single.sh ${repo} i686-linux-gnu -j$(nproc)
|
||||
- name: aarch64-linux-gnu
|
||||
image: git.mrcyjanek.net/mrcyjanek/debian:buster
|
||||
commands:
|
||||
- apt update
|
||||
- apt install -y gcc-aarch64-linux-gnu g++-aarch64-linux-gnu gperf
|
||||
- ./build_single.sh aarch64-linux-gnu -j$(nproc)
|
||||
- apt install -y ccache gcc-aarch64-linux-gnu g++-aarch64-linux-gnu gperf
|
||||
- ./build_single.sh ${repo} aarch64-linux-gnu -j$(nproc)
|
||||
- name: x86_64-linux-android
|
||||
image: git.mrcyjanek.net/mrcyjanek/debian:buster
|
||||
commands:
|
||||
- apt update
|
||||
- apt install -y libtinfo5 gperf
|
||||
- ./build_single.sh x86_64-linux-android -j$(nproc)
|
||||
- apt install -y ccache libtinfo5 gperf
|
||||
- ./build_single.sh ${repo} x86_64-linux-android -j$(nproc)
|
||||
- name: aarch64-linux-android
|
||||
image: git.mrcyjanek.net/mrcyjanek/debian:buster
|
||||
commands:
|
||||
- apt update
|
||||
- apt install -y libtinfo5 gperf
|
||||
- ./build_single.sh aarch64-linux-android -j$(nproc)
|
||||
- apt install -y ccache libtinfo5 gperf
|
||||
- ./build_single.sh ${repo} aarch64-linux-android -j$(nproc)
|
||||
- name: arm-linux-androideabi
|
||||
image: git.mrcyjanek.net/mrcyjanek/debian:buster
|
||||
commands:
|
||||
- apt update
|
||||
- apt install -y libtinfo5 gperf
|
||||
- ./build_single.sh arm-linux-androideabi -j$(nproc)
|
||||
- apt install -y ccache libtinfo5 gperf
|
||||
- ./build_single.sh ${repo} arm-linux-androideabi -j$(nproc)
|
||||
- name: cache depends
|
||||
image: git.mrcyjanek.net/mrcyjanek/debian:buster
|
||||
commands:
|
||||
- cd monero/contrib/depends
|
||||
- for i in sources built; do cp "$i" "/root/.cache/" -r || true; done
|
||||
- cd ${repo}/contrib/depends
|
||||
- mkdir -p /root/.cache/${repo} || true
|
||||
- for i in sources built; do cp "$i" "/root/.cache/${repo}" -r || true; done
|
||||
volumes:
|
||||
- /opt/cache/monero_c/dotcache:/root/.cache
|
||||
- name: upload artifact
|
||||
|
||||
160
build_single.sh
160
build_single.sh
@@ -1,18 +1,37 @@
|
||||
#!/bin/bash
|
||||
set -e
|
||||
|
||||
HOST_ABI="$1"
|
||||
if [[ "x$HOST_ABI" == "x" ]];
|
||||
repo=$1
|
||||
if [[ "x$repo" == "x" ]];
|
||||
then
|
||||
echo "Usage: $0 $(gcc -dumpmachine) -j$(nproc)"
|
||||
echo "Usage: $0 monero/wownero"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
NPROC="$2"
|
||||
if [[ "x$repo" != "xwownero" && "x$repo" != "xmonero" ]];
|
||||
then
|
||||
echo "Usage: $0 monero/wownero"
|
||||
echo "Invalid target given, only monero and wownero are supported targets"
|
||||
fi
|
||||
|
||||
if [[ ! -d "$repo" ]]
|
||||
then
|
||||
echo "no '$repo' directory found. clone with --recursive or run:"
|
||||
echo "$ git submodule init && git submodule update --force";
|
||||
exit 1
|
||||
fi
|
||||
|
||||
HOST_ABI="$2"
|
||||
if [[ "x$HOST_ABI" == "x" ]];
|
||||
then
|
||||
echo "Usage: $0 monero/wownero $(gcc -dumpmachine) -j$(nproc)"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
NPROC="$3"
|
||||
|
||||
if [[ "x$NPROC" == "x" ]];
|
||||
then
|
||||
echo "Usage: $0 $(gcc -dumpmachine) -j$(nproc)"
|
||||
echo "Usage: $0 monero/wownero $(gcc -dumpmachine) -j$(nproc)"
|
||||
exit 1
|
||||
fi
|
||||
cd $(dirname $0)
|
||||
@@ -33,22 +52,22 @@ case "$HOST_ABI" in
|
||||
export CXX="${HOST_ABI}-g++"
|
||||
;;
|
||||
"x86_64-linux-android")
|
||||
export PATH="$WDIR/monero/contrib/depends/${HOST_ABI}/native/bin/:$PATH"
|
||||
export PATH="$WDIR/$repo/contrib/depends/${HOST_ABI}/native/bin/:$PATH"
|
||||
export CC=${HOST_ABI}-clang
|
||||
export CXX=${HOST_ABI}-clang++
|
||||
;;
|
||||
"i686-linux-android")
|
||||
export PATH="$WDIR/monero/contrib/depends/${HOST_ABI}/native/bin/:$PATH"
|
||||
export PATH="$WDIR/$repo/contrib/depends/${HOST_ABI}/native/bin/:$PATH"
|
||||
export CC=${HOST_ABI}-clang
|
||||
export CXX=${HOST_ABI}-clang++
|
||||
;;
|
||||
"aarch64-linux-android")
|
||||
export PATH="$WDIR/monero/contrib/depends/${HOST_ABI}/native/bin/:$PATH"
|
||||
export PATH="$WDIR/$repo/contrib/depends/${HOST_ABI}/native/bin/:$PATH"
|
||||
export CC=${HOST_ABI}-clang
|
||||
export CXX=${HOST_ABI}-clang++
|
||||
;;
|
||||
"arm-linux-androideabi")
|
||||
export PATH="$WDIR/monero/contrib/depends/${HOST_ABI}/native/bin/:$PATH"
|
||||
export PATH="$WDIR/$repo/contrib/depends/${HOST_ABI}/native/bin/:$PATH"
|
||||
export CC=${HOST_ABI}-clang
|
||||
export CXX=${HOST_ABI}-clang++
|
||||
;;
|
||||
@@ -65,9 +84,9 @@ case "$HOST_ABI" in
|
||||
export CXX=x86_64-w64-mingw32-g++-posix
|
||||
;;
|
||||
"x86_64-apple-darwin11")
|
||||
export PATH="$WDIR/contrib/depends/x86_64-apple-darwin11/native/bin:$PATH"
|
||||
export CC="clang -stdlib=libc++ -target x86_64-apple-darwin11 -mmacosx-version-min=10.7 --sysroot /build/monero/contrib/depends/x86_64-apple-darwin11/native/SDK/ -mlinker-version=609 -B/build/monero/contrib/depends/x86_64-apple-darwin11/native/bin/x86_64-apple-darwin11-"
|
||||
export CXX="clang++ -stdlib=libc++ -target x86_64-apple-darwin11 -mmacosx-version-min=10.7 --sysroot /build/monero/contrib/depends/x86_64-apple-darwin11/native/SDK/ -mlinker-version=609 -B/build/monero/contrib/depends/x86_64-apple-darwin11/native/bin/x86_64-apple-darwin11-"
|
||||
export PATH="$WDIR/$repo/contrib/depends/x86_64-apple-darwin11/native/bin:$PATH"
|
||||
export CC="clang -stdlib=libc++ -target x86_64-apple-darwin11 -mmacosx-version-min=10.7 --sysroot /build/$repo/contrib/depends/x86_64-apple-darwin11/native/SDK/ -mlinker-version=609 -B/build/$repo/contrib/depends/x86_64-apple-darwin11/native/bin/x86_64-apple-darwin11-"
|
||||
export CXX="clang++ -stdlib=libc++ -target x86_64-apple-darwin11 -mmacosx-version-min=10.7 --sysroot /build/$repo/contrib/depends/x86_64-apple-darwin11/native/SDK/ -mlinker-version=609 -B/build/$repo/contrib/depends/x86_64-apple-darwin11/native/bin/x86_64-apple-darwin11-"
|
||||
;;
|
||||
esac
|
||||
|
||||
@@ -84,15 +103,15 @@ then
|
||||
fi
|
||||
|
||||
|
||||
pushd monero/contrib/depends
|
||||
pushd $repo/contrib/depends
|
||||
CC=gcc CXX=g++ make HOST="$HOST_ABI" "$NPROC"
|
||||
popd
|
||||
|
||||
buildType=Release
|
||||
|
||||
rm -rf monero/build/${HOST_ABI} 2>/dev/null || true
|
||||
mkdir -p monero/build/${HOST_ABI}
|
||||
pushd monero/build/${HOST_ABI}
|
||||
rm -rf $repo/build/${HOST_ABI} 2>/dev/null || true
|
||||
mkdir -p $repo/build/${HOST_ABI}
|
||||
pushd $repo/build/${HOST_ABI}
|
||||
case "$HOST_ABI" in
|
||||
"x86_64-linux-gnu")
|
||||
env CC="${CC}" CXX="${CXX}" cmake -DCMAKE_TOOLCHAIN_FILE=$PWD/../../contrib/depends/${HOST_ABI}/share/toolchain.cmake -D USE_DEVICE_TREZOR=OFF -D BUILD_GUI_DEPS=1 -D BUILD_TESTS=OFF -D ARCH="x86-64" -D STATIC=ON -D BUILD_64="ON" -D CMAKE_BUILD_TYPE=$buildType -D ANDROID=false -D BUILD_TAG="linux-x64" -D CMAKE_SYSTEM_NAME="Linux" ../..
|
||||
@@ -132,61 +151,54 @@ pushd monero/build/${HOST_ABI}
|
||||
CC=gcc CXX=g++ make wallet_api $NPROC
|
||||
popd
|
||||
|
||||
for buildType in Release Debug
|
||||
do
|
||||
pushd libbridge
|
||||
rm -rf build/${HOST_ABI} || true
|
||||
mkdir -p build/${HOST_ABI} -p
|
||||
cd build/${HOST_ABI}
|
||||
|
||||
env CC="${CC}" CXX="${CXX}" cmake -DCMAKE_BUILD_TYPE=$buildType -DHOST_ABI=${HOST_ABI} ../..
|
||||
CC="${CC}" CXX="${CXX}" make $NPROC
|
||||
popd
|
||||
pushd libbridge
|
||||
rm -rf build/${HOST_ABI} || true
|
||||
mkdir -p build/${HOST_ABI} -p
|
||||
cd build/${HOST_ABI}
|
||||
|
||||
env CC="${CC}" CXX="${CXX}" cmake -DMONERO_FLAVOR=$repo -DCMAKE_BUILD_TYPE=Debug -DHOST_ABI=${HOST_ABI} ../..
|
||||
CC="${CC}" CXX="${CXX}" make $NPROC
|
||||
popd
|
||||
|
||||
mkdir release 2>/dev/null || true
|
||||
pushd release
|
||||
APPENDIX=""
|
||||
if [[ "x$buildType" == "xDebug" ]];
|
||||
then
|
||||
DEBUG=".DEBUG"
|
||||
fi
|
||||
if [[ "${HOST_ABI}" == "x86_64-w64-mingw32" || "${HOST_ABI}" == "i686-w64-mingw32" ]];
|
||||
then
|
||||
APPENDIX="${APPENDIX}dll"
|
||||
cp ../monero/build/${HOST_ABI}/external/polyseed/libpolyseed.${APPENDIX} ${HOST_ABI}_libpolyseed${DEBUG}.${APPENDIX}
|
||||
rm ${HOST_ABI}_libpolyseed${DEBUG}.${APPENDIX}.xz || true
|
||||
xz -e ${HOST_ABI}_libpolyseed${DEBUG}.${APPENDIX}
|
||||
else
|
||||
APPENDIX="${APPENDIX}so"
|
||||
fi
|
||||
xz -e ../libbridge/build/${HOST_ABI}/libwallet2_api_c.${APPENDIX}
|
||||
mv ../libbridge/build/${HOST_ABI}/libwallet2_api_c.${APPENDIX}.xz ${HOST_ABI}_libwallet2_api_c${DEBUG}.${APPENDIX}.xz
|
||||
# Extra libraries
|
||||
if [[ "$HOST_ABI" == "x86_64-w64-mingw32" || "$HOST_ABI" == "i686-w64-mingw32" ]];
|
||||
then
|
||||
cp /usr/${HOST_ABI}/lib/libwinpthread-1.dll ${HOST_ABI}_libwinpthread-1.dll
|
||||
rm ${HOST_ABI}_libwinpthread-1.dll.xz || true
|
||||
xz -e ${HOST_ABI}_libwinpthread-1.dll
|
||||
####
|
||||
cp /usr/lib/gcc/${HOST_ABI}/8.3-posix/libstdc++-6.dll ${HOST_ABI}_libstdc++-6.dll
|
||||
rm ${HOST_ABI}_libstdc++-6.dll.xz || true
|
||||
xz -e ${HOST_ABI}_libstdc++-6.dll
|
||||
####
|
||||
cp /usr/lib/gcc/${HOST_ABI}/8.3-posix/libssp-0.dll ${HOST_ABI}_libssp-0.dll
|
||||
rm ${HOST_ABI}_libssp-0.dll.xz || true
|
||||
xz -e ${HOST_ABI}_libssp-0.dll
|
||||
fi
|
||||
if [[ "$HOST_ABI" == "x86_64-w64-mingw32" ]];
|
||||
then
|
||||
cp /usr/lib/gcc/${HOST_ABI}/8.3-posix/libgcc_s_seh-1.dll ${HOST_ABI}_libgcc_s_seh-1.dll
|
||||
rm ${HOST_ABI}_libgcc_s_seh-1.dll.xz || true
|
||||
xz -e ${HOST_ABI}_libgcc_s_seh-1.dll
|
||||
fi
|
||||
if [[ "$HOST_ABI" == "i686-w64-mingw32" ]];
|
||||
then
|
||||
cp /usr/lib/gcc/${HOST_ABI}/8.3-posix/libgcc_s_sjlj-1.dll ${HOST_ABI}_libgcc_s_sjlj-1.dll
|
||||
rm ${HOST_ABI}_libgcc_s_sjlj-1.dll.xz || true
|
||||
xz -e ${HOST_ABI}_libgcc_s_sjlj-1.dll
|
||||
fi
|
||||
popd
|
||||
done
|
||||
mkdir -p release/$repo 2>/dev/null || true
|
||||
pushd release/$repo
|
||||
APPENDIX=""
|
||||
if [[ "${HOST_ABI}" == "x86_64-w64-mingw32" || "${HOST_ABI}" == "i686-w64-mingw32" ]];
|
||||
then
|
||||
APPENDIX="${APPENDIX}dll"
|
||||
cp ../../$repo/build/${HOST_ABI}/external/polyseed/libpolyseed.${APPENDIX} ${HOST_ABI}_libpolyseed.${APPENDIX}
|
||||
rm ${HOST_ABI}_libpolyseed.${APPENDIX}.xz || true
|
||||
xz -e ${HOST_ABI}_libpolyseed.${APPENDIX}
|
||||
else
|
||||
APPENDIX="${APPENDIX}so"
|
||||
fi
|
||||
xz -e ../../libbridge/build/${HOST_ABI}/libwallet2_api_c.${APPENDIX}
|
||||
mv ../../libbridge/build/${HOST_ABI}/libwallet2_api_c.${APPENDIX}.xz ${HOST_ABI}_libwallet2_api_c.${APPENDIX}.xz
|
||||
# Extra libraries
|
||||
if [[ "$HOST_ABI" == "x86_64-w64-mingw32" || "$HOST_ABI" == "i686-w64-mingw32" ]];
|
||||
then
|
||||
cp /usr/${HOST_ABI}/lib/libwinpthread-1.dll ${HOST_ABI}_libwinpthread-1.dll
|
||||
rm ${HOST_ABI}_libwinpthread-1.dll.xz || true
|
||||
xz -e ${HOST_ABI}_libwinpthread-1.dll
|
||||
####
|
||||
cp /usr/lib/gcc/${HOST_ABI}/8.3-posix/libstdc++-6.dll ${HOST_ABI}_libstdc++-6.dll
|
||||
rm ${HOST_ABI}_libstdc++-6.dll.xz || true
|
||||
xz -e ${HOST_ABI}_libstdc++-6.dll
|
||||
####
|
||||
cp /usr/lib/gcc/${HOST_ABI}/8.3-posix/libssp-0.dll ${HOST_ABI}_libssp-0.dll
|
||||
rm ${HOST_ABI}_libssp-0.dll.xz || true
|
||||
xz -e ${HOST_ABI}_libssp-0.dll
|
||||
fi
|
||||
if [[ "$HOST_ABI" == "x86_64-w64-mingw32" ]];
|
||||
then
|
||||
cp /usr/lib/gcc/${HOST_ABI}/8.3-posix/libgcc_s_seh-1.dll ${HOST_ABI}_libgcc_s_seh-1.dll
|
||||
rm ${HOST_ABI}_libgcc_s_seh-1.dll.xz || true
|
||||
xz -e ${HOST_ABI}_libgcc_s_seh-1.dll
|
||||
fi
|
||||
if [[ "$HOST_ABI" == "i686-w64-mingw32" ]];
|
||||
then
|
||||
cp /usr/lib/gcc/${HOST_ABI}/8.3-posix/libgcc_s_sjlj-1.dll ${HOST_ABI}_libgcc_s_sjlj-1.dll
|
||||
rm ${HOST_ABI}_libgcc_s_sjlj-1.dll.xz || true
|
||||
xz -e ${HOST_ABI}_libgcc_s_sjlj-1.dll
|
||||
fi
|
||||
popd
|
||||
@@ -21,7 +21,7 @@ add_library( wallet2_api_c
|
||||
src/main/cpp/helpers.cpp
|
||||
src/main/cpp/wallet2_api_c.cpp )
|
||||
|
||||
set(MONERO_DIR ${CMAKE_SOURCE_DIR}/../monero)
|
||||
set(MONERO_DIR ${CMAKE_SOURCE_DIR}/../${MONERO_FLAVOR})
|
||||
set(EXTERNAL_LIBS_DIR ${MONERO_DIR}/contrib/depends/${HOST_ABI})
|
||||
|
||||
############
|
||||
@@ -226,9 +226,15 @@ add_library(hardforks STATIC IMPORTED)
|
||||
set_target_properties(hardforks PROPERTIES IMPORTED_LOCATION
|
||||
${MONERO_DIR}/build/${HOST_ABI}/src/hardforks/libhardforks.a)
|
||||
|
||||
if (${MONERO_FLAVOR} STREQUAL "monero")
|
||||
set(RANDOMX_FLAVOR "randomx")
|
||||
elseif(${MONERO_FLAVOR} STREQUAL "wownero")
|
||||
set(RANDOMX_FLAVOR "randomwow")
|
||||
endif()
|
||||
|
||||
add_library(randomx STATIC IMPORTED)
|
||||
set_target_properties(randomx PROPERTIES IMPORTED_LOCATION
|
||||
${MONERO_DIR}/build/${HOST_ABI}/external/randomx/librandomx.a)
|
||||
${MONERO_DIR}/build/${HOST_ABI}/external/${RANDOMX_FLAVOR}/librandomx.a)
|
||||
|
||||
add_library(rpc_base STATIC IMPORTED)
|
||||
set_target_properties(rpc_base PROPERTIES IMPORTED_LOCATION
|
||||
|
||||
Reference in New Issue
Block a user