Skip to content

Commit 3f35eb4

Browse files
authored
swoole support zstd (swoole#856)
* swoole support zstd * update swoole source code * swoole add depend libzstd * add ZSTD_CFLAGS ZSTD_LIBS
1 parent a21b019 commit 3f35eb4

File tree

7 files changed

+65
-57
lines changed

7 files changed

+65
-57
lines changed

docs/Cygwin.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -116,6 +116,7 @@ libpq-devel (如果编译pgsql扩展)
116116
libpq5 (如果编译pgsql扩展)
117117
libicu-devel
118118
icu
119+
libzstd-devel
119120
120121
```
121122

docs/options.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -162,3 +162,7 @@ show-tarball-hash
162162
with-libavif
163163
----
164164
GD库支持 AVIF图片格式
165+
166+
with-iouring
167+
----
168+
swoole 启用支持 iouring 特性

sapi/quickstart/windows/install-cygwin.bat

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,9 @@
33

44
setup-x86_64.exe --no-desktop --no-shortcuts --no-startmenu --quiet-mode --disable-buggy-antivirus --site https://mirrors.ustc.edu.cn/cygwin/ --packages make,git,curl,wget,tar,libtool,bison,gcc-g++,autoconf,automake,openssl,libpcre2-devel,libssl-devel,libcurl-devel,libxml2-devel,libxslt-devel,libgmp-devel,ImageMagick,libpng-devel,libjpeg-devel,libfreetype-devel,libwebp-devel,libsqlite3-devel,zlib-devel,libbz2-devel,liblz4-devel,liblzma-devel,libzip-devel,libicu-devel,libonig-devel,libcares-devel,libsodium-devel,libyaml-devel,libMagick-devel,libzstd-devel,libbrotli-devel,libreadline-devel,libintl-devel,libpq-devel,libssh2-devel,libidn2-devel,gettext-devel,coreutils,openssl-devel
55

6-
setup-x86_64.exe --no-desktop --no-shortcuts --no-startmenu --quiet-mode --disable-buggy-antivirus --site https://mirrors.ustc.edu.cn/cygwin/ --packages zip unzip
6+
setup-x86_64.exe --quiet-mode --disable-buggy-antivirus --site https://mirrors.ustc.edu.cn/cygwin/ --packages zip unzip
77

8-
setup-x86_64.exe --no-desktop --no-shortcuts --no-startmenu --quiet-mode --disable-buggy-antivirus --site https://mirrors.ustc.edu.cn/cygwin/ --packages libpq5 libpq-devel
8+
setup-x86_64.exe --quiet-mode --disable-buggy-antivirus --site https://mirrors.ustc.edu.cn/cygwin/ --packages libpq5 libpq-devel
9+
10+
setup-x86_64.exe --quiet-mode --disable-buggy-antivirus --site https://mirrors.ustc.edu.cn/cygwin/ --packages libzstd-devel
911

sapi/scripts/cygwin/cygwin-config.sh

Lines changed: 45 additions & 45 deletions
Original file line numberDiff line numberDiff line change
@@ -11,51 +11,51 @@ __PROJECT__=$(
1111
)
1212
cd ${__PROJECT__}
1313

14-
15-
1614
./buildconf --force
1715
test -f Makefile && make clean
1816
./configure --prefix=/usr --disable-all \
19-
--enable-zts \
20-
--disable-fiber-asm \
21-
--without-pcre-jit \
22-
--with-openssl --enable-openssl \
23-
--with-curl \
24-
--with-iconv \
25-
--enable-intl \
26-
--with-bz2 \
27-
--enable-bcmath \
28-
--enable-filter \
29-
--enable-session \
30-
--enable-tokenizer \
31-
--enable-mbstring \
32-
--enable-ctype \
33-
--with-zlib \
34-
--with-zip \
35-
--enable-posix \
36-
--enable-sockets \
37-
--enable-pdo \
38-
--with-sqlite3 \
39-
--enable-phar \
40-
--enable-pcntl \
41-
--enable-mysqlnd \
42-
--with-mysqli \
43-
--enable-fileinfo \
44-
--with-pdo_mysql \
45-
--enable-soap \
46-
--with-xsl \
47-
--with-gmp \
48-
--enable-exif \
49-
--with-sodium \
50-
--enable-xml --enable-simplexml --enable-xmlreader --enable-xmlwriter --enable-dom --with-libxml \
51-
--enable-gd --with-jpeg --with-freetype \
52-
--enable-swoole --enable-sockets --enable-mysqlnd --enable-swoole-curl --enable-cares \
53-
--enable-swoole-pgsql \
54-
--enable-swoole-sqlite \
55-
--enable-swoole-thread \
56-
--enable-redis \
57-
--with-imagick \
58-
--with-yaml \
59-
--with-readline \
60-
--enable-opcache \
61-
--disable-opcache-jit
17+
--enable-zts \
18+
--disable-fiber-asm \
19+
--without-pcre-jit \
20+
--with-openssl --enable-openssl \
21+
--with-curl \
22+
--with-iconv \
23+
--enable-intl \
24+
--with-bz2 \
25+
--enable-bcmath \
26+
--enable-filter \
27+
--enable-session \
28+
--enable-tokenizer \
29+
--enable-mbstring \
30+
--enable-ctype \
31+
--with-zlib \
32+
--with-zip \
33+
--enable-posix \
34+
--enable-sockets \
35+
--enable-pdo \
36+
--with-sqlite3 \
37+
--enable-phar \
38+
--enable-pcntl \
39+
--enable-mysqlnd \
40+
--with-mysqli \
41+
--enable-fileinfo \
42+
--with-pdo_mysql \
43+
--enable-soap \
44+
--with-xsl \
45+
--with-gmp \
46+
--enable-exif \
47+
--with-sodium \
48+
--enable-xml --enable-simplexml --enable-xmlreader --enable-xmlwriter --enable-dom --with-libxml \
49+
--enable-gd --with-jpeg --with-freetype \
50+
--enable-swoole --enable-sockets --enable-mysqlnd --enable-swoole-curl --enable-cares \
51+
--enable-swoole-pgsql \
52+
--enable-swoole-sqlite \
53+
--enable-swoole-thread \
54+
--enable-brotli \
55+
--enable-zstd \
56+
--enable-redis \
57+
--with-imagick \
58+
--with-yaml \
59+
--with-readline \
60+
--enable-opcache \
61+
--disable-opcache-jit

sapi/scripts/cygwin/install-cygwin.sh

Lines changed: 5 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,6 @@ ROOT=${__PROJECT__}
1515
# cp -f /cygdrive/c/setup-x86_64.exe /cygdrive/c/cygwin/bin/setup-x86_64.exe
1616
# cp -f /cygdrive/c/setup.exe /cygdrive/c/cygwin/bin/setup-x86_64.exe
1717

18-
1918
# download cygwin
2019
# wget https://cygwin.com/setup-x86_64.exe
2120

@@ -28,12 +27,11 @@ ROOT=${__PROJECT__}
2827
## https://mirrors.tuna.tsinghua.edu.cn/cygwin/
2928
## 多个包之间,用逗号分隔
3029

31-
3230
SITE='https://mirrors.kernel.org/sourceware/cygwin/'
3331
while [ $# -gt 0 ]; do
3432
case "$1" in
3533
--mirror)
36-
if [ "$2" = 'china' ] ; then
34+
if [ "$2" = 'china' ]; then
3735
SITE='https://mirrors.ustc.edu.cn/cygwin/'
3836
fi
3937
;;
@@ -47,8 +45,7 @@ done
4745
# setup-x86_64.exe --no-desktop --no-shortcuts --no-startmenu --quiet-mode --disable-buggy-antivirus --site http://mirrors.ustc.edu.cn/cygwin/ --packages make,git,curl,wget,tar,libtool,bison,gcc-g++,autoconf,automake,openssl,libpcre2-devel,libssl-devel,libcurl-devel,libxml2-devel,libxslt-devel,libgmp-devel,ImageMagick,libpng-devel,libjpeg-devel,libfreetype-devel,libwebp-devel,libsqlite3-devel,zlib-devel,libbz2-devel,liblz4-devel,liblzma-devel,libzip-devel,libicu-devel,libonig-devel,libcares-devel,libsodium-devel,libyaml-devel,libMagick-devel,libzstd-devel,libbrotli-devel,libreadline-devel,libintl-devel,libpq-devel,libssh2-devel,libidn2-devel,gettext-devel,coreutils,openssl-devel,zip,unzip
4846
#setup-x86_64.exe --no-desktop --no-shortcuts --no-startmenu --quiet-mode --disable-buggy-antivirus --site http://mirrors.ustc.edu.cn/cygwin/ --packages
4947

50-
51-
setup-x86_64.exe --no-desktop --no-shortcuts --no-startmenu --quiet-mode --disable-buggy-antivirus --site $SITE --packages make,git,curl,wget,tar,libtool,bison,gcc-g++,autoconf,automake,openssl,libpcre2-devel,libssl-devel,libcurl-devel,libxml2-devel,libxslt-devel,libgmp-devel,ImageMagick,libpng-devel,libjpeg-devel,libfreetype-devel,libwebp-devel,libsqlite3-devel,zlib-devel,libbz2-devel,liblz4-devel,liblzma-devel,libzip-devel,libicu-devel,libonig-devel,libcares-devel,libsodium-devel,libyaml-devel,libMagick-devel,libzstd-devel,libbrotli-devel,libreadline-devel,libintl-devel,libpq-devel,libssh2-devel,libidn2-devel,gettext-devel,coreutils,openssl-devel,zip,unzip
52-
setup-x86_64.exe --no-desktop --no-shortcuts --no-startmenu --quiet-mode --disable-buggy-antivirus --site $SITE --packages zip unzip icu libicu-devel
53-
setup-x86_64.exe --no-desktop --no-shortcuts --no-startmenu --quiet-mode --disable-buggy-antivirus --site $SITE --packages libpq5 libpq-devel
54-
48+
setup-x86_64.exe --no-desktop --no-shortcuts --no-startmenu --quiet-mode --disable-buggy-antivirus --site $SITE --packages make,git,curl,wget,tar,libtool,bison,gcc-g++,autoconf,automake,openssl,libpcre2-devel,libssl-devel,libcurl-devel,libxml2-devel,libxslt-devel,libgmp-devel,ImageMagick,libpng-devel,libjpeg-devel,libfreetype-devel,libwebp-devel,libsqlite3-devel,zlib-devel,libbz2-devel,liblz4-devel,liblzma-devel,libzip-devel,libicu-devel,libonig-devel,libcares-devel,libsodium-devel,libyaml-devel,libMagick-devel,libzstd-devel,libbrotli-devel,libreadline-devel,libintl-devel,libpq-devel,libssh2-devel,libidn2-devel,gettext-devel,coreutils,openssl-devel,zip,unzip
49+
setup-x86_64.exe --quiet-mode --disable-buggy-antivirus --site $SITE --packages zip unzip icu libicu-devel
50+
setup-x86_64.exe --quiet-mode --disable-buggy-antivirus --site $SITE --packages libpq5 libpq-devel
51+
setup-x86_64.exe --quiet-mode --disable-buggy-antivirus --site $SITE --packages libzstd-devel

sapi/src/builder/extension/swoole.php

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
use SwooleCli\Extension;
66

77
return function (Preprocessor $p) {
8-
$dependentLibraries = ['curl', 'openssl', 'cares', 'zlib', 'brotli', 'nghttp2', 'sqlite3', 'unix_odbc', 'pgsql'];
8+
$dependentLibraries = ['curl', 'openssl', 'cares', 'zlib', 'brotli', 'nghttp2', 'sqlite3', 'unix_odbc', 'pgsql', 'libzstd'];
99
$dependentExtensions = ['curl', 'openssl', 'sockets', 'mysqlnd', 'pdo'];
1010

1111
$options[] = '--enable-swoole';
@@ -19,6 +19,8 @@
1919
$options[] = '--enable-swoole-sqlite';
2020
$options[] = '--with-swoole-odbc=unixODBC,' . UNIX_ODBC_PREFIX;
2121
$options[] = '--enable-swoole-thread';
22+
$options[] = '--enable-brotli';
23+
$options[] = '--enable-zstd';
2224

2325
if ($p->isLinux() && $p->getInputOption('with-iouring')) {
2426
$options[] = '--enable-iouring';
@@ -39,4 +41,6 @@
3941
$p->withVariable('LIBS', '$LIBS ' . ($p->isMacos() ? '-lc++' : '-lstdc++'));
4042
$p->withExportVariable('CARES_CFLAGS', '$(pkg-config --cflags --static libcares)');
4143
$p->withExportVariable('CARES_LIBS', '$(pkg-config --libs --static libcares)');
44+
$p->withExportVariable('ZSTD_CFLAGS', '$(pkg-config --cflags --static libzstd)');
45+
$p->withExportVariable('ZSTD_LIBS', '$(pkg-config --libs --static libzstd)');
4246
};

0 commit comments

Comments
 (0)