Enable libcc1 on Solaris
authorRainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
Thu, 13 Nov 2014 10:22:22 +0000 (10:22 +0000)
committerRainer Orth <ro@gcc.gnu.org>
Thu, 13 Nov 2014 10:22:22 +0000 (10:22 +0000)
* configure.ac (libcc1_cv_lib_sockets): Check for -lsocket -lnsl.
* configure: Regenerate.
* connection.cc: Include <string.h>.
        * libcc1.cc (libcc1_compile): Use AF_UNIX instead of AF_LOCAL.

From-SVN: r217471

libcc1/ChangeLog
libcc1/configure
libcc1/configure.ac
libcc1/connection.cc
libcc1/libcc1.cc

index 023c444b1501edb464c7b9b8889a7764b51c693b..1164c501022ba8fd215213d539d64def155c1723 100644 (file)
@@ -1,3 +1,10 @@
+2014-11-13  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
+
+       * configure.ac (libcc1_cv_lib_sockets): Check for -lsocket -lnsl.
+       * configure: Regenerate.
+       * connection.cc: Include <string.h>.
+        * libcc1.cc (libcc1_compile): Use AF_UNIX instead of AF_LOCAL.
+
 2014-11-11  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
 
        PR target/63610
index 05384d32512e5e9ef25cc278cd114150e2e450c1..d8daefb38defee4bc1a9e2fd1d56ff088c69479d 100755 (executable)
@@ -14371,6 +14371,122 @@ if test "$GXX" = yes; then
 fi
 
 
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for socket libraries" >&5
+$as_echo_n "checking for socket libraries... " >&6; }
+if test "${libcc1_cv_lib_sockets+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  libcc1_cv_lib_sockets=
+   libcc1_check_both=no
+   ac_fn_c_check_func "$LINENO" "connect" "ac_cv_func_connect"
+if test "x$ac_cv_func_connect" = x""yes; then :
+  libcc1_check_socket=no
+else
+  libcc1_check_socket=yes
+fi
+
+   if test "$libcc1_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 test "${ac_cv_lib_socket_main+set}" = set; 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" = x""yes; then :
+  libcc1_cv_lib_sockets="-lsocket"
+else
+  libcc1_check_both=yes
+fi
+
+   fi
+   if test "$libcc1_check_both" = "yes"; then
+     libcc1_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" = x""yes; then :
+  libcc1_check_nsl=no
+                   libcc1_cv_lib_sockets="-lsocket -lnsl"
+fi
+
+     unset ac_cv_func_accept
+     LIBS=$libcc1_old_libs
+   fi
+   unset ac_cv_func_gethostbyname
+   libcc1_old_libs="$LIBS"
+   ac_fn_c_check_func "$LINENO" "gethostbyname" "ac_cv_func_gethostbyname"
+if test "x$ac_cv_func_gethostbyname" = x""yes; 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 test "${ac_cv_lib_nsl_main+set}" = set; 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" = x""yes; then :
+  libcc1_cv_lib_sockets="$libcc1_cv_lib_sockets -lnsl"
+fi
+
+fi
+
+   unset ac_cv_func_gethostbyname
+   LIBS=$libcc1_old_libs
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libcc1_cv_lib_sockets" >&5
+$as_echo "$libcc1_cv_lib_sockets" >&6; }
+LIBS="$LIBS $libcc1_cv_lib_sockets"
+
 # If any of these functions are missing, simply don't bother building
 # this plugin.
 # Check for plugin support
index 1e0925ffcde4d3c0980c981beafaaa72c033a1cb..6c97afdf9c7773e85e30abbdc9b9df2142f73fee 100644 (file)
@@ -63,6 +63,36 @@ if test "$GXX" = yes; then
 fi
 AC_SUBST(libsuffix)
 
+dnl Test for -lsocket and -lnsl.  Copied from libgo/configure.ac.
+AC_CACHE_CHECK([for socket libraries], libcc1_cv_lib_sockets,
+  [libcc1_cv_lib_sockets=
+   libcc1_check_both=no
+   AC_CHECK_FUNC(connect, libcc1_check_socket=no, libcc1_check_socket=yes)
+   if test "$libcc1_check_socket" = "yes"; then
+     unset ac_cv_func_connect
+     AC_CHECK_LIB(socket, main, libcc1_cv_lib_sockets="-lsocket",
+                 libcc1_check_both=yes)
+   fi
+   if test "$libcc1_check_both" = "yes"; then
+     libcc1_old_libs=$LIBS
+     LIBS="$LIBS -lsocket -lnsl"
+     unset ac_cv_func_accept
+     AC_CHECK_FUNC(accept,
+                  [libcc1_check_nsl=no
+                   libcc1_cv_lib_sockets="-lsocket -lnsl"])
+     unset ac_cv_func_accept
+     LIBS=$libcc1_old_libs
+   fi
+   unset ac_cv_func_gethostbyname
+   libcc1_old_libs="$LIBS"
+   AC_CHECK_FUNC(gethostbyname, ,
+                [AC_CHECK_LIB(nsl, main,
+                       [libcc1_cv_lib_sockets="$libcc1_cv_lib_sockets -lnsl"])])
+   unset ac_cv_func_gethostbyname
+   LIBS=$libcc1_old_libs
+])
+LIBS="$LIBS $libcc1_cv_lib_sockets"
+
 # If any of these functions are missing, simply don't bother building
 # this plugin.
 GCC_ENABLE_PLUGINS
index 3e57bbc0efe994ca7ca006ea4507e6712eb9c510..5db42046ae7a2240aa5699782af67e0d0a7703a7 100644 (file)
@@ -21,6 +21,7 @@ along with GCC; see the file COPYING3.  If not see
 #include <string>
 #include <unistd.h>
 #include <sys/types.h>
+#include <string.h>
 #include <errno.h>
 #include "marshall.hh"
 #include "connection.hh"
index 15320c2d750ae79b19c19640650ec0cc9a01335b..7d7d2c190c7fcad124e53fedc208a04e0a07575e 100644 (file)
@@ -440,7 +440,7 @@ libcc1_compile (struct gcc_base_context *s,
   libcc1 *self = (libcc1 *) s;
 
   int fds[2];
-  if (socketpair (AF_LOCAL, SOCK_STREAM, 0, fds) != 0)
+  if (socketpair (AF_UNIX, SOCK_STREAM, 0, fds) != 0)
     {
       self->print ("could not create socketpair\n");
       return 0;