php-src/win32
Christoph M. Becker 3955b01653
Avoid duplicate build rules
On Windows, the cli and phpdbg SAPIs have variants (cli-win32 and
phpdbgs, respectively) which are build by default.  However, the
variants share some files, what leads to duplicate build rules in the
generated Makefile.  NMake throws warning U4004[1], but proceeds
happily, ignoring the second build rule.  That means that different
flags for duplicate rules are ignored, hinting at a potential problem.

We solve this by introducing an additional (optional) argument to
`SAPI()` and `ADD_SOURCES()` which can be used to avoid such duplicate
build rules.  It's left to the SAPI maintainers to make sure that
appropriate rules are created.  We fix this for phpdbgs right away,
which currently couldn't be build without phpdbg due to the missing
define; we remove the unused `PHP_PHPDBG_EXPORTS` flag altogether.

[1] <https://learn.microsoft.com/en-us/cpp/error-messages/tool-errors/nmake-warning-u4004>

Closes GH-17545.
2025-02-01 11:21:09 +01:00
..
build Avoid duplicate build rules 2025-02-01 11:21:09 +01:00
charclass.h Update OpenBSD glob implementation for Windows (#16948) 2025-01-10 11:47:28 -04:00
codepage.c Replace __forceinline with zend_always_inline in win32/ (GH-17482) 2025-01-16 15:05:24 +01:00
codepage.h Replace __forceinline with zend_always_inline in win32/ (GH-17482) 2025-01-16 15:05:24 +01:00
console.c Fixed some spaces used instead of tabs 2021-06-29 11:30:26 +02:00
console.h Update http->https in license (#6945) 2021-05-06 12:16:35 +02:00
cp_enc_map.c Trailing whitespaces 2018-01-03 14:38:00 +01:00
cp_enc_map_gen.c Remove local variables 2019-02-03 21:03:00 +01:00
dllmain.c win32/dllmain.c: drop some unused code (#16353) 2024-10-13 11:24:22 +01:00
fnmatch.c Remove local variables 2019-02-03 21:03:00 +01:00
fnmatch.h Remove local variables 2019-02-03 21:03:00 +01:00
ftok.c Avoid undefined behavior in Windows ftok(3) emulation 2022-11-18 14:37:00 +01:00
getrusage.c Update http->https in license (#6945) 2021-05-06 12:16:35 +02:00
getrusage.h Update http->https in license (#6945) 2021-05-06 12:16:35 +02:00
glob.c Update OpenBSD glob implementation for Windows (#16948) 2025-01-10 11:47:28 -04:00
glob.h Update OpenBSD glob implementation for Windows (#16948) 2025-01-10 11:47:28 -04:00
globals.c Update http->https in license (#6945) 2021-05-06 12:16:35 +02:00
ioutil.c win32: switch handful of memmove over memcpy. (#17508) 2025-01-18 14:47:48 +00:00
ioutil.h win32: switch handful of memmove over memcpy. (#17508) 2025-01-18 14:47:48 +00:00
ipc.h Update http->https in license (#6945) 2021-05-06 12:16:35 +02:00
nice.c Update http->https in license (#6945) 2021-05-06 12:16:35 +02:00
nice.h Update http->https in license (#6945) 2021-05-06 12:16:35 +02:00
param.h Remove local variables 2019-02-03 21:03:00 +01:00
php_registry.h Update http->https in license (#6945) 2021-05-06 12:16:35 +02:00
php_win32_globals.h Autotools: Refactor thread safety checks (#15214) 2024-08-05 22:30:10 +02:00
readdir.c Cache d_type in directory entry 2023-07-07 18:02:32 +02:00
readdir.h Cache d_type in directory entry 2023-07-07 18:02:32 +02:00
registry.c Address more Clang warnings (GH-17506) 2025-01-21 20:05:29 +01:00
select.c Improve fix for GH-16889 2024-12-16 23:25:38 +01:00
select.h Update http->https in license (#6945) 2021-05-06 12:16:35 +02:00
sendmail.c Remove braces around string initializers (#GH-17451) 2025-01-12 19:40:15 +01:00
sendmail.h Constify char * arguments of APIs 2020-06-08 10:38:45 +02:00
signal.c Sync #if/ifdef/defined (-Wundef) (#14623) 2024-06-24 19:37:07 +02:00
signal.h Fix TS build, ref #77377 2019-02-08 18:42:48 -08:00
sockets.c Update http->https in license (#6945) 2021-05-06 12:16:35 +02:00
sockets.h Update http->https in license (#6945) 2021-05-06 12:16:35 +02:00
syslog.h Update http->https in license (#6945) 2021-05-06 12:16:35 +02:00
time.c Voidify getfilesystemtime() (GH-15413) 2024-08-14 21:09:26 +02:00
time.h Remove support for unsupported MSVC versions (GH-17128) 2024-12-12 19:50:14 +01:00
unistd.h Remove local variables 2019-02-03 21:03:00 +01:00
winutil.c Merge branch 'PHP-8.4' 2025-01-16 00:03:16 +01:00
winutil.h Update http->https in license (#6945) 2021-05-06 12:16:35 +02:00
wsyslog.c Address more Clang warnings (GH-17506) 2025-01-21 20:05:29 +01:00