@@ -247,10 +247,51 @@ jobs:
247
247
if : matrix.platform == 'darwin'
248
248
run : |
249
249
# Set paths for Homebrew dependencies including keg-only packages
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
251
- echo "PATH=$(brew --prefix bison)/bin:$(brew --prefix)/bin:$(brew --prefix postgresql@17)/bin:$(brew --prefix gettext)/bin:$PATH" >> $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
250
+ # Use a more organized approach to avoid duplicates
251
+ PKG_CONFIG_PATHS=(
252
+ "$(brew --prefix)/lib/pkgconfig"
253
+ "$(brew --prefix openssl@3)/lib/pkgconfig"
254
+ "$(brew --prefix libxml2)/lib/pkgconfig"
255
+ "$(brew --prefix icu4c)/lib/pkgconfig"
256
+ "$(brew --prefix zlib)/lib/pkgconfig"
257
+ "$(brew --prefix postgresql@17)/lib/pkgconfig"
258
+ "$(brew --prefix bzip2)/lib/pkgconfig"
259
+ "$(brew --prefix gettext)/lib/pkgconfig"
260
+ "$(brew --prefix openldap)/lib/pkgconfig"
261
+ )
262
+ echo "PKG_CONFIG_PATH=$(IFS=:; echo "${PKG_CONFIG_PATHS[*]}")" >> $GITHUB_ENV
263
+
264
+ PATH_PATHS=(
265
+ "$(brew --prefix bison)/bin"
266
+ "$(brew --prefix)/bin"
267
+ "$(brew --prefix postgresql@17)/bin"
268
+ "$(brew --prefix gettext)/bin"
269
+ )
270
+ echo "PATH=$(IFS=:; echo "${PATH_PATHS[*]}"):$PATH" >> $GITHUB_ENV
271
+
272
+ LDFLAGS_PATHS=(
273
+ "-L$(brew --prefix)/lib"
274
+ "-L$(brew --prefix openssl@3)/lib"
275
+ "-L$(brew --prefix zlib)/lib"
276
+ "-L$(brew --prefix libiconv)/lib"
277
+ "-L$(brew --prefix postgresql@17)/lib"
278
+ "-L$(brew --prefix bzip2)/lib"
279
+ "-L$(brew --prefix gettext)/lib"
280
+ "-L$(brew --prefix openldap)/lib"
281
+ )
282
+ echo "LDFLAGS=$(IFS=' '; echo "${LDFLAGS_PATHS[*]}")" >> $GITHUB_ENV
283
+
284
+ CPPFLAGS_PATHS=(
285
+ "-I$(brew --prefix)/include"
286
+ "-I$(brew --prefix openssl@3)/include"
287
+ "-I$(brew --prefix zlib)/include"
288
+ "-I$(brew --prefix libiconv)/include"
289
+ "-I$(brew --prefix postgresql@17)/include"
290
+ "-I$(brew --prefix bzip2)/include"
291
+ "-I$(brew --prefix gettext)/include"
292
+ "-I$(brew --prefix openldap)/include"
293
+ )
294
+ echo "CPPFLAGS=$(IFS=' '; echo "${CPPFLAGS_PATHS[*]}")" >> $GITHUB_ENV
254
295
echo "CXXFLAGS=-std=c++17" >> $GITHUB_ENV
255
296
256
297
# Set readline-specific paths
@@ -320,7 +361,7 @@ jobs:
320
361
321
362
# Set OpenLDAP environment variables
322
363
export LDAP_CFLAGS="-I$(brew --prefix openldap)/include"
323
- export LDAP_LIBS="-L$(brew --prefix openldap)/lib -lldap"
364
+ export LDAP_LIBS="-L$(brew --prefix openldap)/lib -lldap -llber "
324
365
325
366
# Set C++17 flag for ICU4C compatibility
326
367
export CXXFLAGS="$CXXFLAGS -std=c++17"
@@ -415,11 +456,16 @@ jobs:
415
456
# Use all available CPU cores for faster builds
416
457
if [[ "${{ matrix.platform }}" == "darwin" ]]; then
417
458
JOBS=$(sysctl -n hw.ncpu)
459
+ # Ensure C++17 is used during build
460
+ export CXXFLAGS="$CXXFLAGS -std=c++17"
461
+ export CFLAGS="$CFLAGS -std=c++17"
418
462
else
419
463
JOBS=$(nproc)
420
464
fi
421
465
422
466
echo "Building PHP with $JOBS parallel jobs"
467
+ echo "CXXFLAGS: $CXXFLAGS"
468
+ echo "CFLAGS: $CFLAGS"
423
469
make -j$JOBS
424
470
425
471
- name : Install PHP
0 commit comments