delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2003/11/21/15:52:13

Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm
List-Subscribe: <mailto:cygwin-subscribe AT cygwin DOT com>
List-Archive: <http://sources.redhat.com/ml/cygwin/>
List-Post: <mailto:cygwin AT cygwin DOT com>
List-Help: <mailto:cygwin-help AT cygwin DOT com>, <http://sources.redhat.com/ml/#faqs>
Sender: cygwin-owner AT cygwin DOT com
Mail-Followup-To: cygwin AT cygwin DOT com
Delivered-To: mailing list cygwin AT cygwin DOT com
Message-ID: <71A0F7B0F1F4F94F85F3D64C4BD0CCFE03EEE8CC@bmkc1svmail01.am.mfg>
From: "Parker, Ron" <rdparker AT butlermfg DOT com>
To: "'cygwin AT cygwin DOT com'" <cygwin AT cygwin DOT com>
Subject: Patch and directions for compiling GNU screen 3.9.15 on Cygwin
Date: Fri, 21 Nov 2003 14:50:18 -0600
MIME-Version: 1.0

------_=_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 -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019