Skip to content

Commit 44c0682

Browse files
committed
Use pkg-config on Windows
1 parent aba6918 commit 44c0682

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

55 files changed

+479
-161
lines changed

.github/scripts/windows/build_task.bat

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,12 +25,17 @@ if not exist "%DEPS_DIR%" (
2525
)
2626
if %errorlevel% neq 0 exit /b 3
2727

28+
rem temporary work-around for missing pkg-config and .pc files
29+
copy .pkg-config\pkg-config.exe %PHP_BUILD_CACHE_SDK_DIR%\bin\pkg-config.exe
30+
copy .pkg-config\pkgconfig\* %DEPS_DIR%\lib\pkgconfig
31+
2832
cmd /c buildconf.bat --force
2933
if %errorlevel% neq 0 exit /b 3
3034

3135
if "%THREAD_SAFE%" equ "0" set ADD_CONF=%ADD_CONF% --disable-zts
3236
if "%INTRINSICS%" neq "" set ADD_CONF=%ADD_CONF% --enable-native-intrinsics=%INTRINSICS%
3337

38+
set PKG_CONFIG_PATH=%DEPS_DIR%\lib\pkgconfig
3439
set CFLAGS=/W1 /WX
3540

3641
cmd /c configure.bat ^
@@ -39,7 +44,6 @@ cmd /c configure.bat ^
3944
--enable-com-dotnet=shared ^
4045
--without-analyzer ^
4146
--enable-object-out-dir=%PHP_BUILD_OBJ_DIR% ^
42-
--with-php-build=%DEPS_DIR% ^
4347
%ADD_CONF% ^
4448
--disable-test-ini
4549
if %errorlevel% neq 0 exit /b 3

.pkg-config/pkg-config.exe

33 KB
Binary file not shown.

.pkg-config/pkgconfig/ICU.pc

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
prefix=C:/usr
2+
includedir=${prefix}/include
3+
libdir=${prefix}/lib
4+
5+
Name: ICU
6+
Description: winlibs ICU package
7+
Url: https://github.com/winlibs/icu4c
8+
Version: 75.1
9+
Libs: -L${libdir} -licuuc -licudt -licuin -licuio
10+
Cflags: -I${includedir} /std:c++17

.pkg-config/pkgconfig/apache.pc

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
prefix=C:/usr
2+
libdir=${prefix}/lib/apache2_4
3+
includedir=${prefix}/include/apache2_4
4+
5+
Name: apache
6+
Description: winlibs apache package
7+
Version: 2.4.43
8+
Libs: -L${libdir} -llibhttpd -llibapr-1 -llibaprutil-1
9+
Cflags: -I${includedir}

.pkg-config/pkgconfig/cyrus-sasl.pc

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
prefix=C:/usr
2+
libdir=${prefix}/lib
3+
includedir=${prefix}/include
4+
5+
Name: cyrus-sasl
6+
Description: winlib cyrus-sasl package
7+
URL: https://github.com/winlibs/cyrus-sasl
8+
Version: 3.0.15pl1
9+
Requires: openssl
10+
Libs: -L${libdir} -llibsasl
11+
Cflags: -I${includedir}

.pkg-config/pkgconfig/fbclient.pc

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
prefix=C:/usr
2+
libdir=${prefix}/lib
3+
includedir=${prefix}/include/interbase
4+
5+
Name: fbclient
6+
Description: winlibs fbclient package
7+
Version: 4.0.4
8+
Libs: -L${libdir} -lfbclient_ms
9+
Cflags: -I${includedir}

.pkg-config/pkgconfig/freetype.pc

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
prefix=C:/usr
2+
libdir=${prefix}/lib
3+
includedir=${prefix}/include/freetype2
4+
5+
Name: freetype
6+
Description: winlibs freetype package
7+
Url: https://github.com/winlibs/freetype
8+
Version: 2.13.3
9+
Libs: -L${libdir} -lfreetype_a
10+
Cflags: -I${includedir}

