X-Git-Url: https://code.delx.au/gnu-emacs/blobdiff_plain/9aecacd08a93bffb529cee59d74477890ce96f37..9be5f66763d721eaada4fead8d518340c9742339:/etc/MACHINES?ds=sidebyside diff --git a/etc/MACHINES b/etc/MACHINES index a4db1df76c..db610b90ee 100644 --- a/etc/MACHINES +++ b/etc/MACHINES @@ -1,1310 +1,29 @@ Emacs machines list -Copyright (C) 1989, 1990, 1992, 1993, 1998, 2001, 2002, 2003, 2004, - 2005, 2006, 2007 Free Software Foundation, Inc. +Copyright (C) 1989-1990, 1992-1993, 1998, 2001-2012 + Free Software Foundation, Inc. See the end of the file for license conditions. This is a list of the status of GNU Emacs on various machines and systems. -For each system and machine, we give the configuration name you should -pass to the `configure' script to prepare to build Emacs for that -system/machine. +Information about older releases, and platforms that are no longer +supported, has been removed. Consult older versions of this file if +you are interested in this information. -The `configure' script uses the configuration name to decide which -machine and operating system description files `src/config.h' should -include. The machine description files are all in `src/m', and have -names similar to, but not identical to, the machine names used in -configuration names. The operating system files are all in `src/s', -and are named similarly. See the `configure' script if you need to -know which configuration names use which machine and operating system -description files. +The `configure' script uses the configuration name, and the results of +testing the system, to decide which options to use in src/config.h and +elsewhere (eg Makefiles). If you add support for a new configuration, add a section to this -file, and then edit the `configure' script to tell it which -configuration name(s) should select your new machine description and -system description files. +file, and edit the `configure.ac' source as needed. - -Here are the configurations Emacs is intended to work with, with the -corresponding configuration names. You can postpend version numbers -to operating system names (i.e. sunos4.1) or architecture names (i.e. -hppa1.1). If you leave out the version number, the `configure' script -will configure Emacs for the latest version it knows about. - -Acorn RISCiX (arm-acorn-riscix1.2) - - Emacs 19.29 has changes that ought to support RISCiX 1.2. - - Due to a bug in the RISCiX C compiler (3.4.5), emacs must - be built with gcc (versions 2.5.8 onwards). - - In addition, you will need GNU sed and GNU make, as the RISCiX release - versions of these utilities cannot cope with building emacs-19! - - GNU sed should be configured with: - - env 'DEFS=-Dgetopt=gnu_getopt -Dopterr=gnu_opterr -Doptind=gnu_optind \ - -Doptarg=gnu_optarg' ./configure - - GNU make (3.72+) should be configured with: - - env 'CFLAGS=-Dgetopt=gnu_getopt -Dopterr=gnu_opterr -Doptind=gnu_optind \ - -Doptarg=gnu_optarg' ./configure - - Emacs may be configured to use the X toolkit, by adding --with-x-toolkit - to the configure command. If you do this, you will need to edit the line - in src/Makefile which defines LIBW (about line 59) to read: - - LIBW= -lXaw_n - - This ensures that the non-shared widget library is used. - - It is unlikely that this version of emacs will work with RISCiX 1.1. - -Alliant (fx80-alliant-bsd): - - 18.52 worked on system version 4. Previous Emacs versions were - known to work on previous system versions. - - If you are using older versions of their operating system, you may - need to edit `src/config.h' to use `m/alliant1.h' (on version 1) or - `m/alliant.h' (on versions 2 and 3). - -Alliant FX/2800 (i860-alliant-bsd) - - Known to work with 19.26 and OS version 2.2, compiler version 1.3. - -Alpha (DEC) running OSF/1 or GNU/Linux (alpha-dec-osf1, alpha-dec-linux-gnu) - - For OSF/1 (aka Digital Unix) version 4.0, update 386, - it is reported that you need to run configure this way: - - configure --x-includes=/usr/include --x-libraries=/usr/shlib - - DEC C compiler version 5.9 (DEC C V5.9-005 on Digital UNIX V4.0f) - is reported to produce bogus binaries of Emacs 21.2 when the - command-line switches "-O4 -arch ev6 -tune ev6" are used. Using - just -O4 produces a good executable. - - For 4.0 revision 564, and 4.0A and 4.0B, Emacs 20 seems to work - with no special configuration options. However, if you use GCC as - your compiler, you will need version 2.8.1 or later, as older - versions fail to build with a message "Invalid dimension for the - charset-ID 160". - - Note that the X11 libraries on GNU/Linux systems for the Alpha are - said to have bugs that prevent Emacs from working with X (as of - November 1995). Recent releases work (July 2000). - -Altos 3068 (m68k-altos-sysv) - - 18.52 was said to work, provided you don't compile unexec.c with -O. - -Amdahl UTS (580-amdahl-sysv) - - Small changes for 18.38 were merged in 18.39. It is mostly - working, but at last report a bug sometimes causes Emacs to - grab very large amounts of memory. No fix or explanation - has yet been reported. It may be possible to find this bug - if you find which Emacs command it happens within and then - run that command with a breakpoint set at malloc. - - The 5.2u370 compiler is so brain damaged that it is not - even worth trying to use it. Success was obtained with the - uts native C compiler on uts version 5.2.5. - -Apple Macintosh running Mac OS X - - For installation on all versions of the Mac OS platform, see the file - mac/INSTALL. - -Apple PowerPC Macintosh running GNU/Linux - - There are special considerations for a variety of this system which - is known as the ``Yellow Dog [GNU/]Linux'': Emacs may crash during - dumping. To solve this, edit the header file src/m/macppc.h in the - Emacs distribution, and remove the "#if 0" and "#endif" directives - which surround the following block near the end of the file: - - #if 0 /* This breaks things on PPC GNU/Linux except for Yellowdog, - even with identical GCC, as, ld. Let's take it out until we - know what's really going on here. */ - /* GCC 2.95 and newer on GNU/Linux PPC changed the load address to - 0x10000000. */ - #if defined __linux__ - #if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 95) - #define DATA_SEG_BITS 0x10000000 - #endif - #endif - #endif /* 0 */ - - After that, reconfigure and rebuild Emacs. It should now build - successfully. - -Apollo running X Windows (m68k-apollo-bsd) - - Apollo version now supports dumping. It has been tested on SR10.3 and - SR10.4. It certainly requires at least SR10.0, and maybe SR10.2. Be sure - to build in the BSD environment. - - By default, everything is compiled with the switch "-W0,-opt,2". Don't try - to change this to full optimization (-O). The full optimizer (in Domain CC - 6.7, 6.8 and 6.9) generates some bad code in several modules which causes - the emacs window, under X, to be refreshed with each keystroke. - - The configuration stuff should work for the most part. However, some Domain - installations may have to edit src/Makefile manually after it is created. - There are too many versions of both cc and X to automate this easily. - - In `lib-src/Makefile', emacsclient compiles and works fine under CC 6.9. - It now probably works under other versions of the compiler, as well. - - The Apollo Domain CC compiler will issue quite a few warning messages, - mostly complaining about incompatible pointers. In general, these are - harmless and can be ignored. If you discover otherwise, please submit a bug - report identifying the problem in detail. - - When you try to dump emacs, you may get the message ".rwdi section needs - relocation." This means you are linking with some code that has compressed - data sections. In some cases this comes from linking with X libraries. Try - using shared X libraries instead. With some versions of Domain/OS this is - as simple as removing the "-lX11" from the LIBX line in src/Makefile. - - When running the configure script, use the configuration name - "m68k-apollo-bsd". You will also need to use the "-with-gcc=no" and - "-with-x" options. Depending upon your site configuration, you may have to - use other configure options, as well. Examine the INSTALL file for other - configure options. - - Check out the file 'lisp/x-apollo.el'. To use it, add - - (load "x-apollo") - - to your .emacs file. It provides useful default Apollo function key - bindings. - -AT&T 3b2, 3b5, 3b15, 3b20 (we32k-att-sysv) - - Emacs will probably not work with certain kernel constants too small. - - In param.h CDLIMIT should be at least (1L << 12) in order to allow - processes to write up to 2 Mbyte files. This parameter is configurable - by normal means in /etc/master.d/kernel; examine that file for the - symbol CDLIMIT or ULIMIT, and raise it by several powers of 2. Then - do normal kernel rebuild things via "cd /boot; mkboot -k KERNEL" and so - forth. - - In seg.h NSEGP and STACKSEG should be at least 16 and 4 respectively - to allow processes with total size of up to 2Mbytes. - However, I'm told it is unlikely this would fail to be true. - - The MAXMEM may also prevent Emacs from running. The file - 3B-MAXMEM in this directory explains how to increase MAXMEM. - - On some of these machines, you may need to define IN_SCCS_ID - in config.h to make Emacs work. Supposedly you can tell whether - this is necessary by checking something in /usr/include/sys/time.h; - we do not know precisely what. - -AT&T 7300 or 3b1 (m68k-att-sysv) - - 18.52 worked. If you have strange troubles with dumping - Emacs, delete the last few lines from `src/m/7300.h' and recompile. - These lines are supposed to produce a sharable executable. - - `src/m/7300.h' defines SHORTNAMES because operating system versions - older than 3.5 did not support long symbol names. Version 3.5 does - support them, so you can remove the #define SHORTNAMES in that - version. - -Bull DPX/2 models 2nn or 3nn (m68k-bull-sysv3) - - Minor fixes merged into 19.19, which should work with CC or GCC. - - You should compile with all the POSIX stuff: undef _SYSV and define - _POSIX_SOURCE, _XOPEN_SOURCE and _BULL_SOURCE. - - On bos2.00.45 there is a bug that makes the F_SETOWN fcntl - call enters in an infinite loop. F_SETOWN_BUG has been defined to avoid - calling it. - -Bull DPX/20 (rs6000-bull-bosx) - - Version 19 works. - -Bull sps7 (m68k-bull-sysv2) - - Changes partially merged in version 19, but some fixes are probably required. - -CCI 5/32, 6/32 - - See "Tahoe". - -Celerity (celerity-celerity-bsd4.2) - - Version 18.49 worked. This configuration name is a hack, because we - don't know the processor used by Celerities. If someone - who uses a Celerity could get in touch with us, we can teach - config.sub a better name for the configuration. - -Clipper (clipper-???) - - Version 19 has support for some brand of clipper system. If you - have successfully built Emacs 19 on some sort of clipper system, let - us know so we can flesh out this entry. - - Note that the Orion 105 is also a clipper, but some system-related - parameters are different. - -Convex (c1-convex-bsd, c2-convex-bsd, c32-convex-bsd, c34-convex-bsd, - c38-convex-bsd) - - Support updated and residual bugs fixed in 19.26. - -Cubix QBx/386 (i386-cubix-sysv) - - Changes merged in 19.1. Systems before 2/A/0 may fail to compile etags.c - due to a compiler bug. - -Cydra 5 (cydra-cydrome-sysv) - - 18.51 worked in one version of their operating system but stopped - working in a newer version. This has not been fixed. - -Data General Aviion (m88k-dg-dgux) - - 19.23 works; however, the GCC provided with DGUX 5.4R3.00 fails to - compile src/emacs.c. GCC 2.5.8 does work. - The 19.26 pretest was reported to work; no word on which compiler. - System versions other than DGUX 5.4R3.00 have not been tested. - - DGUX 5.4R3.10 works with 19.29 and 19.30. - - DGUX R4.11 contains changes to the stdio internals and it doesn't work - with versions before 20.2 without patches. 20.2 works in interactive - mode but usually fails in batch mode. The problem is that using - stderr in the dumped emacs usually leads to a segmentation fault. - Only m88k has been tested. - -DECstation (mips-dec-ultrix or mips-dec-osf) - - This machine is the older Mips-based DECstation. - Emacs should now work on the Alpha CPU. - - 19.25 works on Ultrix 4.2. The 19.26 pretest was reported to work - on Ultrix 4.2a and on 4.4. - - One user reported 19.25 did not work at all with --with-x-toolkit - using X11R5 patch level 10, but worked ok with X11R5 pl26. - - See under Ultrix for problems using X windows on Ultrix. - Note that this is a MIPS machine. - - For Ultrix versions 4.1 or earlier, you may need to define - SYSTEM_MALLOC in `src/m/pmax.h', because XvmsAlloc.o in libX11.a seems - to insist on defining malloc itself. - - For Ultrix versions prior to 4.0, you may need to delete - the definition of START_FILES from `src/m/pmax.h'. - -Motorola Delta 147 (m68k-motorola-sysv) - - The EMacs 19.26 pretest was reported to work. - - Motorola Delta boxes running System V/68 release 3. - Tested on 147 board with SVR3V7, no X and gcc. - Tested on 167 board with SVR3V7, no X, cc, gnucc and gcc. - Reports say it works with X too. - - The installation script chooses the compiler itself. gnucc is - preferred. - -Motorola Delta 187 (m88k-motorola-sysv, - m88k-motorola-sysvr4, or - m88k-motorola-m88kbcs) - - The 19.26 pretest was reported to run on SVR3. However, if you - use --with-x-toolkit on svr3, you will have problems compiling some - files because time.h and sys/time.h get included twice. - One fix is to edit those files to protect against multiple inclusion. - - As of version 19.13, Emacs was reported to run under SYSVr3 and SYSVr4. - -Dual running System V (m68k-dual-sysv) - - As of 17.46, this worked except for a few changes - needed in unexec.c. - -Dual running Uniplus (m68k-dual-uniplus) - - Worked, as of 17.51. - -Elxsi 6400 (elxsi-elxsi-sysv) - - Changes for 12.0 release are in 19.1. - Dumping should work now. - -Encore machine (ns16k-encore-bsd) - - This machine bizarrely uses 4.2BSD modified to use the COFF format - for object files. Works (as of 18.40). For the APC processor you - must enable two lines at the end of `src/s/umax.h', which are commented - out in the file as distributed. - - WARNING: If you compile Emacs with the "-O" compiler switch, you - must also use the "-q enter_exits" switch so that all functions have - stack frames. Otherwise routines that call `alloca' all lose. - - A kernel bug in some system versions causes input characters to be lost - occasionally. - -Fujitsu DS/90 (sparc-fujitsu-sysv4) - - Changes merged in 20.3. - -GEC 63 (local-gec63-usg5.2) - - Changes are partially merged in version 18, but certainly require - more work. Let us know if you get this working, and we'll give it a - real configuration name. - -Gould Power Node (pn-gould-bsd4.2 or pn-gould-bsd4.3) - - 18.36 worked on versions 1.2 and 2.0 of the operating system. - - On UTX/32 2.0, use pn-gould-bsd4.3. - - On UTX/32 1.2 and UTX/32S 1.0, use pn-gould-bsd4.2 and note that - compiling `lib-src/sorted-doc' tickles a compiler bug: remove the -g - flag to cc in the makefile. - - UTX/32 1.3 has a bug in the bcopy library routine. Fix it by - #undef BSTRING in `src/m/gould.h'. - - Version 19 incorporates support for releases 2.1 and later of UTX/32. - A site running a pre-release of 2.1 should #define RELEASE2_1 in config.h. - -Gould NP1 (np1-gould-bsd) - - Version 19 supposedly works. - -Harris Night Hawk (m68k-harris-cxux or m88k-harris-cxux) - - This port was added in 19.23. The configuration actually tested was - a Night Hawk 4800 running CX/UX 7.0. - - If you have GCC ported and want to build with it, you probably need to - change things (like compiler switches) defined in the s/cxux.h file. - - If you have X11R6 installed in /usr/lib, configure will fail to find - it and may find X11R5 instead. To work around this problem, use - --x-libraries=/usr/lib when you run configure. - - With CX/UX 7.0 and later releases, you need to build after setting the - SDE_TARGET environment variable to COFF (a port using ELF and shared - libraries has not yet been done). - -Harris Power PC (powerpc-harris-powerunix) - - Patches have been merged in 19.31. - -Honeywell XPS100 (xps100-honeywell-sysv) - - Config file added in version 19. - -Hewlett-Packard 9000 series 200 or 300 (m68k-hp-bsd or m68k-hp-hpux - or m68k-hp-netbsd) - - These machines are 68000-series CPUs running HP/UX - (a derivative of sysV with some BSD features) or BSD 4.3 ported by Utah. - The operating system suffix determines which system Emacs is built for. - - Series 200 HPUX runs Emacs only if it has the "HP/UX upgrade". - - Version 19 works under BSD. The 19.26 pretest was reported - to work on HPUX 9. 19.31 works on HPUX 10.01, but there are - some problems on 10.10 which have not been resolved. Emacs 19.34 - works on HPUX 10.20 provided you compile with GCC; with the HP C - compiler, subprocess commands do not work. - - On HPUX 9, Emacs sometimes crashes with SIGBUS or SIGSEGV after you - delete a frame. We think this is due to a bug in the X libraries - provided by HP. With the alternative X libraries in - /usr/contrib/mitX11R5/lib, the problem does not happen. - - If you are running HP/UX release 8.0 or later, you need the optional - "C/ANSI C" software in order to build Emacs (older releases of HP/UX - do not require any special software). If the file "/etc/filesets/C" - exists on your machine, you have this software, otherwise you do not. - - Note that HP has used two incompatible assembler syntaxes, - and has recently changed the format of C function frames. - `src/crt0.c' and `src/alloca.s' have been conditionalised for the new - assembler and new function-entry sequence. You may need to define - OLD_HP_ASSEMBLER if you are using an older hpux version. If you - have an official (bought from HP) series 300 machine you have - the new assembler. Kernels that are 5.+ or later have new - assembler. A Series 200 that has been upgraded to a 68010 - processor and a 5.+ kernel has the new compiler. - - Define C_SWITCH_MACHINE to be +X to make a version of Emacs that - runs on both 68010 and 68020 based HP/UX's. - - Define HPUX_68010 if you are using the new assembler, for - a system that has a 68010 without a 68881. This is to say, - a s200 (upgraded) or s310. - - Define the symbol HPUX_NET if you have the optional network features - that include the `netunam' system call. This is referred to as - Network Services (NS/9000) in HP literature. - -HP 9000 series 500: not supported. - - The series 500 has a seriously incompatible memory architecture - which relocates data in memory during execution of a program, - and support for it would be difficult to implement. - -HP 9000 series 700 or 800 (Spectrum) (hppa1.0-hp-hpux or hppa1.1-hp-hpux - or ...hpux9shr, or ...-nextstep) - - Use hppa1.1 for the 700 series and hppa1.0 for the 800 - series machines. (Emacs may not actually care which one you use.) - - Support for NextSTEP was added in 19.31. - - Emacs 20 may work on HPUX 10. You need patch PHSS_6202 to install - the Xaw and Xmu libraries. On HPUX 10.20 you may need to compile with GCC; - when Emacs was compiled with HP's C compiler, HP92453-01 A.10.32.03, - the subprocess features failed to work. - - 19.26 is believed to work on HPUX 9 provided you compile with GCC. - As of version 19.16, Emacs was reported to build (using GCC) and run - on HP 9000/700 series machines running HP/UX versions 8.07 and 9.01. - The HP compiler is known to fail on some versions if you use +O3, - but it may work with lower optimization levels. - - Use hppa1.1-hp-hpux9shr to use shared libraries on HPUX version 9. - You may need to create the X libraries libXaw.a and libXmu.a from - the MIT X distribute, and you may need to edit src/Makefile's - definition of LIBXT to look like this: - - LIBXT= $(LIBW) -lXmu -lXt $(LIBXTR6) -lXext - - Some people report trouble using the GNU memory allocator under - HP/UX version 9. The problems often manifest as lots of ^@'s in the - buffer. - - We are told that these problems go away if you obtain the latest - patches for the HP/UX C compiler. James J Dempsey - says that this set of versions works for him: - /bin/cc: - HP92453-01 A.09.28 HP C Compiler - /lib/ccom: - HP92453-01 A.09.28 HP C Compiler - HP-UX SLLIC/OPTIMIZER HP-UX.09.00.23 02/18/93 - Ucode Code Generator - HP-UX.09.00.23.5 (patch) 2/18/93 - - For 700 series machines, the HP-UX patch needed is known as - PHSS_2653. (Perhaps for 800 series machines as well; we don't - know.) If you are on the Internet, you should be able to obtain - this patch by using telnet to access the machine - support.mayfield.hp.com and logging in as "hpslreg" and following - the instructions there. Or you may be able to use this - web site: - - HP Patch Server: http://support.mayfield.hp.com/patches/html/patches.html - HP Support Line: http://support.mayfield.hp.com - - Please do not ask FSF for further support on this. If you have any - trouble obtaining the patch, contact HP Software Support. - - If your buffer fills up with nulls (^@) at some point, it could well - be that problem. That problem does not happen when people use GCC - to compile Emacs. On the other hand, the HP compiler version 9.34 - was reported to work for the 19.26 pretest. 9.65 was also reported to work. - - If you turn on the DSUSP character (delayed suspend), - Emacs 19.26 does not know how to turn it off on HPUX. - You need to turn it off manually. - - If you are running HP/UX release 8.0 or later, you need the optional - "C/ANSI C" software in order to build Emacs (older releases of HP/UX - do not require any special software). If the file "/etc/filesets/C" - exists on your machine, you have this software, otherwise you do not. - -High Level Hardware Orion (orion-highlevel-bsd) - - This is the original microprogrammed hardware. - Machine description file ought to work. - -High Level Hardware Orion 1/05 (clipper-highlevel-bsd) - - Changes merged in 18.52. This is the one with the Clipper cpu. - Note that systems which lack NFS need LOAD_AVE_TYPE changed to `double'. - - C compiler has a bug; it loops compiling eval.c. - Compile it by hand without optimization. - -HITACHI SR2001/SR2201 series (hppa1.1-hitachi-hiuxwe2) - - These machines are based on PA architecture running HI-UX/MPP - (based on OSF1. `MPP' stands for `Massively Parallel Processor'). - - Emacs 19.34 is believed to work; its pretest was tested - both on SR2001 (output of `uname -rv' is `00-01-BB 0') and - SR2201 (`02-00 0'). - - Emacs 20.7 was reported to build on a system whose `uname -rs' - output is `HI-UX/MPP 03-04'. - - The machine description file is `src/m/sr2k.h' is based on - `src/m/hp800.h'. The system description file is `src/s/hiuxwe2.h' - based on `src/s/osf1.h'. Note that this system doesn't use COFF. - -IBM PS/2 (i386-ibm-aix1.1 or i386-ibm-aix1.2) - - Changes merged in version 19. You may need to copy - /usr/lib/samples/hft/hftctl.c to the Emacs src directory. - - i386-ibm-aix1.1 may not work with certain new X window managers, and - may be suboptimal. - -IBM RS/6000 (rs6000-ibm-aix*) - - Emacs 19.26 is believed to work; its pretest was tested. - - Compiling with the system's `cc' and CFLAGS containing `-O5' might - fail because libXbsd isn't found. This is a compiler bug; - re-configure Emacs so that it isn't compiled with `-O5'. - - On AIX 4.3.x and 4.4, compiling with /bin/c89 fails because it - treats certain warnings as errors. Use `cc' instead. - - At last report, Emacs didn't run well on terminals. Informed - persons say that the tty VMIN and VTIME settings have been - corrupted; if you have a fix, please send it to us. - - Compiling with -O using the IBM compiler has been known - to make Emacs work incorrectly. It's reported that on - AIX 3.2.5 with an IBM compiler earlier than 1.03.00.14, - cc -O fails for some files. You need to install any - PTF containing APAR #IX42810 to bring the compiler to - the 1.03.00.14 level to allow optimized compiles. - - There are reports that IBM compiler versions earlier than 1.03.00.02 - fail even without -O. However, another report said that compiler - version 1.02.01.00 did work, on AIX 3.2.4, with Emacs 19.31. - - As of 19.11, if you strip the Emacs executable, it ceases to work. - - If you are using AIX 3.2.3, you may get a core dump when loading - ange-ftp. You may be able to fix the problem by defining LIBS_TERMCAP - as -ltermcap -lcurses. Please tell us if this fails to work. - - If anyone can fix the above problems, or confirm that they don't happen - with certain versions of various programs, we would appreciate it. - -IBM RT/PC (romp-ibm-bsd or romp-ibm-aix) - - Use romp-ibm-bsd for the 4.2-like system and romp-ibm-aix for AIX. - 19.22 is reported to work under bsd. We don't know about AIX. - - On BSD, if you have trouble, try compiling with a different compiler. - - On AIX, the file /usr/lib/samples/hft/hftctl.c must be compiled into - hftctl.o, with this result left in the src directory (hftctl.c is - part of the standard AIX distribution). - - window.c must not be compiled with -O on AIX. - -IBM System/390 running GNU/Linux (s390-*-linux-gnu) - - As of Emacs 21.2, a 31-bit only version is supported on this - system. - -Integrated Solutions `Optimum V' (m68k-isi-bsd4.2 or -bsd4.3) - - 18.52 said to work on some sort of ISI machine. - Version 18.45 worked (running on a Optimum V (VME bus, 68020) - BSD 4.2 (3.05e) system). 18.42 is reported to work on - a Qbus 68010 system. Has not been tried on `WorkStation' `Cluster - Compute Node' `Cluster WorkStation' or `Server Node' (Love the - StudLYCaps) - - Compilation with -O is rumored to break something. - - On recent system versions, you may need to undefine the macro UMAX - in `lib-src/loadst.c' and `src/getpagesize.h'. They stupidly defined this - in a system header file, which confuses Emacs (which thinks that UMAX - indicates the Umax operating system). - -Intel 386 (i386-*-isc, i386-*-esix, i386-*-bsdi2, - i386-*-xenix, i386-*-freebsd, i386-*-linux-gnu, - i386-*-sol2.4, i386-*-sysv3, i386-intsys-sysv, - i386-*-sysv4, i386-*-sysv4.2, - i386-*-sysv5.3, i386-*-bsd4.2, i386-*-cygwin, - i386-*-sco3.2v4, i386-*-bsd386, i386-*-386bsd, - i386-*-msdos, i386-*-windowsnt. - i386... can be replaced with i486... or i586...) - - In the above configurations, * means that the manufacturer's name - you specify does not matter, and you can use any name you like - (but it should not contain any dashes or stars). - - When using the ISC configurations, be sure to specify the isc - version number - for example, if you're running ISC 3.0, use - i386-unknown-isc3.0 as your configuration name. - Use i386-*-esix for Esix; Emacs runs as of version 19.6. - Use i386-*-linux-gnu for GNU/Linux systems; Emacs runs as of version 19.26. - Use i386-*-cygwin for Cygwin; Emacs builds as of version 22.1, in both X11 - and non-X11 modes. (The Cygwin site has source and binaries for 21.2.) - Use i386-intsys-sysv for Integrated Solutions 386 machines. - It may also be correct for Microport systems. - Use i386-*-sco3.2v4 for SCO 3.2v4; Emacs runs as of version 19.26. - - On GNU/Linux systems, Emacs 19.23 was said to work properly with libc - version 4.5.21, but not with 4.5.19. If your system uses QMAGIC - for the executable format, you must edit config.h to define LINUX_QMAGIC. - - On GNU/Linux, configure may fail to put these definitions in config.h: - - #define HAVE_GETTIMEOFDAY - #define HAVE_MKDIR - #define HAVE_RMDIR - #define HAVE_XSCREENNUMBEROFSCREEN - - To work around the problem, add those definitions by hand. - It is possible that this problem happens only with X11R6. - Newer system versions have fixed it. - - The 19.26 pretest was reported to work on SVR4.3 and on Freebsd. - - 19.29 is reported to crash when using Motif on Solaris 2.5. - The reasons are not yet known. - - Use i386-*-bsdiN for BSDI BSD/OS version N; Emacs runs as of version 19.23. - In some system versions, `make' is broken; use GNU make instead. - Shell bugs in version 1.0 of BSD/OS cause configure - to do the wrong thing with --with-x-toolkit; the workaround is to edit - configure to run another shell such as bash. - - For System V release 3, use i386-*-sysv3. - For System V release 4, use i386-*-sysv4. - For System V release 4.2, use i386-*-sysv4.2. - - If you are using Xenix, see notes at end under Xenix. - If you are using Esix, see notes at end under Esix. - If you are using SCO Unix, see notes at end under SCO. - - On 386bsd, NetBSD and FreeBSD, at one time, it was necessary to use - GNU make, not the system's make. Assuming it's installed as gmake, - do `gmake install MAKE=gmake'. However, more recently it is - reported that using the system Make on NetBSD 1.3.1 works ok. - - If you are using System V release 4.2, you may find that `cc -E' - puts spurious spaces in `src/xmakefile'. If that happens, - specify CPP=/lib/cpp as an option when you run make. - There is no problem if you compile with GCC. - - Note that use of Linux with GCC 2.4 and the DLL 4.4 libraries - requires the experimental "net 2" network patches (no relation to - Berkeley Net 2). There is a report that (some version of) Linux - requires including `/usr/src/linux/include/linux' in buffer.c - but no coherent explanation of why that might be so. If it is so, - in current versions of Linux, something else should probably be changed. - - Some sysV.3 systems seem to have bugs in `opendir'; - for them, alter `config.h' to define NONSYSTEM_DIR_LIBRARY - and undefine SYSV_SYSTEM_DIR. - - If you use optimization on V.3, you may need the option -W2,'-y 0' - to prevent certain faulty optimization. - - On 386/ix, to link with shared libraries, add #define USG_SHARED_LIBRARIES - to config.h. - - On SCO, there are problems in regexp matching when Emacs is compiled - with the system compiler. The compiler version is "Microsoft C - version 6", SCO 4.2.0h Dev Sys Maintenance Supplement 01/06/93; - Quick C Compiler Version 1.00.46 (Beta). The solution is to compile - with GCC. - - On ISC systems (2.02 and more recent), don't try to use the versions - of X that come with the system; use XFree86 instead. - - There is no consistency in the handling of certain system header files - on V.3. - - Some versions have sys/sioctl.h, and require it in sysdep.c. - But some versions do not have sys/sioctl.h. - For a given version of the system, this may depend on whether you have - X Windows or TCP/IP. Define or undefine NO_SIOCTL_H in config.h - according to whether you have the file. +Some obsolete platforms are unsupported beginning with Emacs 23.1. See +the list at the end of this file. - Likewise, some versions have been known to need sys/ttold.h, sys/stream.h, - and sys/ptem.h included in sysdep.c. If your system has these files, - try defining NEED_PTEM_H in config.h if you have trouble without it. - - You may find that adding -I/usr/X/include or -I/usr/netinclude or both - to CFLAGS avoids compilation errors on certain systems. - - Some versions convince sysdep.c to try to use `struct tchars' - but define `struct tc' instead; add `#define tchars tc' - to config.h to solve this problem. - -Iris 2500 and Iris 2500 Turbo (m68k-sgi-iris3.5 or m68k-sgi-iris3.6) - - Version 18 was said to work; use m68k-sgi-iris3.5 for system version 2.5 - and m68k-sgi-iris3.6 for system version 3.6. - Note that the 3030 is the same as the Iris 2500 Turbo. - -Iris 4D (mips-sgi-irix[456].*) - - Emacs 21.3 is reported to work on IRIX 6.5.x. - - You can build a 64-bit executable (with larger maximum buffer size) - on Irix 6.5 by specifying the 64-bit ABI using the `-64' compiler - flag or otherwise (see cc(1)). This may work on earlier Irix 6 - systems if you edit src/s/irix6-0.h following irix6-5.h. - - If compiling with GCC on Irix 6 yields an error "conflicting types - for `initstate'", install GCC 2.95 or a newer version, and this - problem should go away. It is possible that this problem results - from upgrading the operating system without reinstalling GCC; so you - could also try reinstalling the same version of GCC, and telling us - whether that fixes the problem. - -Masscomp (m68k-masscomp-rtu) - - 18.36 worked on a 5500DP running RTU v3.1a and compiler version 3.2 - with minor fixes that are included in 18.37. However, bizarre behavior - was reported for 18.36 on a Masscomp (model and version unknown but probably - a 68020 system). The report sounds like a compiler bug. - - A compiler bug affecting statements like - unsigned char k; unsigned char *p;... x = p[k]; - has been reported for "C version 1.2 under RTU 3.1". We do not wish - to take the time to install the numerous workarounds required to - compensate for this bug. - - For RTU version 3.1, define FIRST_PTY_LETTER to be 'p' in `src/s/rtu.h' - (or #undef and redefine it in config.h) so that ptys will be used. - - GNU Emacs is said to have no chance of compiling on RTU versions - prior to v3.0. - -Megatest (m68k-megatest-bsd) - - Emacs 15 worked; do not have any reports about Emacs 16 or 17 - but any new bugs are probably not difficult. - -Mips (mips-mips-riscos, mips-mips-riscos4.0, or mips-mips-bsd) - - The C compiler on Riscos 4.51 dumps core trying to optimize - parts of Emacs. Try without optimization or try GCC. - - Meanwhile, the linker on that system returns success even if - there are undefined symbols; as a result, configure gets the - wrong answers to various questions. No work-around is known - except to edit src/config.h by hand to indicate which functions - don't exist. - - Use mips-mips-riscos4.0 for RISCOS version 4. - Use mips-mips-bsd with the BSD world. - - Note that the proper configuration names for DECstations are - mips-dec-ultrix and mips-dec-osf. - - If you are compiling with GCC, then you must run fixincludes; - the alternative of using -traditional won't work because - the definition of SIGN_EXTEND_CHAR uses the keyword `signed'. - - If the SYSV world is the default, then you probably need the following - line in etc/Makefile: - - CFLAGS= -g -systype bsd43 - - Some operating systems on MIPS machines give SIGTRAP for division by - zero instead of the usual signals. The only real solution is to fix - the system to give a proper signal. - - In the meantime, you can change init_data in data.c if you wish. - Change it to handle SIGTRAP as well as SIGFPE. But this will have a - great disadvantage: you will not be able to run Emacs under a - debugger. I think crashing on division by zero is a lesser problem. - - dsg@mitre.org reported needing to use --x-libraries=/bsd43/usr/lib - on a riscos4bsd site. But it is not clear whether this is needed in - general or only because of quirks on a particular site. - -National Semiconductor 32000 (ns32k-ns-genix) - - This is for a complete machine from National Semiconductor, - running Genix. Changes merged in version 19. - -NCR Tower 32 (m68k-ncr-sysv2 or m68k-ncr-sysv3) - - If you are running System V release 2, use m68k-ncr-sysv2. - If you are running System V release 3, use m68k-ncr-sysv3. - - These both worked as of 18.56. If you change `src/ymakefile' so that - CFLAGS includes C_OPTIMIZE_SWITCH rather than C_DEBUG_SWITCH, check - out the comments in `src/m/tower32.h' (for System V release 2) or - `src/m/tower32v3.h' (for System V release 3) about this. - - There is a report that compilation with -O did not work with 18.54 - under System V release 2. - -NCR Intel system (i386-ncr-sysv4.2) - - This system works in 19.31, but if you don't link it with GNU ld, - you may need to set LD_RUN_PATH at link time to specify where - to find the X libraries. - -NEC EWS4800 (mips-nec-sysv4) - - This system works in 20.4, but you should use the compiler - /usr/abiccs/bin/cc (MIPS ABI MODE). - -NeXT (m68k-next-nextstep) - - Emacs 19 has not been tested extensively yet, but it seems to work - in a NeXTStep 3.0 terminal window, and under the X server called - co-Xist. You may need to specify -traditional when src/Makefile - builds xmakefile. - - NeXT users might want to implement direct operation with NeXTStep, - but from the point of view of the GNU project, that is a - distraction. - - Thanks to Thorsten Ohl for working on the NeXT port of Emacs 19. - -Nixdorf Targon 31 (m68k-nixdorf-sysv) - - Machine description file for version 17 is included in 18 - but whether it works is not known. - `src/unexec.c' bombs if compiled with -O. - Note that the "Targon 35" is really a Pyramid. - -Nu (TI or LMI) (m68k-nu-sysv) - - Version 18 is believed to work. - -Paragon OSF/1 (i860-intel-osf1) - - Changes merged in 19.29. - - There is a bug in OSF/1 make which claims there is a syntax error - in the src/xmakefile. You can successfully build emacs with: - - pmake MAKE=pmake - -Plexus (m68k-plexus-sysv) - - Worked as of 17.56. - -Pmax (DEC Mips) (mips-dec-ultrix or mips-dec-osf1) - - See under DECstation, above. - -Prime EXL (i386-prime-sysv) - - Minor changes merged in 19.1. - -Pyramid (pyramid-pyramid-bsd) - - The 19.26 pretest was observed to work on OSx 5.0, but it is necessary - to edit gmalloc.c. You must add #include at the top, - and delete the #define for size_t. - - You need to build Emacs in the Berkeley universe with - the `ucb' command, as in `ucb make' or `ucb build-install'. - - In OSx 4.0, it seems necessary to add the following two lines - to `src/m/pyramid.h': - #define _longjmp longjmp - #define _setjmp setjmp - - In Pyramid system 2.5 there has been a compiler bug making - Emacs crash just after screen-splitting with Qnil containing 0. - A compiler that fixes this is Pyramid customer number 8494, - internal number 1923. - - Some versions of the pyramid compiler get fatal - errors when the -gx compiler switch is used; if this - happens to you, change `src/m/pyramid.h' to define - C_DEBUG_SWITCH with an empty definition. - - Some old system versions may require you to define PYRAMID_OLD - in when alloca.s is preprocessed, in order to define _longjmp and _setjmp. - -Sequent Balance (ns32k-sequent-bsd4.2 or ns32k-sequent-bsd4.3) - - Emacs 18.51 worked on system version 3.0. 18.52 is said to work. - Delete some lines at the end of `src/m/sequent.h' for earlier system - versions. - -Sequent Symmetry (i386-sequent-bsd, i386-sequent-ptx, i386-sequent-ptx4) - - 19.33 has changes to support ptx 4 (a modified SVR4). - - Emacs 19 should work on Dynix (BSD). However, if you compile with - the Sequent compiler, you may find Emacs does not restore the - terminal settings on exit. If this happens, compile with GCC. - - Emacs 19.27 contains patches that should support - DYNIX/ptx 1.4 and 2.1 with the native cc compiler. - - GCC can't compile src/process.c due to a non-standard Sequent asm - keyword extension supported by cc and used for the network byte/word - swapping functions in the PTX /usr/include/netinet/in.h file. GCC - 2.5.8 includes the file which can be included into - netinet/in.h to perform these byte/word swapping functions in the - same manner. Patches have been submitted to the FSF against GCC - 2.6.0 to fix this problem and allow Emacs to be built with GCC. - - If your machine does not have TCP/IP installed, you will have to edit the - src/s/ptx.h file and comment out #define TCPIP_INSTALLED. - -Siemens Nixdorf RM600 and RM400 (mips-siemens-sysv4) - - Changes merged in 19.29. This configuration should also work for - Pyramid MIS Server running DC-OSX 1.x. The version configured with - `--with-x' works without any modifications, but `--with-x-toolkit' - works only if the Athena library and the Toolkit library are linked - statically. For this, edit `src/Makefile' after the `configure' run - and modify the lines with `-lXaw' and `-lXt' as follows: - - LIBW= /usr/lib/libXaw.a - LIBXT= $(LIBW) -lXmu /usr/lib/libXt.a $(LIBXTR6) -lXext - - In addition, `--with-x-toolkit=motif' works only - if the Motif library and the Toolkit library are linked statically. - To do this, edit `src/Makefile' after the `configure' run - and modify the lines with `-lXm' and `-lXt' as follows: - - LIBW= /usr/lib/libXm.a /usr/ccs/lib/libgen.a - LIBXT= $(LIBW) -lXmu /usr/lib/libXt.a $(LIBXTR6) -lXext - -SONY News (m68k-sony-bsd4.2 or m68k-sony-bsd4.3) - - 18.52 worked. Use m68k-sony-bsd4.3 for system release 3. - -SONY News 3000 series (RISC NEWS) (mips-sony-bsd) - - The 19.26 pretest is reported to work. - - Some versions of the operating system give SIGTRAP for division by zero - instead of the usual signals. This causes division by zero - to make Emacs crash. The system should be fixed to give the proper signal. - Changing Emacs is not a proper solution, because it would prevent - Emacs from working under any debugger. But you can change init_data - in data.c if you wish. - -Stardent i860 (i860-stardent-sysv4.0) - - 19.26 pretest reported to work. - -Stardent 1500 or 3000 - - See Titan. - -Stride (m68k-stride-sysv) - - Works (most recent news for 18.30) on their release 2.0. - For release 2.2, see the end of `src/m/stride.h'. - It may be possible to run on their V.1 system but changes - in the s- file would be needed. - -Sun 3, Sun 4 (sparc), Sun 386 (m68k-sun-sunos, sparc-sun-sunos, i386-sun-sunos, - sparc-sun-sunos4.1.3noshr, sparc-sun-solaris2.*, - i386-sun-solaris2.*, sparc*-*-linux-gnu) - - To build a 32-bit Emacs (i.e. if you are having any sort of problem - bootstrapping a 64-bit version), you can use the Sun Studio compiler - and configure Emacs with: - env CC="cc -xarch=v7" CFLAGS='' ./configure # on SPARC systems - env CC="cc -xarch=386" CFLAGS='' ./configure # on x86 systems - On Solaris 2.10, it is also possible to use /usr/sfw/bin/gcc to build - a 32-bit version of Emacs. Just make sure you point ./configure to - the right compiler: - - env CC='/usr/sfw/bin/gcc -m32' ./configure - - To build a 64-bit Emacs (with larger maximum buffer size and - including large file support) on a Solaris system which supports - 64-bit executables, use the Sun compiler, configuring something like - this (see the cc documentation for information on 64-bit - compilation): - - env CC="cc -xarch=v9" CFLAGS='' ./configure # on SPARC systems - env CC="cc -xarch=amd64" CFLAGS='' ./configure # on x86 systems - - As of version 2.95, GCC doesn't support the 64-bit ABI properly, but - later releases may. - - Some versions of Solaris 8 have a bug in their XIM (X Input Method) - implementation which causes Emacs to dump core when one of several - frames is closed. To avoid this, either install patch 108773-12 - (for Sparc) or 108874-12 (for x86), or configure Emacs with the - `--with-xim=no' switch (you can use Leim input methods instead). - - On Solaris 2.7, building Emacs with WorkShop Compilers 5.0 98/12/15 - C 5.0 failed, apparently with non-default CFLAGS, most probably due to - compiler bugs. Using Sun Solaris 2.7 Sun WorkShop 6 update 1 C - release was reported to work without problems. It worked OK on - another system with Solaris 8 using apparently the same 5.0 compiler - and the default CFLAGS. - - Emacs 21.1 and 21.2 built with Sun's ProWorks PC3.0.1 compiler on - Intel/Solaris 8 was reported to abort and dump core during startup. - Using GCC or a newer SUN compiler (Sun WokShop 6 update 2 C 5.3 - 2001/05/15) solves the problem. - - Emacs 20.5 and later work on SPARC GNU/Linux with the 32-bit ABI. - As of release 2.95, GCC doesn't work properly with the 64-bit ABI - (applicable on UltraSPARC), but that isn't the default mode. - - Emacs 20.3 fails to build on Solaris 2.5 if you use GCC 2.7.2.3. - Installing GCC 2.8 fixes the problem. - - 19.32 works on Solaris 2.4 and 2.5. On Solaris 2.5 - you may need one of these patches to prevent Emacs from crashing - when it starts up: - 103093-03: [README] SunOS 5.5: kernel patch (2140557 bytes) - 102832-01: [README] OpenWindows 3.5: Xview Jumbo Patch (4181613 bytes) - 103242-04: [README] SunOS 5.5: linker patch (595363 bytes) - - There are reports that using SunSoft cc with -xO4 -xdepend produces - bad code for some part of Emacs. - - Emacs works ok Sunos 4.1.x - provided you completely replace your C shared library - using one of the SunOS 4.1.x jumbo replacement patches from Sun. - Here are the patch numbers for Sunos 4.1.3: - 100890-10 SunOS 4.1.3: domestic libc jumbo patch - 100891-10 SunOS 4.1.3: international libc jumbo patch - - Some people report that Emacs crashes immediately on startup when - used with a non-X terminal, but we think this is due to compiling - with GCC and failing to use GCC's "fixed" system header files. - - Some Sun versions of X windows use the clipboard, not the selections, - for transferring text between clients. The Cut, Paste and Copy items - in the menu bar Edit menu work with the clipboard. - - It's important to include the SunOS version number in the - configuration name. For example, for SunOS release 4.0 on a Sun 3, - use `m68k-sun-sunos4.0'; for SunOS release 4.1 on a Sparc, use - `sparc-sun-sunos4.1'. For SunOS release 4.1.3 on a Sparc, use - `sparc-sun-sunos4.1.3'. Note that shared libraries are now - used by default on SunOS 4.1. - - A user reported irreproducible segmentation faults when using 19.29 - on Solaris 2.3 and 2.4 after compiling it with the Sun compiler. - The problem went away when GCC 2.7.0 was used instead. We do not know - whether anything in Emacs is partly to blame for this. - - X11R6 is set up to make shared libraries only, on Sunos 4. - Therefore, in order to link Emacs, you need to create static X libraries. - To do this, rebuild X11 after setting - #define ForceNormalLib YES - #define SeparateSharedCompile YES - in site.def (after #ifdef AfterVendorCF). - - Use `m68k' for the 68000-based Sun boxes, `sparc' for Sparcstations, - and `i386' for Sun Roadrunners. i386 calls for Sunos4.0. - - If you compile with Sun's ANSI compiler acc, you need additional options - when linking temacs, such as - /usr/lang/SC2.0.1/values-Xt.o -L/usr/lang/SC2.0.1/cg87 -L/usr/lang/SC2.0.1 - (those should be added just before the libraries) and you need to - add -lansi just before -lc. The precise file names depend on the - compiler version, so we cannot easily arrange to supply them. - - On SunOS 4.1.1, do not use /usr/5bin/cc. You can use gcc or/usr/bin/cc. - Make sure the environment variable LD_LIBRARY_PATH is not defined. - - Some people report crashes on SunOS 4.1.3 if SYSTEM_MALLOC is defined. - Others have reported that Emacs works if SYSTEM_MALLOC is defined, and not - if it is undefined. So far we do not know why results vary in this way. - The sources are set up so that SYSTEM_MALLOC is defined; if that crashes, - or if you want the benefit of the relocating memory allocator, you can - try enabling the #undef SYSTEM_MALLOC in src/s/sunos4-1-3.h. - - On Solaris 2, you need to install patch 100947-02 to fix a system bug. - Presumably this patch comes from Sun. You must alter the definition of - LD_SWITCH_SYSTEM if your X11 libraries are not in /usr/openwin/lib. - You must make sure that /usr/ucblib is not in your LD_LIBRARY_PATH. - - On Solaris 2.2, with a multiprocessor SparcCenter 1000, Emacs 19.17 is - reported to hang sometimes if it exits while it has one or more - subprocesses (e.g. the `wakeup' subprocess used by `display-time'). - Emacs and its subprocesses become zombies, and in their zombie state - slow down their host and disable rlogin and telnet. This is most - likely due to a bug in Solaris 2.2's multiprocessor support, - rather than an Emacs bug. - - On Solaris, do not use /usr/ucb/cc. Use /opt/SUNWspro/bin/cc. Make - sure that /usr/ccs/bin and /opt/SUNWspro/bin are in your PATH before - /usr/ucb. (Most free software packages have the same requirement on - Solaris.) With this compiler, use `/opt/SUNWspro/bin/cc -E' as the - preprocessor. If this inserts extra whitespace into its output (see - the PROBLEMS file) then add the option `-Xs'. - - If you have trouble using open-network-stream, get the distribution - of `bind' (the BSD name-server), build libresolv.a, and link Emacs - with -lresolv, by copying the #definition of LIBS_SYSTEM in - src/s/sunos4-1.h to src/config.h. This problem is due to obsolete - software in the nonshared standard library. - - If you want to use SunWindows, define HAVE_SUN_WINDOWS - in config.h to enable a special interface called `emacstool'. - The definition must *precede* the #include "machine.h". - System version 3.2 is required for this facility to work. - - We recommend that you instead use the X window system, which - has technical advantages, is an industry standard, and is also - free software. The FSF does not support the SunWindows code; - we installed it only on the understanding we would not let it - divert our efforts from what we think is important. - - If you are compiling for X windows, and the X window library was - compiled to use the 68881, then you must edit config.h according - the comments at the end of `src/m/sun3.h'. - - Note that Emacs on a Sun is not really as big as it looks. - As dumped, it includes around 200k of zeros between the - original text section and the original data section - (now remapped as part of the text). These are never - swapped in. - - To build a single Emacs that will run on Sun 2 and Sun 3 - HARDWARE, just build it on the Sun 2. - - On Sunos 4.1.3, the word is that Emacs can loop infinitely - on startup with X due perhaps to a bug in Sunos. Installing all of - these Sun patches fixes the problem. We don't know which of them - are really relevant. - - 100075-11 100224-06 100347-03 100482-05 100557-02 100623-03 100804-03 - 101080-01 100103-12 100249-09 100496-02 100564-07 100630-02 100891-10 - 101134-01 100170-09 100296-04 100377-09 100507-04 100567-04 100650-02 - 101070-01 101145-01 100173-10 100305-15 100383-06 100513-04 100570-05 - 100689-01 101071-03 101200-02 100178-09 100338-05 100421-03 100536-02 - 100584-05 100784-01 101072-01 101207-01 - -Tadpole 68K (m68k-tadpole-sysv) - - Changes merged in 19.1. - - You may need to edit Makefile to change the variables LIBDIR and - BINDIR from /usr/local to /usr/contrib. - - To give movemail access to /usr/mail, you may need to execute - - chmod 2755 etc/movemail; chgrp mail etc/movemail - -Tahoe (tahoe-tahoe-bsd4.2 or tahoe-tahoe-bsd4.3) - - 18.52 was known to work on some Tahoes, but a compiler bug intervenes - on others. Some Emacs versions have worked in Unisys 1r4 - (not in 1r3) and CCI I.21. - - If you have trouble compiling `lib-src/loadst.c', turn off the definition - of DKSTAT_HEADER_FILE in `src/m/tahoe.h'. - -Tandem Integrity S2 (mips-tandem-sysv) - - Changes merged in 18.56 but subprocess support is turned off. - You will probably want to see if you can make subprocesses work. - - You must edit `lib-src/Makefile' to define LOADLIBES = -mld. - -Tektronix XD88 (m88k-tektronix-sysv3*) - - The 19.26 pretest was reported to work. - Minor changes merged in 19.19. - -Tektronix 16000 box (6130?) (ns16k-tektronix-bsd) - - Emacs 17.61 worked. - -Tektronix 4300 (m68k-tektronix-bsd) - - Emacs 19.26 pretest reported to work. - -Titan P2 or P3 (titan-titan-sysv) - - Changes probably merged in version 19. - -Ustation E30 (SS5E) (m68k-unisys-unipl) - - Changes merged in 18.52; don't know whether they work. - -Vaxen running Berkeley Unix (vax-dec-bsd4.1, vax-dec-bsd4.2, vax-dec-bsd4.3), - Ultrix (vax-dec-ultrix), - System V (vax-dec-sysv0, vax-dec-sysv2), or - VMS (vax-dec-vms) - - Works. - - See under Ultrix for problems using X windows on Ultrix (vax-dec-ultrix). - - 18.27 worked on System V rel 2 (vax-dec-sysv2). - - 18.36 worked on System V rel 0 (vax-dec-sysv0). - - Richard Levitte distributes a set of patches to - Emacs 18.59 to make it work nicely under VMS. Emacs 19 probably - won't work very well, or even compile. Levitte is working on a - port, so these problems should be fixed in the near future. - -Whitechapel MG1 (ns16k-whitechapel-?) - - May work. Supposedly no changes were needed except in `src/m/mg1.h' - file. I do not know what Unix version runs on them. - -Wicat (m68k-wicat-sysv) - - Changes merged as of 18.6; whether they work is unknown. - See comments in `src/m/wicat.h' for things you should change - depending on the system and compiler version you have. -Here are notes about some of the systems supported: +* Here are notes about some of the systems supported: -Berkeley 4.1 (bsd4.1) - - Works on vaxes. - -Berkeley 4.2 (bsd4.2) - - Works on several machines. - -Berkeley 4.3 (bsd4.3) - - Works, on Vaxes at least. - -Esix - - The following was written for Emacs 18.59 and has been - slightly adapted for Emacs 19. It may need more change to be correct. - - Use s/usg5-4.h for Esix System V 4.0.[34] systems if you also have - XFree86. If you insist on using the Esix X Window libraries, good - luck. s/esix5r4.h provides a starting point, but doesn't seem to - work consistently. The basic problems involve the need to load - -lX11 *last* in the link command, and even then some things break. - You get best results by installing XFree86 and forgetting about the - Esix stuff unless you want to run IXI xdt3, which really only needs - the Esix X11 shared libraries. - - To compile with XFree86, make sure that your LD_LIBRARY_PATH - contains /usr/X386/lib. Be careful if you also have the Esix X - Window libraries that /usr/X386/lib appears *first* in the - LD_LIBRARY_PATH. Then define C_SWITCH_X_SYSTEM -I/usr/X386/include. - -Linux (actually GNU/Linux) +** GNU/Linux Most of the complete systems which use the Linux kernel are close enough to the GNU system to be considered variant GNU systems. We @@ -1323,191 +42,169 @@ Linux (actually GNU/Linux) people to write more free software. See the file LINUX-GNU in this directory for more explanation. -Microport - - See under "Intel 386". - -MSDOS - - For installation on MSDOS, see the file INSTALL (search for `MSDOG', - near the end of the file). See the "MS-DOS" chapter of the manual - for information about using Emacs on MSDOS. - -SCO Unix - If you have TCP but not X, you need to edit src/s/sco4.h - to define HAVE_SOCKETS. - - If you are using MMDF instead of sendmail, you need to remove - /usr/lib/sendmail or modify lisp/paths.el before compiling. - lisp/paths.el (which is loaded during the build) will attempt to use - sendmail if it exists. - - If you are using SMAIL, you need to define the macro - SMAIL in config.h. - -System V rel 0 (usg5.0) - - Works, on Vaxes and 3bxxx's. - There are some problems in 18.37 due to shortnames/cccp problems: - use the emacs 17 cpp if you have it. - -System V rel 2 (usg5.2) - - Works on various machines. - On some (maybe all) machines the library -lPW exists and contains - a version of `alloca'. On these machines, to use it, put - #define HAVE_ALLOCA - #define LIB_STANDARD -lPW -lc - in the `src/m/MACHINENAME.h' file for the machine. - - If you find that the character Meta-DEL makes Emacs crash, - find where function init_sys_modes in sysdep.c sets sg.c_cc[VQUIT] - and make it store 7 there. I have as yet no evidence of whether - this problem, known in HP/UX, exists in other system V versions. - -System V rel 2.2 (usg5.2.2) - - In 5.2.2 AT&T undid, incompatibly, their previous incompatible - change to the way the nlist library is called. A different s- file - is used to enable the other interface. - - They call themselves the right choice--can't they choose? - - Emacs version 18 unexec is currently not working properly - on 5.2.2. Nobody knows why yet. A workaround is to define - NO_REMAP. It is not yet known whether this applies to all - machines running 5.2.2. - -System V rel 3 (usg5.3) +*** 64-bit GNU/Linux - Some versions of this system support ptys and BSD-style sockets. - On such systems, you should define HAVE_PTYS and HAVE_SOCKETS in config.h. + No special procedures should be needed to build a 64-bit Emacs on a + 64-bit GNU/Linux system. To build a 32-bit Emacs, first ensure that + the necessary 32-bit system libraries and include files are + installed. Then use: - If you want to link Emacs with shared libraries, define - USG_SHARED_LIBRARIES. - - You may have to add ANSI idempotence #-lines to your sys/types.h - file to get Emacs to compile correctly. This may be necessary on - other pre-ANSI systems as well. - - On an AT&T 6386WGS using System V Release 3.2 and X11R3, the X support - cannot be made to work. Whether or not the GNU relocating malloc is - used, the symptom is that the first call Emacs makes to sbrk(0) returns - (char *)-1. Sorry, you're stuck with character-only mode. Try - installing XFree86 to fix this. - -System V rel 4.0.3 and 4.0.4 (usg5.4) - - Supported, including shared libraries for ELF, but ptys do not work - because TIOCGPGRP fails to work on ptys (but Dell 2.2 seems to have - fixed this). This failure is probably due to a misunderstanding of - the consequences of the POSIX spec: many system designers mistakenly - think that POSIX requires this feature to fail. This is untrue; - ptys are an extension, and POSIX says that extensions *when used* - may change the action of standard facilities in any fashion. - - If you get compilation errors about wrong number of - arguments to getpgrp, define GETPGRP_NO_ARG. - - The standard C preprocessor may generate xmakefile incorrectly. However, - /lib/cpp will work, so use `make CPP=/lib/cpp'. Standard cpp - seems to work OK under Dell 2.2. - - Some versions 3 and earlier of V.4, on the Intel 386 and 860, had - problems in the X11 libraries. These prevent Emacs from working - with X. You can use Emacs with X provided your copy of X is based - on X11 release 4 or newer, or is Dell's 2.2 (which is a 4.0.3). - Unfortunately, the only way you can tell whether your X11 library is - new enough is to try compiling Emacs to use X. If emacs runs, your - X11 library is new enough. - - In this context, GSV4 and GSV4i are alternate names for X11R4. - OL2.* is X11R3 based. OL3 is in between X11R3 and X11R4, and may or - may not work, depending on who made the Unix system. If the library - libXol is part of the X distribution, then you have X11R3 and Emacs - won't work with X. - - Most versions of V.4 support sockets. If `/usr/lib/libsocket.so' - exists, your system supports them. If yours does not, you must add - #undef HAVE_SOCKETS in config.h, after the inclusion of s-usg5-4.h. - (Any system that supports Internet should implement sockets.) - -Ultrix (bsd4.3) - - Recent versions of Ultrix appear to support the features of Berkeley 4.3. - Ultrix was at the BSD 4.2 level for a long time after BSD 4.3 came out. - - Ultrix 3.0 has incompatibilities in its X library if you have the - Ultrix version of X (UWS version 2.0). To solve them, you need to - prevent XvmsAlloc.o in Xlib from being used. Israel Pinkas says: - - I added the following lines to config.h after the X defines: + ./configure CC='gcc -m32' --build=i386-linux-gnu \ + --x-libraries=/usr/X11R6/lib - #if defined(ultrix) && defined(X11) - #define OBJECTS_SYSTEM calloc.o - #endif + (using the location of the 32-bit X libraries on your system). - Then I ran the following: +*** IBM System/390 running GNU/Linux (s390-*-linux-gnu) - ar x /usr/lib/libc.a calloc.o + As of Emacs 21.2, a 31-bit only version is supported on this system. - The problem is said to be gone in UWS version 2.1. +*** SuperH (sh[34]*-*-linux-gnu) -Uniplus 5.2 (unipl5.2) + Emacs 23.0.60 was reported to work on GNU/Linux (October 2008). + This was tested on a little-endian sh4 system (cpu type SH7751R) running + Gentoo Linux 2008.0. - Works, on Dual machines at least. +** Mac OS X -VMS (vmsM.N) + For installation instructions see the file nextstep/INSTALL. - Richard Levitte distributes a set of patches to - Emacs 18.59 to make it work nicely under VMS. Emacs 19 probably - won't work very well, or even compile. Levitte is working on a - port, so these problems should be fixed in the near future. +** Microsoft Windows - Note that Emacs for VMS is usually distributed in a special VMS - distribution. See the file ../vms/VMSINSTALL for info on moving - Unix distributions to VMS, and other VMS-related topics. + For installation instructions see the file nt/INSTALL. -Windows NT/95/98/ME/2000 +** MS-DOS - For installation on all versions of the MS-Windows platform, see the - file nt/INSTALL. + For installation instructions see the file msdos/INSTALL. + See the "MS-DOS" chapter of the manual for information about using + Emacs on MS-DOS. -X86_64 GNU/Linux +** Solaris - No special procedures should be needed to build a 64-bit Emacs. To - build a 32-bit Emacs, first ensure that the necessary 32-bit system - libraries and include files are installed. Then use: + On Solaris it is also possible to use either GCC or Solaris Studio + to build Emacs, by pointing ./configure to the right compiler: - env CC="gcc -m32" ./configure --build=i386-linux-gnu \ - --x-libraries=/usr/X11R6/lib + ./configure CC='/usr/sfw/bin/gcc' # GCC + ./configure CC='cc' # Solaris Studio - (using the location of the 32-bit X libraries on your system). + On Solaris, do not use /usr/ucb/cc. Use /opt/SUNWspro/bin/cc. Make + sure that /usr/ccs/bin and /opt/SUNWspro/bin are in your PATH before + /usr/ucb. (Most free software packages have the same requirement on + Solaris.) With this compiler, use `/opt/SUNWspro/bin/cc -E' as the + preprocessor. If this inserts extra whitespace into its output (see + the PROBLEMS file) then add the option `-Xs'. -Xenix (xenix) + To build a 64-bit Emacs (with larger maximum buffer size) on a + Solaris system which supports 64-bit executables, specify the -m64 + compiler option. For example: - Should work in 18.50, but you will need to edit the files - `lib-src/Makefile' and `src/ymakefile' - (see the comments that mention "Xenix" for what to change.) - Compiling Emacs with -O is said not to work. + ./configure CC='/usr/sfw/bin/gcc -m64' # GCC + ./configure CC='cc -m64' # Solaris Studio - If you want Emacs to work with Smail (installed as /usr/bin/smail) - then add the line #define SMAIL to config.h. + +* Obsolete platforms + +Support for the following obsolete platforms was removed in Emacs 23.1 +(the names in parentheses state the files in src/ that were removed): + + Apollo SR10.x (unexapollo.c) + Convex (unexconvex.c and m/convex.c) + Xenix (unexenix.c and s/xenix.h) + Iris (unexmips.c m/iris4d.h m/irist.h s/iris3-5.h s/iris3-6.h) + Gould (m/gould*) + Siemens machines running Sinix (unexsni.c) + Harris CXUX (s/cxux*) + ESIX, a variant of v.5.3 for the 386 (s/esix*) + Interactive (ISC) Unix (s/isc*) + Sony News (s/newsos*) + RTU 3.0, ucb universe (s/rtu.h) + UniSoft's UniPlus 5.2 (s/uniplus.h) + UMAX (s/umax.h) + AT&T UNIX PC model 7300 (m/7300.h) + Acorn + Alliant (m/alliant*) + Amdahl (m/amdahl*) + Altos 3068 Unix System V Release 2 (m/altos.h) + Apollo (m/apollo.h) + AT&T 3b (m/att3b.h) + Aviion (m/aviion*) + Berkeley 4.1 (m/bsd4.1.h) + Berkeley 4.2 (m/bsd4.2.h) + Berkeley 4.3 (m/bsd4.3.h) + Celerity (m/celerity.h) + clipper (m/clipper.h) + convergent S series (m/cnvrgnt.h) + cydra (m/cydra5.h) + Motorola System V/88 machines (m/delta88k.h) + Bull DPX/2 range (m/dpx2.h) + Dual machines using unisoft port (m/dual.h) + Elxsi machine (running enix) (m/elxsi.h) + Fujitsu F301 machine (m/f301.h) + i860 (m/i860.h) + ibm ps/2 aix386 (m/ibmps2-aix.h) + ISI 68000's (m/is*) + Masscomp 5000 series running RTU, ucb universe (m/masscomp.h) + Megatest 68000's (m/mega68.h) + Whitechapel Computer Works MG1 (ns16000 based) (m/mg1.h) + Harris Night Hawk Series 1200 and Series 3000 (m/nh3000.h m/nh4000.h) + ns16000 (m/ns16000.h) + National Semiconductor 32000, running Genix (m/ns32000.h) + TI Nu machines using system V (m/nu.h) + HLH Orion (m/orion.h m/orion105.h) + Paragon i860 (m/paragon.h) + PFU A-series (m/pfa50.h) + Plexus running System V.2 (m/plexus.h) + pyramid. (m/pyramid.h) + Bull SPS-7 (m/sps7.h) + Hitachi SR2001/SR2201 (m/sr2k.h) + Stride (m/stride.h) + Sun 1 (m/sun1.h) + Sun 2 (m/sun2.h) + SEQUENT SYMMETRY (m/symmetry.h) + Tadpole 68k machines (m/tad68k.h) + tahoe (m/tahoe.h) + targon31 (m/targon31.h) + Tektronix* (m/tek4300.h m/tekxd88.h) + NCR Tower 32 running System V.2 (m/tower32.h) + NCR Tower 32 running System V.3 (m/tower32v3.h) + U-station (Nihon Unisys, SS5E; Sumitomo Denkoh, U-Station E30) (m/ustation.h) + Wicat (m/wicat.h) + Honeywell XPS100 running UNIX System V.2 (m/xps100.h) + Data General's DG/UX (s/dgux*) + Irix before version 6 + osf1 (s/osf*) + SunOS4 (s/sunos*) + RISCiX (s/riscix*) + SCO 3.2v4 (s/sco4.h) + SCO 3.2v5 (s/sco5.h) + Sun's 386-based RoadRunner (m/sun386.h) + Sun3 machines (m/sun3*) + Integrated Solutions 386 machine (m/is386.h) + Integrated Solutions `Optimum V' -- m68k-isi-bsd4.2 or -bsd4.3 + Harris Power PC (powerpc-harris-powerunix) + Hewlett-Packard 9000 series 200 or 300 on some platforms -- m68k-hp-bsd or + m68k-hp-hpux; note m68k-*-netbsd* still works + IBM PS/2 -- i386-ibm-aix1.1 or i386-ibm-aix1.2 + GEC 63 -- local-gec63-usg5.2 + Tandem Integrity S2 -- mips-tandem-sysv + System V rel 0 -- usg5.0 + System V rel 2 -- usg5.2 + System V rel 2.2 -- usg5.2.2 + System V rel 3 -- usg5.3 + Ultrix -- bsd4.3 + VMS (s/vms.h) - The file etc/XENIX suggests some useful things to do to Xenix - to make the Emacs meta key work. Local variables: -mode: text +mode: outline fill-prefix: " " End: This file is part of GNU Emacs. -GNU Emacs is free software; you can redistribute it and/or modify +GNU Emacs is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 3, or (at your option) -any later version. +the Free Software Foundation, either version 3 of the License, or +(at your option) any later version. GNU Emacs is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of @@ -1515,8 +212,4 @@ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License -along with GNU Emacs; see the file COPYING. If not, write to the -Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, -Boston, MA 02110-1301, USA. - -arch-tag: 7d2e93c7-e982-40ec-9055-3cd064042473 +along with GNU Emacs. If not, see .