@@ -197,8 +197,13 @@ jobs:
197
197
ls -la $(brew --prefix gettext)/include/libintl.h || echo "libintl.h not found in expected location"
198
198
ls -la $(brew --prefix gettext)/lib/libintl.* || echo "libintl not found in expected location"
199
199
200
- # Create symlinks to help PHP find readline, bzip2, and gettext
201
- echo "Creating symlinks for readline, bzip2, and gettext:"
200
+ # Verify OpenLDAP installation
201
+ echo "Checking OpenLDAP installation:"
202
+ ls -la $(brew --prefix openldap)/include/ldap.h || echo "ldap.h not found in expected location"
203
+ ls -la $(brew --prefix openldap)/lib/libldap.* || echo "libldap not found in expected location"
204
+
205
+ # Create symlinks to help PHP find readline, bzip2, gettext, and openldap
206
+ echo "Creating symlinks for readline, bzip2, gettext, and openldap:"
202
207
sudo mkdir -p /usr/local/include/readline /usr/local/lib
203
208
sudo ln -sf $(brew --prefix readline)/include/readline/readline.h /usr/local/include/readline/readline.h
204
209
sudo ln -sf $(brew --prefix readline)/include/readline/history.h /usr/local/include/readline/history.h
@@ -207,6 +212,8 @@ jobs:
207
212
sudo ln -sf $(brew --prefix bzip2)/lib/libbz2.* /usr/local/lib/
208
213
sudo ln -sf $(brew --prefix gettext)/include/libintl.h /usr/local/include/libintl.h
209
214
sudo ln -sf $(brew --prefix gettext)/lib/libintl.* /usr/local/lib/
215
+ sudo ln -sf $(brew --prefix openldap)/include/ldap.h /usr/local/include/ldap.h
216
+ sudo ln -sf $(brew --prefix openldap)/lib/libldap.* /usr/local/lib/
210
217
211
218
- name : Create build configuration
212
219
run : |
@@ -240,10 +247,10 @@ jobs:
240
247
if : matrix.platform == 'darwin'
241
248
run : |
242
249
# Set paths for Homebrew dependencies including keg-only packages
243
- echo "PKG_CONFIG_PATH=$(brew --prefix)/lib/pkgconfig:$(brew --prefix openssl@3)/lib/pkgconfig:$(brew --prefix libxml2)/lib/pkgconfig:$(brew --prefix icu4c)/lib/pkgconfig:$(brew --prefix zlib)/lib/pkgconfig:$(brew --prefix postgresql@17)/lib/pkgconfig:$(brew --prefix bzip2)/lib/pkgconfig:$(brew --prefix gettext)/lib/pkgconfig" >> $GITHUB_ENV
250
+ echo "PKG_CONFIG_PATH=$(brew --prefix)/lib/pkgconfig:$(brew --prefix openssl@3)/lib/pkgconfig:$(brew --prefix libxml2)/lib/pkgconfig:$(brew --prefix icu4c)/lib/pkgconfig:$(brew --prefix zlib)/lib/pkgconfig:$(brew --prefix postgresql@17)/lib/pkgconfig:$(brew --prefix bzip2)/lib/pkgconfig:$(brew --prefix gettext)/lib/pkgconfig:$(brew --prefix openldap)/lib/pkgconfig " >> $GITHUB_ENV
244
251
echo "PATH=$(brew --prefix bison)/bin:$(brew --prefix)/bin:$(brew --prefix postgresql@17)/bin:$(brew --prefix gettext)/bin:$PATH" >> $GITHUB_ENV
245
- echo "LDFLAGS=-L$(brew --prefix)/lib -L$(brew --prefix openssl@3)/lib -L$(brew --prefix zlib)/lib -L$(brew --prefix libiconv)/lib -L$(brew --prefix postgresql@17)/lib -L$(brew --prefix bzip2)/lib -L$(brew --prefix gettext)/lib" >> $GITHUB_ENV
246
- echo "CPPFLAGS=-I$(brew --prefix)/include -I$(brew --prefix openssl@3)/include -I$(brew --prefix zlib)/include -I$(brew --prefix libiconv)/include -I$(brew --prefix postgresql@17)/include -I$(brew --prefix bzip2)/include -I$(brew --prefix gettext)/include" >> $GITHUB_ENV
252
+ echo "LDFLAGS=-L$(brew --prefix)/lib -L$(brew --prefix openssl@3)/lib -L$(brew --prefix zlib)/lib -L$(brew --prefix libiconv)/lib -L$(brew --prefix postgresql@17)/lib -L$(brew --prefix bzip2)/lib -L$(brew --prefix gettext)/lib -L$(brew --prefix openldap)/lib " >> $GITHUB_ENV
253
+ echo "CPPFLAGS=-I$(brew --prefix)/include -I$(brew --prefix openssl@3)/include -I$(brew --prefix zlib)/include -I$(brew --prefix libiconv)/include -I$(brew --prefix postgresql@17)/include -I$(brew --prefix bzip2)/include -I$(brew --prefix gettext)/include -I$(brew --prefix openldap)/include " >> $GITHUB_ENV
247
254
echo "CXXFLAGS=-std=c++17" >> $GITHUB_ENV
248
255
249
256
# Set readline-specific paths
@@ -311,6 +318,10 @@ jobs:
311
318
export GETTEXT_CFLAGS="-I$(brew --prefix gettext)/include"
312
319
export GETTEXT_LIBS="-L$(brew --prefix gettext)/lib -lintl"
313
320
321
+ # Set OpenLDAP environment variables
322
+ export LDAP_CFLAGS="-I$(brew --prefix openldap)/include"
323
+ export LDAP_LIBS="-L$(brew --prefix openldap)/lib -lldap"
324
+
314
325
# Set C++17 flag for ICU4C compatibility
315
326
export CXXFLAGS="$CXXFLAGS -std=c++17"
316
327
@@ -378,12 +389,22 @@ jobs:
378
389
CURL_CONFIG=""
379
390
fi
380
391
392
+ # Build the final configure extensions based on availability
393
+ FINAL_EXTENSIONS="${{ env.CONFIGURE_EXTENSIONS }}"
394
+
395
+ # If PostgreSQL is not available, remove PostgreSQL extensions
396
+ if [[ "${{ matrix.platform }}" == "darwin" ]] && [[ "$POSTGRESQL_AVAILABLE" != "true" ]]; then
397
+ echo "Removing PostgreSQL extensions from configure command"
398
+ FINAL_EXTENSIONS=$(echo "$FINAL_EXTENSIONS" | sed 's/--with-pdo-pgsql//g' | sed 's/--with-pgsql//g' | sed 's/ */ /g')
399
+ echo "Final extensions: $FINAL_EXTENSIONS"
400
+ fi
401
+
381
402
./configure \
382
403
--prefix="$INSTALL_PREFIX" \
383
404
--disable-debug \
384
405
--enable-shared \
385
406
--with-pic \
386
- ${{ env.CONFIGURE_EXTENSIONS }} \
407
+ $FINAL_EXTENSIONS \
387
408
$EXTRA_CONFIG \
388
409
$CURL_CONFIG
389
410
0 commit comments