Skip to content

fix(windows): repair MSVC build after new async API additions#28

Merged
EdmondDantes merged 1 commit into
mainfrom
fix/windows-build-msvc
May 18, 2026
Merged

fix(windows): repair MSVC build after new async API additions#28
EdmondDantes merged 1 commit into
mainfrom
fix/windows-build-msvc

Conversation

@EdmondDantes
Copy link
Copy Markdown
Contributor

Summary

  • config.w32: добавлены пропущенные исходники async_plain_event.c, http3_static_response.c, http_compression_pool.c — они есть в config.m4 но отсутствовали в Windows-сборке, что приводило к LNK2019 при линковке
  • tls_layer.c: #ifdef SSL_MODE_RELEASE_BUFFERS вынесен за пределы аргументов SSL_CTX_set_mode()/Zc:preprocessor (conforming preprocessor) запрещает директивы препроцессора внутри вызовов макросов
  • scripts/run-tests-windows.bat: исправлено имя DLL (php_true_async_server.dll), добавлена переменная EXT_BUILD указывающая на директорию с DLL расширения, INI теперь всегда пересоздаётся

Test plan

  • Сборка через phpsdk-vs17-x64.bat + _local_build.bat проходит без ошибок
  • Unit-тесты: 75/75 passed (test_compression_negotiate, test_multipart_parser, test_multipart_processor, test_win32_compat)

- config.w32: add missing sources async_plain_event.c,
  http3_static_response.c, http_compression_pool.c (present in
  config.m4 but absent from the Windows build list, causing LNK2019)
- tls_layer.c: move #ifdef SSL_MODE_RELEASE_BUFFERS out of
  SSL_CTX_set_mode() argument list — /Zc:preprocessor rejects
  preprocessor directives inside macro invocations
- scripts/run-tests-windows.bat: fix extension name
  (php_true_async_server.dll) and add EXT_BUILD var so the INI
  points at the correct DLL location; always regenerate the INI
@github-actions
Copy link
Copy Markdown
Contributor

Coverage

Total lines: 77.39% → 77.41% (+0.02 pp)

File Baseline Current Δ Touched
src/core/tls_layer.c 76.05% 76.18% +0.13 pp
src/http3/http3_callbacks.c 78.61% 79.21% +0.59 pp

@EdmondDantes EdmondDantes merged commit 206cb6c into main May 18, 2026
5 checks passed
@EdmondDantes EdmondDantes deleted the fix/windows-build-msvc branch May 18, 2026 13:57
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant