mirror of
https://github.com/php/php-src.git
synced 2026-03-30 20:22:36 +02:00
Remove unneeded --disable-inline-optimization build parameter
In 1999, inline optimization was turned off by default. The commit log indicates this was done because GCC was running out of memory on some hosts when building the Zend executor. In 2003, inline optimization was re-enabled by default, but a build option was added to turn it off if one runs out of memory when building. Computing hardware has come a long way since 2003 and I doubt that anyone is running out of memory when building PHP now. Interestingly, this code set an unused variable called `INLINE_CFLAGS`. It actually disabled inline optimization by adding -O0 to the build command, not using `INLINE_CFLAGS`. Just to see how much memory GCC/Make are using when building PHP, I tried building with successively higher values of `ulimit -v` until it succeeded. Interestingly, while most of the codebase can be built with about 400MB of memory, ext/fileinfo/libmagic/apprentice.c requires 1.2GB, doubtless because it includes ext/fileinfo/data_file.c, which is more than 350,000 lines long. That is with GCC 7.5.0. Most users get PHP as a binary package anyways, so the question is, are *packagers* of PHP trying to build on machines with just 1GB RAM? And would they want to package a PHP interpreter built with *no optimizations*? I can't imagine either being true.
This commit is contained in:
19
Zend/Zend.m4
19
Zend/Zend.m4
@@ -196,18 +196,9 @@ AC_ARG_ENABLE([zts],
|
|||||||
[ZEND_ZTS=$enableval],
|
[ZEND_ZTS=$enableval],
|
||||||
[ZEND_ZTS=no])
|
[ZEND_ZTS=no])
|
||||||
|
|
||||||
AC_ARG_ENABLE([inline-optimization],
|
|
||||||
[AS_HELP_STRING([--disable-inline-optimization],
|
|
||||||
[If building zend_execute.lo fails, try this switch])],
|
|
||||||
[ZEND_INLINE_OPTIMIZATION=$enableval],
|
|
||||||
[ZEND_INLINE_OPTIMIZATION=yes])
|
|
||||||
|
|
||||||
AC_MSG_CHECKING(whether to enable thread-safety)
|
AC_MSG_CHECKING(whether to enable thread-safety)
|
||||||
AC_MSG_RESULT($ZEND_ZTS)
|
AC_MSG_RESULT($ZEND_ZTS)
|
||||||
|
|
||||||
AC_MSG_CHECKING(whether to enable inline optimization for GCC)
|
|
||||||
AC_MSG_RESULT($ZEND_INLINE_OPTIMIZATION)
|
|
||||||
|
|
||||||
AC_MSG_CHECKING(whether to enable Zend debugging)
|
AC_MSG_CHECKING(whether to enable Zend debugging)
|
||||||
AC_MSG_RESULT($ZEND_DEBUG)
|
AC_MSG_RESULT($ZEND_DEBUG)
|
||||||
|
|
||||||
@@ -232,18 +223,8 @@ if test "$ZEND_ZTS" = "yes"; then
|
|||||||
CFLAGS="$CFLAGS -DZTS"
|
CFLAGS="$CFLAGS -DZTS"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
changequote({,})
|
|
||||||
if test -n "$GCC" && test "$ZEND_INLINE_OPTIMIZATION" != "yes"; then
|
|
||||||
INLINE_CFLAGS=`echo $ac_n "$CFLAGS $ac_c" | sed s/-O[0-9s]*//`
|
|
||||||
else
|
|
||||||
INLINE_CFLAGS="$CFLAGS"
|
|
||||||
fi
|
|
||||||
changequote([,])
|
|
||||||
|
|
||||||
AC_C_INLINE
|
AC_C_INLINE
|
||||||
|
|
||||||
AC_SUBST(INLINE_CFLAGS)
|
|
||||||
|
|
||||||
AC_MSG_CHECKING(target system is Darwin)
|
AC_MSG_CHECKING(target system is Darwin)
|
||||||
if echo "$target" | grep "darwin" > /dev/null; then
|
if echo "$target" | grep "darwin" > /dev/null; then
|
||||||
AC_DEFINE([DARWIN], 1, [Define if the target system is darwin])
|
AC_DEFINE([DARWIN], 1, [Define if the target system is darwin])
|
||||||
|
|||||||
14
configure.ac
14
configure.ac
@@ -1371,7 +1371,6 @@ old_CC=$CC
|
|||||||
|
|
||||||
if test "$PHP_THREAD_SAFETY" = "yes" && test -n "$ac_cv_pthreads_cflags"; then
|
if test "$PHP_THREAD_SAFETY" = "yes" && test -n "$ac_cv_pthreads_cflags"; then
|
||||||
CXXFLAGS="$CXXFLAGS $ac_cv_pthreads_cflags"
|
CXXFLAGS="$CXXFLAGS $ac_cv_pthreads_cflags"
|
||||||
INLINE_CFLAGS="$INLINE_CFLAGS $ac_cv_pthreads_cflags"
|
|
||||||
CPPFLAGS="$CPPFLAGS $ac_cv_pthreads_cflags"
|
CPPFLAGS="$CPPFLAGS $ac_cv_pthreads_cflags"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
@@ -1425,7 +1424,6 @@ PHP_CONFIGURE_PART(Generating files)
|
|||||||
CXXFLAGS_CLEAN=$CXXFLAGS
|
CXXFLAGS_CLEAN=$CXXFLAGS
|
||||||
CFLAGS_CLEAN="$CFLAGS \$(PROF_FLAGS)"
|
CFLAGS_CLEAN="$CFLAGS \$(PROF_FLAGS)"
|
||||||
CFLAGS="\$(CFLAGS_CLEAN) $standard_libtool_flag"
|
CFLAGS="\$(CFLAGS_CLEAN) $standard_libtool_flag"
|
||||||
INLINE_CFLAGS="$INLINE_CFLAGS $standard_libtool_flag"
|
|
||||||
CXXFLAGS="$CXXFLAGS $standard_libtool_flag \$(PROF_FLAGS)"
|
CXXFLAGS="$CXXFLAGS $standard_libtool_flag \$(PROF_FLAGS)"
|
||||||
|
|
||||||
if test "$PHP_PHAR" != "no" && test "$PHP_CLI" != "no"; then
|
if test "$PHP_PHAR" != "no" && test "$PHP_CLI" != "no"; then
|
||||||
@@ -1470,7 +1468,7 @@ PHP_ADD_SOURCES(Zend, \
|
|||||||
zend_execute_API.c zend_highlight.c zend_llist.c \
|
zend_execute_API.c zend_highlight.c zend_llist.c \
|
||||||
zend_vm_opcodes.c zend_opcode.c zend_operators.c zend_ptr_stack.c zend_stack.c \
|
zend_vm_opcodes.c zend_opcode.c zend_operators.c zend_ptr_stack.c zend_stack.c \
|
||||||
zend_variables.c zend.c zend_API.c zend_extensions.c zend_hash.c \
|
zend_variables.c zend.c zend_API.c zend_extensions.c zend_hash.c \
|
||||||
zend_list.c zend_builtin_functions.c zend_attributes.c \
|
zend_list.c zend_builtin_functions.c zend_attributes.c zend_execute.c \
|
||||||
zend_ini.c zend_sort.c zend_multibyte.c zend_ts_hash.c zend_stream.c \
|
zend_ini.c zend_sort.c zend_multibyte.c zend_ts_hash.c zend_stream.c \
|
||||||
zend_iterators.c zend_interfaces.c zend_exceptions.c zend_strtod.c zend_gc.c \
|
zend_iterators.c zend_interfaces.c zend_exceptions.c zend_strtod.c zend_gc.c \
|
||||||
zend_closures.c zend_weakrefs.c zend_float.c zend_string.c zend_signal.c zend_generators.c \
|
zend_closures.c zend_weakrefs.c zend_float.c zend_string.c zend_signal.c zend_generators.c \
|
||||||
@@ -1478,16 +1476,6 @@ PHP_ADD_SOURCES(Zend, \
|
|||||||
zend_default_classes.c zend_inheritance.c zend_smart_str.c zend_cpuinfo.c zend_gdb.c, \
|
zend_default_classes.c zend_inheritance.c zend_smart_str.c zend_cpuinfo.c zend_gdb.c, \
|
||||||
-DZEND_ENABLE_STATIC_TSRMLS_CACHE=1)
|
-DZEND_ENABLE_STATIC_TSRMLS_CACHE=1)
|
||||||
|
|
||||||
dnl Selectively disable optimization due to high RAM usage during compiling the
|
|
||||||
dnl executor.
|
|
||||||
if test -n "$GCC" && test "$ZEND_INLINE_OPTIMIZATION" != "yes"; then
|
|
||||||
flag=-O0
|
|
||||||
else
|
|
||||||
flag=
|
|
||||||
fi
|
|
||||||
|
|
||||||
PHP_ADD_SOURCES_X(Zend, zend_execute.c, -DZEND_ENABLE_STATIC_TSRMLS_CACHE=1,PHP_GLOBAL_OBJS,,$flag)
|
|
||||||
|
|
||||||
PHP_ADD_BUILD_DIR(main main/streams)
|
PHP_ADD_BUILD_DIR(main main/streams)
|
||||||
PHP_ADD_BUILD_DIR(TSRM)
|
PHP_ADD_BUILD_DIR(TSRM)
|
||||||
PHP_ADD_BUILD_DIR(Zend)
|
PHP_ADD_BUILD_DIR(Zend)
|
||||||
|
|||||||
Reference in New Issue
Block a user