Fix libphobos linking on Solaris 11

* m4/druntime/libraries.m4 (DRUNTIME_LIBRARIES_NET): New macro.
	* configure.ac: Invoke it.
	* configure: Regenerate.

From-SVN: r269012
This commit is contained in:
Rainer Orth 2019-02-19 09:24:50 +00:00 committed by Rainer Orth
parent 0db1a7c2e9
commit 1d67913472
4 changed files with 156 additions and 0 deletions

View File

@ -1,3 +1,9 @@
2019-02-19 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
* m4/druntime/libraries.m4 (DRUNTIME_LIBRARIES_NET): New macro.
* configure.ac: Invoke it.
* configure: Regenerate.
2019-02-19 Johannes Pfau <johannespfau@gmail.com>
PR d/88127

115
libphobos/configure vendored
View File

@ -14749,6 +14749,121 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for socket libraries" >&5
$as_echo_n "checking for socket libraries... " >&6; }
if ${druntime_cv_lib_sockets+:} false; then :
$as_echo_n "(cached) " >&6
else
druntime_cv_lib_sockets=
druntime_check_both=no
ac_fn_c_check_func "$LINENO" "connect" "ac_cv_func_connect"
if test "x$ac_cv_func_connect" = xyes; then :
druntime_check_socket=no
else
druntime_check_socket=yes
fi
if test "$druntime_check_socket" = "yes"; then
unset ac_cv_func_connect
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for main in -lsocket" >&5
$as_echo_n "checking for main in -lsocket... " >&6; }
if ${ac_cv_lib_socket_main+:} false; then :
$as_echo_n "(cached) " >&6
else
ac_check_lib_save_LIBS=$LIBS
LIBS="-lsocket $LIBS"
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
int
main ()
{
return main ();
;
return 0;
}
_ACEOF
if ac_fn_c_try_link "$LINENO"; then :
ac_cv_lib_socket_main=yes
else
ac_cv_lib_socket_main=no
fi
rm -f core conftest.err conftest.$ac_objext \
conftest$ac_exeext conftest.$ac_ext
LIBS=$ac_check_lib_save_LIBS
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_socket_main" >&5
$as_echo "$ac_cv_lib_socket_main" >&6; }
if test "x$ac_cv_lib_socket_main" = xyes; then :
druntime_cv_lib_sockets="-lsocket"
else
druntime_check_both=yes
fi
fi
if test "$druntime_check_both" = "yes"; then
druntime_old_libs=$LIBS
LIBS="$LIBS -lsocket -lnsl"
unset ac_cv_func_accept
ac_fn_c_check_func "$LINENO" "accept" "ac_cv_func_accept"
if test "x$ac_cv_func_accept" = xyes; then :
druntime_check_nsl=no
druntime_cv_lib_sockets="-lsocket -lnsl"
fi
unset ac_cv_func_accept
LIBS=$druntime_old_libs
fi
unset ac_cv_func_gethostbyname
druntime_old_libs="$LIBS"
ac_fn_c_check_func "$LINENO" "gethostbyname" "ac_cv_func_gethostbyname"
if test "x$ac_cv_func_gethostbyname" = xyes; then :
else
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for main in -lnsl" >&5
$as_echo_n "checking for main in -lnsl... " >&6; }
if ${ac_cv_lib_nsl_main+:} false; then :
$as_echo_n "(cached) " >&6
else
ac_check_lib_save_LIBS=$LIBS
LIBS="-lnsl $LIBS"
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
int
main ()
{
return main ();
;
return 0;
}
_ACEOF
if ac_fn_c_try_link "$LINENO"; then :
ac_cv_lib_nsl_main=yes
else
ac_cv_lib_nsl_main=no
fi
rm -f core conftest.err conftest.$ac_objext \
conftest$ac_exeext conftest.$ac_ext
LIBS=$ac_check_lib_save_LIBS
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_nsl_main" >&5
$as_echo "$ac_cv_lib_nsl_main" >&6; }
if test "x$ac_cv_lib_nsl_main" = xyes; then :
druntime_cv_lib_sockets="$druntime_cv_lib_sockets -lnsl"
fi
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $druntime_cv_lib_sockets" >&5
$as_echo "$druntime_cv_lib_sockets" >&6; }
LIBS="$LIBS $druntime_cv_lib_sockets"
# Check whether --with-target-system-zlib was given.
if test "${with_target_system_zlib+set}" = set; then :

View File

@ -141,6 +141,7 @@ WITH_LOCAL_DRUNTIME([
DRUNTIME_LIBRARIES_ATOMIC
DRUNTIME_LIBRARIES_BACKTRACE
DRUNTIME_LIBRARIES_DLOPEN
DRUNTIME_LIBRARIES_NET
DRUNTIME_LIBRARIES_ZLIB
DRUNTIME_INSTALL_DIRECTORIES

View File

@ -42,6 +42,40 @@ AC_DEFUN([DRUNTIME_LIBRARIES_DLOPEN],
])
# DRUNTIME_LIBRARIES_NET
# -----------------------
# Autodetect and add networking library to LIBS if necessary.
AC_DEFUN([DRUNTIME_LIBRARIES_NET],
[
dnl Test for -lsocket and -lnsl. Copied from libjava/configure.ac.
AC_CACHE_CHECK([for socket libraries], druntime_cv_lib_sockets,
[druntime_cv_lib_sockets=
druntime_check_both=no
AC_CHECK_FUNC(connect, druntime_check_socket=no, druntime_check_socket=yes)
if test "$druntime_check_socket" = "yes"; then
unset ac_cv_func_connect
AC_CHECK_LIB(socket, main, druntime_cv_lib_sockets="-lsocket",
druntime_check_both=yes)
fi
if test "$druntime_check_both" = "yes"; then
druntime_old_libs=$LIBS
LIBS="$LIBS -lsocket -lnsl"
unset ac_cv_func_accept
AC_CHECK_FUNC(accept,
[druntime_check_nsl=no
druntime_cv_lib_sockets="-lsocket -lnsl"])
unset ac_cv_func_accept
LIBS=$druntime_old_libs
fi
unset ac_cv_func_gethostbyname
druntime_old_libs="$LIBS"
AC_CHECK_FUNC(gethostbyname, ,
[AC_CHECK_LIB(nsl, main,
[druntime_cv_lib_sockets="$druntime_cv_lib_sockets -lnsl"])])
])
LIBS="$LIBS $druntime_cv_lib_sockets"
])
# DRUNTIME_LIBRARIES_ZLIB
# -----------------------
# Allow specifying whether to use the system zlib or