-----BEGIN PGP SIGNED MESSAGE-----


	Notes on compiling PGP V2.6.2 in a MIPS workstation.


        These are the changes that I found necessary to get PGP V2.6.2 to
	compile and run properly on a MIPS Magnum running RISC/OS V4.52.
	I used GCC 2.4.2 to compile it.


        Three files need to be modified.  The differences between the original
	and the modified versions are given below.


        Change:  noise.c, system.c and makefile


 Everett (Skip) Carter          Phone: 408-626-3735 FAX:  408-394-5561
 Taygeta Scientific Inc.        INTERNET: skip@taygeta.com
 100 Dolores St, Suite 186      UUCP:     ...!uunet!taygeta!skip
 Carmel, CA. 93923              WWW: http://www.taygeta.com/skip.html

- -----BEGIN PGP PUBLIC KEY BLOCK-----
Version: 2.6.2

mQCNAzDX8XUAAAEEANPmk66FpVO2dICA06nPzzOC7D8JY3CvUvkTUxrfwfOaJ5zF
y3jwNOoiYDAEfe/OyLeABZFlIQ2uCuybxfNkpem0jmkt8opK1F1GYRBSNG4DCVM3
Ln0250oy0ALPDoOe4U4Qj2XFuTA14p7qPZMCfJQRJrfW+eucbP6bdS8LBkXlAAUR
tB5Ta2lwIENhcnRlciA8c2tpcEB0YXlnZXRhLmNvbT4=
=UxD+
- -----END PGP PUBLIC KEY BLOCK-----


\ ===========================================================================

In noise.c, just change the include path for gettimeofday():


< #include <bsd/sys/time.h>             /* For gettimeofday() */
- ---
> #include <sys/time.h>         /* For gettimeofday() */
39c39
< /* #if defined(sun) && defined(i386) */
- ---
> #if defined(sun) && defined(i386)
41c41
< /* #endif */
- ---
> #endif




\ ===========================================================================


In system.c, change the way ttycbreak() and ttycnorm() are implemented.
This probably could be done inside all those conditional compiles, but I
did it by just redefining a new version for when 'umips' is defined.
I also changed getch() to call getchar() instead of read().



56,57d55
< #ifndef umips
< 
68,69d65
< #endif
< 
108,114d103
< #ifdef umips
< #include <termio.h>
< 
< static struct termio itio, tio;
< 
< #else
< 
124d112
< #endif
133,134d120
< #ifdef umips
< 
137,164d122
< 
<         ioctl(0,TCGETA, &itio);       /* get the current mode */
<         ioctl(0,TCGETA, &tio);          /* two copies */
< 
<         tio.c_cc[VMIN] = 1;
<         tio.c_cc[VTIME] = 0;
< 
<         tio.c_lflag &= ~(ECHO|ICANON);
< 
< 	setsigs();
< 	gottio = 1;
< 
<         ioctl(0,TCSETA, &tio);          /* set the mode */
< 
< }
< 
< void ttynorm(void)
< {
< 
< 	rmsigs();
<         gottio = 0;
<         ioctl(0,TCSETA, &itio);          /* reset the mode */
< }
< 
< #else
< 
< void ttycbreak(void)
< {
252,254d209
< #endif
< 
< 
257,259d211
< #ifdef umips
<        ttynorm();
< #else
269,270d220
< #endif
< 
352,354d301
< #ifdef umips
<         c = getchar();
< #else
357d303
< #endif
425,432c371,372
< #if defined(_BSD) || (defined(sun) && !defined(SOLARIS)) || defined(MACH) || defined(linux) || defined( umips )
< 
< #ifdef umips
< 
< #include <bsd/sys/time.h>
< #include <bsd/sys/resource.h>
< 
< #else
- ---
> #if defined(_BSD) || (defined(sun) && !defined(SOLARIS)) || \
> defined(MACH) || defined(linux)
435d374
< #endif
445,447c384
< #else
<         /* no getrusage() */
< 
- ---
> #else	/* no getrusage() */
1878d1814
< 


\ ===========================================================================

In makefile, add a 'umips' option and then define the flags for it.
NOTE: r3000.s is hand compiled instead of using r3000.c


57c57
< CFLAGS= -O -DUNIX -DPORTABLE $(BYTEORDER) -DMERRITT
- ---
> CFLAGS= -O -DUNIX -DPORTABLE $(BYTEORDER)
64c64
< LDFLAGS	= memmove.o
- ---
> LDFLAGS	= 
92c92
< 	@echo "	vax_bsd43, x286(*), xenix386 umips"
- ---
> 	@echo "	vax_bsd43, x286(*), xenix386"
152c152
< 		$(LD) -o $(PROJ) $(OBJS) $(LDFLAGS) $(LIBS_EXT) $(RSALIBS) -lbsd
- ---
> 		$(LD) -o $(PROJ) $(OBJS) $(LDFLAGS) $(LIBS_EXT) $(RSALIBS)
260,263d259
< sysv-gcc:
< 	$(MAKE) all CC=gcc \
< 	CFLAGS="$(RSAINCDIR) -O -DUNIX -DPORTABLE -DUSE_NBIO $(BYTEORDER)"
< 
438c434,435
< 	CFLAGS="$(RSAINCDIR) -O -I. -DNOTERMIO -D_BSD -DUNIX -DPORTABLE -DUSE_NBIO $(BYTEORDER)"
- ---
> 	CFLAGS="$(RSAINCDIR) -O -I. -DNOTERMIO -D_BSD -DUNIX -DPORTABLE \
> 	-DUSE_NBIO $(BYTEORDER)"
444,449d440
< 
< #
< # hand compile r3000.s with "gcc -c r3000.s" instead of compiling r3000.c
< umips:
< 	$(MAKE) all CC=gcc LD=gcc OBJS_EXT="r3000.o r3kd.o" \
< 	CFLAGS="$(RSAINCDIR)  -O -I. -DUNIX -DPORTABLE -DUSE_NBIO -DMERRITT -DNOTERMIO -DIDEA32 -Dumips -DHIGHFIRST"




-----BEGIN PGP SIGNATURE-----
Version: 2.6.2

iQCVAwUBMOGkH/6bdS8LBkXlAQGNhQQAoYyt92E5Dn59jpwTAoULLnFUDgZFvfLZ
nsDMHZUntPdvfUftbHe6SgMg7cg3owJgsLswGJeoL53AqZEn5iqozHM8vEiJZlbQ
W9FQoFqh7mxQnAYDM4A41blIXf1hsNFLraLYiKWwouK0oZ/m5U8YqXJU4NEFOQD8
lQOWnHk+ieA=
=zoPg
-----END PGP SIGNATURE-----
