mirror of
https://github.com/php/php-src.git
synced 2026-03-25 00:32:23 +01:00
It seems reasonable to have an ASan job on Windows, especially to be able to check Windows specific code. Since the tests may take about 70 minutes, it doesn't make sense to add these for pushes, but for a nightly job that should be okay. Closes GH-17087.
51 lines
1.6 KiB
Batchfile
51 lines
1.6 KiB
Batchfile
@echo off
|
|
|
|
if /i "%GITHUB_ACTIONS%" neq "True" (
|
|
echo for CI only
|
|
exit /b 3
|
|
)
|
|
|
|
del /f /q C:\Windows\System32\libcrypto-1_1-x64.dll >NUL 2>NUL
|
|
if %errorlevel% neq 0 exit /b 3
|
|
del /f /q C:\Windows\System32\libssl-1_1-x64.dll >NUL 2>NUL
|
|
if %errorlevel% neq 0 exit /b 3
|
|
|
|
call %~dp0find-target-branch.bat
|
|
set STABILITY=staging
|
|
set DEPS_DIR=%PHP_BUILD_CACHE_BASE_DIR%\deps-%BRANCH%-%PHP_SDK_VS%-%PHP_SDK_ARCH%
|
|
rem SDK is cached, deps info is cached as well
|
|
echo Updating dependencies in %DEPS_DIR%
|
|
cmd /c phpsdk_deps --update --no-backup --branch %BRANCH% --stability %STABILITY% --deps %DEPS_DIR% --crt %PHP_BUILD_CRT%
|
|
if %errorlevel% neq 0 exit /b 3
|
|
|
|
rem Something went wrong, most likely when concurrent builds were to fetch deps
|
|
rem updates. It might be, that some locking mechanism is needed.
|
|
if not exist "%DEPS_DIR%" (
|
|
cmd /c phpsdk_deps --update --force --no-backup --branch %BRANCH% --stability %STABILITY% --deps %DEPS_DIR%
|
|
)
|
|
if %errorlevel% neq 0 exit /b 3
|
|
|
|
cmd /c buildconf.bat --force
|
|
if %errorlevel% neq 0 exit /b 3
|
|
|
|
if "%THREAD_SAFE%" equ "0" set ADD_CONF=%ADD_CONF% --disable-zts
|
|
if "%INTRINSICS%" neq "" set ADD_CONF=%ADD_CONF% --enable-native-intrinsics=%INTRINSICS%
|
|
if "%ASAN%" equ "1" set ADD_CONF=%ADD_CONF% --enable-sanitizer --enable-debug-pack
|
|
|
|
set CFLAGS=/W1 /WX /w14013
|
|
|
|
cmd /c configure.bat ^
|
|
--enable-snapshot-build ^
|
|
--disable-debug-pack ^
|
|
--without-analyzer ^
|
|
--enable-object-out-dir=%PHP_BUILD_OBJ_DIR% ^
|
|
--with-php-build=%DEPS_DIR% ^
|
|
%ADD_CONF% ^
|
|
--disable-test-ini
|
|
if %errorlevel% neq 0 exit /b 3
|
|
|
|
nmake /NOLOGO
|
|
if %errorlevel% neq 0 exit /b 3
|
|
|
|
exit /b 0
|