System Requirements
===================

Tramp has been used successfully on Emacs 22, on Emacs 23, on Emacs
24, on XEmacs 21 (starting with 21.4), and on SXEmacs 22.  For
(S)XEmacs, you need the package `fsf-compat' for the `with-timeout'
macro.

For installation, it requires at least the following program versions:

  - GNU Autoconf 2.50 if sources are taken from GIT
  - GNU make 3.76
  - GNU texinfo 4.6

On MS Windows, you need Posix programs for installation.  These and
other useful Posix utilities can be obtained from one of several
projects:

  - http://www.mingw.org/msys.shtml               ( MSYS     )
  - http://www.cygwin.com/                        ( Cygwin   )
  - http://unxutils.sourceforge.net/              ( UnxUtils )
  - http://gnuwin32.sourceforge.net/              ( GnuWin32 )

Tramp is part of Emacs since version 22.  Tramp 2.0 is available as
XEmacs package, later versions are stalled due to license problems.


Basic Installation
==================

The simplest way to build and install Tramp is:

  1. `cd' to the Tramp source directory.  If you've taken Tramp from
     the GIT sources, type `autoconf' in order to get an up-to-date
     `configure' script.

  2. Type `./configure --with-contrib' to configure Tramp for your system.

     Running `configure' takes awhile.  While running, it prints some
     messages telling which features it is checking for.

  3. Type `make' to build the byte-compiled Lisp files as well as the
     Info manual.

  4. Type `make install' to install the Tramp Lisp files and the Info
     manual.

  5. You can remove the byte-compiled Lisp files and the Info manual
     from the source directory by typing `make clean'.  To also remove
     the files that `configure' created, type `make distclean'.


Installation Names
==================

There are some Lisp packages which are not contained in older
(X)Emacsen by default yet.  In order to make a link for them into
Tramp's contrib directory, you must use the `--with-contrib' option:

	./configure --with-contrib

By default, `make install' will install TRAMP's files in
`/usr/local/share/emacs/site-lisp' and `/usr/local/info'.  You can
specify an installation prefix other than `/usr/local' by giving
`configure' the option `--prefix=PATH'.  On GNU/Linux systems, it has
been reported useful to apply

	./configure --prefix=/usr

If your installed copy of Emacs is named something other than `emacs'
or `xemacs', you will need to tell `make' where to find it so that it
can correctly byte-compile the Tramp sources.

For example, to force the use of XEmacs you might do this:

	./configure --with-xemacs

You can even pass the command to be called:

	./configure --with-xemacs=xemacs21

If you specify the absolute path of the command, it must not contain
whitespaces.  If you need it, the corresponding path shall be appended
to the $PATH environment variable.

The syntax of Tramp file names is different for GNU Emacs and XEmacs.
The Info manual will be generated for the Emacs flavor choosen in the
`configure' phase. If you want the other version, you need to set the
option `EMACS_INFO' to `make':

	./configure --with-emacs
	make EMACS_INFO=xemacs

Also, the `--prefix=PATH' option to `configure' may not be general
enough to set the paths you want.  If not, you can declare the
directories Lisp and Info files should be installed.

For example, to put the Lisp files in `$HOME/elisp' and the Info file
in `$HOME/info', you would type:

	./configure --with-lispdir=$HOME/elisp --infodir=$HOME/info

On MS Windows, given Emacs is installed at `C:/Program Files/Emacs',
you should apply

	./configure --with-lispdir='C:/Program Files/Emacs/site-lisp' \
		    --infodir='C:/Program Files/Emacs/info'

`make' supports the `DESTDIR' variable for staged installation:

	make DESTDIR=/tmp install

Running `configure' might result in errors or warnings.  The output
explains in detail what's going wrong.

In case of errors, it is mandatory to fix them before continuation.
This can be missing or wrong versions of `(x)emacs', (X)Emacs
packages, `make', or `makeinfo'.

Warnings let `configure' (and the whole installation process)
continue, but parts of Tramp aren't installed.  This can happen with
missing or wrong versions of `texi2dvi' or `install-info'.  Here you
can decide yourself whether you want to renounce on the related
feature ("tramp.dvi" file for printed output, Tramp entry in Info's
"dir" file), or whether you want to adapt your $PATH environment
variable, and rerun `configure'.  An alternative is calling the missed
parts manually later on.


Load Path
=========

If you don't install Tramp into the intended directories, but prefer
to use from the source directory, you need to add the following lines
into your .emacs (given "~/emacs/tramp" is your source directory):

        (add-to-list 'load-path "~/emacs/tramp/lisp/")
	;; for Emacs
        (add-to-list 'Info-default-directory-list "~/emacs/tramp/info/")
	;; for XEmacs
        (add-to-list 'Info-directory-list "~/emacs/tramp/info/")
        (require 'tramp)


Suggestions/Bug Reports
=======================

Send all suggestions for fixes, etc to <tramp-devel@gnu.org>.
