Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit 7787c04

Browse files
configure.ac: use C++ compiler for linking, replaces -lstdc++
If at least one source is C++, ask the C++ compiler to link the executable instead of manually adding `-lstdc++`. The C++ compiler knows best which C++ standard library needs to be used. This is more robust, and allows non-GNU standard libraries such as libc++.
1 parent 060af54 commit 7787c04

File tree

2 files changed

+12
-4
lines changed

2 files changed

+12
-4
lines changed

‎build/php.m4‎

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -742,7 +742,6 @@ AC_DEFUN([PHP_REQUIRE_CXX],[
742742
if test -z "$php_cxx_done"; then
743743
AC_PROG_CXX
744744
AC_PROG_CXXCPP
745-
PHP_ADD_LIBRARY(stdc++)
746745
php_cxx_done=yes
747746
fi
748747
])

‎configure.ac‎

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1664,15 +1664,24 @@ CFLAGS_CLEAN="$CFLAGS \$(PROF_FLAGS)"
16641664
CFLAGS="\$(CFLAGS_CLEAN) $standard_libtool_flag"
16651665
CXXFLAGS="$CXXFLAGS $standard_libtool_flag \$(PROF_FLAGS)"
16661666

1667+
if test -z "$php_cxx_done"; then
1668+
# Link with the C compiler
1669+
LINK_SAPI="\$(CC) -export-dynamic \$(CFLAGS_CLEAN) \$(EXTRA_CFLAGS)"
1670+
else
1671+
# We have at least one C++ source: we have to link with the C++
1672+
# compiler so the correct C++ standard library gets linked
1673+
LINK_SAPI="\$(CXX) -export-dynamic \$(CXXFLAGS_CLEAN) \$(EXTRA_CXXFLAGS)"
1674+
fi
1675+
16671676
case $host_alias in
16681677
*aix*)
1669-
LINK_SAPI="\$(LIBTOOL) --mode=link \$(CC) -export-dynamic \$(CFLAGS_CLEAN) \$(EXTRA_CFLAGS) \$(EXTRA_LDFLAGS_PROGRAM) \$(LDFLAGS) -Wl,-brtl \$(PHP_RPATHS)"
1678+
LINK_SAPI="\$(LIBTOOL) --mode=link $LINK_SAPI -export-dynamic \$(EXTRA_LDFLAGS_PROGRAM) \$(LDFLAGS) -Wl,-brtl \$(PHP_RPATHS)"
16701679
;;
16711680
*darwin*)
1672-
LINK_SAPI="\$(CC) \$(CFLAGS_CLEAN) \$(EXTRA_CFLAGS) \$(EXTRA_LDFLAGS_PROGRAM) \$(LDFLAGS) \$(NATIVE_RPATHS) \$(PHP_FRAMEWORKS)"
1681+
LINK_SAPI="$LINK_SAPI \$(EXTRA_LDFLAGS_PROGRAM) \$(LDFLAGS) \$(NATIVE_RPATHS) \$(PHP_FRAMEWORKS)"
16731682
;;
16741683
*)
1675-
LINK_SAPI="\$(LIBTOOL) --mode=link \$(CC) -export-dynamic \$(CFLAGS_CLEAN) \$(EXTRA_CFLAGS) \$(EXTRA_LDFLAGS_PROGRAM) \$(LDFLAGS) \$(PHP_RPATHS)"
1684+
LINK_SAPI="\$(LIBTOOL) --mode=link $LINK_SAPI -export-dynamic \$(EXTRA_LDFLAGS_PROGRAM) \$(LDFLAGS) \$(PHP_RPATHS)"
16761685
;;
16771686
esac
16781687

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /