mirror of
https://github.com/crazywhalecc/static-php-cli.git
synced 2026-07-10 18:35:35 +08:00
Merge remote-tracking branch 'origin/ext/parallel' into ext/parallel
# Conflicts: # config/ext.json
This commit is contained in:
2
.github/workflows/tests.yml
vendored
2
.github/workflows/tests.yml
vendored
@@ -168,4 +168,4 @@ jobs:
|
|||||||
bin/spc download --for-extensions="$(php src/globals/test-extensions.php extensions)" --for-libs="$(php src/globals/test-extensions.php libs)" --with-php=${{ matrix.php }} --ignore-cache-sources=php-src --debug --retry=3
|
bin/spc download --for-extensions="$(php src/globals/test-extensions.php extensions)" --for-libs="$(php src/globals/test-extensions.php libs)" --with-php=${{ matrix.php }} --ignore-cache-sources=php-src --debug --retry=3
|
||||||
|
|
||||||
- name: "Run Build Tests (build)"
|
- name: "Run Build Tests (build)"
|
||||||
run: bin/spc build "$(php src/globals/test-extensions.php extensions)" --with-libs="$(php src/globals/test-extensions.php libs)" --build-cli --build-micro --build-fpm --debug
|
run: bin/spc build "$(php src/globals/test-extensions.php extensions)" $(php src/globals/test-extensions.php zts) --with-libs="$(php src/globals/test-extensions.php libs)" --build-cli --build-micro --build-fpm --debug
|
||||||
|
|||||||
@@ -187,6 +187,11 @@
|
|||||||
"icu"
|
"icu"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
"parallel": {
|
||||||
|
"type": "external",
|
||||||
|
"source": "parallel",
|
||||||
|
"arg-type-windows": "with"
|
||||||
|
},
|
||||||
"ldap": {
|
"ldap": {
|
||||||
"type": "builtin",
|
"type": "builtin",
|
||||||
"arg-type": "with-prefix",
|
"arg-type": "with-prefix",
|
||||||
@@ -283,7 +288,10 @@
|
|||||||
"parallel": {
|
"parallel": {
|
||||||
"type": "external",
|
"type": "external",
|
||||||
"source": "parallel",
|
"source": "parallel",
|
||||||
"arg-type-windows": "with"
|
"arg-type-windows": "with",
|
||||||
|
"lib-depends-windows": [
|
||||||
|
"pthreads4w"
|
||||||
|
]
|
||||||
},
|
},
|
||||||
"password-argon2": {
|
"password-argon2": {
|
||||||
"type": "builtin",
|
"type": "builtin",
|
||||||
|
|||||||
@@ -528,6 +528,12 @@
|
|||||||
"zstd"
|
"zstd"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
"pthreads4w": {
|
||||||
|
"source": "pthreads4w",
|
||||||
|
"static-libs-windows": [
|
||||||
|
"libpthreadVC3.lib"
|
||||||
|
]
|
||||||
|
},
|
||||||
"qdbm": {
|
"qdbm": {
|
||||||
"source": "qdbm",
|
"source": "qdbm",
|
||||||
"static-libs-unix": [
|
"static-libs-unix": [
|
||||||
|
|||||||
@@ -561,6 +561,15 @@
|
|||||||
"path": "LICENSE"
|
"path": "LICENSE"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"pthreads4w": {
|
||||||
|
"type": "git",
|
||||||
|
"rev": "master",
|
||||||
|
"url": "https://git.code.sf.net/p/pthreads4w/code",
|
||||||
|
"license": {
|
||||||
|
"type": "file",
|
||||||
|
"path": "LICENSE"
|
||||||
|
}
|
||||||
|
},
|
||||||
"qdbm": {
|
"qdbm": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/static-php/qdbm.git",
|
"url": "https://github.com/static-php/qdbm.git",
|
||||||
|
|||||||
29
src/SPC/builder/windows/library/pthreads4w.php
Normal file
29
src/SPC/builder/windows/library/pthreads4w.php
Normal file
@@ -0,0 +1,29 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
declare(strict_types=1);
|
||||||
|
|
||||||
|
namespace SPC\builder\windows\library;
|
||||||
|
|
||||||
|
class pthreads4w extends WindowsLibraryBase
|
||||||
|
{
|
||||||
|
public const NAME = 'pthreads4w';
|
||||||
|
|
||||||
|
protected function build(): void
|
||||||
|
{
|
||||||
|
cmd()->cd($this->source_dir)
|
||||||
|
->execWithWrapper(
|
||||||
|
$this->builder->makeSimpleWrapper(
|
||||||
|
'nmake /E /nologo /f Makefile ' .
|
||||||
|
'DESTROOT=' . BUILD_ROOT_PATH . ' ' .
|
||||||
|
'XCFLAGS="/MT" ' . // no dll
|
||||||
|
'EHFLAGS="/I. /DHAVE_CONFIG_H /Os /Ob2 /D__PTW32_STATIC_LIB /D__PTW32_BUILD_INLINED"'
|
||||||
|
),
|
||||||
|
'pthreadVC3.inlined_static_stamp'
|
||||||
|
);
|
||||||
|
copy($this->source_dir . '\libpthreadVC3.lib', BUILD_LIB_PATH . '\libpthreadVC3.lib');
|
||||||
|
copy($this->source_dir . '\_ptw32.h', BUILD_INCLUDE_PATH . '\_ptw32.h');
|
||||||
|
copy($this->source_dir . '\pthread.h', BUILD_INCLUDE_PATH . '\pthread.h');
|
||||||
|
copy($this->source_dir . '\sched.h', BUILD_INCLUDE_PATH . '\sched.h');
|
||||||
|
copy($this->source_dir . '\semaphore.h', BUILD_INCLUDE_PATH . '\semaphore.h');
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -11,10 +11,12 @@ declare(strict_types=1);
|
|||||||
|
|
||||||
// --------------------------------- edit area ---------------------------------
|
// --------------------------------- edit area ---------------------------------
|
||||||
|
|
||||||
|
$zts = true;
|
||||||
|
|
||||||
// If you want to test your added extensions and libs, add below (comma separated, example `bcmath,openssl`).
|
// If you want to test your added extensions and libs, add below (comma separated, example `bcmath,openssl`).
|
||||||
$extensions = match (PHP_OS_FAMILY) {
|
$extensions = match (PHP_OS_FAMILY) {
|
||||||
'Linux', 'Darwin' => 'readline,pgsql,xml,dom,mbstring,mbregex,pdo_pgsql',
|
'Linux', 'Darwin' => 'parallel',
|
||||||
'Windows' => 'mbstring,pdo_sqlite,mbregex',
|
'Windows' => 'mbstring,pdo_sqlite,mbregex,parallel',
|
||||||
};
|
};
|
||||||
|
|
||||||
// If you want to test lib-suggests feature with extension, add them below (comma separated, example `libwebp,libavif`).
|
// If you want to test lib-suggests feature with extension, add them below (comma separated, example `libwebp,libavif`).
|
||||||
@@ -27,7 +29,7 @@ $with_libs = match (PHP_OS_FAMILY) {
|
|||||||
// You can use `common`, `bulk`, `minimal` or `none`.
|
// You can use `common`, `bulk`, `minimal` or `none`.
|
||||||
// note: combination is only available for *nix platform. Windows must use `none` combination
|
// note: combination is only available for *nix platform. Windows must use `none` combination
|
||||||
$base_combination = match (PHP_OS_FAMILY) {
|
$base_combination = match (PHP_OS_FAMILY) {
|
||||||
'Linux', 'Darwin' => 'none',
|
'Linux', 'Darwin' => 'minimal',
|
||||||
'Windows' => 'none',
|
'Windows' => 'none',
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -71,5 +73,6 @@ echo match ($argv[1]) {
|
|||||||
'libs' => $final_libs,
|
'libs' => $final_libs,
|
||||||
'libs_cmd' => ($final_libs === '' ? '' : (' --with-libs=' . $final_libs)),
|
'libs_cmd' => ($final_libs === '' ? '' : (' --with-libs=' . $final_libs)),
|
||||||
'cmd' => $final_extensions_cmd . ($final_libs === '' ? '' : (' --with-libs=' . $final_libs)),
|
'cmd' => $final_extensions_cmd . ($final_libs === '' ? '' : (' --with-libs=' . $final_libs)),
|
||||||
|
'zts' => $zts ? '--enable-zts' : '',
|
||||||
default => '',
|
default => '',
|
||||||
};
|
};
|
||||||
|
|||||||
Reference in New Issue
Block a user