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)