Subject: Build error on Solaris

From: NAKAJI Hiroyuki <[email-masked]>
Date: Wed, 18 Jun 2008 16:20:16 +0900

Solaris does not have the functions cfmakeraw() and cfsetspeed() which are
used in src/sysdep.c. I added these functions into sysdep.c but I'm not
sure these must be necessary.

Here is a patch. Thanks.

Index: sysdep.c
===================================================================
RCS file: /cvsroot/emacs/emacs/src/sysdep.c,v
retrieving revision 1.300
diff -u -r1.300 sysdep.c
--- sysdep.c	14 Jun 2008 19:14:01 -0000	1.300
+++ sysdep.c	17 Jun 2008 10:03:21 -0000
@@ -231,6 +231,27 @@
 #endif
 #endif
 
+#ifdef SOLARIS2
+void cfmakeraw(struct termios *t)
+{
+  t->c_iflag &= ~(IMAXBEL|IXOFF|INPCK|BRKINT|PARMRK|ISTRIP|INLCR|IGNCR|ICRNL|IXON|IGNPAR);
+  t->c_iflag |= IGNBRK;
+  t->c_oflag &= ~OPOST;
+  t->c_lflag &= ~(ECHO|ECHOE|ECHOK|ECHONL|ICANON|ISIG|IEXTEN|NOFLSH|TOSTOP|PENDIN);
+  t->c_cflag &= ~(CSIZE|PARENB);
+  t->c_cflag |= CS8|CREAD;
+  t->c_cc[VMIN] = 1;
+  t->c_cc[VTIME] = 0;
+}
+
+int cfsetspeed(struct termios *t, speed_t speed)
+{
+  cfsetispeed(t, speed);
+  cfsetospeed(t, speed);
+  return (0);
+}
+#endif
+
 int emacs_ospeed;
 
 void croak P_ ((char *)) NO_RETURN;

-- 
NAKAJI Hiroyuki