@@ -11,10 +11,7 @@ __PROJECT__=$(
11
11
)
12
12
cd ${__PROJECT__}
13
13
14
- ROOT=${__PROJECT__}
15
-
16
14
SWOOLE_VERSION=v6.0.0
17
-
18
15
while [ $# -gt 0 ]; do
19
16
case " $1 " in
20
17
--swoole-version)
@@ -26,82 +23,96 @@ while [ $# -gt 0 ]; do
26
23
esac
27
24
shift $(( $# > 0 ? 1 : 0 ))
28
25
done
29
-
30
26
PHP_VERSION=$( cat ${__PROJECT__} /sapi/PHP-VERSION.conf)
27
+
31
28
REDIS_VERSION=5.3.7
32
29
MONGODB_VERSION=1.14.2
33
30
YAML_VERSION=2.2.2
34
31
IMAGICK_VERSION=3.7.0
35
32
36
- if [ ! -d pool/ext ]; then
37
- mkdir -p pool/ext
33
+ mkdir -p pool/ext
34
+ mkdir -p pool/lib
35
+ mkdir -p pool/php-tar
36
+
37
+ WORK_TEMP_DIR=${__PROJECT__} /var/cygwin-build/
38
+ EXT_TEMP_CACHE_DIR=${WORK_TEMP_DIR} /pool/ext/
39
+ mkdir -p ${WORK_TEMP_DIR}
40
+ mkdir -p ${EXT_TEMP_CACHE_DIR}
41
+ test -d ${WORK_TEMP_DIR} /ext/ && rm -rf ${WORK_TEMP_DIR} /ext/
42
+ mkdir -p ${WORK_TEMP_DIR} /ext/
43
+
44
+ cd ${__PROJECT__} /pool/ext
45
+ if [ ! -f redis-${REDIS_VERSION} .tgz ]; then
46
+ curl -fSLo ${EXT_TEMP_CACHE_DIR} /redis-${REDIS_VERSION} .tgz https://pecl.php.net/get/redis-${REDIS_VERSION} .tgz
47
+ mv ${EXT_TEMP_CACHE_DIR} /redis-${REDIS_VERSION} .tgz ${__PROJECT__} /pool/ext
38
48
fi
49
+ mkdir -p ${WORK_TEMP_DIR} /ext/redis/
50
+ tar --strip-components=1 -C ${WORK_TEMP_DIR} /ext/redis/ -xf redis-${REDIS_VERSION} .tgz
39
51
40
- cd pool/ext
52
+ : << EOF
53
+ # mongodb 扩展 不支持 cygwin 环境下构建
54
+ # 详见: https://github.com/mongodb/mongo-php-driver/issues/1381
41
55
42
- if [ ! -d $ROOT /ext/redis ]; then
43
- if [ ! -f redis-${REDIS_VERSION} .tgz ]; then
44
- curl -fSLo redis-${REDIS_VERSION} .tgz https://pecl.php.net/get/redis-${REDIS_VERSION} .tgz
45
- fi
46
- tar xvf redis-${REDIS_VERSION} .tgz
47
- mv redis-${REDIS_VERSION} $ROOT /ext/redis
56
+ cd ${__PROJECT__} /pool/ext
57
+ if [ ! -f mongodb-${MONGODB_VERSION} .tgz ]; then
58
+ curl -fSLo ${EXT_TEMP_CACHE_DIR} /mongodb-${MONGODB_VERSION} .tgz https://pecl.php.net/get/mongodb-${MONGODB_VERSION} .tgz
59
+ mv ${EXT_TEMP_CACHE_DIR} /redis-${REDIS_VERSION} .tgz ${__PROJECT__} /pool/ext
48
60
fi
61
+ mkdir -p ${WORK_TEMP_DIR} /ext/mongodb/
62
+ tar --strip-components=1 -C ${WORK_TEMP_DIR} /ext/mongodb/ -xf redis-${REDIS_VERSION} .tgz
49
63
50
- if [ ! -d $ROOT /ext/mongodb ]; then
51
- if [ ! -f mongodb-${MONGODB_VERSION} .tgz ]; then
52
- curl -fSLo mongodb-${MONGODB_VERSION} .tgz https://pecl.php.net/get/mongodb-${MONGODB_VERSION} .tgz
53
- fi
54
- tar xvf mongodb-${MONGODB_VERSION} .tgz
55
- mv mongodb-${MONGODB_VERSION} $ROOT /ext/mongodb
56
- fi
64
+ EOF
57
65
58
- if [ ! -d $ROOT /ext/yaml ]; then
59
- if [ ! -f yaml-${YAML_VERSION} .tgz ]; then
60
- curl -fSLo yaml-${YAML_VERSION} .tgz https://pecl.php.net/get/yaml-${YAML_VERSION} .tgz
61
- fi
62
- tar xvf yaml-${YAML_VERSION} .tgz
63
- mv yaml-${YAML_VERSION} $ROOT /ext/yaml
66
+ cd ${__PROJECT__} /pool/ext
67
+ if [ ! -f yaml-${YAML_VERSION} .tgz ]; then
68
+ curl -fSLo ${EXT_TEMP_CACHE_DIR} /yaml-${YAML_VERSION} .tgz https://pecl.php.net/get/yaml-${YAML_VERSION} .tgz
69
+ mv ${EXT_TEMP_CACHE_DIR} /yaml-${YAML_VERSION} .tgz ${__PROJECT__} /pool/ext
64
70
fi
71
+ mkdir -p ${WORK_TEMP_DIR} /ext/yaml/
72
+ tar --strip-components=1 -C ${WORK_TEMP_DIR} /ext/yaml/ -xf yaml-${YAML_VERSION} .tgz
65
73
66
- if [ ! -d $ROOT /ext/imagick ]; then
67
- if [ ! -f imagick-${IMAGICK_VERSION} .tgz ]; then
68
- curl -fSLo imagick-${IMAGICK_VERSION} .tgz https://pecl.php.net/get/imagick-${IMAGICK_VERSION} .tgz
69
- fi
70
- tar xvf imagick-${IMAGICK_VERSION} .tgz
71
- mv imagick-${IMAGICK_VERSION} $ROOT /ext/imagick
74
+ cd ${__PROJECT__} /pool/ext
75
+ if [ ! -f imagick-${IMAGICK_VERSION} .tgz ]; then
76
+ curl -fSLo ${EXT_TEMP_CACHE_DIR} /imagick-${IMAGICK_VERSION} .tgz https://pecl.php.net/get/imagick-${IMAGICK_VERSION} .tgz
77
+ mv ${EXT_TEMP_CACHE_DIR} /imagick-${IMAGICK_VERSION} .tgz ${__PROJECT__} /pool/ext
72
78
fi
79
+ mkdir -p ${WORK_TEMP_DIR} /ext/imagick/
80
+ tar --strip-components=1 -C ${WORK_TEMP_DIR} /ext/imagick/ -xf imagick-${IMAGICK_VERSION} .tgz
73
81
82
+ cd ${__PROJECT__} /pool/ext
74
83
if [ ! -f swoole-${SWOOLE_VERSION} .tgz ]; then
75
- test -d /tmp/swoole && rm -rf /tmp/swoole
76
- git clone -b ${SWOOLE_VERSION} https://github.com/swoole/swoole-src.git /tmp/swoole
77
- cd /tmp/swoole
78
- tar -czvf $ROOT /pool/ext/swoole-${SWOOLE_VERSION} .tgz .
79
- cd $ROOT /pool/ext/
84
+ test -d ${WORK_TEMP_DIR} /swoole && rm -rf ${WORK_TEMP_DIR} /swoole
85
+ git clone -b ${SWOOLE_VERSION} https://github.com/swoole/swoole-src.git ${WORK_TEMP_DIR} /swoole
86
+ cd ${WORK_TEMP_DIR} /swoole
87
+ tar -czvf ${EXT_TEMP_CACHE_DIR} /swoole-${SWOOLE_VERSION} .tgz .
88
+ mv ${EXT_TEMP_CACHE_DIR} /swoole-${SWOOLE_VERSION} .tgz ${__PROJECT__} /pool/ext
89
+ cd ${__PROJECT__} /pool/ext
80
90
fi
81
- mkdir -p swoole-${SWOOLE_VERSION}
82
- tar --strip-components=1 -C swoole-${SWOOLE_VERSION} -xf swoole-${SWOOLE_VERSION} .tgz
83
- test -d $ROOT /ext/swoole && rm -rf $ROOT /ext/swoole
84
- mv swoole-${SWOOLE_VERSION} $ROOT /ext/swoole
91
+ mkdir -p ${WORK_TEMP_DIR} /ext/swoole/
92
+ tar --strip-components=1 -C ${WORK_TEMP_DIR} /ext/swoole/ -xf swoole-${SWOOLE_VERSION} .tgz
85
93
86
- cd $ROOT
87
- # downgload php-src source code
94
+ cd ${__PROJECT__}
95
+ # clean extension folder
96
+ NO_BUILT_IN_EXTENSIONS=$( ls ${WORK_TEMP_DIR} /ext/)
97
+ for EXT_NAME in $NO_BUILT_IN_EXTENSIONS ; do
98
+ echo " EXTENSION_NAME: $EXT_NAME "
99
+ test -d ${__PROJECT__} /ext/${EXT_NAME} && rm -rf ${__PROJECT__} /ext/${EXT_NAME}
100
+ done
88
101
102
+ # download php-src source code
103
+ cd ${__PROJECT__} /pool/php-tar
89
104
if [ ! -f php-${PHP_VERSION} .tar.gz ]; then
90
105
curl -fSLo php-${PHP_VERSION} .tar.gz https://github.com/php/php-src/archive/refs/tags/php-${PHP_VERSION} .tar.gz
91
106
fi
92
- test -d php-src && rm -rf php-src
93
- mkdir -p php-src
94
- tar --strip-components=1 -C php-src -xf php-${PHP_VERSION} .tar.gz
107
+ test -d ${WORK_TEMP_DIR} / php-src && rm -rf ${WORK_TEMP_DIR} / php-src
108
+ mkdir -p ${WORK_TEMP_DIR} / php-src
109
+ tar --strip-components=1 -C ${WORK_TEMP_DIR} / php-src -xf php-${PHP_VERSION} .tar.gz
95
110
96
- cd $ROOT
111
+ cd ${__PROJECT__}
112
+ # copy extension
113
+ # cp -rf var/cygwin-build/ext/* ext/
114
+ cp -rf ${WORK_TEMP_DIR} /ext/* ${__PROJECT__} /ext/
97
115
98
- if [ ! -d $ROOT /ext/pgsql ]; then
99
- mv $ROOT /php-src/ext/pgsql $ROOT /ext/pgsql
100
- fi
116
+ # extension hook
101
117
102
- cd $ROOT
103
- # cp -f $ROOT/php-src/Zend/zend_vm_gen.php $ROOT/Zend/
104
- ls -lha $ROOT /Zend/zend_vm_gen.php
105
- ls -lh $ROOT
106
- ls -lh $ROOT /ext/
107
- cd $ROOT
118
+ cd ${__PROJECT__}
0 commit comments