mirror of
https://github.com/bitcoin/bitcoin.git
synced 2025-02-20 12:12:41 -05:00
depends: Fix compiling libevent
package on NetBSD
This commit is contained in:
parent
1172bc4157
commit
f89f16846e
2 changed files with 26 additions and 1 deletions
|
@ -4,6 +4,7 @@ $(package)_download_path=https://github.com/libevent/libevent/releases/download/
|
||||||
$(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=cmake_fixups.patch
|
||||||
|
$(package)_patches += netbsd_fixup.patch
|
||||||
$(package)_build_subdir=build
|
$(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
|
||||||
|
@ -23,7 +24,8 @@ define $(package)_set_vars
|
||||||
endef
|
endef
|
||||||
|
|
||||||
define $(package)_preprocess_cmds
|
define $(package)_preprocess_cmds
|
||||||
patch -p1 < $($(package)_patch_dir)/cmake_fixups.patch
|
patch -p1 < $($(package)_patch_dir)/cmake_fixups.patch && \
|
||||||
|
patch -p1 < $($(package)_patch_dir)/netbsd_fixup.patch
|
||||||
endef
|
endef
|
||||||
|
|
||||||
define $(package)_config_cmds
|
define $(package)_config_cmds
|
||||||
|
|
23
depends/patches/libevent/netbsd_fixup.patch
Normal file
23
depends/patches/libevent/netbsd_fixup.patch
Normal file
|
@ -0,0 +1,23 @@
|
||||||
|
Improve portability on NetBSD
|
||||||
|
|
||||||
|
According to GCC documentation, "the various `-std` options disable
|
||||||
|
certain keywords".
|
||||||
|
This change adheres to GCC's recommendation by replacing the `typeof`
|
||||||
|
keyword with its alternative, `__typeof__`.
|
||||||
|
|
||||||
|
See https://github.com/libevent/libevent/commit/1759485e9a59147a47a674f5132fcfe764e7748c.
|
||||||
|
|
||||||
|
|
||||||
|
--- a/kqueue.c
|
||||||
|
+++ b/kqueue.c
|
||||||
|
@@ -52,8 +52,8 @@
|
||||||
|
* intptr_t, whereas others define it as void*. There doesn't seem to be an
|
||||||
|
* easy way to tell them apart via autoconf, so we need to use OS macros. */
|
||||||
|
#if defined(__NetBSD__)
|
||||||
|
-#define PTR_TO_UDATA(x) ((typeof(((struct kevent *)0)->udata))(x))
|
||||||
|
-#define INT_TO_UDATA(x) ((typeof(((struct kevent *)0)->udata))(intptr_t)(x))
|
||||||
|
+#define PTR_TO_UDATA(x) ((__typeof__(((struct kevent *)0)->udata))(x))
|
||||||
|
+#define INT_TO_UDATA(x) ((__typeof__(((struct kevent *)0)->udata))(intptr_t)(x))
|
||||||
|
#elif defined(EVENT__HAVE_INTTYPES_H) && !defined(__OpenBSD__) && !defined(__FreeBSD__) && !defined(__darwin__) && !defined(__APPLE__) && !defined(__CloudABI__)
|
||||||
|
#define PTR_TO_UDATA(x) ((intptr_t)(x))
|
||||||
|
#define INT_TO_UDATA(x) ((intptr_t)(x))
|
Loading…
Add table
Reference in a new issue