.pkg-config/pkgconfig/gettext.pc

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
prefix=C:/usr
2+
libdir=${prefix}/lib
3+
includedir=${prefix}/include
4+
5+
Name: gettext
6+
Description: winlibs gettext package
7+
Url: https://github.com/winlibs/gettext
8+
Version: 0.18.3
9+
Libs: -L${libdir} -llibintl_a
10+
Cflags: -I${includedir}

.pkg-config/pkgconfig/libargon.pc

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
prefix=C:/usr
2+
libdir=${prefix}/lib
3+
includedir=${prefix}/include
4+
5+
Name: libargon
6+
Description: winlibs libargon package
7+
Url: https://github.com/winlibs/argon2
8+
Version: 20190702
9+
Libs: -L${libdir} -largon2_a
10+
Cflags: -I${includedir}

.pkg-config/pkgconfig/libavif.pc

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
prefix=C:/usr
2+
libdir=${prefix}/lib
3+
includedir=${prefix}/include/webp
4+
5+
Name: libavif
6+
Description: winlibs libavif package
7+
Url: https://github.com/winlibs/libavif
8+
Version: 1.1.1
9+
Libs: -L${libdir} -lavif_a -laom_a
10+
Cflags: -I${includedir}

.pkg-config/pkgconfig/libbzip2.pc

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
prefix=C:/usr
2+
libdir=${prefix}/lib
3+
includedir=${prefix}/include
4+
5+
Name: libbzip2
6+
Description: winlibs libbzip2 package
7+
Url: https://github.com/winlibs/libbzip2
8+
Version: 1.0.8
9+
Libs: -L${libdir} -llibbz2_a
10+
Cflags: -I${includedir}

.pkg-config/pkgconfig/libiconv.pc

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
prefix=C:/usr
2+
libdir=${prefix}/lib
3+
includedir=${prefix}/include
4+
5+
Name: libiconv
6+
Description: winlibs libiconv package
7+
Url: https://github.com/winlibs/libiconv
8+
Version: 1.17.1
9+
Libs: -L${libdir} -llibiconv_a
10+
Cflags: -I${includedir}

.pkg-config/pkgconfig/libjpeg.pc

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
prefix=C:/usr
2+
libdir=${prefix}/lib
3+
includedir=${prefix}/include
4+
5+
Name: libjpeg
6+
Description: winlibs libjpeg package
7+
Url: https://github.com/winlibs/libjpeg
8+
Version: 3.0.3
9+
Libs: -L${libdir} -llibjpeg_a
10+
Cflags: -I${includedir}

.pkg-config/pkgconfig/liblmdb.pc

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
prefix=C:/usr
2+
libdir=${prefix}/lib
3+
includedir=${prefix}/include
4+
5+
Name: liblmdb
6+
Description: winlibs liblmdb package
7+
Url: https://github.com/winlibs/lmdb
8+
Version: 0.9.33
9+
Libs: -L${libdir} -lliblmdb_a -lntdll
10+
Cflags: -I${includedir}

.pkg-config/pkgconfig/liblzma.pc

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
prefix=C:/usr
2+
libdir=${prefix}/lib
3+
includedir=${prefix}/include
4+
5+
Name: liblzma
6+
Description: winlibs liblzma package
7+
Url: https://github.com/winlibs/liblzma
8+
Version: 5.6.3
9+
Libs: -L${libdir} -lliblzma_a
10+
Cflags: -I${includedir}

.pkg-config/pkgconfig/libpng.pc

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
prefix=C:/usr
2+
libdir=${prefix}/lib
3+
includedir=${prefix}/include/libpng16
4+
5+
Name: libpng
6+
Description: winlibs libpng package
7+
Url: https://github.com/winlibs/libpng
8+
Version: 1.6.43
9+
Libs: -L${libdir} -llibpng_a
10+
Cflags: -I${includedir}

