diff --git a/config/ext.json b/config/ext.json index c0ead898..6955c0a8 100644 --- a/config/ext.json +++ b/config/ext.json @@ -92,6 +92,11 @@ }, "type": "wip" }, + "ev": { + "type": "external", + "source": "ev", + "arg-type-windows": "with" + }, "event": { "support": { "Windows": "wip", diff --git a/config/pkg.json b/config/pkg.json index 74de6fd3..5760c0b1 100644 --- a/config/pkg.json +++ b/config/pkg.json @@ -9,7 +9,7 @@ }, "nasm-x86_64-win": { "type": "url", - "url": "https://www.nasm.us/pub/nasm/releasebuilds/2.16.01/win64/nasm-2.16.01-win64.zip", + "url": "https://dl.static-php.dev/static-php-cli/deps/nasm/nasm-2.16.01-win64.zip", "extract-files": { "nasm-2.16.01/nasm.exe": "{php_sdk_path}/bin/nasm.exe", "nasm-2.16.01/ndisasm.exe": "{php_sdk_path}/bin/ndisasm.exe" diff --git a/config/source.json b/config/source.json index b3a398f4..e7946d7b 100644 --- a/config/source.json +++ b/config/source.json @@ -92,6 +92,16 @@ "path": "LICENSE" } }, + "ev": { + "type": "url", + "url": "https://pecl.php.net/get/ev", + "path": "php-src/ext/ev", + "filename": "ev.tgz", + "license": { + "type": "file", + "path": "LICENSE" + } + }, "ext-ds": { "type": "url", "url": "https://pecl.php.net/get/ds", diff --git a/src/SPC/builder/extension/ev.php b/src/SPC/builder/extension/ev.php new file mode 100644 index 00000000..1eb83a20 --- /dev/null +++ b/src/SPC/builder/extension/ev.php @@ -0,0 +1,31 @@ +source_dir . '/config.w32', + 'EXTENSION(\'ev\'', + " EXTENSION('ev', php_ev_sources, PHP_EV_SHARED, ' /DZEND_ENABLE_STATIC_TSRMLS_CACHE=1');" + ); + return true; + } +} diff --git a/src/globals/test-extensions.php b/src/globals/test-extensions.php index 1553443e..249999f2 100644 --- a/src/globals/test-extensions.php +++ b/src/globals/test-extensions.php @@ -28,6 +28,7 @@ $test_os = [ 'ubuntu-24.04', 'ubuntu-22.04-arm', 'ubuntu-24.04-arm', + 'windows-latest', ]; // whether enable thread safe @@ -43,8 +44,8 @@ $prefer_pre_built = false; // If you want to test your added extensions and libs, add below (comma separated, example `bcmath,openssl`). $extensions = match (PHP_OS_FAMILY) { - 'Linux', 'Darwin' => 'phar', - 'Windows' => 'pgsql,pdo_pgsql', + 'Linux', 'Darwin' => 'ev', + 'Windows' => 'ev', }; // If you want to test shared extensions, add them below (comma separated, example `bcmath,openssl`). @@ -63,7 +64,7 @@ $with_libs = match (PHP_OS_FAMILY) { // You can use `common`, `bulk`, `minimal` or `none`. // note: combination is only available for *nix platform. Windows must use `none` combination $base_combination = match (PHP_OS_FAMILY) { - 'Linux', 'Darwin' => 'common', + 'Linux', 'Darwin' => 'minimal', 'Windows' => 'none', };