Merge branch 'refs/heads/main' into php-85

# Conflicts:
#	src/globals/test-extensions.php
This commit is contained in:
crazywhalecc
2025-07-28 10:12:13 +08:00
69 changed files with 1183 additions and 729 deletions

View File

@@ -34,7 +34,6 @@
; SPC_LINUX_DEFAULT_CXX: the default c++ compiler for linux. (For alpine linux: `g++`, default: `$GNU_ARCH-linux-musl-g++`)
; SPC_LINUX_DEFAULT_AR: the default archiver for linux. (For alpine linux: `ar`, default: `$GNU_ARCH-linux-musl-ar`)
[global]
; Build concurrency for make -jN, default is CPU_COUNT, this value are used in every libs.
SPC_CONCURRENCY=${CPU_COUNT}
@@ -63,6 +62,8 @@ PHP_SDK_PATH="${WORKING_DIR}\php-sdk-binary-tools"
UPX_EXEC="${PKG_ROOT_PATH}\bin\upx.exe"
; phpmicro patches, for more info, see: https://github.com/easysoft/phpmicro/tree/master/patches
SPC_MICRO_PATCHES=static_extensions_win32,cli_checks,disable_huge_page,vcruntime140,win32,zend_stream,cli_static
; Windows static linking system libs
SPC_EXTRA_LIBS=""
[linux]
; Linux can use different build toolchain, but the toolchain can not be changed in this file:
@@ -87,7 +88,7 @@ LD=${SPC_LINUX_DEFAULT_LD}
SPC_DEFAULT_C_FLAGS="-fPIC -Os"
SPC_DEFAULT_CXX_FLAGS="-fPIC -Os"
; extra libs for building php executable, used in `make` command for building php (this value may changed by extension build process, space separated)
SPC_EXTRA_LIBS=
SPC_EXTRA_LIBS=""
; upx executable path
UPX_EXEC=${PKG_ROOT_PATH}/bin/upx
; phpmicro patches, for more info, see: https://github.com/easysoft/phpmicro/tree/master/patches
@@ -99,11 +100,11 @@ SPC_CMD_PREFIX_PHP_BUILDCONF="./buildconf --force"
; configure command
SPC_CMD_PREFIX_PHP_CONFIGURE="./configure --prefix= --with-valgrind=no --disable-shared --enable-static --disable-all --disable-cgi --disable-phpdbg --with-pic"
; make command
SPC_CMD_PREFIX_PHP_MAKE="make -j${CPU_COUNT}"
; embed type for php, static (libphp.a) or shared (libphp.so)
SPC_CMD_VAR_PHP_EMBED_TYPE="static"
SPC_CMD_PREFIX_PHP_MAKE="make -j${SPC_CONCURRENCY}"
; *** default build vars for building php ***
; embed type for php, static (libphp.a) or shared (libphp.so)
SPC_CMD_VAR_PHP_EMBED_TYPE="static"
; CFLAGS for configuring php
SPC_CMD_VAR_PHP_CONFIGURE_CFLAGS="${SPC_DEFAULT_C_FLAGS} -fPIE"
; CPPFLAGS for configuring php
@@ -113,13 +114,9 @@ SPC_CMD_VAR_PHP_CONFIGURE_LDFLAGS="-L${BUILD_LIB_PATH}"
; LIBS for configuring php
SPC_CMD_VAR_PHP_CONFIGURE_LIBS="-ldl -lpthread -lm"
; EXTRA_CFLAGS for `make` php
SPC_CMD_VAR_PHP_MAKE_EXTRA_CFLAGS="-g -fstack-protector-strong -fno-ident -fPIE ${SPC_DEFAULT_C_FLAGS}"
SPC_CMD_VAR_PHP_MAKE_EXTRA_CFLAGS="${SPC_DEFAULT_C_FLAGS} -g -fstack-protector-strong -fno-ident -fPIE"
; EXTRA_LIBS for `make` php
SPC_CMD_VAR_PHP_MAKE_EXTRA_LIBS="-ldl -lpthread -lm"
; EXTRA_LDFLAGS for `make` php, can use -release to set a soname for libphp.so
SPC_CMD_VAR_PHP_MAKE_EXTRA_LDFLAGS=""
; EXTRA_LDFLAGS_PROGRAM for `make` php
SPC_CMD_VAR_PHP_MAKE_EXTRA_LDFLAGS_PROGRAM="-all-static -Wl,-O1 -pie"
[macos]
; build target: macho or macho (possibly we could support macho-universal in the future)
@@ -132,7 +129,7 @@ CXX=clang++
SPC_DEFAULT_C_FLAGS="--target=${MAC_ARCH}-apple-darwin -Os"
SPC_DEFAULT_CXX_FLAGS="--target=${MAC_ARCH}-apple-darwin -Os"
; extra libs for building php executable, used in `make` command for building php (this value may changed by extension build process, space separated)
SPC_EXTRA_LIBS=
SPC_EXTRA_LIBS=""
; phpmicro patches, for more info, see: https://github.com/easysoft/phpmicro/tree/master/patches
SPC_MICRO_PATCHES=cli_checks,macos_iconv
@@ -142,9 +139,11 @@ SPC_CMD_PREFIX_PHP_BUILDCONF="./buildconf --force"
; configure command
SPC_CMD_PREFIX_PHP_CONFIGURE="./configure --prefix= --with-valgrind=no --enable-shared=no --enable-static=yes --disable-all --disable-cgi --disable-phpdbg"
; make command
SPC_CMD_PREFIX_PHP_MAKE="make -j${CPU_COUNT}"
SPC_CMD_PREFIX_PHP_MAKE="make -j${SPC_CONCURRENCY}"
; *** default build vars for building php ***
; embed type for php, static (libphp.a) or shared (libphp.dylib)
SPC_CMD_VAR_PHP_EMBED_TYPE="static"
; CFLAGS for configuring php
SPC_CMD_VAR_PHP_CONFIGURE_CFLAGS="${SPC_DEFAULT_C_FLAGS} -Werror=unknown-warning-option"
; CPPFLAGS for configuring php
@@ -152,11 +151,9 @@ SPC_CMD_VAR_PHP_CONFIGURE_CPPFLAGS="-I${BUILD_INCLUDE_PATH}"
; LDFLAGS for configuring php
SPC_CMD_VAR_PHP_CONFIGURE_LDFLAGS="-L${BUILD_LIB_PATH}"
; EXTRA_CFLAGS for `make` php
SPC_CMD_VAR_PHP_MAKE_EXTRA_CFLAGS="-g -fstack-protector-strong -fpic -fpie ${SPC_DEFAULT_C_FLAGS}"
SPC_CMD_VAR_PHP_MAKE_EXTRA_CFLAGS="${SPC_DEFAULT_C_FLAGS} -g -fstack-protector-strong -fpic -fpie"
; EXTRA_LIBS for `make` php
SPC_CMD_VAR_PHP_MAKE_EXTRA_LIBS="-lresolv"
; embed type for php, static (libphp.a) or shared (libphp.dylib)
SPC_CMD_VAR_PHP_EMBED_TYPE="static"
[freebsd]
; compiler environments

