Merge #6294: backport: cmake prereq 2

ae6e0ada9b Merge bitcoin/bitcoin#29725: depends: build libqrencode with CMake (fanquake)
1522896f9f fix mingw32 build (UdjinM6)
7bb1d0ef5e Merge bitcoin/bitcoin#22724: windres: use PACKAGE_VERSION rather than building more version numbers (fanquake)
6bee8e25f7 Merge bitcoin/bitcoin#27496: depends: reuse _config_opts for CMake options (fanquake)
24973ee34c Merge bitcoin/bitcoin#30488: depends: Fix CMake-generated `libevent*.pc` files (merge-script)
a27b08ed7a Merge bitcoin/bitcoin#29835: depends: build libevent with CMake (merge-script)
a204616446 Merge bitcoin/bitcoin#30464: test, refactor: Fix MSVC warning C4101 "unreferenced local variable" (merge-script)
02aee122de Merge bitcoin/bitcoin#30508: depends: Fix CMake-generated `libzmq.pc` file (merge-script)
e2b24461d4 Merge bitcoin/bitcoin#29723: depends: build zeromq with CMake (merge-script)
685b7a7a1b Merge bitcoin/bitcoin#23611: build: add `LTO` option to depends (laanwj)
d2b8c6bbc9 Merge bitcoin/bitcoin#19952: build, ci: Add file-based logging for individual packages (laanwj)
fc1c29caf0 partial Merge bitcoin/bitcoin#23478: build: Add support for Android NDK r23 LTS (fanquake)

Pull request description:

  ## Issue being fixed or feature implemented
  depends on https://github.com/dashpay/dash/pull/6293

  ## What was done?
    _Describe your changes in detail_

  ## How Has This Been Tested?
    _Please describe in detail how you tested your changes._

    _Include details of your testing environment, and the tests you ran
  to see how your change affects other areas of the code, etc._

  ## Breaking Changes
    _Please describe any breaking changes your code introduces_

  ## Checklist:
    _Go over all the following points, and put an `x` in all the boxes that apply._
  - [ ] I have performed a self-review of my own code
  - [ ] I have commented my code, particularly in hard-to-understand areas
  - [ ] I have added or updated relevant unit/integration/functional/e2e tests
  - [ ] I have made corresponding changes to the documentation
  - [ ] I have assigned this pull request to a milestone _(for repository code-owners and collaborators only)_

ACKs for top commit:
  UdjinM6:
    utACK ae6e0ada9b
  knst:
    utACK ae6e0ada9b
  knst:
    utACK ae6e0ada9b

Tree-SHA512: 0606c7596394155417ad0fea96ce7e1f905109ce2978987e1c4132e8b0f5a8593c5c62ea7217510169228e8238ba42b418a74635ded01f5d674f62495ad3b3a9
This commit is contained in:
pasta 2024-10-01 09:38:29 -05:00
commit 9612287e91
No known key found for this signature in database
GPG Key ID: E2F3D7916E722D38
33 changed files with 413 additions and 86 deletions

View File

@ -33,7 +33,7 @@ if [ -z "$NO_DEPENDS" ]; then
else else
SHELL_OPTS="CONFIG_SHELL=" SHELL_OPTS="CONFIG_SHELL="
fi fi
DOCKER_EXEC $SHELL_OPTS make $MAKEJOBS -C depends HOST=$HOST $DEP_OPTS DOCKER_EXEC $SHELL_OPTS make $MAKEJOBS -C depends HOST=$HOST $DEP_OPTS LOG=1
fi fi
if [ -n "$PREVIOUS_RELEASES_TO_DOWNLOAD" ]; then if [ -n "$PREVIOUS_RELEASES_TO_DOWNLOAD" ]; then
DOCKER_EXEC test/get_previous_releases.py -b -t "$PREVIOUS_RELEASES_DIR" "${PREVIOUS_RELEASES_TO_DOWNLOAD}" DOCKER_EXEC test/get_previous_releases.py -b -t "$PREVIOUS_RELEASES_DIR" "${PREVIOUS_RELEASES_TO_DOWNLOAD}"

View File

@ -590,6 +590,7 @@ parse, modify and abstract ELF, PE and MachO formats.")
zlib zlib
(list zlib "static") (list zlib "static")
;; Build tools ;; Build tools
cmake-minimal
gnu-make gnu-make
libtool-2.4.7 libtool-2.4.7
autoconf-2.71 autoconf-2.71
@ -615,5 +616,5 @@ parse, modify and abstract ELF, PE and MachO formats.")
((string-contains target "-linux-") ((string-contains target "-linux-")
(list (make-bitcoin-cross-toolchain target))) (list (make-bitcoin-cross-toolchain target)))
((string-contains target "darwin") ((string-contains target "darwin")
(list clang-toolchain-10 binutils cmake-minimal xorriso python-signapple)) (list clang-toolchain-10 binutils xorriso python-signapple))
(else '()))))) (else '())))))

View File

