Skip to content

Commit 2cf1b8d

Browse files
committed
* expanded the following constants and made them available in PHP:
DEFAULT_INCLUDE_PATH PEAR_INSTALL_DIR PHP_EXTENSION_DIR PHP_BINDIR PHP_LIBDIR PHP_DATADIR PHP_SYSCONFDIR PHP_LOCALSTATEDIR PHP_CONFIG_FILE_PATH * no longer generating pear/PEAR.php * fixed some tests * some more installer work
1 parent 9dd0231 commit 2cf1b8d

File tree

13 files changed

+357
-110
lines changed

13 files changed

+357
-110
lines changed

Makefile.in

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,13 @@ install-modules:
5050
rm -f modules/*.la && \
5151
cp modules/* $(INSTALL_ROOT)$(moduledir) >/dev/null 2>&1 || true
5252

53-
install-su: install-modules
53+
install-tester:
54+
-$(mkinstalldirs) $(datadir)
55+
$(INSTALL) -m 755 $(srcdir)/run-tests.php $(INSTALL_ROOT)$(datadir)
56+
57+
install-pear: install-modules
5458
(cd pear && $(MAKE) install)
5559

60+
install-su: install-pear install-tester
61+
5662
.NOEXPORT:

configure.in

Lines changed: 73 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -461,24 +461,10 @@ fi
461461
462462
divert(4)
463463
464-
465-
466-
PHP_ARG_WITH(config-file-path,whether to use a configuration file,
464+
PHP_ARG_WITH(config-file-path,[path to configuration file],
467465
[ --with-config-file-path=PATH
468466
Sets the path in which to look for php.ini.
469-
defaults to /usr/local/lib], yes)
470-
471-
if test "$PHP_CONFIG_FILE_PATH" = "yes"; then
472-
PHP_CONFIG_FILE_PATH="/usr/local/lib"
473-
fi
474-
475-
if test "$PHP_CONFIG_FILE_PATH" != "no"; then
476-
AC_DEFINE_UNQUOTED(CONFIGURATION_FILE_PATH, "$PHP_CONFIG_FILE_PATH",[ ])
477-
AC_DEFINE(USE_CONFIG_FILE, 1, [ ])
478-
else
479-
AC_DEFINE(CONFIGURATION_FILE_PATH, 0, [ ])
480-
AC_DEFINE(USE_CONFIG_FILE, 0, [ ])
481-
fi
467+
defaults to --sysconfdir, "none" to disable], $sysconfdir)
482468
483469
PHP_ARG_ENABLE(debug, whether to include debugging symbols,
484470
[ --enable-debug Compile with debugging symbols.], no)
@@ -525,6 +511,20 @@ AC_ARG_WITH(exec-dir,
525511
AC_MSG_RESULT(/usr/local/php/bin)
526512
])
527513
514+
# compatibility
515+
if test "x$with_pear" = "x" -a "x$enable_pear" = "xno"; then
516+
with_pear="no"
517+
fi
518+
519+
PHP_ARG_WITH(pear, [whether to install PEAR, and where],
520+
[ --with-pear=DIR Install PEAR in DIR (default \$datadir/php/pear)
521+
--without-pear Do not install PEAR], $datadir/php/pear)
522+
523+
if test "$PHP_PEAR" != "no"; then
524+
PEAR_DIR=pear
525+
PEAR_INSTALLDIR="$PHP_PEAR"
526+
fi
527+
528528
PHP_ARG_WITH(openssl,for OpenSSL support,
529529
[ --with-openssl[=DIR] Include OpenSSL support (requires OpenSSL >= 0.9.5) ])
530530
if test "$PHP_OPENSSL" = "yes"; then
@@ -592,13 +592,6 @@ if test "$PHP_DMALLOC" = "yes"; then
592592
CPPFLAGS="$CPPFLAGS -DDMALLOC_FUNC_CHECK"
593593
fi
594594
595-
PHP_ARG_ENABLE(pear,whether to install PEAR,
596-
[ --disable-pear Do not install PEAR],yes)
597-
598-
if test "$PHP_PEAR" = "yes"; then
599-
PEAR_DIR=pear
600-
fi
601-
602595
# temporary until streams are better integrated
603596
PHP_ARG_ENABLE(php-streams,whether to enable php streams,
604597
[ --enable-php-streams Include experimental php streams.
@@ -703,31 +696,67 @@ $php_shtool mkdir -p $phplibdir
703696
phptempdir="`pwd`/libs"
704697
705698
test "$prefix" = "NONE" && prefix="/usr/local"
706-
test "$exec_prefix" = "NONE" && exec_prefix='$(prefix)'
699+
test "$exec_prefix" = "NONE" && exec_prefix='${prefix}'
700+
case $libdir in
701+
*/php) ;;
702+
*) libdir="$libdir/php";;
703+
esac
704+
case $datadir in
705+
*/php) ;;
706+
*) datadir="$datadir/php";;
707+
esac
707708
708709
dnl Build extension directory path
709710
710-
if test "$PHP_DEBUG" = "1"; then
711-
PART1=debug
712-
else
713-
PART1=no-debug
714-
fi
715-
716-
if test "$enable_experimental_zts" = "yes"; then
717-
PART2=zts
718-
else
719-
PART2=non-zts
720-
fi
721-
722711
ZEND_MODULE_API_NO=`egrep '#define ZEND_MODULE_API_NO ' $srcdir/Zend/zend_modules.h|sed 's/#define ZEND_MODULE_API_NO //'`
723712
724-
if test -z "$PEAR_INSTALLDIR"; then
725-
PEAR_INSTALLDIR="$prefix/lib/php"
726-
fi
713+
extbasedir="$ZEND_MODULE_API_NO"
727714
728-
EXTENSION_DIR="${PEAR_INSTALLDIR}/extensions/$PART1-$PART2-$ZEND_MODULE_API_NO"
715+
if test "$enable_experimental_zts" = "yes"; then
716+
extbasedir="${extbasedir}-zts"
717+
fi
729718
730-
INCLUDE_PATH=".:${PEAR_INSTALLDIR}"
719+
if test "$PHP_DEBUG" = "1"; then
720+
extbasedir="${extbasedir}-debug"
721+
fi
722+
723+
if test "x$PEAR_INSTALLDIR" = "x"; then
724+
PEAR_INSTALLDIR="$datadir/pear"
725+
fi
726+
727+
if test "x$EXTENSION_DIR" = "x"; then
728+
EXTENSION_DIR="$libdir/$extbasedir"
729+
fi
730+
731+
old_exec_prefix="$exec_prefix"
732+
old_libdir="$libdir"
733+
old_datadir="$datadir"
734+
exec_prefix=`eval echo $exec_prefix`
735+
libdir=`eval echo $libdir`
736+
datadir=`eval echo $datadir`
737+
EXPANDED_PEAR_INSTALLDIR=`eval echo $PEAR_INSTALLDIR`
738+
EXPANDED_EXTENSION_DIR=`eval echo $EXTENSION_DIR`
739+
EXPANDED_LOCALSTATEDIR=`eval echo $localstatedir`
740+
EXPANDED_BINDIR=`eval echo $bindir`
741+
EXPANDED_LIBDIR="$libdir"
742+
EXPANDED_SYSCONFDIR=`eval echo $sysconfdir`
743+
EXPANDED_DATADIR="$datadir"
744+
EXPANDED_PHP_CONFIG_FILE_PATH=`eval echo "$PHP_CONFIG_FILE_PATH"`
745+
INCLUDE_PATH=".:${EXPANDED_PEAR_INSTALLDIR}"
746+
747+
exec_prefix="$old_exec_prefix"
748+
libdir="$old_libdir"
749+
datadir="$old_datadir"
750+
751+
AC_SUBST(INCLUDE_PATH)
752+
AC_SUBST(EXPANDED_PEAR_INSTALLDIR)
753+
AC_SUBST(EXPANDED_EXTENSION_DIR)
754+
AC_SUBST(EXPANDED_BINDIR)
755+
AC_SUBST(EXPANDED_LIBDIR)
756+
AC_SUBST(EXPANDED_DATADIR)
757+
AC_SUBST(EXPANDED_SYSCONFDIR)
758+
AC_SUBST(EXPANDED_LOCALSTATEDIR)
759+
AC_SUBST(EXPANDED_PHP_CONFIG_FILE_PATH)
731760
732761
PHP_BUILD_RPATH
733762
@@ -752,6 +781,8 @@ PHP_SUBST(phplibdir)
752781
PHP_SUBST(phptempdir)
753782
PHP_SUBST(prefix)
754783
PHP_SUBST(localstatedir)
784+
PHP_SUBST(datadir)
785+
PHP_SUBST(sysconfdir)
755786
756787
PHP_SUBST(AWK)
757788
PHP_SUBST(CC)
@@ -856,7 +887,7 @@ PHP_GEN_CONFIG_VARS
856887
857888
$php_shtool mkdir -p pear/scripts
858889
ALL_OUTPUT_FILES="php4.spec Zend/Makefile main/build-defs.h \
859-
pear/scripts/pear pear/scripts/phpize pear/scripts/php-config pear/PEAR.php \
890+
pear/scripts/pear pear/scripts/phpize pear/scripts/php-config \
860891
TSRM/Makefile $PHP_OUTPUT_FILES"
861892
862893
AC_OUTPUT($ALL_OUTPUT_FILES, [], [

ext/standard/info.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -190,7 +190,7 @@ PHPAPI void php_print_info(int flag)
190190
php_info_print_table_row(2, "Virtual Directory Support", "disabled" );
191191
#endif
192192

193-
php_info_print_table_row(2, "Configuration File (php.ini) Path", php_ini_opened_path?php_ini_opened_path:CONFIGURATION_FILE_PATH);
193+
php_info_print_table_row(2, "Configuration File (php.ini) Path", php_ini_opened_path?php_ini_opened_path:PHP_CONFIG_FILE_PATH);
194194

195195
#if ZEND_DEBUG
196196
php_info_print_table_row(2, "ZEND_DEBUG", "enabled" );

footer

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,5 +3,6 @@
33
* Local variables:
44
* tab-width: 4
55
* c-basic-offset: 4
6+
* indent-tabs-mode: t
67
* End:
78
*/

main/build-defs.h.in

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,6 @@
2727
#define PHP_FHTTPD_INCLUDE ""
2828
#define PHP_FHTTPD_LIB ""
2929
#define PHP_FHTTPD_TARGET ""
30-
#define PHP_BINNAME "@BINNAME@"
3130
#define PHP_CFLAGS "@CFLAGS@"
3231
#define PHP_DBASE_LIB ""
3332
#define PHP_BUILD_DEBUG "@DEBUG_CFLAGS@"
@@ -50,9 +49,6 @@
5049
#define PHP_MYSQL_LFLAGS ""
5150
#define PHP_MYSQL_LIBS ""
5251
#define PHP_ODBC_TYPE "@ODBC_TYPE@"
53-
#define PHP_ODBC_INCLUDE "@ODBC_INCLUDE@"
54-
#define PHP_ODBC_LFLAGS "@ODBC_LFLAGS@"
55-
#define PHP_ODBC_LIBS "@ODBC_LIBS@"
5652
#define PHP_OCI8_SHARED_LIBADD "@OCI8_SHARED_LIBADD@"
5753
#define PHP_OCI8_DIR "@OCI8_DIR@"
5854
#define PHP_OCI8_VERSION "@OCI8_VERSION@"
@@ -78,5 +74,12 @@
7874
#define PHP_LDAP_LIBS ""
7975
#define PHP_VELOCIS_INCLUDE ""
8076
#define PHP_VELOCIS_LIBS ""
81-
#define PHP_EXTENSION_DIR "@EXTENSION_DIR@"
77+
#define PEAR_INSTALLDIR "@EXPANDED_PEAR_INSTALLDIR@"
8278
#define PHP_INCLUDE_PATH "@INCLUDE_PATH@"
79+
#define PHP_EXTENSION_DIR "@EXPANDED_EXTENSION_DIR@"
80+
#define PHP_BINDIR "@EXPANDED_BINDIR@"
81+
#define PHP_LIBDIR "@EXPANDED_LIBDIR@"
82+
#define PHP_DATADIR "@EXPANDED_DATADIR@"
83+
#define PHP_SYSCONFDIR "@EXPANDED_SYSCONFDIR@"
84+
#define PHP_LOCALSTATEDIR "@EXPANDED_LOCALSTATEDIR@"
85+
#define PHP_CONFIG_FILE_PATH "@EXPANDED_PHP_CONFIG_FILE_PATH@"

main/main.c

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -852,6 +852,15 @@ int php_module_startup(sapi_module_struct *sf)
852852

853853
REGISTER_MAIN_STRINGL_CONSTANT("PHP_VERSION", PHP_VERSION, sizeof(PHP_VERSION)-1, CONST_PERSISTENT | CONST_CS);
854854
REGISTER_MAIN_STRINGL_CONSTANT("PHP_OS", php_os, strlen(php_os), CONST_PERSISTENT | CONST_CS);
855+
REGISTER_MAIN_STRINGL_CONSTANT("DEFAULT_INCLUDE_PATH", PHP_INCLUDE_PATH, sizeof(PHP_INCLUDE_PATH)-1, CONST_PERSISTENT | CONST_CS);
856+
REGISTER_MAIN_STRINGL_CONSTANT("PEAR_INSTALL_DIR", PEAR_INSTALLDIR, sizeof(PEAR_INSTALLDIR)-1, CONST_PERSISTENT | CONST_CS);
857+
REGISTER_MAIN_STRINGL_CONSTANT("PHP_EXTENSION_DIR", PHP_EXTENSION_DIR, sizeof(PHP_EXTENSION_DIR)-1, CONST_PERSISTENT | CONST_CS);
858+
REGISTER_MAIN_STRINGL_CONSTANT("PHP_BINDIR", PHP_BINDIR, sizeof(PHP_BINDIR)-1, CONST_PERSISTENT | CONST_CS);
859+
REGISTER_MAIN_STRINGL_CONSTANT("PHP_LIBDIR", PHP_LIBDIR, sizeof(PHP_LIBDIR)-1, CONST_PERSISTENT | CONST_CS);
860+
REGISTER_MAIN_STRINGL_CONSTANT("PHP_DATADIR", PHP_DATADIR, sizeof(PHP_DATADIR)-1, CONST_PERSISTENT | CONST_CS);
861+
REGISTER_MAIN_STRINGL_CONSTANT("PHP_SYSCONFDIR", PHP_SYSCONFDIR, sizeof(PHP_SYSCONFDIR)-1, CONST_PERSISTENT | CONST_CS);
862+
REGISTER_MAIN_STRINGL_CONSTANT("PHP_LOCALSTATEDIR", PHP_LOCALSTATEDIR, sizeof(PHP_LOCALSTATEDIR)-1, CONST_PERSISTENT | CONST_CS);
863+
REGISTER_MAIN_STRINGL_CONSTANT("PHP_CONFIG_FILE_PATH", PHP_CONFIG_FILE_PATH, sizeof(PHP_CONFIG_FILE_PATH)-1, CONST_PERSISTENT | CONST_CS);
855864
php_output_register_constants();
856865

857866
if (php_startup_ticks(PLS_C) == FAILURE) {

main/php_ini.c

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,13 +18,13 @@
1818

1919

2020
#include "php.h"
21+
#include "build-defs.h"
2122
#include "ext/standard/info.h"
2223
#include "zend_ini.h"
2324
#include "php_ini.h"
2425
#include "ext/standard/dl.h"
2526
#include "zend_extensions.h"
2627

27-
2828
typedef struct _php_extension_lists {
2929
zend_llist engine;
3030
zend_llist functions;
@@ -210,7 +210,7 @@ int php_init_config(char *php_ini_path_override)
210210
}
211211
free_default_location=1;
212212
#else
213-
default_location = CONFIGURATION_FILE_PATH;
213+
default_location = PHP_CONFIG_FILE_PATH;
214214
free_default_location=0;
215215
#endif
216216
php_ini_search_path = (char *) emalloc(sizeof(".")+strlen(env_location)+strlen(default_location)+2+1);
@@ -332,3 +332,11 @@ PHPAPI int cfg_get_string(char *varname, char **result)
332332
*result = tmp->value.str.val;
333333
return SUCCESS;
334334
}
335+
336+
/*
337+
* Local variables:
338+
* tab-width: 4
339+
* c-basic-offset: 4
340+
* indent-tabs-mode: t
341+
* End:
342+
*/

pear/Makefile.in

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -94,14 +94,18 @@ PEAR_FILES = \
9494
Net/SMTP.php \
9595
Net/Socket.php \
9696
Numbers/Roman.php \
97+
PEAR.php \
98+
PEAR/Common.php \
9799
PEAR/Installer.php \
100+
PEAR/Packager.php \
101+
PEAR/Updater.php \
98102
Payment/Verisign.php \
99103
Schedule/At.php \
100104
XML/Parser.php \
101105
XML/RPC.php \
102106
XML/RPC/Server.php
103107

104-
install-data-local: PEAR.php
108+
install-data-local:
105109
@if $(mkinstalldirs) $(INSTALL_ROOT)$(peardir); then \
106110
for i in $(PEAR_SUBDIRS); do \
107111
(set -x;$(mkinstalldirs) $(INSTALL_ROOT)$(peardir)/$$i); \
@@ -110,9 +114,6 @@ install-data-local: PEAR.php
110114
dir=`echo $$i|sed 's%[^/][^/]*$$%%'`; \
111115
(set -x;$(INSTALL_DATA) $(srcdir)/$$i $(INSTALL_ROOT)$(peardir)/$$dir); \
112116
done; \
113-
for i in PEAR.php; do \
114-
(set -x;$(INSTALL_DATA) $$i $(INSTALL_ROOT)$(peardir)); \
115-
done; \
116117
else \
117118
cat $(srcdir)/install-pear.txt; \
118119
exit 5; \
@@ -183,6 +184,3 @@ scripts/phpize: scripts/phpize.in $(top_builddir)/config.status
183184

184185
scripts/php-config: scripts/php-config.in $(top_builddir)/config.status
185186
(cd ..;CONFIG_FILES=pear/scripts/php-config CONFIG_HEADERS= $(top_builddir)/config.status)
186-
187-
PEAR.php: PEAR.php.in $(top_builddir)/config.status
188-
(cd ..;CONFIG_FILES=pear/PEAR.php CONFIG_HEADERS= $(top_builddir)/config.status)

pear/PEAR.php.in renamed to pear/PEAR.php

Lines changed: 4 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -26,10 +26,6 @@
2626
define('PEAR_ERROR_DIE', 8);
2727
define('PEAR_ERROR_CALLBACK', 16);
2828

29-
define('PHP_BINDIR', '@prefix@/bin');
30-
define('PEAR_INSTALL_DIR', '@PEAR_INSTALLDIR@');
31-
define('PEAR_EXTENSION_DIR', '@EXTENSION_DIR@');
32-
3329
if (substr(PHP_OS, 0, 3) == 'WIN') {
3430
define('OS_WINDOWS', true);
3531
define('OS_UNIX', false);
@@ -40,18 +36,10 @@
4036
define('PEAR_OS', 'Unix'); // blatant assumption
4137
}
4238

43-
if (!defined("DIRECTORY_SEPARATOR")) {
44-
if (OS_WINDOWS) {
45-
define("DIRECTORY_SEPARATOR", "\\");
46-
} else {
47-
define("DIRECTORY_SEPARATOR", "/");
48-
}
49-
}
50-
51-
$_PEAR_default_error_mode = PEAR_ERROR_RETURN;
52-
$_PEAR_default_error_options = E_USER_NOTICE;
53-
$_PEAR_default_error_callback = '';
54-
$_PEAR_destructor_object_list = array();
39+
$GLOBALS['_PEAR_default_error_mode'] = PEAR_ERROR_RETURN;
40+
$GLOBALS['_PEAR_default_error_options'] = E_USER_NOTICE;
41+
$GLOBALS['_PEAR_default_error_callback'] = '';
42+
$GLOBALS['_PEAR_destructor_object_list'] = array();
5543

5644
//
5745
// Tests needed: - PEAR inheritance

0 commit comments

Comments
 (0)