[comp.sys.cdc] Building Perl 4.0 on CDC/Mips

rrr@u02.svl.cdc.com (Rich Ragan) (03/25/91)

After several experiments, I believe I have successfully built Perl
4.0 on the Control Data 4000 series (aka Mips 3000/6000 machines with
a RISCos derived system). I believe all the following information will
be relevant to anyone doing this in a Mips/RISCos environment. This
was done using the 2.20 C compiler.

First, I ran Configure and supplied "reasonable" answers and
tried to build it in bsd43 mode. This ultimately failed but
in case anyone wants to pursue it further here are steps I
took to "push" the process along.

 - Changed -I/usr/include/sys to -I/bsd43/usr/include/sys
 - Undef of pwage for BSD mode
 - Added -I/bsd43/usr/include to CFLAGS so as to get time.h
   from there rather than one level deeper in sys.
 - Removed libs -lnsl -lsun -lbsd and added -lm
 - Ditto for Makefile for a2p in x2p

The result failed 5 tests when run with the system malloc.
It failed stat and fs test when run with perl's malloc.

Then I restarted and built it all over again in sysv mode.
I reran Configure. Then I had to force past some errors
with the following changes
 - Define I_TIME, I_SYS_TIME, SYSTIMEKERNEL, I_SYS_SELECT
   in config.h
 - Added -I/usr/include to CFLAGS
 - Added libs -lm -lsun -lbsd

The resultant perl passes all test when built with perl's malloc
and fails 6 test when using the system malloc. Needless to say
I now specify perl's malloc.

Finally, I went in and refined the config.h file by turning on
any undef items which appear to be sysv calls according to man
pages. After doing this, perl 4.0 still builds OK and passes
all tests so I feel fairly confident in it. If you want a copy
of my config.h and Makefile I'll email them. You may want to
reduce Olimit 3000 if you are compiling on something small
(on a 6280-based machine it's zippy enough). 

If you need to build with a pre-2.20 compiler then you should 
undefine the HAS_VOLATILE indicator. I did one build with the -oldc
option (equivalent to 2.11 compilers) and had to do this. The
resultant Perl with the old compiler also passed all tests.
--
Richard R. Ragan   rrr@svl.cdc.com    (408) 496-4340 
Control Data Corporation - Silicon Valley Operations
5101 Patrick Henry Drive, Santa Clara, CA 95054-1111