History log of /php-src/UPGRADING.INTERNALS (Results 26 – 50 of 442)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
(<<< Hide modified files)
(Show modified files >>>)
# c02c1d44 08-Aug-2024 Arnaud Le Blanc

Change YIELD/YIELD_FROM to do not increment opline (#15328)

YIELD and YIELD_FROM increment opline before returning, but in most places
we need the opline to point to the YIELD and YIELD_

Change YIELD/YIELD_FROM to do not increment opline (#15328)

YIELD and YIELD_FROM increment opline before returning, but in most places
we need the opline to point to the YIELD and YIELD_FROM.

Here I change YIELD / YIELD_FROM to not increment opline. This simplifies the
code and fixes GH-15275 in a better way.

Closes GH-15328

show more ...


# 3a30c29d 09-Aug-2024 Peter Kokot

Autotools: Add pkg-config support for NET-SNMP library (#15261)

NET-SNMP has pkg-config support since 5.8.1

This optionally finds the NET-SNMP library using pkg-config or falls

Autotools: Add pkg-config support for NET-SNMP library (#15261)

NET-SNMP has pkg-config support since 5.8.1

This optionally finds the NET-SNMP library using pkg-config or falls
back to find library on the system with net-snmp-config. The configure
option argument (--with-snmp=DIR) works like before (path to the
net-snmp-config).

When explicitly using the DIR argument, the pkg-config check is silently
skipped.

When not using DIR argument, the SNMP_CFLAGS and SNMP_LIBS can be also
used to find the NET-SNMP library:

./configure --with-snmp \
SNMP_CFLAGS=-I/path/to/net-snmp/include \
SNMP_LIBS="-L/path/to/net-snmp -lnetsnmp"

Co-authored-by: Calvin Buckley <calvin@cmpct.info>

show more ...


# c68b43c7 08-Aug-2024 Ilija Tovilo

[skip ci] Add UPGRADING.INTERNALS note for ZEND_DIM_ALTERNATIVE_SYNTAX


# d5c45225 02-Aug-2024 Christoph M. Becker

Use new MSVC preprocessor for VS 17 builds

From the documentation[1]:

| We're updating the Microsoft C++ preprocessor to improve standards
| conformance, fix longstanding bugs,

Use new MSVC preprocessor for VS 17 builds

From the documentation[1]:

| We're updating the Microsoft C++ preprocessor to improve standards
| conformance, fix longstanding bugs, and change some behaviors that
| are officially undefined. We've also added new diagnostics to warn
| on errors in macro definitions.

Thus it appears to be sensible to switch to the new preprocessor for
all VS17 builds. Note that although the new preprocessor is available
as of VS16.5 (i.e. `version >= 1925`), we don't want to potentially
break older builds, and as such use the new preprocessor only for VS17
builds. Users who wish to use the new preprocessor with VS16, can
still `set CFLAGS=/Zc:preprocessor` before running `buildconf`/`phpize`.

[1] <https://learn.microsoft.com/en-us/cpp/preprocessor/preprocessor-experimental-overview?view=msvc-170>

Closes GH-15201.

show more ...


# 0c3b7677 06-Aug-2024 Peter Kokot

Autotools: Add pkg-config for GMP library (#15166)

GMP has pkg-config integration since 2019-08-22 (version ~6.2.0).

This optionally finds the GMP library using pkg-config or falls

Autotools: Add pkg-config for GMP library (#15166)

GMP has pkg-config integration since 2019-08-22 (version ~6.2.0).

This optionally finds the GMP library using pkg-config or falls back to
find library on the system or with the provided configure option
argument (--with-gmp=DIR).

When using DIR argument, the pkg-config check is silently skipped.

When not using DIR argument, the GMP_CFLAGS and GMP_LIBS can be also
used to find the GMP library:

./configure --with-gmp \
GMP_CFLAGS=-I/path/to/gmp/include \
GMP_LIBS="-L/path/to/gmp -lgmp"

show more ...


# a0c29f08 05-Aug-2024 Niels Dossche <7771979+nielsdos@users.noreply.github.com>

Use unsigned int instead of int for refcount for libxml objects (#15247)


# 50217b35 05-Aug-2024 Ilija Tovilo

Remove IS_STATIC_VAR_UNINITIALIZED (#15227)

This flag was never necessary. We know a static variable is uninitialized (i.e.
the initializer has never been called) iff the zval in the sta

Remove IS_STATIC_VAR_UNINITIALIZED (#15227)

This flag was never necessary. We know a static variable is uninitialized (i.e.
the initializer has never been called) iff the zval in the static variable array
does not contain a reference.

Prompted by a related issue in ext-uopz reported by Christoph.

show more ...


# 6910167c 04-Aug-2024 Tim Düsterhus

random: Remove engine_combinedlcg.c (#15216)

The standalone engine cannot be usefully used for any other purpose. Remove it
and inline the implementation into the `php_combined_lcg()` fu

random: Remove engine_combinedlcg.c (#15216)

The standalone engine cannot be usefully used for any other purpose. Remove it
and inline the implementation into the `php_combined_lcg()` function.

show more ...


# 4f07cdc5 03-Aug-2024 Peter Kokot

Replace PHP_OUTPUT with AC_CONFIG_FILES (#15186)

This is a follow-up of GH-15177
(c96f08aa70d75736fe227975804f998c408acaaf)
and GH-15185
(9467ffb43c0eb271f32f6e435799ccc36bc2b52b

Replace PHP_OUTPUT with AC_CONFIG_FILES (#15186)

This is a follow-up of GH-15177
(c96f08aa70d75736fe227975804f998c408acaaf)
and GH-15185
(9467ffb43c0eb271f32f6e435799ccc36bc2b52b)

The PHP_OUTPUT macro was introduced in the very early phase of the build
system due to AC_OUTPUT handling issues in the old Autoconf versions
before the AC_CONFIG_FILES, AC_CONFIG_COMMANDS etc were introduced with
the AC_OUTPUT signature without arguments. The PHP_OUTPUT was also
helping Makefile.in back then being properly generated based on whether
all files were generated or only some (when using the obsolete
CONFIG_FILES=... ./config.status invocation instead of the new
./config.status --file=...). Another issue is that PHP_OUTPUT can't be
used by extensions when using phpize.

This replaces the PHP_OUTPUT invocations with default AC_CONFIG_FILES.

The obsolete "REDO_ALL" feature at the config.status invocation is also
removed with a simpler unconditional generation.

In phar extension the "ext/phar" is replaced with $ext_dir variable to
be able to use phpize.

show more ...


# 9ea290b7 29-Jul-2024 Peter Kokot

Sync HAVE_ICONV preprocessor macro usage (#15148)

HAVE_ICONV marks that PHP extension 'iconv' is available, and not only
that iconv library or its functions/headers are available.


# 32210ce9 27-Jul-2024 Peter Kokot

Autotools: Sync CS in XML related extensions (#15110)

- PHP_SETUP_LIBXML arguments quoted
- Help texts updated for HAVE_LIBXML, HAVE_DOM, HAVE_XMLREADER,
HAVE_XMLWRITER, HAVE_SOAP,

Autotools: Sync CS in XML related extensions (#15110)

- PHP_SETUP_LIBXML arguments quoted
- Help texts updated for HAVE_LIBXML, HAVE_DOM, HAVE_XMLREADER,
HAVE_XMLWRITER, HAVE_SOAP, HAVE_SIMPLEXML, and HAVE_XML CPP macros
- Duplicate HAVE_LIBXML symbol definition in PHP_SETUP_LIBXML M4 macro
removed (the HAVE_LIBXML marks that PHP libxml extension is available and
not only that libxml2 library is available)

show more ...


# 40e0d3a2 22-Jul-2024 Peter Kokot

Autotools: Check for crypt and crypt_r with AC_* macros (#15060)

This checks if crypt and crypt_r functions are available on the system
in default libraries or in the crypt library with

Autotools: Check for crypt and crypt_r with AC_* macros (#15060)

This checks if crypt and crypt_r functions are available on the system
in default libraries or in the crypt library with the AC_SEARCH_LIBS.
The redundant HAVE_LIBCRYPT symbol is removed.

show more ...


# e6089b09 22-Jul-2024 Peter Kokot

Add upgrading note about Autoconf cache variables (#14985)

[skip ci]


# 1fbb6665 17-Jul-2024 Arnaud Le Blanc

Use zend_std_build_properties() to access zend_object.properties

The zend_object.properties HashTable needs to be built just in time by calling
rebuild_object_properties() on the object

Use zend_std_build_properties() to access zend_object.properties

The zend_object.properties HashTable needs to be built just in time by calling
rebuild_object_properties() on the object before accessing it. Normally this is
done automatically in zend_std_get_properties(), but we do it manually in a few
places.

In this change I introduce an inline variant of zend_std_build_properties(), and
refactor these places to use it instead of calling rebuild_object_properties()
manually.

rebuild_object_properties() renamed as rebuild_object_properties_internal(), to
enforce usage of zend_std_get_properties() or zend_std_build_properties_ex().

Closes GH-14996

show more ...


# 436baae1 18-Jul-2024 Peter Kokot

[skip ci] Sync HAVE_SIGSETJMP removal

This adds notice in the UPGRADING.INTERNALS file and removes redundant
undefinition from Windows config header.

Follow-up of GH-14942.


# 9c84d247 15-Jul-2024 Peter Kokot

[skip ci] Update UPGRADING.INTERNALS

Related to GH-14963


# 808d5b30 13-Jul-2024 Peter Kokot

[ci skip] Add note about --with-openssl-legacy-provider

Added here to have all build system configuration options changes also
at one place for easier overview.

Option added via

[ci skip] Add note about --with-openssl-legacy-provider

Added here to have all build system configuration options changes also
at one place for easier overview.

Option added via GH-13951

show more ...


# 8fe127a5 12-Jul-2024 Peter Kokot

Autotools: Enhance PHP_EVAL_LIBLINE M4 macro (#14924)

PHP_EVAL_LIBALINE macro processes the given libraries flags (-l) and/or
library paths flags (-L) and appends the -l flags to either

Autotools: Enhance PHP_EVAL_LIBLINE M4 macro (#14924)

PHP_EVAL_LIBALINE macro processes the given libraries flags (-l) and/or
library paths flags (-L) and appends the -l flags to either LIBS or the
given *_SHARED_LIBADD variables. The -L flags are appended to the
LDFLAGS. The new 3rd argument enables appending libraries to the given
variable in the 2nd argument without manual setting whether the
extension is shared. For example, to simplify usage in SAPIs where
additional libraries need to be appended but they shouldn't go to the
global LIBS. This can be then used in PHP-FPM SAPI to link apparmor,
SELinux, systemd, etc.

show more ...


# 9e94d2b0 08-Jul-2024 Peter Kokot

Autotools: Refactor builtin checks (#14835)

This creates a single M4 macro PHP_CHECK_BUILTIN and removes other
PHP_CHECK_BUILTIN_* macros. Checks are wrapped in AC_CACHE_CHECK and
PH

Autotools: Refactor builtin checks (#14835)

This creates a single M4 macro PHP_CHECK_BUILTIN and removes other
PHP_CHECK_BUILTIN_* macros. Checks are wrapped in AC_CACHE_CHECK and
PHP_HAVE_BUILTIN_* CPP macro definitions are defined to 1 if builtin
is found and undefined if not.

This also changes all PHP_HAVE_BUILTIN_ symbols to be either undefined
or defined (to value 1) and syncs all #if/ifdef/defined usages of them
in the php-src code. This way it is simpler to use them because they
don't need to be defined to value 0 on Windows, for example. This is
done as previous usages in php-src were mixed and on many places they
were only checked with ifdef.

show more ...


# 3d8bd8fe 07-Jul-2024 Peter Kokot

Remove unused HAVE_PHPDBG (#14864)

This is not defined on Windows and isn't used. Also phpdbg doesn't
install any headers to the public usage.


# 1bdf9aa3 07-Jul-2024 Peter Kokot

Remove support for EOL Apache 2.0 and 2.2 in favor of 2.4+ (#14664)

Apache 2.2 has been marked as EOL in December 2017 and doesn't receive
security patches any longer. Also, most *nix di

Remove support for EOL Apache 2.0 and 2.2 in favor of 2.4+ (#14664)

Apache 2.2 has been marked as EOL in December 2017 and doesn't receive
security patches any longer. Also, most *nix distributions and packages
mostly support 2.4 as minimum by now.

On Windows, this removes the configure option --enable-apache2-2handler
and merges the --enable-apache2handler and --enable-apache2-4handler
into a single option with favoring the --enable-apache2handler.

- The upstream MODULE_MAGIC_NUMBER is deprecated in favor of
MODULE_MAGIC_NUMBER_MAJOR in apache2/ap_mmn.h
- The initial upstream MODULE_MAGIC_NUMBER_MAJOR was 20111025 in Apache
2.4.0
- The upstream APLOG_USE_MODULE is always available since Apache 2.3.6
- The upstream CORE_PRIVATE is unnecessary and ignored since Apache
2.4.0

See:
https://forum.apachehaus.com/news-general-discussion/apache-2-2-users-your-time-is-running-out/

Discussion: https://news-web.php.net/php.internals/124067

show more ...


# e9254494 07-Jul-2024 Peter Kokot

Autotools: Simplify POSIX Threads check (#14855)

The PTHREADS_CHECK is using cache variables so it is run only once early
during the configuration phase, before including SAPI and other

Autotools: Simplify POSIX Threads check (#14855)

The PTHREADS_CHECK is using cache variables so it is run only once early
during the configuration phase, before including SAPI and other M4
files. This removes the TSRM_CHECK_PTHREADS macro and moves the POSIX
Threads check after the PHP_THREAD_SAFETY variable is set in
configure.ac.

The check and error throw in PHP_BUILD_THREAD_SAFE is also joing into
this single check.

This removes the redundant tsrm.m4 file and PHP_CONFIGURE_PART call for
TSRM as it doesn't run any configuration checks anymore.

show more ...


# b41e90c6 06-Jul-2024 Niels Dossche <7771979+nielsdos@users.noreply.github.com>

Fix bug #81481 (xml_get_current_byte_index limited to 32-bit numbers on 64-bit builds) (#14845)

The return value is long in both expat and expat2 (with XML_LARGE_SIZE
not set).


# d7ddf83d 05-Jul-2024 Peter Kokot

Autotools: Refactor AVX-512 checks (#14831)

* Autotools: Refactor AVX-512 checks

- CS synced
- checks wrapped in AC_CACHE_CHECK
- CPP macros PHP_HAVE_AVX512_SUPPORTS and PHP

Autotools: Refactor AVX-512 checks (#14831)

* Autotools: Refactor AVX-512 checks

- CS synced
- checks wrapped in AC_CACHE_CHECK
- CPP macros PHP_HAVE_AVX512_SUPPORTS and PHP_HAVE_AVX512_VBMI_SUPPORTS
are now either defined to 1 or undefined to avoid manual defining on
Windows (previously they should be either 0 or 1)

* [skip ci] Add basic macros help texts

show more ...


# 1a380989 04-Jul-2024 Peter Kokot

Remove HAVE_STRPTIME_DECL_FAILS (#14821)

The strptime, where available, needs the _GNU_SOURCE defined or compiler
flag -std=gnuXX appended to be declared in time.h. PHP's strptime is

Remove HAVE_STRPTIME_DECL_FAILS (#14821)

The strptime, where available, needs the _GNU_SOURCE defined or compiler
flag -std=gnuXX appended to be declared in time.h. PHP's strptime is
also deprecated as of PHP 8.1.

This removes the HAVE_STRPTIME_DECL_FAILS in favor of a simpler
AC_CHECK_DECL check and HAVE_DECL_STRPTIME CPP macro.

show more ...


12345678910>>...18