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" 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 "Isselmou Ould-Dellahy" 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 * 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 #ifndef WIN32 #include +#ifndef __CYGWIN__ #include +#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 #include #include +#ifndef NO_NETINET_TCP_H #include +#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 #endif #include +#ifndef NO_NETINET_TCP_H #include +#endif #include #include #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 #include #include +#ifndef NO_NETINET_TCP_H #include +#endif #include #include #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