diff options
author | Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> | 2021-01-05 11:32:31 +0100 |
---|---|---|
committer | Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> | 2021-01-05 11:32:31 +0100 |
commit | a20893cf6b95f60f5319b2196621acc65180125c (patch) | |
tree | a9758792f3a9e925d450b313def0d351a93ab00f /c++tools/configure.ac | |
parent | 4615cde5d7ef281d4b554df411f82ad707f0a54d (diff) | |
download | gcc-a20893cf6b95f60f5319b2196621acc65180125c.zip gcc-a20893cf6b95f60f5319b2196621acc65180125c.tar.gz gcc-a20893cf6b95f60f5319b2196621acc65180125c.tar.bz2 |
build: libcody: Link with -lsocket -lnsl if necessary [PR98316]
With the introduction of C++20 modules and libcody, cc1plus and
cc1objplus gained a dependency on the socket functions. Before those
were merged into libc in Solaris 11.4, one needed to link with -lsocket -lnsl
on Solaris, so that merge broke the Solaris 11.3 build.
While we already have 4 different checks for those libraries in the
tree, I decided to import autoconf-archive's AX_LIB_SOCKET_NSL macro
instead. At the same time, the patch only links libcody and the
networking libs where needed (cc1plus, cc1objplus).
Bootstrapped without regressions on i386-pc-solaris2.11 (Solaris 11.3
and 11.4), sparc-sun-solaris2.11, and x86_64-pc-linux-gnu.
2020-12-16 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
c++tools:
PR c++/98316
* configure.ac: Include ../config/ax_lib_socket_nsl.m4.
(NETLIBS): Determine using AX_LIB_SOCKET_NSL.
* configure: Regenerate.
* Makefile.in (NETLIBS): Define.
(g++-mapper-server$(exeext)): Add $(NETLIBS).
gcc/objcp:
PR c++/98316
* Make-lang.in (cc1objplus$(exeext)): Add $(CODYLIB), $(NETLIBS).
gcc/cp:
PR c++/98316
* Make-lang.in (cc1plus$(exeext)): Add $(CODYLIB), $(NETLIBS).
gcc:
PR c++/98316
* configure.ac (NETLIBS): Determine using AX_LIB_SOCKET_NSL.
* aclocal.m4, configure: Regenerate.
* Makefile.in (NETLIBS): Define.
(BACKEND): Remove $(CODYLIB).
config:
PR c++/98316
* ax_lib_socket_nsl.m4: Import from autoconf-archive.
Diffstat (limited to 'c++tools/configure.ac')
-rw-r--r-- | c++tools/configure.ac | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/c++tools/configure.ac b/c++tools/configure.ac index 1100dc2..5771f2a 100644 --- a/c++tools/configure.ac +++ b/c++tools/configure.ac @@ -22,6 +22,7 @@ # By default g++ uses an in-process mapper. sinclude(../config/acx.m4) +sinclude(../config/ax_lib_socket_nsl.m4) AC_INIT(c++tools) @@ -218,6 +219,15 @@ fi # Determine what GCC version number to use in filesystem paths. GCC_BASE_VER +# Solaris needs libsocket and libnsl for socket functions before 11.4. +# libcody uses those. +save_LIBS="$LIBS" +LIBS= +AX_LIB_SOCKET_NSL +NETLIBS="$LIBS" +LIBS="$save_LIBS" +AC_SUBST(NETLIBS) + AC_CONFIG_HEADERS([config.h]) AC_CONFIG_FILES([Makefile]) |