Skip to content

Commit 13b83a4

Browse files
NattyNarwhalpetk
andauthored
Bump libtool to serial 63 from 2.5.4 (#21067)
The libtool 1.5.26 is bundled with PHP since the very early days of the Autotools build system to ease the building process and avoid additional dependency on the system Libtool. This updates the bundled libtool to 2.5.4 version. Fixes and implementations: - Fixed race conditions when building PHP in parallel ("cannot create .libs" warnings). - Implements request https://bugs.php.net/70374 (Update libtool.m4) - Fixes libtool eating -flto flags. - Fixes GH-17310 (configure producing errors on macOS) - Fixes GH-15946 (./configure error when building with NixOS) Changes: - Add a script to update autotools files. - libtool is spread across multiple files; phpize is updated to handle this. - Remove outdated hacks, i.e. for `ar`. - Remove documentation references to external libtool, as we vendor it. - `--with-pic` is now `--enable-pic`. Error out on the old flag. - On macOS linker now uses -undefined dynamic_lookup flag for shared extensions and shared embed SAPI (libphp) instead of older '-undefined suppress -flat_namespace' combination. Co-authored-by: Peter Kokot <peterkokot@gmail.com>
1 parent 79556df commit 13b83a4

File tree

18 files changed

+18681
-11247
lines changed

18 files changed

+18681
-11247
lines changed

CONTRIBUTING.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -176,6 +176,7 @@ locations.
176176
├─ config.guess # https://git.savannah.gnu.org/cgit/config.git
177177
├─ config.sub # https://git.savannah.gnu.org/cgit/config.git
178178
├─ libtool.m4 # https://git.savannah.gnu.org/cgit/libtool.git
179+
├─ lt*.m4 # https://git.savannah.gnu.org/cgit/libtool.git
179180
├─ ltmain.sh # https://git.savannah.gnu.org/cgit/libtool.git
180181
├─ pkg.m4 # https://gitlab.freedesktop.org/pkg-config/pkg-config
181182
├─ shtool # https://www.gnu.org/software/shtool/

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ sudo apt install -y pkg-config build-essential autoconf bison re2c libxml2-dev l
4949
On Fedora, you can install these using:
5050

5151
```shell
52-
sudo dnf install re2c bison autoconf make libtool ccache libxml2-devel sqlite-devel
52+
sudo dnf install re2c bison autoconf make ccache libxml2-devel sqlite-devel
5353
```
5454

5555
On MacOS, you can install these using `brew`:

UPGRADING.INTERNALS

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -89,6 +89,14 @@ PHP 8.6 INTERNALS UPGRADE NOTES
8989
zend_enum_fetch_case_id(zend_object*).
9090

9191
- Unix build system changes:
92+
. scripts/dev/update-autoconf.sh has been added to update config.*/libtool.
93+
. libtool has been upgraded to 2.5.4 (serial 63), which fixes many bugs.
94+
. As part of the upgrade to the new libtool:
95+
. libtool is now spread across multiple files. phpize has been updated to
96+
handle this.
97+
. On macOS, libtool now uses -undefined dynamic_lookup for shared objects,
98+
instead of -undefined suppress -flat_namespace.
99+
. --with-pic is now --enable-pic. The old flag will result in an error.
92100
. Symbol HAVE_ST_BLOCKS has been removed from php_config.h (use
93101
HAVE_STRUCT_STAT_ST_BLOCKS).
94102

Zend/Zend.m4

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -118,7 +118,7 @@ dnl Ugly hack to check if dlsym() requires a leading underscore in symbol name.
118118
dnl
119119
AC_DEFUN([ZEND_DLSYM_CHECK], [dnl
120120
AC_MSG_CHECKING([whether dlsym() requires a leading underscore in symbol names])
121-
_LT_AC_TRY_DLOPEN_SELF([AC_MSG_RESULT([no])], [
121+
_LT_TRY_DLOPEN_SELF([AC_MSG_RESULT([no])], [
122122
AC_MSG_RESULT([yes])
123123
AC_DEFINE([DLSYM_NEEDS_UNDERSCORE], [1],
124124
[Define to 1 if 'dlsym()' requires a leading underscore in symbol names.])

0 commit comments

Comments
 (0)