From: Eric Backus Subject: Re: RCS and DJGCC To: cmb AT epcc DOT ed DOT ac DOT uk Date: Fri, 5 Feb 93 10:04:17 PST Cc: djgpp AT sun DOT soe DOT clarkson DOT edu Mailer: Elm [revision: 66.25] > > Subject: DOS/GCC port of RCS 5.6.4 beta > > To: rcs-bugs AT cs DOT purdue DOT edu > > > > I have made what appears to be a successful port of RCS 5.6.4 beta > > (plus MSDOS files) to DOS using DJ Delorie's port of GCC. > > > > Took the 'rcs-5.6.4-beta.tar.Z' and 'msrcs-1.8-beta.tar.Z' files from > > ftp.cs.purdue.edu in pub/hammer. Modified the Unix 'Makefile' and the > > MS-DOS conf.h. Copied the logindos.c, getcwdsl.c and *.rsp files from > > the 'ms' directory. Compiled and it appears to work fine. > > > > I have the DOS ports of the fileutils (ls, rm, etc.), and 'gnumake', > > as well as a /bin/sh clone, which made using the Unix Makefile much > > easier. System is a 386-40MHz, 4Mbyte RAM, 105Mbyte hard disk (IDE), > > MS-DOS 5. No guarantees on the quality of the port at the moment - > > getting the 'rcsvers.c' rules to work OK was a pain, and I don't think > > it is right yet (limitations in the /bin/sh clone, that I then tried > > to work round). Also, gnumake didn't seem to have its default rules > > mechanism working, so there are a lot of new rules at the end to build > > the .o files. I have also not been clean in using $x, $o extensions in > > the makefile and *.rsp files... Unfortunately, GNUish make doesn't know that ".o" is a valid suffix. You need to add this line to your "DJGPP/GNUish Make" makefile: .SUFFIXES: .o In addition, if there is no ".c.o:" target specified in the makefile, you need to add one, like this: .c.o: $(CC) $(CFLAGS) -c $< After you make these two changes, GNUish make should get all the default rules correct. > > I had to comment out a number of things in the conf.h since they > > clashed with the definitions the gcc header files gave me. Note that I > > do not have the current version of DJGPP - I have 1.04 or so, and the > > current one is 1.09. DJGPP 1.04 is either a gcc 2.1x or 2.2x port. I > > simply iterated until I got a totally clean compile. You REALLY should update your system to 1.09. There have been a LOT of fixes to libc.a, which make it act a LOT more like a UNIX system. It would make your port much cleaner, much easier to do, and much more likely to work correctly. Plus, the rest of us with 1.09 would feel a lot more confident using your port if you were up-to-date. -- Eric Backus ericb AT lsid DOT hp DOT com (206) 335-2495