1name: ./configure
2inputs:
3  configurationParameters:
4    default: ''
5    required: false
6  skipSlow:
7    default: false
8    required: false
9  asan:
10    default: false
11    required: false
12runs:
13  using: composite
14  steps:
15    - shell: bash
16      run: |
17        set -x
18        ./buildconf --force
19        ./configure \
20          --enable-option-checking=fatal \
21          --prefix=/usr \
22          --enable-phpdbg \
23          --enable-fpm \
24          --with-pdo-mysql=mysqlnd \
25          --with-mysqli=mysqlnd \
26          ${{ inputs.skipSlow == 'false' && '--with-pgsql' || '' }} \
27          ${{ inputs.skipSlow == 'false' && '--with-pdo-pgsql' || '' }} \
28          ${{ inputs.skipSlow == 'false' && '--with-pdo-sqlite' || '' }} \
29          --enable-intl \
30          --without-pear \
31          --enable-gd \
32          --with-jpeg \
33          --with-webp \
34          --with-freetype \
35          --with-xpm \
36          --enable-exif \
37          --with-zip \
38          --with-zlib \
39          --with-zlib-dir=/usr \
40          --enable-soap \
41          --enable-xmlreader \
42          --with-xsl \
43          ${{ inputs.skipSlow == 'false' && '--with-tidy' || '' }} \
44          --enable-sysvsem \
45          --enable-sysvshm \
46          --enable-shmop \
47          --enable-pcntl \
48          --with-readline \
49          --enable-mbstring \
50          --with-curl \
51          --with-gettext \
52          --enable-sockets \
53          --with-bz2 \
54          --with-openssl \
55          --with-gmp \
56          --enable-bcmath \
57          --enable-calendar \
58          --enable-ftp \
59          --with-pspell=/usr \
60          ${{ inputs.skipSlow == 'false' && '--with-enchant=/usr' || '' }} \
61          --with-kerberos \
62          --enable-sysvmsg \
63          --with-ffi \
64          --enable-zend-test \
65          ${{ inputs.skipSlow == 'false' && '--enable-dl-test=shared' || '' }} \
66          ${{ inputs.skipSlow == 'false' && '--with-ldap' || '' }} \
67          ${{ inputs.skipSlow == 'false' && '--with-ldap-sasl' || '' }} \
68          --with-password-argon2 \
69          --with-mhash \
70          --with-sodium \
71          --enable-dba \
72          --with-cdb \
73          --enable-flatfile \
74          --enable-inifile \
75          --with-tcadb \
76          --with-lmdb \
77          --with-qdbm \
78          ${{ inputs.skipSlow == 'false' && '--with-snmp' || '' }} \
79          ${{ inputs.skipSlow == 'false' && '--with-unixODBC' || '' }} \
80          ${{ inputs.skipSlow == 'false' && '--with-imap' || '' }} \
81          ${{ inputs.skipSlow == 'false' && '--with-imap-ssl' || '' }} \
82          ${{ inputs.skipSlow == 'false' && '--with-pdo-odbc=unixODBC,/usr' || '' }} \
83          $([ -d "/opt/oracle/instantclient" ] && echo '--with-pdo-oci=shared,instantclient,/opt/oracle/instantclient') \
84          $([ -d "/opt/oracle/instantclient" ] && echo '--with-oci8=shared,instantclient,/opt/oracle/instantclient') \
85          --with-config-file-path=/etc \
86          --with-config-file-scan-dir=/etc/php.d \
87          ${{ inputs.skipSlow == 'false' && '--with-pdo-firebird' || '' }} \
88          ${{ inputs.skipSlow == 'false' && '--with-pdo-dblib' || '' }} \
89          --enable-werror \
90          ${{ inputs.configurationParameters }}
91