-Emacs machines list
-
-Copyright (C) 1989, 1990, 1992, 1993, 1998, 2001, 2002, 2003, 2004,
- 2005, 2006, 2007 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.
-
-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.
-
-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.
-
-\f
-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
- <jjd@spserv.bbn.com> 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.
-
- 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 <sys/types.h> 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 <sys/byteorder.h> 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 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 <levitte@e.kth.se> 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.
-\f
-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)
-
- Most of the complete systems which use the Linux kernel are close
- enough to the GNU system to be considered variant GNU systems. We
- call them "Linux-based GNU systems," or GNU/Linux for short.
-
- It is not coincidence that many of the other components used with
- Linux--including GNU Emacs--were developed specifically for the GNU
- project. The GNU project was launched in 1984 to develop a free
- complete Unix-like operating system. To reach this goal, we had to
- develop whatever system components were not available as freely
- redistributable software from some other source.
-
- The GNU project wants users of GNU/Linux systems to be aware of how
- these systems relate to the GNU project, because that will help
- spread the GNU idea that software should be free--and thus encourage
- 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)
-
- 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.
-
- 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:
-
- #if defined(ultrix) && defined(X11)
- #define OBJECTS_SYSTEM calloc.o
- #endif
-
- Then I ran the following:
-
- ar x /usr/lib/libc.a calloc.o
-
- The problem is said to be gone in UWS version 2.1.
-
-Uniplus 5.2 (unipl5.2)
-
- Works, on Dual machines at least.
-
-VMS (vmsM.N)
-
- Richard Levitte <levitte@e.kth.se> 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.
-
- 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.
-
-Windows NT/95/98/ME/2000
-
- For installation on all versions of the MS-Windows platform, see the
- file nt/INSTALL.
-
-X86_64 GNU/Linux
-
- 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:
-
- env CC="gcc -m32" ./configure --build=i386-linux-gnu \
- --x-libraries=/usr/X11R6/lib
-
- (using the location of the 32-bit X libraries on your system).
-
-Xenix (xenix)
-
- 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.
-
- If you want Emacs to work with Smail (installed as /usr/bin/smail)
- then add the line #define SMAIL to config.h.
-
- The file etc/XENIX suggests some useful things to do to Xenix
- to make the Emacs meta key work.
-\f
-Local variables:
-mode: text
-fill-prefix: " "
-End:
-
-This file is part of GNU Emacs.
-
-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.
-
-GNU Emacs is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-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
+Emacs machines list
+
+Copyright (C) 1989, 1990, 1992, 1993, 1998, 2001, 2002, 2003, 2004,
+ 2005, 2006, 2007, 2008, 2009, 2010 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.
+
+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.
+
+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.
+
+Some obsolete platforms are unsupported beginning with Emacs 23.1, see
+the full list at the end of this file.
+
+\f
+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.
+
+Alpha (DEC) running GNU/Linux (alpha-dec-linux-gnu)
+
+ 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).
+
+Apple Macintosh running Mac OS X
+
+ For installation instructions see the file nextstep/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.
+
+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.
+
+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.
+
+Fujitsu DS/90 (sparc-fujitsu-sysv4)
+
+ Changes merged in 20.3.
+
+HP 9000 series 700 or 800 (Spectrum) (hppa1.0-hp-hpux or hppa1.1-hp-hpux
+ or ...hpux9shr)
+
+ Use hppa1.1 for the 700 series and hppa1.0 for the 800
+ series machines. (Emacs may not actually care which one you use.)
+
+ 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
+ <jjd@spserv.bbn.com> 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.
+
+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 anyone can fix the above problems, or confirm that they don't happen
+ with certain versions of various programs, we would appreciate it.
+
+IBM System/390 running GNU/Linux (s390-*-linux-gnu)
+
+ As of Emacs 21.2, a 31-bit only version is supported on this
+ system.
+
+Intel 386 (i386-*-freebsd, i386-*-linux-gnu,
+ i386-*-sol2.4, i386-intsys-sysv,
+ i386-*-sysv4, i386-*-sysv4.2, i386-*-cygwin,
+ 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).
+
+ 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.
+
+ 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.
+
+ For System V release 4, use i386-*-sysv4.
+ For System V release 4.2, use i386-*-sysv4.2.
+
+ If you are using SCO Unix, see notes at end under SCO.
+
+ On 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 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.
+
+ 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 4D (mips-sgi-irix6.*)
+
+ 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.
+
+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.
+
+Prime EXL (i386-prime-sysv)
+
+ Minor changes merged in 19.1.
+
+Siemens Nixdorf RM600 and RM400 (mips-siemens-sysv4)
+
+ Changes merged in 19.29. 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
+
+Sun 4 (sparc), Sun 386 (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.
+
+ 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.
+
+ 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.
+
+ 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 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, 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.
+
+ 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.
+
+SuperH (sh[34]*-*-linux-gnu)
+
+ Emacs 23.0.60 was reported to work on GNU/Linux (October 2008).
+ Tested on a little-endian sh4 system (cpu type SH7751R) running
+ Gentoo Linux 2008.0.
+
+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
+
+Vaxen running Berkeley Unix (vax-dec-bsd4.1, vax-dec-bsd4.2, vax-dec-bsd4.3)
+
+ Works.
+\f
+Here are notes about some of the systems supported:
+
+Linux (actually 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
+ call them "Linux-based GNU systems," or GNU/Linux for short.
+
+ It is not coincidence that many of the other components used with
+ Linux--including GNU Emacs--were developed specifically for the GNU
+ project. The GNU project was launched in 1984 to develop a free
+ complete Unix-like operating system. To reach this goal, we had to
+ develop whatever system components were not available as freely
+ redistributable software from some other source.
+
+ The GNU project wants users of GNU/Linux systems to be aware of how
+ these systems relate to the GNU project, because that will help
+ spread the GNU idea that software should be free--and thus encourage
+ 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.
+
+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.)
+
+Windows NT/95/98/ME/2000
+
+ For installation on all versions of the MS-Windows platform, see the
+ file nt/INSTALL.
+
+X86_64 GNU/Linux
+
+ 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:
+
+ env CC="gcc -m32" ./configure --build=i386-linux-gnu \
+ --x-libraries=/usr/X11R6/lib
+
+ (using the location of the 32-bit X libraries on your system).
+
+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)
+
+\f
+Local variables:
+mode: text
+fill-prefix: " "
+End:
+
+This file is part of GNU Emacs.
+
+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 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
+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. If not, see <http://www.gnu.org/licenses/>.
+
+arch-tag: 7d2e93c7-e982-40ec-9055-3cd064042473