Skip to content

Commit eefe09e

Browse files
committed
Add more known variables to Windows
1 parent 9db82a5 commit eefe09e

File tree

4 files changed

+39
-35
lines changed

4 files changed

+39
-35
lines changed

cmake/cmake/ConfigureChecks.cmake

Lines changed: 16 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -144,12 +144,17 @@ cmake_pop_check_state()
144144

145145
# Check for sockaddr_storage and sockaddr.sa_len.
146146
cmake_push_check_state(RESET)
147-
set(CMAKE_EXTRA_INCLUDE_FILES "sys/socket.h")
147+
if(HAVE_SYS_SOCKET_H)
148+
list(APPEND CMAKE_EXTRA_INCLUDE_FILES "sys/socket.h")
149+
endif()
150+
if(CMAKE_SYSTEM_NAME STREQUAL "Windows")
151+
list(APPEND CMAKE_EXTRA_INCLUDE_FILES "winsock2.h")
152+
endif()
148153
check_type_size("struct sockaddr_storage" SOCKADDR_STORAGE)
149154
check_struct_has_member(
150155
"struct sockaddr"
151156
sa_len
152-
"sys/socket.h"
157+
"${CMAKE_EXTRA_INCLUDE_FILES}"
153158
HAVE_SOCKADDR_SA_LEN
154159
)
155160
cmake_pop_check_state()
@@ -522,7 +527,7 @@ php_search_libraries(
522527
socket
523528
HEADERS
524529
sys/socket.h
525-
winsock.h
530+
winsock2.h
526531
LIBRARIES
527532
socket # Solaris <= 11.3, illumos
528533
network # Haiku
@@ -549,7 +554,7 @@ php_search_libraries(
549554
gethostname
550555
HEADERS
551556
unistd.h
552-
winsock.h
557+
winsock2.h
553558
LIBRARIES
554559
network # Haiku
555560
ws2_32 # Windows
@@ -565,7 +570,7 @@ php_search_libraries(
565570
HEADERS
566571
netdb.h
567572
sys/socket.h
568-
winsock.h
573+
winsock2.h
569574
LIBRARIES
570575
nsl # Solaris <= 11.3, illumos
571576
network # Haiku
@@ -675,7 +680,7 @@ php_search_libraries(
675680
HEADERS
676681
sys/types.h
677682
sys/socket.h
678-
winsock.h
683+
winsock2.h
679684
LIBRARIES
680685
socket # Solaris <= 11.3, illumos
681686
network # Haiku
@@ -704,7 +709,7 @@ php_search_libraries(
704709
getprotobyname
705710
HEADERS
706711
netdb.h
707-
winsock.h
712+
winsock2.h
708713
LIBRARIES
709714
socket # Solaris <= 11.3, illumos
710715
network # Haiku
@@ -720,7 +725,7 @@ php_search_libraries(
720725
getprotobynumber
721726
HEADERS
722727
netdb.h
723-
winsock.h
728+
winsock2.h
724729
LIBRARIES
725730
socket # Solaris <= 11.3, illumos
726731
network # Haiku
@@ -736,7 +741,7 @@ php_search_libraries(
736741
getservbyname
737742
HEADERS
738743
netdb.h
739-
winsock.h
744+
winsock2.h
740745
LIBRARIES
741746
socket # Solaris <= 11.3, illumos
742747
network # Haiku
@@ -752,7 +757,7 @@ php_search_libraries(
752757
getservbyport
753758
HEADERS
754759
netdb.h
755-
winsock.h
760+
winsock2.h
756761
LIBRARIES
757762
socket # Solaris <= 11.3, illumos
758763
network # Haiku
@@ -768,7 +773,7 @@ php_search_libraries(
768773
shutdown
769774
HEADERS
770775
sys/socket.h
771-
winsock.h
776+
winsock2.h
772777
LIBRARIES
773778
socket # Solaris <= 11.3, illumos
774779
network # Haiku

cmake/cmake/Requirements.cmake

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -40,17 +40,17 @@ message(CHECK_START "Checking system character set")
4040
if(CMAKE_CROSSCOMPILING AND NOT CMAKE_CROSSCOMPILING_EMULATOR)
4141
# EBCDIC targets are obsolete, assume that target uses ASCII when
4242
# cross-compiling without emulator.
43-
set(PHP_IS_EBCDIC_EXITCODE 1)
43+
set(PHP_HAS_EBCDIC_EXITCODE 1)
4444
endif()
4545

4646
cmake_push_check_state(RESET)
4747
set(CMAKE_REQUIRED_QUIET TRUE)
4848
check_source_runs(C [[
4949
int main(void) { return (unsigned char)'A' != (unsigned char)0xC1; }
50-
]] PHP_IS_EBCDIC)
50+
]] PHP_HAS_EBCDIC)
5151
cmake_pop_check_state()
5252

53-
if(PHP_IS_EBCDIC)
53+
if(PHP_HAS_EBCDIC)
5454
message(CHECK_FAIL "EBCDIC")
5555
message(FATAL_ERROR "PHP does not support EBCDIC targets.")
5656
else()

cmake/cmake/platforms/Windows.cmake

Lines changed: 20 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -121,6 +121,7 @@ if(CMAKE_SYSTEM_NAME STREQUAL "Windows")
121121
set(HAVE_NETINET_IN_H FALSE)
122122
set(HAVE_NL_LANGINFO FALSE)
123123
set(HAVE_NMMINTRIN_H TRUE)
124+
set(HAVE_OS_SIGNPOST_H FALSE)
124125
set(HAVE_POLL FALSE)
125126
set(HAVE_POLL_H FALSE)
126127
set(HAVE_POSIX_SPAWN_FILE_ACTIONS_ADDCHDIR_NP FALSE)
@@ -149,6 +150,7 @@ if(CMAKE_SYSTEM_NAME STREQUAL "Windows")
149150
set(HAVE_SIZEOF_GID_T FALSE)
150151
set(HAVE_SIZEOF_SSIZE_T FALSE)
151152
set(HAVE_SIZEOF_UID_T FALSE)
153+
set(HAVE_SOCKADDR_SA_LEN FALSE)
152154
set(HAVE_SOCKATMARK FALSE)
153155
set(HAVE_SOCKLEN_T TRUE)
154156
set(HAVE_STATFS FALSE)
@@ -164,9 +166,8 @@ if(CMAKE_SYSTEM_NAME STREQUAL "Windows")
164166
set(HAVE_STRNLEN TRUE)
165167
set(HAVE_STRUCT_CMSGCRED FALSE)
166168
set(HAVE_STRUCT_FLOCK FALSE)
167-
set(HAVE_STRUCT_SOCKADDR_SA_LEN FALSE)
168-
set(HAVE_STRUCT_SOCKADDR_STORAGE FALSE)
169-
set(HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY FALSE)
169+
set(HAVE_SOCKADDR_STORAGE FALSE)
170+
set(HAVE_SA_SS_FAMILY FALSE)
170171
set(HAVE_STRUCT_SOCKADDR_UN_SUN_LEN FALSE)
171172
set(HAVE_STRUCT_STAT_ST_BLKSIZE FALSE)
172173
set(HAVE_STRUCT_STAT_ST_BLOCKS FALSE)
@@ -183,6 +184,7 @@ if(CMAKE_SYSTEM_NAME STREQUAL "Windows")
183184
set(HAVE_SYS_MOUNT_H FALSE)
184185
set(HAVE_SYS_PARAM_H FALSE)
185186
set(HAVE_SYS_POLL_H FALSE)
187+
set(HAVE_SYS_PROCCTL_H FALSE)
186188
set(HAVE_SYS_PSTAT_H FALSE)
187189
set(HAVE_SYS_RESOURCE_H FALSE)
188190
set(HAVE_SYS_SELECT_H FALSE)
@@ -209,7 +211,6 @@ if(CMAKE_SYSTEM_NAME STREQUAL "Windows")
209211
set(HAVE_UTIME_H FALSE)
210212
set(HAVE_UTIMES FALSE)
211213
set(HAVE_VASPRINTF FALSE)
212-
set(HAVE_WINSOCK_H TRUE)
213214
set(HAVE_WMMINTRIN_H TRUE)
214215
set(HAVE_WS2TCPIP_H TRUE)
215216
set(PHP_EXT_GD_HAS_FLOORF TRUE)
@@ -218,6 +219,7 @@ if(CMAKE_SYSTEM_NAME STREQUAL "Windows")
218219
set(PHP_HAS_DN_EXPAND FALSE)
219220
set(PHP_HAS_DN_SKIPNAME FALSE)
220221
set(PHP_HAS_DNS_SEARCH FALSE)
222+
set(PHP_HAS_EBCDIC FALSE)
221223
set(PHP_HAS_ELF FALSE)
222224
set(PHP_HAS_FFP_CONTRACT_OFF_C FALSE)
223225
set(PHP_HAS_FNO_COMMON_C FALSE)
@@ -279,14 +281,21 @@ if(CMAKE_SYSTEM_NAME STREQUAL "Windows")
279281
set(PHP_HAS_WNO_UNUSED_PARAMETER_C FALSE)
280282
set(PHP_HAS_WNO_UNUSED_PARAMETER_CXX FALSE)
281283
set(PHP_HAS_WSTRICT_PROTOTYPES_C FALSE)
282-
set(PHP_IS_EBCDIC FALSE)
283284

284-
#set(HAVE_SIZEOF_INT TRUE)
285-
#set(HAVE_SIZEOF_LONG TRUE)
286-
#set(HAVE_SIZEOF_LONG_LONG TRUE)
287-
#set(HAVE_SIZEOF_OFF_T TRUE)
288-
#set(HAVE_SIZEOF_PTRDIFF_T TRUE)
289-
#set(HAVE_SIZEOF_SIZE_T TRUE)
285+
set(HAVE_SIZEOF_INT TRUE)
286+
set(SIZEOF_INT 4)
287+
288+
set(HAVE_SIZEOF_LONG TRUE)
289+
set(SIZEOF_LONG 4)
290+
291+
set(HAVE_SIZEOF_LONG_LONG TRUE)
292+
set(SIZEOF_LONG_LONG 8)
293+
294+
set(HAVE_SIZEOF_OFF_T TRUE)
295+
set(SIZEOF_OFF_T 4)
296+
297+
set(HAVE_SIZEOF_SIZE_T TRUE)
298+
set(HAVE_SIZEOF_PTRDIFF_T TRUE)
290299
if(CMAKE_SIZEOF_VOID_P EQUAL 4)
291300
set(SIZEOF_PTRDIFF_T 4)
292301
set(SIZEOF_SIZE_T 4)

cmake/ext/sockets/CMakeLists.txt

Lines changed: 0 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -110,16 +110,6 @@ cmake_pop_check_state()
110110
check_include_files(sys/sockio.h HAVE_SYS_SOCKIO_H)
111111
check_include_files(linux/filter.h HAVE_LINUX_FILTER_H)
112112

113-
if(CMAKE_SYSTEM_NAME STREQUAL "Windows")
114-
check_include_files(winsock.h PHP_EXT_SOCKETS_HAS_WINSOCK_H)
115-
if(NOT PHP_EXT_SOCKETS_HAS_WINSOCK_H)
116-
message(
117-
FATAL_ERROR
118-
"Required file winsock.h is missing for the socket extension."
119-
)
120-
endif()
121-
endif()
122-
123113
# Check for field ss_family in sockaddr_storage (missing in AIX until 5.3).
124114
check_struct_has_member(
125115
"struct sockaddr_storage"

0 commit comments

Comments
 (0)