Mail Archives: cygwin/2003/11/21/15:52:13
------_=_NextPart_000_01C3B071.12D11070
Content-Type: text/plain;
charset="iso-8859-1"
I created a patch for GNU screen 3.9.15 that will allow it to be compiled
and installed on Cygwin. The patch is attached below, the basic build and
install procedure is:
$ tar xzf {tar-path}/screen-3.9.15.tar.gz
$ cd screen-3.9.15
$ patch -p1 -s <{patch-path}/screen-3.9.15-cygwin.diff
$ autoconf
$ ./configure
$ make
$ make install
Manual add the termcap and terminfo settings for screen.
$ cd terminfo
$ cat screencap >>/etc/termcap
$ tic screeninfo.src
If everything works as planned screen should now be in /usr/local/bin. See
if it is:
$ which screen
The patch is attached.
------_=_NextPart_000_01C3B071.12D11070
Content-Type: application/octet-stream;
name="screen-3.9.15-cygwin.diff"
Content-Transfer-Encoding: quoted-printable
Content-Disposition: attachment;
filename="screen-3.9.15-cygwin.diff"
diff -Naur screen-3.9.15.orig/Makefile.in screen-3.9.15/Makefile.in=0A=
--- screen-3.9.15.orig/Makefile.in 2003-03-13 05:19:53.000000000 =
-0600=0A=
+++ screen-3.9.15/Makefile.in 2003-11-21 12:31:37.749882800 -0600=0A=
@@ -13,12 +13,14 @@=0A=
=0A=
prefix =3D @prefix@=0A=
exec_prefix =3D @exec_prefix@=0A=
+EXEEXT =3D @EXEEXT@=0A=
+=0A=
=0A=
# don't forget to change mandir and infodir in doc/Makefile.=0A=
bindir =3D $(exec_prefix)/bin=0A=
=0A=
VERSION =3D @VERSION@=0A=
-SCREEN =3D screen-$(VERSION)=0A=
+SCREEN =3D screen-$(VERSION)$(EXEEXT)=0A=
=0A=
ETCSCREENRC =3D `sed < config.h -n -e '/define =
ETCSCREENRC/s/^.*"\([^"]*\)"/\1/p'`=0A=
SCREENENCODINGS =3D `sed < config.h -n -e '/define =
SCREENENCODINGS/s/^.*"\([^"]*\)"/\1/p'`=0A=
@@ -73,7 +75,7 @@=0A=
install_bin: .version screen=0A=
-if [ -f $(DESTDIR)$(bindir)/$(SCREEN) ] && [ ! -f =
$(DESTDIR)$(bindir)/$(SCREEN).old ]; \=0A=
then mv $(DESTDIR)$(bindir)/$(SCREEN) =
$(DESTDIR)$(bindir)/$(SCREEN).old; fi=0A=
- $(INSTALL_PROGRAM) screen $(DESTDIR)$(bindir)/$(SCREEN)=0A=
+ $(INSTALL_PROGRAM) screen$(EXEEXT) $(DESTDIR)$(bindir)/$(SCREEN)=0A=
-chown root $(DESTDIR)$(bindir)/$(SCREEN) && chmod 4755 =
$(DESTDIR)$(bindir)/$(SCREEN)=0A=
# This doesn't work if $(bindir)/screen is a symlink=0A=
-if [ -f $(DESTDIR)$(bindir)/screen ] && [ ! -f =
$(DESTDIR)$(bindir)/screen.old ]; then mv $(DESTDIR)$(bindir)/screen =
$(DESTDIR)$(bindir)/screen.old; fi=0A=
diff -Naur screen-3.9.15.orig/configure.in =
screen-3.9.15/configure.in=0A=
--- screen-3.9.15.orig/configure.in 2003-02-24 07:03:21.000000000 =
-0600=0A=
+++ screen-3.9.15/configure.in 2003-11-21 12:17:43.269106000 -0600=0A=
@@ -9,6 +9,8 @@=0A=
AC_INIT(screen.c)=0A=
AC_CONFIG_HEADER(config.h)=0A=
=0A=
+dnl AC_EXEEXT=0A=
+=0A=
dnl=0A=
dnl Define some useful macros=0A=
dnl=0A=
diff -Naur screen-3.9.15.orig/misc.c screen-3.9.15/misc.c=0A=
--- screen-3.9.15.orig/misc.c 2003-02-21 14:30:57.000000000 -0600=0A=
+++ screen-3.9.15/misc.c 2003-11-21 10:57:51.281250000 -0600=0A=
@@ -642,7 +642,7 @@=0A=
*/=0A=
# endif /* NEEDSETENV */=0A=
#else /* USESETENV */=0A=
-# if defined(linux) || defined(__convex__) || (BSD >=3D 199103)=0A=
+# if defined(linux) || defined(__convex__) || (BSD >=3D 199103) || =
defined(__CYGWIN__)=0A=
setenv(var, value, 1);=0A=
# else=0A=
setenv(var, value);=0A=
diff -Naur screen-3.9.15.orig/pty.c screen-3.9.15/pty.c=0A=
--- screen-3.9.15.orig/pty.c 2003-02-14 07:44:20.000000000 -0600=0A=
+++ screen-3.9.15/pty.c 2003-11-21 11:01:01.968750000 -0600=0A=
@@ -38,7 +38,9 @@=0A=
=0A=
/* for solaris 2.1, Unixware (SVR4.2) and possibly others */=0A=
#ifdef HAVE_SVR4_PTYS=0A=
-# include <sys/stropts.h>=0A=
+# ifndef __CYGWIN__=0A=
+# include <sys/stropts.h>=0A=
+# endif=0A=
#endif=0A=
=0A=
#if defined(sun) && defined(LOCKPTY) && !defined(TIOCEXCL)=0A=
diff -Naur screen-3.9.15.orig/utmp.c screen-3.9.15/utmp.c=0A=
--- screen-3.9.15.orig/utmp.c 2002-09-06 04:45:32.000000000 -0500=0A=
+++ screen-3.9.15/utmp.c 2003-11-21 11:00:29.484375000 -0600=0A=
@@ -93,7 +93,7 @@=0A=
static int initutmp __P((void));=0A=
static void setutent __P((void));=0A=
#endif=0A=
-#if defined(linux) && defined(GETUTENT)=0A=
+#if (defined(linux) || defined(__CYGWIN__)) && defined(GETUTENT)=0A=
static struct utmp *xpututline __P((struct utmp *utmp));=0A=
# define pututline xpututline=0A=
#endif=0A=
@@ -110,7 +110,9 @@=0A=
# if defined(hpux) /* cruel hpux release 8.0 */=0A=
# define pututline _pututline=0A=
# endif /* hpux */=0A=
+# ifndef __CYGWIN__=0A=
extern struct utmp *getutline(), *pututline();=0A=
+# endif=0A=
# if defined(_SEQUENT_)=0A=
extern struct utmp *ut_add_user(), *ut_delete_user();=0A=
extern char *ut_find_host();=0A=
@@ -593,7 +595,7 @@=0A=
struct utmp *u;=0A=
{=0A=
u->ut_type =3D DEAD_PROCESS;=0A=
-#if !defined(linux) || defined(EMPTY)=0A=
+#if !defined(linux) && !defined(__CYGWIN__) || defined(EMPTY)=0A=
u->ut_exit.e_termination =3D 0;=0A=
u->ut_exit.e_exit =3D 0;=0A=
#endif=0A=
@@ -862,7 +864,7 @@=0A=
}=0A=
# endif /* BUGGYGETLOGIN */=0A=
=0A=
-#if defined(linux) && defined(GETUTENT)=0A=
+#if (defined(linux) || defined(__CYGWIN__)) && defined(GETUTENT)=0A=
# undef pututline=0A=
=0A=
/* aargh, linux' pututline returns void! */=0A=
------_=_NextPart_000_01C3B071.12D11070
Content-Type: text/plain; charset=us-ascii
--
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple
Problem reports: http://cygwin.com/problems.html
Documentation: http://cygwin.com/docs.html
FAQ: http://cygwin.com/faq/
------_=_NextPart_000_01C3B071.12D11070--
- Raw text -