www.delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/1999/05/05/00:58:57

Mailing-List: contact cygwin-help AT sourceware DOT cygnus DOT com; run by ezmlm
Sender: cygwin-owner AT sourceware DOT cygnus DOT com
Delivered-To: mailing list cygwin AT sourceware DOT cygnus DOT com
Message-Id: <199905050458.XAA15448@modi.xraylith.wisc.edu>
X-Authentication-Warning: modi.xraylith.wisc.edu: localhost.xraylith.wisc.edu [127.0.0.1] didn't use HELO protocol
To: "Isselmou Ould-Dellahy" <iod AT ccrl DOT mot DOT com>
cc: cygwin AT sourceware DOT cygnus DOT com
Subject: Re: building pvm with gcc and cygwin
In-reply-to: Your message of "Mon, 03 May 1999 18:04:26 CDT."
<19990503180426 DOT A13665 AT eastern DOT ccrl DOT mot DOT com>
Date: Tue, 04 May 1999 23:58:00 -0500
From: Mumit Khan <khan AT xraylith DOT wisc DOT EDU>

"Isselmou Ould-Dellahy" <iod AT ccrl DOT mot DOT com> writes:
> 
> I'm trying to compile pvm3.4 for NT box, using
> gcc and cygwin tools. While installing pvm the only
> two compiler choices were Borland C++ and Visual C++.
> 
> Did anybody try this before ?
> Is there any cygwin pre-compiled libpvm3.a for NT ?

I've taken a look, but that's about it. Here're the few things I recall:

- need to get rpc port. I've use Corinna's RPC port (See the FAQ or
  Cygwin home page for info).
- need to figure out how to run portmap and all that.
- Cygwin doesn't implement some of the netdb routines (endservent for
  example), so rexec is disabled. Not a big deal.
- I built without readline (forgot to add to CYGWIN.def), but again
  no big deal.

I'm sending you the patches against 3.4.0, but you should know that I have
not tested it at all, but it does build the whole bit. Some of the flags
in conf/CYGWIN.def are probably quite wrong, so you'll need to play
attention to those. Wholly unsupported (by me that is), so you're on your
own. However, this should get you started ...

Please check over conf/CYGWIN.def before you do anything else. I've 
used X11R6.4, but my paths are probably the same as yours.

If you can't build this for some reason, and *really* must have pre-built
binaries, drop me a private note. 

btw, you may not too impressed with the performance of it ...

Tue May  4 22:48:51  1999  Mumit Khan  <khan AT xraylith DOT wisc DOT edu>

	* conf/CYGWIN.def: New file.
	* conf/CYGWIN.m4: New file.
	* lib/pvmgetarch: Add CYGWIN detection.
	* src/lpvm.h: Don't include netinet/tcp.h if NO_NETINET_TCP_H
	is defined.
	* src/lpvmglob.c: Likewise.
	* src/mppmsg.c: Likewise.
	* src/pvmd.c: Likewise.
	* examples/Makefile.aimk: Add missing EXESFX when copying.
	* gexamples/Makefile.aimk: Likewise.
	* pvmgs/Makefile.aimk: Likewise.
	* xep/Makefile.aimk: Add local X11 include and library paths; add
	-lSM -lICE.