.pkg-config/pkgconfig/libpq.pc

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
prefix=C:/usr
2+
libdir=${prefix}/lib
3+
includedir=${prefix}/include/libpq
4+
5+
Name: libpq
6+
Description: winlibs libpq package
7+
Url: https://github.com/winlibs/postgresql
8+
Version: 16.4
9+
Libs: -L${libdir} -llibpq
10+
Cflags: -I${includedir}

.pkg-config/pkgconfig/libqdbm.pc

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
prefix=C:/usr
2+
libdir=${prefix}/lib
3+
includedir=${prefix}/include/qdbm
4+
5+
Name: libqdbm
6+
Description: winlibs libqdbm package
7+
Url: https://github.com/winlibs/qdbm
8+
Version: 1.18.78
9+
Libs: -L${libdir} -lqdbm_a
10+
Cflags: -I${includedir}

.pkg-config/pkgconfig/libsodium.pc

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
prefix=C:/usr
2+
libdir=${prefix}/lib
3+
includedir=${prefix}/include
4+
5+
Name: libsodium
6+
Description: winlibs libsodium package
7+
Url: https://github.com/winlibs/libsodium
8+
Version: 1.0.20
9+
Libs: -L${libdir} -llibsodium
10+
Cflags: -I${includedir}

.pkg-config/pkgconfig/libwebp.pc

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
prefix=C:/usr
2+
libdir=${prefix}/lib
3+
includedir=${prefix}/include/webp
4+
5+
Name: libwebp
6+
Description: winlibs libwebp package
7+
Url: https://github.com/winlibs/libwebp
8+
Version: 1.3.2
9+
Libs: -L${libdir} -llibwebp_a
10+
Cflags: -I${includedir}

.pkg-config/pkgconfig/libxml2.pc

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
prefix=C:/usr
2+
libdir=${prefix}/lib
3+
includedir=${prefix}/include/libxml2
4+
5+
Name: libxml2
6+
Description: winlibs libxml2 package
7+
Url: https://github.com/winlibs/libxml2
8+
Version: 2.11.9
9+
Libs: -L${libdir} -llibxml2_a_dll
10+
Cflags: -I${includedir}

.pkg-config/pkgconfig/libxpm.pc

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
prefix=C:/usr
2+
libdir=${prefix}/lib
3+
includedir=${prefix}/include/X11
4+
5+
Name: libxpm
6+
Description: winlibs libxpm package
7+
Url: https://github.com/winlibs/libxpm
8+
Version: 1.6.43
9+
Libs: -L${libdir} -llibxpm_a
10+
Cflags: -I${includedir}

.pkg-config/pkgconfig/libzip.pc

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
prefix=C:/usr
2+
libdir=${prefix}/lib
3+
includedir=${prefix}/include
4+
5+
Name: libzip
6+
Description: winlibs libzip package
7+
Url: https://github.com/winlibs/libzip
8+
Version: 1.11.2
9+
Requires: libbzip2 zlib liblzma
10+
Libs: -L${libdir} -llibzip_a
11+
Cflags: -I${includedir}

.pkg-config/pkgconfig/mpir.pc

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
prefix=C:/usr
2+
libdir=${prefix}/lib
3+
includedir=${prefix}/include/mpir
4+
5+
Name: mpir
6+
Description: winlibs mpir package
7+
Url: https://github.com/winlibs/mpir
8+
Version: 3.0.0
9+
Libs: -L${libdir} -lmpir_a
10+
Cflags: -I${includedir}

.pkg-config/pkgconfig/netsnmp.pc

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
prefix=C:/usr
2+
libdir=${prefix}/lib
3+
includedir=${prefix}/include
4+
5+
Name: net-snmp
6+
Description: winlib net-snmp package
7+
URL: https://github.com/winlibs/net-snmp
8+
Version: 5.9.4
9+
Requires: libcrypto libssl
10+
Libs: -L${libdir} -lnetsnmp
11+
Cflags: -I${includedir}