View File

@@ -34,7 +34,7 @@
},
"bz2": {
"type": "builtin",
"arg-type-unix": "with-prefix",
"arg-type-unix": "with-path",
"arg-type-windows": "with",
"lib-depends": [
"bzip2"
@@ -185,7 +185,7 @@
"BSD": "wip"
},
"type": "builtin",
"arg-type": "with-prefix",
"arg-type": "with-path",
"lib-depends": [
"gettext"
]
@@ -211,7 +211,7 @@
"BSD": "wip"
},
"type": "builtin",
"arg-type": "with-prefix",
"arg-type": "with-path",
"lib-depends": [
"gmp"
]
@@ -233,7 +233,7 @@
},
"type": "external",
"source": "grpc",
"arg-type-unix": "custom",
"arg-type-unix": "enable-path",
"cpp-extension": true,
"lib-depends": [
"grpc"
@@ -244,7 +244,7 @@
"BSD": "wip"
},
"type": "builtin",
"arg-type": "with-prefix",
"arg-type": "with-path",
"arg-type-windows": "with",
"lib-depends-unix": [
"libiconv"
@@ -320,7 +320,7 @@
"BSD": "wip"
},
"type": "builtin",
"arg-type": "with-prefix",
"arg-type": "with-path",
"lib-depends": [
"ldap"
],
@@ -529,7 +529,7 @@
},
"notes": true,
"type": "builtin",
"arg-type": "with-prefix",
"arg-type": "with-path",
"lib-depends": [
"libargon2"
]
@@ -571,7 +571,7 @@
"BSD": "wip"
},
"type": "builtin",
"arg-type": "with-prefix",
"arg-type": "with-path",
"arg-type-windows": "custom",
"ext-depends": [
"pdo",
@@ -674,7 +674,7 @@
"BSD": "wip"
},
"type": "builtin",
"arg-type": "with-prefix",
"arg-type": "with-path",
"lib-depends": [
"readline"
],
@@ -785,7 +785,7 @@
"BSD": "wip"
},
"type": "builtin",
"arg-type": "with-prefix",
"arg-type": "with-path",
"arg-type-windows": "with",
"lib-depends": [
"sqlite"
@@ -811,7 +811,7 @@
},
"type": "external",
"source": "ext-ssh2",
"arg-type": "with-prefix",
"arg-type": "with-path",
"arg-type-windows": "with",
"lib-depends": [
"libssh2"
@@ -937,7 +937,7 @@
"BSD": "wip"
},
"type": "builtin",
"arg-type": "with-prefix",
"arg-type": "with-path",
"lib-depends": [
"tidy"
]
@@ -953,7 +953,7 @@
},
"type": "external",
"source": "ext-uuid",
"arg-type": "with-prefix",
"arg-type": "with-path",
"lib-depends": [
"libuuid"
]
@@ -965,7 +965,7 @@
},
"type": "external",
"source": "ext-uv",
"arg-type": "with-prefix",
"arg-type": "with-path",
"lib-depends": [
"libuv"
],
@@ -1067,7 +1067,7 @@
"BSD": "wip"
},
"type": "builtin",
"arg-type": "with-prefix",
"arg-type": "with-path",
"lib-depends": [
"libxslt"
],
@@ -1104,7 +1104,7 @@
},
"type": "external",
"source": "yaml",
"arg-type-unix": "with-prefix",
"arg-type-unix": "with-path",
"arg-type-windows": "with",
"lib-depends": [
"libyaml"
@@ -1115,7 +1115,7 @@
"BSD": "wip"
},
"type": "builtin",
"arg-type": "with-prefix",
"arg-type": "with-path",
"arg-type-windows": "enable",
"lib-depends-unix": [
"libzip"

View File

@@ -35,10 +35,10 @@
},
"brotli": {
"source": "brotli",
"static-libs-unix": [
"libbrotlidec.a",
"libbrotlienc.a",
"libbrotlicommon.a"
"pkg-configs": [
"libbrotlicommon",
"libbrotlidec",
"libbrotlienc"
],
"static-libs-windows": [
"brotlicommon.lib",
@@ -89,7 +89,8 @@
"nghttp3",
"ngtcp2",
"zstd",
"libcares"
"libcares",
"ldap"
],
"lib-suggests-windows": [
"brotli",
@@ -185,14 +186,15 @@
},
"grpc": {
"source": "grpc",
"static-libs-unix": [
"libgrpc.a",
"libcares.a"
"pkg-configs": [
"grpc"
],
"lib-depends": [
"zlib",
"openssl"
"openssl",
"libcares"
],
"provide-pre-built": true,
"frameworks": [
"CoreFoundation"
]
@@ -200,11 +202,10 @@
"icu": {
"source": "icu",
"cpp-library": true,
"static-libs-unix": [
"libicui18n.a",
"libicuio.a",
"libicuuc.a",
"libicudata.a"
"pkg-configs": [
"icu-uc",
"icu-i18n",
"icu-io"
]
},
"icu-static-win": {
@@ -221,15 +222,16 @@
},
"imagemagick": {
"source": "imagemagick",
"static-libs-unix": [
"libMagick++-7.Q16HDRI.a",
"libMagickWand-7.Q16HDRI.a",
"libMagickCore-7.Q16HDRI.a"
"pkg-configs": [
"Magick++-7.Q16HDRI",
"MagickCore-7.Q16HDRI",
"MagickWand-7.Q16HDRI"
],
"lib-depends": [
"zlib",
"libpng",
"libjpeg",
"libjxl",
"libpng",
"libwebp",
"freetype",
"libtiff",
@@ -252,11 +254,23 @@
"openssl"
]
},
"jbig": {
"source": "jbig",
"static-libs-unix": [
"libjbig.a",
"libjbig85.a"
],
"headers": [
"jbig.h",
"jbig85.h",
"jbig_ar.h"
]
},
"ldap": {
"source": "ldap",
"static-libs-unix": [
"libldap.a",
"liblber.a"
"pkg-configs": [
"ldap",
"lber"
],
"lib-depends": [
"openssl",
@@ -265,6 +279,13 @@
"libsodium"
]
},
"lerc": {
"source": "lerc",
"static-libs-unix": [
"libLerc.a"
],
"cpp-library": true
},
"libacl": {
"source": "libacl",
"static-libs-unix": [
@@ -400,6 +421,21 @@
"zlib"
]
},
"libjxl": {
"source": "libjxl",
"pkg-configs": [
"libjxl",
"libjxl_cms",
"libjxl_threads",
"libhwy"
],
"lib-depends": [
"brotli",
"libjpeg",
"libpng",
"libwebp"
]
},
"liblz4": {
"source": "liblz4",
"static-libs-unix": [
@@ -485,9 +521,6 @@
],
"lib-depends": [
"openssl"
],
"lib-suggests": [
"zlib"
]
},
"libtiff": {
@@ -498,6 +531,13 @@
"lib-depends": [
"zlib",
"libjpeg"
],
"lib-suggests-unix": [
"lerc",
"libwebp",
"jbig",
"xz",
"zstd"
]
},
"libuuid": {
@@ -517,12 +557,12 @@
},
"libwebp": {
"source": "libwebp",
"static-libs-unix": [
"libwebp.a",
"libwebpdecoder.a",
"libwebpdemux.a",
"libwebpmux.a",
"libsharpyuv.a"
"pkg-configs": [
"libwebp",
"libwebpdecoder",
"libwebpdemux",
"libwebpmux",
"libsharpyuv"
],
"static-libs-windows": [
"libwebp.lib",
@@ -698,8 +738,8 @@
"openssl": {
"source": "openssl",
"static-libs-unix": [
"libssl.a",
"libcrypto.a"
"libcrypto.a",
"libssl.a"
],
"static-libs-windows": [
"libssl.lib",
@@ -714,10 +754,8 @@
},
"postgresql": {
"source": "postgresql",
"static-libs-unix": [
"libpq.a",
"libpgport.a",
"libpgcommon.a"
"pkg-configs": [
"libpq"
],
"lib-depends": [
"libiconv",
@@ -813,6 +851,15 @@
"libiconv"
]
},
"watcher": {
"source": "watcher",
"static-libs-unix": [
"libwatcher-c.a"
],
"headers": [
"wtr/watcher-c.h"
]
},
"xz": {
"source": "xz",
"static-libs-unix": [
@@ -866,14 +913,5 @@
"zstd.h",
"zstd_errors.h"
]
},
"watcher": {
"source": "watcher",
"static-libs-unix": [
"libwatcher-c.a"
],
"headers": [
"wtr/watcher-c.h"
]
}
}

View File

@@ -4,7 +4,8 @@
"license": {
"type": "file",
"path": "LICENSE"
}
},
"alt": false
},
"amqp": {
"type": "url",
@@ -387,6 +388,19 @@
"path": "LICENSE"
}
},
"jbig": {
"type": "url",
"url": "https://dl.static-php.dev/static-php-cli/deps/jbig/jbigkit-2.1.tar.gz",
"provide-pre-built": true,
"alt": {
"type": "url",
"url": "https://www.cl.cam.ac.uk/~mgk25/jbigkit/download/jbigkit-2.1.tar.gz"
},
"license": {
"type": "file",
"path": "COPYING"
}
},
"ldap": {
"type": "filelist",
"url": "https://www.openldap.org/software/download/OpenLDAP/openldap-release/",
@@ -396,6 +410,16 @@
"path": "LICENSE"
}
},
"lerc": {
"type": "ghtar",
"repo": "Esri/lerc",
"prefer-stable": true,
"provide-pre-built": true,
"license": {
"type": "file",
"path": "LICENSE"
}
},
"libacl": {
"alt": {
"type": "url",
@@ -533,6 +557,21 @@
"path": "LICENSE.md"
}
},
"libjxl": {
"type": "git",
"url": "https://github.com/libjxl/libjxl",
"rev": "main",
"submodules": [
"third_party/highway",
"third_party/libjpeg-turbo",
"third_party/sjpeg",
"third_party/skcms"
],
"license": {
"type": "file",
"path": "LICENSE"
}
},
"liblz4": {
"type": "ghrel",
"repo": "lz4/lz4",
@@ -596,6 +635,7 @@
"repo": "libssh2/libssh2",
"match": "libssh2.+\\.tar\\.gz",
"prefer-stable": true,
"provide-pre-built": true,
"license": {
"type": "file",
"path": "COPYING"
@@ -605,7 +645,6 @@
"type": "filelist",
"url": "https://download.osgeo.org/libtiff/",
"regex": "/href=\"(?<file>tiff-(?<version>[^\"]+)\\.tar\\.xz)\"/",
"provide-pre-built": true,
"license": {
"type": "file",
"path": "LICENSE.md"
@@ -998,6 +1037,15 @@
"path": "COPYING"
}
},
"watcher": {
"type": "ghtar",
"repo": "e-dant/watcher",
"prefer-stable": true,
"license": {
"type": "file",
"path": "license"
}
},
"xdebug": {
"type": "url",
"url": "https://pecl.php.net/get/xdebug",
@@ -1078,14 +1126,5 @@
"type": "file",
"path": "LICENSE"
}
},
"watcher": {
"type": "ghtar",
"repo": "e-dant/watcher",
"prefer-stable": true,
"license": {
"type": "file",
"path": "license"
}
}
}