mirror of
https://github.com/monero-project/monero-gui.git
synced 2024-11-17 16:28:14 +00:00
Merge pull request #30
3abee20
build: get_platform function reused (Ilya Kitaev)af30cfd
build: added "libunwind_off" config option so it can be built on other distros than Ubuntu (Ilya Kitaev)
This commit is contained in:
commit
d865103a73
4 changed files with 70 additions and 11 deletions
15
build.sh
15
build.sh
|
@ -1,5 +1,6 @@
|
|||
#!/bin/bash
|
||||
|
||||
source ./utils.sh
|
||||
pushd $(pwd)
|
||||
ROOT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
|
||||
MONERO_DIR=monero
|
||||
|
@ -9,9 +10,19 @@ if [ ! -d $MONERO_DIR ]; then
|
|||
fi
|
||||
|
||||
if [ ! -d build ]; then mkdir build; fi
|
||||
cd build
|
||||
|
||||
qmake ../monero-core.pro "CONFIG+=release"
|
||||
CONFIG="CONFIG+=release"
|
||||
|
||||
platform=$(get_platform)
|
||||
if [ "$platform" == "linux" ]; then
|
||||
distro=$(lsb_release -is)
|
||||
if [ "$distro" == "Ubuntu" ]; then
|
||||
CONFIG="$CONFIG libunwind_off"
|
||||
fi
|
||||
fi
|
||||
|
||||
cd build
|
||||
qmake ../monero-core.pro "$CONFIG"
|
||||
make
|
||||
make deploy
|
||||
popd
|
||||
|
|
|
@ -8,6 +8,8 @@ CPU_CORE_COUNT=$(grep -c ^processor /proc/cpuinfo 2>/dev/null || sysctl -n hw.nc
|
|||
pushd $(pwd)
|
||||
ROOT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
|
||||
|
||||
source $ROOT_DIR/utils.sh
|
||||
|
||||
|
||||
INSTALL_DIR=$ROOT_DIR/wallet
|
||||
MONERO_DIR=$ROOT_DIR/monero
|
||||
|
@ -29,19 +31,29 @@ rm -fr $MONERO_DIR/include
|
|||
mkdir -p $MONERO_DIR/build/release
|
||||
pushd $MONERO_DIR/build/release
|
||||
|
||||
if [ "$(uname)" == "Darwin" ]; then
|
||||
# reusing function from "utils.sh"
|
||||
platform=$(get_platform)
|
||||
|
||||
if [ "$platform" == "darwin" ]; then
|
||||
# Do something under Mac OS X platform
|
||||
echo "Configuring build for MacOS.."
|
||||
cmake -D CMAKE_BUILD_TYPE=Release -D STATIC=ON -D BUILD_GUI_DEPS=ON -D INSTALL_VENDORED_LIBUNBOUND=ON -D CMAKE_INSTALL_PREFIX="$MONERO_DIR" ../..
|
||||
elif [ "$(expr substr $(uname -s) 1 5)" == "Linux" ]; then
|
||||
elif [ "$platform" == "linux" ]; then
|
||||
# Do something under GNU/Linux platform
|
||||
PLATFORM="Linux"
|
||||
echo "Configuring build for Linux.."
|
||||
cmake -D CMAKE_BUILD_TYPE=Release -D STATIC=ON -D BUILD_GUI_DEPS=ON -D CMAKE_INSTALL_PREFIX="$MONERO_DIR" ../..
|
||||
elif [ "$(expr substr $(uname -s) 1 10)" == "MINGW64_NT" ]; then
|
||||
elif [ "$platform" == "mingw64" ]; then
|
||||
# Do something under Windows NT platform
|
||||
echo "Configuring build for MINGW64.."
|
||||
cmake -D CMAKE_BUILD_TYPE=Release -D STATIC=ON -D BUILD_GUI_DEPS=ON -D INSTALL_VENDORED_LIBUNBOUND=ON -D CMAKE_INSTALL_PREFIX="$MONERO_DIR" -G "MSYS Makefiles" ../..
|
||||
elif [ "$(expr substr $(uname -s) 1 10)" == "MINGW32_NT" ]; then
|
||||
elif [ "$platform" == "mingw32" ]; then
|
||||
# Do something under Windows NT platform
|
||||
echo "Configuring build for MINGW32.."
|
||||
cmake -D CMAKE_BUILD_TYPE=Release -D STATIC=ON -D BUILD_GUI_DEPS=ON -D INSTALL_VENDORED_LIBUNBOUND=ON -D CMAKE_INSTALL_PREFIX="$MONERO_DIR" -G "MSYS Makefiles" ../..
|
||||
else
|
||||
echo "Unsupported platform: $platform"
|
||||
popd
|
||||
exit 1
|
||||
fi
|
||||
|
||||
|
||||
|
@ -54,10 +66,11 @@ popd
|
|||
# since filename conflict (random.c.obj)
|
||||
# for Linux, we use libunbound shipped with the system, so we don't need to build it
|
||||
|
||||
if [ "$PLATFORM" != "Linux" ]; then
|
||||
if [ "$platform" != "linux" ]; then
|
||||
echo "Building libunbound..."
|
||||
pushd $MONERO_DIR/build/release/external/unbound
|
||||
make -j$CPU_CORE_COUNT
|
||||
# no need to make, it was already built as dependency for libwallet
|
||||
# make -j$CPU_CORE_COUNT
|
||||
make install -j$CPU_CORE_COUNT
|
||||
popd
|
||||
fi
|
||||
|
|
|
@ -86,9 +86,15 @@ linux {
|
|||
-lssl \
|
||||
-lcrypto \
|
||||
-Wl,-Bdynamic \
|
||||
# currently monero has an issue with "static" build and linunwind-dev
|
||||
# -lunwind \
|
||||
-ldl
|
||||
# currently monero has an issue with "static" build and linunwind-dev,
|
||||
# so we link libunwind-dev only for non-Ubuntu distros
|
||||
CONFIG(libunwind_off) {
|
||||
message(Building without libunwind)
|
||||
} else {
|
||||
message(Building with libunwind)
|
||||
LIBS += -Wl,-Bdynamic -lunwind
|
||||
}
|
||||
}
|
||||
|
||||
macx {
|
||||
|
|
29
utils.sh
Executable file
29
utils.sh
Executable file
|
@ -0,0 +1,29 @@
|
|||
#!/bin/bash
|
||||
|
||||
|
||||
function get_platform {
|
||||
local platform="unknown"
|
||||
if [ "$(uname)" == "Darwin" ]; then
|
||||
platform="darwin"
|
||||
elif [ "$(expr substr $(uname -s) 1 5)" == "Linux" ]; then
|
||||
platform="linux"
|
||||
elif [ "$(expr substr $(uname -s) 1 10)" == "MINGW64_NT" ]; then
|
||||
platform="mingw64"
|
||||
elif [ "$(expr substr $(uname -s) 1 10)" == "MINGW32_NT" ]; then
|
||||
platform="mingw32"
|
||||
fi
|
||||
echo "$platform"
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
Loading…
Reference in a new issue