mirror of
https://codeberg.org/nahuhh/wownero
synced 2026-06-17 03:32:05 -04:00
Compare commits
38 Commits
cmake-rewr
...
v10
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
beefa5e62e | ||
|
|
525cda3691 | ||
|
|
9eb34340f4 | ||
|
|
90efe7dee8 | ||
|
|
a9c03bb005 | ||
|
|
04dbdfcd98 | ||
|
|
1520d6a271 | ||
|
|
8e98e5b58a | ||
|
|
fa3856fedf | ||
|
|
47d7d0751e | ||
|
|
75981b8463 | ||
|
|
16c573a507 | ||
|
|
100eebe660 | ||
|
|
671c51d0b6 | ||
|
|
8d71405a59 | ||
|
|
1113f815e1 | ||
|
|
04a5d47e6c | ||
|
|
45f275e9e4 | ||
|
|
4f16bd2b95 | ||
|
|
6049797093 | ||
|
|
78ba621fa3 | ||
|
|
86b17e7dd1 | ||
|
|
eaa511440f | ||
|
|
03af4e871c | ||
|
|
51c8b36ba0 | ||
|
|
9cd125b345 | ||
|
|
707bfe86ad | ||
|
|
6f964b6cfb | ||
|
|
71a2c90fb8 | ||
|
|
9c437b403a | ||
|
|
a67efd0686 | ||
|
|
24948d4c2d | ||
|
|
bd2c97c923 | ||
|
|
974d8db176 | ||
|
|
70811c09c5 | ||
|
|
1196a9253b | ||
|
|
70f8f2386c | ||
|
|
840928cd6b |
1
.github/FUNDING.yml
vendored
1
.github/FUNDING.yml
vendored
@@ -1 +0,0 @@
|
|||||||
custom: https://www.getmonero.org/get-started/contributing/
|
|
||||||
105
.github/workflows/build.yml
vendored
105
.github/workflows/build.yml
vendored
@@ -1,92 +1,79 @@
|
|||||||
name: ci/gh-actions/cli
|
name: ci/gh-actions/cli
|
||||||
|
|
||||||
on:
|
on: [push, pull_request]
|
||||||
push:
|
|
||||||
pull_request:
|
|
||||||
paths-ignore:
|
|
||||||
- 'docs/**'
|
|
||||||
- '**/README.md'
|
|
||||||
|
|
||||||
# The below variables reduce repetitions across similar targets
|
# The below variables reduce repetitions across similar targets
|
||||||
env:
|
env:
|
||||||
REMOVE_BUNDLED_BOOST : rm -rf /usr/local/share/boost
|
REMOVE_BUNDLED_BOOST : rm -rf /usr/local/share/boost
|
||||||
BUILD_DEFAULT_LINUX: |
|
|
||||||
cmake -S . -B build -D ARCH="default" -D BUILD_TESTS=ON -D CMAKE_BUILD_TYPE=Release && cmake --build build -j3
|
|
||||||
APT_INSTALL_LINUX: 'sudo apt -y install build-essential cmake libboost-all-dev miniupnpc libunbound-dev graphviz doxygen libunwind8-dev pkg-config libssl-dev libzmq3-dev libsodium-dev libhidapi-dev libnorm-dev libusb-1.0-0-dev libpgm-dev libprotobuf-dev protobuf-compiler ccache'
|
APT_INSTALL_LINUX: 'sudo apt -y install build-essential cmake libboost-all-dev miniupnpc libunbound-dev graphviz doxygen libunwind8-dev pkg-config libssl-dev libzmq3-dev libsodium-dev libhidapi-dev libnorm-dev libusb-1.0-0-dev libpgm-dev libprotobuf-dev protobuf-compiler ccache'
|
||||||
APT_SET_CONF: |
|
APT_SET_CONF: |
|
||||||
echo "Acquire::Retries \"3\";" | sudo tee -a /etc/apt/apt.conf.d/80-custom
|
echo "Acquire::Retries \"3\";" | sudo tee -a /etc/apt/apt.conf.d/80-custom
|
||||||
echo "Acquire::http::Timeout \"120\";" | sudo tee -a /etc/apt/apt.conf.d/80-custom
|
echo "Acquire::http::Timeout \"120\";" | sudo tee -a /etc/apt/apt.conf.d/80-custom
|
||||||
echo "Acquire::ftp::Timeout \"120\";" | sudo tee -a /etc/apt/apt.conf.d/80-custom
|
echo "Acquire::ftp::Timeout \"120\";" | sudo tee -a /etc/apt/apt.conf.d/80-custom
|
||||||
CCACHE_SETTINGS: |
|
|
||||||
ccache --max-size=150M
|
|
||||||
ccache --set-config=compression=true
|
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
build-macos:
|
build-macos:
|
||||||
runs-on: macOS-latest
|
runs-on: macOS-latest
|
||||||
env:
|
env:
|
||||||
|
CCACHE_COMPRESS: 1
|
||||||
CCACHE_TEMPDIR: /tmp/.ccache-temp
|
CCACHE_TEMPDIR: /tmp/.ccache-temp
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v3
|
- uses: actions/checkout@v1
|
||||||
with:
|
with:
|
||||||
submodules: recursive
|
submodules: recursive
|
||||||
- uses: actions/cache@v3
|
- uses: actions/cache@v2
|
||||||
with:
|
with:
|
||||||
path: /Users/runner/Library/Caches/ccache
|
path: /Users/runner/Library/Caches/ccache
|
||||||
key: ccache-${{ runner.os }}-build-${{ github.sha }}
|
key: ccache-macos-build-${{ github.sha }}
|
||||||
restore-keys: ccache-${{ runner.os }}-build-
|
restore-keys: ccache-macos-build-
|
||||||
- name: install dependencies
|
- name: install dependencies
|
||||||
run: HOMEBREW_NO_AUTO_UPDATE=1 brew install boost hidapi openssl zmq libpgm miniupnpc expat libunwind-headers protobuf ccache
|
run: HOMEBREW_NO_AUTO_UPDATE=1 brew install boost hidapi zmq libpgm miniupnpc ldns expat libunwind-headers protobuf ccache
|
||||||
- name: build
|
- name: build
|
||||||
run: |
|
run: |
|
||||||
${{env.CCACHE_SETTINGS}}
|
ccache --max-size=150M
|
||||||
make -j3
|
make -j3
|
||||||
|
|
||||||
build-windows:
|
build-windows:
|
||||||
runs-on: windows-latest
|
runs-on: windows-latest
|
||||||
env:
|
env:
|
||||||
|
CCACHE_COMPRESS: 1
|
||||||
CCACHE_TEMPDIR: C:\Users\runneradmin\.ccache-temp
|
CCACHE_TEMPDIR: C:\Users\runneradmin\.ccache-temp
|
||||||
CCACHE_DIR: C:\Users\runneradmin\.ccache
|
CCACHE_DIR: C:\Users\runneradmin\.ccache
|
||||||
defaults:
|
defaults:
|
||||||
run:
|
run:
|
||||||
shell: msys2 {0}
|
shell: msys2 {0}
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v3
|
- uses: actions/checkout@v1
|
||||||
with:
|
with:
|
||||||
submodules: recursive
|
submodules: recursive
|
||||||
- uses: actions/cache@v3
|
- uses: actions/cache@v2
|
||||||
with:
|
with:
|
||||||
path: C:\Users\runneradmin\.ccache
|
path: C:\Users\runneradmin\.ccache
|
||||||
key: ccache-${{ runner.os }}-build-${{ github.sha }}
|
key: ccache-windows-build-${{ github.sha }}
|
||||||
restore-keys: ccache-${{ runner.os }}-build-
|
restore-keys: ccache-windows-build-
|
||||||
- uses: msys2/setup-msys2@v2
|
- uses: eine/setup-msys2@v2
|
||||||
with:
|
with:
|
||||||
update: true
|
update: true
|
||||||
install: mingw-w64-x86_64-toolchain make mingw-w64-x86_64-cmake mingw-w64-x86_64-ccache mingw-w64-x86_64-boost mingw-w64-x86_64-openssl mingw-w64-x86_64-zeromq mingw-w64-x86_64-libsodium mingw-w64-x86_64-hidapi mingw-w64-x86_64-protobuf-c mingw-w64-x86_64-libusb mingw-w64-x86_64-unbound git
|
install: mingw-w64-x86_64-toolchain make mingw-w64-x86_64-cmake mingw-w64-x86_64-ccache mingw-w64-x86_64-boost mingw-w64-x86_64-openssl mingw-w64-x86_64-zeromq mingw-w64-x86_64-libsodium mingw-w64-x86_64-hidapi mingw-w64-x86_64-protobuf-c mingw-w64-x86_64-libusb git
|
||||||
- name: build
|
- name: build
|
||||||
run: |
|
run: |
|
||||||
${{env.CCACHE_SETTINGS}}
|
ccache --max-size=150M
|
||||||
make release-static-win64 -j2
|
make release-static-win64 -j2
|
||||||
|
|
||||||
# See the OS labels and monitor deprecations here:
|
|
||||||
# https://docs.github.com/en/actions/using-github-hosted-runners/about-github-hosted-runners#supported-runners-and-hardware-resources
|
|
||||||
|
|
||||||
build-ubuntu:
|
build-ubuntu:
|
||||||
runs-on: ${{ matrix.os }}
|
runs-on: ubuntu-latest
|
||||||
env:
|
env:
|
||||||
|
CCACHE_COMPRESS: 1
|
||||||
CCACHE_TEMPDIR: /tmp/.ccache-temp
|
CCACHE_TEMPDIR: /tmp/.ccache-temp
|
||||||
strategy:
|
|
||||||
matrix:
|
|
||||||
os: [ubuntu-22.04, ubuntu-20.04]
|
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v3
|
- uses: actions/checkout@v1
|
||||||
with:
|
with:
|
||||||
submodules: recursive
|
submodules: recursive
|
||||||
- uses: actions/cache@v3
|
- uses: actions/cache@v2
|
||||||
with:
|
with:
|
||||||
path: ~/.ccache
|
path: ~/.ccache
|
||||||
key: ccache-${{ runner.os }}-build-${{ matrix.os }}-${{ github.sha }}
|
key: ccache-ubuntu-build-${{ github.sha }}
|
||||||
restore-keys: ccache-${{ runner.os }}-build-${{ matrix.os }}
|
restore-keys: ccache-ubuntu-build-
|
||||||
- name: remove bundled boost
|
- name: remove bundled boost
|
||||||
run: ${{env.REMOVE_BUNDLED_BOOST}}
|
run: ${{env.REMOVE_BUNDLED_BOOST}}
|
||||||
- name: set apt conf
|
- name: set apt conf
|
||||||
@@ -97,22 +84,23 @@ jobs:
|
|||||||
run: ${{env.APT_INSTALL_LINUX}}
|
run: ${{env.APT_INSTALL_LINUX}}
|
||||||
- name: build
|
- name: build
|
||||||
run: |
|
run: |
|
||||||
${{env.CCACHE_SETTINGS}}
|
ccache --max-size=150M
|
||||||
${{env.BUILD_DEFAULT_LINUX}}
|
make -j3
|
||||||
|
|
||||||
libwallet-ubuntu:
|
libwallet-ubuntu:
|
||||||
runs-on: ubuntu-20.04
|
runs-on: ubuntu-latest
|
||||||
env:
|
env:
|
||||||
|
CCACHE_COMPRESS: 1
|
||||||
CCACHE_TEMPDIR: /tmp/.ccache-temp
|
CCACHE_TEMPDIR: /tmp/.ccache-temp
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v3
|
- uses: actions/checkout@v1
|
||||||
with:
|
with:
|
||||||
submodules: recursive
|
submodules: recursive
|
||||||
- uses: actions/cache@v3
|
- uses: actions/cache@v2
|
||||||
with:
|
with:
|
||||||
path: ~/.ccache
|
path: ~/.ccache
|
||||||
key: ccache-${{ runner.os }}-libwallet-${{ github.sha }}
|
key: ccache-ubuntu-libwallet-${{ github.sha }}
|
||||||
restore-keys: ccache-${{ runner.os }}-libwallet-
|
restore-keys: ccache-ubuntu-libwallet-
|
||||||
- name: remove bundled boost
|
- name: remove bundled boost
|
||||||
run: ${{env.REMOVE_BUNDLED_BOOST}}
|
run: ${{env.REMOVE_BUNDLED_BOOST}}
|
||||||
- name: set apt conf
|
- name: set apt conf
|
||||||
@@ -123,25 +111,26 @@ jobs:
|
|||||||
run: ${{env.APT_INSTALL_LINUX}}
|
run: ${{env.APT_INSTALL_LINUX}}
|
||||||
- name: build
|
- name: build
|
||||||
run: |
|
run: |
|
||||||
${{env.CCACHE_SETTINGS}}
|
ccache --max-size=150M
|
||||||
cmake .
|
cmake -DBUILD_GUI_DEPS=ON
|
||||||
make wallet_api -j3
|
make -j3
|
||||||
|
|
||||||
test-ubuntu:
|
test-ubuntu:
|
||||||
needs: build-ubuntu
|
needs: build-ubuntu
|
||||||
runs-on: ubuntu-20.04
|
runs-on: ubuntu-latest
|
||||||
env:
|
env:
|
||||||
|
CCACHE_COMPRESS: 1
|
||||||
CCACHE_TEMPDIR: /tmp/.ccache-temp
|
CCACHE_TEMPDIR: /tmp/.ccache-temp
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v3
|
- uses: actions/checkout@v1
|
||||||
with:
|
with:
|
||||||
submodules: recursive
|
submodules: recursive
|
||||||
- name: ccache
|
- name: ccache
|
||||||
uses: actions/cache@v3
|
uses: actions/cache@v2
|
||||||
with:
|
with:
|
||||||
path: ~/.ccache
|
path: ~/.ccache
|
||||||
key: ccache-${{ runner.os }}-build-ubuntu-latest-${{ github.sha }}
|
key: test-ubuntu-ccache-${{ github.sha }}
|
||||||
restore-keys: ccache-${{ runner.os }}-build-ubuntu-latest
|
restore-keys: test-ubuntu-ccache-
|
||||||
- name: remove bundled boost
|
- name: remove bundled boost
|
||||||
run: ${{env.REMOVE_BUNDLED_BOOST}}
|
run: ${{env.REMOVE_BUNDLED_BOOST}}
|
||||||
- name: set apt conf
|
- name: set apt conf
|
||||||
@@ -151,15 +140,16 @@ jobs:
|
|||||||
- name: install monero dependencies
|
- name: install monero dependencies
|
||||||
run: ${{env.APT_INSTALL_LINUX}}
|
run: ${{env.APT_INSTALL_LINUX}}
|
||||||
- name: install Python dependencies
|
- name: install Python dependencies
|
||||||
run: pip install requests psutil monotonic zmq deepdiff
|
run: pip install requests psutil monotonic
|
||||||
- name: tests
|
- name: tests
|
||||||
env:
|
env:
|
||||||
CTEST_OUTPUT_ON_FAILURE: ON
|
CTEST_OUTPUT_ON_FAILURE: ON
|
||||||
DNS_PUBLIC: tcp://9.9.9.9
|
|
||||||
run: |
|
run: |
|
||||||
${{env.CCACHE_SETTINGS}}
|
ccache --max-size=150M
|
||||||
${{env.BUILD_DEFAULT_LINUX}}
|
DIR_BUILD="build/ci/release"
|
||||||
cmake --build build --target test
|
DIR_SRC="`pwd`"
|
||||||
|
mkdir -p "${DIR_BUILD}" && cd "${DIR_BUILD}"
|
||||||
|
cmake -S "${DIR_SRC}" -D ARCH="default" -D BUILD_SHARED_LIBS=ON -D BUILD_TESTS=ON -D CMAKE_BUILD_TYPE=release && make -j3 && make test
|
||||||
|
|
||||||
# ARCH="default" (not "native") ensures, that a different execution host can execute binaries compiled elsewhere.
|
# ARCH="default" (not "native") ensures, that a different execution host can execute binaries compiled elsewhere.
|
||||||
# BUILD_SHARED_LIBS=ON speeds up the linkage part a bit, reduces size, and is the only place where the dynamic linkage is tested.
|
# BUILD_SHARED_LIBS=ON speeds up the linkage part a bit, reduces size, and is the only place where the dynamic linkage is tested.
|
||||||
@@ -167,9 +157,8 @@ jobs:
|
|||||||
source-archive:
|
source-archive:
|
||||||
runs-on: ubuntu-20.04
|
runs-on: ubuntu-20.04
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v3
|
- uses: actions/checkout@v1
|
||||||
with:
|
with:
|
||||||
fetch-depth: 0
|
|
||||||
submodules: recursive
|
submodules: recursive
|
||||||
- name: archive
|
- name: archive
|
||||||
run: |
|
run: |
|
||||||
@@ -178,7 +167,7 @@ jobs:
|
|||||||
export OUTPUT="$VERSION.tar"
|
export OUTPUT="$VERSION.tar"
|
||||||
echo "OUTPUT=$OUTPUT" >> $GITHUB_ENV
|
echo "OUTPUT=$OUTPUT" >> $GITHUB_ENV
|
||||||
/home/runner/.local/bin/git-archive-all --prefix "$VERSION/" --force-submodules "$OUTPUT"
|
/home/runner/.local/bin/git-archive-all --prefix "$VERSION/" --force-submodules "$OUTPUT"
|
||||||
- uses: actions/upload-artifact@v3
|
- uses: actions/upload-artifact@v2
|
||||||
with:
|
with:
|
||||||
name: ${{ env.OUTPUT }}
|
name: ${{ env.OUTPUT }}
|
||||||
path: /home/runner/work/monero/monero/${{ env.OUTPUT }}
|
path: /home/runner/work/monero/monero/${{ env.OUTPUT }}
|
||||||
|
|||||||
73
.github/workflows/depends.yml
vendored
73
.github/workflows/depends.yml
vendored
@@ -1,25 +1,12 @@
|
|||||||
name: ci/gh-actions/depends
|
name: ci/gh-actions/depends
|
||||||
|
|
||||||
on:
|
on: [push, pull_request]
|
||||||
push:
|
|
||||||
pull_request:
|
|
||||||
paths-ignore:
|
|
||||||
- 'docs/**'
|
|
||||||
- '**/README.md'
|
|
||||||
|
|
||||||
env:
|
|
||||||
APT_SET_CONF: |
|
|
||||||
echo "Acquire::Retries \"3\";" | sudo tee -a /etc/apt/apt.conf.d/80-custom
|
|
||||||
echo "Acquire::http::Timeout \"120\";" | sudo tee -a /etc/apt/apt.conf.d/80-custom
|
|
||||||
echo "Acquire::ftp::Timeout \"120\";" | sudo tee -a /etc/apt/apt.conf.d/80-custom
|
|
||||||
CCACHE_SETTINGS: |
|
|
||||||
ccache --max-size=150M
|
|
||||||
ccache --set-config=compression=true
|
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
build-cross:
|
build-macos:
|
||||||
runs-on: ubuntu-20.04
|
runs-on: ubuntu-18.04
|
||||||
env:
|
env:
|
||||||
|
CCACHE_COMPRESS: 1
|
||||||
CCACHE_TEMPDIR: /tmp/.ccache-temp
|
CCACHE_TEMPDIR: /tmp/.ccache-temp
|
||||||
strategy:
|
strategy:
|
||||||
fail-fast: false
|
fail-fast: false
|
||||||
@@ -36,58 +23,50 @@ jobs:
|
|||||||
packages: "python3 gperf g++-aarch64-linux-gnu"
|
packages: "python3 gperf g++-aarch64-linux-gnu"
|
||||||
- name: "i686 Win"
|
- name: "i686 Win"
|
||||||
host: "i686-w64-mingw32"
|
host: "i686-w64-mingw32"
|
||||||
packages: "python3 g++-mingw-w64-i686"
|
packages: "python3 g++-mingw-w64-i686 qttools5-dev-tools"
|
||||||
- name: "i686 Linux"
|
- name: "i686 Linux"
|
||||||
host: "i686-pc-linux-gnu"
|
host: "i686-pc-linux-gnu"
|
||||||
packages: "gperf cmake g++-multilib python3-zmq"
|
packages: "gperf cmake g++-multilib python3-zmq"
|
||||||
- name: "Win64"
|
- name: "Win64"
|
||||||
host: "x86_64-w64-mingw32"
|
host: "x86_64-w64-mingw32"
|
||||||
packages: "cmake python3 g++-mingw-w64-x86-64"
|
packages: "cmake python3 g++-mingw-w64-x86-64 qttools5-dev-tools"
|
||||||
- name: "x86_64 Linux"
|
- name: "x86_64 Linux"
|
||||||
host: "x86_64-unknown-linux-gnu"
|
host: "x86_64-unknown-linux-gnu"
|
||||||
packages: "gperf cmake python3-zmq libdbus-1-dev libharfbuzz-dev"
|
packages: "gperf cmake python3-zmq libdbus-1-dev libharfbuzz-dev"
|
||||||
- name: "Cross-Mac x86_64"
|
- name: "Cross-Mac"
|
||||||
host: "x86_64-apple-darwin11"
|
host: "x86_64-apple-darwin11"
|
||||||
packages: "cmake imagemagick libcap-dev librsvg2-bin libz-dev libbz2-dev libtiff-tools python-dev python3-setuptools-git"
|
packages: "cmake imagemagick libcap-dev librsvg2-bin libz-dev libbz2-dev libtiff-tools python-dev python3-setuptools-git"
|
||||||
- name: "Cross-Mac aarch64"
|
osx_sdk: "10.11"
|
||||||
host: "aarch64-apple-darwin11"
|
|
||||||
packages: "cmake imagemagick libcap-dev librsvg2-bin libz-dev libbz2-dev libtiff-tools python-dev python3-setuptools-git"
|
|
||||||
- name: "x86_64 Freebsd"
|
- name: "x86_64 Freebsd"
|
||||||
host: "x86_64-unknown-freebsd"
|
host: "x86_64-unknown-freebsd"
|
||||||
packages: "clang-8 gperf cmake python3-zmq libdbus-1-dev libharfbuzz-dev"
|
packages: "clang-8 gperf cmake python3-zmq libdbus-1-dev libharfbuzz-dev"
|
||||||
name: ${{ matrix.toolchain.name }}
|
name: ${{ matrix.toolchain.name }}
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v3
|
- uses: actions/checkout@v1
|
||||||
with:
|
with:
|
||||||
fetch-depth: 0
|
|
||||||
submodules: recursive
|
submodules: recursive
|
||||||
# Most volatile cache
|
|
||||||
- name: ccache
|
- name: ccache
|
||||||
uses: actions/cache@v3
|
uses: actions/cache@v2
|
||||||
with:
|
with:
|
||||||
path: ~/.ccache
|
path: |
|
||||||
|
~/.ccache
|
||||||
|
contrib/depends/built
|
||||||
|
contrib/depends/sdk-sources
|
||||||
key: ccache-${{ matrix.toolchain.host }}-${{ github.sha }}
|
key: ccache-${{ matrix.toolchain.host }}-${{ github.sha }}
|
||||||
restore-keys: ccache-${{ matrix.toolchain.host }}-
|
restore-keys: ccache-${{ matrix.toolchain.host }}-
|
||||||
# Less volatile cache
|
|
||||||
- name: depends cache
|
|
||||||
uses: actions/cache@v3
|
|
||||||
with:
|
|
||||||
path: contrib/depends/built
|
|
||||||
key: depends-${{ matrix.toolchain.host }}-${{ hashFiles('contrib/depends/packages/*') }}
|
|
||||||
restore-keys: |
|
|
||||||
depends-${{ matrix.toolchain.host }}-${{ hashFiles('contrib/depends/packages/*') }}
|
|
||||||
depends-${{ matrix.toolchain.host }}-
|
|
||||||
# Static cache
|
|
||||||
- name: OSX SDK cache
|
|
||||||
uses: actions/cache@v3
|
|
||||||
with:
|
|
||||||
path: contrib/depends/sdk-sources
|
|
||||||
key: sdk-${{ matrix.toolchain.host }}-${{ matrix.toolchain.osx_sdk }}
|
|
||||||
restore-keys: sdk-${{ matrix.toolchain.host }}-${{ matrix.toolchain.osx_sdk }}
|
|
||||||
- name: set apt conf
|
- name: set apt conf
|
||||||
run: ${{env.APT_SET_CONF}}
|
run: |
|
||||||
|
echo "Acquire::Retries \"3\";" | sudo tee -a /etc/apt/apt.conf.d/80-custom
|
||||||
|
echo "Acquire::http::Timeout \"120\";" | sudo tee -a /etc/apt/apt.conf.d/80-custom
|
||||||
|
echo "Acquire::ftp::Timeout \"120\";" | sudo tee -a /etc/apt/apt.conf.d/80-custom
|
||||||
- name: install dependencies
|
- name: install dependencies
|
||||||
run: sudo apt update; sudo apt -y install build-essential libtool cmake autotools-dev automake pkg-config bsdmainutils curl git ca-certificates ccache ${{ matrix.toolchain.packages }}
|
run: sudo apt update; sudo apt -y install build-essential libtool cmake autotools-dev automake pkg-config bsdmainutils curl git ca-certificates ccache ${{ matrix.toolchain.packages }}
|
||||||
|
- name: prepare apple-darwin11
|
||||||
|
if: ${{ matrix.toolchain.host == 'x86_64-apple-darwin11' }}
|
||||||
|
run: |
|
||||||
|
mkdir -p contrib/depends/SDKs contrib/depends/sdk-sources
|
||||||
|
if [ ! -f contrib/depends/sdk-sources/MacOSX${{ matrix.toolchain.osx_sdk }}.sdk.tar.gz ]; then curl --location --fail https://bitcoincore.org/depends-sources/sdks/MacOSX${{ matrix.toolchain.osx_sdk }}.sdk.tar.gz -o contrib/depends/sdk-sources/MacOSX${{ matrix.toolchain.osx_sdk }}.sdk.tar.gz; fi
|
||||||
|
if [ -f contrib/depends/sdk-sources/MacOSX${{ matrix.toolchain.osx_sdk }}.sdk.tar.gz ]; then tar -C contrib/depends/SDKs -xf contrib/depends/sdk-sources/MacOSX${{ matrix.toolchain.osx_sdk }}.sdk.tar.gz; fi
|
||||||
- name: prepare w64-mingw32
|
- name: prepare w64-mingw32
|
||||||
if: ${{ matrix.toolchain.host == 'x86_64-w64-mingw32' || matrix.toolchain.host == 'i686-w64-mingw32' }}
|
if: ${{ matrix.toolchain.host == 'x86_64-w64-mingw32' || matrix.toolchain.host == 'i686-w64-mingw32' }}
|
||||||
run: |
|
run: |
|
||||||
@@ -95,9 +74,9 @@ jobs:
|
|||||||
sudo update-alternatives --set ${{ matrix.toolchain.host }}-gcc $(which ${{ matrix.toolchain.host }}-gcc-posix)
|
sudo update-alternatives --set ${{ matrix.toolchain.host }}-gcc $(which ${{ matrix.toolchain.host }}-gcc-posix)
|
||||||
- name: build
|
- name: build
|
||||||
run: |
|
run: |
|
||||||
${{env.CCACHE_SETTINGS}}
|
ccache --max-size=150M
|
||||||
make depends target=${{ matrix.toolchain.host }} -j2
|
make depends target=${{ matrix.toolchain.host }} -j2
|
||||||
- uses: actions/upload-artifact@v3
|
- uses: actions/upload-artifact@v2
|
||||||
if: ${{ matrix.toolchain.host == 'x86_64-w64-mingw32' || matrix.toolchain.host == 'x86_64-apple-darwin11' || matrix.toolchain.host == 'x86_64-unknown-linux-gnu' }}
|
if: ${{ matrix.toolchain.host == 'x86_64-w64-mingw32' || matrix.toolchain.host == 'x86_64-apple-darwin11' || matrix.toolchain.host == 'x86_64-unknown-linux-gnu' }}
|
||||||
with:
|
with:
|
||||||
name: ${{ matrix.toolchain.name }}
|
name: ${{ matrix.toolchain.name }}
|
||||||
|
|||||||
49
.github/workflows/gitian.yml
vendored
49
.github/workflows/gitian.yml
vendored
@@ -1,49 +0,0 @@
|
|||||||
name: ci/gh-actions/gitian
|
|
||||||
|
|
||||||
on:
|
|
||||||
push:
|
|
||||||
tags:
|
|
||||||
- '*'
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
build-gitian:
|
|
||||||
runs-on: ubuntu-20.04
|
|
||||||
strategy:
|
|
||||||
fail-fast: false
|
|
||||||
matrix:
|
|
||||||
operating-system:
|
|
||||||
- name: "Linux"
|
|
||||||
option: "l"
|
|
||||||
- name: "Windows"
|
|
||||||
option: "w"
|
|
||||||
- name: "Android"
|
|
||||||
option: "a"
|
|
||||||
- name: "FreeBSD"
|
|
||||||
option: "f"
|
|
||||||
- name: "macOS"
|
|
||||||
option: "m"
|
|
||||||
name: ${{ matrix.operating-system.name }}
|
|
||||||
steps:
|
|
||||||
- name: prepare
|
|
||||||
run: |
|
|
||||||
sudo apt update
|
|
||||||
curl -O https://raw.githubusercontent.com/monero-project/monero/${{ github.ref_name }}/contrib/gitian/gitian-build.py
|
|
||||||
chmod +x gitian-build.py
|
|
||||||
- name: setup
|
|
||||||
run: |
|
|
||||||
./gitian-build.py --setup --docker github-actions ${{ github.ref_name }}
|
|
||||||
- name: build
|
|
||||||
run: |
|
|
||||||
./gitian-build.py --docker --detach-sign --no-commit --build -j 3 -o ${{ matrix.operating-system.option }} github-actions ${{ github.ref_name }}
|
|
||||||
- name: post build
|
|
||||||
run: |
|
|
||||||
cd out/${{ github.ref_name }}
|
|
||||||
shasum -a256 *
|
|
||||||
echo \`\`\` >> $GITHUB_STEP_SUMMARY
|
|
||||||
shasum -a256 * >> $GITHUB_STEP_SUMMARY
|
|
||||||
echo \`\`\` >> $GITHUB_STEP_SUMMARY
|
|
||||||
- uses: actions/upload-artifact@v3
|
|
||||||
with:
|
|
||||||
name: ${{ matrix.operating-system.name }}
|
|
||||||
path: |
|
|
||||||
out/${{ github.ref_name }}/*
|
|
||||||
8
.gitignore
vendored
8
.gitignore
vendored
@@ -24,12 +24,6 @@ external/miniupnpc/Makefile
|
|||||||
miniupnpcstrings.h
|
miniupnpcstrings.h
|
||||||
version/
|
version/
|
||||||
ClangBuildAnalyzerSession.txt
|
ClangBuildAnalyzerSession.txt
|
||||||
|
|
||||||
# gitian
|
|
||||||
contrib/gitian/builder/
|
|
||||||
contrib/gitian/docker/
|
|
||||||
contrib/gitian/sigs/
|
|
||||||
|
|
||||||
# Created by https://www.gitignore.io
|
# Created by https://www.gitignore.io
|
||||||
|
|
||||||
### C++ ###
|
### C++ ###
|
||||||
@@ -76,8 +70,6 @@ cmake-build-debug/
|
|||||||
# KDE directory preferences
|
# KDE directory preferences
|
||||||
.directory
|
.directory
|
||||||
|
|
||||||
### VSCode ###
|
|
||||||
.vscode/
|
|
||||||
|
|
||||||
### Eclipse ###
|
### Eclipse ###
|
||||||
*.pydevproject
|
*.pydevproject
|
||||||
|
|||||||
26
.gitmodules
vendored
26
.gitmodules
vendored
@@ -1,12 +1,18 @@
|
|||||||
[submodule "external/trezor-common"]
|
[submodule "external/unbound"]
|
||||||
active = false
|
path = external/unbound
|
||||||
path = external/trezor-common
|
url = https://github.com/monero-project/unbound
|
||||||
url = https://github.com/trezor/trezor-common.git
|
branch = monero
|
||||||
|
[submodule "external/miniupnp"]
|
||||||
|
path = external/miniupnp
|
||||||
|
url = https://github.com/miniupnp/miniupnp
|
||||||
|
[submodule "external/rapidjson"]
|
||||||
|
path = external/rapidjson
|
||||||
|
url = https://github.com/Tencent/rapidjson
|
||||||
[submodule "external/supercop"]
|
[submodule "external/supercop"]
|
||||||
path = external/supercop
|
path = external/supercop
|
||||||
url = https://git.wownero.com/dsc/supercop.git
|
url = https://github.com/monero-project/supercop
|
||||||
branch = cmake-rewrite
|
branch = monero
|
||||||
[submodule "external/randomwow"]
|
[submodule "external/RandomWOW"]
|
||||||
path = external/randomwow
|
path = external/RandomWOW
|
||||||
url = https://git.wownero.com/dsc/randomwow.git
|
url = https://git.wownero.com/wownero/RandomWOW
|
||||||
branch = cmake-rewrite
|
branch = 1.1.9-wow
|
||||||
|
|||||||
1240
CMakeLists.txt
1240
CMakeLists.txt
File diff suppressed because it is too large
Load Diff
@@ -1,4 +1,4 @@
|
|||||||
# Portions Copyright (c) 2017-2022, The Monero Project
|
# Portions Copyright (c) 2017-2020, The Monero Project
|
||||||
# This file is based off of the https://code.google.com/archive/p/ios-cmake/
|
# This file is based off of the https://code.google.com/archive/p/ios-cmake/
|
||||||
# It has been altered for Monero iOS development
|
# It has been altered for Monero iOS development
|
||||||
#
|
#
|
||||||
|
|||||||
181
Dockerfile
181
Dockerfile
@@ -1,45 +1,192 @@
|
|||||||
# Multistage docker build, requires docker 17.05
|
# Multistage docker build, requires docker 17.05
|
||||||
|
|
||||||
# builder stage
|
# builder stage
|
||||||
FROM ubuntu:20.04 as builder
|
FROM ubuntu:16.04 as builder
|
||||||
|
|
||||||
RUN set -ex && \
|
RUN set -ex && \
|
||||||
apt-get update && \
|
apt-get update && \
|
||||||
DEBIAN_FRONTEND=noninteractive apt-get --no-install-recommends --yes install \
|
apt-get --no-install-recommends --yes install \
|
||||||
automake \
|
|
||||||
autotools-dev \
|
|
||||||
bsdmainutils \
|
|
||||||
build-essential \
|
|
||||||
ca-certificates \
|
ca-certificates \
|
||||||
ccache \
|
|
||||||
cmake \
|
cmake \
|
||||||
curl \
|
g++ \
|
||||||
git \
|
make \
|
||||||
libtool \
|
|
||||||
pkg-config \
|
pkg-config \
|
||||||
gperf
|
graphviz \
|
||||||
|
doxygen \
|
||||||
|
git \
|
||||||
|
curl \
|
||||||
|
libtool-bin \
|
||||||
|
autoconf \
|
||||||
|
automake \
|
||||||
|
bzip2 \
|
||||||
|
xsltproc \
|
||||||
|
gperf \
|
||||||
|
unzip
|
||||||
|
|
||||||
|
WORKDIR /usr/local
|
||||||
|
|
||||||
|
ENV CFLAGS='-fPIC'
|
||||||
|
ENV CXXFLAGS='-fPIC'
|
||||||
|
|
||||||
|
#Cmake
|
||||||
|
ARG CMAKE_VERSION=3.14.6
|
||||||
|
ARG CMAKE_VERSION_DOT=v3.14
|
||||||
|
ARG CMAKE_HASH=4e8ea11cabe459308671b476469eace1622e770317a15951d7b55a82ccaaccb9
|
||||||
|
RUN set -ex \
|
||||||
|
&& curl -s -O https://cmake.org/files/${CMAKE_VERSION_DOT}/cmake-${CMAKE_VERSION}.tar.gz \
|
||||||
|
&& echo "${CMAKE_HASH} cmake-${CMAKE_VERSION}.tar.gz" | sha256sum -c \
|
||||||
|
&& tar -xzf cmake-${CMAKE_VERSION}.tar.gz \
|
||||||
|
&& cd cmake-${CMAKE_VERSION} \
|
||||||
|
&& ./configure \
|
||||||
|
&& make \
|
||||||
|
&& make install
|
||||||
|
|
||||||
|
## Boost
|
||||||
|
ARG BOOST_VERSION=1_70_0
|
||||||
|
ARG BOOST_VERSION_DOT=1.70.0
|
||||||
|
ARG BOOST_HASH=430ae8354789de4fd19ee52f3b1f739e1fba576f0aded0897c3c2bc00fb38778
|
||||||
|
RUN set -ex \
|
||||||
|
&& curl -s -L -o boost_${BOOST_VERSION}.tar.bz2 https://downloads.sourceforge.net/project/boost/boost/${BOOST_VERSION_DOT}/boost_${BOOST_VERSION}.tar.bz2 \
|
||||||
|
&& echo "${BOOST_HASH} boost_${BOOST_VERSION}.tar.bz2" | sha256sum -c \
|
||||||
|
&& tar -xvf boost_${BOOST_VERSION}.tar.bz2 \
|
||||||
|
&& cd boost_${BOOST_VERSION} \
|
||||||
|
&& ./bootstrap.sh \
|
||||||
|
&& ./b2 --build-type=minimal link=static runtime-link=static --with-chrono --with-date_time --with-filesystem --with-program_options --with-regex --with-serialization --with-system --with-thread --with-locale threading=multi threadapi=pthread cflags="$CFLAGS" cxxflags="$CXXFLAGS" stage
|
||||||
|
ENV BOOST_ROOT /usr/local/boost_${BOOST_VERSION}
|
||||||
|
|
||||||
|
# OpenSSL
|
||||||
|
ARG OPENSSL_VERSION=1.1.1i
|
||||||
|
ARG OPENSSL_HASH=e8be6a35fe41d10603c3cc635e93289ed00bf34b79671a3a4de64fcee00d5242
|
||||||
|
RUN set -ex \
|
||||||
|
&& curl -s -O https://www.openssl.org/source/openssl-${OPENSSL_VERSION}.tar.gz \
|
||||||
|
&& echo "${OPENSSL_HASH} openssl-${OPENSSL_VERSION}.tar.gz" | sha256sum -c \
|
||||||
|
&& tar -xzf openssl-${OPENSSL_VERSION}.tar.gz \
|
||||||
|
&& cd openssl-${OPENSSL_VERSION} \
|
||||||
|
&& ./Configure linux-x86_64 no-shared --static "$CFLAGS" \
|
||||||
|
&& make build_generated \
|
||||||
|
&& make libcrypto.a \
|
||||||
|
&& make install
|
||||||
|
ENV OPENSSL_ROOT_DIR=/usr/local/openssl-${OPENSSL_VERSION}
|
||||||
|
|
||||||
|
# ZMQ
|
||||||
|
ARG ZMQ_VERSION=v4.3.2
|
||||||
|
ARG ZMQ_HASH=a84ffa12b2eb3569ced199660bac5ad128bff1f0
|
||||||
|
RUN set -ex \
|
||||||
|
&& git clone https://github.com/zeromq/libzmq.git -b ${ZMQ_VERSION} \
|
||||||
|
&& cd libzmq \
|
||||||
|
&& test `git rev-parse HEAD` = ${ZMQ_HASH} || exit 1 \
|
||||||
|
&& ./autogen.sh \
|
||||||
|
&& ./configure --enable-static --disable-shared \
|
||||||
|
&& make \
|
||||||
|
&& make install \
|
||||||
|
&& ldconfig
|
||||||
|
|
||||||
|
# zmq.hpp
|
||||||
|
ARG CPPZMQ_VERSION=v4.4.1
|
||||||
|
ARG CPPZMQ_HASH=f5b36e563598d48fcc0d82e589d3596afef945ae
|
||||||
|
RUN set -ex \
|
||||||
|
&& git clone https://github.com/zeromq/cppzmq.git -b ${CPPZMQ_VERSION} \
|
||||||
|
&& cd cppzmq \
|
||||||
|
&& test `git rev-parse HEAD` = ${CPPZMQ_HASH} || exit 1 \
|
||||||
|
&& mv *.hpp /usr/local/include
|
||||||
|
|
||||||
|
# Readline
|
||||||
|
ARG READLINE_VERSION=8.0
|
||||||
|
ARG READLINE_HASH=e339f51971478d369f8a053a330a190781acb9864cf4c541060f12078948e461
|
||||||
|
RUN set -ex \
|
||||||
|
&& curl -s -O https://ftp.gnu.org/gnu/readline/readline-${READLINE_VERSION}.tar.gz \
|
||||||
|
&& echo "${READLINE_HASH} readline-${READLINE_VERSION}.tar.gz" | sha256sum -c \
|
||||||
|
&& tar -xzf readline-${READLINE_VERSION}.tar.gz \
|
||||||
|
&& cd readline-${READLINE_VERSION} \
|
||||||
|
&& ./configure \
|
||||||
|
&& make \
|
||||||
|
&& make install
|
||||||
|
|
||||||
|
# Sodium
|
||||||
|
ARG SODIUM_VERSION=1.0.18
|
||||||
|
ARG SODIUM_HASH=4f5e89fa84ce1d178a6765b8b46f2b6f91216677
|
||||||
|
RUN set -ex \
|
||||||
|
&& git clone https://github.com/jedisct1/libsodium.git -b ${SODIUM_VERSION} \
|
||||||
|
&& cd libsodium \
|
||||||
|
&& test `git rev-parse HEAD` = ${SODIUM_HASH} || exit 1 \
|
||||||
|
&& ./autogen.sh \
|
||||||
|
&& ./configure \
|
||||||
|
&& make \
|
||||||
|
&& make check \
|
||||||
|
&& make install
|
||||||
|
|
||||||
|
# Udev
|
||||||
|
ARG UDEV_VERSION=v3.2.10
|
||||||
|
ARG UDEV_HASH=be7068512c7512fa67c64fbff3472ab140c277c8
|
||||||
|
RUN set -ex \
|
||||||
|
&& git clone https://github.com/gentoo/eudev -b ${UDEV_VERSION} \
|
||||||
|
&& cd eudev \
|
||||||
|
&& test `git rev-parse HEAD` = ${UDEV_HASH} || exit 1 \
|
||||||
|
&& ./autogen.sh \
|
||||||
|
&& ./configure --disable-gudev --disable-introspection --disable-hwdb --disable-manpages --disable-shared \
|
||||||
|
&& make \
|
||||||
|
&& make install
|
||||||
|
|
||||||
|
# Libusb
|
||||||
|
ARG USB_VERSION=v1.0.22
|
||||||
|
ARG USB_HASH=0034b2afdcdb1614e78edaa2a9e22d5936aeae5d
|
||||||
|
RUN set -ex \
|
||||||
|
&& git clone https://github.com/libusb/libusb.git -b ${USB_VERSION} \
|
||||||
|
&& cd libusb \
|
||||||
|
&& test `git rev-parse HEAD` = ${USB_HASH} || exit 1 \
|
||||||
|
&& ./autogen.sh \
|
||||||
|
&& ./configure --disable-shared \
|
||||||
|
&& make \
|
||||||
|
&& make install
|
||||||
|
|
||||||
|
# Hidapi
|
||||||
|
ARG HIDAPI_VERSION=hidapi-0.8.0-rc1
|
||||||
|
ARG HIDAPI_HASH=40cf516139b5b61e30d9403a48db23d8f915f52c
|
||||||
|
RUN set -ex \
|
||||||
|
&& git clone https://github.com/signal11/hidapi -b ${HIDAPI_VERSION} \
|
||||||
|
&& cd hidapi \
|
||||||
|
&& test `git rev-parse HEAD` = ${HIDAPI_HASH} || exit 1 \
|
||||||
|
&& ./bootstrap \
|
||||||
|
&& ./configure --enable-static --disable-shared \
|
||||||
|
&& make \
|
||||||
|
&& make install
|
||||||
|
|
||||||
|
# Protobuf
|
||||||
|
ARG PROTOBUF_VERSION=v3.7.1
|
||||||
|
ARG PROTOBUF_HASH=6973c3a5041636c1d8dc5f7f6c8c1f3c15bc63d6
|
||||||
|
RUN set -ex \
|
||||||
|
&& git clone https://github.com/protocolbuffers/protobuf -b ${PROTOBUF_VERSION} \
|
||||||
|
&& cd protobuf \
|
||||||
|
&& test `git rev-parse HEAD` = ${PROTOBUF_HASH} || exit 1 \
|
||||||
|
&& git submodule update --init --recursive \
|
||||||
|
&& ./autogen.sh \
|
||||||
|
&& ./configure --enable-static --disable-shared \
|
||||||
|
&& make \
|
||||||
|
&& make install \
|
||||||
|
&& ldconfig
|
||||||
|
|
||||||
WORKDIR /src
|
WORKDIR /src
|
||||||
COPY . .
|
COPY . .
|
||||||
|
|
||||||
|
ENV USE_SINGLE_BUILDDIR=1
|
||||||
ARG NPROC
|
ARG NPROC
|
||||||
RUN set -ex && \
|
RUN set -ex && \
|
||||||
git submodule init && git submodule update && \
|
git submodule init && git submodule update && \
|
||||||
rm -rf build && \
|
rm -rf build && \
|
||||||
if [ -z "$NPROC" ] ; \
|
if [ -z "$NPROC" ] ; \
|
||||||
then make -j$(nproc) depends target=x86_64-linux-gnu ; \
|
then make -j$(nproc) release-static ; \
|
||||||
else make -j$NPROC depends target=x86_64-linux-gnu ; \
|
else make -j$NPROC release-static ; \
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# runtime stage
|
# runtime stage
|
||||||
FROM ubuntu:20.04
|
FROM ubuntu:16.04
|
||||||
|
|
||||||
RUN set -ex && \
|
RUN set -ex && \
|
||||||
apt-get update && \
|
apt-get update && \
|
||||||
apt-get --no-install-recommends --yes install ca-certificates && \
|
apt-get --no-install-recommends --yes install ca-certificates && \
|
||||||
apt-get clean && \
|
apt-get clean && \
|
||||||
rm -rf /var/lib/apt
|
rm -rf /var/lib/apt
|
||||||
COPY --from=builder /src/build/x86_64-linux-gnu/release/bin /usr/local/bin/
|
COPY --from=builder /src/build/release/bin /usr/local/bin/
|
||||||
|
|
||||||
# Create wownero user
|
# Create wownero user
|
||||||
RUN adduser --system --group --disabled-password wownero && \
|
RUN adduser --system --group --disabled-password wownero && \
|
||||||
@@ -61,6 +208,4 @@ EXPOSE 34568
|
|||||||
# switch to user wownero
|
# switch to user wownero
|
||||||
USER wownero
|
USER wownero
|
||||||
|
|
||||||
ENTRYPOINT ["wownerod"]
|
ENTRYPOINT ["wownerod", "--p2p-bind-ip=0.0.0.0", "--p2p-bind-port=34567", "--rpc-bind-ip=0.0.0.0", "--rpc-bind-port=34568", "--non-interactive", "--confirm-external-bind"]
|
||||||
CMD ["--p2p-bind-ip=0.0.0.0", "--p2p-bind-port=34567", "--rpc-bind-ip=0.0.0.0", "--rpc-bind-port=34568", "--non-interactive", "--confirm-external-bind"]
|
|
||||||
|
|
||||||
|
|||||||
4
Doxyfile
4
Doxyfile
@@ -452,7 +452,7 @@ EXTRACT_LOCAL_METHODS = NO
|
|||||||
# are hidden.
|
# are hidden.
|
||||||
# The default value is: NO.
|
# The default value is: NO.
|
||||||
|
|
||||||
EXTRACT_ANON_NSPACES = NO
|
EXTRACT_ANON_NSPACES = YES
|
||||||
|
|
||||||
# If the HIDE_UNDOC_MEMBERS tag is set to YES, doxygen will hide all
|
# If the HIDE_UNDOC_MEMBERS tag is set to YES, doxygen will hide all
|
||||||
# undocumented members inside documented classes or files. If set to NO these
|
# undocumented members inside documented classes or files. If set to NO these
|
||||||
@@ -805,7 +805,7 @@ EXCLUDE_SYMLINKS = NO
|
|||||||
# Note that the wildcards are matched against the file with absolute path, so to
|
# Note that the wildcards are matched against the file with absolute path, so to
|
||||||
# exclude all test directories for example use the pattern */test/*
|
# exclude all test directories for example use the pattern */test/*
|
||||||
|
|
||||||
EXCLUDE_PATTERNS = */build/* */contrib/depends/*
|
EXCLUDE_PATTERNS =
|
||||||
|
|
||||||
# The EXCLUDE_SYMBOLS tag can be used to specify one or more symbol names
|
# The EXCLUDE_SYMBOLS tag can be used to specify one or more symbol names
|
||||||
# (namespaces, classes, functions, etc.) that should be excluded from the
|
# (namespaces, classes, functions, etc.) that should be excluded from the
|
||||||
|
|||||||
2
LICENSE
2
LICENSE
@@ -1,4 +1,4 @@
|
|||||||
Copyright (c) 2014-2022, The Monero Project
|
Copyright (c) 2014-2021, The Monero Project
|
||||||
|
|
||||||
All rights reserved.
|
All rights reserved.
|
||||||
|
|
||||||
|
|||||||
32
Makefile
32
Makefile
@@ -1,4 +1,4 @@
|
|||||||
# Copyright (c) 2014-2022, The Monero Project
|
# Copyright (c) 2014-2020, The Monero Project
|
||||||
#
|
#
|
||||||
# All rights reserved.
|
# All rights reserved.
|
||||||
#
|
#
|
||||||
@@ -73,7 +73,7 @@ debug-test-trezor:
|
|||||||
|
|
||||||
debug-all:
|
debug-all:
|
||||||
mkdir -p $(builddir)/debug
|
mkdir -p $(builddir)/debug
|
||||||
cd $(builddir)/debug && cmake -D BUILD_TESTS=ON -D BUILD_SHARED_LIBS=OFF -D CMAKE_BUILD_TYPE=Debug $(topdir) && $(MAKE)
|
cd $(builddir)/debug && cmake -D BUILD_TESTS=OFF -D USE_DEVICE_TREZOR=OFF -D BUILD_SHARED_LIBS=OFF -D CMAKE_BUILD_TYPE=Debug $(topdir) && $(MAKE)
|
||||||
|
|
||||||
debug-static-all:
|
debug-static-all:
|
||||||
mkdir -p $(builddir)/debug
|
mkdir -p $(builddir)/debug
|
||||||
@@ -89,22 +89,22 @@ debug-static-win32:
|
|||||||
|
|
||||||
cmake-release:
|
cmake-release:
|
||||||
mkdir -p $(builddir)/release
|
mkdir -p $(builddir)/release
|
||||||
cd $(builddir)/release && cmake -D CMAKE_BUILD_TYPE=Release $(topdir)
|
cd $(builddir)/release && cmake -D BUILD_TESTS=OFF -D CMAKE_BUILD_TYPE=Release $(topdir)
|
||||||
|
|
||||||
release: cmake-release
|
release: cmake-release
|
||||||
cd $(builddir)/release && $(MAKE)
|
cd $(builddir)/release && $(MAKE)
|
||||||
|
|
||||||
release-test:
|
release-test:
|
||||||
mkdir -p $(builddir)/release
|
mkdir -p $(builddir)/release
|
||||||
cd $(builddir)/release && cmake -D BUILD_TESTS=ON -D CMAKE_BUILD_TYPE=Release $(topdir) && $(MAKE) && $(MAKE) test
|
cd $(builddir)/release && cmake -D BUILD_TESTS=ON -D CMAKE_BUILD_TYPE=release $(topdir) && $(MAKE) && $(MAKE) test
|
||||||
|
|
||||||
release-all:
|
release-all:
|
||||||
mkdir -p $(builddir)/release
|
mkdir -p $(builddir)/release
|
||||||
cd $(builddir)/release && cmake -D BUILD_TESTS=OFF -D USE_DEVICE_TREZOR=OFF -D CMAKE_BUILD_TYPE=Release $(topdir) && $(MAKE)
|
cd $(builddir)/release && cmake -D BUILD_TESTS=OFF -D USE_DEVICE_TREZOR=OFF -D CMAKE_BUILD_TYPE=release $(topdir) && $(MAKE)
|
||||||
|
|
||||||
release-static:
|
release-static:
|
||||||
mkdir -p $(builddir)/release
|
mkdir -p $(builddir)/release
|
||||||
cd $(builddir)/release && cmake -D BUILD_TESTS=OFF -D USE_DEVICE_TREZOR=OFF -D STATIC=ON -D ARCH="x86-64" -D BUILD_64=ON -D CMAKE_BUILD_TYPE=Release $(topdir) && $(MAKE)
|
cd $(builddir)/release && cmake -D BUILD_TESTS=OFF -D USE_DEVICE_TREZOR=OFF -D STATIC=ON -D ARCH="x86-64" -D BUILD_64=ON -D CMAKE_BUILD_TYPE=release $(topdir) && $(MAKE)
|
||||||
|
|
||||||
coverage:
|
coverage:
|
||||||
mkdir -p $(builddir)/debug
|
mkdir -p $(builddir)/debug
|
||||||
@@ -114,45 +114,45 @@ coverage:
|
|||||||
|
|
||||||
release-static-linux-armv6:
|
release-static-linux-armv6:
|
||||||
mkdir -p $(builddir)/release
|
mkdir -p $(builddir)/release
|
||||||
cd $(builddir)/release && cmake -D BUILD_TESTS=OFF -D ARCH="armv6zk" -D STATIC=ON -D BUILD_64=OFF -D CMAKE_BUILD_TYPE=Release -D BUILD_TAG="linux-armv6" $(topdir) && $(MAKE)
|
cd $(builddir)/release && cmake -D BUILD_TESTS=OFF -D ARCH="armv6zk" -D STATIC=ON -D BUILD_64=OFF -D CMAKE_BUILD_TYPE=release -D BUILD_TAG="linux-armv6" $(topdir) && $(MAKE)
|
||||||
|
|
||||||
release-static-linux-armv7:
|
release-static-linux-armv7:
|
||||||
mkdir -p $(builddir)/release
|
mkdir -p $(builddir)/release
|
||||||
cd $(builddir)/release && cmake -D BUILD_TESTS=OFF -D ARCH="armv7-a" -D STATIC=ON -D BUILD_64=OFF -D CMAKE_BUILD_TYPE=Release -D BUILD_TAG="linux-armv7" $(topdir) && $(MAKE)
|
cd $(builddir)/release && cmake -D BUILD_TESTS=OFF -D ARCH="armv7-a" -D STATIC=ON -D BUILD_64=OFF -D CMAKE_BUILD_TYPE=release -D BUILD_TAG="linux-armv7" $(topdir) && $(MAKE)
|
||||||
|
|
||||||
release-static-android-armv7:
|
release-static-android-armv7:
|
||||||
mkdir -p $(builddir)/release/translations
|
mkdir -p $(builddir)/release/translations
|
||||||
cd $(builddir)/release/translations && cmake ../../../translations && $(MAKE)
|
cd $(builddir)/release/translations && cmake ../../../translations && $(MAKE)
|
||||||
cd $(builddir)/release && CC=arm-linux-androideabi-clang CXX=arm-linux-androideabi-clang++ cmake -D BUILD_TESTS=OFF -D ARCH="armv7-a" -D STATIC=ON -D BUILD_64=OFF -D CMAKE_BUILD_TYPE=Release -D ANDROID=true -D BUILD_TAG="android-armv7" -D CMAKE_SYSTEM_NAME="Android" -D CMAKE_ANDROID_STANDALONE_TOOLCHAIN="${ANDROID_STANDALONE_TOOLCHAIN_PATH}" -D CMAKE_ANDROID_ARM_MODE=ON -D CMAKE_ANDROID_ARCH_ABI="armeabi-v7a" ../.. && $(MAKE)
|
cd $(builddir)/release && CC=arm-linux-androideabi-clang CXX=arm-linux-androideabi-clang++ cmake -D BUILD_TESTS=OFF -D ARCH="armv7-a" -D STATIC=ON -D BUILD_64=OFF -D CMAKE_BUILD_TYPE=release -D ANDROID=true -D INSTALL_VENDORED_LIBUNBOUND=ON -D BUILD_TAG="android-armv7" -D CMAKE_SYSTEM_NAME="Android" -D CMAKE_ANDROID_STANDALONE_TOOLCHAIN="${ANDROID_STANDALONE_TOOLCHAIN_PATH}" -D CMAKE_ANDROID_ARM_MODE=ON -D CMAKE_ANDROID_ARCH_ABI="armeabi-v7a" ../.. && $(MAKE)
|
||||||
|
|
||||||
release-static-android-armv8:
|
release-static-android-armv8:
|
||||||
mkdir -p $(builddir)/release/translations
|
mkdir -p $(builddir)/release/translations
|
||||||
cd $(builddir)/release/translations && cmake ../../../translations && $(MAKE)
|
cd $(builddir)/release/translations && cmake ../../../translations && $(MAKE)
|
||||||
cd $(builddir)/release && CC=aarch64-linux-android-clang CXX=aarch64-linux-android-clang++ cmake -D BUILD_TESTS=OFF -D ARCH="armv8-a" -D STATIC=ON -D BUILD_64=ON -D CMAKE_BUILD_TYPE=Release -D ANDROID=true -D BUILD_TAG="android-armv8" -D CMAKE_SYSTEM_NAME="Android" -D CMAKE_ANDROID_STANDALONE_TOOLCHAIN="${ANDROID_STANDALONE_TOOLCHAIN_PATH}" -D CMAKE_ANDROID_ARCH_ABI="arm64-v8a" ../.. && $(MAKE)
|
cd $(builddir)/release && CC=aarch64-linux-android-clang CXX=aarch64-linux-android-clang++ cmake -D BUILD_TESTS=OFF -D ARCH="armv8-a" -D STATIC=ON -D BUILD_64=ON -D CMAKE_BUILD_TYPE=release -D ANDROID=true -D INSTALL_VENDORED_LIBUNBOUND=ON -D BUILD_TAG="android-armv8" -D CMAKE_SYSTEM_NAME="Android" -D CMAKE_ANDROID_STANDALONE_TOOLCHAIN="${ANDROID_STANDALONE_TOOLCHAIN_PATH}" -D CMAKE_ANDROID_ARCH_ABI="arm64-v8a" ../.. && $(MAKE)
|
||||||
|
|
||||||
release-static-linux-armv8:
|
release-static-linux-armv8:
|
||||||
mkdir -p $(builddir)/release
|
mkdir -p $(builddir)/release
|
||||||
cd $(builddir)/release && cmake -D BUILD_TESTS=OFF -D ARCH="armv8-a" -D STATIC=ON -D BUILD_64=ON -D CMAKE_BUILD_TYPE=Release -D BUILD_TAG="linux-armv8" $(topdir) && $(MAKE)
|
cd $(builddir)/release && cmake -D BUILD_TESTS=OFF -D ARCH="armv8-a" -D STATIC=ON -D BUILD_64=ON -D CMAKE_BUILD_TYPE=release -D BUILD_TAG="linux-armv8" $(topdir) && $(MAKE)
|
||||||
|
|
||||||
release-static-linux-x86_64:
|
release-static-linux-x86_64:
|
||||||
mkdir -p $(builddir)/release
|
mkdir -p $(builddir)/release
|
||||||
cd $(builddir)/release && cmake -D STATIC=ON -D ARCH="x86-64" -D BUILD_64=ON -D CMAKE_BUILD_TYPE=Release -D BUILD_TAG="linux-x64" $(topdir) && $(MAKE)
|
cd $(builddir)/release && cmake -D STATIC=ON -D USE_DEVICE_TREZOR=OFF -D ARCH="x86-64" -D BUILD_64=ON -D CMAKE_BUILD_TYPE=release -D BUILD_TAG="linux-x64" $(topdir) && $(MAKE)
|
||||||
|
|
||||||
release-static-freebsd-x86_64:
|
release-static-freebsd-x86_64:
|
||||||
mkdir -p $(builddir)/release
|
mkdir -p $(builddir)/release
|
||||||
cd $(builddir)/release && cmake -D STATIC=ON -D ARCH="x86-64" -D BUILD_64=ON -D CMAKE_BUILD_TYPE=Release -D BUILD_TAG="freebsd-x64" $(topdir) && $(MAKE)
|
cd $(builddir)/release && cmake -D STATIC=ON -D USE_DEVICE_TREZOR=OFF -D ARCH="x86-64" -D BUILD_64=ON -D CMAKE_BUILD_TYPE=release -D BUILD_TAG="freebsd-x64" $(topdir) && $(MAKE)
|
||||||
|
|
||||||
release-static-mac-x86_64:
|
release-static-mac-x86_64:
|
||||||
mkdir -p $(builddir)/release
|
mkdir -p $(builddir)/release
|
||||||
cd $(builddir)/release && cmake -D STATIC=ON -D ARCH="x86-64" -D BUILD_64=ON -D CMAKE_BUILD_TYPE=Release -D BUILD_TAG="mac-x64" $(topdir) && $(MAKE)
|
cd $(builddir)/release && cmake -D STATIC=ON -D USE_DEVICE_TREZOR=OFF -D ARCH="x86-64" -D BUILD_64=ON -D CMAKE_BUILD_TYPE=release -D BUILD_TAG="mac-x64" $(topdir) && $(MAKE)
|
||||||
|
|
||||||
release-static-linux-i686:
|
release-static-linux-i686:
|
||||||
mkdir -p $(builddir)/release
|
mkdir -p $(builddir)/release
|
||||||
cd $(builddir)/release && cmake -D STATIC=ON -D ARCH="i686" -D BUILD_64=OFF -D CMAKE_BUILD_TYPE=Release -D BUILD_TAG="linux-x86" $(topdir) && $(MAKE)
|
cd $(builddir)/release && cmake -D STATIC=ON -D ARCH="i686" -D BUILD_64=OFF -D CMAKE_BUILD_TYPE=release -D BUILD_TAG="linux-x86" $(topdir) && $(MAKE)
|
||||||
|
|
||||||
release-static-win64:
|
release-static-win64:
|
||||||
mkdir -p $(builddir)/release
|
mkdir -p $(builddir)/release
|
||||||
cd $(builddir)/release && cmake -G "MSYS Makefiles" -D STATIC=ON -D ARCH="x86-64" -D BUILD_64=ON -D CMAKE_BUILD_TYPE=Release -D BUILD_TAG="win-x64" -D CMAKE_TOOLCHAIN_FILE=$(topdir)/cmake/64-bit-toolchain.cmake -D MSYS2_FOLDER=$(shell cd ${MINGW_PREFIX}/.. && pwd -W) $(topdir) && $(MAKE)
|
cd $(builddir)/release && cmake -G "MSYS Makefiles" -D STATIC=ON -D USE_DEVICE_TREZOR=OFF -D ARCH="x86-64" -D BUILD_64=ON -D CMAKE_BUILD_TYPE=Release -D BUILD_TAG="win-x64" -D CMAKE_TOOLCHAIN_FILE=$(topdir)/cmake/64-bit-toolchain.cmake -D MSYS2_FOLDER=$(shell cd ${MINGW_PREFIX}/.. && pwd -W) $(topdir) && $(MAKE)
|
||||||
|
|
||||||
release-static-win32:
|
release-static-win32:
|
||||||
mkdir -p $(builddir)/release
|
mkdir -p $(builddir)/release
|
||||||
|
|||||||
81
README.md
81
README.md
@@ -1,6 +1,6 @@
|
|||||||
# ~~Mo~~Wownero - Such privacy! Many coins! Wow! 🐕
|
# ~~Mo~~Wownero - Such privacy! Many coins! Wow! 🐕
|
||||||
|
|
||||||
Copyright (c) 2014-2023 The Monero Project.
|
Copyright (c) 2014-2021 The Monero Project.
|
||||||
Portions Copyright (c) 2012-2013 The Cryptonote developers.
|
Portions Copyright (c) 2012-2013 The Cryptonote developers.
|
||||||
|
|
||||||
## Resources
|
## Resources
|
||||||
@@ -9,30 +9,26 @@ Portions Copyright (c) 2012-2013 The Cryptonote developers.
|
|||||||
- Web: [wownero.org](https://wownero.org)
|
- Web: [wownero.org](https://wownero.org)
|
||||||
- Twitter: [@w0wn3r0](https://twitter.com/w0wn3r0)
|
- Twitter: [@w0wn3r0](https://twitter.com/w0wn3r0)
|
||||||
- Reddit: [/r/wownero](https://www.reddit.com/r/wownero)
|
- Reddit: [/r/wownero](https://www.reddit.com/r/wownero)
|
||||||
- Mail: [wownero@wownero.org](mailto:wownero@wownero.org)
|
- Mail: [wownero@protonmail.com](mailto:wownero@protonmail.com)
|
||||||
- Git: [git.wownero.com/wownero/wownero](https://git.wownero.com/wownero/wownero)
|
- Git: [git.wownero.com/wownero/wownero](https://git.wownero.com/wownero/wownero)
|
||||||
- Wownero Funding System: [funding.wownero.com](https://funding.wownero.com)
|
- Wownero Funding System: [funding.wownero.com](https://funding.wownero.com)
|
||||||
- Wownero Forum: [forum.wownero.com](https://forum.wownero.com)
|
- Wownero Forum: [forum.wownero.com](https://forum.wownero.com)
|
||||||
- Discord: [discord.gg/ykZyAzJhDK](https://discord.com/invite/ykZyAzJhDK)
|
- Discord: [discord.gg/ykZyAzJhDK](https://discord.com/invite/ykZyAzJhDK)
|
||||||
- Telegram: [t.me/wownero](https://t.me/wownero)
|
- Telegram: [t.me/wownero](https://t.me/wownero)
|
||||||
- Wowlet Desktop Wallet: [git.wownero.com/wowlet/wowlet](https://git.wownero.com/wowlet/wowlet/releases)
|
- Wowlet Desktop Wallet: [git.wownero.com/wowlet/wowlet](https://git.wownero.com/wowlet/wowlet/releases)
|
||||||
- Stack Wallet iOS & Android Mobile Wallet: [stackwallet.com](https://stackwallet.com)
|
- WOW Stash Web Wallet: [wowstash.app](https://wowstash.app)
|
||||||
- Wonerujo Android Mobile Wallet: [google store](https://play.google.com/store/apps/details?id=com.m2049r.wowwallet)
|
|
||||||
- Elite Wallet Android Mobile Wallet: [github](https://github.com/Elite-Labs/EliteWallet)
|
|
||||||
- Public Node Status: [monero.fail](https://monero.fail/?crypto=wownero)
|
- Public Node Status: [monero.fail](https://monero.fail/?crypto=wownero)
|
||||||
|
- Map of Nodes: [wownero.fyi](https://wownero.fyi)
|
||||||
- Wownero Memes: [suchwow.xyz](https://suchwow.xyz/posts/top)
|
- Wownero Memes: [suchwow.xyz](https://suchwow.xyz/posts/top)
|
||||||
|
- XMR/WOW Swap: [nero Swap](https://neroswap.com)
|
||||||
|
- Mining Pools: [miningpoolstats.stream](https://miningpoolstats.stream/wownero)
|
||||||
- Market Info: [coinmarketcap.com](https://coinmarketcap.com/currencies/wownero), [coingecko.com](https://www.coingecko.com/en/coins/wownero/usd)
|
- Market Info: [coinmarketcap.com](https://coinmarketcap.com/currencies/wownero), [coingecko.com](https://www.coingecko.com/en/coins/wownero/usd)
|
||||||
|
|
||||||
## Exchanges
|
|
||||||
|
|
||||||
- [AltQuick](https://altquick.com/market/Wownero)
|
|
||||||
- [Majestic Bank](https://majesticbank.sc)
|
|
||||||
- [TradeOgre](https://tradeogre.com/exchange/BTC-WOW)
|
|
||||||
|
|
||||||
### Blockchain Explorers
|
### Blockchain Explorers
|
||||||
|
|
||||||
- https://explore.wownero.com
|
- https://explore.wownero.com
|
||||||
- https://muchwow.lol
|
- http://wow5eqtzqvsg5jctqzg5g7uk3u62sfqiacj5x6lo4by7bvnj6jkvubyd.onion
|
||||||
|
- https://wownero.club
|
||||||
|
- https://explorer.wownero.fyi
|
||||||
|
|
||||||
## Introduction
|
## Introduction
|
||||||
|
|
||||||
@@ -43,11 +39,11 @@ Wownero is a privacy-centric memecoin that was fairly launched on April 1, 2018
|
|||||||
Wownero is a 100% community-sponsored endeavor. Supporting services are also graciously provided by sponsors:
|
Wownero is a 100% community-sponsored endeavor. Supporting services are also graciously provided by sponsors:
|
||||||
|
|
||||||
[<img src="https://git.wownero.com/wownero/meta/raw/branch/master/images/macstadium.png"
|
[<img src="https://git.wownero.com/wownero/meta/raw/branch/master/images/macstadium.png"
|
||||||
alt="MacStadium"
|
alt="MacStadium"
|
||||||
height="100">](https://www.macstadium.com)
|
height="100">](https://www.macstadium.com)
|
||||||
[<img src="https://git.wownero.com/wownero/meta/raw/branch/master/images/jetbrains.png"
|
[<img src="https://git.wownero.com/wownero/meta/raw/branch/master/images/jetbrains.png"
|
||||||
alt="JetBrains"
|
alt="JetBrains"
|
||||||
height="100">](https://www.jetbrains.com)
|
height="100">](https://www.jetbrains.com)
|
||||||
|
|
||||||
Developers are volunteers doing this mostly for shits and giggles. If you would like to support our shenanigans and stimulant addictions, please consider donating to [WFS proposals](https://funding.wownero.com/proposals) or the dev slush fund.
|
Developers are volunteers doing this mostly for shits and giggles. If you would like to support our shenanigans and stimulant addictions, please consider donating to [WFS proposals](https://funding.wownero.com/proposals) or the dev slush fund.
|
||||||
|
|
||||||
@@ -77,7 +73,7 @@ If you have a fix or code change, feel free to submit it as a pull request. Ahea
|
|||||||
|
|
||||||
Things to Do, Work in Progress, and Help Wanted tasks are tracked in the [Meta](https://git.wownero.com/wownero/meta/issues) repo.
|
Things to Do, Work in Progress, and Help Wanted tasks are tracked in the [Meta](https://git.wownero.com/wownero/meta/issues) repo.
|
||||||
|
|
||||||
Join `#wownero` on IRC OFTC to participate in development conversation.
|
Join `#wownero-dev` on IRC OFTC to participate in development conversation.
|
||||||
|
|
||||||
## Scheduled software upgrades
|
## Scheduled software upgrades
|
||||||
|
|
||||||
@@ -85,7 +81,7 @@ Wownero uses a fixed-schedule software upgrade (hard fork) mechanism to implemen
|
|||||||
Dates are provided in the format YYYY-MM-DD.
|
Dates are provided in the format YYYY-MM-DD.
|
||||||
|
|
||||||
| Software upgrade block height | Date | Release Name | Minimum Wownero version | Recommended Wownero version | Details |
|
| Software upgrade block height | Date | Release Name | Minimum Wownero version | Recommended Wownero version | Details |
|
||||||
|-------------------------------|------------| ----------------- |-------------------------|-----------------------------| ---------------------------------------------------------------------------------- |
|
| ------------------------------ | -----------| ----------------- | ---------------------- | -------------------------- | ---------------------------------------------------------------------------------- |
|
||||||
| 1 | 2018-04-01 | Awesome Akita | v0.1.0.0 | v0.1.0.0 | Cryptonight variant 1, ringsize >= 8, sorted inputs
|
| 1 | 2018-04-01 | Awesome Akita | v0.1.0.0 | v0.1.0.0 | Cryptonight variant 1, ringsize >= 8, sorted inputs
|
||||||
| 69,69 | 2018-04-24 | Busty Brazzers | v0.2.0.0 | v0.2.0.0 | Bulletproofs, LWMA difficulty algorithm, ringsize >= 10, reduce unlock to 4
|
| 69,69 | 2018-04-24 | Busty Brazzers | v0.2.0.0 | v0.2.0.0 | Bulletproofs, LWMA difficulty algorithm, ringsize >= 10, reduce unlock to 4
|
||||||
| 53,666 | 2018-10-06 | Cool Cage | v0.3.0.0 | v0.3.1.3 | Cryptonight variant 2, LWMA v2, ringsize = 22, MMS
|
| 53,666 | 2018-10-06 | Cool Cage | v0.3.0.0 | v0.3.1.3 | Cryptonight variant 2, LWMA v2, ringsize = 22, MMS
|
||||||
@@ -95,8 +91,7 @@ Dates are provided in the format YYYY-MM-DD.
|
|||||||
| 160,777 | 2019-11-20 | Gaping Goatse | v0.7.0.0 | v0.7.1.0 | Only allow >= 2 outputs, change to the block median used to calculate penalty, rct sigs in coinbase forbidden, 4 unlock time as protocol rule
|
| 160,777 | 2019-11-20 | Gaping Goatse | v0.7.0.0 | v0.7.1.0 | Only allow >= 2 outputs, change to the block median used to calculate penalty, rct sigs in coinbase forbidden, 4 unlock time as protocol rule
|
||||||
| - | 2020-06-28 | Hallucinogenic Hypnotoad | v0.8.0.0 | v0.8.0.2 | Dandelion++ support
|
| - | 2020-06-28 | Hallucinogenic Hypnotoad | v0.8.0.0 | v0.8.0.2 | Dandelion++ support
|
||||||
| 253,999 | 2020-10-09 | Illiterate Illuminati | v0.9.0.0 | v0.9.3.3 | Dynamic coinbase unlock (up to 1 mo.), Deterministic unlock times, Enforce maximum coinbase amount, show_qr_code wallet command, CLSAG
|
| 253,999 | 2020-10-09 | Illiterate Illuminati | v0.9.0.0 | v0.9.3.3 | Dynamic coinbase unlock (up to 1 mo.), Deterministic unlock times, Enforce maximum coinbase amount, show_qr_code wallet command, CLSAG
|
||||||
| 331,170 | 2021-07-04 | Junkie Jeff | v0.10.0.0 | v0.10.2.0 | Bulletproofs+, Miner Block Header Signing, Vote by Block, Change coinbase unlock time to 1 day, Reset difficulty and switch back to Monero's difficulty algorithm
|
| 331,170 | 2021-07-04 | Junkie Jeff | v0.10.0.0 | v0.10.0.0 | Bulletproofs+, Miner Block Header Signing, Vote by Block, Change coinbase unlock time to 1 day, Reset difficulty and switch back to Monero's difficulty algorithm
|
||||||
| 514,000 | 2023-04-01 | Kunty Karen | v0.11.0.0 | v0.11.1.0 | View tags, fee changes, adjusted dynamic block weight algorithm, multisig security fixes, RPC broadcast node donation sub-address, Limit tx_extra max size to ~1kb, 12-hour difficulty adjustment window
|
|
||||||
|
|
||||||
X's indicate that these details have not been determined as of commit date.
|
X's indicate that these details have not been determined as of commit date.
|
||||||
|
|
||||||
@@ -122,6 +117,13 @@ Packages are available for
|
|||||||
|
|
||||||
nix-shell -p wownero
|
nix-shell -p wownero
|
||||||
|
|
||||||
|
* Ubuntu 18.04/Ubuntu 16.04/Debian 9/Debian 8 (amd64)
|
||||||
|
|
||||||
|
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 8BC34ABB48E565F0
|
||||||
|
sudo add-apt-repository "deb http://ppa.wownero.com/ bionic main"
|
||||||
|
sudo apt-get update
|
||||||
|
sudo apt-get install wownero
|
||||||
|
|
||||||
Packaging for your favorite distribution would be a welcome contribution!
|
Packaging for your favorite distribution would be a welcome contribution!
|
||||||
|
|
||||||
**DISCLAIMER: These packages are not part of this repository, and as such, do not go through the same review process to ensure their trustworthiness and security.**
|
**DISCLAIMER: These packages are not part of this repository, and as such, do not go through the same review process to ensure their trustworthiness and security.**
|
||||||
@@ -168,10 +170,10 @@ To run in background:
|
|||||||
|
|
||||||
To run as a systemd service, copy
|
To run as a systemd service, copy
|
||||||
[wownerod.service](utils/systemd/wownerod.service) to `/etc/systemd/system/` and
|
[wownerod.service](utils/systemd/wownerod.service) to `/etc/systemd/system/` and
|
||||||
[wow.conf](wow.conf) to `/etc/`. The [example
|
[wownerod.conf](utils/conf/wownerod.conf) to `/etc/`. The [example
|
||||||
service](utils/systemd/wownerod.service) assumes that the user `wownero` exists
|
service](utils/systemd/wownerod.service) assumes that the user `wownero` exists
|
||||||
and its home is the data directory specified in the [example
|
and its home is the data directory specified in the [example
|
||||||
config](wow.conf).
|
config](utils/conf/wownerod.conf).
|
||||||
|
|
||||||
Once node is synced to network, run the CLI wallet by entering:
|
Once node is synced to network, run the CLI wallet by entering:
|
||||||
|
|
||||||
@@ -181,37 +183,26 @@ Type `help` in CLI wallet to see standard commands (for advanced options, type `
|
|||||||
|
|
||||||
## Tor Anonymity Network
|
## Tor Anonymity Network
|
||||||
|
|
||||||
### Ubuntu
|
* Install [Tor Browser](https://www.torproject.org/download/)
|
||||||
|
* Open `torrc` file in a text editor ([installation directory]/Browser/TorBrowser/Data/Tor/torrc) and add hidden service information as follows:
|
||||||
|
|
||||||
* `sudo apt-get update && sudo apt-get install tor -y`
|
|
||||||
* `sudo nano /etc/tor/torrc`
|
|
||||||
|
|
||||||
add the following:
|
|
||||||
```
|
```
|
||||||
HiddenServiceDir /var/lib/tor/wownero/
|
HiddenServiceDir [installation directory]/Browser/TorBrowser/Data/Tor/wow_node
|
||||||
HiddenServicePort 34569 127.0.0.1:34569
|
|
||||||
HiddenServicePort 34566 127.0.0.1:34566
|
|
||||||
HiddenServiceVersion 3
|
HiddenServiceVersion 3
|
||||||
|
HiddenServicePort 44568 127.0.0.1:44568
|
||||||
```
|
```
|
||||||
save and close nano
|
* Save `torrc` file and restart Tor Browser (keep open)
|
||||||
|
* Change directory to the `wow_node` folder, open `hostname` file, and copy your node's ".onion" address
|
||||||
* `sudo /etc/init.d/tor restart && sudo systemctl enable tor`
|
* Start wownerod with the following parameters:
|
||||||
* copy [wow.conf](https://git.wownero.com/wownero/wownero/raw/branch/master/wow.conf) file and save it in same directory as `wownerod`.
|
|
||||||
* start wownerod like this:
|
|
||||||
|
|
||||||
```
|
```
|
||||||
./wownerod --config-file=wow.conf
|
./wownerod --tx-proxy tor,127.0.0.1:9150,10 --add-peer hdps3qwnusz64r7odvynmae6myc2uyvrsc2emap6636qeuzll72eouid.onion:44568 --anonymous-inbound YOUR_NODE_ADDRESS.onion:44568,127.0.0.1:44568,25
|
||||||
```
|
```
|
||||||
|
|
||||||
* `sudo cat /var/lib/tor/wownero/hostname`
|
|
||||||
copy your onion address and share node with others [here](https://monero.fail/?crypto=wownero) and [here](https://forum.wownero.com/t/wownero-tor-onion-sites/623)
|
|
||||||
|
|
||||||
To share your node over p2p, uncomment first line of wownerod.conf and add your onion address.
|
|
||||||
|
|
||||||
More information on running Tor and i2p nodes is available [here](https://forum.wownero.com/t/how-to-setup-a-full-node-with-tor-i2p/588)
|
|
||||||
|
|
||||||
### Access remote Tor node from CLI wallet
|
### Access remote Tor node from CLI wallet
|
||||||
|
|
||||||
```
|
```
|
||||||
./wownero-wallet-cli --proxy 127.0.0.1:9050 --daemon-address iy6ry6uudpzvbd72zsipepukp6nsazjdu72n52vg3isfnxqn342flzad.onion:34568
|
./wownero-wallet-cli --proxy 127.0.0.1:9150 --daemon-address wow7dhbgiljnkspkzpjyy66auegbrye2ptfv4gucgbhireg5rrjza5ad.onion:34568
|
||||||
```
|
```
|
||||||
|
|
||||||
|
Use port `9050` instead of `9150` if you installed Tor as a standalone daemon. For more information, check out [ANONYMITY_NETWORKS](https://git.wownero.com/wownero/wownero/src/branch/master/ANONYMITY_NETWORKS.md).
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
# Copyright (c) 2014-2022, The Monero Project
|
# Copyright (c) 2014-2020, The Monero Project
|
||||||
#
|
#
|
||||||
# All rights reserved.
|
# All rights reserved.
|
||||||
#
|
#
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
# Copyright (c) 2014-2022, The Monero Project
|
# Copyright (c) 2014-2020, The Monero Project
|
||||||
#
|
#
|
||||||
# All rights reserved.
|
# All rights reserved.
|
||||||
#
|
#
|
||||||
|
|||||||
14
cmake/CheckLinkerFlag.c
Normal file
14
cmake/CheckLinkerFlag.c
Normal file
@@ -0,0 +1,14 @@
|
|||||||
|
#ifdef __CLASSIC_C__
|
||||||
|
int main()
|
||||||
|
{
|
||||||
|
int ac;
|
||||||
|
char* av[];
|
||||||
|
#else
|
||||||
|
int main(int ac, char* av[])
|
||||||
|
{
|
||||||
|
#endif
|
||||||
|
if (ac > 1000) {
|
||||||
|
return *av[0];
|
||||||
|
}
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
48
cmake/CheckLinkerFlag.cmake
Normal file
48
cmake/CheckLinkerFlag.cmake
Normal file
@@ -0,0 +1,48 @@
|
|||||||
|
include(CheckCCompilerFlag)
|
||||||
|
|
||||||
|
macro(CHECK_LINKER_FLAG flag VARIABLE)
|
||||||
|
if(NOT DEFINED "${VARIABLE}")
|
||||||
|
if(NOT CMAKE_REQUIRED_QUIET)
|
||||||
|
message(STATUS "Looking for ${flag} linker flag")
|
||||||
|
endif()
|
||||||
|
|
||||||
|
set(_cle_source ${CMAKE_SOURCE_DIR}/cmake/CheckLinkerFlag.c)
|
||||||
|
|
||||||
|
set(saved_CMAKE_C_FLAGS ${CMAKE_C_FLAGS})
|
||||||
|
set(CMAKE_C_FLAGS "${flag}")
|
||||||
|
try_compile(${VARIABLE}
|
||||||
|
${CMAKE_BINARY_DIR}
|
||||||
|
${_cle_source}
|
||||||
|
COMPILE_DEFINITIONS ${CMAKE_REQUIRED_DEFINITIONS} ${flag}
|
||||||
|
CMAKE_FLAGS
|
||||||
|
"-DCMAKE_EXE_LINKER_FLAGS=${flag}"
|
||||||
|
OUTPUT_VARIABLE OUTPUT)
|
||||||
|
unset(_cle_source)
|
||||||
|
set(CMAKE_C_FLAGS ${saved_CMAKE_C_FLAGS})
|
||||||
|
unset(saved_CMAKE_C_FLAGS)
|
||||||
|
|
||||||
|
if ("${OUTPUT}" MATCHES "warning.*ignored")
|
||||||
|
set(${VARIABLE} 0)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
if(${VARIABLE})
|
||||||
|
if(NOT CMAKE_REQUIRED_QUIET)
|
||||||
|
message(STATUS "Looking for ${flag} linker flag - found")
|
||||||
|
endif()
|
||||||
|
set(${VARIABLE} 1 CACHE INTERNAL "Have linker flag ${flag}")
|
||||||
|
file(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeOutput.log
|
||||||
|
"Determining if the ${flag} linker flag is supported "
|
||||||
|
"passed with the following output:\n"
|
||||||
|
"${OUTPUT}\n\n")
|
||||||
|
else()
|
||||||
|
if(NOT CMAKE_REQUIRED_QUIET)
|
||||||
|
message(STATUS "Looking for ${flag} linker flag - not found")
|
||||||
|
endif()
|
||||||
|
set(${VARIABLE} "" CACHE INTERNAL "Have linker flag ${flag}")
|
||||||
|
file(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeError.log
|
||||||
|
"Determining if the ${flag} linker flag is supported "
|
||||||
|
"failed with the following output:\n"
|
||||||
|
"${OUTPUT}\n\n")
|
||||||
|
endif()
|
||||||
|
endif()
|
||||||
|
endmacro()
|
||||||
181
cmake/CheckTrezor.cmake
Normal file
181
cmake/CheckTrezor.cmake
Normal file
@@ -0,0 +1,181 @@
|
|||||||
|
OPTION(USE_DEVICE_TREZOR "Trezor support compilation" ON)
|
||||||
|
OPTION(USE_DEVICE_TREZOR_LIBUSB "Trezor LibUSB compilation" ON)
|
||||||
|
OPTION(USE_DEVICE_TREZOR_UDP_RELEASE "Trezor UdpTransport in release mode" OFF)
|
||||||
|
OPTION(USE_DEVICE_TREZOR_DEBUG "Trezor Debugging enabled" OFF)
|
||||||
|
OPTION(TREZOR_DEBUG "Main trezor debugging switch" OFF)
|
||||||
|
|
||||||
|
# Helper function to fix cmake < 3.6.0 FindProtobuf variables
|
||||||
|
function(_trezor_protobuf_fix_vars)
|
||||||
|
if(${CMAKE_VERSION} VERSION_LESS "3.6.0")
|
||||||
|
foreach(UPPER
|
||||||
|
PROTOBUF_SRC_ROOT_FOLDER
|
||||||
|
PROTOBUF_IMPORT_DIRS
|
||||||
|
PROTOBUF_DEBUG
|
||||||
|
PROTOBUF_LIBRARY
|
||||||
|
PROTOBUF_PROTOC_LIBRARY
|
||||||
|
PROTOBUF_INCLUDE_DIR
|
||||||
|
PROTOBUF_PROTOC_EXECUTABLE
|
||||||
|
PROTOBUF_LIBRARY_DEBUG
|
||||||
|
PROTOBUF_PROTOC_LIBRARY_DEBUG
|
||||||
|
PROTOBUF_LITE_LIBRARY
|
||||||
|
PROTOBUF_LITE_LIBRARY_DEBUG
|
||||||
|
)
|
||||||
|
if (DEFINED ${UPPER})
|
||||||
|
string(REPLACE "PROTOBUF_" "Protobuf_" Camel ${UPPER})
|
||||||
|
if (NOT DEFINED ${Camel})
|
||||||
|
set(${Camel} ${${UPPER}} PARENT_SCOPE)
|
||||||
|
endif()
|
||||||
|
endif()
|
||||||
|
endforeach()
|
||||||
|
endif()
|
||||||
|
endfunction()
|
||||||
|
|
||||||
|
# Use Trezor master switch
|
||||||
|
if (USE_DEVICE_TREZOR)
|
||||||
|
# Protobuf is required to build protobuf messages for Trezor
|
||||||
|
include(FindProtobuf OPTIONAL)
|
||||||
|
find_package(Protobuf)
|
||||||
|
_trezor_protobuf_fix_vars()
|
||||||
|
|
||||||
|
# Protobuf handling the cache variables set in docker.
|
||||||
|
if(NOT Protobuf_FOUND AND NOT Protobuf_LIBRARY AND NOT Protobuf_PROTOC_EXECUTABLE AND NOT Protobuf_INCLUDE_DIR)
|
||||||
|
message(STATUS "Could not find Protobuf")
|
||||||
|
elseif(NOT Protobuf_LIBRARY OR NOT EXISTS "${Protobuf_LIBRARY}")
|
||||||
|
message(STATUS "Protobuf library not found: ${Protobuf_LIBRARY}")
|
||||||
|
unset(Protobuf_FOUND)
|
||||||
|
elseif(NOT Protobuf_PROTOC_EXECUTABLE OR NOT EXISTS "${Protobuf_PROTOC_EXECUTABLE}")
|
||||||
|
message(STATUS "Protobuf executable not found: ${Protobuf_PROTOC_EXECUTABLE}")
|
||||||
|
unset(Protobuf_FOUND)
|
||||||
|
elseif(NOT Protobuf_INCLUDE_DIR OR NOT EXISTS "${Protobuf_INCLUDE_DIR}")
|
||||||
|
message(STATUS "Protobuf include dir not found: ${Protobuf_INCLUDE_DIR}")
|
||||||
|
unset(Protobuf_FOUND)
|
||||||
|
else()
|
||||||
|
message(STATUS "Protobuf lib: ${Protobuf_LIBRARY}, inc: ${Protobuf_INCLUDE_DIR}, protoc: ${Protobuf_PROTOC_EXECUTABLE}")
|
||||||
|
set(Protobuf_INCLUDE_DIRS ${Protobuf_INCLUDE_DIR})
|
||||||
|
set(Protobuf_FOUND 1) # override found if all rquired info was provided by variables
|
||||||
|
endif()
|
||||||
|
|
||||||
|
if(TREZOR_DEBUG)
|
||||||
|
set(USE_DEVICE_TREZOR_DEBUG 1)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
# Compile debugging support (for tests)
|
||||||
|
if (USE_DEVICE_TREZOR_DEBUG)
|
||||||
|
add_definitions(-DWITH_TREZOR_DEBUGGING=1)
|
||||||
|
endif()
|
||||||
|
else()
|
||||||
|
message(STATUS "Trezor support disabled by USE_DEVICE_TREZOR")
|
||||||
|
endif()
|
||||||
|
|
||||||
|
if(Protobuf_FOUND AND USE_DEVICE_TREZOR)
|
||||||
|
if (NOT "$ENV{TREZOR_PYTHON}" STREQUAL "")
|
||||||
|
set(TREZOR_PYTHON "$ENV{TREZOR_PYTHON}" CACHE INTERNAL "Copied from environment variable TREZOR_PYTHON")
|
||||||
|
else()
|
||||||
|
find_package(Python QUIET COMPONENTS Interpreter) # cmake 3.12+
|
||||||
|
if(Python_Interpreter_FOUND)
|
||||||
|
set(TREZOR_PYTHON "${Python_EXECUTABLE}")
|
||||||
|
endif()
|
||||||
|
endif()
|
||||||
|
|
||||||
|
if(NOT TREZOR_PYTHON)
|
||||||
|
find_package(PythonInterp)
|
||||||
|
if(PYTHONINTERP_FOUND AND PYTHON_EXECUTABLE)
|
||||||
|
set(TREZOR_PYTHON "${PYTHON_EXECUTABLE}")
|
||||||
|
endif()
|
||||||
|
endif()
|
||||||
|
|
||||||
|
if(NOT TREZOR_PYTHON)
|
||||||
|
message(STATUS "Trezor: Python not found")
|
||||||
|
endif()
|
||||||
|
endif()
|
||||||
|
|
||||||
|
# Protobuf compilation test
|
||||||
|
if(Protobuf_FOUND AND USE_DEVICE_TREZOR AND TREZOR_PYTHON)
|
||||||
|
execute_process(COMMAND ${Protobuf_PROTOC_EXECUTABLE} -I "${CMAKE_CURRENT_LIST_DIR}" -I "${Protobuf_INCLUDE_DIR}" "${CMAKE_CURRENT_LIST_DIR}/test-protobuf.proto" --cpp_out ${CMAKE_BINARY_DIR} RESULT_VARIABLE RET OUTPUT_VARIABLE OUT ERROR_VARIABLE ERR)
|
||||||
|
if(RET)
|
||||||
|
message(STATUS "Protobuf test generation failed: ${OUT} ${ERR}")
|
||||||
|
endif()
|
||||||
|
|
||||||
|
try_compile(Protobuf_COMPILE_TEST_PASSED
|
||||||
|
"${CMAKE_BINARY_DIR}"
|
||||||
|
SOURCES
|
||||||
|
"${CMAKE_BINARY_DIR}/test-protobuf.pb.cc"
|
||||||
|
"${CMAKE_CURRENT_LIST_DIR}/test-protobuf.cpp"
|
||||||
|
CMAKE_FLAGS
|
||||||
|
"-DINCLUDE_DIRECTORIES=${Protobuf_INCLUDE_DIR};${CMAKE_BINARY_DIR}"
|
||||||
|
"-DCMAKE_CXX_STANDARD=11"
|
||||||
|
LINK_LIBRARIES ${Protobuf_LIBRARY}
|
||||||
|
OUTPUT_VARIABLE OUTPUT
|
||||||
|
)
|
||||||
|
if(NOT Protobuf_COMPILE_TEST_PASSED)
|
||||||
|
message(STATUS "Protobuf Compilation test failed: ${OUTPUT}.")
|
||||||
|
endif()
|
||||||
|
endif()
|
||||||
|
|
||||||
|
# Try to build protobuf messages
|
||||||
|
if(Protobuf_FOUND AND USE_DEVICE_TREZOR AND TREZOR_PYTHON AND Protobuf_COMPILE_TEST_PASSED)
|
||||||
|
set(ENV{PROTOBUF_INCLUDE_DIRS} "${Protobuf_INCLUDE_DIR}")
|
||||||
|
set(ENV{PROTOBUF_PROTOC_EXECUTABLE} "${Protobuf_PROTOC_EXECUTABLE}")
|
||||||
|
set(TREZOR_PROTOBUF_PARAMS "")
|
||||||
|
if (USE_DEVICE_TREZOR_DEBUG)
|
||||||
|
set(TREZOR_PROTOBUF_PARAMS "--debug")
|
||||||
|
endif()
|
||||||
|
|
||||||
|
execute_process(COMMAND ${TREZOR_PYTHON} tools/build_protob.py ${TREZOR_PROTOBUF_PARAMS} WORKING_DIRECTORY ${CMAKE_CURRENT_LIST_DIR}/../src/device_trezor/trezor RESULT_VARIABLE RET OUTPUT_VARIABLE OUT ERROR_VARIABLE ERR)
|
||||||
|
if(RET)
|
||||||
|
message(WARNING "Trezor protobuf messages could not be regenerated (err=${RET}, python ${PYTHON})."
|
||||||
|
"OUT: ${OUT}, ERR: ${ERR}."
|
||||||
|
"Please read src/device_trezor/trezor/tools/README.md")
|
||||||
|
else()
|
||||||
|
message(STATUS "Trezor protobuf messages regenerated out: \"${OUT}.\"")
|
||||||
|
set(DEVICE_TREZOR_READY 1)
|
||||||
|
add_definitions(-DDEVICE_TREZOR_READY=1)
|
||||||
|
add_definitions(-DPROTOBUF_INLINE_NOT_IN_HEADERS=0)
|
||||||
|
|
||||||
|
if(CMAKE_BUILD_TYPE STREQUAL "Debug")
|
||||||
|
add_definitions(-DTREZOR_DEBUG=1)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
if(USE_DEVICE_TREZOR_UDP_RELEASE)
|
||||||
|
add_definitions(-DUSE_DEVICE_TREZOR_UDP_RELEASE=1)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
if (Protobuf_INCLUDE_DIR)
|
||||||
|
include_directories(${Protobuf_INCLUDE_DIR})
|
||||||
|
endif()
|
||||||
|
|
||||||
|
# LibUSB support, check for particular version
|
||||||
|
# Include support only if compilation test passes
|
||||||
|
if (USE_DEVICE_TREZOR_LIBUSB)
|
||||||
|
find_package(LibUSB)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
if (LibUSB_COMPILE_TEST_PASSED)
|
||||||
|
add_definitions(-DHAVE_TREZOR_LIBUSB=1)
|
||||||
|
if(LibUSB_INCLUDE_DIRS)
|
||||||
|
include_directories(${LibUSB_INCLUDE_DIRS})
|
||||||
|
endif()
|
||||||
|
endif()
|
||||||
|
|
||||||
|
set(TREZOR_LIBUSB_LIBRARIES "")
|
||||||
|
if(LibUSB_COMPILE_TEST_PASSED)
|
||||||
|
list(APPEND TREZOR_LIBUSB_LIBRARIES ${LibUSB_LIBRARIES} ${LIBUSB_DEP_LINKER})
|
||||||
|
message(STATUS "Trezor compatible LibUSB found at: ${LibUSB_INCLUDE_DIRS}")
|
||||||
|
endif()
|
||||||
|
|
||||||
|
if (BUILD_GUI_DEPS)
|
||||||
|
set(TREZOR_DEP_LIBS "")
|
||||||
|
set(TREZOR_DEP_LINKER "")
|
||||||
|
|
||||||
|
if (Protobuf_LIBRARY)
|
||||||
|
list(APPEND TREZOR_DEP_LIBS ${Protobuf_LIBRARY})
|
||||||
|
string(APPEND TREZOR_DEP_LINKER " -lprotobuf")
|
||||||
|
endif()
|
||||||
|
|
||||||
|
if (TREZOR_LIBUSB_LIBRARIES)
|
||||||
|
list(APPEND TREZOR_DEP_LIBS ${TREZOR_LIBUSB_LIBRARIES})
|
||||||
|
string(APPEND TREZOR_DEP_LINKER " -lusb-1.0 ${LIBUSB_DEP_LINKER}")
|
||||||
|
endif()
|
||||||
|
endif()
|
||||||
|
endif()
|
||||||
|
endif()
|
||||||
1803
cmake/Doxyfile.in
Normal file
1803
cmake/Doxyfile.in
Normal file
File diff suppressed because it is too large
Load Diff
14
cmake/Doxygen.extra.css.in
Normal file
14
cmake/Doxygen.extra.css.in
Normal file
@@ -0,0 +1,14 @@
|
|||||||
|
/* increase vertical space */
|
||||||
|
#titlearea, #nav-path {
|
||||||
|
display: none;
|
||||||
|
height: 0px;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/* uncomment these lines for some extra vertical space */
|
||||||
|
|
||||||
|
/*
|
||||||
|
.tablist li {
|
||||||
|
line-height: 26px;
|
||||||
|
}
|
||||||
|
*/
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
# Copyright (c) 2014-2022, The Monero Project
|
# Copyright (c) 2014-2020, The Monero Project
|
||||||
#
|
#
|
||||||
# All rights reserved.
|
# All rights reserved.
|
||||||
#
|
#
|
||||||
@@ -50,7 +50,7 @@ option (CCACHE "")
|
|||||||
file(WRITE "${CMAKE_SOURCE_DIR}/test.cpp" "int main() { return 0; }")
|
file(WRITE "${CMAKE_SOURCE_DIR}/test.cpp" "int main() { return 0; }")
|
||||||
set_property(GLOBAL PROPERTY RULE_LAUNCH_COMPILE "${CCACHE}")
|
set_property(GLOBAL PROPERTY RULE_LAUNCH_COMPILE "${CCACHE}")
|
||||||
set_property(GLOBAL PROPERTY RULE_LAUNCH_LINK "${CCACHE}")
|
set_property(GLOBAL PROPERTY RULE_LAUNCH_LINK "${CCACHE}")
|
||||||
add_executable(main test.cpp)
|
add_executable(test test.cpp)
|
||||||
]=])
|
]=])
|
||||||
try_compile(RET "${TEST_PROJECT}/build" "${TEST_PROJECT}" "test" CMAKE_FLAGS -DCCACHE="${CCACHE_FOUND}")
|
try_compile(RET "${TEST_PROJECT}/build" "${TEST_PROJECT}" "test" CMAKE_FLAGS -DCCACHE="${CCACHE_FOUND}")
|
||||||
unset(TEST_PROJECT)
|
unset(TEST_PROJECT)
|
||||||
|
|||||||
@@ -39,28 +39,19 @@ find_package_handle_standard_args(HIDAPI
|
|||||||
|
|
||||||
if(HIDAPI_FOUND)
|
if(HIDAPI_FOUND)
|
||||||
set(HIDAPI_LIBRARIES "${HIDAPI_LIBRARY}")
|
set(HIDAPI_LIBRARIES "${HIDAPI_LIBRARY}")
|
||||||
if((STATIC AND UNIX AND NOT APPLE) OR (DEPENDS AND CMAKE_SYSTEM_NAME STREQUAL "Linux") OR ANDROID)
|
if((STATIC AND UNIX AND NOT APPLE) OR (DEPENDS AND CMAKE_SYSTEM_NAME STREQUAL "Linux"))
|
||||||
find_library(LIBUSB-1.0_LIBRARY usb-1.0)
|
find_library(LIBUSB-1.0_LIBRARY usb-1.0)
|
||||||
find_library(LIBUDEV_LIBRARY udev)
|
find_library(LIBUDEV_LIBRARY udev)
|
||||||
if(LIBUSB-1.0_LIBRARY)
|
if(LIBUSB-1.0_LIBRARY)
|
||||||
set(HIDAPI_LIBRARIES "${HIDAPI_LIBRARIES};${LIBUSB-1.0_LIBRARY}")
|
set(HIDAPI_LIBRARIES "${HIDAPI_LIBRARIES};${LIBUSB-1.0_LIBRARY}")
|
||||||
if(LIBUDEV_LIBRARY)
|
if(LIBUDEV_LIBRARY)
|
||||||
set(HIDAPI_LIBRARIES "${HIDAPI_LIBRARIES};${LIBUDEV_LIBRARY}")
|
set(HIDAPI_LIBRARIES "${HIDAPI_LIBRARIES};${LIBUDEV_LIBRARY}")
|
||||||
elseif(NOT ANDROID)
|
else()
|
||||||
message(WARNING "libudev library not found, binaries may fail to link.")
|
message(WARNING "libudev library not found, binaries may fail to link.")
|
||||||
endif()
|
endif()
|
||||||
else()
|
else()
|
||||||
message(WARNING "libusb-1.0 library not found, binaries may fail to link.")
|
message(WARNING "libusb-1.0 library not found, binaries may fail to link.")
|
||||||
endif()
|
endif()
|
||||||
if(ANDROID)
|
|
||||||
# libusb uses android log library
|
|
||||||
find_library(ANDROID_LOG_LIBRARY log)
|
|
||||||
if(ANDROID_LOG_LIBRARY)
|
|
||||||
set(HIDAPI_LIBRARIES "${HIDAPI_LIBRARIES};${ANDROID_LOG_LIBRARY}")
|
|
||||||
else()
|
|
||||||
message(WARNING "Android log library not found, binaries may fail to link.")
|
|
||||||
endif()
|
|
||||||
endif()
|
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
set(HIDAPI_INCLUDE_DIRS "${HIDAPI_INCLUDE_DIR}")
|
set(HIDAPI_INCLUDE_DIRS "${HIDAPI_INCLUDE_DIR}")
|
||||||
|
|||||||
@@ -99,7 +99,7 @@ if ( LibUSB_FOUND )
|
|||||||
check_library_exists ( "${LibUSB_LIBRARIES}" libusb_get_device_list "" LibUSB_VERSION_1.0 )
|
check_library_exists ( "${LibUSB_LIBRARIES}" libusb_get_device_list "" LibUSB_VERSION_1.0 )
|
||||||
check_library_exists ( "${LibUSB_LIBRARIES}" libusb_get_port_numbers "" LibUSB_VERSION_1.0.16 )
|
check_library_exists ( "${LibUSB_LIBRARIES}" libusb_get_port_numbers "" LibUSB_VERSION_1.0.16 )
|
||||||
|
|
||||||
if((STATIC AND UNIX AND NOT APPLE) OR (DEPENDS AND CMAKE_SYSTEM_NAME STREQUAL "Linux") OR ANDROID)
|
if((STATIC AND UNIX AND NOT APPLE) OR (DEPENDS AND CMAKE_SYSTEM_NAME STREQUAL "Linux"))
|
||||||
find_library(LIBUDEV_LIBRARY udev)
|
find_library(LIBUDEV_LIBRARY udev)
|
||||||
if(LIBUDEV_LIBRARY)
|
if(LIBUDEV_LIBRARY)
|
||||||
set(LibUSB_LIBRARIES "${LibUSB_LIBRARIES};${LIBUDEV_LIBRARY}")
|
set(LibUSB_LIBRARIES "${LibUSB_LIBRARIES};${LIBUDEV_LIBRARY}")
|
||||||
@@ -113,7 +113,7 @@ if ( LibUSB_FOUND )
|
|||||||
if (APPLE OR LibUSB_VERSION_1.0.16 OR STATIC)
|
if (APPLE OR LibUSB_VERSION_1.0.16 OR STATIC)
|
||||||
if (APPLE)
|
if (APPLE)
|
||||||
if(DEPENDS)
|
if(DEPENDS)
|
||||||
list(APPEND TEST_COMPILE_EXTRA_LIBRARIES "-framework Foundation -framework IOKit -framework Security")
|
list(APPEND TEST_COMPILE_EXTRA_LIBRARIES "-framework Foundation -framework IOKit")
|
||||||
else()
|
else()
|
||||||
find_library(COREFOUNDATION CoreFoundation)
|
find_library(COREFOUNDATION CoreFoundation)
|
||||||
find_library(IOKIT IOKit)
|
find_library(IOKIT IOKit)
|
||||||
|
|||||||
@@ -1,104 +0,0 @@
|
|||||||
#[=======================================================================[.rst:
|
|
||||||
FindLibunbound
|
|
||||||
--------------
|
|
||||||
|
|
||||||
Find the Libunbound library
|
|
||||||
|
|
||||||
Imported targets
|
|
||||||
^^^^^^^^^^^^^^^^
|
|
||||||
|
|
||||||
This module defines the following :prop_tgt:`IMPORTED` targets:
|
|
||||||
|
|
||||||
``Libunbound::Libunbound``
|
|
||||||
The Libunbound library, if found.
|
|
||||||
|
|
||||||
Result variables
|
|
||||||
^^^^^^^^^^^^^^^^
|
|
||||||
|
|
||||||
This module will set the following variables in your project:
|
|
||||||
|
|
||||||
``Libunbound_FOUND``
|
|
||||||
If false, do not try to use Libunbound.
|
|
||||||
``LIBUNBOUND_INCLUDE_DIR``
|
|
||||||
where to find libunbound headers.
|
|
||||||
``LIBUNBOUND_LIBRARIES``
|
|
||||||
the libraries needed to use Libunbound.
|
|
||||||
``LIBUNBOUND_VERSION``
|
|
||||||
the version of the Libunbound library found
|
|
||||||
|
|
||||||
#]=======================================================================]
|
|
||||||
|
|
||||||
find_package(PkgConfig QUIET)
|
|
||||||
if (PKG_CONFIG_FOUND)
|
|
||||||
pkg_check_modules(PkgLibunbound IMPORTED_TARGET GLOBAL QUIET libunbound)
|
|
||||||
endif ()
|
|
||||||
|
|
||||||
if (PkgLibunbound_FOUND)
|
|
||||||
set(LIBUNBOUND_INCLUDE_DIR ${PkgLibunbound_INCLUDE_DIRS} CACHE FILEPATH "libunbound include path")
|
|
||||||
set(LIBUNBOUND_LIBRARIES ${PkgLibunbound_LIBRARIES} CACHE STRING "libunbound libraries")
|
|
||||||
set(LIBUNBOUND_VERSION ${PkgLibunbound_VERSION})
|
|
||||||
add_library(Libunbound::Libunbound ALIAS PkgConfig::PkgLibunbound)
|
|
||||||
set(Libunbound_FOUND ON)
|
|
||||||
else ()
|
|
||||||
find_path(LIBUNBOUND_INCLUDE_DIR unbound.h
|
|
||||||
HINTS
|
|
||||||
"${LIBUNBOUND_DIR}"
|
|
||||||
"${LIBUNBOUND_DIR}/include"
|
|
||||||
)
|
|
||||||
|
|
||||||
find_library(LIBUNBOUND_LIBRARY NAMES unbound
|
|
||||||
HINTS
|
|
||||||
"${LIBUNBOUND_DIR}"
|
|
||||||
"${LIBUNBOUND_DIR}/lib"
|
|
||||||
)
|
|
||||||
|
|
||||||
set(_LIBUNBOUND_LIBRARIES "")
|
|
||||||
|
|
||||||
if (UNIX)
|
|
||||||
find_package(Threads REQUIRED)
|
|
||||||
find_package(OpenSSL REQUIRED)
|
|
||||||
|
|
||||||
list(APPEND _LIBUNBOUND_LIBRARIES "${CMAKE_THREAD_LIBS_INIT}")
|
|
||||||
list(APPEND _LIBUNBOUND_LIBRARIES "${OPENSSL_LIBRARIES}")
|
|
||||||
endif()
|
|
||||||
|
|
||||||
if (LIBUNBOUND_INCLUDE_DIR AND LIBUNBOUND_LIBRARY)
|
|
||||||
if (NOT TARGET Libunbound::Libunbound)
|
|
||||||
add_library(Libunbound::Libunbound UNKNOWN IMPORTED)
|
|
||||||
set_target_properties(Libunbound::Libunbound PROPERTIES
|
|
||||||
INTERFACE_INCLUDE_DIRECTORIES "${LIBUNBOUND_INCLUDE_DIR}"
|
|
||||||
IMPORTED_LINK_INTERFACE_LANGUAGES "C"
|
|
||||||
IMPORTED_LOCATION "${LIBUNBOUND_LIBRARY}"
|
|
||||||
)
|
|
||||||
|
|
||||||
if(UNIX AND TARGET Threads::Threads)
|
|
||||||
set_property(TARGET Libunbound::Libunbound APPEND PROPERTY
|
|
||||||
INTERFACE_LINK_LIBRARIES Threads::Threads)
|
|
||||||
endif ()
|
|
||||||
if(UNIX AND TARGET OpenSSL::SSL)
|
|
||||||
set_property(TARGET Libunbound::Libunbound APPEND PROPERTY
|
|
||||||
INTERFACE_LINK_LIBRARIES OpenSSL::SSL)
|
|
||||||
endif ()
|
|
||||||
if(UNIX AND TARGET OpenSSL::Crypto)
|
|
||||||
set_property(TARGET Libunbound::Libunbound APPEND PROPERTY
|
|
||||||
INTERFACE_LINK_LIBRARIES OpenSSL::Crypto)
|
|
||||||
endif ()
|
|
||||||
endif ()
|
|
||||||
|
|
||||||
if (NOT LIBUNBOUND_VERSION AND LIBUNBOUND_INCLUDE_DIR AND EXISTS "${LIBUNBOUND_INCLUDE_DIR}/unbound.h")
|
|
||||||
file(STRINGS "${LIBUNBOUND_INCLUDE_DIR}/unbound.h" LIBUNBOUND_H REGEX "^#define UNBOUND_VERSION_M[A-Z]+")
|
|
||||||
string(REGEX REPLACE "^.*MAJOR ([0-9]+).*MINOR ([0-9]+).*MICRO ([0-9]+).*$" "\\1.\\2.\\3" LIBUNBOUND_VERSION "${LIBUNBOUND_H}")
|
|
||||||
endif ()
|
|
||||||
endif ()
|
|
||||||
|
|
||||||
list(APPEND _LIBUNBOUND_LIBRARIES "${LIBUNBOUND_LIBRARY}")
|
|
||||||
set(LIBUNBOUND_LIBRARIES ${_LIBUNBOUND_LIBRARIES} CACHE STRING "libunbound libraries")
|
|
||||||
|
|
||||||
include(FindPackageHandleStandardArgs)
|
|
||||||
find_package_handle_standard_args(Libunbound
|
|
||||||
REQUIRED_VARS LIBUNBOUND_LIBRARIES LIBUNBOUND_INCLUDE_DIR
|
|
||||||
VERSION_VAR LIBUNBOUND_VERSION
|
|
||||||
)
|
|
||||||
endif ()
|
|
||||||
|
|
||||||
mark_as_advanced(LIBUNBOUND_INCLUDE_DIR LIBUNBOUND_LIBRARIES LIBUNBOUND_LIBRARY)
|
|
||||||
@@ -23,7 +23,7 @@
|
|||||||
|
|
||||||
find_path(Readline_ROOT_DIR
|
find_path(Readline_ROOT_DIR
|
||||||
NAMES include/readline/readline.h
|
NAMES include/readline/readline.h
|
||||||
PATHS /usr/local/opt/readline/ /opt/homebrew/opt/readline/ /opt/local/ /usr/local/ /usr/
|
PATHS /usr/local/opt/readline/ /opt/local/ /usr/local/ /usr/
|
||||||
NO_DEFAULT_PATH
|
NO_DEFAULT_PATH
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|||||||
21
utils/health/clang-tidy-run-cc.sh → cmake/FindUnbound.cmake
Executable file → Normal file
21
utils/health/clang-tidy-run-cc.sh → cmake/FindUnbound.cmake
Executable file → Normal file
@@ -1,7 +1,4 @@
|
|||||||
#!/bin/bash -e
|
# Copyright (c) 2014-2020, The Monero Project
|
||||||
|
|
||||||
# Copyright (c) 2014-2022, The Monero Project
|
|
||||||
#
|
|
||||||
# All rights reserved.
|
# All rights reserved.
|
||||||
#
|
#
|
||||||
# Redistribution and use in source and binary forms, with or without modification, are
|
# Redistribution and use in source and binary forms, with or without modification, are
|
||||||
@@ -28,10 +25,16 @@
|
|||||||
# STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF
|
# STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF
|
||||||
# THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
# THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
|
||||||
# clang-tidy runs lint checks on C & C++ sources and headers.
|
MESSAGE(STATUS "Looking for libunbound")
|
||||||
# Run this script from the source directory.
|
|
||||||
|
|
||||||
DIR_THIS="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )"
|
FIND_PATH(UNBOUND_INCLUDE_DIR
|
||||||
source "$DIR_THIS/clang-tidy-run-common.sh"
|
NAMES unbound.h
|
||||||
|
PATH_SUFFIXES include/ include/unbound/
|
||||||
|
PATHS "${PROJECT_SOURCE_DIR}"
|
||||||
|
${UNBOUND_ROOT}
|
||||||
|
$ENV{UNBOUND_ROOT}
|
||||||
|
/usr/local/
|
||||||
|
/usr/
|
||||||
|
)
|
||||||
|
|
||||||
tidy_for_language "C"
|
find_library(UNBOUND_LIBRARIES unbound)
|
||||||
@@ -1,17 +0,0 @@
|
|||||||
# - Try to find ZMQ
|
|
||||||
# Once done this will define
|
|
||||||
# ZMQ_FOUND - System has ZMQ
|
|
||||||
# ZMQ_INCLUDE_DIRS - The ZMQ include directories
|
|
||||||
# ZMQ_LIBRARIES - The libraries needed to use ZMQ
|
|
||||||
# ZMQ_DEFINITIONS - Compiler switches required for using ZMQ
|
|
||||||
|
|
||||||
find_path ( ZMQ_INCLUDE_DIR zmq.h )
|
|
||||||
find_library ( ZMQ_LIBRARY NAMES zmq )
|
|
||||||
|
|
||||||
set ( ZMQ_LIBRARIES ${ZMQ_LIBRARY} )
|
|
||||||
set ( ZMQ_INCLUDE_DIRS ${ZMQ_INCLUDE_DIR} )
|
|
||||||
|
|
||||||
include ( FindPackageHandleStandardArgs )
|
|
||||||
# handle the QUIETLY and REQUIRED arguments and set ZMQ_FOUND to TRUE
|
|
||||||
# if all listed variables are TRUE
|
|
||||||
find_package_handle_standard_args ( ZMQ DEFAULT_MSG ZMQ_LIBRARY ZMQ_INCLUDE_DIR )
|
|
||||||
@@ -1,291 +0,0 @@
|
|||||||
# Written in 2016 by Henrik Steffen Gaßmann <henrik@gassmann.onl>
|
|
||||||
#
|
|
||||||
# To the extent possible under law, the author(s) have dedicated all copyright
|
|
||||||
# and related and neighboring rights to this software to the public domain
|
|
||||||
# worldwide. This software is distributed without any warranty.
|
|
||||||
#
|
|
||||||
# You should have received a copy of the CC0 Public Domain Dedication along with
|
|
||||||
# this software. If not, see
|
|
||||||
#
|
|
||||||
# http://creativecommons.org/publicdomain/zero/1.0/
|
|
||||||
#
|
|
||||||
# ##############################################################################
|
|
||||||
# Tries to find the local libsodium installation.
|
|
||||||
#
|
|
||||||
# On Windows the sodium_DIR environment variable is used as a default hint which
|
|
||||||
# can be overridden by setting the corresponding cmake variable.
|
|
||||||
#
|
|
||||||
# Once done the following variables will be defined:
|
|
||||||
#
|
|
||||||
# sodium_FOUND sodium_INCLUDE_DIR sodium_LIBRARY_DEBUG sodium_LIBRARY_RELEASE
|
|
||||||
# sodium_VERSION_STRING
|
|
||||||
#
|
|
||||||
# Furthermore an imported "sodium" target is created.
|
|
||||||
#
|
|
||||||
|
|
||||||
if(CMAKE_C_COMPILER_ID STREQUAL "GNU" OR CMAKE_C_COMPILER_ID STREQUAL "Clang")
|
|
||||||
set(_GCC_COMPATIBLE 1)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
# static library option
|
|
||||||
if(NOT DEFINED sodium_USE_STATIC_LIBS)
|
|
||||||
option(sodium_USE_STATIC_LIBS "enable to statically link against sodium" OFF)
|
|
||||||
endif()
|
|
||||||
if(NOT (sodium_USE_STATIC_LIBS EQUAL sodium_USE_STATIC_LIBS_LAST))
|
|
||||||
unset(sodium_LIBRARY CACHE)
|
|
||||||
unset(sodium_LIBRARY_DEBUG CACHE)
|
|
||||||
unset(sodium_LIBRARY_RELEASE CACHE)
|
|
||||||
unset(sodium_DLL_DEBUG CACHE)
|
|
||||||
unset(sodium_DLL_RELEASE CACHE)
|
|
||||||
set(sodium_USE_STATIC_LIBS_LAST
|
|
||||||
${sodium_USE_STATIC_LIBS}
|
|
||||||
CACHE INTERNAL "internal change tracking variable")
|
|
||||||
endif()
|
|
||||||
|
|
||||||
# ##############################################################################
|
|
||||||
# UNIX
|
|
||||||
if(UNIX)
|
|
||||||
# import pkg-config
|
|
||||||
find_package(PkgConfig QUIET)
|
|
||||||
if(PKG_CONFIG_FOUND)
|
|
||||||
pkg_check_modules(sodium_PKG QUIET libsodium)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
if(sodium_USE_STATIC_LIBS)
|
|
||||||
if(sodium_PKG_STATIC_LIBRARIES)
|
|
||||||
foreach(_libname ${sodium_PKG_STATIC_LIBRARIES})
|
|
||||||
if(NOT _libname MATCHES "^lib.*\\.a$") # ignore strings already ending
|
|
||||||
# with .a
|
|
||||||
list(INSERT sodium_PKG_STATIC_LIBRARIES 0 "lib${_libname}.a")
|
|
||||||
endif()
|
|
||||||
endforeach()
|
|
||||||
list(REMOVE_DUPLICATES sodium_PKG_STATIC_LIBRARIES)
|
|
||||||
else()
|
|
||||||
# if pkgconfig for libsodium doesn't provide static lib info, then
|
|
||||||
# override PKG_STATIC here..
|
|
||||||
set(sodium_PKG_STATIC_LIBRARIES libsodium.a)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
set(XPREFIX sodium_PKG_STATIC)
|
|
||||||
else()
|
|
||||||
if(sodium_PKG_LIBRARIES STREQUAL "")
|
|
||||||
set(sodium_PKG_LIBRARIES sodium)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
set(XPREFIX sodium_PKG)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
find_path(sodium_INCLUDE_DIR sodium.h HINTS ${${XPREFIX}_INCLUDE_DIRS})
|
|
||||||
find_library(sodium_LIBRARY_DEBUG
|
|
||||||
NAMES ${${XPREFIX}_LIBRARIES}
|
|
||||||
HINTS ${${XPREFIX}_LIBRARY_DIRS})
|
|
||||||
find_library(sodium_LIBRARY_RELEASE
|
|
||||||
NAMES ${${XPREFIX}_LIBRARIES}
|
|
||||||
HINTS ${${XPREFIX}_LIBRARY_DIRS})
|
|
||||||
|
|
||||||
# ############################################################################
|
|
||||||
# Windows
|
|
||||||
elseif(WIN32)
|
|
||||||
set(sodium_DIR "$ENV{sodium_DIR}" CACHE FILEPATH "sodium install directory")
|
|
||||||
mark_as_advanced(sodium_DIR)
|
|
||||||
|
|
||||||
find_path(sodium_INCLUDE_DIR sodium.h
|
|
||||||
HINTS ${sodium_DIR}
|
|
||||||
PATH_SUFFIXES include)
|
|
||||||
|
|
||||||
if(MSVC)
|
|
||||||
# detect target architecture
|
|
||||||
file(WRITE "${CMAKE_CURRENT_BINARY_DIR}/arch.c" [=[
|
|
||||||
#if defined _M_IX86
|
|
||||||
#error ARCH_VALUE x86_32
|
|
||||||
#elif defined _M_X64
|
|
||||||
#error ARCH_VALUE x86_64
|
|
||||||
#endif
|
|
||||||
#error ARCH_VALUE unknown
|
|
||||||
]=])
|
|
||||||
try_compile(_UNUSED_VAR "${CMAKE_CURRENT_BINARY_DIR}"
|
|
||||||
"${CMAKE_CURRENT_BINARY_DIR}/arch.c"
|
|
||||||
OUTPUT_VARIABLE _COMPILATION_LOG)
|
|
||||||
string(REGEX
|
|
||||||
REPLACE ".*ARCH_VALUE ([a-zA-Z0-9_]+).*"
|
|
||||||
"\\1"
|
|
||||||
_TARGET_ARCH
|
|
||||||
"${_COMPILATION_LOG}")
|
|
||||||
|
|
||||||
# construct library path
|
|
||||||
if(_TARGET_ARCH STREQUAL "x86_32")
|
|
||||||
string(APPEND _PLATFORM_PATH "Win32")
|
|
||||||
elseif(_TARGET_ARCH STREQUAL "x86_64")
|
|
||||||
string(APPEND _PLATFORM_PATH "x64")
|
|
||||||
else()
|
|
||||||
message(
|
|
||||||
FATAL_ERROR
|
|
||||||
"the ${_TARGET_ARCH} architecture is not supported by Findsodium.cmake."
|
|
||||||
)
|
|
||||||
endif()
|
|
||||||
string(APPEND _PLATFORM_PATH "/$$CONFIG$$")
|
|
||||||
|
|
||||||
if(MSVC_VERSION LESS 1900)
|
|
||||||
math(EXPR _VS_VERSION "${MSVC_VERSION} / 10 - 60")
|
|
||||||
else()
|
|
||||||
math(EXPR _VS_VERSION "${MSVC_VERSION} / 10 - 50")
|
|
||||||
endif()
|
|
||||||
string(APPEND _PLATFORM_PATH "/v${_VS_VERSION}")
|
|
||||||
|
|
||||||
if(sodium_USE_STATIC_LIBS)
|
|
||||||
string(APPEND _PLATFORM_PATH "/static")
|
|
||||||
else()
|
|
||||||
string(APPEND _PLATFORM_PATH "/dynamic")
|
|
||||||
endif()
|
|
||||||
|
|
||||||
string(REPLACE "$$CONFIG$$"
|
|
||||||
"Debug"
|
|
||||||
_DEBUG_PATH_SUFFIX
|
|
||||||
"${_PLATFORM_PATH}")
|
|
||||||
string(REPLACE "$$CONFIG$$"
|
|
||||||
"Release"
|
|
||||||
_RELEASE_PATH_SUFFIX
|
|
||||||
"${_PLATFORM_PATH}")
|
|
||||||
|
|
||||||
find_library(sodium_LIBRARY_DEBUG libsodium.lib
|
|
||||||
HINTS ${sodium_DIR}
|
|
||||||
PATH_SUFFIXES ${_DEBUG_PATH_SUFFIX})
|
|
||||||
find_library(sodium_LIBRARY_RELEASE libsodium.lib
|
|
||||||
HINTS ${sodium_DIR}
|
|
||||||
PATH_SUFFIXES ${_RELEASE_PATH_SUFFIX})
|
|
||||||
if(NOT sodium_USE_STATIC_LIBS)
|
|
||||||
set(CMAKE_FIND_LIBRARY_SUFFIXES_BCK ${CMAKE_FIND_LIBRARY_SUFFIXES})
|
|
||||||
set(CMAKE_FIND_LIBRARY_SUFFIXES ".dll")
|
|
||||||
find_library(sodium_DLL_DEBUG libsodium
|
|
||||||
HINTS ${sodium_DIR}
|
|
||||||
PATH_SUFFIXES ${_DEBUG_PATH_SUFFIX})
|
|
||||||
find_library(sodium_DLL_RELEASE libsodium
|
|
||||||
HINTS ${sodium_DIR}
|
|
||||||
PATH_SUFFIXES ${_RELEASE_PATH_SUFFIX})
|
|
||||||
set(CMAKE_FIND_LIBRARY_SUFFIXES ${CMAKE_FIND_LIBRARY_SUFFIXES_BCK})
|
|
||||||
endif()
|
|
||||||
|
|
||||||
elseif(_GCC_COMPATIBLE)
|
|
||||||
if(sodium_USE_STATIC_LIBS)
|
|
||||||
find_library(sodium_LIBRARY_DEBUG libsodium.a
|
|
||||||
HINTS ${sodium_DIR}
|
|
||||||
PATH_SUFFIXES lib)
|
|
||||||
find_library(sodium_LIBRARY_RELEASE libsodium.a
|
|
||||||
HINTS ${sodium_DIR}
|
|
||||||
PATH_SUFFIXES lib)
|
|
||||||
else()
|
|
||||||
find_library(sodium_LIBRARY_DEBUG libsodium.dll.a
|
|
||||||
HINTS ${sodium_DIR}
|
|
||||||
PATH_SUFFIXES lib)
|
|
||||||
find_library(sodium_LIBRARY_RELEASE libsodium.dll.a
|
|
||||||
HINTS ${sodium_DIR}
|
|
||||||
PATH_SUFFIXES lib)
|
|
||||||
|
|
||||||
file(GLOB _DLL
|
|
||||||
LIST_DIRECTORIES false
|
|
||||||
RELATIVE "${sodium_DIR}/bin"
|
|
||||||
"${sodium_DIR}/bin/libsodium*.dll")
|
|
||||||
find_library(sodium_DLL_DEBUG ${_DLL} libsodium
|
|
||||||
HINTS ${sodium_DIR}
|
|
||||||
PATH_SUFFIXES bin)
|
|
||||||
find_library(sodium_DLL_RELEASE ${_DLL} libsodium
|
|
||||||
HINTS ${sodium_DIR}
|
|
||||||
PATH_SUFFIXES bin)
|
|
||||||
endif()
|
|
||||||
else()
|
|
||||||
message(FATAL_ERROR "this platform is not supported by FindSodium.cmake")
|
|
||||||
endif()
|
|
||||||
|
|
||||||
# ############################################################################
|
|
||||||
# unsupported
|
|
||||||
else()
|
|
||||||
message(FATAL_ERROR "this platform is not supported by FindSodium.cmake")
|
|
||||||
endif()
|
|
||||||
|
|
||||||
# ##############################################################################
|
|
||||||
# common stuff
|
|
||||||
|
|
||||||
# extract sodium version
|
|
||||||
if(sodium_INCLUDE_DIR)
|
|
||||||
set(_VERSION_HEADER "${sodium_INCLUDE_DIR}/sodium/version.h")
|
|
||||||
if(EXISTS "${_VERSION_HEADER}")
|
|
||||||
file(READ "${_VERSION_HEADER}" _VERSION_HEADER_CONTENT)
|
|
||||||
string(REGEX
|
|
||||||
REPLACE ".*define[ \t]+SODIUM_VERSION_STRING[^\"]+\"([^\"]+)\".*"
|
|
||||||
"\\1"
|
|
||||||
sodium_VERSION_STRING
|
|
||||||
"${_VERSION_HEADER_CONTENT}")
|
|
||||||
set(sodium_VERSION_STRING "${sodium_VERSION_STRING}")
|
|
||||||
endif()
|
|
||||||
endif()
|
|
||||||
|
|
||||||
# communicate results
|
|
||||||
include(FindPackageHandleStandardArgs)
|
|
||||||
find_package_handle_standard_args(sodium
|
|
||||||
REQUIRED_VARS
|
|
||||||
sodium_LIBRARY_RELEASE
|
|
||||||
sodium_LIBRARY_DEBUG
|
|
||||||
sodium_INCLUDE_DIR
|
|
||||||
VERSION_VAR
|
|
||||||
sodium_VERSION_STRING)
|
|
||||||
|
|
||||||
# mark file paths as advanced
|
|
||||||
mark_as_advanced(sodium_INCLUDE_DIR)
|
|
||||||
mark_as_advanced(sodium_LIBRARY_DEBUG)
|
|
||||||
mark_as_advanced(sodium_LIBRARY_RELEASE)
|
|
||||||
if(WIN32)
|
|
||||||
mark_as_advanced(sodium_DLL_DEBUG)
|
|
||||||
mark_as_advanced(sodium_DLL_RELEASE)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
# create imported target
|
|
||||||
if(sodium_USE_STATIC_LIBS)
|
|
||||||
set(_LIB_TYPE STATIC)
|
|
||||||
else()
|
|
||||||
set(_LIB_TYPE SHARED)
|
|
||||||
endif()
|
|
||||||
add_library(sodium ${_LIB_TYPE} IMPORTED)
|
|
||||||
|
|
||||||
set_target_properties(sodium
|
|
||||||
PROPERTIES INTERFACE_INCLUDE_DIRECTORIES
|
|
||||||
"${sodium_INCLUDE_DIR}"
|
|
||||||
IMPORTED_LINK_INTERFACE_LANGUAGES
|
|
||||||
"C")
|
|
||||||
|
|
||||||
if(sodium_USE_STATIC_LIBS)
|
|
||||||
set_target_properties(sodium
|
|
||||||
PROPERTIES INTERFACE_COMPILE_DEFINITIONS
|
|
||||||
"SODIUM_STATIC"
|
|
||||||
IMPORTED_LOCATION
|
|
||||||
"${sodium_LIBRARY_RELEASE}"
|
|
||||||
IMPORTED_LOCATION_DEBUG
|
|
||||||
"${sodium_LIBRARY_DEBUG}")
|
|
||||||
else()
|
|
||||||
if(UNIX)
|
|
||||||
set_target_properties(sodium
|
|
||||||
PROPERTIES IMPORTED_LOCATION
|
|
||||||
"${sodium_LIBRARY_RELEASE}"
|
|
||||||
IMPORTED_LOCATION_DEBUG
|
|
||||||
"${sodium_LIBRARY_DEBUG}")
|
|
||||||
elseif(WIN32)
|
|
||||||
set_target_properties(sodium
|
|
||||||
PROPERTIES IMPORTED_IMPLIB
|
|
||||||
"${sodium_LIBRARY_RELEASE}"
|
|
||||||
IMPORTED_IMPLIB_DEBUG
|
|
||||||
"${sodium_LIBRARY_DEBUG}")
|
|
||||||
if(NOT (sodium_DLL_DEBUG MATCHES ".*-NOTFOUND"))
|
|
||||||
set_target_properties(sodium
|
|
||||||
PROPERTIES IMPORTED_LOCATION_DEBUG
|
|
||||||
"${sodium_DLL_DEBUG}")
|
|
||||||
endif()
|
|
||||||
if(NOT (sodium_DLL_RELEASE MATCHES ".*-NOTFOUND"))
|
|
||||||
set_target_properties(sodium
|
|
||||||
PROPERTIES IMPORTED_LOCATION_RELWITHDEBINFO
|
|
||||||
"${sodium_DLL_RELEASE}"
|
|
||||||
IMPORTED_LOCATION_MINSIZEREL
|
|
||||||
"${sodium_DLL_RELEASE}"
|
|
||||||
IMPORTED_LOCATION_RELEASE
|
|
||||||
"${sodium_DLL_RELEASE}")
|
|
||||||
endif()
|
|
||||||
endif()
|
|
||||||
endif()
|
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
# Copyright (c) 2014-2022, The Monero Project
|
# Copyright (c) 2014-2020, The Monero Project
|
||||||
#
|
#
|
||||||
# All rights reserved.
|
# All rights reserved.
|
||||||
#
|
#
|
||||||
@@ -32,7 +32,7 @@
|
|||||||
|
|
||||||
function (get_version_tag_from_git GIT)
|
function (get_version_tag_from_git GIT)
|
||||||
execute_process(COMMAND "${GIT}" rev-parse --short=9 HEAD
|
execute_process(COMMAND "${GIT}" rev-parse --short=9 HEAD
|
||||||
WORKING_DIRECTORY ${CMAKE_CURRENT_LIST_DIR}
|
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
|
||||||
RESULT_VARIABLE RET
|
RESULT_VARIABLE RET
|
||||||
OUTPUT_VARIABLE COMMIT
|
OUTPUT_VARIABLE COMMIT
|
||||||
OUTPUT_STRIP_TRAILING_WHITESPACE)
|
OUTPUT_STRIP_TRAILING_WHITESPACE)
|
||||||
@@ -49,7 +49,7 @@ function (get_version_tag_from_git GIT)
|
|||||||
|
|
||||||
# Get all the tags
|
# Get all the tags
|
||||||
execute_process(COMMAND "${GIT}" tag -l --points-at HEAD
|
execute_process(COMMAND "${GIT}" tag -l --points-at HEAD
|
||||||
WORKING_DIRECTORY ${CMAKE_CURRENT_LIST_DIR}
|
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
|
||||||
RESULT_VARIABLE RET
|
RESULT_VARIABLE RET
|
||||||
OUTPUT_VARIABLE TAG
|
OUTPUT_VARIABLE TAG
|
||||||
OUTPUT_STRIP_TRAILING_WHITESPACE)
|
OUTPUT_STRIP_TRAILING_WHITESPACE)
|
||||||
|
|||||||
@@ -1,51 +0,0 @@
|
|||||||
@PACKAGE_INIT@
|
|
||||||
|
|
||||||
list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_LIST_DIR}/modules/")
|
|
||||||
include("${CMAKE_CURRENT_LIST_DIR}/MoneroTargets.cmake")
|
|
||||||
|
|
||||||
find_package(Threads)
|
|
||||||
find_package(Backtrace)
|
|
||||||
find_package(PythonInterp)
|
|
||||||
find_package(miniupnpc REQUIRED)
|
|
||||||
find_package(ZMQ REQUIRED)
|
|
||||||
|
|
||||||
find_package(OpenSSL REQUIRED)
|
|
||||||
find_package(Boost 1.58 REQUIRED COMPONENTS system filesystem thread date_time chrono regex serialization program_options locale)
|
|
||||||
find_package(Libunbound 1.16 REQUIRED)
|
|
||||||
find_package(sodium REQUIRED)
|
|
||||||
|
|
||||||
check_required_components(epee)
|
|
||||||
check_required_components(easylogging)
|
|
||||||
check_required_components(qrcodegen)
|
|
||||||
check_required_components(lmdb)
|
|
||||||
check_required_components(cncrypto)
|
|
||||||
check_required_components(version)
|
|
||||||
check_required_components(common)
|
|
||||||
check_required_components(lmdb_lib)
|
|
||||||
check_required_components(randomx)
|
|
||||||
check_required_components(cryptonote_format_utils_basic)
|
|
||||||
check_required_components(monero-crypto-amd64-64-24k)
|
|
||||||
check_required_components(wallet-crypto)
|
|
||||||
check_required_components(ringct)
|
|
||||||
check_required_components(cryptonote_basic)
|
|
||||||
check_required_components(ringct_basic)
|
|
||||||
check_required_components(checkpoints)
|
|
||||||
check_required_components(blockchain_db)
|
|
||||||
check_required_components(cryptonote_core)
|
|
||||||
check_required_components(cryptonote_protocol)
|
|
||||||
check_required_components(mnemonics)
|
|
||||||
check_required_components(device)
|
|
||||||
check_required_components(blocks)
|
|
||||||
check_required_components(wallet)
|
|
||||||
check_required_components(wallet_api)
|
|
||||||
check_required_components(rpc_base)
|
|
||||||
check_required_components(rpc)
|
|
||||||
check_required_components(rpc_pub)
|
|
||||||
check_required_components(daemon_messages)
|
|
||||||
check_required_components(daemon_rpc_server)
|
|
||||||
check_required_components(net)
|
|
||||||
check_required_components(p2p)
|
|
||||||
check_required_components(multisig)
|
|
||||||
check_required_components(hardforks)
|
|
||||||
check_required_components(daemonizer)
|
|
||||||
check_required_components(serialization)
|
|
||||||
72
cmake/SetClangTidy.cmake
Normal file
72
cmake/SetClangTidy.cmake
Normal file
@@ -0,0 +1,72 @@
|
|||||||
|
# Copyright (c) 2014-2020, The Monero Project
|
||||||
|
#
|
||||||
|
# All rights reserved.
|
||||||
|
#
|
||||||
|
# Redistribution and use in source and binary forms, with or without modification, are
|
||||||
|
# permitted provided that the following conditions are met:
|
||||||
|
#
|
||||||
|
# 1. Redistributions of source code must retain the above copyright notice, this list of
|
||||||
|
# conditions and the following disclaimer.
|
||||||
|
#
|
||||||
|
# 2. Redistributions in binary form must reproduce the above copyright notice, this list
|
||||||
|
# of conditions and the following disclaimer in the documentation and/or other
|
||||||
|
# materials provided with the distribution.
|
||||||
|
#
|
||||||
|
# 3. Neither the name of the copyright holder nor the names of its contributors may be
|
||||||
|
# used to endorse or promote products derived from this software without specific
|
||||||
|
# prior written permission.
|
||||||
|
#
|
||||||
|
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY
|
||||||
|
# EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
|
||||||
|
# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
|
||||||
|
# THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||||
|
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
|
||||||
|
# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||||
|
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
|
||||||
|
# STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF
|
||||||
|
# THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
|
||||||
|
# https://cmake.org/cmake/help/latest/variable/CMAKE_LANG_CLANG_TIDY.html
|
||||||
|
# This module sets the following variables:
|
||||||
|
# CMAKE_C_CLANG_TIDY
|
||||||
|
# CMAKE_CXX_CLANG_TIDY
|
||||||
|
# when clang-tidy is found in PATH. Afterwards, the code is being linted by the tool.
|
||||||
|
# The checks to be enabled can be manipulated with the variable MONERO_CLANG_TIDY_CHECKS
|
||||||
|
|
||||||
|
macro (monero_clang_tidy LANGUAGE)
|
||||||
|
set(TOOL_NAME "clang-tidy")
|
||||||
|
set(MONERO_CLANG_TIDY_MIN_VERSION "3.6")
|
||||||
|
if(${CMAKE_VERSION} VERSION_LESS "${MONERO_CLANG_TIDY_MIN_VERSION}")
|
||||||
|
message(FATAL_ERROR "Sorry, ${TOOL_NAME} is available for CMake from version ${MONERO_CLANG_TIDY_MIN_VERSION}")
|
||||||
|
else()
|
||||||
|
message(STATUS "Trying to enable ${TOOL_NAME}")
|
||||||
|
find_program(MONERO_CLANG_BIN ${TOOL_NAME})
|
||||||
|
if(NOT MONERO_CLANG_BIN)
|
||||||
|
message(FATAL_ERROR "${TOOL_NAME} not found! Try running: sudo apt install ${TOOL_NAME}")
|
||||||
|
else()
|
||||||
|
message(STATUS "Found ${MONERO_CLANG_BIN}")
|
||||||
|
set(MONERO_CLANG_TIDY_CHECKS
|
||||||
|
-header-filter=.; # By default the headers are excluded. This line enables them.
|
||||||
|
-checks=*; # Currently enabling all checks
|
||||||
|
# An example of selectively enabling checks:
|
||||||
|
#-checks=bugprone-*,cppcoreguidelines-avoid-goto # Have to be in one line :(
|
||||||
|
)
|
||||||
|
# Current list of checks is avaibale under:
|
||||||
|
# https://clang.llvm.org/extra/clang-tidy/
|
||||||
|
if (${LANGUAGE} STREQUAL "C")
|
||||||
|
set(CMAKE_C_CLANG_TIDY
|
||||||
|
${MONERO_CLANG_BIN}; # Mind the semicolon
|
||||||
|
${MONERO_CLANG_TIDY_CHECKS}
|
||||||
|
)
|
||||||
|
elseif (${LANGUAGE} STREQUAL "CXX")
|
||||||
|
set(CMAKE_CXX_CLANG_TIDY
|
||||||
|
${MONERO_CLANG_BIN}; # Mind the semicolon
|
||||||
|
${MONERO_CLANG_TIDY_CHECKS}
|
||||||
|
)
|
||||||
|
else()
|
||||||
|
message(FATAL_ERROR "${TOOL_NAME}: Unsupported language: ${LANGUAGE}")
|
||||||
|
endif()
|
||||||
|
endif()
|
||||||
|
endif()
|
||||||
|
endmacro()
|
||||||
|
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
# Copyright (c) 2014-2022, The Monero Project
|
# Copyright (c) 2014-2020, The Monero Project
|
||||||
#
|
#
|
||||||
# All rights reserved.
|
# All rights reserved.
|
||||||
#
|
#
|
||||||
|
|||||||
@@ -1,95 +0,0 @@
|
|||||||
include(GNUInstallDirs)
|
|
||||||
include(CMakePackageConfigHelpers)
|
|
||||||
|
|
||||||
function(monero_install_library targetName)
|
|
||||||
set(flags)
|
|
||||||
set(args)
|
|
||||||
set(listArgs INCLUDE_DIR HEADERS)
|
|
||||||
cmake_parse_arguments(arg "${flags}" "${args}" "${listArgs}" ${ARGN})
|
|
||||||
|
|
||||||
set(include_dir "${arg_INCLUDE_DIR}")
|
|
||||||
set(headers "${arg_HEADERS}")
|
|
||||||
|
|
||||||
if(NOT include_dir)
|
|
||||||
set(include_dir "${CMAKE_INSTALL_INCLUDEDIR}/monero/")
|
|
||||||
endif()
|
|
||||||
|
|
||||||
if(${targetName} STREQUAL "device")
|
|
||||||
message(STATUS "lol")
|
|
||||||
endif()
|
|
||||||
|
|
||||||
if(headers AND include_dir)
|
|
||||||
install_with_directory(DESTINATION ${include_dir} FILES ${headers})
|
|
||||||
endif()
|
|
||||||
|
|
||||||
install(TARGETS ${targetName} EXPORT MoneroTargets
|
|
||||||
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}/monero/
|
|
||||||
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}/monero/
|
|
||||||
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}/monero/
|
|
||||||
INCLUDES DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/monero/)
|
|
||||||
endfunction()
|
|
||||||
|
|
||||||
function(print_cmake_summary)
|
|
||||||
message(STATUS "\n====================================== SUMMARY")
|
|
||||||
message(STATUS "Using C security hardening flags: ${C_SECURITY_FLAGS}")
|
|
||||||
message(STATUS "Using C++ security hardening flags: ${CXX_SECURITY_FLAGS}")
|
|
||||||
message(STATUS "Using linker security hardening flags: ${LD_SECURITY_FLAGS}")
|
|
||||||
|
|
||||||
if(GIT_FOUND)
|
|
||||||
execute_process(COMMAND git rev-parse "HEAD" WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/wownero OUTPUT_VARIABLE _WOWNERO_HEAD OUTPUT_STRIP_TRAILING_WHITESPACE)
|
|
||||||
if(NOT _WOWNERO_HEAD STREQUAL WOWNERO_HEAD)
|
|
||||||
message(STATUS "[+] WOWNERO HEAD: ${_WOWNERO_HEAD} ... while CMake requested ${WOWNERO_HEAD}")
|
|
||||||
else()
|
|
||||||
message(STATUS "[+] WOWNERO HEAD: ${WOWNERO_HEAD}")
|
|
||||||
endif()
|
|
||||||
endif()
|
|
||||||
|
|
||||||
message(STATUS "[+] VERSION: ${VERSION}")
|
|
||||||
message(STATUS "[+] STATIC: ${STATIC}")
|
|
||||||
message(STATUS "[+] ARM: ${ARM}")
|
|
||||||
message(STATUS "[+] Android: ${ANDROID}")
|
|
||||||
message(STATUS "[+] iOS: ${IOS}")
|
|
||||||
|
|
||||||
message(STATUS "[+] OpenSSL")
|
|
||||||
message(STATUS " - version: ${OPENSSL_VERSION}")
|
|
||||||
message(STATUS " - dirs: ${OPENSSL_INCLUDE_DIR}")
|
|
||||||
message(STATUS " - libs: ${OPENSSL_LIBRARIES}")
|
|
||||||
|
|
||||||
if(CAIRO_FOUND)
|
|
||||||
message(STATUS "[+] Cairo")
|
|
||||||
message(STATUS " - version: ${CAIRO_VERSION}")
|
|
||||||
message(STATUS " - dirs: ${CAIRO_INCLUDE_DIRS}")
|
|
||||||
message(STATUS " - libs: ${CAIRO_LIBRARIES}")
|
|
||||||
endif()
|
|
||||||
|
|
||||||
if(XFIXES_FOUND)
|
|
||||||
message(STATUS "[+] Xfixes")
|
|
||||||
message(STATUS " - dirs: ${XFIXES_INCLUDE_DIR}")
|
|
||||||
message(STATUS " - libs: ${XFIXES_LIBRARY}")
|
|
||||||
endif()
|
|
||||||
|
|
||||||
message(STATUS "[+] Boost")
|
|
||||||
message(STATUS " - version: ${Boost_VERSION}")
|
|
||||||
message(STATUS " - dirs: ${Boost_INCLUDE_DIRS}")
|
|
||||||
message(STATUS " - libs: ${Boost_LIBRARIES}")
|
|
||||||
|
|
||||||
if(Iconv_FOUND)
|
|
||||||
message(STATUS "[+] Iconv")
|
|
||||||
message(STATUS " - version: ${Iconv_VERSION}")
|
|
||||||
message(STATUS " - libs: ${Iconv_LIBRARIES}")
|
|
||||||
message(STATUS " - dirs: ${Iconv_INCLUDE_DIRS}")
|
|
||||||
endif()
|
|
||||||
|
|
||||||
endfunction()
|
|
||||||
|
|
||||||
macro(install_with_directory)
|
|
||||||
set(optionsArgs "")
|
|
||||||
set(oneValueArgs "DESTINATION")
|
|
||||||
set(multiValueArgs "FILES")
|
|
||||||
cmake_parse_arguments(CAS "${optionsArgs}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN} )
|
|
||||||
|
|
||||||
foreach(FILE ${CAS_FILES})
|
|
||||||
get_filename_component(DIR ${FILE} DIRECTORY)
|
|
||||||
INSTALL(FILES ${FILE} DESTINATION ${CAS_DESTINATION}/${DIR})
|
|
||||||
endforeach()
|
|
||||||
endmacro(install_with_directory)
|
|
||||||
52
cmake/test-libusb-version.c
Normal file
52
cmake/test-libusb-version.c
Normal file
@@ -0,0 +1,52 @@
|
|||||||
|
// Copyright (c) 2014-2020, The Monero Project
|
||||||
|
//
|
||||||
|
// All rights reserved.
|
||||||
|
//
|
||||||
|
// Redistribution and use in source and binary forms, with or without modification, are
|
||||||
|
// permitted provided that the following conditions are met:
|
||||||
|
//
|
||||||
|
// 1. Redistributions of source code must retain the above copyright notice, this list of
|
||||||
|
// conditions and the following disclaimer.
|
||||||
|
//
|
||||||
|
// 2. Redistributions in binary form must reproduce the above copyright notice, this list
|
||||||
|
// of conditions and the following disclaimer in the documentation and/or other
|
||||||
|
// materials provided with the distribution.
|
||||||
|
//
|
||||||
|
// 3. Neither the name of the copyright holder nor the names of its contributors may be
|
||||||
|
// used to endorse or promote products derived from this software without specific
|
||||||
|
// prior written permission.
|
||||||
|
//
|
||||||
|
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY
|
||||||
|
// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
|
||||||
|
// MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
|
||||||
|
// THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||||
|
// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
|
||||||
|
// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||||
|
// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
|
||||||
|
// STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF
|
||||||
|
// THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
|
||||||
|
#include <libusb.h>
|
||||||
|
|
||||||
|
#define UNUSED(expr) (void)(expr)
|
||||||
|
|
||||||
|
int main(int argc, char *argv[]) {
|
||||||
|
libusb_device **devs;
|
||||||
|
libusb_context *ctx = NULL;
|
||||||
|
|
||||||
|
int r = libusb_init(&ctx); UNUSED(r);
|
||||||
|
ssize_t cnt = libusb_get_device_list(ctx, &devs); UNUSED(cnt);
|
||||||
|
|
||||||
|
struct libusb_device_descriptor desc;
|
||||||
|
r = libusb_get_device_descriptor(devs[0], &desc); UNUSED(r);
|
||||||
|
uint8_t bus_id = libusb_get_bus_number(devs[0]); UNUSED(bus_id);
|
||||||
|
uint8_t addr = libusb_get_device_address(devs[0]); UNUSED(addr);
|
||||||
|
|
||||||
|
uint8_t tmp_path[16];
|
||||||
|
r = libusb_get_port_numbers(devs[0], tmp_path, sizeof(tmp_path));
|
||||||
|
UNUSED(r);
|
||||||
|
UNUSED(tmp_path);
|
||||||
|
|
||||||
|
libusb_free_device_list(devs, 1);
|
||||||
|
libusb_exit(ctx);
|
||||||
|
}
|
||||||
43
cmake/test-protobuf.cpp
Normal file
43
cmake/test-protobuf.cpp
Normal file
@@ -0,0 +1,43 @@
|
|||||||
|
// Copyright (c) 2014-2020, The Monero Project
|
||||||
|
//
|
||||||
|
// All rights reserved.
|
||||||
|
//
|
||||||
|
// Redistribution and use in source and binary forms, with or without modification, are
|
||||||
|
// permitted provided that the following conditions are met:
|
||||||
|
//
|
||||||
|
// 1. Redistributions of source code must retain the above copyright notice, this list of
|
||||||
|
// conditions and the following disclaimer.
|
||||||
|
//
|
||||||
|
// 2. Redistributions in binary form must reproduce the above copyright notice, this list
|
||||||
|
// of conditions and the following disclaimer in the documentation and/or other
|
||||||
|
// materials provided with the distribution.
|
||||||
|
//
|
||||||
|
// 3. Neither the name of the copyright holder nor the names of its contributors may be
|
||||||
|
// used to endorse or promote products derived from this software without specific
|
||||||
|
// prior written permission.
|
||||||
|
//
|
||||||
|
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY
|
||||||
|
// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
|
||||||
|
// MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
|
||||||
|
// THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||||
|
// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
|
||||||
|
// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||||
|
// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
|
||||||
|
// STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF
|
||||||
|
// THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
|
||||||
|
#include <string>
|
||||||
|
#include <iostream>
|
||||||
|
#include <google/protobuf/message.h>
|
||||||
|
#include <google/protobuf/unknown_field_set.h>
|
||||||
|
#include "test-protobuf.pb.h"
|
||||||
|
|
||||||
|
int main(int argc, char *argv[]) {
|
||||||
|
google::protobuf::UnknownFieldSet ufs;
|
||||||
|
ufs.ClearAndFreeMemory();
|
||||||
|
|
||||||
|
Success sc;
|
||||||
|
sc.set_message("test");
|
||||||
|
sc.SerializeToOstream(&std::cerr);
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
7
cmake/test-protobuf.proto
Normal file
7
cmake/test-protobuf.proto
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
syntax = "proto2";
|
||||||
|
|
||||||
|
import "google/protobuf/descriptor.proto";
|
||||||
|
|
||||||
|
message Success {
|
||||||
|
optional string message = 1;
|
||||||
|
}
|
||||||
34
cmake/test-static-assert.c
Normal file
34
cmake/test-static-assert.c
Normal file
@@ -0,0 +1,34 @@
|
|||||||
|
// Copyright (c) 2014-2020, The Monero Project
|
||||||
|
//
|
||||||
|
// All rights reserved.
|
||||||
|
//
|
||||||
|
// Redistribution and use in source and binary forms, with or without modification, are
|
||||||
|
// permitted provided that the following conditions are met:
|
||||||
|
//
|
||||||
|
// 1. Redistributions of source code must retain the above copyright notice, this list of
|
||||||
|
// conditions and the following disclaimer.
|
||||||
|
//
|
||||||
|
// 2. Redistributions in binary form must reproduce the above copyright notice, this list
|
||||||
|
// of conditions and the following disclaimer in the documentation and/or other
|
||||||
|
// materials provided with the distribution.
|
||||||
|
//
|
||||||
|
// 3. Neither the name of the copyright holder nor the names of its contributors may be
|
||||||
|
// used to endorse or promote products derived from this software without specific
|
||||||
|
// prior written permission.
|
||||||
|
//
|
||||||
|
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY
|
||||||
|
// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
|
||||||
|
// MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
|
||||||
|
// THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||||
|
// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
|
||||||
|
// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||||
|
// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
|
||||||
|
// STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF
|
||||||
|
// THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
|
||||||
|
#include <assert.h>
|
||||||
|
|
||||||
|
static_assert(1, "FAIL");
|
||||||
|
int main(int argc, char *argv[]) {
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
34
cmake/test-static-assert.cpp
Normal file
34
cmake/test-static-assert.cpp
Normal file
@@ -0,0 +1,34 @@
|
|||||||
|
// Copyright (c) 2014-2020, The Monero Project
|
||||||
|
//
|
||||||
|
// All rights reserved.
|
||||||
|
//
|
||||||
|
// Redistribution and use in source and binary forms, with or without modification, are
|
||||||
|
// permitted provided that the following conditions are met:
|
||||||
|
//
|
||||||
|
// 1. Redistributions of source code must retain the above copyright notice, this list of
|
||||||
|
// conditions and the following disclaimer.
|
||||||
|
//
|
||||||
|
// 2. Redistributions in binary form must reproduce the above copyright notice, this list
|
||||||
|
// of conditions and the following disclaimer in the documentation and/or other
|
||||||
|
// materials provided with the distribution.
|
||||||
|
//
|
||||||
|
// 3. Neither the name of the copyright holder nor the names of its contributors may be
|
||||||
|
// used to endorse or promote products derived from this software without specific
|
||||||
|
// prior written permission.
|
||||||
|
//
|
||||||
|
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY
|
||||||
|
// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
|
||||||
|
// MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
|
||||||
|
// THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||||
|
// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
|
||||||
|
// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||||
|
// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
|
||||||
|
// STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF
|
||||||
|
// THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
|
||||||
|
#include <assert.h>
|
||||||
|
|
||||||
|
static_assert(1, "FAIL");
|
||||||
|
int main(int argc, char *argv[]) {
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
# Copyright (c) 2014-2022, The Monero Project
|
# Copyright (c) 2014-2020, The Monero Project
|
||||||
#
|
#
|
||||||
# All rights reserved.
|
# All rights reserved.
|
||||||
#
|
#
|
||||||
@@ -26,5 +26,6 @@
|
|||||||
# STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF
|
# STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF
|
||||||
# THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
# THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
|
||||||
|
monero_enable_coverage()
|
||||||
add_subdirectory(epee)
|
add_subdirectory(epee)
|
||||||
|
|
||||||
|
|||||||
@@ -25,6 +25,7 @@ brew "unbound"
|
|||||||
brew "libsodium"
|
brew "libsodium"
|
||||||
brew "miniupnpc"
|
brew "miniupnpc"
|
||||||
brew "readline"
|
brew "readline"
|
||||||
|
brew "ldns"
|
||||||
brew "expat"
|
brew "expat"
|
||||||
brew "ccache"
|
brew "ccache"
|
||||||
brew "doxygen"
|
brew "doxygen"
|
||||||
|
|||||||
@@ -2,7 +2,8 @@
|
|||||||
|
|
||||||
SOURCES_PATH ?= $(BASEDIR)/sources
|
SOURCES_PATH ?= $(BASEDIR)/sources
|
||||||
BASE_CACHE ?= $(BASEDIR)/built
|
BASE_CACHE ?= $(BASEDIR)/built
|
||||||
FALLBACK_DOWNLOAD_PATH ?= https://downloads.getmonero.org/depends-sources
|
SDK_PATH ?= $(BASEDIR)/SDKs
|
||||||
|
FALLBACK_DOWNLOAD_PATH ?= https://bitcoincore.org/depends-sources
|
||||||
|
|
||||||
BUILD = $(shell ./config.guess)
|
BUILD = $(shell ./config.guess)
|
||||||
HOST ?= $(BUILD)
|
HOST ?= $(BUILD)
|
||||||
@@ -110,7 +111,8 @@ $(host_arch)_$(host_os)_id_string+=$(shell $(host_CXX) --version 2>/dev/null)
|
|||||||
$(host_arch)_$(host_os)_id_string+=$(shell $(host_RANLIB) --version 2>/dev/null)
|
$(host_arch)_$(host_os)_id_string+=$(shell $(host_RANLIB) --version 2>/dev/null)
|
||||||
$(host_arch)_$(host_os)_id_string+=$(shell $(host_STRIP) --version 2>/dev/null)
|
$(host_arch)_$(host_os)_id_string+=$(shell $(host_STRIP) --version 2>/dev/null)
|
||||||
|
|
||||||
packages += $($(host_arch)_$(host_os)_packages) $($(host_os)_packages)
|
qt_packages_$(NO_QT) = $(qt_packages)
|
||||||
|
packages += $($(host_arch)_$(host_os)_packages) $($(host_os)_packages) $(qt_packages_)
|
||||||
native_packages += $($(host_arch)_$(host_os)_native_packages) $($(host_os)_native_packages)
|
native_packages += $($(host_arch)_$(host_os)_native_packages) $($(host_os)_native_packages)
|
||||||
|
|
||||||
all_packages = $(packages) $(native_packages)
|
all_packages = $(packages) $(native_packages)
|
||||||
@@ -183,6 +185,7 @@ $(host_prefix)/share/toolchain.cmake : toolchain.cmake.in $(host_prefix)/.stamp_
|
|||||||
-e 's|@build_tests@|$(build_tests)|' \
|
-e 's|@build_tests@|$(build_tests)|' \
|
||||||
-e 's|@depends@|$(host_cmake)|' \
|
-e 's|@depends@|$(host_cmake)|' \
|
||||||
-e 's|@prefix@|$($(host_arch)_$(host_os)_prefix)|'\
|
-e 's|@prefix@|$($(host_arch)_$(host_os)_prefix)|'\
|
||||||
|
-e 's|@sdk@|$(SDK_PATH)|'\
|
||||||
-e 's|@arch@|$(host_arch)|'\
|
-e 's|@arch@|$(host_arch)|'\
|
||||||
$< > $@
|
$< > $@
|
||||||
$(AT)touch $@
|
$(AT)touch $@
|
||||||
|
|||||||
@@ -30,7 +30,7 @@ Common `host-platform-triplets` for cross compilation are:
|
|||||||
|
|
||||||
- `i686-w64-mingw32` for Win32
|
- `i686-w64-mingw32` for Win32
|
||||||
- `x86_64-w64-mingw32` for Win64
|
- `x86_64-w64-mingw32` for Win64
|
||||||
- `x86_64-apple-darwin11` for MacOSX x86_64
|
- `x86_64-apple-darwin11` for MacOSX
|
||||||
- `arm-linux-gnueabihf` for Linux ARM 32 bit
|
- `arm-linux-gnueabihf` for Linux ARM 32 bit
|
||||||
- `aarch64-linux-gnu` for Linux ARM 64 bit
|
- `aarch64-linux-gnu` for Linux ARM 64 bit
|
||||||
- `riscv64-linux-gnu` for Linux RISCV 64 bit
|
- `riscv64-linux-gnu` for Linux RISCV 64 bit
|
||||||
@@ -43,6 +43,7 @@ The following can be set when running make: make FOO=bar
|
|||||||
```
|
```
|
||||||
SOURCES_PATH: downloaded sources will be placed here
|
SOURCES_PATH: downloaded sources will be placed here
|
||||||
BASE_CACHE: built packages will be placed here
|
BASE_CACHE: built packages will be placed here
|
||||||
|
SDK_PATH: Path where sdk's can be found (used by OSX)
|
||||||
FALLBACK_DOWNLOAD_PATH: If a source file can't be fetched, try here before giving up
|
FALLBACK_DOWNLOAD_PATH: If a source file can't be fetched, try here before giving up
|
||||||
DEBUG: disable some optimizations and enable more runtime checking
|
DEBUG: disable some optimizations and enable more runtime checking
|
||||||
HOST_ID_SALT: Optional salt to use when generating host package ids
|
HOST_ID_SALT: Optional salt to use when generating host package ids
|
||||||
@@ -58,6 +59,14 @@ download-win: run 'make download-win' to fetch all sources needed for win builds
|
|||||||
download-linux: run 'make download-linux' to fetch all sources needed for linux builds
|
download-linux: run 'make download-linux' to fetch all sources needed for linux builds
|
||||||
```
|
```
|
||||||
|
|
||||||
|
#Darwin (macos) builds:
|
||||||
|
|
||||||
|
To build with the x86_64-apple-darwin11 you require the mac os developer tools in MacOSX10.11.sdk.
|
||||||
|
Download it from apple, or search for it on github. Create a new directoty called SDKs in this
|
||||||
|
directory and place the entire MacOSX10.11.sdk folder in it. The depends build will then pick it up automatically
|
||||||
|
(without requiring SDK_PATH).
|
||||||
|
|
||||||
|
|
||||||
#Mingw builds
|
#Mingw builds
|
||||||
|
|
||||||
Building for 32/64bit mingw requires switching alternatives to a posix mode
|
Building for 32/64bit mingw requires switching alternatives to a posix mode
|
||||||
|
|||||||
@@ -7,12 +7,27 @@ ac_tool_prefix=${host_alias}-
|
|||||||
if test -z $with_boost; then
|
if test -z $with_boost; then
|
||||||
with_boost=$depends_prefix
|
with_boost=$depends_prefix
|
||||||
fi
|
fi
|
||||||
|
if test -z $with_qt_plugindir; then
|
||||||
|
with_qt_plugindir=$depends_prefix/plugins
|
||||||
|
fi
|
||||||
|
if test -z $with_qt_translationdir; then
|
||||||
|
with_qt_translationdir=$depends_prefix/translations
|
||||||
|
fi
|
||||||
|
|
||||||
if test x@host_os@ = xdarwin; then
|
if test x@host_os@ = xdarwin; then
|
||||||
BREW=no
|
BREW=no
|
||||||
PORT=no
|
PORT=no
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
if test x@host_os@ = xmingw32; then
|
||||||
|
if test -z $with_qt_incdir; then
|
||||||
|
with_qt_incdir=$depends_prefix/include
|
||||||
|
fi
|
||||||
|
if test -z $with_qt_libdir; then
|
||||||
|
with_qt_libdir=$depends_prefix/lib
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
PATH=$depends_prefix/native/bin:$PATH
|
PATH=$depends_prefix/native/bin:$PATH
|
||||||
PKG_CONFIG="`which pkg-config` --static"
|
PKG_CONFIG="`which pkg-config` --static"
|
||||||
|
|
||||||
|
|||||||
@@ -32,7 +32,7 @@ endef
|
|||||||
define fetch_file
|
define fetch_file
|
||||||
( test -f $$($(1)_source_dir)/$(4) || \
|
( test -f $$($(1)_source_dir)/$(4) || \
|
||||||
( $(call fetch_file_inner,$(1),$(2),$(3),$(4),$(5)) || \
|
( $(call fetch_file_inner,$(1),$(2),$(3),$(4),$(5)) || \
|
||||||
$(call fetch_file_inner,$(1),$(FALLBACK_DOWNLOAD_PATH),$(4),$(4),$(5))))
|
$(call fetch_file_inner,$(1),$(FALLBACK_DOWNLOAD_PATH),$(3),$(4),$(5))))
|
||||||
endef
|
endef
|
||||||
|
|
||||||
define int_get_build_recipe_hash
|
define int_get_build_recipe_hash
|
||||||
@@ -133,21 +133,13 @@ $(1)_config_env+=$($(1)_config_env_$(host_arch)) $($(1)_config_env_$(host_arch)_
|
|||||||
$(1)_config_env+=$($(1)_config_env_$(host_os)) $($(1)_config_env_$(host_os)_$(release_type))
|
$(1)_config_env+=$($(1)_config_env_$(host_os)) $($(1)_config_env_$(host_os)_$(release_type))
|
||||||
$(1)_config_env+=$($(1)_config_env_$(host_arch)_$(host_os)) $($(1)_config_env_$(host_arch)_$(host_os)_$(release_type))
|
$(1)_config_env+=$($(1)_config_env_$(host_arch)_$(host_os)) $($(1)_config_env_$(host_arch)_$(host_os)_$(release_type))
|
||||||
|
|
||||||
$(1)_build_env+=$$($(1)_build_env_$(release_type))
|
|
||||||
$(1)_build_env+=$($(1)_build_env_$(host_arch)) $($(1)_build_env_$(host_arch)_$(release_type))
|
|
||||||
$(1)_build_env+=$($(1)_build_env_$(host_os)) $($(1)_build_env_$(host_os)_$(release_type))
|
|
||||||
$(1)_build_env+=$($(1)_build_env_$(host_arch)_$(host_os)) $($(1)_build_env_$(host_arch)_$(host_os)_$(release_type))
|
|
||||||
|
|
||||||
$(1)_config_env+=PKG_CONFIG_LIBDIR=$($($(1)_type)_prefix)/lib/pkgconfig
|
$(1)_config_env+=PKG_CONFIG_LIBDIR=$($($(1)_type)_prefix)/lib/pkgconfig
|
||||||
$(1)_config_env+=PKG_CONFIG_PATH=$($($(1)_type)_prefix)/share/pkgconfig
|
$(1)_config_env+=PKG_CONFIG_PATH=$($($(1)_type)_prefix)/share/pkgconfig
|
||||||
$(1)_config_env+=PATH="$(build_prefix)/bin:$(PATH)"
|
$(1)_config_env+=PATH="$(build_prefix)/bin:$(PATH)"
|
||||||
$(1)_build_env+=PATH="$(build_prefix)/bin:$(PATH)"
|
$(1)_build_env+=PATH="$(build_prefix)/bin:$(PATH)"
|
||||||
$(1)_stage_env+=PATH="$(build_prefix)/bin:$(PATH)"
|
$(1)_stage_env+=PATH="$(build_prefix)/bin:$(PATH)"
|
||||||
$(1)_autoconf=./configure --host=$($($(1)_type)_host) --prefix=$($($(1)_type)_prefix) $$($(1)_config_opts) CC="$$($(1)_cc)" CXX="$$($(1)_cxx)"
|
$(1)_autoconf=./configure --host=$($($(1)_type)_host) --disable-dependency-tracking --prefix=$($($(1)_type)_prefix) $$($(1)_config_opts) CC="$$($(1)_cc)" CXX="$$($(1)_cxx)"
|
||||||
|
|
||||||
ifneq ($(1),libusb)
|
|
||||||
$(1)_autoconf += --disable-dependency-tracking
|
|
||||||
endif
|
|
||||||
ifneq ($($(1)_nm),)
|
ifneq ($($(1)_nm),)
|
||||||
$(1)_autoconf += NM="$$($(1)_nm)"
|
$(1)_autoconf += NM="$$($(1)_nm)"
|
||||||
endif
|
endif
|
||||||
|
|||||||
@@ -1,12 +1,9 @@
|
|||||||
OSX_MIN_VERSION=10.8
|
OSX_MIN_VERSION=10.8
|
||||||
LD64_VERSION=609
|
OSX_SDK_VERSION=10.11
|
||||||
ifeq (aarch64, $(host_arch))
|
OSX_SDK=$(SDK_PATH)/MacOSX$(OSX_SDK_VERSION).sdk
|
||||||
CC_target=arm64-apple-$(host_os)
|
LD64_VERSION=253.9
|
||||||
else
|
darwin_CC=clang -target $(host) -mmacosx-version-min=$(OSX_MIN_VERSION) --sysroot $(OSX_SDK) -mlinker-version=$(LD64_VERSION) -B $(host_prefix)/native/bin
|
||||||
CC_target=$(host)
|
darwin_CXX=clang++ -target $(host) -mmacosx-version-min=$(OSX_MIN_VERSION) --sysroot $(OSX_SDK) -mlinker-version=$(LD64_VERSION) -stdlib=libc++ -B $(host_prefix)/native/bin
|
||||||
endif
|
|
||||||
darwin_CC=clang -target $(CC_target) -mmacosx-version-min=$(OSX_MIN_VERSION) --sysroot $(host_prefix)/native/SDK/ -mlinker-version=$(LD64_VERSION) -B$(host_prefix)/native/bin/$(host)-
|
|
||||||
darwin_CXX=clang++ -target $(CC_target) -mmacosx-version-min=$(OSX_MIN_VERSION) --sysroot $(host_prefix)/native/SDK/ -mlinker-version=$(LD64_VERSION) -stdlib=libc++ -B$(host_prefix)/native/bin/$(host)-
|
|
||||||
|
|
||||||
darwin_CFLAGS=-pipe
|
darwin_CFLAGS=-pipe
|
||||||
darwin_CXXFLAGS=$(darwin_CFLAGS)
|
darwin_CXXFLAGS=$(darwin_CFLAGS)
|
||||||
@@ -18,4 +15,4 @@ darwin_release_CXXFLAGS=$(darwin_release_CFLAGS)
|
|||||||
darwin_debug_CFLAGS=-O1
|
darwin_debug_CFLAGS=-O1
|
||||||
darwin_debug_CXXFLAGS=$(darwin_debug_CFLAGS)
|
darwin_debug_CXXFLAGS=$(darwin_debug_CFLAGS)
|
||||||
|
|
||||||
darwin_native_toolchain=native_cctools darwin_sdk
|
darwin_native_toolchain=native_cctools
|
||||||
|
|||||||
@@ -4,7 +4,7 @@ $(package)_download_path=https://downloads.sourceforge.net/project/boost/boost/1
|
|||||||
$(package)_file_name=$(package)_$($(package)_version).tar.bz2
|
$(package)_file_name=$(package)_$($(package)_version).tar.bz2
|
||||||
$(package)_sha256_hash=7bcc5caace97baa948931d712ea5f37038dbb1c5d89b43ad4def4ed7cb683332
|
$(package)_sha256_hash=7bcc5caace97baa948931d712ea5f37038dbb1c5d89b43ad4def4ed7cb683332
|
||||||
$(package)_dependencies=libiconv
|
$(package)_dependencies=libiconv
|
||||||
$(package)_patches=fix_aroptions.patch fix_arm_arch.patch
|
$(package)_patches=fix_aroptions.patch
|
||||||
|
|
||||||
define $(package)_set_vars
|
define $(package)_set_vars
|
||||||
$(package)_config_opts_release=variant=release
|
$(package)_config_opts_release=variant=release
|
||||||
@@ -13,7 +13,7 @@ $(package)_config_opts=--layout=tagged --build-type=complete --user-config=user-
|
|||||||
$(package)_config_opts+=threading=multi link=static -sNO_BZIP2=1 -sNO_ZLIB=1
|
$(package)_config_opts+=threading=multi link=static -sNO_BZIP2=1 -sNO_ZLIB=1
|
||||||
$(package)_config_opts_linux=threadapi=pthread runtime-link=shared
|
$(package)_config_opts_linux=threadapi=pthread runtime-link=shared
|
||||||
$(package)_config_opts_android=threadapi=pthread runtime-link=static target-os=android
|
$(package)_config_opts_android=threadapi=pthread runtime-link=static target-os=android
|
||||||
$(package)_config_opts_darwin=--toolset=darwin runtime-link=shared
|
$(package)_config_opts_darwin=--toolset=darwin-4.2.1 runtime-link=shared
|
||||||
$(package)_config_opts_mingw32=binary-format=pe target-os=windows threadapi=win32 runtime-link=static
|
$(package)_config_opts_mingw32=binary-format=pe target-os=windows threadapi=win32 runtime-link=static
|
||||||
$(package)_config_opts_x86_64_mingw32=address-model=64
|
$(package)_config_opts_x86_64_mingw32=address-model=64
|
||||||
$(package)_config_opts_i686_mingw32=address-model=32
|
$(package)_config_opts_i686_mingw32=address-model=32
|
||||||
@@ -30,7 +30,6 @@ endef
|
|||||||
|
|
||||||
define $(package)_preprocess_cmds
|
define $(package)_preprocess_cmds
|
||||||
patch -p1 < $($(package)_patch_dir)/fix_aroptions.patch &&\
|
patch -p1 < $($(package)_patch_dir)/fix_aroptions.patch &&\
|
||||||
patch -p1 < $($(package)_patch_dir)/fix_arm_arch.patch &&\
|
|
||||||
echo "using $(boost_toolset_$(host_os)) : : $($(package)_cxx) : <cxxflags>\"$($(package)_cxxflags) $($(package)_cppflags)\" <linkflags>\"$($(package)_ldflags)\" <archiver>\"$(boost_archiver_$(host_os))\" <arflags>\"$($(package)_arflags)\" <striper>\"$(host_STRIP)\" <ranlib>\"$(host_RANLIB)\" <rc>\"$(host_WINDRES)\" : ;" > user-config.jam
|
echo "using $(boost_toolset_$(host_os)) : : $($(package)_cxx) : <cxxflags>\"$($(package)_cxxflags) $($(package)_cppflags)\" <linkflags>\"$($(package)_ldflags)\" <archiver>\"$(boost_archiver_$(host_os))\" <arflags>\"$($(package)_arflags)\" <striper>\"$(host_STRIP)\" <ranlib>\"$(host_RANLIB)\" <rc>\"$(host_WINDRES)\" : ;" > user-config.jam
|
||||||
endef
|
endef
|
||||||
|
|
||||||
|
|||||||
@@ -1,10 +0,0 @@
|
|||||||
package=darwin_sdk
|
|
||||||
$(package)_version=11.1
|
|
||||||
$(package)_download_path=https://github.com/phracker/MacOSX-SDKs/releases/download/11.3/
|
|
||||||
$(package)_file_name=MacOSX$($(package)_version).sdk.tar.xz
|
|
||||||
$(package)_sha256_hash=68797baaacb52f56f713400de306a58a7ca00b05c3dc6d58f0a8283bcac721f8
|
|
||||||
|
|
||||||
define $(package)_stage_cmds
|
|
||||||
mkdir -p $($(package)_staging_dir)/$(host_prefix)/native/SDK &&\
|
|
||||||
mv * $($(package)_staging_dir)/$(host_prefix)/native/SDK
|
|
||||||
endef
|
|
||||||
@@ -1,8 +1,7 @@
|
|||||||
package=eudev
|
package=eudev
|
||||||
$(package)_version=v3.2.6
|
$(package)_version=v3.2.6
|
||||||
$(package)_download_path=https://github.com/gentoo/eudev/archive/
|
$(package)_download_path=https://github.com/gentoo/eudev/archive/
|
||||||
$(package)_download_file=$($(package)_version).tar.gz
|
$(package)_file_name=$($(package)_version).tar.gz
|
||||||
$(package)_file_name=$(package)-$($(package)_version).tar.gz
|
|
||||||
$(package)_sha256_hash=a96ecb8637667897b8bd4dee4c22c7c5f08b327be45186e912ce6bc768385852
|
$(package)_sha256_hash=a96ecb8637667897b8bd4dee4c22c7c5f08b327be45186e912ce6bc768385852
|
||||||
|
|
||||||
define $(package)_set_vars
|
define $(package)_set_vars
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
package=expat
|
package=expat
|
||||||
$(package)_version=2.4.1
|
$(package)_version=2.2.4
|
||||||
$(package)_download_path=https://github.com/libexpat/libexpat/releases/download/R_2_4_1
|
$(package)_download_path=https://github.com/libexpat/libexpat/releases/download/R_2_2_4
|
||||||
$(package)_file_name=$(package)-$($(package)_version).tar.bz2
|
$(package)_file_name=$(package)-$($(package)_version).tar.bz2
|
||||||
$(package)_sha256_hash=2f9b6a580b94577b150a7d5617ad4643a4301a6616ff459307df3e225bcfbf40
|
$(package)_sha256_hash=03ad85db965f8ab2d27328abcf0bc5571af6ec0a414874b2066ee3fdd372019e
|
||||||
|
|
||||||
define $(package)_set_vars
|
define $(package)_set_vars
|
||||||
$(package)_config_opts=--enable-static
|
$(package)_config_opts=--enable-static
|
||||||
@@ -11,7 +11,7 @@ $(package)_config_opts+=--prefix=$(host_prefix)
|
|||||||
endef
|
endef
|
||||||
|
|
||||||
define $(package)_config_cmds
|
define $(package)_config_cmds
|
||||||
$($(package)_autoconf)
|
$($(package)_autoconf) $($(package)_config_opts)
|
||||||
endef
|
endef
|
||||||
|
|
||||||
define $(package)_build_cmds
|
define $(package)_build_cmds
|
||||||
|
|||||||
@@ -12,8 +12,8 @@ endef
|
|||||||
|
|
||||||
define $(package)_build_cmds
|
define $(package)_build_cmds
|
||||||
mkdir bin &&\
|
mkdir bin &&\
|
||||||
echo "#!/bin/sh\n\nexec /usr/bin/clang-8 -target x86_64-unknown-freebsd$($(package)_version) --sysroot=$(host_prefix)/native $$$$""@" > bin/clang-8 &&\
|
echo "exec /usr/bin/clang-8 -target x86_64-unknown-freebsd$($(package)_version) --sysroot=$(host_prefix)/native $$$$""@" > bin/clang-8 &&\
|
||||||
echo "#!/bin/sh\n\nexec /usr/bin/clang++-8 -target x86_64-unknown-freebsd$($(package)_version) --sysroot=$(host_prefix)/native $$$$""@" > bin/clang++-8 &&\
|
echo "exec /usr/bin/clang++-8 -target x86_64-unknown-freebsd$($(package)_version) --sysroot=$(host_prefix)/native $$$$""@" > bin/clang++-8 &&\
|
||||||
chmod 755 bin/*
|
chmod 755 bin/*
|
||||||
endef
|
endef
|
||||||
|
|
||||||
|
|||||||
@@ -1,8 +1,7 @@
|
|||||||
package=gtest
|
package=gtest
|
||||||
$(package)_version=1.8.1
|
$(package)_version=1.8.1
|
||||||
$(package)_download_path=https://github.com/google/googletest/archive/
|
$(package)_download_path=https://github.com/google/googletest/archive/
|
||||||
$(package)_download_file=release-$($(package)_version).tar.gz
|
$(package)_file_name=release-$($(package)_version).tar.gz
|
||||||
$(package)_file_name=$(package)-$($(package)_version).tar.gz
|
|
||||||
$(package)_sha256_hash=9bf1fe5182a604b4135edc1a425ae356c9ad15e9b23f9f12a02e80184c3a249c
|
$(package)_sha256_hash=9bf1fe5182a604b4135edc1a425ae356c9ad15e9b23f9f12a02e80184c3a249c
|
||||||
$(package)_cxxflags=-std=c++11
|
$(package)_cxxflags=-std=c++11
|
||||||
$(package)_cxxflags_linux=-fPIC
|
$(package)_cxxflags_linux=-fPIC
|
||||||
|
|||||||
@@ -1,14 +1,14 @@
|
|||||||
package=hidapi
|
package=hidapi
|
||||||
$(package)_version=0.13.1
|
$(package)_version=0.9.0
|
||||||
$(package)_download_path=https://github.com/libusb/hidapi/archive/refs/tags
|
$(package)_download_path=https://github.com/libusb/hidapi/archive
|
||||||
$(package)_file_name=$(package)-$($(package)_version).tar.gz
|
$(package)_file_name=$(package)-$($(package)_version).tar.gz
|
||||||
$(package)_sha256_hash=476a2c9a4dc7d1fc97dd223b84338dbea3809a84caea2dcd887d9778725490e3
|
$(package)_sha256_hash=630ee1834bdd5c5761ab079fd04f463a89585df8fcae51a7bfe4229b1e02a652
|
||||||
$(package)_linux_dependencies=libusb eudev
|
$(package)_linux_dependencies=libusb eudev
|
||||||
$(package)_patches=missing_win_include.patch
|
|
||||||
|
|
||||||
define $(package)_set_vars
|
define $(package)_set_vars
|
||||||
$(package)_config_opts=--enable-static --disable-shared
|
$(package)_config_opts=--enable-static --disable-shared
|
||||||
$(package)_config_opts+=--prefix=$(host_prefix)
|
$(package)_config_opts+=--prefix=$(host_prefix)
|
||||||
|
$(package)_config_opts_darwin+=RANLIB="$(host_prefix)/native/bin/x86_64-apple-darwin11-ranlib" AR="$(host_prefix)/native/bin/x86_64-apple-darwin11-ar" CC="$(host_prefix)/native/bin/$($(package)_cc)"
|
||||||
$(package)_config_opts_linux+=libudev_LIBS="-L$(host_prefix)/lib -ludev"
|
$(package)_config_opts_linux+=libudev_LIBS="-L$(host_prefix)/lib -ludev"
|
||||||
$(package)_config_opts_linux+=libudev_CFLAGS=-I$(host_prefix)/include
|
$(package)_config_opts_linux+=libudev_CFLAGS=-I$(host_prefix)/include
|
||||||
$(package)_config_opts_linux+=libusb_LIBS="-L$(host_prefix)/lib -lusb-1.0"
|
$(package)_config_opts_linux+=libusb_LIBS="-L$(host_prefix)/lib -lusb-1.0"
|
||||||
@@ -16,12 +16,9 @@ $(package)_config_opts_linux+=libusb_CFLAGS=-I$(host_prefix)/include/libusb-1.0
|
|||||||
$(package)_config_opts_linux+=--with-pic
|
$(package)_config_opts_linux+=--with-pic
|
||||||
endef
|
endef
|
||||||
|
|
||||||
define $(package)_preprocess_cmds
|
|
||||||
patch -p1 < $($(package)_patch_dir)/missing_win_include.patch && ./bootstrap
|
|
||||||
endef
|
|
||||||
|
|
||||||
define $(package)_config_cmds
|
define $(package)_config_cmds
|
||||||
$($(package)_autoconf) AR_FLAGS=$($(package)_arflags)
|
./bootstrap &&\
|
||||||
|
$($(package)_autoconf) $($(package)_config_opts) AR_FLAGS=$($(package)_arflags)
|
||||||
endef
|
endef
|
||||||
|
|
||||||
define $(package)_build_cmds
|
define $(package)_build_cmds
|
||||||
|
|||||||
34
contrib/depends/packages/ldns.mk
Normal file
34
contrib/depends/packages/ldns.mk
Normal file
@@ -0,0 +1,34 @@
|
|||||||
|
package=ldns
|
||||||
|
$(package)_version=1.6.17
|
||||||
|
$(package)_download_path=https://www.nlnetlabs.nl/downloads/ldns/
|
||||||
|
$(package)_file_name=$(package)-$($(package)_version).tar.gz
|
||||||
|
$(package)_sha256_hash=8b88e059452118e8949a2752a55ce59bc71fa5bc414103e17f5b6b06f9bcc8cd
|
||||||
|
$(package)_dependencies=openssl
|
||||||
|
|
||||||
|
define $(package)_set_vars
|
||||||
|
$(package)_config_opts=--disable-shared --enable-static --with-drill
|
||||||
|
$(package)_config_opts+=--with-ssl=$(host_prefix)
|
||||||
|
$(package)_config_opts_release=--disable-debug-mode
|
||||||
|
$(package)_config_opts_linux=--with-pic
|
||||||
|
endef
|
||||||
|
|
||||||
|
define $(package)_preprocess_cmds
|
||||||
|
cp -f $(BASEDIR)/config.guess $(BASEDIR)/config.sub .
|
||||||
|
endef
|
||||||
|
|
||||||
|
define $(package)_config_cmds
|
||||||
|
$($(package)_autoconf)
|
||||||
|
endef
|
||||||
|
|
||||||
|
define $(package)_build_cmds
|
||||||
|
$(MAKE)
|
||||||
|
endef
|
||||||
|
|
||||||
|
define $(package)_stage_cmds
|
||||||
|
$(MAKE) DESTDIR=$($(package)_staging_dir) install-h install-lib
|
||||||
|
endef
|
||||||
|
|
||||||
|
define $(package)_postprocess_cmds
|
||||||
|
rm lib/*.la
|
||||||
|
endef
|
||||||
|
|
||||||
@@ -1,8 +1,8 @@
|
|||||||
package=libusb
|
package=libusb
|
||||||
$(package)_version=1.0.26
|
$(package)_version=1.0.22
|
||||||
$(package)_download_path=https://github.com/libusb/libusb/releases/download/v$($(package)_version)
|
$(package)_download_path=https://sourceforge.net/projects/libusb/files/libusb-1.0/libusb-$($(package)_version)/
|
||||||
$(package)_file_name=$(package)-$($(package)_version).tar.bz2
|
$(package)_file_name=$(package)-$($(package)_version).tar.bz2
|
||||||
$(package)_sha256_hash=12ce7a61fc9854d1d2a1ffe095f7b5fac19ddba095c259e6067a46500381b5a5
|
$(package)_sha256_hash=75aeb9d59a4fdb800d329a545c2e6799f732362193b465ea198f2aa275518157
|
||||||
|
|
||||||
define $(package)_preprocess_cmds
|
define $(package)_preprocess_cmds
|
||||||
autoreconf -i
|
autoreconf -i
|
||||||
|
|||||||
@@ -1,17 +1,49 @@
|
|||||||
package=native_cctools
|
package=native_cctools
|
||||||
$(package)_version=04663295d0425abfac90a42440a7ec02d7155fea
|
$(package)_version=807d6fd1be5d2224872e381870c0a75387fe05e6
|
||||||
$(package)_download_path=https://github.com/tpoechtrager/cctools-port/archive
|
$(package)_download_path=https://github.com/theuni/cctools-port/archive
|
||||||
$(package)_download_file=$($(package)_version).tar.gz
|
$(package)_file_name=$($(package)_version).tar.gz
|
||||||
$(package)_file_name=$(package)-$($(package)_version).tar.gz
|
$(package)_sha256_hash=a09c9ba4684670a0375e42d9d67e7f12c1f62581a27f28f7c825d6d7032ccc6a
|
||||||
$(package)_sha256_hash=70a7189418c2086d20c299c5d59250cf5940782c778892ccc899c66516ed240e
|
|
||||||
$(package)_build_subdir=cctools
|
$(package)_build_subdir=cctools
|
||||||
$(package)_dependencies=native_clang native_libtapi
|
$(package)_clang_version=3.7.1
|
||||||
|
$(package)_clang_download_path=http://llvm.org/releases/$($(package)_clang_version)
|
||||||
|
$(package)_clang_download_file=clang+llvm-$($(package)_clang_version)-x86_64-linux-gnu-ubuntu-14.04.tar.xz
|
||||||
|
$(package)_clang_file_name=clang-llvm-$($(package)_clang_version)-x86_64-linux-gnu-ubuntu-14.04.tar.xz
|
||||||
|
$(package)_clang_sha256_hash=99b28a6b48e793705228a390471991386daa33a9717cd9ca007fcdde69608fd9
|
||||||
|
$(package)_extra_sources=$($(package)_clang_file_name)
|
||||||
|
$(package)_patches=skip_otool.patch
|
||||||
|
|
||||||
|
define $(package)_fetch_cmds
|
||||||
|
$(call fetch_file,$(package),$($(package)_download_path),$($(package)_download_file),$($(package)_file_name),$($(package)_sha256_hash)) && \
|
||||||
|
$(call fetch_file,$(package),$($(package)_clang_download_path),$($(package)_clang_download_file),$($(package)_clang_file_name),$($(package)_clang_sha256_hash))
|
||||||
|
endef
|
||||||
|
|
||||||
|
define $(package)_extract_cmds
|
||||||
|
mkdir -p $($(package)_extract_dir) && \
|
||||||
|
echo "$($(package)_sha256_hash) $($(package)_source)" > $($(package)_extract_dir)/.$($(package)_file_name).hash && \
|
||||||
|
echo "$($(package)_clang_sha256_hash) $($(package)_source_dir)/$($(package)_clang_file_name)" >> $($(package)_extract_dir)/.$($(package)_file_name).hash && \
|
||||||
|
$(build_SHA256SUM) -c $($(package)_extract_dir)/.$($(package)_file_name).hash && \
|
||||||
|
mkdir -p toolchain/bin toolchain/lib/clang/3.5/include && \
|
||||||
|
tar --strip-components=1 -C toolchain -xf $($(package)_source_dir)/$($(package)_clang_file_name) && \
|
||||||
|
rm -f toolchain/lib/libc++abi.so* && \
|
||||||
|
echo "#!/bin/sh" > toolchain/bin/$(host)-dsymutil && \
|
||||||
|
echo "exit 0" >> toolchain/bin/$(host)-dsymutil && \
|
||||||
|
chmod +x toolchain/bin/$(host)-dsymutil && \
|
||||||
|
tar --strip-components=1 -xf $($(package)_source)
|
||||||
|
endef
|
||||||
|
|
||||||
define $(package)_set_vars
|
define $(package)_set_vars
|
||||||
$(package)_config_opts=--target=$(host) --disable-lto-support --with-libtapi=$(host_prefix)
|
$(package)_config_opts=--target=$(host) --disable-lto-support
|
||||||
$(package)_ldflags+=-Wl,-rpath=\\$$$$$$$$\$$$$$$$$ORIGIN/../lib
|
$(package)_ldflags+=-Wl,-rpath=\\$$$$$$$$\$$$$$$$$ORIGIN/../lib
|
||||||
$(package)_cc=$(host_prefix)/native/bin/clang
|
$(package)_cc=$($(package)_extract_dir)/toolchain/bin/clang
|
||||||
$(package)_cxx=$(host_prefix)/native/bin/clang++
|
$(package)_cxx=$($(package)_extract_dir)/toolchain/bin/clang++
|
||||||
|
endef
|
||||||
|
|
||||||
|
# If clang gets updated to a version with a fix for https://reviews.llvm.org/D50559
|
||||||
|
# then the patch that skips otool can be removed.
|
||||||
|
define $(package)_preprocess_cmds
|
||||||
|
patch -p0 < $($(package)_patch_dir)/skip_otool.patch && \
|
||||||
|
cd $($(package)_build_subdir); ./autogen.sh && \
|
||||||
|
sed -i.old "/define HAVE_PTHREADS/d" ld64/src/ld/InputFiles.h
|
||||||
endef
|
endef
|
||||||
|
|
||||||
define $(package)_config_cmds
|
define $(package)_config_cmds
|
||||||
@@ -24,5 +56,15 @@ endef
|
|||||||
|
|
||||||
define $(package)_stage_cmds
|
define $(package)_stage_cmds
|
||||||
$(MAKE) DESTDIR=$($(package)_staging_dir) install && \
|
$(MAKE) DESTDIR=$($(package)_staging_dir) install && \
|
||||||
cp $($(package)_extract_dir)/cctools/misc/install_name_tool $($(package)_staging_prefix_dir)/bin/
|
cp $($(package)_extract_dir)/cctools/misc/install_name_tool $($(package)_staging_prefix_dir)/bin/ &&\
|
||||||
|
cd $($(package)_extract_dir)/toolchain && \
|
||||||
|
mkdir -p $($(package)_staging_prefix_dir)/lib/clang/$($(package)_clang_version)/include && \
|
||||||
|
mkdir -p $($(package)_staging_prefix_dir)/bin $($(package)_staging_prefix_dir)/include && \
|
||||||
|
cp bin/clang $($(package)_staging_prefix_dir)/bin/ &&\
|
||||||
|
cp -P bin/clang++ $($(package)_staging_prefix_dir)/bin/ &&\
|
||||||
|
cp lib/libLTO.so $($(package)_staging_prefix_dir)/lib/ && \
|
||||||
|
cp -rf lib/clang/$($(package)_clang_version)/include/* $($(package)_staging_prefix_dir)/lib/clang/$($(package)_clang_version)/include/ && \
|
||||||
|
cp bin/llvm-dsymutil $($(package)_staging_prefix_dir)/bin/$(host)-dsymutil && \
|
||||||
|
if `test -d include/c++/`; then cp -rf include/c++/ $($(package)_staging_prefix_dir)/include/; fi && \
|
||||||
|
if `test -d lib/c++/`; then cp -rf lib/c++/ $($(package)_staging_prefix_dir)/lib/; fi
|
||||||
endef
|
endef
|
||||||
|
|||||||
@@ -1,29 +0,0 @@
|
|||||||
package=native_clang
|
|
||||||
$(package)_version=9.0.0
|
|
||||||
$(package)_download_path=https://releases.llvm.org/$($(package)_version)
|
|
||||||
$(package)_download_file=clang+llvm-$($(package)_version)-x86_64-linux-gnu-ubuntu-18.04.tar.xz
|
|
||||||
$(package)_file_name=clang-llvm-$($(package)_version)-x86_64-linux-gnu-ubuntu-18.04.tar.xz
|
|
||||||
$(package)_sha256_hash=a23b082b30c128c9831dbdd96edad26b43f56624d0ad0ea9edec506f5385038d
|
|
||||||
|
|
||||||
define $(package)_extract_cmds
|
|
||||||
echo $($(package)_sha256_hash) $($(package)_source) | sha256sum -c &&\
|
|
||||||
mkdir -p toolchain/bin toolchain/lib/clang/3.5/include && \
|
|
||||||
tar --strip-components=1 -C toolchain -xf $($(package)_source) && \
|
|
||||||
rm -f toolchain/lib/libc++abi.so* && \
|
|
||||||
echo "#!/bin/sh" > toolchain/bin/$(host)-dsymutil && \
|
|
||||||
echo "exit 0" >> toolchain/bin/$(host)-dsymutil && \
|
|
||||||
chmod +x toolchain/bin/$(host)-dsymutil
|
|
||||||
endef
|
|
||||||
|
|
||||||
define $(package)_stage_cmds
|
|
||||||
cd $($(package)_extract_dir)/toolchain && \
|
|
||||||
mkdir -p $($(package)_staging_prefix_dir)/lib/clang/$($(package)_version)/include && \
|
|
||||||
mkdir -p $($(package)_staging_prefix_dir)/bin $($(package)_staging_prefix_dir)/include && \
|
|
||||||
cp bin/clang $($(package)_staging_prefix_dir)/bin/ &&\
|
|
||||||
cp -P bin/clang++ $($(package)_staging_prefix_dir)/bin/ &&\
|
|
||||||
cp lib/libLTO.so $($(package)_staging_prefix_dir)/lib/ && \
|
|
||||||
cp -rf lib/clang/$($(package)_version)/include/* $($(package)_staging_prefix_dir)/lib/clang/$($(package)_version)/include/ && \
|
|
||||||
cp bin/dsymutil $($(package)_staging_prefix_dir)/bin/$(host)-dsymutil && \
|
|
||||||
if `test -d include/c++/`; then cp -rf include/c++/ $($(package)_staging_prefix_dir)/include/; fi && \
|
|
||||||
if `test -d lib/c++/`; then cp -rf lib/c++/ $($(package)_staging_prefix_dir)/lib/; fi
|
|
||||||
endef
|
|
||||||
@@ -1,28 +0,0 @@
|
|||||||
package=native_libtapi
|
|
||||||
$(package)_version=664b8414f89612f2dfd35a9b679c345aa5389026
|
|
||||||
$(package)_download_path=https://github.com/tpoechtrager/apple-libtapi/archive
|
|
||||||
$(package)_download_file=$($(package)_version).tar.gz
|
|
||||||
$(package)_file_name=$(package)-$($(package)_version).tar.gz
|
|
||||||
$(package)_sha256_hash=62e419c12d1c9fad67cc1cd523132bc00db050998337c734c15bc8d73cc02b61
|
|
||||||
$(package)_build_subdir=build
|
|
||||||
$(package)_dependencies=native_clang
|
|
||||||
|
|
||||||
define $(package)_config_cmds
|
|
||||||
echo -n $(build_prefix) > INSTALLPREFIX; \
|
|
||||||
CC=$(host_prefix)/native/bin/clang CXX=$(host_prefix)/native/bin/clang++ \
|
|
||||||
cmake -DCMAKE_INSTALL_PREFIX=$(build_prefix) \
|
|
||||||
-DLLVM_INCLUDE_TESTS=OFF \
|
|
||||||
-DCMAKE_BUILD_TYPE=RELEASE \
|
|
||||||
-DTAPI_REPOSITORY_STRING="1100.0.11" \
|
|
||||||
-DTAPI_FULL_VERSION="11.0.0" \
|
|
||||||
-DCMAKE_CXX_FLAGS="-I $($(package)_extract_dir)/src/llvm/projects/clang/include -I $($(package)_build_dir)/projects/clang/include" \
|
|
||||||
$($(package)_extract_dir)/src/llvm
|
|
||||||
endef
|
|
||||||
|
|
||||||
define $(package)_build_cmds
|
|
||||||
$(MAKE) clangBasic && $(MAKE) libtapi
|
|
||||||
endef
|
|
||||||
|
|
||||||
define $(package)_stage_cmds
|
|
||||||
$(MAKE) DESTDIR=$($(package)_staging_dir) install-libtapi install-tapi-headers
|
|
||||||
endef
|
|
||||||
@@ -7,7 +7,8 @@ $(package)_patches=fallback.c
|
|||||||
|
|
||||||
define $(package)_set_vars
|
define $(package)_set_vars
|
||||||
$(package)_build_opts=CC="$($(package)_cc)"
|
$(package)_build_opts=CC="$($(package)_cc)"
|
||||||
$(package)_config_env=cf_cv_ar_flags=""
|
$(package)_config_env=AR="$($(package)_ar)" RANLIB="$($(package)_ranlib)" CC="$($(package)_cc)" ARFLAGS=$($(package)_arflags) cf_cv_ar_flags=""
|
||||||
|
$(package)_config_env_darwin=RANLIB="$(host_prefix)/native/bin/x86_64-apple-darwin11-ranlib" AR="$(host_prefix)/native/bin/x86_64-apple-darwin11-ar" CC="$(host_prefix)/native/bin/$($(package)_cc)"
|
||||||
$(package)_config_opts=--prefix=$(host_prefix)
|
$(package)_config_opts=--prefix=$(host_prefix)
|
||||||
$(package)_config_opts+=--disable-shared
|
$(package)_config_opts+=--disable-shared
|
||||||
$(package)_config_opts+=--with-build-cc=gcc
|
$(package)_config_opts+=--with-build-cc=gcc
|
||||||
@@ -50,7 +51,7 @@ define $(package)_preprocess_cmds
|
|||||||
endef
|
endef
|
||||||
|
|
||||||
define $(package)_config_cmds
|
define $(package)_config_cmds
|
||||||
$($(package)_autoconf)
|
./configure $($(package)_config_opts)
|
||||||
endef
|
endef
|
||||||
|
|
||||||
define $(package)_build_cmds
|
define $(package)_build_cmds
|
||||||
|
|||||||
@@ -1,19 +1,22 @@
|
|||||||
package=openssl
|
package=openssl
|
||||||
$(package)_version=3.0.11
|
$(package)_version=1.1.1k
|
||||||
$(package)_download_path=https://www.openssl.org/source
|
$(package)_download_path=https://www.openssl.org/source
|
||||||
$(package)_file_name=$(package)-$($(package)_version).tar.gz
|
$(package)_file_name=$(package)-$($(package)_version).tar.gz
|
||||||
$(package)_sha256_hash=b3425d3bb4a2218d0697eb41f7fc0cdede016ed19ca49d168b78e8d947887f55
|
$(package)_sha256_hash=892a0875b9872acd04a9fde79b1f943075d5ea162415de3047c327df33fbaee5
|
||||||
|
|
||||||
define $(package)_set_vars
|
define $(package)_set_vars
|
||||||
$(package)_config_env=AR="$($(package)_ar)" ARFLAGS=$($(package)_arflags) RANLIB="$($(package)_ranlib)" CC="$($(package)_cc)"
|
$(package)_config_env=AR="$($(package)_ar)" ARFLAGS=$($(package)_arflags) RANLIB="$($(package)_ranlib)" CC="$($(package)_cc)"
|
||||||
$(package)_config_env_android=ANDROID_NDK_ROOT="$(host_prefix)/native" PATH="$(host_prefix)/native/bin" CC=clang AR=ar RANLIB=ranlib
|
$(package)_config_env_arm_android=ANDROID_NDK_HOME="$(host_prefix)/native" PATH="$(host_prefix)/native/bin" CC=clang AR=ar RANLIB=ranlib
|
||||||
$(package)_build_env_android=ANDROID_NDK_ROOT="$(host_prefix)/native"
|
$(package)_config_env_aarch64_android=ANDROID_NDK_HOME="$(host_prefix)/native" PATH="$(host_prefix)/native/bin" CC=clang AR=ar RANLIB=ranlib
|
||||||
$(package)_config_opts=--prefix=$(host_prefix) --openssldir=$(host_prefix)/etc/openssl --libdir=$(host_prefix)/lib
|
$(package)_build_env_arm_android=ANDROID_NDK_HOME="$(host_prefix)/native"
|
||||||
|
$(package)_build_env_aarch64_android=ANDROID_NDK_HOME="$(host_prefix)/native"
|
||||||
|
$(package)_config_opts=--prefix=$(host_prefix) --openssldir=$(host_prefix)/etc/openssl
|
||||||
$(package)_config_opts+=no-capieng
|
$(package)_config_opts+=no-capieng
|
||||||
$(package)_config_opts+=no-dso
|
$(package)_config_opts+=no-dso
|
||||||
$(package)_config_opts+=no-dtls1
|
$(package)_config_opts+=no-dtls1
|
||||||
$(package)_config_opts+=no-ec_nistp_64_gcc_128
|
$(package)_config_opts+=no-ec_nistp_64_gcc_128
|
||||||
$(package)_config_opts+=no-gost
|
$(package)_config_opts+=no-gost
|
||||||
|
$(package)_config_opts+=no-heartbeats
|
||||||
$(package)_config_opts+=no-md2
|
$(package)_config_opts+=no-md2
|
||||||
$(package)_config_opts+=no-rc5
|
$(package)_config_opts+=no-rc5
|
||||||
$(package)_config_opts+=no-rdrand
|
$(package)_config_opts+=no-rdrand
|
||||||
@@ -21,8 +24,8 @@ $(package)_config_opts+=no-rfc3779
|
|||||||
$(package)_config_opts+=no-sctp
|
$(package)_config_opts+=no-sctp
|
||||||
$(package)_config_opts+=no-shared
|
$(package)_config_opts+=no-shared
|
||||||
$(package)_config_opts+=no-ssl-trace
|
$(package)_config_opts+=no-ssl-trace
|
||||||
|
$(package)_config_opts+=no-ssl2
|
||||||
$(package)_config_opts+=no-ssl3
|
$(package)_config_opts+=no-ssl3
|
||||||
$(package)_config_opts+=no-tests
|
|
||||||
$(package)_config_opts+=no-unit-test
|
$(package)_config_opts+=no-unit-test
|
||||||
$(package)_config_opts+=no-weak-ssl-ciphers
|
$(package)_config_opts+=no-weak-ssl-ciphers
|
||||||
$(package)_config_opts+=no-zlib
|
$(package)_config_opts+=no-zlib
|
||||||
@@ -36,7 +39,6 @@ $(package)_config_opts_arm_linux=linux-generic32
|
|||||||
$(package)_config_opts_aarch64_linux=linux-generic64
|
$(package)_config_opts_aarch64_linux=linux-generic64
|
||||||
$(package)_config_opts_arm_android=--static android-arm
|
$(package)_config_opts_arm_android=--static android-arm
|
||||||
$(package)_config_opts_aarch64_android=--static android-arm64
|
$(package)_config_opts_aarch64_android=--static android-arm64
|
||||||
$(package)_config_opts_aarch64_darwin=darwin64-arm64-cc
|
|
||||||
$(package)_config_opts_riscv64_linux=linux-generic64
|
$(package)_config_opts_riscv64_linux=linux-generic64
|
||||||
$(package)_config_opts_mipsel_linux=linux-generic32
|
$(package)_config_opts_mipsel_linux=linux-generic32
|
||||||
$(package)_config_opts_mips_linux=linux-generic32
|
$(package)_config_opts_mips_linux=linux-generic32
|
||||||
@@ -48,7 +50,8 @@ $(package)_config_opts_x86_64_freebsd=BSD-x86_64
|
|||||||
endef
|
endef
|
||||||
|
|
||||||
define $(package)_preprocess_cmds
|
define $(package)_preprocess_cmds
|
||||||
sed -i.old 's|crypto ssl apps util tools fuzz providers doc|crypto ssl util tools providers|' build.info
|
sed -i.old 's|"engines", "apps", "test", "util", "tools", "fuzz"|"engines", "tools"|' Configure && \
|
||||||
|
sed -i -e 's|cflags --sysroot.*",|cflags",|' Configurations/15-android.conf
|
||||||
endef
|
endef
|
||||||
|
|
||||||
define $(package)_config_cmds
|
define $(package)_config_cmds
|
||||||
@@ -56,11 +59,11 @@ define $(package)_config_cmds
|
|||||||
endef
|
endef
|
||||||
|
|
||||||
define $(package)_build_cmds
|
define $(package)_build_cmds
|
||||||
$(MAKE) build_libs
|
$(MAKE) -j1 build_libs libcrypto.pc libssl.pc openssl.pc
|
||||||
endef
|
endef
|
||||||
|
|
||||||
define $(package)_stage_cmds
|
define $(package)_stage_cmds
|
||||||
$(MAKE) DESTDIR=$($(package)_staging_dir) install_sw
|
$(MAKE) DESTDIR=$($(package)_staging_dir) -j1 install_sw
|
||||||
endef
|
endef
|
||||||
|
|
||||||
define $(package)_postprocess_cmds
|
define $(package)_postprocess_cmds
|
||||||
|
|||||||
@@ -1,9 +1,6 @@
|
|||||||
packages:=boost openssl zeromq libiconv expat unbound
|
packages:=boost openssl zeromq libiconv
|
||||||
|
|
||||||
# ccache is useless in gitian builds
|
|
||||||
ifneq ($(GITIAN),1)
|
|
||||||
native_packages := native_ccache
|
native_packages := native_ccache
|
||||||
endif
|
|
||||||
|
|
||||||
hardware_packages := hidapi protobuf libusb
|
hardware_packages := hidapi protobuf libusb
|
||||||
hardware_native_packages := native_protobuf
|
hardware_native_packages := native_protobuf
|
||||||
@@ -11,8 +8,8 @@ hardware_native_packages := native_protobuf
|
|||||||
android_native_packages = android_ndk
|
android_native_packages = android_ndk
|
||||||
android_packages = ncurses readline sodium
|
android_packages = ncurses readline sodium
|
||||||
|
|
||||||
darwin_native_packages = $(hardware_native_packages)
|
darwin_native_packages = native_biplist native_ds_store native_mac_alias $(hardware_native_packages)
|
||||||
darwin_packages = ncurses readline sodium $(hardware_packages)
|
darwin_packages = sodium ncurses readline $(hardware_packages)
|
||||||
|
|
||||||
# not really native...
|
# not really native...
|
||||||
freebsd_native_packages = freebsd_base
|
freebsd_native_packages = freebsd_base
|
||||||
@@ -20,6 +17,7 @@ freebsd_packages = ncurses readline sodium
|
|||||||
|
|
||||||
linux_packages = eudev ncurses readline sodium $(hardware_packages)
|
linux_packages = eudev ncurses readline sodium $(hardware_packages)
|
||||||
linux_native_packages = $(hardware_native_packages)
|
linux_native_packages = $(hardware_native_packages)
|
||||||
|
qt_packages = qt
|
||||||
|
|
||||||
ifeq ($(build_tests),ON)
|
ifeq ($(build_tests),ON)
|
||||||
packages += gtest
|
packages += gtest
|
||||||
@@ -33,6 +31,6 @@ mingw32_packages = icu4c sodium $(hardware_packages)
|
|||||||
mingw32_native_packages = $(hardware_native_packages)
|
mingw32_native_packages = $(hardware_native_packages)
|
||||||
|
|
||||||
ifneq ($(build_os),darwin)
|
ifneq ($(build_os),darwin)
|
||||||
darwin_native_packages += darwin_sdk native_clang native_cctools native_libtapi
|
darwin_native_packages += native_cctools native_cdrkit native_libdmg-hfsplus
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
|||||||
@@ -5,17 +5,12 @@ $(package)_file_name=$(native_$(package)_file_name)
|
|||||||
$(package)_sha256_hash=$(native_$(package)_sha256_hash)
|
$(package)_sha256_hash=$(native_$(package)_sha256_hash)
|
||||||
$(package)_dependencies=native_$(package)
|
$(package)_dependencies=native_$(package)
|
||||||
$(package)_cxxflags=-std=c++11
|
$(package)_cxxflags=-std=c++11
|
||||||
$(package)_patches=visibility.patch
|
|
||||||
|
|
||||||
define $(package)_set_vars
|
define $(package)_set_vars
|
||||||
$(package)_config_opts=--disable-shared --with-protoc=$(build_prefix)/bin/protoc
|
$(package)_config_opts=--disable-shared --with-protoc=$(build_prefix)/bin/protoc
|
||||||
$(package)_config_opts_linux=--with-pic
|
$(package)_config_opts_linux=--with-pic
|
||||||
endef
|
endef
|
||||||
|
|
||||||
define $(package)_preprocess_cmds
|
|
||||||
patch -p0 < $($(package)_patch_dir)/visibility.patch
|
|
||||||
endef
|
|
||||||
|
|
||||||
define $(package)_config_cmds
|
define $(package)_config_cmds
|
||||||
$($(package)_autoconf) AR_FLAGS=$($(package)_arflags)
|
$($(package)_autoconf) AR_FLAGS=$($(package)_arflags)
|
||||||
endef
|
endef
|
||||||
|
|||||||
175
contrib/depends/packages/qt.mk
Normal file
175
contrib/depends/packages/qt.mk
Normal file
@@ -0,0 +1,175 @@
|
|||||||
|
PACKAGE=qt
|
||||||
|
$(package)_version=5.15.1
|
||||||
|
$(package)_download_path=https://download.qt.io/official_releases/qt/5.15/$($(package)_version)/submodules
|
||||||
|
$(package)_suffix=everywhere-src-$($(package)_version).tar.xz
|
||||||
|
$(package)_file_name=qtbase-$($(package)_suffix)
|
||||||
|
$(package)_sha256_hash=33960404d579675b7210de103ed06a72613bfc4305443e278e2d32a3eb1f3d8c
|
||||||
|
$(package)_build_subdir=qtbase
|
||||||
|
$(package)_qt_libs=corelib
|
||||||
|
$(package)_patches=fix_qt_pkgconfig.patch fix_no_printer.patch fix_rcc_determinism.patch no-xlib.patch
|
||||||
|
|
||||||
|
$(package)_qttranslations_file_name=qttranslations-$($(package)_suffix)
|
||||||
|
$(package)_qttranslations_sha256_hash=46e0c0e3a511fbcc803a4146204062e47f6ed43b34d98a3c27372a03b8746bd8
|
||||||
|
|
||||||
|
$(package)_qttools_file_name=qttools-$($(package)_suffix)
|
||||||
|
$(package)_qttools_sha256_hash=c98ee5f0f980bf68cbf0c94d62434816a92441733de50bd9adbe9b9055f03498
|
||||||
|
|
||||||
|
$(package)_extra_sources = $($(package)_qttranslations_file_name)
|
||||||
|
$(package)_extra_sources += $($(package)_qttools_file_name)
|
||||||
|
|
||||||
|
define $(package)_set_vars
|
||||||
|
$(package)_config_opts_release = -release
|
||||||
|
$(package)_config_opts_debug = -debug
|
||||||
|
$(package)_config_opts += -bindir $(build_prefix)/bin
|
||||||
|
$(package)_config_opts += -c++std c++11
|
||||||
|
$(package)_config_opts += -confirm-license
|
||||||
|
$(package)_config_opts += -dbus-runtime
|
||||||
|
$(package)_config_opts += -hostprefix $(build_prefix)
|
||||||
|
$(package)_config_opts += -no-compile-examples
|
||||||
|
$(package)_config_opts += -no-cups
|
||||||
|
$(package)_config_opts += -no-egl
|
||||||
|
$(package)_config_opts += -no-eglfs
|
||||||
|
$(package)_config_opts += -no-evdev
|
||||||
|
$(package)_config_opts += -no-gui
|
||||||
|
$(package)_config_opts += -no-freetype
|
||||||
|
$(package)_config_opts += -no-gif
|
||||||
|
$(package)_config_opts += -no-glib
|
||||||
|
$(package)_config_opts += -no-icu
|
||||||
|
$(package)_config_opts += -no-ico
|
||||||
|
$(package)_config_opts += -no-iconv
|
||||||
|
$(package)_config_opts += -no-kms
|
||||||
|
$(package)_config_opts += -no-linuxfb
|
||||||
|
$(package)_config_opts += -no-libjpeg
|
||||||
|
$(package)_config_opts += -no-libudev
|
||||||
|
$(package)_config_opts += -no-mtdev
|
||||||
|
$(package)_config_opts += -no-openvg
|
||||||
|
$(package)_config_opts += -no-reduce-relocations
|
||||||
|
$(package)_config_opts += -no-sql-db2
|
||||||
|
$(package)_config_opts += -no-sql-ibase
|
||||||
|
$(package)_config_opts += -no-sql-oci
|
||||||
|
$(package)_config_opts += -no-sql-tds
|
||||||
|
$(package)_config_opts += -no-sql-mysql
|
||||||
|
$(package)_config_opts += -no-sql-odbc
|
||||||
|
$(package)_config_opts += -no-sql-psql
|
||||||
|
$(package)_config_opts += -no-sql-sqlite
|
||||||
|
$(package)_config_opts += -no-sql-sqlite2
|
||||||
|
$(package)_config_opts += -no-use-gold-linker
|
||||||
|
$(package)_config_opts += -nomake examples
|
||||||
|
$(package)_config_opts += -nomake tests
|
||||||
|
$(package)_config_opts += -opensource
|
||||||
|
$(package)_config_opts += -no-openssl
|
||||||
|
$(package)_config_opts += -optimized-qmake
|
||||||
|
$(package)_config_opts += -pch
|
||||||
|
$(package)_config_opts += -pkg-config
|
||||||
|
$(package)_config_opts += -prefix $(host_prefix)
|
||||||
|
$(package)_config_opts += -no-libpng
|
||||||
|
$(package)_config_opts += -qt-pcre
|
||||||
|
$(package)_config_opts += -qt-harfbuzz
|
||||||
|
$(package)_config_opts += -no-zlib
|
||||||
|
$(package)_config_opts += -static
|
||||||
|
$(package)_config_opts += -silent
|
||||||
|
$(package)_config_opts += -v
|
||||||
|
$(package)_config_opts += -no-feature-bearermanagement
|
||||||
|
$(package)_config_opts += -no-feature-colordialog
|
||||||
|
$(package)_config_opts += -no-feature-dial
|
||||||
|
$(package)_config_opts += -no-feature-filesystemwatcher
|
||||||
|
$(package)_config_opts += -no-feature-fontcombobox
|
||||||
|
$(package)_config_opts += -no-feature-ftp
|
||||||
|
$(package)_config_opts += -no-feature-image_heuristic_mask
|
||||||
|
$(package)_config_opts += -no-feature-keysequenceedit
|
||||||
|
$(package)_config_opts += -no-feature-lcdnumber
|
||||||
|
$(package)_config_opts += -no-feature-pdf
|
||||||
|
$(package)_config_opts += -no-feature-printdialog
|
||||||
|
$(package)_config_opts += -no-feature-printer
|
||||||
|
$(package)_config_opts += -no-feature-printpreviewdialog
|
||||||
|
$(package)_config_opts += -no-feature-printpreviewwidget
|
||||||
|
$(package)_config_opts += -no-feature-sessionmanager
|
||||||
|
$(package)_config_opts += -no-feature-sql
|
||||||
|
$(package)_config_opts += -no-feature-statemachine
|
||||||
|
$(package)_config_opts += -no-feature-syntaxhighlighter
|
||||||
|
$(package)_config_opts += -no-feature-textbrowser
|
||||||
|
$(package)_config_opts += -no-feature-textodfwriter
|
||||||
|
$(package)_config_opts += -no-feature-topleveldomain
|
||||||
|
$(package)_config_opts += -no-feature-udpsocket
|
||||||
|
$(package)_config_opts += -no-feature-undocommand
|
||||||
|
$(package)_config_opts += -no-feature-undogroup
|
||||||
|
$(package)_config_opts += -no-feature-undostack
|
||||||
|
$(package)_config_opts += -no-feature-undoview
|
||||||
|
$(package)_config_opts += -no-feature-vnc
|
||||||
|
$(package)_config_opts += -no-feature-wizard
|
||||||
|
$(package)_config_opts_linux = -no-fontconfig
|
||||||
|
$(package)_config_opts_linux += -no-opengl
|
||||||
|
$(package)_config_opts_linux += -no-xcb
|
||||||
|
$(package)_config_opts_linux += -no-feature-xlib
|
||||||
|
endef
|
||||||
|
|
||||||
|
define $(package)_fetch_cmds
|
||||||
|
$(call fetch_file,$(package),$($(package)_download_path),$($(package)_download_file),$($(package)_file_name),$($(package)_sha256_hash)) && \
|
||||||
|
$(call fetch_file,$(package),$($(package)_download_path),$($(package)_qttranslations_file_name),$($(package)_qttranslations_file_name),$($(package)_qttranslations_sha256_hash)) && \
|
||||||
|
$(call fetch_file,$(package),$($(package)_download_path),$($(package)_qttools_file_name),$($(package)_qttools_file_name),$($(package)_qttools_sha256_hash))
|
||||||
|
endef
|
||||||
|
|
||||||
|
define $(package)_extract_cmds
|
||||||
|
mkdir -p $($(package)_extract_dir) && \
|
||||||
|
echo "$($(package)_sha256_hash) $($(package)_source)" > $($(package)_extract_dir)/.$($(package)_file_name).hash && \
|
||||||
|
echo "$($(package)_qttranslations_sha256_hash) $($(package)_source_dir)/$($(package)_qttranslations_file_name)" >> $($(package)_extract_dir)/.$($(package)_file_name).hash && \
|
||||||
|
echo "$($(package)_qttools_sha256_hash) $($(package)_source_dir)/$($(package)_qttools_file_name)" >> $($(package)_extract_dir)/.$($(package)_file_name).hash && \
|
||||||
|
$(build_SHA256SUM) -c $($(package)_extract_dir)/.$($(package)_file_name).hash && \
|
||||||
|
mkdir qtbase && \
|
||||||
|
tar --strip-components=1 -xf $($(package)_source) -C qtbase && \
|
||||||
|
mkdir qttranslations && \
|
||||||
|
tar --strip-components=1 -xf $($(package)_source_dir)/$($(package)_qttranslations_file_name) -C qttranslations && \
|
||||||
|
mkdir qttools && \
|
||||||
|
tar --strip-components=1 -xf $($(package)_source_dir)/$($(package)_qttools_file_name) -C qttools
|
||||||
|
endef
|
||||||
|
|
||||||
|
|
||||||
|
define $(package)_preprocess_cmds
|
||||||
|
sed -i.old "s|FT_Get_Font_Format|FT_Get_X11_Font_Format|" qtbase/src/platformsupport/fontdatabases/freetype/qfontengine_ft.cpp && \
|
||||||
|
sed -i.old "s|updateqm.commands = \$$$$\$$$$LRELEASE|updateqm.commands = $($(package)_extract_dir)/qttools/bin/lrelease|" qttranslations/translations/translations.pro && \
|
||||||
|
sed -i.old "/updateqm.depends =/d" qttranslations/translations/translations.pro && \
|
||||||
|
sed -i.old "s/src_plugins.depends = src_sql src_network/src_plugins.depends = src_network/" qtbase/src/src.pro && \
|
||||||
|
cp -r qtbase/mkspecs/linux-arm-gnueabi-g++ qtbase/mkspecs/bitcoin-linux-g++ && \
|
||||||
|
sed -i.old "s/arm-linux-gnueabi-/$(host)-/g" qtbase/mkspecs/bitcoin-linux-g++/qmake.conf && \
|
||||||
|
patch -p1 -i $($(package)_patch_dir)/fix_qt_pkgconfig.patch && \
|
||||||
|
patch -p1 -i $($(package)_patch_dir)/fix_no_printer.patch && \
|
||||||
|
echo "!host_build: QMAKE_CFLAGS += $($(package)_cflags) $($(package)_cppflags)" >> qtbase/mkspecs/common/gcc-base.conf && \
|
||||||
|
echo "!host_build: QMAKE_CXXFLAGS += $($(package)_cxxflags) $($(package)_cppflags)" >> qtbase/mkspecs/common/gcc-base.conf && \
|
||||||
|
echo "!host_build: QMAKE_LFLAGS += $($(package)_ldflags)" >> qtbase/mkspecs/common/gcc-base.conf && \
|
||||||
|
patch -p1 -i $($(package)_patch_dir)/no-xlib.patch && \
|
||||||
|
echo "QMAKE_LINK_OBJECT_MAX = 10" >> qtbase/mkspecs/win32-g++/qmake.conf && \
|
||||||
|
echo "QMAKE_LINK_OBJECT_SCRIPT = object_script" >> qtbase/mkspecs/win32-g++/qmake.conf && \
|
||||||
|
sed -i.old "s|QMAKE_CFLAGS += |!host_build: QMAKE_CFLAGS = $($(package)_cflags) $($(package)_cppflags) |" qtbase/mkspecs/win32-g++/qmake.conf && \
|
||||||
|
sed -i.old "s|QMAKE_CXXFLAGS += |!host_build: QMAKE_CXXFLAGS = $($(package)_cxxflags) $($(package)_cppflags) |" qtbase/mkspecs/win32-g++/qmake.conf && \
|
||||||
|
sed -i.old "0,/^QMAKE_LFLAGS_/s|^QMAKE_LFLAGS_|!host_build: QMAKE_LFLAGS = $($(package)_ldflags)\n&|" qtbase/mkspecs/win32-g++/qmake.conf && \
|
||||||
|
sed -i.old "s/LIBRARY_PATH/(CROSS_)?\0/g" qtbase/mkspecs/features/toolchain.prf
|
||||||
|
endef
|
||||||
|
|
||||||
|
define $(package)_config_cmds
|
||||||
|
export PKG_CONFIG_SYSROOT_DIR=/ && \
|
||||||
|
export PKG_CONFIG_LIBDIR=$(host_prefix)/lib/pkgconfig && \
|
||||||
|
export PKG_CONFIG_PATH=$(host_prefix)/share/pkgconfig && \
|
||||||
|
./configure $($(package)_config_opts) && \
|
||||||
|
echo "CONFIG += force_bootstrap" >> mkspecs/qconfig.pri && \
|
||||||
|
$(MAKE) sub-src-clean && \
|
||||||
|
cd ../qttranslations && ../qtbase/bin/qmake qttranslations.pro -o Makefile && \
|
||||||
|
cd translations && ../../qtbase/bin/qmake translations.pro -o Makefile && cd ../.. &&\
|
||||||
|
cd qttools/src/linguist/lrelease/ && ../../../../qtbase/bin/qmake lrelease.pro -o Makefile
|
||||||
|
endef
|
||||||
|
|
||||||
|
define $(package)_build_cmds
|
||||||
|
$(MAKE) -C src $(addprefix sub-,$($(package)_qt_libs)) && \
|
||||||
|
$(MAKE) -C ../qttools/src/linguist/lrelease && \
|
||||||
|
$(MAKE) -C ../qttranslations
|
||||||
|
endef
|
||||||
|
|
||||||
|
define $(package)_stage_cmds
|
||||||
|
$(MAKE) -C src INSTALL_ROOT=$($(package)_staging_dir) $(addsuffix -install_subtargets,$(addprefix sub-,$($(package)_qt_libs))) && cd .. &&\
|
||||||
|
$(MAKE) -C qttools/src/linguist/lrelease INSTALL_ROOT=$($(package)_staging_dir) install_target && \
|
||||||
|
$(MAKE) -C qttranslations INSTALL_ROOT=$($(package)_staging_dir) install_subtargets
|
||||||
|
endef
|
||||||
|
|
||||||
|
define $(package)_postprocess_cmds
|
||||||
|
rm -rf native/mkspecs/ native/lib/ lib/cmake/ && \
|
||||||
|
rm -f lib/lib*.la lib/*.prl plugins/*/*.prl
|
||||||
|
endef
|
||||||
@@ -7,16 +7,19 @@ $(package)_dependencies=ncurses
|
|||||||
|
|
||||||
define $(package)_set_vars
|
define $(package)_set_vars
|
||||||
$(package)_build_opts=CC="$($(package)_cc)"
|
$(package)_build_opts=CC="$($(package)_cc)"
|
||||||
|
$(package)_config_env=AR="$($(package)_ar)" RANLIB="$($(package)_ranlib)" CC="$($(package)_cc)" LDFLAGS="-L$(host_prefix)/lib" ARFLAGS=$($(package)_arflags)
|
||||||
|
$(package)_config_env_darwin=RANLIB="$(host_prefix)/native/bin/x86_64-apple-darwin11-ranlib" AR="$(host_prefix)/native/bin/x86_64-apple-darwin11-ar" CC="$(host_prefix)/native/bin/$($(package)_cc)"
|
||||||
$(package)_config_opts+=--prefix=$(host_prefix)
|
$(package)_config_opts+=--prefix=$(host_prefix)
|
||||||
$(package)_config_opts+=--exec-prefix=$(host_prefix)
|
$(package)_config_opts+=--exec-prefix=$(host_prefix)
|
||||||
$(package)_config_opts+=--host=$(HOST)
|
$(package)_config_opts+=--host=$(HOST)
|
||||||
$(package)_config_opts+=--disable-shared --with-curses
|
$(package)_config_opts+=--disable-shared --with-curses
|
||||||
$(package)_config_opts_release=--disable-debug-mode
|
$(package)_config_opts_release=--disable-debug-mode
|
||||||
|
$(package)_config_opts_darwin+=RANLIB="$(host_prefix)/native/bin/x86_64-apple-darwin11-ranlib" AR="$(host_prefix)/native/bin/x86_64-apple-darwin11-ar" CC="$(host_prefix)/native/bin/$($(package)_cc)"
|
||||||
$(package)_build_opts=CFLAGS="$($(package)_cflags) $($(package)_cppflags) -fPIC"
|
$(package)_build_opts=CFLAGS="$($(package)_cflags) $($(package)_cppflags) -fPIC"
|
||||||
endef
|
endef
|
||||||
|
|
||||||
define $(package)_config_cmds
|
define $(package)_config_cmds
|
||||||
$($(package)_autoconf)
|
./configure $($(package)_config_opts)
|
||||||
endef
|
endef
|
||||||
|
|
||||||
define $(package)_build_cmds
|
define $(package)_build_cmds
|
||||||
|
|||||||
@@ -8,16 +8,15 @@ $(package)_patches=disable-glibc-getrandom-getentropy.patch fix-whitespace.patch
|
|||||||
define $(package)_set_vars
|
define $(package)_set_vars
|
||||||
$(package)_config_opts=--enable-static --disable-shared
|
$(package)_config_opts=--enable-static --disable-shared
|
||||||
$(package)_config_opts+=--prefix=$(host_prefix)
|
$(package)_config_opts+=--prefix=$(host_prefix)
|
||||||
endef
|
$(package)_config_opts_android=RANLIB=$($(package)_ranlib) AR=$($(package)_ar) CC=$($(package)_cc)
|
||||||
|
$(package)_config_opts_darwin=RANLIB="$(host_prefix)/native/bin/x86_64-apple-darwin11-ranlib" AR="$(host_prefix)/native/bin/x86_64-apple-darwin11-ar" CC="$(host_prefix)/native/bin/$($(package)_cc)"
|
||||||
define $(package)_preprocess_cmds
|
|
||||||
patch -p1 < $($(package)_patch_dir)/disable-glibc-getrandom-getentropy.patch &&\
|
|
||||||
autoconf &&\
|
|
||||||
patch -p1 < $($(package)_patch_dir)/fix-whitespace.patch
|
|
||||||
endef
|
endef
|
||||||
|
|
||||||
define $(package)_config_cmds
|
define $(package)_config_cmds
|
||||||
$($(package)_autoconf) AR_FLAGS=$($(package)_arflags)
|
patch -p1 < $($(package)_patch_dir)/disable-glibc-getrandom-getentropy.patch &&\
|
||||||
|
./autogen.sh &&\
|
||||||
|
patch -p1 < $($(package)_patch_dir)/fix-whitespace.patch &&\
|
||||||
|
$($(package)_autoconf) $($(package)_config_opts) AR_FLAGS=$($(package)_arflags)
|
||||||
endef
|
endef
|
||||||
|
|
||||||
define $(package)_build_cmds
|
define $(package)_build_cmds
|
||||||
|
|||||||
@@ -1,27 +1,19 @@
|
|||||||
package=unbound
|
package=unbound
|
||||||
$(package)_version=1.15.0
|
$(package)_version=1.6.8
|
||||||
$(package)_download_path=https://www.nlnetlabs.nl/downloads/$(package)/
|
$(package)_download_path=https://www.unbound.net/downloads/
|
||||||
$(package)_file_name=$(package)-$($(package)_version).tar.gz
|
$(package)_file_name=$(package)-$($(package)_version).tar.gz
|
||||||
$(package)_sha256_hash=a480dc6c8937447b98d161fe911ffc76cfaffa2da18788781314e81339f1126f
|
$(package)_sha256_hash=e3b428e33f56a45417107448418865fe08d58e0e7fea199b855515f60884dd49
|
||||||
$(package)_dependencies=openssl expat
|
$(package)_dependencies=openssl expat ldns
|
||||||
$(package)_patches=disable-glibc-reallocarray.patch
|
|
||||||
|
|
||||||
|
|
||||||
define $(package)_set_vars
|
define $(package)_set_vars
|
||||||
$(package)_config_opts=--disable-shared --enable-static --without-pyunbound --prefix=$(host_prefix) --with-libexpat=$(host_prefix) --with-ssl=$(host_prefix) --with-libevent=no --without-pythonmodule --disable-flto --with-pthreads --with-libunbound-only
|
$(package)_config_opts=--disable-shared --enable-static --without-pyunbound --prefix=$(host_prefix) --with-libexpat=$(host_prefix) --with-ssl=$(host_prefix) --with-libevent=no --without-pythonmodule --disable-flto --with-pthreads
|
||||||
$(package)_config_opts_linux=--with-pic
|
$(package)_config_opts_linux=--with-pic
|
||||||
$(package)_config_opts_w64=--enable-static-exe --sysconfdir=/etc --prefix=$(host_prefix) --target=$(host_prefix)
|
$(package)_config_opts_w64=--enable-static-exe --sysconfdir=/etc --prefix=$(host_prefix) --target=$(host_prefix)
|
||||||
$(package)_config_opts_x86_64_darwin=ac_cv_func_SHA384_Init=yes
|
|
||||||
$(package)_build_opts_mingw32=LDFLAGS="$($(package)_ldflags) -lpthread"
|
$(package)_build_opts_mingw32=LDFLAGS="$($(package)_ldflags) -lpthread"
|
||||||
endef
|
endef
|
||||||
|
|
||||||
define $(package)_preprocess_cmds
|
|
||||||
patch -p1 < $($(package)_patch_dir)/disable-glibc-reallocarray.patch &&\
|
|
||||||
autoconf
|
|
||||||
endef
|
|
||||||
|
|
||||||
define $(package)_config_cmds
|
define $(package)_config_cmds
|
||||||
$($(package)_autoconf) ac_cv_func_getentropy=no
|
$($(package)_autoconf) $($(package)_config_opts)
|
||||||
endef
|
endef
|
||||||
|
|
||||||
define $(package)_build_cmds
|
define $(package)_build_cmds
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
package=unwind
|
package=unwind
|
||||||
$(package)_version=1.5.0
|
$(package)_version=1.2
|
||||||
$(package)_download_path=https://download.savannah.nongnu.org/releases/libunwind
|
$(package)_download_path=https://download.savannah.nongnu.org/releases/libunwind
|
||||||
$(package)_file_name=lib$(package)-$($(package)_version).tar.gz
|
$(package)_file_name=lib$(package)-$($(package)_version).tar.gz
|
||||||
$(package)_sha256_hash=90337653d92d4a13de590781371c604f9031cdb50520366aa1e3a91e1efb1017
|
$(package)_sha256_hash=1de38ffbdc88bd694d10081865871cd2bfbb02ad8ef9e1606aee18d65532b992
|
||||||
$(package)_patches=fix_obj_order.patch
|
$(package)_patches=fix_obj_order.patch
|
||||||
|
|
||||||
define $(package)_preprocess_cmds
|
define $(package)_preprocess_cmds
|
||||||
@@ -12,7 +12,7 @@ endef
|
|||||||
define $(package)_config_cmds
|
define $(package)_config_cmds
|
||||||
cp -f $(BASEDIR)/config.guess config/config.guess &&\
|
cp -f $(BASEDIR)/config.guess config/config.guess &&\
|
||||||
cp -f $(BASEDIR)/config.sub config/config.sub &&\
|
cp -f $(BASEDIR)/config.sub config/config.sub &&\
|
||||||
$($(package)_autoconf) --disable-shared --enable-static --disable-tests --disable-documentation AR_FLAGS=$($(package)_arflags)
|
$($(package)_autoconf) --disable-shared --enable-static AR_FLAGS=$($(package)_arflags)
|
||||||
endef
|
endef
|
||||||
|
|
||||||
define $(package)_build_cmds
|
define $(package)_build_cmds
|
||||||
|
|||||||
@@ -1,9 +1,9 @@
|
|||||||
package=zeromq
|
package=zeromq
|
||||||
$(package)_version=4.3.4
|
$(package)_version=4.1.7
|
||||||
$(package)_download_path=https://github.com/zeromq/libzmq/releases/download/v$($(package)_version)/
|
$(package)_download_path=https://github.com/zeromq/zeromq4-1/releases/download/v$($(package)_version)/
|
||||||
$(package)_file_name=$(package)-$($(package)_version).tar.gz
|
$(package)_file_name=$(package)-$($(package)_version).tar.gz
|
||||||
$(package)_sha256_hash=c593001a89f5a85dd2ddf564805deb860e02471171b3f204944857336295c3e5
|
$(package)_sha256_hash=31c383cfcd3be1dc8a66e448c403029e793687e70473b89c4cc0bd626e7da299
|
||||||
$(package)_patches=06aba27b04c5822cb88a69677382a0f053367143.patch
|
$(package)_patches=9114d3957725acd34aa8b8d011585812f3369411.patch 9e6745c12e0b100cd38acecc16ce7db02905e27c.patch ffe62d3398d5e0191f554f61049aa7ec9fc892ae.patch
|
||||||
|
|
||||||
define $(package)_set_vars
|
define $(package)_set_vars
|
||||||
$(package)_config_opts=--without-documentation --disable-shared --without-libsodium --disable-curve
|
$(package)_config_opts=--without-documentation --disable-shared --without-libsodium --disable-curve
|
||||||
@@ -13,7 +13,10 @@ define $(package)_set_vars
|
|||||||
endef
|
endef
|
||||||
|
|
||||||
define $(package)_preprocess_cmds
|
define $(package)_preprocess_cmds
|
||||||
patch -p1 < $($(package)_patch_dir)/06aba27b04c5822cb88a69677382a0f053367143.patch
|
patch -p1 < $($(package)_patch_dir)/9114d3957725acd34aa8b8d011585812f3369411.patch && \
|
||||||
|
patch -p1 < $($(package)_patch_dir)/9e6745c12e0b100cd38acecc16ce7db02905e27c.patch && \
|
||||||
|
patch -p1 < $($(package)_patch_dir)/ffe62d3398d5e0191f554f61049aa7ec9fc892ae.patch && \
|
||||||
|
./autogen.sh
|
||||||
endef
|
endef
|
||||||
|
|
||||||
define $(package)_config_cmds
|
define $(package)_config_cmds
|
||||||
@@ -21,7 +24,7 @@ define $(package)_config_cmds
|
|||||||
endef
|
endef
|
||||||
|
|
||||||
define $(package)_build_cmds
|
define $(package)_build_cmds
|
||||||
$(MAKE) src/libzmq.la
|
$(MAKE) libzmq.la
|
||||||
endef
|
endef
|
||||||
|
|
||||||
define $(package)_stage_cmds
|
define $(package)_stage_cmds
|
||||||
|
|||||||
@@ -1,11 +0,0 @@
|
|||||||
--- boost_1_64_0/tools/build/src/tools/darwin.jam.O 2017-04-17 03:22:26.000000000 +0100
|
|
||||||
+++ boost_1_64_0/tools/build/src/tools/darwin.jam 2022-05-04 17:26:29.984464447 +0000
|
|
||||||
@@ -505,7 +505,7 @@
|
|
||||||
if $(instruction-set) {
|
|
||||||
options = -arch$(_)$(instruction-set) ;
|
|
||||||
} else {
|
|
||||||
- options = -arch arm ;
|
|
||||||
+# options = -arch arm ;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,21 +0,0 @@
|
|||||||
From a77b066311da42ed7654e39c0356a3b951b2e296 Mon Sep 17 00:00:00 2001
|
|
||||||
From: selsta <selsta@sent.at>
|
|
||||||
Date: Wed, 10 Nov 2021 02:28:54 +0100
|
|
||||||
Subject: [PATCH] windows: add missing include for mingw32
|
|
||||||
|
|
||||||
---
|
|
||||||
windows/hid.c | 1 +
|
|
||||||
1 file changed, 1 insertion(+)
|
|
||||||
|
|
||||||
diff --git a/windows/hid.c b/windows/hid.c
|
|
||||||
index 24756a4..6d8394c 100644
|
|
||||||
--- a/windows/hid.c
|
|
||||||
+++ b/windows/hid.c
|
|
||||||
@@ -33,6 +33,7 @@ typedef LONG NTSTATUS;
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef __MINGW32__
|
|
||||||
+#include <devpropdef.h>
|
|
||||||
#include <ntdef.h>
|
|
||||||
#include <winbase.h>
|
|
||||||
#endif
|
|
||||||
12
contrib/depends/patches/native_cctools/skip_otool.patch
Normal file
12
contrib/depends/patches/native_cctools/skip_otool.patch
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
--- cctools/Makefile.am.O 2016-06-09 15:06:16.000000000 +0100
|
||||||
|
+++ cctools/Makefile.am 2019-11-18 08:59:20.078663220 +0000
|
||||||
|
@@ -1,7 +1,7 @@
|
||||||
|
if ISDARWIN
|
||||||
|
-SUBDIRS=libstuff ar as misc otool ld64 $(LD_CLASSIC)
|
||||||
|
+SUBDIRS=libstuff ar as misc ld64 $(LD_CLASSIC)
|
||||||
|
else
|
||||||
|
-SUBDIRS=libstuff ar as misc libobjc2 otool ld64 $(LD_CLASSIC)
|
||||||
|
+SUBDIRS=libstuff ar as misc ld64 $(LD_CLASSIC)
|
||||||
|
endif
|
||||||
|
|
||||||
|
ACLOCAL_AMFLAGS = -I m4
|
||||||
@@ -1,159 +0,0 @@
|
|||||||
--- src/google/protobuf/descriptor.cc.O 2018-07-30 22:16:10.000000000 +0000
|
|
||||||
+++ src/google/protobuf/descriptor.cc 2022-05-06 13:38:14.827309092 +0000
|
|
||||||
@@ -32,6 +32,9 @@
|
|
||||||
// Based on original Protocol Buffers design by
|
|
||||||
// Sanjay Ghemawat, Jeff Dean, and others.
|
|
||||||
|
|
||||||
+#if defined(__APPLE__) && defined(__arm64__)
|
|
||||||
+#pragma GCC visibility push(hidden)
|
|
||||||
+#endif
|
|
||||||
#include <algorithm>
|
|
||||||
#include <functional>
|
|
||||||
#include <google/protobuf/stubs/hash.h>
|
|
||||||
@@ -7274,3 +7277,6 @@
|
|
||||||
|
|
||||||
} // namespace protobuf
|
|
||||||
} // namespace google
|
|
||||||
+#if defined(__APPLE__) && defined(__arm64__)
|
|
||||||
+#pragma GCC visibility pop
|
|
||||||
+#endif
|
|
||||||
--- src/google/protobuf/extension_set.cc.O 2018-07-23 20:56:42.000000000 +0000
|
|
||||||
+++ src/google/protobuf/extension_set.cc 2022-05-06 14:48:55.369877050 +0000
|
|
||||||
@@ -32,6 +32,9 @@
|
|
||||||
// Based on original Protocol Buffers design by
|
|
||||||
// Sanjay Ghemawat, Jeff Dean, and others.
|
|
||||||
|
|
||||||
+#if defined(__APPLE__) && defined(__arm64__)
|
|
||||||
+#pragma GCC visibility push(hidden)
|
|
||||||
+#endif
|
|
||||||
#include <google/protobuf/stubs/hash.h>
|
|
||||||
#include <tuple>
|
|
||||||
#include <utility>
|
|
||||||
@@ -1914,3 +1917,6 @@
|
|
||||||
} // namespace internal
|
|
||||||
} // namespace protobuf
|
|
||||||
} // namespace google
|
|
||||||
+#if defined(__APPLE__) && defined(__arm64__)
|
|
||||||
+#pragma GCC visibility pop
|
|
||||||
+#endif
|
|
||||||
--- src/google/protobuf/extension_set_heavy.cc.O 2018-07-30 22:16:10.000000000 +0000
|
|
||||||
+++ src/google/protobuf/extension_set_heavy.cc 2022-05-06 14:14:27.847320946 +0000
|
|
||||||
@@ -35,6 +35,10 @@
|
|
||||||
// Contains methods defined in extension_set.h which cannot be part of the
|
|
||||||
// lite library because they use descriptors or reflection.
|
|
||||||
|
|
||||||
+#if defined(__APPLE__) && defined(__arm64__)
|
|
||||||
+#pragma GCC visibility push(hidden)
|
|
||||||
+#endif
|
|
||||||
+
|
|
||||||
#include <google/protobuf/stubs/casts.h>
|
|
||||||
#include <google/protobuf/descriptor.pb.h>
|
|
||||||
#include <google/protobuf/io/coded_stream.h>
|
|
||||||
@@ -814,3 +818,6 @@
|
|
||||||
} // namespace internal
|
|
||||||
} // namespace protobuf
|
|
||||||
} // namespace google
|
|
||||||
+#if defined(__APPLE__) && defined(__arm64__)
|
|
||||||
+#pragma GCC visibility pop
|
|
||||||
+#endif
|
|
||||||
--- src/google/protobuf/generated_message_reflection.cc.O 2018-07-23 20:56:42.000000000 +0000
|
|
||||||
+++ src/google/protobuf/generated_message_reflection.cc 2022-05-06 13:38:49.655540772 +0000
|
|
||||||
@@ -32,6 +32,9 @@
|
|
||||||
// Based on original Protocol Buffers design by
|
|
||||||
// Sanjay Ghemawat, Jeff Dean, and others.
|
|
||||||
|
|
||||||
+#if defined(__APPLE__) && defined(__arm64__)
|
|
||||||
+#pragma GCC visibility push(hidden)
|
|
||||||
+#endif
|
|
||||||
#include <algorithm>
|
|
||||||
#include <set>
|
|
||||||
|
|
||||||
@@ -2420,3 +2423,6 @@
|
|
||||||
} // namespace internal
|
|
||||||
} // namespace protobuf
|
|
||||||
} // namespace google
|
|
||||||
+#if defined(__APPLE__) && defined(__arm64__)
|
|
||||||
+#pragma GCC visibility pop
|
|
||||||
+#endif
|
|
||||||
--- src/google/protobuf/map_field.cc.O 2018-07-23 20:56:42.000000000 +0000
|
|
||||||
+++ src/google/protobuf/map_field.cc 2022-05-06 13:34:44.913905697 +0000
|
|
||||||
@@ -28,6 +28,10 @@
|
|
||||||
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
|
||||||
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
||||||
|
|
||||||
+#if defined(__APPLE__) && defined(__arm64__)
|
|
||||||
+#pragma GCC visibility push(hidden)
|
|
||||||
+#endif
|
|
||||||
+
|
|
||||||
#include <google/protobuf/map_field.h>
|
|
||||||
#include <google/protobuf/map_field_inl.h>
|
|
||||||
|
|
||||||
@@ -462,3 +466,6 @@
|
|
||||||
} // namespace internal
|
|
||||||
} // namespace protobuf
|
|
||||||
} // namespace google
|
|
||||||
+#if defined(__APPLE__) && defined(__arm64__)
|
|
||||||
+#pragma GCC visibility pop
|
|
||||||
+#endif
|
|
||||||
--- src/google/protobuf/text_format.cc.O 2018-07-30 22:16:11.000000000 +0000
|
|
||||||
+++ src/google/protobuf/text_format.cc 2022-05-06 13:34:58.881999517 +0000
|
|
||||||
@@ -32,6 +32,10 @@
|
|
||||||
// Based on original Protocol Buffers design by
|
|
||||||
// Sanjay Ghemawat, Jeff Dean, and others.
|
|
||||||
|
|
||||||
+#if defined(__APPLE__) && defined(__arm64__)
|
|
||||||
+#pragma GCC visibility push(hidden)
|
|
||||||
+#endif
|
|
||||||
+
|
|
||||||
#include <algorithm>
|
|
||||||
#include <float.h>
|
|
||||||
#include <math.h>
|
|
||||||
@@ -2258,3 +2262,6 @@
|
|
||||||
|
|
||||||
} // namespace protobuf
|
|
||||||
} // namespace google
|
|
||||||
+#if defined(__APPLE__) && defined(__arm64__)
|
|
||||||
+#pragma GCC visibility pop
|
|
||||||
+#endif
|
|
||||||
--- src/google/protobuf/wire_format.cc.O 2018-07-23 20:56:42.000000000 +0000
|
|
||||||
+++ src/google/protobuf/wire_format.cc 2022-05-06 13:06:23.294219228 +0000
|
|
||||||
@@ -32,6 +32,10 @@
|
|
||||||
// Based on original Protocol Buffers design by
|
|
||||||
// Sanjay Ghemawat, Jeff Dean, and others.
|
|
||||||
|
|
||||||
+#if defined(__APPLE__) && defined(__arm64__)
|
|
||||||
+#pragma GCC visibility push(hidden)
|
|
||||||
+#endif
|
|
||||||
+
|
|
||||||
#include <stack>
|
|
||||||
#include <string>
|
|
||||||
#include <vector>
|
|
||||||
@@ -1445,3 +1449,7 @@
|
|
||||||
} // namespace internal
|
|
||||||
} // namespace protobuf
|
|
||||||
} // namespace google
|
|
||||||
+
|
|
||||||
+#if defined(__APPLE__) && defined(__arm64__)
|
|
||||||
+#pragma GCC visibility pop
|
|
||||||
+#endif
|
|
||||||
--- src/google/protobuf/stubs/status.cc.O 2018-07-23 20:56:42.000000000 +0000
|
|
||||||
+++ src/google/protobuf/stubs/status.cc 2022-05-06 15:18:53.393208814 +0000
|
|
||||||
@@ -27,6 +27,11 @@
|
|
||||||
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
|
||||||
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
|
||||||
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
||||||
+
|
|
||||||
+#if defined(__APPLE__) && defined(__arm64__)
|
|
||||||
+#pragma GCC visibility push(hidden)
|
|
||||||
+#endif
|
|
||||||
+
|
|
||||||
#include <google/protobuf/stubs/status.h>
|
|
||||||
|
|
||||||
#include <ostream>
|
|
||||||
@@ -132,3 +137,6 @@
|
|
||||||
} // namespace util
|
|
||||||
} // namespace protobuf
|
|
||||||
} // namespace google
|
|
||||||
+#if defined(__APPLE__) && defined(__arm64__)
|
|
||||||
+#pragma GCC visibility pop
|
|
||||||
+#endif
|
|
||||||
19
contrib/depends/patches/qt/fix_no_printer.patch
Normal file
19
contrib/depends/patches/qt/fix_no_printer.patch
Normal file
@@ -0,0 +1,19 @@
|
|||||||
|
--- x/qtbase/src/plugins/platforms/cocoa/qprintengine_mac_p.h
|
||||||
|
+++ y/qtbase/src/plugins/platforms/cocoa/qprintengine_mac_p.h
|
||||||
|
@@ -52,6 +52,7 @@
|
||||||
|
//
|
||||||
|
|
||||||
|
#include <QtCore/qglobal.h>
|
||||||
|
+#include <qpa/qplatformprintdevice.h>
|
||||||
|
|
||||||
|
#ifndef QT_NO_PRINTER
|
||||||
|
|
||||||
|
--- x/qtbase/src/plugins/plugins.pro
|
||||||
|
+++ y/qtbase/src/plugins/plugins.pro
|
||||||
|
@@ -9,6 +9,3 @@ qtHaveModule(gui) {
|
||||||
|
!android:qtConfig(library): SUBDIRS *= generic
|
||||||
|
}
|
||||||
|
qtHaveModule(widgets): SUBDIRS += styles
|
||||||
|
-
|
||||||
|
-!winrt:qtHaveModule(printsupport): \
|
||||||
|
- SUBDIRS += printsupport
|
||||||
11
contrib/depends/patches/qt/fix_qt_pkgconfig.patch
Normal file
11
contrib/depends/patches/qt/fix_qt_pkgconfig.patch
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
--- old/qtbase/mkspecs/features/qt_module.prf
|
||||||
|
+++ new/qtbase/mkspecs/features/qt_module.prf
|
||||||
|
@@ -269,7 +269,7 @@ load(qt_installs)
|
||||||
|
load(qt_targets)
|
||||||
|
|
||||||
|
# this builds on top of qt_common
|
||||||
|
-!internal_module:if(unix|mingw):!if(darwin:debug_and_release:CONFIG(debug, debug|release)) {
|
||||||
|
+if(unix|mingw):!if(darwin:debug_and_release:CONFIG(debug, debug|release)) {
|
||||||
|
CONFIG += create_pc
|
||||||
|
QMAKE_PKGCONFIG_DESTDIR = pkgconfig
|
||||||
|
host_build: \
|
||||||
15
contrib/depends/patches/qt/fix_rcc_determinism.patch
Normal file
15
contrib/depends/patches/qt/fix_rcc_determinism.patch
Normal file
@@ -0,0 +1,15 @@
|
|||||||
|
--- old/qtbase/src/tools/rcc/rcc.cpp
|
||||||
|
+++ new/qtbase/src/tools/rcc/rcc.cpp
|
||||||
|
@@ -207,7 +207,11 @@ void RCCFileInfo::writeDataInfo(RCCResourceLibrary &lib)
|
||||||
|
if (lib.formatVersion() >= 2) {
|
||||||
|
// last modified time stamp
|
||||||
|
const QDateTime lastModified = m_fileInfo.lastModified();
|
||||||
|
- lib.writeNumber8(quint64(lastModified.isValid() ? lastModified.toMSecsSinceEpoch() : 0));
|
||||||
|
+ quint64 lastmod = quint64(lastModified.isValid() ? lastModified.toMSecsSinceEpoch() : 0);
|
||||||
|
+ static const quint64 sourceDate = 1000 * qgetenv("QT_RCC_SOURCE_DATE_OVERRIDE").toULongLong();
|
||||||
|
+ if (sourceDate != 0)
|
||||||
|
+ lastmod = sourceDate;
|
||||||
|
+ lib.writeNumber8(lastmod);
|
||||||
|
if (text || pass1)
|
||||||
|
lib.writeChar('\n');
|
||||||
|
}
|
||||||
69
contrib/depends/patches/qt/no-xlib.patch
Normal file
69
contrib/depends/patches/qt/no-xlib.patch
Normal file
@@ -0,0 +1,69 @@
|
|||||||
|
From 9563cef873ae82e06f60708d706d054717e801ce Mon Sep 17 00:00:00 2001
|
||||||
|
From: Carl Dong <contact@carldong.me>
|
||||||
|
Date: Thu, 18 Jul 2019 17:22:05 -0400
|
||||||
|
Subject: [PATCH] Wrap xlib related code blocks in #if's
|
||||||
|
|
||||||
|
They are not necessary to compile QT.
|
||||||
|
---
|
||||||
|
qtbase/src/plugins/platforms/xcb/qxcbcursor.cpp | 8 ++++++++
|
||||||
|
1 file changed, 8 insertions(+)
|
||||||
|
|
||||||
|
diff --git a/qtbase/src/plugins/platforms/xcb/qxcbcursor.cpp b/qtbase/src/plugins/platforms/xcb/qxcbcursor.cpp
|
||||||
|
index 7c62c2e2b3..c05c6c0a07 100644
|
||||||
|
--- a/qtbase/src/plugins/platforms/xcb/qxcbcursor.cpp
|
||||||
|
+++ b/qtbase/src/plugins/platforms/xcb/qxcbcursor.cpp
|
||||||
|
@@ -49,7 +49,9 @@
|
||||||
|
#include <QtGui/QWindow>
|
||||||
|
#include <QtGui/QBitmap>
|
||||||
|
#include <QtGui/private/qguiapplication_p.h>
|
||||||
|
+#if QT_CONFIG(xcb_xlib) && QT_CONFIG(library)
|
||||||
|
#include <X11/cursorfont.h>
|
||||||
|
+#endif
|
||||||
|
#include <xcb/xfixes.h>
|
||||||
|
#include <xcb/xcb_image.h>
|
||||||
|
|
||||||
|
@@ -391,6 +393,7 @@ void QXcbCursor::changeCursor(QCursor *cursor, QWindow *window)
|
||||||
|
xcb_flush(xcb_connection());
|
||||||
|
}
|
||||||
|
|
||||||
|
+#if QT_CONFIG(xcb_xlib) && QT_CONFIG(library)
|
||||||
|
static int cursorIdForShape(int cshape)
|
||||||
|
{
|
||||||
|
int cursorId = 0;
|
||||||
|
@@ -444,6 +447,7 @@ static int cursorIdForShape(int cshape)
|
||||||
|
}
|
||||||
|
return cursorId;
|
||||||
|
}
|
||||||
|
+#endif
|
||||||
|
|
||||||
|
xcb_cursor_t QXcbCursor::createNonStandardCursor(int cshape)
|
||||||
|
{
|
||||||
|
@@ -556,7 +560,9 @@ static xcb_cursor_t loadCursor(void *dpy, int cshape)
|
||||||
|
xcb_cursor_t QXcbCursor::createFontCursor(int cshape)
|
||||||
|
{
|
||||||
|
xcb_connection_t *conn = xcb_connection();
|
||||||
|
+#if QT_CONFIG(xcb_xlib) && QT_CONFIG(library)
|
||||||
|
int cursorId = cursorIdForShape(cshape);
|
||||||
|
+#endif
|
||||||
|
xcb_cursor_t cursor = XCB_NONE;
|
||||||
|
|
||||||
|
// Try Xcursor first
|
||||||
|
@@ -586,6 +592,7 @@ xcb_cursor_t QXcbCursor::createFontCursor(int cshape)
|
||||||
|
// Non-standard X11 cursors are created from bitmaps
|
||||||
|
cursor = createNonStandardCursor(cshape);
|
||||||
|
|
||||||
|
+#if QT_CONFIG(xcb_xlib) && QT_CONFIG(library)
|
||||||
|
// Create a glpyh cursor if everything else failed
|
||||||
|
if (!cursor && cursorId) {
|
||||||
|
cursor = xcb_generate_id(conn);
|
||||||
|
@@ -593,6 +600,7 @@ xcb_cursor_t QXcbCursor::createFontCursor(int cshape)
|
||||||
|
cursorId, cursorId + 1,
|
||||||
|
0xFFFF, 0xFFFF, 0xFFFF, 0, 0, 0);
|
||||||
|
}
|
||||||
|
+#endif
|
||||||
|
|
||||||
|
if (cursor && cshape >= 0 && cshape < Qt::LastCursor && connection()->hasXFixes()) {
|
||||||
|
const char *name = cursorNames[cshape].front();
|
||||||
|
---
|
||||||
|
2.22.0
|
||||||
|
|
||||||
@@ -1,14 +0,0 @@
|
|||||||
diff --git a/configure.ac b/configure.ac
|
|
||||||
index 5c7da197..e2b25288 100644
|
|
||||||
--- a/configure.ac
|
|
||||||
+++ b/configure.ac
|
|
||||||
@@ -1702,6 +1702,9 @@ AC_LINK_IFELSE([AC_LANG_SOURCE(AC_INCLUDES_DEFAULT
|
|
||||||
#ifndef _OPENBSD_SOURCE
|
|
||||||
#define _OPENBSD_SOURCE 1
|
|
||||||
#endif
|
|
||||||
+#ifdef __linux__
|
|
||||||
+# error reallocarray() is currently disabled on Linux to support glibc < 2.26
|
|
||||||
+#endif
|
|
||||||
#include <stdlib.h>
|
|
||||||
int main(void) {
|
|
||||||
void* p = reallocarray(NULL, 10, 100);
|
|
||||||
@@ -1,9 +1,9 @@
|
|||||||
--- config/ltmain.sh.0 2020-11-10 17:25:26.000000000 +0100
|
--- config/ltmain.sh.O 2017-01-13 16:00:54.000000000 +0000
|
||||||
+++ config/ltmain.sh 2021-09-11 19:39:36.000000000 +0200
|
+++ config/ltmain.sh 2019-11-17 06:46:51.994402494 +0000
|
||||||
@@ -10768,6 +10768,8 @@
|
@@ -7957,6 +7957,8 @@
|
||||||
|
esac
|
||||||
|
done
|
||||||
fi
|
fi
|
||||||
func_to_tool_file "$oldlib" func_convert_file_msys_to_w32
|
|
||||||
tool_oldlib=$func_to_tool_file_result
|
|
||||||
+ oldobjs=`for obj in $oldobjs; do echo $obj; done | sort`
|
+ oldobjs=`for obj in $oldobjs; do echo $obj; done | sort`
|
||||||
+ oldobjs=" `echo $oldobjs`"
|
+ oldobjs=" `echo $oldobjs`"
|
||||||
eval cmds=\"$old_archive_cmds\"
|
eval cmds=\"$old_archive_cmds\"
|
||||||
|
|||||||
@@ -1,22 +0,0 @@
|
|||||||
From 06aba27b04c5822cb88a69677382a0f053367143 Mon Sep 17 00:00:00 2001
|
|
||||||
From: sabotagebeats <27985126+sabotagebeats@users.noreply.github.com>
|
|
||||||
Date: Thu, 22 Jul 2021 21:53:19 -0700
|
|
||||||
Subject: [PATCH] fix: building libzmq fails with error src/clock.cpp:131:16:
|
|
||||||
error: unused variable 'nsecs_per_usec'
|
|
||||||
|
|
||||||
---
|
|
||||||
src/clock.cpp | 1 +
|
|
||||||
1 file changed, 1 insertion(+)
|
|
||||||
|
|
||||||
diff --git a/src/clock.cpp b/src/clock.cpp
|
|
||||||
index 93da90a8e..63c0100a5 100644
|
|
||||||
--- a/src/clock.cpp
|
|
||||||
+++ b/src/clock.cpp
|
|
||||||
@@ -195,6 +195,7 @@ uint64_t zmq::clock_t::now_us ()
|
|
||||||
|
|
||||||
#else
|
|
||||||
|
|
||||||
+ LIBZMQ_UNUSED (nsecs_per_usec);
|
|
||||||
// Use POSIX gettimeofday function to get precise time.
|
|
||||||
struct timeval tv;
|
|
||||||
int rc = gettimeofday (&tv, NULL);
|
|
||||||
@@ -0,0 +1,22 @@
|
|||||||
|
From 9114d3957725acd34aa8b8d011585812f3369411 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Jeroen Ooms <jeroenooms@gmail.com>
|
||||||
|
Date: Tue, 20 Oct 2015 13:10:38 +0200
|
||||||
|
Subject: [PATCH] enable static libraries on mingw
|
||||||
|
|
||||||
|
---
|
||||||
|
configure.ac | 2 +-
|
||||||
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/configure.ac b/configure.ac
|
||||||
|
index 393505b..e92131a 100644
|
||||||
|
--- a/configure.ac
|
||||||
|
+++ b/configure.ac
|
||||||
|
@@ -265,7 +265,7 @@ case "${host_os}" in
|
||||||
|
libzmq_dso_visibility="no"
|
||||||
|
|
||||||
|
if test "x$enable_static" = "xyes"; then
|
||||||
|
- AC_MSG_ERROR([Building static libraries is not supported under MinGW32])
|
||||||
|
+ CPPFLAGS="-DZMQ_STATIC"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Set FD_SETSIZE to 1024
|
||||||
@@ -0,0 +1,22 @@
|
|||||||
|
From 9e6745c12e0b100cd38acecc16ce7db02905e27c Mon Sep 17 00:00:00 2001
|
||||||
|
From: David Millard <dmillard10@gmail.com>
|
||||||
|
Date: Tue, 10 May 2016 13:53:53 -0700
|
||||||
|
Subject: [PATCH] Fix autotools for static MinGW builds
|
||||||
|
|
||||||
|
---
|
||||||
|
configure.ac | 2 +-
|
||||||
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/configure.ac b/configure.ac
|
||||||
|
index 5a0fa14..def6ea7 100644
|
||||||
|
--- a/configure.ac
|
||||||
|
+++ b/configure.ac
|
||||||
|
@@ -259,7 +259,7 @@ case "${host_os}" in
|
||||||
|
libzmq_dso_visibility="no"
|
||||||
|
|
||||||
|
if test "x$enable_static" = "xyes"; then
|
||||||
|
- CPPFLAGS="-DZMQ_STATIC"
|
||||||
|
+ CPPFLAGS="-DZMQ_STATIC $CPPFLAGS"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Set FD_SETSIZE to 1024
|
||||||
@@ -0,0 +1,38 @@
|
|||||||
|
From ffe62d3398d5e0191f554f61049aa7ec9fc892ae Mon Sep 17 00:00:00 2001
|
||||||
|
From: Gregory Lemercier <greglemercier@free.fr>
|
||||||
|
Date: Sun, 7 Oct 2018 18:06:54 +0200
|
||||||
|
Subject: [PATCH] Fix build on arm64 architectures with some strict compilers
|
||||||
|
|
||||||
|
This patch fixes an issue that occurs on 64-bit architetures under
|
||||||
|
strict compiler rules. The code initially checked that the received
|
||||||
|
size stored in 'uint64_t' was not bigger than the max value of a
|
||||||
|
'size_t' variable, which is legitimate on 32-bit architectures where
|
||||||
|
'size_t' variables are stored on 32 bits. On 64-bit architectures,
|
||||||
|
this test no longer makes sense since 'uint64_t' and 'size_t' types
|
||||||
|
have the same size. The issue is fixed by ignoring this portion
|
||||||
|
of code when built for arm64.
|
||||||
|
---
|
||||||
|
src/v1_decoder.cpp | 2 ++
|
||||||
|
1 file changed, 2 insertions(+)
|
||||||
|
|
||||||
|
diff --git a/src/v1_decoder.cpp b/src/v1_decoder.cpp
|
||||||
|
index b002dc9d..2c8c97a7 100644
|
||||||
|
--- a/src/v1_decoder.cpp
|
||||||
|
+++ b/src/v1_decoder.cpp
|
||||||
|
@@ -114,11 +114,13 @@ int zmq::v1_decoder_t::eight_byte_size_ready ()
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
|
||||||
|
+#ifndef __aarch64__
|
||||||
|
// Message size must fit within range of size_t data type.
|
||||||
|
if (payload_length - 1 > std::numeric_limits <size_t>::max ()) {
|
||||||
|
errno = EMSGSIZE;
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
+#endif
|
||||||
|
|
||||||
|
const size_t msg_size = static_cast <size_t> (payload_length - 1);
|
||||||
|
|
||||||
|
--
|
||||||
|
2.20.1
|
||||||
|
|
||||||
@@ -24,8 +24,7 @@ SET(Readline_INCLUDE_DIR @prefix@/include)
|
|||||||
SET(Readline_LIBRARY @prefix@/lib/libreadline.a)
|
SET(Readline_LIBRARY @prefix@/lib/libreadline.a)
|
||||||
SET(Terminfo_LIBRARY @prefix@/lib/libtinfo.a)
|
SET(Terminfo_LIBRARY @prefix@/lib/libtinfo.a)
|
||||||
|
|
||||||
SET(UNBOUND_INCLUDE_DIR @prefix@/include)
|
SET(LRELEASE_PATH @prefix@/native/bin CACHE FILEPATH "path to lrelease" FORCE)
|
||||||
SET(UNBOUND_LIBRARIES @prefix@/lib/libunbound.a)
|
|
||||||
|
|
||||||
if(NOT CMAKE_SYSTEM_NAME STREQUAL "Android")
|
if(NOT CMAKE_SYSTEM_NAME STREQUAL "Android")
|
||||||
SET(LIBUNWIND_INCLUDE_DIR @prefix@/include)
|
SET(LIBUNWIND_INCLUDE_DIR @prefix@/include)
|
||||||
@@ -67,35 +66,22 @@ set (CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY) # Find includes in target
|
|||||||
|
|
||||||
# specify the cross compiler to be used. Darwin uses clang provided by the SDK.
|
# specify the cross compiler to be used. Darwin uses clang provided by the SDK.
|
||||||
if(CMAKE_SYSTEM_NAME STREQUAL "Darwin")
|
if(CMAKE_SYSTEM_NAME STREQUAL "Darwin")
|
||||||
if(ARCHITECTURE STREQUAL "aarch64")
|
|
||||||
SET(CLANG_TARGET "arm64-apple-darwin11")
|
|
||||||
SET(CONF_TRIPLE "aarch64-apple-darwin11")
|
|
||||||
SET(BUILD_TAG "mac-armv8")
|
|
||||||
SET(CMAKE_OSX_ARCHITECTURES "arm64")
|
|
||||||
set(ARM ON)
|
|
||||||
set(ARM_ID "armv8-a")
|
|
||||||
else()
|
|
||||||
SET(CLANG_TARGET "x86_64-apple-darwin11")
|
|
||||||
SET(CONF_TRIPLE "x86_64-apple-darwin11")
|
|
||||||
SET(BUILD_TAG "mac-x64")
|
|
||||||
SET(CMAKE_OSX_ARCHITECTURES "x86_64")
|
|
||||||
endif()
|
|
||||||
SET(_CMAKE_TOOLCHAIN_PREFIX @prefix@/native/bin/${CONF_TRIPLE}-)
|
|
||||||
SET(CMAKE_C_COMPILER @prefix@/native/bin/clang)
|
SET(CMAKE_C_COMPILER @prefix@/native/bin/clang)
|
||||||
SET(CMAKE_C_COMPILER_TARGET ${CLANG_TARGET})
|
SET(CMAKE_C_COMPILER_TARGET x86_64-apple-darwin11)
|
||||||
SET(CMAKE_C_FLAGS_INIT -B${_CMAKE_TOOLCHAIN_PREFIX})
|
|
||||||
SET(CMAKE_CXX_COMPILER @prefix@/native/bin/clang++ -stdlib=libc++)
|
SET(CMAKE_CXX_COMPILER @prefix@/native/bin/clang++ -stdlib=libc++)
|
||||||
SET(CMAKE_CXX_COMPILER_TARGET ${CLANG_TARGET})
|
SET(CMAKE_CXX_COMPILER_TARGET x86_64-apple-darwin11)
|
||||||
SET(CMAKE_CXX_FLAGS_INIT -B${_CMAKE_TOOLCHAIN_PREFIX})
|
SET(CMAKE_ASM_COMPILER_TARGET x86_64-apple-darwin11)
|
||||||
SET(CMAKE_ASM_COMPILER_TARGET ${CLANG_TARGET})
|
SET(CMAKE_ASM-ATT_COMPILER_TARGET x86_64-apple-darwin11)
|
||||||
SET(CMAKE_ASM-ATT_COMPILER_TARGET ${CLANG_TARGET})
|
SET(_CMAKE_TOOLCHAIN_PREFIX x86_64-apple-darwin11-)
|
||||||
SET(APPLE True)
|
SET(APPLE True)
|
||||||
|
SET(BUILD_TAG "mac-x64")
|
||||||
SET(BUILD_64 ON)
|
SET(BUILD_64 ON)
|
||||||
SET(BREW OFF)
|
SET(BREW OFF)
|
||||||
SET(PORT OFF)
|
SET(PORT OFF)
|
||||||
SET(CMAKE_OSX_SYSROOT "@prefix@/native/SDK/")
|
SET(CMAKE_OSX_SYSROOT "@sdk@/MacOSX10.11.sdk/")
|
||||||
SET(CMAKE_OSX_DEPLOYMENT_TARGET "10.08")
|
SET(CMAKE_OSX_DEPLOYMENT_TARGET "10.08")
|
||||||
SET(CMAKE_CXX_STANDARD 14)
|
SET(CMAKE_CXX_STANDARD 11)
|
||||||
|
SET(CMAKE_OSX_ARCHITECTURES "x86_64")
|
||||||
SET(LLVM_ENABLE_PIC OFF)
|
SET(LLVM_ENABLE_PIC OFF)
|
||||||
SET(LLVM_ENABLE_PIE OFF)
|
SET(LLVM_ENABLE_PIE OFF)
|
||||||
elseif(CMAKE_SYSTEM_NAME STREQUAL "Android")
|
elseif(CMAKE_SYSTEM_NAME STREQUAL "Android")
|
||||||
@@ -137,15 +123,15 @@ elseif(ARCHITECTURE STREQUAL "aarch64")
|
|||||||
set(ARM_ID "armv8-a")
|
set(ARM_ID "armv8-a")
|
||||||
if(ANDROID)
|
if(ANDROID)
|
||||||
set(BUILD_TAG "android-armv8")
|
set(BUILD_TAG "android-armv8")
|
||||||
elseif(CMAKE_SYSTEM_NAME STREQUAL "Linux")
|
else()
|
||||||
set(BUILD_TAG "linux-armv8")
|
set(BUILD_TAG "linux-armv8")
|
||||||
endif()
|
endif()
|
||||||
set(BUILD_64 ON)
|
set(BUILD_64 ON)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(ARCHITECTURE STREQUAL "riscv64")
|
if(ARCHITECTURE STREQUAL "riscv64")
|
||||||
set(ARCH_ID "riscv64")
|
set(NO_AES ON)
|
||||||
set(ARCH "rv64gc")
|
set(ARCH "rv64imafdc")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(ARCHITECTURE STREQUAL "i686")
|
if(ARCHITECTURE STREQUAL "i686")
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
# Copyright (c) 2014-2022, The Monero Project
|
# Copyright (c) 2014-2020, The Monero Project
|
||||||
#
|
#
|
||||||
# All rights reserved.
|
# All rights reserved.
|
||||||
#
|
#
|
||||||
|
|||||||
1
contrib/epee/demo/.gitignore
vendored
Normal file
1
contrib/epee/demo/.gitignore
vendored
Normal file
@@ -0,0 +1 @@
|
|||||||
|
/build/*
|
||||||
49
contrib/epee/demo/CMakeLists.txt
Normal file
49
contrib/epee/demo/CMakeLists.txt
Normal file
@@ -0,0 +1,49 @@
|
|||||||
|
cmake_minimum_required(VERSION 3.5)
|
||||||
|
set(Boost_USE_MULTITHREADED ON)
|
||||||
|
#set(Boost_DEBUG 1)
|
||||||
|
find_package(Boost COMPONENTS system filesystem thread date_time chrono regex )
|
||||||
|
|
||||||
|
include_directories( ${Boost_INCLUDE_DIRS} )
|
||||||
|
|
||||||
|
|
||||||
|
IF (MSVC)
|
||||||
|
add_definitions( "/W3 /D_CRT_SECURE_NO_WARNINGS /wd4996 /wd4345 /nologo /D_WIN32_WINNT=0x0600 /DWIN32_LEAN_AND_MEAN /bigobj" )
|
||||||
|
ELSE()
|
||||||
|
# set stuff for other systems
|
||||||
|
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11 -Wall -Wno-reorder -D_GNU_SOURCE")
|
||||||
|
ENDIF()
|
||||||
|
|
||||||
|
|
||||||
|
include_directories(.)
|
||||||
|
include_directories(../include)
|
||||||
|
include_directories(iface)
|
||||||
|
|
||||||
|
|
||||||
|
# Add folders to filters
|
||||||
|
file(GLOB_RECURSE LEVIN_GENERAL_SECTION RELATIVE ${CMAKE_CURRENT_SOURCE_DIR}
|
||||||
|
${CMAKE_CURRENT_SOURCE_DIR}/demo_levin_server/*.h
|
||||||
|
${CMAKE_CURRENT_SOURCE_DIR}/demo_levin_server/*.inl
|
||||||
|
${CMAKE_CURRENT_SOURCE_DIR}/demo_levin_server/*.cpp)
|
||||||
|
|
||||||
|
file(GLOB_RECURSE HTTP_GENERAL_SECTION RELATIVE ${CMAKE_CURRENT_SOURCE_DIR}
|
||||||
|
${CMAKE_CURRENT_SOURCE_DIR}/demo_http_server/*.h
|
||||||
|
${CMAKE_CURRENT_SOURCE_DIR}/demo_http_server/*.inl
|
||||||
|
${CMAKE_CURRENT_SOURCE_DIR}/demo_http_server/*.cpp)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
source_group(general FILES ${LEVIN_GENERAL_SECTION} FILES ${HTTP_GENERAL_SECTION})
|
||||||
|
#source_group(general FILES ${HTTP_GENERAL_SECTION})
|
||||||
|
|
||||||
|
add_executable(demo_http_server ${HTTP_GENERAL_SECTION} )
|
||||||
|
add_executable(demo_levin_server ${LEVIN_GENERAL_SECTION} )
|
||||||
|
|
||||||
|
target_link_libraries( demo_http_server ${Boost_LIBRARIES} )
|
||||||
|
target_link_libraries( demo_levin_server ${Boost_LIBRARIES} )
|
||||||
|
|
||||||
|
IF (NOT WIN32)
|
||||||
|
target_link_libraries (demo_http_server rt)
|
||||||
|
target_link_libraries (demo_levin_server rt)
|
||||||
|
ENDIF()
|
||||||
|
|
||||||
|
|
||||||
8
contrib/epee/demo/demo_http_server/stdafx.cpp
Normal file
8
contrib/epee/demo/demo_http_server/stdafx.cpp
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
// stdafx.cpp : source file that includes just the standard includes
|
||||||
|
// demo_http_server.pch will be the pre-compiled header
|
||||||
|
// stdafx.obj will contain the pre-compiled type information
|
||||||
|
|
||||||
|
#include "stdafx.h"
|
||||||
|
|
||||||
|
// TODO: reference any additional headers you need in STDAFX.H
|
||||||
|
// and not in this file
|
||||||
40
contrib/epee/demo/demo_http_server/stdafx.h
Normal file
40
contrib/epee/demo/demo_http_server/stdafx.h
Normal file
@@ -0,0 +1,40 @@
|
|||||||
|
// Copyright (c) 2006-2013, Andrey N. Sabelnikov, www.sabelnikov.net
|
||||||
|
// All rights reserved.
|
||||||
|
//
|
||||||
|
// Redistribution and use in source and binary forms, with or without
|
||||||
|
// modification, are permitted provided that the following conditions are met:
|
||||||
|
// * Redistributions of source code must retain the above copyright
|
||||||
|
// notice, this list of conditions and the following disclaimer.
|
||||||
|
// * Redistributions in binary form must reproduce the above copyright
|
||||||
|
// notice, this list of conditions and the following disclaimer in the
|
||||||
|
// documentation and/or other materials provided with the distribution.
|
||||||
|
// * Neither the name of the Andrey N. Sabelnikov nor the
|
||||||
|
// names of its contributors may be used to endorse or promote products
|
||||||
|
// derived from this software without specific prior written permission.
|
||||||
|
//
|
||||||
|
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
|
||||||
|
// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
||||||
|
// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||||
|
// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER BE LIABLE FOR ANY
|
||||||
|
// DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
||||||
|
// (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||||
|
// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
|
||||||
|
// ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||||
|
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||||
|
// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
//
|
||||||
|
|
||||||
|
|
||||||
|
#pragma once
|
||||||
|
|
||||||
|
#include "targetver.h"
|
||||||
|
|
||||||
|
|
||||||
|
#include <stdio.h>
|
||||||
|
|
||||||
|
|
||||||
|
#define BOOST_FILESYSTEM_VERSION 3
|
||||||
|
#define ENABLE_RELEASE_LOGGING
|
||||||
|
#include "misc_log_ex.h"
|
||||||
|
|
||||||
|
|
||||||
13
contrib/epee/demo/demo_http_server/targetver.h
Normal file
13
contrib/epee/demo/demo_http_server/targetver.h
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
#pragma once
|
||||||
|
|
||||||
|
// The following macros define the minimum required platform. The minimum required platform
|
||||||
|
// is the earliest version of Windows, Internet Explorer etc. that has the necessary features to run
|
||||||
|
// your application. The macros work by enabling all features available on platform versions up to and
|
||||||
|
// including the version specified.
|
||||||
|
|
||||||
|
// Modify the following defines if you have to target a platform prior to the ones specified below.
|
||||||
|
// Refer to MSDN for the latest info on corresponding values for different platforms.
|
||||||
|
#ifndef _WIN32_WINNT // Specifies that the minimum required platform is Windows Vista.
|
||||||
|
#define _WIN32_WINNT 0x0600 // Change this to the appropriate value to target other versions of Windows.
|
||||||
|
#endif
|
||||||
|
|
||||||
30
contrib/epee/demo/demo_levin_server/stdafx.cpp
Normal file
30
contrib/epee/demo/demo_levin_server/stdafx.cpp
Normal file
@@ -0,0 +1,30 @@
|
|||||||
|
// Copyright (c) 2006-2013, Andrey N. Sabelnikov, www.sabelnikov.net
|
||||||
|
// All rights reserved.
|
||||||
|
//
|
||||||
|
// Redistribution and use in source and binary forms, with or without
|
||||||
|
// modification, are permitted provided that the following conditions are met:
|
||||||
|
// * Redistributions of source code must retain the above copyright
|
||||||
|
// notice, this list of conditions and the following disclaimer.
|
||||||
|
// * Redistributions in binary form must reproduce the above copyright
|
||||||
|
// notice, this list of conditions and the following disclaimer in the
|
||||||
|
// documentation and/or other materials provided with the distribution.
|
||||||
|
// * Neither the name of the Andrey N. Sabelnikov nor the
|
||||||
|
// names of its contributors may be used to endorse or promote products
|
||||||
|
// derived from this software without specific prior written permission.
|
||||||
|
//
|
||||||
|
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
|
||||||
|
// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
||||||
|
// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||||
|
// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER BE LIABLE FOR ANY
|
||||||
|
// DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
||||||
|
// (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||||
|
// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
|
||||||
|
// ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||||
|
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||||
|
// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
//
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#include "stdafx.h"
|
||||||
|
|
||||||
41
contrib/epee/demo/demo_levin_server/stdafx.h
Normal file
41
contrib/epee/demo/demo_levin_server/stdafx.h
Normal file
@@ -0,0 +1,41 @@
|
|||||||
|
// Copyright (c) 2006-2013, Andrey N. Sabelnikov, www.sabelnikov.net
|
||||||
|
// All rights reserved.
|
||||||
|
//
|
||||||
|
// Redistribution and use in source and binary forms, with or without
|
||||||
|
// modification, are permitted provided that the following conditions are met:
|
||||||
|
// * Redistributions of source code must retain the above copyright
|
||||||
|
// notice, this list of conditions and the following disclaimer.
|
||||||
|
// * Redistributions in binary form must reproduce the above copyright
|
||||||
|
// notice, this list of conditions and the following disclaimer in the
|
||||||
|
// documentation and/or other materials provided with the distribution.
|
||||||
|
// * Neither the name of the Andrey N. Sabelnikov nor the
|
||||||
|
// names of its contributors may be used to endorse or promote products
|
||||||
|
// derived from this software without specific prior written permission.
|
||||||
|
//
|
||||||
|
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
|
||||||
|
// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
||||||
|
// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||||
|
// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER BE LIABLE FOR ANY
|
||||||
|
// DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
||||||
|
// (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||||
|
// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
|
||||||
|
// ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||||
|
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||||
|
// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
//
|
||||||
|
|
||||||
|
|
||||||
|
#pragma once
|
||||||
|
|
||||||
|
#include "targetver.h"
|
||||||
|
|
||||||
|
|
||||||
|
#include <stdio.h>
|
||||||
|
|
||||||
|
|
||||||
|
#define BOOST_FILESYSTEM_VERSION 3
|
||||||
|
#define ENABLE_RELEASE_LOGGING
|
||||||
|
#include "log_opt_defs.h"
|
||||||
|
#include "misc_log_ex.h"
|
||||||
|
|
||||||
|
|
||||||
13
contrib/epee/demo/demo_levin_server/targetver.h
Normal file
13
contrib/epee/demo/demo_levin_server/targetver.h
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
#pragma once
|
||||||
|
|
||||||
|
// The following macros define the minimum required platform. The minimum required platform
|
||||||
|
// is the earliest version of Windows, Internet Explorer etc. that has the necessary features to run
|
||||||
|
// your application. The macros work by enabling all features available on platform versions up to and
|
||||||
|
// including the version specified.
|
||||||
|
|
||||||
|
// Modify the following defines if you have to target a platform prior to the ones specified below.
|
||||||
|
// Refer to MSDN for the latest info on corresponding values for different platforms.
|
||||||
|
#ifndef _WIN32_WINNT // Specifies that the minimum required platform is Windows Vista.
|
||||||
|
#define _WIN32_WINNT 0x0600 // Change this to the appropriate value to target other versions of Windows.
|
||||||
|
#endif
|
||||||
|
|
||||||
4
contrib/epee/demo/generate_gcc.sh
Normal file
4
contrib/epee/demo/generate_gcc.sh
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
mkdir build
|
||||||
|
cd build
|
||||||
|
cmake ..
|
||||||
|
#cmake -DBOOST_ROOT=/usr/local/proj/boost_1_49_0 -DBOOST_LIBRARYDIR=/usr/local/proj/boost_1_49_0/stage/lib ..
|
||||||
7
contrib/epee/demo/generate_vc_proj.bat
Normal file
7
contrib/epee/demo/generate_vc_proj.bat
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
mkdir build
|
||||||
|
|
||||||
|
cd build
|
||||||
|
|
||||||
|
cmake "-DBoost_USE_STATIC_LIBS=TRUE" -G "Visual Studio 11 Win64" ..
|
||||||
|
cd ..
|
||||||
|
pause
|
||||||
225
contrib/epee/demo/iface/transport_defs.h
Normal file
225
contrib/epee/demo/iface/transport_defs.h
Normal file
@@ -0,0 +1,225 @@
|
|||||||
|
#pragma once
|
||||||
|
|
||||||
|
#include "serialization/keyvalue_serialization.h"
|
||||||
|
#include "storages/portable_storage_base.h"
|
||||||
|
|
||||||
|
namespace demo
|
||||||
|
{
|
||||||
|
|
||||||
|
struct some_test_subdata
|
||||||
|
{
|
||||||
|
std::string m_str;
|
||||||
|
|
||||||
|
BEGIN_KV_SERIALIZE_MAP()
|
||||||
|
KV_SERIALIZE(m_str)
|
||||||
|
END_KV_SERIALIZE_MAP()
|
||||||
|
};
|
||||||
|
|
||||||
|
struct some_test_data
|
||||||
|
{
|
||||||
|
std::string m_str;
|
||||||
|
uint64_t m_uint64;
|
||||||
|
uint32_t m_uint32;
|
||||||
|
uint16_t m_uint16;
|
||||||
|
uint8_t m_uint8;
|
||||||
|
int64_t m_int64;
|
||||||
|
int32_t m_int32;
|
||||||
|
int16_t m_int16;
|
||||||
|
int8_t m_int8;
|
||||||
|
double m_double;
|
||||||
|
bool m_bool;
|
||||||
|
std::list<std::string> m_list_of_str;
|
||||||
|
std::list<uint64_t> m_list_of_uint64_t;
|
||||||
|
std::list<uint32_t> m_list_of_uint32_t;
|
||||||
|
std::list<uint16_t> m_list_of_uint16_t;
|
||||||
|
std::list<uint8_t> m_list_of_uint8_t;
|
||||||
|
std::list<int64_t> m_list_of_int64_t;
|
||||||
|
std::list<int32_t> m_list_of_int32_t;
|
||||||
|
std::list<int16_t> m_list_of_int16_t;
|
||||||
|
std::list<int8_t> m_list_of_int8_t;
|
||||||
|
std::list<double> m_list_of_double;
|
||||||
|
std::list<bool> m_list_of_bool;
|
||||||
|
some_test_subdata m_subobj;
|
||||||
|
std::list<some_test_data> m_list_of_self;
|
||||||
|
epee::serialization::storage_entry m_storage_entry_int;
|
||||||
|
epee::serialization::storage_entry m_storage_entry_string;
|
||||||
|
|
||||||
|
BEGIN_KV_SERIALIZE_MAP()
|
||||||
|
KV_SERIALIZE(m_str)
|
||||||
|
KV_SERIALIZE(m_uint64)
|
||||||
|
KV_SERIALIZE(m_uint32)
|
||||||
|
KV_SERIALIZE(m_uint16)
|
||||||
|
KV_SERIALIZE(m_uint8)
|
||||||
|
KV_SERIALIZE(m_int64)
|
||||||
|
KV_SERIALIZE(m_int32)
|
||||||
|
KV_SERIALIZE(m_int16)
|
||||||
|
KV_SERIALIZE(m_int8)
|
||||||
|
KV_SERIALIZE(m_double)
|
||||||
|
KV_SERIALIZE(m_bool)
|
||||||
|
KV_SERIALIZE(m_subobj)
|
||||||
|
KV_SERIALIZE(m_list_of_str)
|
||||||
|
KV_SERIALIZE(m_list_of_uint64_t)
|
||||||
|
KV_SERIALIZE(m_list_of_uint32_t)
|
||||||
|
KV_SERIALIZE(m_list_of_uint16_t)
|
||||||
|
KV_SERIALIZE(m_list_of_uint8_t)
|
||||||
|
KV_SERIALIZE(m_list_of_int64_t)
|
||||||
|
KV_SERIALIZE(m_list_of_int32_t)
|
||||||
|
KV_SERIALIZE(m_list_of_int16_t)
|
||||||
|
KV_SERIALIZE(m_list_of_int8_t)
|
||||||
|
KV_SERIALIZE(m_list_of_double)
|
||||||
|
KV_SERIALIZE(m_list_of_bool)
|
||||||
|
KV_SERIALIZE(m_list_of_self)
|
||||||
|
KV_SERIALIZE(m_storage_entry_int)
|
||||||
|
KV_SERIALIZE(m_storage_entry_string)
|
||||||
|
END_KV_SERIALIZE_MAP()
|
||||||
|
};
|
||||||
|
|
||||||
|
/************************************************************************/
|
||||||
|
/* */
|
||||||
|
/************************************************************************/
|
||||||
|
struct COMMAND_EXAMPLE_1
|
||||||
|
{
|
||||||
|
const static int ID = 1000;
|
||||||
|
|
||||||
|
struct request_t
|
||||||
|
{
|
||||||
|
std::string example_string_data;
|
||||||
|
some_test_data sub;
|
||||||
|
|
||||||
|
BEGIN_KV_SERIALIZE_MAP()
|
||||||
|
KV_SERIALIZE(example_string_data)
|
||||||
|
KV_SERIALIZE(sub)
|
||||||
|
END_KV_SERIALIZE_MAP()
|
||||||
|
};
|
||||||
|
typedef epee::misc_utils::struct_init<request_t> request;
|
||||||
|
|
||||||
|
|
||||||
|
struct response_t
|
||||||
|
{
|
||||||
|
bool m_success;
|
||||||
|
std::list<some_test_data> subs;
|
||||||
|
|
||||||
|
BEGIN_KV_SERIALIZE_MAP()
|
||||||
|
KV_SERIALIZE(m_success)
|
||||||
|
KV_SERIALIZE(subs)
|
||||||
|
END_KV_SERIALIZE_MAP()
|
||||||
|
};
|
||||||
|
};
|
||||||
|
typedef epee::misc_utils::struct_init<response_t> response;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
struct COMMAND_EXAMPLE_2
|
||||||
|
{
|
||||||
|
const static int ID = 1001;
|
||||||
|
|
||||||
|
struct request_t
|
||||||
|
{
|
||||||
|
std::string example_string_data2;
|
||||||
|
|
||||||
|
BEGIN_KV_SERIALIZE_MAP()
|
||||||
|
KV_SERIALIZE(example_string_data2)
|
||||||
|
END_KV_SERIALIZE_MAP()
|
||||||
|
};
|
||||||
|
typedef epee::misc_utils::struct_init<request_t> request;
|
||||||
|
|
||||||
|
struct response_t
|
||||||
|
{
|
||||||
|
bool m_success;
|
||||||
|
|
||||||
|
|
||||||
|
BEGIN_KV_SERIALIZE_MAP()
|
||||||
|
KV_SERIALIZE(m_success)
|
||||||
|
END_KV_SERIALIZE_MAP()
|
||||||
|
};
|
||||||
|
typedef epee::misc_utils::struct_init<response_t> response;
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
//-------------------------------------------------------------------------------------
|
||||||
|
//-------------------------------------------------------------------------------------
|
||||||
|
//in debug purpose
|
||||||
|
bool operator != (const some_test_subdata& a, const some_test_subdata& b)
|
||||||
|
{
|
||||||
|
return b.m_str != a.m_str;
|
||||||
|
}
|
||||||
|
|
||||||
|
bool operator == (const some_test_data& a, const some_test_data& b)
|
||||||
|
{
|
||||||
|
if( b.m_str != a.m_str
|
||||||
|
|| b.m_uint64 != a.m_uint64
|
||||||
|
|| b.m_uint32 != a.m_uint32
|
||||||
|
|| b.m_uint16 != a.m_uint16
|
||||||
|
|| b.m_uint8 != a.m_uint8
|
||||||
|
|| b.m_int64 != a.m_int64
|
||||||
|
|| b.m_int32 != a.m_int32
|
||||||
|
|| b.m_int16 != a.m_int16
|
||||||
|
|| b.m_int8 != a.m_int8
|
||||||
|
|| b.m_double != a.m_double
|
||||||
|
|| b.m_bool != a.m_bool
|
||||||
|
|| b.m_list_of_str != a.m_list_of_str
|
||||||
|
|| b.m_list_of_uint64_t != a.m_list_of_uint64_t
|
||||||
|
|| b.m_list_of_uint32_t != a.m_list_of_uint32_t
|
||||||
|
|| b.m_list_of_uint16_t != a.m_list_of_uint16_t
|
||||||
|
|| b.m_list_of_uint8_t != a.m_list_of_uint8_t
|
||||||
|
|| b.m_list_of_int64_t != a.m_list_of_int64_t
|
||||||
|
|| b.m_list_of_int32_t != a.m_list_of_int32_t
|
||||||
|
|| b.m_list_of_int16_t != a.m_list_of_int16_t
|
||||||
|
|| b.m_list_of_int8_t != a.m_list_of_int8_t
|
||||||
|
|| b.m_list_of_double != a.m_list_of_double
|
||||||
|
|| b.m_list_of_bool != a.m_list_of_bool
|
||||||
|
|| b.m_subobj != a.m_subobj
|
||||||
|
|| b.m_list_of_self != a.m_list_of_self
|
||||||
|
|| b.m_storage_entry_int.which() != a.m_storage_entry_int.which()
|
||||||
|
|| b.m_storage_entry_string.which() != a.m_storage_entry_string.which()
|
||||||
|
)
|
||||||
|
return false;
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
inline some_test_data get_test_data()
|
||||||
|
{
|
||||||
|
some_test_data s;
|
||||||
|
s.m_str = "zuzuzuzuzuz";
|
||||||
|
s.m_uint64 = 111111111111111;
|
||||||
|
s.m_uint32 = 2222222;
|
||||||
|
s.m_uint16 = 2222;
|
||||||
|
s.m_uint8 = 22;
|
||||||
|
s.m_int64 = -111111111111111;
|
||||||
|
s.m_int32 = -2222222;
|
||||||
|
s.m_int16 = -2222;
|
||||||
|
s.m_int8 = -24;
|
||||||
|
s.m_double = 0.11111;
|
||||||
|
s.m_bool = true;
|
||||||
|
s.m_list_of_str.push_back("1112121");
|
||||||
|
s.m_list_of_uint64_t.push_back(1111111111);
|
||||||
|
s.m_list_of_uint64_t.push_back(2222222222);
|
||||||
|
s.m_list_of_uint32_t.push_back(1111111);
|
||||||
|
s.m_list_of_uint32_t.push_back(2222222);
|
||||||
|
s.m_list_of_uint16_t.push_back(1111);
|
||||||
|
s.m_list_of_uint16_t.push_back(2222);
|
||||||
|
s.m_list_of_uint8_t.push_back(11);
|
||||||
|
s.m_list_of_uint8_t.push_back(22);
|
||||||
|
|
||||||
|
|
||||||
|
s.m_list_of_int64_t.push_back(-1111111111);
|
||||||
|
s.m_list_of_int64_t.push_back(-222222222);
|
||||||
|
s.m_list_of_int32_t.push_back(-1111111);
|
||||||
|
s.m_list_of_int32_t.push_back(-2222222);
|
||||||
|
s.m_list_of_int16_t.push_back(-1111);
|
||||||
|
s.m_list_of_int16_t.push_back(-2222);
|
||||||
|
s.m_list_of_int8_t.push_back(-11);
|
||||||
|
s.m_list_of_int8_t.push_back(-22);
|
||||||
|
|
||||||
|
s.m_list_of_double.push_back(0.11111);
|
||||||
|
s.m_list_of_double.push_back(0.22222);
|
||||||
|
s.m_list_of_bool.push_back(true);
|
||||||
|
s.m_list_of_bool.push_back(false);
|
||||||
|
|
||||||
|
s.m_subobj.m_str = "subszzzzzzzz";
|
||||||
|
s.m_list_of_self.push_back(s);
|
||||||
|
s.m_storage_entry_int = epee::serialization::storage_entry(uint64_t(22222));
|
||||||
|
s.m_storage_entry_string = epee::serialization::storage_entry(std::string("sdsvsdvs"));
|
||||||
|
return s;
|
||||||
|
}
|
||||||
|
}
|
||||||
1095
contrib/epee/include/ado_db_helper.h
Normal file
1095
contrib/epee/include/ado_db_helper.h
Normal file
File diff suppressed because it is too large
Load Diff
@@ -1,4 +1,4 @@
|
|||||||
// Copyright (c) 2019-2022, The Monero Project
|
// Copyright (c) 2019-2020, The Monero Project
|
||||||
//
|
//
|
||||||
// All rights reserved.
|
// All rights reserved.
|
||||||
//
|
//
|
||||||
|
|||||||
@@ -1,5 +1,4 @@
|
|||||||
// Copyright (c) 2020-2022, The Monero Project
|
// Copyright (c) 2020, The Monero Project
|
||||||
|
|
||||||
//
|
//
|
||||||
// All rights reserved.
|
// All rights reserved.
|
||||||
//
|
//
|
||||||
|
|||||||
@@ -196,7 +196,7 @@ namespace epee
|
|||||||
if (m_read_status == state_cancelled)
|
if (m_read_status == state_cancelled)
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
DWORD retval = ::WaitForSingleObject(::GetStdHandle(STD_INPUT_HANDLE), 100);
|
int retval = ::WaitForSingleObject(::GetStdHandle(STD_INPUT_HANDLE), 100);
|
||||||
switch (retval)
|
switch (retval)
|
||||||
{
|
{
|
||||||
case WAIT_FAILED:
|
case WAIT_FAILED:
|
||||||
|
|||||||
56
contrib/epee/include/copyable_atomic.h
Normal file
56
contrib/epee/include/copyable_atomic.h
Normal file
@@ -0,0 +1,56 @@
|
|||||||
|
// Copyright (c) 2006-2013, Andrey N. Sabelnikov, www.sabelnikov.net
|
||||||
|
// All rights reserved.
|
||||||
|
//
|
||||||
|
// Redistribution and use in source and binary forms, with or without
|
||||||
|
// modification, are permitted provided that the following conditions are met:
|
||||||
|
// * Redistributions of source code must retain the above copyright
|
||||||
|
// notice, this list of conditions and the following disclaimer.
|
||||||
|
// * Redistributions in binary form must reproduce the above copyright
|
||||||
|
// notice, this list of conditions and the following disclaimer in the
|
||||||
|
// documentation and/or other materials provided with the distribution.
|
||||||
|
// * Neither the name of the Andrey N. Sabelnikov nor the
|
||||||
|
// names of its contributors may be used to endorse or promote products
|
||||||
|
// derived from this software without specific prior written permission.
|
||||||
|
//
|
||||||
|
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
|
||||||
|
// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
||||||
|
// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||||
|
// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER BE LIABLE FOR ANY
|
||||||
|
// DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
||||||
|
// (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||||
|
// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
|
||||||
|
// ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||||
|
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||||
|
// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
//
|
||||||
|
|
||||||
|
#pragma once
|
||||||
|
|
||||||
|
#include <atomic>
|
||||||
|
|
||||||
|
namespace epee
|
||||||
|
{
|
||||||
|
class copyable_atomic: public std::atomic<uint32_t>
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
copyable_atomic()
|
||||||
|
{};
|
||||||
|
copyable_atomic(uint32_t value)
|
||||||
|
{ store(value); }
|
||||||
|
copyable_atomic(const copyable_atomic& a):std::atomic<uint32_t>(a.load())
|
||||||
|
{}
|
||||||
|
copyable_atomic& operator= (const copyable_atomic& a)
|
||||||
|
{
|
||||||
|
store(a.load());
|
||||||
|
return *this;
|
||||||
|
}
|
||||||
|
uint32_t operator++()
|
||||||
|
{
|
||||||
|
return std::atomic<uint32_t>::operator++();
|
||||||
|
}
|
||||||
|
uint32_t operator++(int fake)
|
||||||
|
{
|
||||||
|
return std::atomic<uint32_t>::operator++(fake);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
}
|
||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user