Index: conf/CYGWIN.def
===================================================================
RCS file: CYGWIN.def
diff -N CYGWIN.def
--- /dev/null	Tue May  5 15:32:27 1998
+++ conf/CYGWIN.def	Tue May  4 22:38:50 1999
@@ -0,0 +1,17 @@
+ARCHCFLAGS	=	-DSYSVSTR -DSYSVSIGNAL -DNOUNIXDOM \
+				-DRSHCOMMAND=\"/usr/local/bin/rsh\" \
+				-DNEEDSFFS -DSYSVBFUNC -DNOWAIT3 \
+				-DNOGETDTBLSIZ \
+				-DNOREXEC \
+				-DNO_NETINET_TCP_H \
+				-I/usr/local/include
+ARCHDLIB	=	-L/usr/local/lib -lrpclib
+ARCHDOBJ	=
+ARCHLIB		=	-L/usr/local/lib -lrpclib
+HASRANLIB	=	t
+AR		=	ar
+PVM_ARCH	=	CYGWIN
+MAKE		=	make
+EXESFX		=	.exe
+FC		=	g77
+
Index: conf/CYGWIN.m4
===================================================================
RCS file: CYGWIN.m4
diff -N CYGWIN.m4
--- /dev/null	Tue May  5 15:32:27 1998
+++ conf/CYGWIN.m4	Tue May  4 22:38:50 1999
@@ -0,0 +1,19 @@
+divert(-1)
+undefine(`len')
+#
+# append an underscore to FORTRAN function names
+#
+define(`FUNCTION',`$1_')
+#
+# FORTRAN character strings are passed as follows:
+# a pointer to the base of the string is passed in the normal
+# argument list, and the length is passed by value as an extra
+# argument, after all of the other arguments.
+#
+define(`ARGS',`($1`'undivert(1))')
+define(`SAVE',`divert(1)$1`'divert(0)')
+define(`STRING_ARG',`$1_ptr`'SAVE(`, $1_len')')
+define(`STRING_ARG_DECL',`char * $1_ptr; int $1_len')
+define(`STRING_LEN',`$1_len')
+define(`STRING_PTR',`$1_ptr')
+divert(0)
Index: gexamples/Makefile.aimk
===================================================================
RCS file: /homes/khan/src/CVSROOT/pvm3/gexamples/Makefile.aimk,v
retrieving revision 1.1.1.1
diff -u -3 -p -u -p -r1.1.1.1 Makefile.aimk
--- gexamples/Makefile.aimk	1999/05/04 01:46:26	1.1.1.1
+++ gexamples/Makefile.aimk	1999/05/05 03:38:50
@@ -41,47 +41,47 @@ all:  $(PROGS)
 
 joinleave$(EXESFX): $(SDIR)/joinleave.c
 	$(CC) $(CFLAGS) -o $@ $(SDIR)/joinleave.c $(PVMLIB)
-	cp joinleave $(XDIR)
+	cp joinleave$(EXESFX) $(XDIR)
 
 tst$(EXESFX): $(SDIR)/tst.c
 	$(CC) $(CFLAGS) -o $@ $(SDIR)/tst.c $(PVMLIB)
-	cp tst $(XDIR)
+	cp tst$(EXESFX) $(XDIR)
 
 gs$(EXESFX): $(SDIR)/gs.c
 	$(CC) $(CFLAGS) -o $@ $(SDIR)/gs.c $(PVMLIB)
-	cp gs $(XDIR)
+	cp gs$(EXESFX) $(XDIR)
 
 ge$(EXESFX): $(SDIR)/ge.c
 	$(CC) $(CFLAGS) -o $@ $(SDIR)/ge.c $(PVMLIB)
-	cp ge $(XDIR)
+	cp ge$(EXESFX) $(XDIR)
 
 gexamp$(EXESFX): $(SDIR)/gexamp.c
 	$(CC) $(CFLAGS) -o $@ $(SDIR)/gexamp.c $(PVMLIB)
-	cp gexamp $(XDIR)
+	cp gexamp$(EXESFX) $(XDIR)
 
 thb$(EXESFX): $(SDIR)/thb.c
 	$(CC) $(CFLAGS) -o $@ $(SDIR)/thb.c $(PVMLIB)
-	cp thb $(XDIR)
+	cp thb$(EXESFX) $(XDIR)
 
 tnb$(EXESFX): $(SDIR)/tnb.c
 	$(CC) $(CFLAGS) -o $@ $(SDIR)/tnb.c $(PVMLIB)
-	cp tnb $(XDIR)
+	cp tnb$(EXESFX) $(XDIR)
 
 tjl$(EXESFX): $(SDIR)/tjl.c
 	$(CC) $(CFLAGS) -o $@ $(SDIR)/tjl.c $(PVMLIB)
-	cp tjl $(XDIR)
+	cp tjl$(EXESFX) $(XDIR)
 
 tjf$(EXESFX): $(SDIR)/tjf.c
 	$(CC) $(CFLAGS) -o $@ $(SDIR)/tjf.c $(PVMLIB)
-	cp tjf $(XDIR)
+	cp tjf$(EXESFX) $(XDIR)
 
 trsg$(EXESFX): $(SDIR)/trsg.c
 	$(CC) $(CFLAGS) -o $@ $(SDIR)/trsg.c $(PVMLIB)
-	cp trsg $(XDIR)
+	cp trsg$(EXESFX) $(XDIR)
 
 frsg$(EXESFX): $(SDIR)/frsg.f
 	$(FORT) $(FFLAGS) -o $@ $(SDIR)/frsg.f $(PVMFLIB)
-	cp frsg $(XDIR)
+	cp frsg$(EXESFX) $(XDIR)
 
 clean:
 	rm -f *.o $(PROGS)
Index: lib/pvmgetarch
===================================================================
RCS file: /homes/khan/src/CVSROOT/pvm3/lib/pvmgetarch,v
retrieving revision 1.1.1.1
diff -u -3 -p -u -p -r1.1.1.1 pvmgetarch
--- lib/pvmgetarch	1999/05/04 01:46:26	1.1.1.1
+++ lib/pvmgetarch	1999/05/05 03:38:50
@@ -78,6 +78,7 @@ if [ -f /bin/uname -o -f /usr/bin/uname 
 	realix,M88* )           ARCH=M88K ;;
 	DomainOS,DN* )          ARCH=APOLLO ;;
 	OS/2,i[3456]86 )        ARCH=OS2 ;;
+	CYGWIN*,i[3456]86 )	ARCH=CYGWIN ;;
 	esac
 fi
 
Index: pvmgs/Makefile.aimk
===================================================================
RCS file: /homes/khan/src/CVSROOT/pvm3/pvmgs/Makefile.aimk,v
retrieving revision 1.1.1.1
diff -u -3 -p -u -p -r1.1.1.1 Makefile.aimk
--- pvmgs/Makefile.aimk	1999/05/04 01:46:26	1.1.1.1
+++ pvmgs/Makefile.aimk	1999/05/05 03:38:51
@@ -75,7 +75,7 @@ $(PVMLDIR)/$(LIBGPVM)-mpp:  $(LIBGPVM)-m
 	touch $(PVMLDIR)/$(LIBGPVM)-mpp
 
 $(PVMLDIR)/pvmgs$(EXESFX):  pvmgs$(EXESFX)
-	cp pvmgs $(PVMLDIR)
+	cp pvmgs$(EXESFX) $(PVMLDIR)
 
 pvmgroups$(EXESFX):	pvmgroups.o $(LIBGPVM) $(PVMLIBDEP)
 	$(CC) $(CFLAGS) -o $@ pvmgroups.o $(LIBGPVM) $(LIBS) 
Index: src/lpvm.h
===================================================================
RCS file: /homes/khan/src/CVSROOT/pvm3/src/lpvm.h,v
retrieving revision 1.1.1.1
diff -u -3 -p -u -p -r1.1.1.1 lpvm.h
--- src/lpvm.h	1999/05/04 01:46:26	1.1.1.1
+++ src/lpvm.h	1999/05/05 03:38:51
@@ -91,7 +91,9 @@ Import of PVM 3.4.0
 #include <sys/types.h>
 #ifndef WIN32
 #include <netinet/in.h>
+#ifndef __CYGWIN__
 #include <netinet/tcp.h>
+#endif
 #endif
 
 #ifdef IMA_MPP
Index: src/lpvmglob.c
===================================================================
RCS file: /homes/khan/src/CVSROOT/pvm3/src/lpvmglob.c,v
retrieving revision 1.1.1.1
diff -u -3 -p -u -p -r1.1.1.1 lpvmglob.c
--- src/lpvmglob.c	1999/05/04 01:46:26	1.1.1.1
+++ src/lpvmglob.c	1999/05/05 03:38:51
@@ -111,7 +111,9 @@ Import of PVM 3.4.0
 #include <rpc/types.h>
 #include <rpc/xdr.h>
 #include <netinet/in.h>
+#ifndef NO_NETINET_TCP_H
 #include <netinet/tcp.h>
+#endif
 #endif
 
 #include "pmsg.h"
Index: src/mppmsg.c
===================================================================
RCS file: /homes/khan/src/CVSROOT/pvm3/src/mppmsg.c,v
retrieving revision 1.1.1.1
diff -u -3 -p -u -p -r1.1.1.1 mppmsg.c
--- src/mppmsg.c	1999/05/04 01:46:26	1.1.1.1
+++ src/mppmsg.c	1999/05/05 03:38:51
@@ -45,7 +45,9 @@ static char rcsid[] =
 #include <sys/un.h>
 #endif
 #include <netinet/in.h>
+#ifndef NO_NETINET_TCP_H
 #include <netinet/tcp.h>
+#endif
 #include <pvm3.h>
 #include <pvmproto.h>
 #include "lpvm.h"
Index: src/pvmd.c
===================================================================
RCS file: /homes/khan/src/CVSROOT/pvm3/src/pvmd.c,v
retrieving revision 1.1.1.1
diff -u -3 -p -u -p -r1.1.1.1 pvmd.c
--- src/pvmd.c	1999/05/04 01:46:26	1.1.1.1
+++ src/pvmd.c	1999/05/05 03:38:51
@@ -493,7 +493,9 @@ Import of PVM 3.4.0
 #include <sys/socket.h>
 #include <sys/signal.h>
 #include <netinet/in.h>
+#ifndef NO_NETINET_TCP_H
 #include <netinet/tcp.h>
+#endif
 #include <netdb.h>
 #include <pwd.h>
 #endif
Index: xep/Makefile.aimk
===================================================================
RCS file: /homes/khan/src/CVSROOT/pvm3/xep/Makefile.aimk,v
retrieving revision 1.1.1.1
diff -u -3 -p -u -p -r1.1.1.1 Makefile.aimk
--- xep/Makefile.aimk	1999/05/04 01:46:27	1.1.1.1
+++ xep/Makefile.aimk	1999/05/05 03:38:51
@@ -23,8 +23,11 @@ XDIR		=	$(BDIR)/$(PVM_ARCH)
 CFLOPTS		=	-g
 CFLAGS		=	$(CFLOPTS) -I$(PVMIDIR) -L$(PVMLDIR) $(ARCHCFLAGS)
 LIBS		=	-l$(PVMLIB) $(ARCHLIB) $(OS2XEPLIBS)
-XLIBS		=	-lXaw -lXmu -lXext -lXt -lX11
-XCFLAGS		=	-I/usr/local/X11R5/include -I/usr/local/X11/include \
+XLIBS		=	-lXaw -lXmu -lXext -lXt -lX11 -lSM -lICE
+XCFLAGS		=	-I/usr/local/X11R6.4/include \
+				-I/usr/local/X11R5/include \
+				-I/usr/local/X11/include \
+				-L/usr/local/X11R6.4/lib \
 				-L/usr/local/X11R5/lib -L/usr/local/X11/lib
 
 HEADERS		=	$(SDIR)/hostc.h $(SDIR)/imp.h $(SDIR)/myalloc.h \
Index: examples/Makefile.aimk
===================================================================
RCS file: /homes/khan/src/CVSROOT/pvm3/examples/Makefile.aimk,v
retrieving revision 1.1.1.1
diff -u -3 -p -u -p -r1.1.1.1 Makefile.aimk
--- examples/Makefile.aimk	1999/05/04 01:46:26	1.1.1.1
+++ examples/Makefile.aimk	1999/05/05 03:50:47
@@ -163,7 +163,7 @@ master1$(EXESFX):  $(SDIR)/master1.c $(X
 	$(CC) $(CFLAGS) -o $@ $(SDIR)/master1.c $(LFLAGS) $(LIBS)
 	mv $@ $(XDIR)
 
-master1h:  $(SDIR)/master1.c $(XDIR)
+master1h$(EXESFX):  $(SDIR)/master1.c $(XDIR)
 	$(CC) $(CFLAGS) -o $@ $(SDIR)/master1.c $(LFLAGS) $(HLIBS)
 	mv $@ $(XDIR)
 

--
Want to unsubscribe from this list?
Send a message to cygwin-unsubscribe AT sourceware DOT cygnus DOT com

- Raw text -


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