.pkg-config/pkgconfig/oniguruma.pc

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
prefix=C:/usr
2+
libdir=${prefix}/lib
3+
includedir=${prefix}/include
4+
5+
Name: oniguruma
6+
Description: winlib oniguruma package
7+
URL: https://github.com/winlibs/oniguruma
8+
Version: 6.9.9
9+
Libs: -L${libdir} -lonig_a
10+
Cflags: -I${includedir}

.pkg-config/pkgconfig/openldap.pc

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
prefix=C:/usr
2+
libdir=${prefix}/lib
3+
includedir=${prefix}/include/openldap
4+
5+
Name: openldap
6+
Description: winlib openldap package
7+
URL: https://github.com/winlibs/openldap
8+
Version: 2.4.47
9+
Requires: cyrus-sasl openssl
10+
Libs: -L${libdir} -lolber32_a -loldap32_a
11+
Cflags: -I${includedir}

.pkg-config/pkgconfig/openssl.pc

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
prefix=C:/usr
2+
libdir=${prefix}/lib
3+
includedir=${prefix}/include
4+
5+
Name: openssl
6+
Description: winlib openssl package
7+
URL: https://github.com/winlibs/openssl
8+
Version: 3.0.15pl1
9+
Libs: -L${libdir} -lcrypt32 -llibcrypto -llibssl
10+
Cflags: -I${includedir}

.pkg-config/pkgconfig/sqlite3.pc

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
prefix=C:/usr
2+
libdir=${prefix}/lib
3+
includedir=${prefix}/include
4+
5+
Name: sqlite3
6+
Description: winlibs sqlite3 package
7+
Url: https://github.com/winlibs/sqlite3
8+
Version: 3.46.0
9+
Libs: -L${libdir} -llibsqlite3
10+
Cflags: -I${includedir}

.pkg-config/pkgconfig/wineditline.pc

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
prefix=C:/usr
2+
libdir=${prefix}/lib
3+
includedir=${prefix}/include/editline
4+
5+
Name: wineditline
6+
Description: winlibs wineditline package
7+
Url: https://github.com/winlibs/wineditline
8+
Version: 2.206
9+
Libs: -L${libdir} -ledit_a
10+
Cflags: -I${includedir}

.pkg-config/pkgconfig/zlib.pc

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
prefix=C:/usr
2+
libdir=${prefix}/lib
3+
includedir=${prefix}/include
4+
5+
Name: zlib
6+
Description: winlibs zlib package
7+
Url: https://github.com/winlibs/zlib
8+
Version: 1.3.1
9+
Libs: -L${libdir} -lzlib_a
10+
Cflags: -I${includedir}

ext/bz2/config.w32

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,15 +3,16 @@
33
ARG_WITH("bz2", "BZip2", "no");
44

55
if (PHP_BZ2 != "no") {
6-
if (CHECK_LIB("libbz2_a.lib;libbz2.lib", "bz2", PHP_BZ2) &&
7-
CHECK_HEADER_ADD_INCLUDE("bzlib.h", "CFLAGS_BZ2")) {
6+
if (PKG_CHECK_MODULES("BZIP2", "libbzip2 >= 2.0.0")) {
7+
PHP_EVAL_INCLINE(BZIP2_CFLAGS, "bz2");
8+
PHP_EVAL_LIBLINE(BZIP2_LIBS, "bz2");
89
EXTENSION("bz2", "bz2.c bz2_filter.c");
910
AC_DEFINE('HAVE_BZ2', 1, "Define to 1 if the PHP extension 'bz2' is available.");
1011
// BZ2 extension does this slightly differently from others
1112
if (PHP_BZ2_SHARED) {
1213
ADD_FLAG("CFLAGS_BZ2", "/D PHP_BZ2_EXPORTS ");
1314
}
1415
} else {
15-
WARNING("bz2 not enabled; libraries and headers not found");
16+
WARNING("bz2 not enabled; libbzip2 package not found");
1617
}
1718
}

0 commit comments

Comments
 (0)