build: libcody: Link with -lsocket -lnsl if necessary [PR98316]
authorRainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
Tue, 5 Jan 2021 10:32:31 +0000 (11:32 +0100)
committerRainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
Tue, 5 Jan 2021 10:32:31 +0000 (11:32 +0100)
commita20893cf6b95f60f5319b2196621acc65180125c
treea9758792f3a9e925d450b313def0d351a93ab00f
parent4615cde5d7ef281d4b554df411f82ad707f0a54d
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.
c++tools/Makefile.in
c++tools/configure
c++tools/configure.ac
config/ax_lib_socket_nsl.m4 [new file with mode: 0644]
gcc/Makefile.in
gcc/aclocal.m4
gcc/configure
gcc/configure.ac
gcc/cp/Make-lang.in
gcc/objcp/Make-lang.in