Skip to content

Commit a91fbcb

Browse files
committed
Sync with upstream, enhance RE2C finder, fix HAVE_FLUSHIO on Windows
1 parent c73e74e commit a91fbcb

File tree

3 files changed

+38
-19
lines changed

3 files changed

+38
-19
lines changed

cmake/cmake/modules/FindRE2C.cmake

Lines changed: 28 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -99,27 +99,37 @@ if(RE2C_EXECUTABLE)
9999
execute_process(
100100
COMMAND ${RE2C_EXECUTABLE} --vernum
101101
OUTPUT_VARIABLE RE2C_VERSION_NUM
102+
ERROR_VARIABLE _re2c_version_error
103+
RESULT_VARIABLE _re2c_version_result
102104
OUTPUT_STRIP_TRAILING_WHITESPACE
103105
)
104106

105-
math(
106-
EXPR RE2C_VERSION_MAJOR
107-
"${RE2C_VERSION_NUM} / 10000"
108-
)
109-
110-
math(
111-
EXPR RE2C_VERSION_MINOR
112-
"(${RE2C_VERSION_NUM} - ${RE2C_VERSION_MAJOR} * 10000) / 100"
113-
)
114-
115-
math(
116-
EXPR RE2C_VERSION_PATCH
117-
"${RE2C_VERSION_NUM} - ${RE2C_VERSION_MAJOR} * 10000 - ${RE2C_VERSION_MINOR} * 100"
118-
)
119-
120-
set(RE2C_VERSION "${RE2C_VERSION_MAJOR}.${RE2C_VERSION_MINOR}.${RE2C_VERSION_PATCH}")
121-
122-
find_package_check_version("${RE2C_VERSION}" _re2c_version_valid)
107+
if(NOT ${_re2c_version_result} EQUAL 0)
108+
message(
109+
SEND_ERROR
110+
"Command \"${RE2C_EXECUTABLE} --vernum\" failed with output:\n"
111+
"${_re2c_version_error}"
112+
)
113+
elseif(RE2C_VERSION_NUM)
114+
math(
115+
EXPR RE2C_VERSION_MAJOR
116+
"${RE2C_VERSION_NUM} / 10000"
117+
)
118+
119+
math(
120+
EXPR RE2C_VERSION_MINOR
121+
"(${RE2C_VERSION_NUM} - ${RE2C_VERSION_MAJOR} * 10000) / 100"
122+
)
123+
124+
math(
125+
EXPR RE2C_VERSION_PATCH
126+
"${RE2C_VERSION_NUM} - ${RE2C_VERSION_MAJOR} * 10000 - ${RE2C_VERSION_MINOR} * 100"
127+
)
128+
129+
set(RE2C_VERSION "${RE2C_VERSION_MAJOR}.${RE2C_VERSION_MINOR}.${RE2C_VERSION_PATCH}")
130+
131+
find_package_check_version("${RE2C_VERSION}" _re2c_version_valid)
132+
endif()
123133
endif()
124134

125135
if(RE2C_ENABLE_DOWNLOAD AND (NOT RE2C_EXECUTABLE OR NOT _re2c_version_valid))

cmake/cmake/modules/PHP/CheckFlushIo.cmake

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,12 @@ message(CHECK_START
1717
"Checking whether flush should be called explicitly after a buffered io"
1818
)
1919

20+
if(CMAKE_SYSTEM_NAME STREQUAL "Windows")
21+
message(CHECK_FAIL "no")
22+
set(HAVE_FLUSHIO FALSE CACHE INTERNAL "")
23+
return()
24+
endif()
25+
2026
cmake_push_check_state(RESET)
2127
set(CMAKE_REQUIRED_QUIET TRUE)
2228

cmake/main/config.w32.cmake.h.in

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
#undef _WIN32_WINNT
55
#undef NTDDI_VERSION
66
#define _WIN32_WINNT 0x0602
7-
#define NTDDI_VERSION 0x06010000
7+
#define NTDDI_VERSION 0x06020000
88

99
/* Define to 1 if the PHP extension 'bcmath' is built as a dynamic module. */
1010
#cmakedefine COMPILE_DL_BCMATH 1
@@ -628,6 +628,9 @@
628628
/* Define to 1 if libffi supports the 'FFI_VECTORCALL' calling convention. */
629629
#cmakedefine HAVE_FFI_VECTORCALL_PARTIAL 1
630630

631+
/* Define to 1 if flush should be called explicitly after a buffered io. */
632+
#cmakedefine HAVE_FLUSHIO 1
633+
631634
/* Define to 1 if the PHP extension 'ftp' is available. */
632635
#cmakedefine HAVE_FTP 1
633636

0 commit comments

Comments
 (0)