mirror of
https://github.com/php/php-src.git
synced 2025-08-16 05:58:45 +02:00

Autoconf defines PACKAGE_* symbols:
- PACKAGE_NAME
- PACKAGE_VERSION
- PACKAGE_TARNAME
- PACKAGE_STRING
- PACKAGE_BUGREPORT
- PACKAGE_URL
and appends them to the generated config.h.in files. With AC_INIT change
via afd52f9d99
where package version, URL,
bug report location and similar meta data are defined, these
preprocessor macros are then non empty strings in the generated
configuration header file. When using phpize, PHP shares the config
files in extensions, warnings of redefined macros appear, such as:
- `warning: 'PACKAGE_NAME' macro redefined`
This patch now disables these non utilized symbols in the generated
config header files.
Better practice would be to include only API specific headers where
needed but this would require even more refactorings. Some extensions
such as pcre, pgsql, and pdo_pgsql solve this issue by undefining some
of these symbols before including the library configuration headers in
the code also. Because these symbols can be defined by any library which
uses Autotools.
Additionally, the unused PACKAGE_* symbols were cleaned for the bundled
libmbfl library and with this patch not needed undef code removed.
107 lines
3.2 KiB
C
107 lines
3.2 KiB
C
/*
|
|
+----------------------------------------------------------------------+
|
|
| PHP Version 7 |
|
|
+----------------------------------------------------------------------+
|
|
| Copyright (c) The PHP Group |
|
|
+----------------------------------------------------------------------+
|
|
| This source file is subject to version 3.01 of the PHP license, |
|
|
| that is bundled with this package in the file LICENSE, and is |
|
|
| available through the world-wide-web at the following url: |
|
|
| http://www.php.net/license/3_01.txt |
|
|
| If you did not receive a copy of the PHP license and are unable to |
|
|
| obtain it through the world-wide-web, please send a note to |
|
|
| license@php.net so we can mail you a copy immediately. |
|
|
+----------------------------------------------------------------------+
|
|
| Author: Edin Kadribasic <edink@emini.dk> |
|
|
+----------------------------------------------------------------------+
|
|
*/
|
|
|
|
#ifdef HAVE_CONFIG_H
|
|
#include "config.h"
|
|
#endif
|
|
|
|
#include "php.h"
|
|
#include "php_ini.h"
|
|
#include "ext/standard/info.h"
|
|
#include "pdo/php_pdo.h"
|
|
#include "pdo/php_pdo_driver.h"
|
|
#include "php_pdo_pgsql.h"
|
|
#include "php_pdo_pgsql_int.h"
|
|
|
|
#ifdef HAVE_PG_CONFIG_H
|
|
#include <pg_config.h>
|
|
#endif
|
|
|
|
/* {{{ pdo_pgsql_functions[] */
|
|
static const zend_function_entry pdo_pgsql_functions[] = {
|
|
PHP_FE_END
|
|
};
|
|
/* }}} */
|
|
|
|
/* {{{ pdo_sqlite_deps
|
|
*/
|
|
static const zend_module_dep pdo_pgsql_deps[] = {
|
|
ZEND_MOD_REQUIRED("pdo")
|
|
ZEND_MOD_END
|
|
};
|
|
/* }}} */
|
|
|
|
/* {{{ pdo_pgsql_module_entry */
|
|
zend_module_entry pdo_pgsql_module_entry = {
|
|
STANDARD_MODULE_HEADER_EX, NULL,
|
|
pdo_pgsql_deps,
|
|
"pdo_pgsql",
|
|
pdo_pgsql_functions,
|
|
PHP_MINIT(pdo_pgsql),
|
|
PHP_MSHUTDOWN(pdo_pgsql),
|
|
NULL,
|
|
NULL,
|
|
PHP_MINFO(pdo_pgsql),
|
|
PHP_PDO_PGSQL_VERSION,
|
|
STANDARD_MODULE_PROPERTIES
|
|
};
|
|
/* }}} */
|
|
|
|
#ifdef COMPILE_DL_PDO_PGSQL
|
|
ZEND_GET_MODULE(pdo_pgsql)
|
|
#endif
|
|
|
|
/* true global environment */
|
|
|
|
/* {{{ PHP_MINIT_FUNCTION
|
|
*/
|
|
PHP_MINIT_FUNCTION(pdo_pgsql)
|
|
{
|
|
REGISTER_PDO_CLASS_CONST_LONG("PGSQL_ATTR_DISABLE_PREPARES", PDO_PGSQL_ATTR_DISABLE_PREPARES);
|
|
REGISTER_PDO_CLASS_CONST_LONG("PGSQL_TRANSACTION_IDLE", (zend_long)PGSQL_TRANSACTION_IDLE);
|
|
REGISTER_PDO_CLASS_CONST_LONG("PGSQL_TRANSACTION_ACTIVE", (zend_long)PGSQL_TRANSACTION_ACTIVE);
|
|
REGISTER_PDO_CLASS_CONST_LONG("PGSQL_TRANSACTION_INTRANS", (zend_long)PGSQL_TRANSACTION_INTRANS);
|
|
REGISTER_PDO_CLASS_CONST_LONG("PGSQL_TRANSACTION_INERROR", (zend_long)PGSQL_TRANSACTION_INERROR);
|
|
REGISTER_PDO_CLASS_CONST_LONG("PGSQL_TRANSACTION_UNKNOWN", (zend_long)PGSQL_TRANSACTION_UNKNOWN);
|
|
|
|
php_pdo_register_driver(&pdo_pgsql_driver);
|
|
return SUCCESS;
|
|
}
|
|
/* }}} */
|
|
|
|
/* {{{ PHP_MSHUTDOWN_FUNCTION
|
|
*/
|
|
PHP_MSHUTDOWN_FUNCTION(pdo_pgsql)
|
|
{
|
|
php_pdo_unregister_driver(&pdo_pgsql_driver);
|
|
return SUCCESS;
|
|
}
|
|
/* }}} */
|
|
|
|
/* {{{ PHP_MINFO_FUNCTION
|
|
*/
|
|
PHP_MINFO_FUNCTION(pdo_pgsql)
|
|
{
|
|
php_info_print_table_start();
|
|
php_info_print_table_row(2, "PDO Driver for PostgreSQL", "enabled");
|
|
#ifdef HAVE_PG_CONFIG_H
|
|
php_info_print_table_row(2, "PostgreSQL(libpq) Version", PG_VERSION);
|
|
#endif
|
|
php_info_print_table_end();
|
|
}
|
|
/* }}} */
|