Skip to content
Bitcoin Roots

v31.1-roots.1 · Commit 6: [PATCH 06/17] feat(wallet): preserve Roots signing and spend controls on v31

cmake/introspection.cmake

Before: cmake/introspection.cmake · After: cmake/introspection.cmake

File metadata
index d22576339745fd4c221d12b32d3646ae741de6d8..c06bcee56c0dc18ed96c11d0dca5a9bd7f2797be 100644

Download original patch · Release notes

Diff rows 1–49 of 49. Line numbers refer to the original before/after files.

+ Added− RemovedUnmarked lines are context.

Scroll the code area horizontally to read long lines. The two line-number columns refer to before and after.

cmake/introspection.cmake CHANGED
@@ -88,6 +88,49 @@ check_cxx_source_compiles("
88
88
  " HAVE_SOCKADDR_UN
89
89
  )
90
90
 
91
+ # Check for close_range().
92
+ # NOTE: At least FreeBSD supports the generic variant.
93
+ check_cxx_source_compiles("
94
+ // same as in src/util/subprocess.cpp
95
+ #include <limits.h>
96
+ #include <unistd.h>
97
+
98
+ int main()
99
+ {
100
+ return close_range(3, UINT_MAX, 0);
101
+ }
102
+ " HAVE_CLOSE_RANGE_GENERIC
103
+ )
104
+ if(NOT HAVE_CLOSE_RANGE_GENERIC)
105
+ check_cxx_source_compiles("
106
+ // same as in src/util/subprocess.cpp
107
+ #define _GNU_SOURCE
108
+ #include <linux/close_range.h>
109
+ #include <limits.h>
110
+ #include <unistd.h>
111
+
112
+ int main()
113
+ {
114
+ return close_range(3, UINT_MAX, 0);
115
+ }
116
+ " HAVE_CLOSE_RANGE_LINUX
117
+ )
118
+ endif()
119
+
120
+ # Native BSD/Solaris close-from fallback (Linux uses raw /proc enumeration).
121
+ check_cxx_source_compiles("
122
+ #include <unistd.h>
123
+ int main() { closefrom(4); }
124
+ " HAVE_CLOSEFROM
125
+ )
126
+ if(HAVE_CLOSEFROM)
127
+ check_cxx_source_compiles("
128
+ #include <unistd.h>
129
+ int main() { return closefrom(4); }
130
+ " HAVE_CLOSEFROM_RETURN_INT
131
+ )
132
+ endif()
133
+
91
134
  # Check for different ways of gathering OS randomness:
92
135
  # - Linux getrandom()
93
136
  check_cxx_source_compiles("