[comp.unix.ultrix] Building epoch on DEC/mips under Ultrix 4.0

mf@ircam.fr (Michel Fingerhut) (11/09/90)

Setup:	DECsystem 5820 (DEC MIPS machine) under Ultrix 4.0 (rev. 179)
Building Epoch 3.2

Here is my update to the PREPARATION paragraph in the $BUILD/INSTALL file:

0)  (unchanged)

1)  (unchanged)

2)  Copy $BUILD/src/config.h-dist to $BUILD/src/config.h,
    and edit it to set the right options for your system.  These are
    the lines I modified:

	/* s-file name: */
	#include "s-bsd4-3.h"

	/* m-file name: */
	#include "m-pmax.h"

	/* conversion definitions .. */
	#define SYSTEM_MALLOC
	#define LD_SWITCH_SYSTEM
	#define LD_SWITCH_MACHINE -D 10000000

	/* for those systems that don't support void *'s, change void to char */
	#define VOID char

	/* Define AMPERSAND_FULL_NAME if you use the convention
	   that & in the full name stands for the login id.  */
	#define AMPERSAND_FULL_NAME

      If you need to override any of the definitions in the s- and m-
      files for your system and machine, do so by editing config.h,
      not by changing the s- and m- files.  Occasionally you may
      need to redefine parameters used in etc/movemail.c.

2.1)  Remove or comment out lines 87 and 88 in $BUILD/src/window.c
	/* static void unshow_buffer (); */
	/* static void replace_window (); */

      (They duplicate the definition of a couple of lines above, and
      if VOID is defined as something else than "void", as is the case here,
      the file won't compile).

2.2)  Modify if necessary the CFLAGS line in $BUILD/src/ymakefile.  E.g.,
      if your X11 includes are *not* in /usr/include -- as happens in our
      site, they happen to be in /usr/local/include -- add the include
      path at the end of the line, to read:

	CFLAGS= C_DEBUG_SWITCH -Demacs $(MYCPPFLAG) C_SWITCH_MACHINE \
		C_SWITCH_SYSTEM -DBUTTON -DCB -I/usr/local/include

From then on continue as mentioned in the $BUILD/INSTALL document.

OTHER REMARKS
-------------

1.   The major hitch was the incorrect definition of LD_SWITCH_MACHINE which
     was 8000000 and passed as such to ld.  This contradicted the definition
     of DATA_START in m-pmax.h, which overrides the mips value to
     be 10000000, which is the correct one for DEC/mips.  It caused all sorts
     of weird things, like temacs hanging in a call to setsigmask(-1) or
     segmentation violations.

2.   When uncommenting HAVE_X_MENU in the $BUILD/src/config.h, the making
     process fails, because ${oldXMenudir} is an undefined make variable
     in $BUILD/src/ymakefile.  I could not find any directory in $BUILD that
     would contain what it needs (Xmenu.h, libXMenu11.a sources etc...).
     So I did not use HAVE_X_MENU.

3.   Don't uncomment HAVE_X_WINDOWS and X11 in $BUILD/src/config.h (why one
     would is beyond me, but I tried it): compilation of xdisp.c fails with
     "Lisp_Root_Block undefined."

Michael Fingerhut
IRCAM, Paris (France)