mirror of
https://github.com/crazywhalecc/static-php-cli.git
synced 2026-07-12 03:15:35 +08:00
suggestions from @crazywhalecc
This commit is contained in:
@@ -94,7 +94,7 @@ SPC_MICRO_PATCHES=static_extensions_win32,cli_checks,disable_huge_page,vcruntime
|
|||||||
; `native-native` - links against system libc dynamically
|
; `native-native` - links against system libc dynamically
|
||||||
; `native-native-musl` - links against musl libc statically
|
; `native-native-musl` - links against musl libc statically
|
||||||
; `native-native-musl -dynamic` - links against musl libc dynamically
|
; `native-native-musl -dynamic` - links against musl libc dynamically
|
||||||
SPC_TARGET=native-native
|
SPC_TARGET=${GNU_ARCH}-linux
|
||||||
|
|
||||||
; compiler environments (default value is defined by selected toolchain)
|
; compiler environments (default value is defined by selected toolchain)
|
||||||
CC=${SPC_DEFAULT_CC}
|
CC=${SPC_DEFAULT_CC}
|
||||||
@@ -143,8 +143,8 @@ AR=${SPC_DEFAULT_AR}
|
|||||||
LD=${SPC_DEFAULT_LD}
|
LD=${SPC_DEFAULT_LD}
|
||||||
; default compiler flags, used in CMake toolchain file, openssl and pkg-config build
|
; default compiler flags, used in CMake toolchain file, openssl and pkg-config build
|
||||||
SPC_DEFAULT_C_FLAGS="--target=${MAC_ARCH}-apple-darwin -Os"
|
SPC_DEFAULT_C_FLAGS="--target=${MAC_ARCH}-apple-darwin -Os"
|
||||||
SPC_DEFAULT_CXX_FLAGS="--target=${MAC_ARCH}-apple-darwin -Os"
|
SPC_DEFAULT_CXX_FLAGS="${SPC_DEFAULT_C_FLAGS}"
|
||||||
SPC_DEFAULT_LD_FLAGS=""
|
SPC_DEFAULT_LD_FLAGS="-Wl,-z,relro -Wl,--as-needed -Wl,-z,now -Wl,-z,noexecstack -Wl,--gc-sections"
|
||||||
; phpmicro patches, for more info, see: https://github.com/easysoft/phpmicro/tree/master/patches
|
; phpmicro patches, for more info, see: https://github.com/easysoft/phpmicro/tree/master/patches
|
||||||
SPC_MICRO_PATCHES=cli_checks,macos_iconv
|
SPC_MICRO_PATCHES=cli_checks,macos_iconv
|
||||||
|
|
||||||
@@ -152,13 +152,13 @@ SPC_MICRO_PATCHES=cli_checks,macos_iconv
|
|||||||
; buildconf command
|
; buildconf command
|
||||||
SPC_CMD_PREFIX_PHP_BUILDCONF="./buildconf --force"
|
SPC_CMD_PREFIX_PHP_BUILDCONF="./buildconf --force"
|
||||||
; configure command
|
; configure command
|
||||||
SPC_CMD_PREFIX_PHP_CONFIGURE="./configure --prefix= --with-valgrind=no --enable-shared=no --enable-static=yes --disable-all --disable-phpdbg"
|
SPC_CMD_PREFIX_PHP_CONFIGURE="./configure --prefix= --with-valgrind=no --disable-shared --enable-static --disable-all --disable-phpdbg --enable-rtld-now --enable-re2c-cgoto --disable-rpath --with-pic"
|
||||||
|
|
||||||
; *** default build vars for building php ***
|
; *** default build vars for building php ***
|
||||||
; embed type for php, static (libphp.a) or shared (libphp.dylib)
|
; embed type for php, static (libphp.a) or shared (libphp.dylib)
|
||||||
SPC_CMD_VAR_PHP_EMBED_TYPE="static"
|
SPC_CMD_VAR_PHP_EMBED_TYPE="static"
|
||||||
; EXTRA_CFLAGS for `configure` and `make` php
|
; EXTRA_CFLAGS for `configure` and `make` php
|
||||||
SPC_CMD_VAR_PHP_MAKE_EXTRA_CFLAGS="-g -fstack-protector-strong -fpic -fpie -Werror=unknown-warning-option ${SPC_DEFAULT_C_FLAGS}"
|
SPC_CMD_VAR_PHP_MAKE_EXTRA_CFLAGS="-g -fstack-protector-strong -fpic -fpie -fvisibility=hidden -fvisibility-inlines-hidden -Werror=unknown-warning-option ${SPC_DEFAULT_C_FLAGS}"
|
||||||
; EXTRA_CXXFLAGS for `configure` and `make` php
|
; EXTRA_CXXFLAGS for `configure` and `make` php
|
||||||
SPC_CMD_VAR_PHP_MAKE_EXTRA_CXXFLAGS="-g -fstack-protector-strong -fno-ident -fpie -Werror=unknown-warning-option ${SPC_DEFAULT_CXX_FLAGS}"
|
SPC_CMD_VAR_PHP_MAKE_EXTRA_CXXFLAGS="-g -fstack-protector-strong -fno-ident -fpie -Werror=unknown-warning-option ${SPC_DEFAULT_CXX_FLAGS}"
|
||||||
; EXTRA_LDFLAGS for `make` php, can use -release to set a soname for libphp.dylib
|
; EXTRA_LDFLAGS for `make` php, can use -release to set a soname for libphp.dylib
|
||||||
|
|||||||
@@ -13,4 +13,4 @@ ext-gearman:
|
|||||||
os:
|
os:
|
||||||
- Linux
|
- Linux
|
||||||
- Darwin
|
- Darwin
|
||||||
arg-type: custom
|
arg-type: '--with-gearman@shared_path_suffix@'
|
||||||
|
|||||||
@@ -1,20 +0,0 @@
|
|||||||
<?php
|
|
||||||
|
|
||||||
declare(strict_types=1);
|
|
||||||
|
|
||||||
namespace Package\Extension;
|
|
||||||
|
|
||||||
use StaticPHP\Attribute\Package\CustomPhpConfigureArg;
|
|
||||||
use StaticPHP\Attribute\Package\Extension;
|
|
||||||
use StaticPHP\Package\PackageInstaller;
|
|
||||||
|
|
||||||
#[Extension('gearman')]
|
|
||||||
class gearman
|
|
||||||
{
|
|
||||||
#[CustomPhpConfigureArg('Linux')]
|
|
||||||
#[CustomPhpConfigureArg('Darwin')]
|
|
||||||
public function getUnixConfigureArg(bool $shared, PackageInstaller $installer): string
|
|
||||||
{
|
|
||||||
return '--with-gearman=' . ($shared ? 'shared,' : '') . $installer->getLibraryPackage('libgearman')->getBuildRootPath();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
Reference in New Issue
Block a user