@ -42,6 +42,7 @@ NO_UPNP ?=
NO_USDT ?= NO_USDT ?=
NO_NATPMP ?= NO_NATPMP ?=
MULTIPROCESS ?= MULTIPROCESS ?=
LTO ?=
FALLBACK_DOWNLOAD_PATH ?= http://dash-depends-sources.s3-website-us-west-2.amazonaws.com FALLBACK_DOWNLOAD_PATH ?= http://dash-depends-sources.s3-website-us-west-2.amazonaws.com
BUILD = $(shell ./config.guess) BUILD = $(shell ./config.guess)
@ -140,8 +141,8 @@ include packages/packages.mk
# 2. Before including packages/*.mk (excluding packages/packages.mk), since # 2. Before including packages/*.mk (excluding packages/packages.mk), since
# they rely on the build_id variables # they rely on the build_id variables
# #
build_id:=$(shell env CC='$(build_CC)' CXX='$(build_CXX)' AR='$(build_AR)' RANLIB='$(build_RANLIB)' STRIP='$(build_STRIP)' SHA256SUM='$(build_SHA256SUM)' DEBUG='$(DEBUG)' ./gen_id '$(BUILD_ID_SALT)' 'GUIX_ENVIRONMENT=$(realpath $(GUIX_ENVIRONMENT))') build_id:=$(shell env CC='$(build_CC)' CXX='$(build_CXX)' AR='$(build_AR)' RANLIB='$(build_RANLIB)' STRIP='$(build_STRIP)' SHA256SUM='$(build_SHA256SUM)' DEBUG='$(DEBUG)' LTO='$(LTO)' ./gen_id '$(BUILD_ID_SALT)' 'GUIX_ENVIRONMENT=$(realpath $(GUIX_ENVIRONMENT))')
$(host_arch)_$(host_os)_id:=$(shell env CC='$(host_CC)' CXX='$(host_CXX)' AR='$(host_AR)' RANLIB='$(host_RANLIB)' STRIP='$(host_STRIP)' SHA256SUM='$(build_SHA256SUM)' DEBUG='$(DEBUG)' ./gen_id '$(HOST_ID_SALT)' 'GUIX_ENVIRONMENT=$(realpath $(GUIX_ENVIRONMENT))') $(host_arch)_$(host_os)_id:=$(shell env CC='$(host_CC)' CXX='$(host_CXX)' AR='$(host_AR)' RANLIB='$(host_RANLIB)' STRIP='$(host_STRIP)' SHA256SUM='$(build_SHA256SUM)' DEBUG='$(DEBUG)' LTO='$(LTO)' ./gen_id '$(HOST_ID_SALT)' 'GUIX_ENVIRONMENT=$(realpath $(GUIX_ENVIRONMENT))')
qrencode_packages_$(NO_QR) = $(qrencode_$(host_os)_packages) qrencode_packages_$(NO_QR) = $(qrencode_$(host_os)_packages)
@ -239,6 +240,7 @@ $(host_prefix)/share/config.site : config.site.in $(host_prefix)/.stamp_$(final_
-e 's|@no_usdt@|$(NO_USDT)|' \ -e 's|@no_usdt@|$(NO_USDT)|' \
-e 's|@no_natpmp@|$(NO_NATPMP)|' \ -e 's|@no_natpmp@|$(NO_NATPMP)|' \
-e 's|@multiprocess@|$(MULTIPROCESS)|' \ -e 's|@multiprocess@|$(MULTIPROCESS)|' \
-e 's|@lto@|$(LTO)|' \
-e 's|@debug@|$(DEBUG)|' \ -e 's|@debug@|$(DEBUG)|' \
$< > $@ $< > $@
touch $@ touch $@
@ -271,7 +273,7 @@ clean-all: clean
@rm -rf $(SOURCES_PATH) x86_64* i686* mips* arm* aarch64* powerpc* riscv32* riscv64* s390x* @rm -rf $(SOURCES_PATH) x86_64* i686* mips* arm* aarch64* powerpc* riscv32* riscv64* s390x*
clean: clean:
@rm -rf $(WORK_PATH) $(BASE_CACHE) $(BUILD) @rm -rf $(WORK_PATH) $(BASE_CACHE) $(BUILD) *.log
install: check-packages $(host_prefix)/share/config.site install: check-packages $(host_prefix)/share/config.site

View File

@ -41,7 +41,7 @@ Common `host-platform-triplet`s for cross compilation are:
- `aarch64-linux-android` for Android ARM 64 bit - `aarch64-linux-android` for Android ARM 64 bit
- `x86_64-linux-android` for Android x86 64 bit - `x86_64-linux-android` for Android x86 64 bit
The paths are automatically configured and no other options are needed unless targeting [Android](#Android). The paths are automatically configured and no other options are needed unless targeting [Android](../doc/build-android.md).
### Install the required dependencies: Ubuntu & Debian ### Install the required dependencies: Ubuntu & Debian
@ -116,7 +116,11 @@ The following can be set when running make: `make FOO=bar`
- `BUILD_ID_SALT`: Optional salt to use when generating build package ids - `BUILD_ID_SALT`: Optional salt to use when generating build package ids
- `FORCE_USE_SYSTEM_CLANG`: (EXPERTS ONLY) When cross-compiling for macOS, use Clang found in the - `FORCE_USE_SYSTEM_CLANG`: (EXPERTS ONLY) When cross-compiling for macOS, use Clang found in the
system's `$PATH` rather than the default prebuilt release of Clang system's `$PATH` rather than the default prebuilt release of Clang
from llvm.org. Clang 8 or later is required. from llvm.org. Clang 8 or later is required
- `LOG`: Use file-based logging for individual packages. During a package build its log file
resides in the `depends` directory, and the log file is printed out automatically in case
of build error. After successful build log files are moved along with package archives
- `LTO`: Use LTO when building packages.
If some packages are not built, for example `make NO_WALLET=1`, the appropriate If some packages are not built, for example `make NO_WALLET=1`, the appropriate
options will be passed to Dash Core's configure. In this case, `--disable-wallet`. options will be passed to Dash Core's configure. In this case, `--disable-wallet`.
@ -129,18 +133,6 @@ options will be passed to Dash Core's configure. In this case, `--disable-wallet
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
### Android
Before proceeding with an Android build one needs to get the [Android SDK](https://developer.android.com/studio) and use the "SDK Manager" tool to download the NDK and one or more "Platform packages" (these are Android versions and have a corresponding API level).
In order to build `ANDROID_API_LEVEL` (API level corresponding to the Android version targeted, e.g. Android 9.0 Pie is 28 and its "Platform package" needs to be available) and `ANDROID_TOOLCHAIN_BIN` (path to toolchain binaries depending on the platform the build is being performed on) need to be set.
API levels from 24 to 29 have been tested to work.
If the build includes Qt, environment variables `ANDROID_SDK` and `ANDROID_NDK` need to be set as well but can otherwise be omitted.
This is an example command for a default build with no disabled dependencies:
ANDROID_SDK=/home/user/Android/Sdk ANDROID_NDK=/home/user/Android/Sdk/ndk-bundle make HOST=aarch64-linux-android ANDROID_API_LEVEL=28 ANDROID_TOOLCHAIN_BIN=/home/user/Android/Sdk/ndk-bundle/toolchains/llvm/prebuilt/linux-x86_64/bin
### Other documentation ### Other documentation
- [description.md](description.md): General description of the depends system - [description.md](description.md): General description of the depends system

View File

@ -78,6 +78,10 @@ if test "@host_os@" = darwin; then
BREW=no BREW=no
fi fi
if test -z "$enable_lto" && test -n "@lto@"; then
enable_lto=yes
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"

View File

@ -67,6 +67,7 @@ $(1)_cached_checksum:=$(BASE_CACHE)/$(host)/$(1)/$(1)-$($(1)_version)-$($(1)_bui
$(1)_patch_dir:=$(base_build_dir)/$(host)/$(1)/$($(1)_version)-$($(1)_build_id)/.patches-$($(1)_build_id) $(1)_patch_dir:=$(base_build_dir)/$(host)/$(1)/$($(1)_version)-$($(1)_build_id)/.patches-$($(1)_build_id)
$(1)_prefixbin:=$($($(1)_type)_prefix)/bin/ $(1)_prefixbin:=$($($(1)_type)_prefix)/bin/
$(1)_cached:=$(BASE_CACHE)/$(host)/$(1)/$(1)-$($(1)_version)-$($(1)_build_id).tar.gz $(1)_cached:=$(BASE_CACHE)/$(host)/$(1)/$(1)-$($(1)_version)-$($(1)_build_id).tar.gz
$(1)_build_log:=$(BASEDIR)/$(1)-$($(1)_version)-$($(1)_build_id).log
$(1)_all_sources=$($(1)_file_name) $($(1)_extra_sources) $(1)_all_sources=$($(1)_file_name) $($(1)_extra_sources)
#stamps #stamps
@ -85,7 +86,7 @@ $(1)_download_path_fixed=$(subst :,\:,$$($(1)_download_path))
# The default behavior for tar will try to set ownership when running as uid 0 and may not succeed, --no-same-owner disables this behavior # The default behavior for tar will try to set ownership when running as uid 0 and may not succeed, --no-same-owner disables this behavior
$(1)_fetch_cmds ?= $(call fetch_file,$(1),$(subst \:,:,$$($(1)_download_path_fixed)),$$($(1)_download_file),$($(1)_file_name),$($(1)_sha256_hash)) $(1)_fetch_cmds ?= $(call fetch_file,$(1),$(subst \:,:,$$($(1)_download_path_fixed)),$$($(1)_download_file),$($(1)_file_name),$($(1)_sha256_hash))
$(1)_extract_cmds ?= mkdir -p $$($(1)_extract_dir) && echo "$$($(1)_sha256_hash) $$($(1)_source)" > $$($(1)_extract_dir)/.$$($(1)_file_name).hash && $(build_SHA256SUM) -c $$($(1)_extract_dir)/.$$($(1)_file_name).hash && $(build_TAR) --no-same-owner --strip-components=1 -xf $$($(1)_source) $(1)_extract_cmds ?= mkdir -p $$($(1)_extract_dir) && echo "$$($(1)_sha256_hash) $$($(1)_source)" > $$($(1)_extract_dir)/.$$($(1)_file_name).hash && $(build_SHA256SUM) -c $$($(1)_extract_dir)/.$$($(1)_file_name).hash && $(build_TAR) --no-same-owner --strip-components=1 -xf $$($(1)_source)
$(1)_preprocess_cmds ?= $(1)_preprocess_cmds ?= true
$(1)_build_cmds ?= $(1)_build_cmds ?=
$(1)_config_cmds ?= $(1)_config_cmds ?=
$(1)_stage_cmds ?= $(1)_stage_cmds ?=
@ -174,7 +175,7 @@ $(1)_cmake=env CC="$$($(1)_cc)" \
CXX="$$($(1)_cxx)" \ CXX="$$($(1)_cxx)" \
CXXFLAGS="$$($(1)_cppflags) $$($(1)_cxxflags)" \ CXXFLAGS="$$($(1)_cppflags) $$($(1)_cxxflags)" \
LDFLAGS="$$($(1)_ldflags)" \ LDFLAGS="$$($(1)_ldflags)" \
cmake -DCMAKE_INSTALL_PREFIX:PATH="$$($($(1)_type)_prefix)" $$($(1)_cmake_opts) cmake -DCMAKE_INSTALL_PREFIX:PATH="$$($($(1)_type)_prefix)" $$($(1)_config_opts)
ifeq ($($(1)_type),build) ifeq ($($(1)_type),build)
$(1)_cmake += -DCMAKE_INSTALL_RPATH:PATH="$$($($(1)_type)_prefix)/lib" $(1)_cmake += -DCMAKE_INSTALL_RPATH:PATH="$$($($(1)_type)_prefix)/lib"
else else
@ -187,6 +188,10 @@ endif
endef endef
define int_add_cmds define int_add_cmds
ifneq ($(LOG),)
$(1)_logging = >>$$($(1)_build_log) 2>&1 || { if test -f $$($(1)_build_log); then cat $$($(1)_build_log); fi; exit 1; }
endif
$($(1)_fetched): $($(1)_fetched):
mkdir -p $$(@D) $(SOURCES_PATH) mkdir -p $$(@D) $(SOURCES_PATH)
rm -f $$@ rm -f $$@
@ -203,23 +208,23 @@ $($(1)_preprocessed): | $($(1)_extracted)
echo Preprocessing $(1)... echo Preprocessing $(1)...
mkdir -p $$(@D) $($(1)_patch_dir) mkdir -p $$(@D) $($(1)_patch_dir)
$(foreach patch,$($(1)_patches),cd $(PATCHES_PATH)/$(1); cp $(patch) $($(1)_patch_dir) ;) $(foreach patch,$($(1)_patches),cd $(PATCHES_PATH)/$(1); cp $(patch) $($(1)_patch_dir) ;)
cd $$(@D); $($(1)_preprocess_cmds) { cd $$(@D); $($(1)_preprocess_cmds); } $$($(1)_logging)
touch $$@ touch $$@
$($(1)_configured): | $($(1)_dependencies) $($(1)_preprocessed) $($(1)_configured): | $($(1)_dependencies) $($(1)_preprocessed)
echo Configuring $(1)... echo Configuring $(1)...
rm -rf $(host_prefix); mkdir -p $(host_prefix)/lib; cd $(host_prefix); $(foreach package,$($(1)_all_dependencies), $(build_TAR) --no-same-owner -xf $($(package)_cached); ) rm -rf $(host_prefix); mkdir -p $(host_prefix)/lib; cd $(host_prefix); $(foreach package,$($(1)_all_dependencies), $(build_TAR) --no-same-owner -xf $($(package)_cached); )
mkdir -p $$(@D) mkdir -p $$(@D)
+cd $$(@D); $($(1)_config_env) $($(1)_config_cmds) +{ cd $$(@D); $($(1)_config_env) $($(1)_config_cmds); } $$($(1)_logging)
touch $$@ touch $$@
$($(1)_built): | $($(1)_configured) $($(1)_built): | $($(1)_configured)
echo Building $(1)... echo Building $(1)...
mkdir -p $$(@D) mkdir -p $$(@D)
+cd $$(@D); $($(1)_build_env) $($(1)_build_cmds) +{ cd $$(@D); $($(1)_build_env) $($(1)_build_cmds); } $$($(1)_logging)
touch $$@ touch $$@
$($(1)_staged): | $($(1)_built) $($(1)_staged): | $($(1)_built)
echo Staging $(1)... echo Staging $(1)...
mkdir -p $($(1)_staging_dir)/$(host_prefix) mkdir -p $($(1)_staging_dir)/$(host_prefix)
cd $($(1)_build_dir); $($(1)_stage_env) $($(1)_stage_cmds) +{ cd $($(1)_build_dir); $($(1)_stage_env) $($(1)_stage_cmds); } $$($(1)_logging)
rm -rf $($(1)_extract_dir) rm -rf $($(1)_extract_dir)
touch $$@ touch $$@
$($(1)_postprocessed): | $($(1)_staged) $($(1)_postprocessed): | $($(1)_staged)
@ -233,6 +238,7 @@ $($(1)_cached): | $($(1)_dependencies) $($(1)_postprocessed)
rm -rf $$(@D) && mkdir -p $$(@D) rm -rf $$(@D) && mkdir -p $$(@D)
mv $$($(1)_staging_dir)/$$(@F) $$(@) mv $$($(1)_staging_dir)/$$(@F) $$(@)
rm -rf $($(1)_staging_dir) rm -rf $($(1)_staging_dir)
if test -f $($(1)_build_log); then mv $($(1)_build_log) $$(@D); fi
$($(1)_cached_checksum): $($(1)_cached) $($(1)_cached_checksum): $($(1)_cached)
cd $$(@D); $(build_SHA256SUM) $$(<F) > $$(@) cd $$(@D); $(build_SHA256SUM) $$(<F) > $$(@)

View File

@ -1,7 +1,7 @@
#!/usr/bin/env bash #!/usr/bin/env bash
# Usage: env [ CC=... ] [ CXX=... ] [ AR=... ] [ RANLIB=... ] [ STRIP=... ] \ # Usage: env [ CC=... ] [ CXX=... ] [ AR=... ] [ RANLIB=... ] [ STRIP=... ] \
# [ DEBUG=... ] ./build-id [ID_SALT]... # [ DEBUG=... ] [ LTO=... ] ./build-id [ID_SALT]...
# #
# Prints to stdout a SHA256 hash representing the current toolset, used by # Prints to stdout a SHA256 hash representing the current toolset, used by
# depends/Makefile as a build id for caching purposes (detecting when the # depends/Makefile as a build id for caching purposes (detecting when the
@ -63,6 +63,10 @@
env | grep '^STRIP_' env | grep '^STRIP_'
echo "END STRIP" echo "END STRIP"
echo "BEGIN LTO"
echo "LTO=${LTO}"
echo "END LTO"
echo "END ALL" echo "END ALL"
) | if [ -n "$DEBUG" ] && command -v tee > /dev/null 2>&1; then ) | if [ -n "$DEBUG" ] && command -v tee > /dev/null 2>&1; then
# When debugging and `tee` is available, output the preimage to stderr # When debugging and `tee` is available, output the preimage to stderr

View File

@ -1,12 +1,17 @@
ifeq ($(HOST),armv7a-linux-android) ifeq ($(HOST),armv7a-linux-android)
android_AR=$(ANDROID_TOOLCHAIN_BIN)/arm-linux-androideabi-ar
android_CXX=$(ANDROID_TOOLCHAIN_BIN)/$(HOST)eabi$(ANDROID_API_LEVEL)-clang++ android_CXX=$(ANDROID_TOOLCHAIN_BIN)/$(HOST)eabi$(ANDROID_API_LEVEL)-clang++
android_CC=$(ANDROID_TOOLCHAIN_BIN)/$(HOST)eabi$(ANDROID_API_LEVEL)-clang android_CC=$(ANDROID_TOOLCHAIN_BIN)/$(HOST)eabi$(ANDROID_API_LEVEL)-clang
android_RANLIB=$(ANDROID_TOOLCHAIN_BIN)/arm-linux-androideabi-ranlib
else else
android_AR=$(ANDROID_TOOLCHAIN_BIN)/$(HOST)-ar
android_CXX=$(ANDROID_TOOLCHAIN_BIN)/$(HOST)$(ANDROID_API_LEVEL)-clang++ android_CXX=$(ANDROID_TOOLCHAIN_BIN)/$(HOST)$(ANDROID_API_LEVEL)-clang++
android_CC=$(ANDROID_TOOLCHAIN_BIN)/$(HOST)$(ANDROID_API_LEVEL)-clang android_CC=$(ANDROID_TOOLCHAIN_BIN)/$(HOST)$(ANDROID_API_LEVEL)-clang
android_RANLIB=$(ANDROID_TOOLCHAIN_BIN)/$(HOST)-ranlib
endif endif
ifneq ($(LTO),)
android_CFLAGS += -flto
android_LDFLAGS += -flto
endif
android_AR=$(ANDROID_TOOLCHAIN_BIN)/llvm-ar
android_RANLIB=$(ANDROID_TOOLCHAIN_BIN)/llvm-ranlib
android_cmake_system=Android android_cmake_system=Android

View File

@ -113,6 +113,12 @@ darwin_CXX=env -u C_INCLUDE_PATH -u CPLUS_INCLUDE_PATH \
-Xclang -internal-externc-isystem$(OSX_SDK)/usr/include -Xclang -internal-externc-isystem$(OSX_SDK)/usr/include
darwin_CFLAGS=-pipe darwin_CFLAGS=-pipe
ifneq ($(LTO),)
darwin_CFLAGS += -flto
darwin_LDFLAGS += -flto
endif
darwin_CXXFLAGS=$(darwin_CFLAGS) darwin_CXXFLAGS=$(darwin_CFLAGS)
darwin_release_CFLAGS=-O2 darwin_release_CFLAGS=-O2

View File

@ -1,4 +1,10 @@
freebsd_CFLAGS=-pipe freebsd_CFLAGS=-pipe
ifneq ($(LTO),)
freebsd_CFLAGS += -flto
freebsd_LDFLAGS += -flto
endif
freebsd_CXXFLAGS=$(freebsd_CFLAGS) freebsd_CXXFLAGS=$(freebsd_CFLAGS)
freebsd_release_CFLAGS=-O2 freebsd_release_CFLAGS=-O2

View File

@ -1,4 +1,10 @@
linux_CFLAGS=-pipe linux_CFLAGS=-pipe
ifneq ($(LTO),)
linux_CFLAGS += -flto
linux_LDFLAGS += -flto
endif
linux_CXXFLAGS=$(linux_CFLAGS) linux_CXXFLAGS=$(linux_CFLAGS)
linux_release_CFLAGS=-O2 linux_release_CFLAGS=-O2

View File

@ -3,6 +3,12 @@ mingw32_CXX := $(host)-g++-posix
endif endif
mingw32_CFLAGS=-pipe mingw32_CFLAGS=-pipe
ifneq ($(LTO),)
mingw32_CFLAGS += -flto
mingw32_LDFLAGS += -flto
endif
mingw32_CXXFLAGS=$(mingw32_CFLAGS) mingw32_CXXFLAGS=$(mingw32_CFLAGS)
mingw32_release_CFLAGS=-O2 mingw32_release_CFLAGS=-O2

View File

@ -1,4 +1,10 @@
netbsd_CFLAGS=-pipe netbsd_CFLAGS=-pipe
ifneq ($(LTO),)
netbsd_CFLAGS += -flto
netbsd_LDFLAGS += -flto
endif
netbsd_CXXFLAGS=$(netbsd_CFLAGS) netbsd_CXXFLAGS=$(netbsd_CFLAGS)
netbsd_release_CFLAGS=-O2 netbsd_release_CFLAGS=-O2

View File

@ -1,6 +1,11 @@
openbsd_CFLAGS=-pipe openbsd_CFLAGS=-pipe
openbsd_CXXFLAGS=$(openbsd_CFLAGS) openbsd_CXXFLAGS=$(openbsd_CFLAGS)
ifneq ($(LTO),)
openbsd_CFLAGS += -flto
openbsd_LDFLAGS += -flto
endif
openbsd_release_CFLAGS=-O2 openbsd_release_CFLAGS=-O2
openbsd_release_CXXFLAGS=$(openbsd_release_CFLAGS) openbsd_release_CXXFLAGS=$(openbsd_release_CFLAGS)

View File

@ -3,23 +3,27 @@ $(package)_version=2.1.12-stable
$(package)_download_path=https://github.com/libevent/libevent/releases/download/release-$($(package)_version)/ $(package)_download_path=https://github.com/libevent/libevent/releases/download/release-$($(package)_version)/
$(package)_file_name=$(package)-$($(package)_version).tar.gz $(package)_file_name=$(package)-$($(package)_version).tar.gz
$(package)_sha256_hash=92e6de1be9ec176428fd2367677e61ceffc2ee1cb119035037a27d346b0403bb $(package)_sha256_hash=92e6de1be9ec176428fd2367677e61ceffc2ee1cb119035037a27d346b0403bb
$(package)_patches=cmake_fixups.patch
$(package)_patches+=fix_mingw_link.patch
$(package)_build_subdir=build
# When building for Windows, we set _WIN32_WINNT to target the same Windows # When building for Windows, we set _WIN32_WINNT to target the same Windows
# version as we do in configure. Due to quirks in libevents build system, this # version as we do in configure. Due to quirks in libevents build system, this
# is also required to enable support for ipv6. See #19375. # is also required to enable support for ipv6. See #19375.
define $(package)_set_vars define $(package)_set_vars
$(package)_config_opts=--disable-shared --disable-openssl --disable-libevent-regress --disable-samples $(package)_config_opts=-DEVENT__DISABLE_BENCHMARK=ON -DEVENT__DISABLE_OPENSSL=ON
$(package)_config_opts += --disable-dependency-tracking --enable-option-checking $(package)_config_opts+=-DEVENT__DISABLE_SAMPLES=ON -DEVENT__DISABLE_REGRESS=ON
$(package)_config_opts_release=--disable-debug-mode $(package)_config_opts+=-DEVENT__DISABLE_TESTS=ON -DEVENT__LIBRARY_TYPE=STATIC
$(package)_cppflags_mingw32=-D_WIN32_WINNT=0x0601 $(package)_cppflags_mingw32=-D_WIN32_WINNT=0x0601
endef endef
define $(package)_preprocess_cmds define $(package)_preprocess_cmds
cp -f $(BASEDIR)/config.guess $(BASEDIR)/config.sub build-aux patch -p1 < $($(package)_patch_dir)/cmake_fixups.patch && \
patch -p1 < $($(package)_patch_dir)/fix_mingw_link.patch
endef endef
define $(package)_config_cmds define $(package)_config_cmds
$($(package)_autoconf) $($(package)_cmake) -S .. -B .
endef endef
define $(package)_build_cmds define $(package)_build_cmds
@ -31,7 +35,7 @@ define $(package)_stage_cmds
endef endef
define $(package)_postprocess_cmds define $(package)_postprocess_cmds
rm lib/*.la && \ rm bin/event_rpcgen.py && \
rm include/ev*.h && \ rm include/ev*.h && \
rm include/event2/*_compat.h rm include/event2/*_compat.h
endef endef

View File

@ -10,8 +10,8 @@ endif
define $(package)_set_vars := define $(package)_set_vars :=
ifneq ($(host),$(build)) ifneq ($(host),$(build))
$(package)_cmake_opts := -DCAPNP_EXECUTABLE="$$(native_capnp_prefixbin)/capnp" $(package)_config_opts := -DCAPNP_EXECUTABLE="$$(native_capnp_prefixbin)/capnp"
$(package)_cmake_opts += -DCAPNPC_CXX_EXECUTABLE="$$(native_capnp_prefixbin)/capnpc-c++" $(package)_config_opts += -DCAPNPC_CXX_EXECUTABLE="$$(native_capnp_prefixbin)/capnpc-c++"
endif endif
endef endef

View File

@ -3,20 +3,22 @@ $(package)_version=4.1.1
$(package)_download_path=https://fukuchi.org/works/qrencode/ $(package)_download_path=https://fukuchi.org/works/qrencode/
$(package)_file_name=$(package)-$($(package)_version).tar.bz2 $(package)_file_name=$(package)-$($(package)_version).tar.bz2
$(package)_sha256_hash=e455d9732f8041cf5b9c388e345a641fd15707860f928e94507b1961256a6923 $(package)_sha256_hash=e455d9732f8041cf5b9c388e345a641fd15707860f928e94507b1961256a6923
$(package)_patches=cmake_fixups.patch
define $(package)_set_vars define $(package)_set_vars
$(package)_config_opts=--disable-shared --without-tools --without-tests --without-png $(package)_config_opts := -DWITH_TOOLS=NO -DWITH_TESTS=NO -DGPROF=OFF -DCOVERAGE=OFF
$(package)_config_opts += --disable-gprof --disable-gcov --disable-mudflap $(package)_config_opts += -DCMAKE_DISABLE_FIND_PACKAGE_PNG=TRUE -DWITHOUT_PNG=ON
$(package)_config_opts += --disable-dependency-tracking --enable-option-checking $(package)_config_opts += -DCMAKE_DISABLE_FIND_PACKAGE_ICONV=TRUE
$(package)_cflags += -Wno-int-conversion -Wno-implicit-function-declaration $(package)_cflags += -Wno-int-conversion -Wno-implicit-function-declaration
endef endef
define $(package)_preprocess_cmds define $(package)_preprocess_cmds
cp -f $(BASEDIR)/config.guess $(BASEDIR)/config.sub use patch -p1 < $($(package)_patch_dir)/cmake_fixups.patch
endef endef
define $(package)_config_cmds define $(package)_config_cmds
$($(package)_autoconf) $($(package)_cmake) -S . -B .
endef endef
define $(package)_build_cmds define $(package)_build_cmds
@ -26,7 +28,3 @@ endef
define $(package)_stage_cmds define $(package)_stage_cmds
$(MAKE) DESTDIR=$($(package)_staging_dir) install $(MAKE) DESTDIR=$($(package)_staging_dir) install
endef endef
define $(package)_postprocess_cmds
rm lib/*.la
endef

View File

@ -3,33 +3,46 @@ $(package)_version=4.3.5
$(package)_download_path=https://github.com/zeromq/libzmq/releases/download/v$($(package)_version)/ $(package)_download_path=https://github.com/zeromq/libzmq/releases/download/v$($(package)_version)/
$(package)_file_name=$(package)-$($(package)_version).tar.gz $(package)_file_name=$(package)-$($(package)_version).tar.gz
$(package)_sha256_hash=6653ef5910f17954861fe72332e68b03ca6e4d9c7160eb3a8de5a5a913bfab43 $(package)_sha256_hash=6653ef5910f17954861fe72332e68b03ca6e4d9c7160eb3a8de5a5a913bfab43
$(package)_patches=remove_libstd_link.patch $(package)_build_subdir=build
$(package)_patches = remove_libstd_link.patch
$(package)_patches += macos_mktemp_check.patch
$(package)_patches += builtin_sha1.patch
$(package)_patches += fix_have_windows.patch
$(package)_patches += cmake_minimum.patch
$(package)_patches += no_librt.patch
$(package)_patches += fix_mingw_link.patch
define $(package)_set_vars define $(package)_set_vars
$(package)_config_opts = --without-docs --disable-shared --disable-valgrind $(package)_config_opts := -DCMAKE_BUILD_TYPE=None -DWITH_DOCS=OFF -DWITH_LIBSODIUM=OFF
$(package)_config_opts += --disable-perf --disable-curve-keygen --disable-curve --disable-libbsd $(package)_config_opts += -DWITH_LIBBSD=OFF -DENABLE_CURVE=OFF -DENABLE_CPACK=OFF
$(package)_config_opts += --without-libsodium --without-libgssapi_krb5 --without-pgm --without-norm --without-vmci $(package)_config_opts += -DBUILD_SHARED=OFF -DBUILD_TESTS=OFF -DZMQ_BUILD_TESTS=OFF
$(package)_config_opts += --disable-libunwind --disable-radix-tree --without-gcov --disable-dependency-tracking $(package)_config_opts += -DENABLE_DRAFTS=OFF -DZMQ_BUILD_TESTS=OFF
$(package)_config_opts += --disable-Werror --disable-drafts --enable-option-checking $(package)_cxxflags += -ffile-prefix-map=$($(package)_extract_dir)=/usr
$(package)_config_opts_mingw32 += -DZMQ_WIN32_WINNT=0x0601 -DZMQ_HAVE_IPC=OFF
$(package)_config_opts_mingw32 += -DCMAKE_RC_COMPILER=x86_64-w64-mingw32-windres
$(package)_cxxflags+=-std=c++17 $(package)_cxxflags+=-std=c++17
endef endef
define $(package)_preprocess_cmds define $(package)_preprocess_cmds
patch -p1 < $($(package)_patch_dir)/remove_libstd_link.patch patch -p1 < $($(package)_patch_dir)/remove_libstd_link.patch && \
patch -p1 < $($(package)_patch_dir)/macos_mktemp_check.patch && \
patch -p1 < $($(package)_patch_dir)/builtin_sha1.patch && \
patch -p1 < $($(package)_patch_dir)/fix_have_windows.patch && \
patch -p1 < $($(package)_patch_dir)/cmake_minimum.patch && \
patch -p1 < $($(package)_patch_dir)/no_librt.patch && \
patch -p1 < $($(package)_patch_dir)/fix_mingw_link.patch
endef endef
define $(package)_config_cmds define $(package)_config_cmds
./autogen.sh && \ $($(package)_cmake) -S .. -B .
cp -f $(BASEDIR)/config.guess $(BASEDIR)/config.sub config && \
$($(package)_autoconf)
endef endef
define $(package)_build_cmds define $(package)_build_cmds
$(MAKE) src/libzmq.la $(MAKE)
endef endef
define $(package)_stage_cmds define $(package)_stage_cmds
$(MAKE) DESTDIR=$($(package)_staging_dir) install-libLTLIBRARIES install-includeHEADERS install-pkgconfigDATA $(MAKE) DESTDIR=$($(package)_staging_dir) install
endef endef
define $(package)_postprocess_cmds define $(package)_postprocess_cmds

View File

@ -0,0 +1,35 @@
cmake: set minimum version to 3.5
Fix generated pkg-config files, see
https://github.com/libevent/libevent/pull/1165.
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -19,7 +19,7 @@
# start libevent.sln
#
-cmake_minimum_required(VERSION 3.1 FATAL_ERROR)
+cmake_minimum_required(VERSION 3.5 FATAL_ERROR)
if (POLICY CMP0054)
cmake_policy(SET CMP0054 NEW)
diff --git a/cmake/AddEventLibrary.cmake b/cmake/AddEventLibrary.cmake
index 04f5837e..d8ea42c4 100644
--- a/cmake/AddEventLibrary.cmake
+++ b/cmake/AddEventLibrary.cmake
@@ -20,12 +20,12 @@ macro(generate_pkgconfig LIB_NAME)
set(LIBS "")
foreach (LIB ${LIB_PLATFORM})
- set(LIBS "${LIBS} -L${LIB}")
+ set(LIBS "${LIBS} -l${LIB}")
endforeach()
set(OPENSSL_LIBS "")
foreach(LIB ${OPENSSL_LIBRARIES})
- set(OPENSSL_LIBS "${OPENSSL_LIBS} -L${LIB}")
+ set(OPENSSL_LIBS "${OPENSSL_LIBS} -l${LIB}")
endforeach()
configure_file("lib${LIB_NAME}.pc.in" "lib${LIB_NAME}.pc" @ONLY)

View File

@ -0,0 +1,25 @@
commit d108099913c5fdbe518f3f4d711f248f8522bd10
Author: Hennadii Stepanov <32963518+hebasto@users.noreply.github.com>
Date: Mon Apr 22 06:39:35 2024 +0100
build: Add `Iphlpapi` to `Libs.private` in `*.pc` files on Windows
It has been required since https://github.com/libevent/libevent/pull/923
at least for the `if_nametoindex` call.
See https://github.com/libevent/libevent/pull/1622.
diff --git a/configure.ac b/configure.ac
index d00e063a..cd1fce37 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -906,7 +906,7 @@ if(WIN32)
list(APPEND HDR_PRIVATE WIN32-Code/getopt.h)
set(EVENT__DNS_USE_FTIME_FOR_ID 1)
- set(LIB_PLATFORM ws2_32 shell32 advapi32)
+ set(LIB_PLATFORM ws2_32 shell32 advapi32 iphlpapi)
add_definitions(
-D_CRT_SECURE_NO_WARNINGS
-D_CRT_NONSTDC_NO_DEPRECATE)

View File

@ -0,0 +1,23 @@
cmake: set minimum version to 3.5
Correct some dev warning output.
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 773e037..a558145 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -1,4 +1,4 @@
-cmake_minimum_required(VERSION 3.1.0)
+cmake_minimum_required(VERSION 3.5)
project(QRencode VERSION 4.1.1 LANGUAGES C)
@@ -20,7 +20,7 @@ list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake")
set(CMAKE_THREAD_PREFER_PTHREAD ON)
find_package(Threads)
find_package(PNG)
-find_package(Iconv)
+find_package(ICONV)
if(CMAKE_USE_PTHREADS_INIT)
add_definitions(-DHAVE_LIBPTHREAD=1)

View File

@ -0,0 +1,17 @@
Don't use builtin sha1 if not using ws
The builtin SHA1 (ZMQ_USE_BUILTIN_SHA1) is only used in the websocket
engine (ws_engine.cpp).
Upstreamed in https://github.com/zeromq/libzmq/pull/4670.
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -234,7 +234,7 @@ if(NOT ZMQ_USE_GNUTLS)
endif()
endif()
endif()
- if(NOT ZMQ_USE_NSS)
+ if(ENABLE_WS AND NOT ZMQ_USE_NSS)
list(APPEND sources ${CMAKE_CURRENT_SOURCE_DIR}/external/sha1/sha1.c
${CMAKE_CURRENT_SOURCE_DIR}/external/sha1/sha1.h)
message(STATUS "Using builtin sha1")

View File

@ -0,0 +1,18 @@
Set a more sane cmake_minimum_required.
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -1,12 +1,7 @@
# CMake build script for ZeroMQ
+cmake_minimum_required(VERSION 3.16)
project(ZeroMQ)
-if(${CMAKE_SYSTEM_NAME} STREQUAL Darwin)
- cmake_minimum_required(VERSION 3.0.2)
-else()
- cmake_minimum_required(VERSION 2.8.12)
-endif()
-
include(CheckIncludeFiles)
include(CheckCCompilerFlag)
include(CheckCXXCompilerFlag)

View File

@ -0,0 +1,54 @@
This fixes several instances where _MSC_VER was
used to determine whether to use afunix.h or not.
See https://github.com/zeromq/libzmq/pull/4678.
--- a/src/ipc_address.hpp
+++ b/src/ipc_address.hpp
@@ -7,7 +7,7 @@
#include <string>
-#if defined _MSC_VER
+#if defined ZMQ_HAVE_WINDOWS
#include <afunix.h>
#else
#include <sys/socket.h>
diff --git a/src/ipc_connecter.cpp b/src/ipc_connecter.cpp
index 3f988745..ed2a0645 100644
--- a/src/ipc_connecter.cpp
+++ b/src/ipc_connecter.cpp
@@ -16,7 +16,7 @@
#include "ipc_address.hpp"
#include "session_base.hpp"
-#ifdef _MSC_VER
+#if defined ZMQ_HAVE_WINDOWS
#include <afunix.h>
#else
#include <unistd.h>
diff --git a/src/ipc_listener.cpp b/src/ipc_listener.cpp
index 50126040..5428579b 100644
--- a/src/ipc_listener.cpp
+++ b/src/ipc_listener.cpp
@@ -17,7 +17,7 @@
#include "socket_base.hpp"
#include "address.hpp"
-#ifdef _MSC_VER
+#ifdef ZMQ_HAVE_WINDOWS
#ifdef ZMQ_IOTHREAD_POLLER_USE_SELECT
#error On Windows, IPC does not work with POLLER=select, use POLLER=epoll instead, or disable IPC transport
#endif
diff --git a/tests/testutil.cpp b/tests/testutil.cpp
index bdc80283..6f21e8f6 100644
--- a/tests/testutil.cpp
+++ b/tests/testutil.cpp
@@ -7,7 +7,7 @@
#if defined _WIN32
#include "../src/windows.hpp"
-#if defined _MSC_VER
+#if defined ZMQ_HAVE_WINDOWS
#if defined ZMQ_HAVE_IPC
#include <direct.h>
#include <afunix.h>

View File

@ -0,0 +1,31 @@
Fix CMake-generated `libzmq.pc` file
This change mirrors the Autotools-based build system behavior for
cross-compiling for Windows with static linking.
See https://github.com/zeromq/libzmq/pull/4706.
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 03462271..0315e606 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -546,12 +546,18 @@ if(ZMQ_HAVE_WINDOWS)
# Cannot use check_library_exists because the symbol is always declared as char(*)(void)
set(CMAKE_REQUIRED_LIBRARIES "ws2_32.lib")
check_cxx_symbol_exists(WSAStartup "winsock2.h" HAVE_WS2_32)
+ if(HAVE_WS2_32)
+ set(pkg_config_libs_private "${pkg_config_libs_private} -lws2_32")
+ endif()
set(CMAKE_REQUIRED_LIBRARIES "rpcrt4.lib")
check_cxx_symbol_exists(UuidCreateSequential "rpc.h" HAVE_RPCRT4)
set(CMAKE_REQUIRED_LIBRARIES "iphlpapi.lib")
check_cxx_symbol_exists(GetAdaptersAddresses "winsock2.h;iphlpapi.h" HAVE_IPHLAPI)
+ if(HAVE_IPHLAPI)
+ set(pkg_config_libs_private "${pkg_config_libs_private} -liphlpapi")
+ endif()
check_cxx_symbol_exists(if_nametoindex "iphlpapi.h" HAVE_IF_NAMETOINDEX)
set(CMAKE_REQUIRED_LIBRARIES "")

View File

@ -0,0 +1,16 @@
build: fix mkdtemp check on macOS
On macOS, mkdtemp is in unistd.h. Fix the CMake check so that is works.
Upstreamed in https://github.com/zeromq/libzmq/pull/4668.
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -599,7 +599,7 @@ if(NOT MSVC)
check_cxx_symbol_exists(fork unistd.h HAVE_FORK)
check_cxx_symbol_exists(gethrtime sys/time.h HAVE_GETHRTIME)
- check_cxx_symbol_exists(mkdtemp stdlib.h HAVE_MKDTEMP)
+ check_cxx_symbol_exists(mkdtemp "stdlib.h;unistd.h" HAVE_MKDTEMP)
check_cxx_symbol_exists(accept4 sys/socket.h HAVE_ACCEPT4)
check_cxx_symbol_exists(strnlen string.h HAVE_STRNLEN)
else()

View File

@ -0,0 +1,54 @@
We don't use librt, so don't try and link against it.
Related to: https://github.com/zeromq/libzmq/pull/4702.
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 03462271..87ceab3c 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -564,13 +564,6 @@ else()
check_cxx_symbol_exists(SO_BUSY_POLL sys/socket.h ZMQ_HAVE_BUSY_POLL)
endif()
-if(NOT MINGW)
- find_library(RT_LIBRARY rt)
- if(RT_LIBRARY)
- set(pkg_config_libs_private "${pkg_config_libs_private} -lrt")
- endif()
-endif()
-
find_package(Threads)
if(WIN32 AND NOT CYGWIN)
@@ -588,9 +581,7 @@ if(WIN32 AND NOT CYGWIN)
endif()
if(NOT MSVC)
- set(CMAKE_REQUIRED_LIBRARIES rt)
check_cxx_symbol_exists(clock_gettime time.h HAVE_CLOCK_GETTIME)
- set(CMAKE_REQUIRED_LIBRARIES)
check_cxx_symbol_exists(fork unistd.h HAVE_FORK)
check_cxx_symbol_exists(gethrtime sys/time.h HAVE_GETHRTIME)
@@ -1503,10 +1494,6 @@ if(BUILD_SHARED)
target_link_libraries(libzmq iphlpapi)
endif()
- if(RT_LIBRARY)
- target_link_libraries(libzmq -lrt)
- endif()
-
if(norm_FOUND)
target_link_libraries(libzmq norm::norm)
endif()
@@ -1553,10 +1540,6 @@ if(BUILD_STATIC)
target_link_libraries(libzmq-static iphlpapi)
endif()
- if(RT_LIBRARY)
- target_link_libraries(libzmq-static -lrt)
- endif()
-
if(CMAKE_SYSTEM_NAME MATCHES "QNX")
add_definitions(-DUNITY_EXCLUDE_MATH_H)
endif()

View File

@ -2,9 +2,7 @@
#include "clientversion.h" // holds the needed client version information #include "clientversion.h" // holds the needed client version information
#define VER_PRODUCTVERSION CLIENT_VERSION_MAJOR,CLIENT_VERSION_MINOR,CLIENT_VERSION_BUILD #define VER_PRODUCTVERSION CLIENT_VERSION_MAJOR,CLIENT_VERSION_MINOR,CLIENT_VERSION_BUILD
#define VER_PRODUCTVERSION_STR STRINGIZE(CLIENT_VERSION_MAJOR) "." STRINGIZE(CLIENT_VERSION_MINOR) "." STRINGIZE(CLIENT_VERSION_BUILD)
#define VER_FILEVERSION VER_PRODUCTVERSION #define VER_FILEVERSION VER_PRODUCTVERSION
#define VER_FILEVERSION_STR VER_PRODUCTVERSION_STR
VS_VERSION_INFO VERSIONINFO VS_VERSION_INFO VERSIONINFO
FILEVERSION VER_FILEVERSION FILEVERSION VER_FILEVERSION
@ -18,13 +16,13 @@ BEGIN
BEGIN BEGIN
VALUE "CompanyName", "Dash" VALUE "CompanyName", "Dash"
VALUE "FileDescription", "dash-cli (JSON-RPC client for " PACKAGE_NAME ")" VALUE "FileDescription", "dash-cli (JSON-RPC client for " PACKAGE_NAME ")"
VALUE "FileVersion", VER_FILEVERSION_STR VALUE "FileVersion", PACKAGE_VERSION
VALUE "InternalName", "dash-cli" VALUE "InternalName", "dash-cli"
VALUE "LegalCopyright", COPYRIGHT_STR VALUE "LegalCopyright", COPYRIGHT_STR
VALUE "LegalTrademarks1", "Distributed under the MIT software license, see the accompanying file COPYING or http://www.opensource.org/licenses/mit-license.php." VALUE "LegalTrademarks1", "Distributed under the MIT software license, see the accompanying file COPYING or http://www.opensource.org/licenses/mit-license.php."
VALUE "OriginalFilename", "dash-cli.exe" VALUE "OriginalFilename", "dash-cli.exe"
VALUE "ProductName", "dash-cli" VALUE "ProductName", "dash-cli"
VALUE "ProductVersion", VER_PRODUCTVERSION_STR VALUE "ProductVersion", PACKAGE_VERSION
END END
END END

View File

@ -2,9 +2,7 @@
#include "clientversion.h" // holds the needed client version information #include "clientversion.h" // holds the needed client version information
#define VER_PRODUCTVERSION CLIENT_VERSION_MAJOR,CLIENT_VERSION_MINOR,CLIENT_VERSION_BUILD #define VER_PRODUCTVERSION CLIENT_VERSION_MAJOR,CLIENT_VERSION_MINOR,CLIENT_VERSION_BUILD
#define VER_PRODUCTVERSION_STR STRINGIZE(CLIENT_VERSION_MAJOR) "." STRINGIZE(CLIENT_VERSION_MINOR) "." STRINGIZE(CLIENT_VERSION_BUILD)
#define VER_FILEVERSION VER_PRODUCTVERSION #define VER_FILEVERSION VER_PRODUCTVERSION
#define VER_FILEVERSION_STR VER_PRODUCTVERSION_STR
VS_VERSION_INFO VERSIONINFO VS_VERSION_INFO VERSIONINFO
FILEVERSION VER_FILEVERSION FILEVERSION VER_FILEVERSION
@ -18,13 +16,13 @@ BEGIN
BEGIN BEGIN
VALUE "CompanyName", "Dash" VALUE "CompanyName", "Dash"
VALUE "FileDescription", "dash-tx (CLI Dash transaction editor utility)" VALUE "FileDescription", "dash-tx (CLI Dash transaction editor utility)"
VALUE "FileVersion", VER_FILEVERSION_STR VALUE "FileVersion", PACKAGE_VERSION
VALUE "InternalName", "dash-tx" VALUE "InternalName", "dash-tx"
VALUE "LegalCopyright", COPYRIGHT_STR VALUE "LegalCopyright", COPYRIGHT_STR
VALUE "LegalTrademarks1", "Distributed under the MIT software license, see the accompanying file COPYING or http://www.opensource.org/licenses/mit-license.php." VALUE "LegalTrademarks1", "Distributed under the MIT software license, see the accompanying file COPYING or http://www.opensource.org/licenses/mit-license.php."
VALUE "OriginalFilename", "dash-tx.exe" VALUE "OriginalFilename", "dash-tx.exe"
VALUE "ProductName", "dash-tx" VALUE "ProductName", "dash-tx"
VALUE "ProductVersion", VER_PRODUCTVERSION_STR VALUE "ProductVersion", PACKAGE_VERSION
END END
END END

View File

@ -2,9 +2,7 @@
#include "clientversion.h" // holds the needed client version information #include "clientversion.h" // holds the needed client version information
#define VER_PRODUCTVERSION CLIENT_VERSION_MAJOR,CLIENT_VERSION_MINOR,CLIENT_VERSION_BUILD #define VER_PRODUCTVERSION CLIENT_VERSION_MAJOR,CLIENT_VERSION_MINOR,CLIENT_VERSION_BUILD
#define VER_PRODUCTVERSION_STR STRINGIZE(CLIENT_VERSION_MAJOR) "." STRINGIZE(CLIENT_VERSION_MINOR) "." STRINGIZE(CLIENT_VERSION_BUILD)
#define VER_FILEVERSION VER_PRODUCTVERSION #define VER_FILEVERSION VER_PRODUCTVERSION
#define VER_FILEVERSION_STR VER_PRODUCTVERSION_STR
VS_VERSION_INFO VERSIONINFO VS_VERSION_INFO VERSIONINFO
FILEVERSION VER_FILEVERSION FILEVERSION VER_FILEVERSION
@ -18,13 +16,13 @@ BEGIN
BEGIN BEGIN
VALUE "CompanyName", "Dash Core" VALUE "CompanyName", "Dash Core"
VALUE "FileDescription", "dash-wallet (CLI tool for " PACKAGE_NAME " wallets)" VALUE "FileDescription", "dash-wallet (CLI tool for " PACKAGE_NAME " wallets)"
VALUE "FileVersion", VER_FILEVERSION_STR VALUE "FileVersion", PACKAGE_VERSION
VALUE "InternalName", "dash-wallet" VALUE "InternalName", "dash-wallet"
VALUE "LegalCopyright", COPYRIGHT_STR VALUE "LegalCopyright", COPYRIGHT_STR
VALUE "LegalTrademarks1", "Distributed under the MIT software license, see the accompanying file COPYING or http://www.opensource.org/licenses/mit-license.php." VALUE "LegalTrademarks1", "Distributed under the MIT software license, see the accompanying file COPYING or http://www.opensource.org/licenses/mit-license.php."
VALUE "OriginalFilename", "dash-wallet.exe" VALUE "OriginalFilename", "dash-wallet.exe"
VALUE "ProductName", "dash-wallet" VALUE "ProductName", "dash-wallet"
VALUE "ProductVersion", VER_PRODUCTVERSION_STR VALUE "ProductVersion", PACKAGE_VERSION
END END
END END

View File

@ -2,9 +2,7 @@
#include "clientversion.h" // holds the needed client version information #include "clientversion.h" // holds the needed client version information
#define VER_PRODUCTVERSION CLIENT_VERSION_MAJOR,CLIENT_VERSION_MINOR,CLIENT_VERSION_BUILD #define VER_PRODUCTVERSION CLIENT_VERSION_MAJOR,CLIENT_VERSION_MINOR,CLIENT_VERSION_BUILD
#define VER_PRODUCTVERSION_STR STRINGIZE(CLIENT_VERSION_MAJOR) "." STRINGIZE(CLIENT_VERSION_MINOR) "." STRINGIZE(CLIENT_VERSION_BUILD)
#define VER_FILEVERSION VER_PRODUCTVERSION #define VER_FILEVERSION VER_PRODUCTVERSION
#define VER_FILEVERSION_STR VER_PRODUCTVERSION_STR
VS_VERSION_INFO VERSIONINFO VS_VERSION_INFO VERSIONINFO
FILEVERSION VER_FILEVERSION FILEVERSION VER_FILEVERSION
@ -18,13 +16,13 @@ BEGIN
BEGIN BEGIN
VALUE "CompanyName", "Dash" VALUE "CompanyName", "Dash"
VALUE "FileDescription", "dashd (Dash node with a JSON-RPC server)" VALUE "FileDescription", "dashd (Dash node with a JSON-RPC server)"
VALUE "FileVersion", VER_FILEVERSION_STR VALUE "FileVersion", PACKAGE_VERSION
VALUE "InternalName", "dashd" VALUE "InternalName", "dashd"
VALUE "LegalCopyright", COPYRIGHT_STR VALUE "LegalCopyright", COPYRIGHT_STR
VALUE "LegalTrademarks1", "Distributed under the MIT software license, see the accompanying file COPYING or http://www.opensource.org/licenses/mit-license.php." VALUE "LegalTrademarks1", "Distributed under the MIT software license, see the accompanying file COPYING or http://www.opensource.org/licenses/mit-license.php."
VALUE "OriginalFilename", "dashd.exe" VALUE "OriginalFilename", "dashd.exe"
VALUE "ProductName", "dashd" VALUE "ProductName", "dashd"
VALUE "ProductVersion", VER_PRODUCTVERSION_STR VALUE "ProductVersion", PACKAGE_VERSION
END END
END END

View File

@ -5,9 +5,7 @@ IDI_ICON2 ICON DISCARDABLE "icons/dash_testnet.ico"
#include "../../clientversion.h" // holds the needed client version information #include "../../clientversion.h" // holds the needed client version information
#define VER_PRODUCTVERSION CLIENT_VERSION_MAJOR,CLIENT_VERSION_MINOR,CLIENT_VERSION_BUILD #define VER_PRODUCTVERSION CLIENT_VERSION_MAJOR,CLIENT_VERSION_MINOR,CLIENT_VERSION_BUILD
#define VER_PRODUCTVERSION_STR STRINGIZE(CLIENT_VERSION_MAJOR) "." STRINGIZE(CLIENT_VERSION_MINOR) "." STRINGIZE(CLIENT_VERSION_BUILD)
#define VER_FILEVERSION VER_PRODUCTVERSION #define VER_FILEVERSION VER_PRODUCTVERSION
#define VER_FILEVERSION_STR VER_PRODUCTVERSION_STR
VS_VERSION_INFO VERSIONINFO VS_VERSION_INFO VERSIONINFO
FILEVERSION VER_FILEVERSION FILEVERSION VER_FILEVERSION
@ -21,13 +19,13 @@ BEGIN
BEGIN BEGIN
VALUE "CompanyName", "Dash" VALUE "CompanyName", "Dash"
VALUE "FileDescription", PACKAGE_NAME " (GUI node for Dash)" VALUE "FileDescription", PACKAGE_NAME " (GUI node for Dash)"
VALUE "FileVersion", VER_FILEVERSION_STR VALUE "FileVersion", PACKAGE_VERSION
VALUE "InternalName", "dash-qt" VALUE "InternalName", "dash-qt"
VALUE "LegalCopyright", COPYRIGHT_STR VALUE "LegalCopyright", COPYRIGHT_STR
VALUE "LegalTrademarks1", "Distributed under the MIT software license, see the accompanying file COPYING or http://www.opensource.org/licenses/mit-license.php." VALUE "LegalTrademarks1", "Distributed under the MIT software license, see the accompanying file COPYING or http://www.opensource.org/licenses/mit-license.php."
VALUE "OriginalFilename", "dash-qt.exe" VALUE "OriginalFilename", "dash-qt.exe"
VALUE "ProductName", PACKAGE_NAME VALUE "ProductName", PACKAGE_NAME
VALUE "ProductVersion", VER_PRODUCTVERSION_STR VALUE "ProductVersion", PACKAGE_VERSION
END END
END END

View File

@ -20,17 +20,17 @@
try { \ try { \
(stmt); \ (stmt); \
assert(0 && "No exception caught"); \ assert(0 && "No exception caught"); \
} catch (excMatch & e) { \ } catch (excMatch&) { \
} catch (...) { \ } catch (...) { \
assert(0 && "Wrong exception caught"); \ assert(0 && "Wrong exception caught"); \
} \ } \
} }
#define BOOST_CHECK_NO_THROW(stmt) { \ #define BOOST_CHECK_NO_THROW(stmt) { \
try { \ try { \
(stmt); \ (stmt); \
} catch (...) { \ } catch (...) { \
assert(0); \ assert(0); \
} \ } \
} }
BOOST_FIXTURE_TEST_SUITE(univalue_tests, BasicTestingSetup) BOOST_FIXTURE_TEST_SUITE(univalue_tests, BasicTestingSetup)