mirror of
https://github.com/php/php-src.git
synced 2026-04-28 18:53:33 +02:00
f17c5ad83b
The current function `CHECK_HEADER_ADD_INCLUDE()` automatically defines `HAVE_<HEADER_NAME_H>` preprocessor macros, which makes it difficult to sync with other build systems. Specially, if some `HAVE_` macro is used in the code and this function defines this macro but Autotools doesn't. The new `CHECK_HEADER()` function behaves similar except it doesn't define the `HAVE_<HEADER_NAME_H>` preprocessor macro. This removes the following unused compile definitions: HAVE_ARGON2_H HAVE_AVIF_H HAVE_BZLIB_H HAVE_CAPSTONE_CAPSTONE_H HAVE_CURL_EASY_H HAVE_DB_H HAVE_DECODE_H HAVE_DEPOT_H HAVE_EDITLINE_READLINE_H HAVE_ENCHANT_H HAVE_ENCODE_H HAVE_FFI_H HAVE_FIREBIRD_INTERFACE_H HAVE_FT2BUILD_H HAVE_GD_H HAVE_GLIB_H HAVE_GMP_H HAVE_HTTPD_H HAVE_IBASE_H HAVE_IR_IR_H HAVE_KECCAKHASH_H HAVE_LBER_H HAVE_LDAP_H HAVE_LIBEXSLT_EXSLT_H HAVE_LIBINTL_H HAVE_LIBPQ_FE_H HAVE_LIBTIDY_TIDY_H HAVE_LIBXML_PARSER_H HAVE_LIBXML_TREE_H HAVE_LIBXML_XMLWRITER_H HAVE_LIBXSLT_XSLT_H HAVE_LMDB_H HAVE_MBSTRING_H HAVE_MYSQL_H HAVE_ONIGURUMA_H HAVE_OPENSSL_SSL_H HAVE_PNG_H HAVE_SNMP_H HAVE_SODIUM_H HAVE_SQLITE3_H HAVE_SQLITE3EXT_H HAVE_SYBFRONT_H HAVE_TIDY_H HAVE_TIDY_TIDY_H HAVE_TIDYBUFFIO_H HAVE_TIMELIB_CONFIG_H HAVE_UNICODE_USPOOF_H HAVE_UNICODE_UTF_H HAVE_XPM_H HAVE_ZIP_H HAVE_ZIPCONF_H HAVE_ZLIB_H The following compile definitions are defined explicitly: - HAVE_ICONV_H - HAVE_MSCOREE_H - HAVE_SQL_H - HAVE_SQLEXT_H Additionally, the `SETUP_OPENSSL()` function doesn't accept the 6th argument anymore.
48 lines
2.1 KiB
JavaScript
48 lines
2.1 KiB
JavaScript
// vim:ft=javascript
|
|
|
|
ARG_WITH("dba", "DBA support", "no");
|
|
ARG_WITH("qdbm", "DBA: QDBM support", "no");
|
|
ARG_WITH("db", "DBA: Berkeley DB support", "no");
|
|
ARG_WITH("lmdb", "DBA: Lightning memory-mapped database support", "no");
|
|
|
|
if (PHP_DBA != "no") {
|
|
EXTENSION("dba", "dba.c dba_cdb.c dba_db1.c dba_db2.c dba_db3.c dba_dbm.c dba_flatfile.c dba_gdbm.c dba_ndbm.c dba_inifile.c", null, "/DZEND_ENABLE_STATIC_TSRMLS_CACHE=1");
|
|
ADD_SOURCES("ext/dba/libcdb", "cdb.c cdb_make.c uint32.c", "dba");
|
|
ADD_SOURCES("ext/dba/libflatfile", "flatfile.c", "dba");
|
|
ADD_SOURCES("ext/dba/libinifile", "inifile.c", "dba");
|
|
AC_DEFINE('HAVE_DBA', 1, "Define to 1 if the PHP extension 'dba' is available.");
|
|
ADD_FLAG("CFLAGS_DBA", "/D DBA_FLATFILE=1 /D DBA_CDB=1 /D DBA_CDB_BUILTIN=1 /D DBA_INIFILE=1");
|
|
|
|
if (PHP_DB != "no") {
|
|
if (CHECK_LIB("libdb31s.lib;libdb61.lib", "dba", PHP_DBA) &&
|
|
CHECK_HEADER("db.h", "CFLAGS_DBA")) {
|
|
ADD_FLAG("CFLAGS_DBA", "/D DB1_VERSION=\"\\\"Berkeley DB 1.85 emulation in DB3\\\"\" /D DB1_INCLUDE_FILE=\"\\\"db_185.h\\\"\" /D DBA_DB3=1 /D DB3_INCLUDE_FILE=\"\\\"db.h\\\"\"");
|
|
} else {
|
|
WARNING("dba: db handlers not enabled; libraries and headers not found");
|
|
}
|
|
}
|
|
|
|
if (PHP_QDBM != "no") {
|
|
if (CHECK_LIB("qdbm_a.lib;qdbm.lib", "dba", PHP_DBA) &&
|
|
CHECK_HEADER("depot.h", "CFLAGS_DBA", PHP_DBA + ";" + PHP_PHP_BUILD + "\\include\\qdbm")) {
|
|
ADD_SOURCES("ext/dba", "dba_qdbm.c", "dba");
|
|
AC_DEFINE("QDBM_INCLUDE_FILE", "<depot.h>", "The QDBM handler header file.", false);
|
|
AC_DEFINE("DBA_QDBM", 1, "Define to 1 if the dba extension uses the QDBM handler.");
|
|
} else {
|
|
WARNING("dba: qdbm handlers not enabled; libraries and headers not found");
|
|
}
|
|
}
|
|
|
|
if (PHP_LMDB != "no") {
|
|
if (CHECK_LIB("liblmdb_a.lib", "dba", PHP_DBA) &&
|
|
CHECK_HEADER("lmdb.h", "CFLAGS_DBA") &&
|
|
CHECK_LIB("ntdll.lib", "dba", PHP_DBA)) {
|
|
ADD_SOURCES("ext/dba", "dba_lmdb.c", "dba");
|
|
AC_DEFINE("LMDB_INCLUDE_FILE", "<lmdb.h>", "The LMDB handler header file.", false);
|
|
AC_DEFINE("DBA_LMDB", 1, "Define to 1 if the dba extension uses the LMDB handler.");
|
|
} else {
|
|
WARNING("dba: lmdb handlers not enabled; libraries and headers not found");
|
|
}
|
|
}
|
|
}
|