comparison INSTALL @ 7864:e520e9f9a8d9

Formerly INSTALL.~31~
author Richard M. Stallman <rms@gnu.org>
date Mon, 13 Jun 1994 15:30:51 +0000
parents 99cf43c08895
children 0d3e8a3551b1
comparison
equal deleted inserted replaced
7863:c4adb7401604 7864:e520e9f9a8d9
68 libraries. 68 libraries.
69 69
70 The `--run-in-place' option sets up default values for the path 70 The `--run-in-place' option sets up default values for the path
71 variables in `./Makefile' so that Emacs will expect to find its data 71 variables in `./Makefile' so that Emacs will expect to find its data
72 files (lisp libraries, runnable programs, and the like) in the same 72 files (lisp libraries, runnable programs, and the like) in the same
73 locations they occupy while Emacs builds. This means that you don't 73 locations they occupy while Emacs builds. If you use `--run-in-place'
74 have to install Emacs in order to run it; it uses its data files as 74 then you don't need to do `make install'.
75 they were unpacked. 75
76 `--run-in-place' is pretty much obsolete now. If you put the Emacs
77 executable in a subdirectory named src, which has siblings named lisp,
78 lib-src, etc, info and so on, Emacs automatically uses those sibling
79 directories if the standard installation directory names don't contain
80 what Emacs needs.
76 81
77 The `--with-gcc' option specifies that the build process should 82 The `--with-gcc' option specifies that the build process should
78 compile Emacs using GCC. If you don't want to use GCC, specify 83 compile Emacs using GCC. If you don't want to use GCC, specify
79 `--with-gcc=no'. If this option is omitted, `configure' will search 84 `--with-gcc=no'. If this option is omitted, `configure' will search
80 for GCC in your load path, and use it if present. 85 for GCC in your load path, and use it if present.
176 and data files installed as well, run `make install'. 181 and data files installed as well, run `make install'.
177 182
178 By default, Emacs installs its files in the following directories: 183 By default, Emacs installs its files in the following directories:
179 184
180 `/usr/local/bin' holds the executable programs users normally run - 185 `/usr/local/bin' holds the executable programs users normally run -
181 `emacs', `etags', `ctags', `b2m', and `emacsclient'. 186 `emacs', `etags', `ctags', `b2m', `emacsclient',
187 and `rcs-checkin'.
182 188
183 `/usr/local/lib/emacs/VERSION/lisp' holds the Emacs Lisp library; 189 `/usr/local/lib/emacs/VERSION/lisp' holds the Emacs Lisp library;
184 `VERSION' stands for the number of the Emacs version 190 `VERSION' stands for the number of the Emacs version
185 you are installing, like `18.59' or `19.0'. Since the 191 you are installing, like `18.59' or `19.0'. Since the
186 lisp library changes from one version of Emacs to 192 lisp library changes from one version of Emacs to
381 when running make in the subdirectories. 387 when running make in the subdirectories.
382 388
383 389
384 CONFIGURATION BY HAND 390 CONFIGURATION BY HAND
385 391
386 Running the `configure' program performs the following steps. 392 Instead of running the `configure' program, you have to perform the
393 following steps.
387 394
388 1) Copy `./src/config.h.in' to `./src/config.h'. 395 1) Copy `./src/config.h.in' to `./src/config.h'.
389 396
390 2) Consult `./etc/MACHINES' to see what configuration name you should 397 2) Consult `./etc/MACHINES' to see what configuration name you should
391 use for your system. Look at the code of the `configure' script to 398 use for your system. Look at the code of the `configure' script to
398 you need to override any of the definitions in the s/*.h and m/*.h 405 you need to override any of the definitions in the s/*.h and m/*.h
399 files for your system and machine, do so by editing config.h, not by 406 files for your system and machine, do so by editing config.h, not by
400 changing the s/*.h and m/*.h files. Occasionally you may need to 407 changing the s/*.h and m/*.h files. Occasionally you may need to
401 redefine parameters used in `./lib-src/movemail.c'. 408 redefine parameters used in `./lib-src/movemail.c'.
402 409
403 3) If you're going to use the make utility to build Emacs, you will 410 3) Create src/Makefile and lib-src/Makefile from the corresponding
404 still need to run `configure' first, giving theappropriate values for 411 `Makefile.in.in' files. First copy `Makefile.in.in' to `Makefile.in',
405 the variables in the sections entitled "Things `configure' Might Edit" 412 then edit in appropriate substituions for the @...@ constructs,
406 and "Where To Install Things." Note that you may only need to change 413 and then copy the shell commands near the end of `configure'
407 the variables `prefix' and `exec_prefix', since the rest of the 414 that run cpp to construct `Makefile'.
408 variables have reasonable defaults based on them. For each Makefile 415
409 variable of this type, there is a corresponding configure option; for 416 4) Create `Makefile' files in various other directories
410 example, to change the location of the lock directory, you might use 417 from the corresponding `Makefile.in' files. This isn't so hard,
411 418 just a matter of substitution.
412 ./configure --lockdir=/nfs/emacslock 419
413 420 5) If you're going to use the build-install script to build Emacs,
414 4) If you're going to use the build-install script to build Emacs,
415 copy `./build-ins.in' to `./build-install', and edit the 421 copy `./build-ins.in' to `./build-install', and edit the
416 definitions found at the top of the script. 422 definitions found at the top of the script.
417 423
418 The `configure' script is built from `configure.in' by the `autoconf' 424 The `configure' script is built from `configure.in' by the `autoconf'
419 program. However, since Emacs has configuration requirements that 425 program. However, since Emacs has configuration requirements that
430 436
431 1) Run `make src/paths.h' in the top directory. This produces 437 1) Run `make src/paths.h' in the top directory. This produces
432 `./src/paths.h' from the template file `./src/paths.h.in', changing 438 `./src/paths.h' from the template file `./src/paths.h.in', changing
433 the paths to the values specified in `./Makefile'. 439 the paths to the values specified in `./Makefile'.
434 440
435 2) Cd to `./lib-src' and run `make'. This creates executables named 441 2) Go to directory `./lib-src' and run `make'. This creates
436 `ctags' and `etags' and `wakeup' and `make-docfile' and `digest-doc' 442 executables named `ctags' and `etags' and `wakeup' and `make-docfile'
437 and `test-distrib'. And others. 443 and `digest-doc' and `test-distrib'. And others.
438 444
439 3) Cd to `./src' and Run `make'. This refers to files in the `./lisp' 445 3) Go to directory `./src' and Run `make'. This refers to files in
440 and `./lib-src' subdirectories using names `../lisp' and 446 the `./lisp' and `./lib-src' subdirectories using names `../lisp' and
441 `../lib-src'. 447 `../lib-src'.
442 448
443 This creates a file `./src/emacs' which is the runnable Emacs, 449 This creates a file `./src/emacs' which is the runnable Emacs,
444 assigning it a new build version number by incrementing the build 450 which has another name that contains a version number.
445 version stored in `./lisp/version.el'. 451 Each time you do this, that version number increments in the last place.
446 452
447 It also creates a file in `./etc' whose name is `DOC' followed by the 453 It also creates a file in `./etc' whose name is `DOC' followed by the
448 current Emacs version. This file contains documentation strings for 454 current Emacs version. This file contains documentation strings for
449 all the functions in Emacs. Each time you run make to make a new 455 all the functions in Emacs. Each time you run make to make a new
450 emacs, a new DOC file with a new name is made. You must keep the DOC 456 emacs, a new DOC file with a new name is made. You must keep the DOC
461 1) Copy `./lisp' and its subdirectories, `./etc', and the executables 467 1) Copy `./lisp' and its subdirectories, `./etc', and the executables
462 in `./lib-src' to their final destinations, as selected in `./src/paths.h'. 468 in `./lib-src' to their final destinations, as selected in `./src/paths.h'.
463 469
464 Strictly speaking, not all of the executables in `./lib-src' need be copied. 470 Strictly speaking, not all of the executables in `./lib-src' need be copied.
465 - The programs `cvtmail', `emacsserver', `fakemail', `hexl', 471 - The programs `cvtmail', `emacsserver', `fakemail', `hexl',
466 `movemail', `timer', `vcdiff', `wakeup', and `yow' are used by 472 `movemail', `profile', `rcs2log', `timer', `vcdiff', `wakeup',
467 Emacs; they do need to be copied. 473 and `yow' are used by Emacs; they do need to be copied.
468 - The programs `etags', `ctags', `emacsclient', `b2m', and `rcs2log' 474 - The programs `etags', `ctags', `emacsclient', `b2m', and `rcs-checkin'
469 are intended to be run by users; they are handled below. 475 are intended to be run by users; they are handled below.
470 - The programs `make-docfile', `make-path', and `test-distrib' were 476 - The programs `make-docfile', `make-path', and `test-distrib' were
471 used in building Emacs, and are not needed any more. 477 used in building Emacs, and are not needed any more.
472 - The programs `digest-doc' and `sorted-doc' convert a `DOC' file into 478 - The programs `digest-doc' and `sorted-doc' convert a `DOC' file into
473 a file for users to read. There is no important reason to move them. 479 a file for users to read. There is no important reason to move them.
489 of installing different versions. 495 of installing different versions.
490 496
491 You can delete `./src/temacs'. 497 You can delete `./src/temacs'.
492 498
493 5) Copy the programs `b2m', `emacsclient', `ctags', `etags', and 499 5) Copy the programs `b2m', `emacsclient', `ctags', `etags', and
494 `rcs2log' from `./lib-src' to `/usr/local/bin'. These programs are 500 `rcs-checkin' from `./lib-src' to `/usr/local/bin'. These programs are
495 intended for users to run. 501 intended for users to run.
496 502
497 6) Copy the man pages in `./etc' for emacs, ctags, and etags into the 503 6) Copy the man pages in `./etc' for emacs, ctags, and etags into the
498 appropriate man directories. 504 appropriate man directories.
499 505
500 7) The files in the `./src' subdirectory, except for `emacs', are not 506 7) The files in the `./src' subdirectory, except for `emacs', are not
501 used by Emacs once it is built. The source would be handy for 507 used by Emacs once it is built. However, it is very desirable to keep
502 debugging. 508 the source on line for debugging.
503 509
504 510
505 PROBLEMS 511 PROBLEMS
506 512
507 See the file PROBLEMS in this directory for a list of various 513 See the file PROBLEMS in this directory for a list of various