xref: /Universal-ctags/old-docs/INSTALL (revision 94eb5533b4afecf9ec7f085ede410daa2faa5c1f)
1*94eb5533SMasatake YAMATOCustom Installation
2*94eb5533SMasatake YAMATO===================
3*94eb5533SMasatake YAMATO
4*94eb5533SMasatake YAMATOThese installation instructions are for Unix or Unix-like platforms (or at
5*94eb5533SMasatake YAMATOleast, those platforms which are able to run a Bourne shell script). If you
6*94eb5533SMasatake YAMATOare attempting to install Exuberant Ctags on some other platform, see the file
7*94eb5533SMasatake YAMATOINSTALL.oth.
8*94eb5533SMasatake YAMATO
9*94eb5533SMasatake YAMATOIf you are not familiar with using the configure scripts generated by GNU
10*94eb5533SMasatake YAMATOautoconf, read the "Basic Installation" section below; then return here.
11*94eb5533SMasatake YAMATOThe configure script in this package supports the following custom options:
12*94eb5533SMasatake YAMATO
13*94eb5533SMasatake YAMATO  --disable-etags               By default, "make install" will install one
14*94eb5533SMasatake YAMATO                                binary, "ctags", one man page, "ctags.1", and
15*94eb5533SMasatake YAMATO                                create links to these two files by the names
16*94eb5533SMasatake YAMATO                                "etags" and "etags.1". If you do not want to
17*94eb5533SMasatake YAMATO                                install the "etags" links, use this option.
18*94eb5533SMasatake YAMATO
19*94eb5533SMasatake YAMATO  --disable-extended-format     Ctags now appends "extension flags" to the
20*94eb5533SMasatake YAMATO                                end of each tag entry in a manner which is
21*94eb5533SMasatake YAMATO                                backwards with original Vi implementation
22*94eb5533SMasatake YAMATO                                (they are placed into an EX comment). This
23*94eb5533SMasatake YAMATO                                can be disabled via use of the ctags --format
24*94eb5533SMasatake YAMATO                                option. This configure option changes the
25*94eb5533SMasatake YAMATO                                default behavior of ctags to disable use of
26*94eb5533SMasatake YAMATO                                these extension flags (i.e. use the original
27*94eb5533SMasatake YAMATO                                tag file format).
28*94eb5533SMasatake YAMATO
29*94eb5533SMasatake YAMATO  --disable-external-sort       Use this option to force use of an internal
30*94eb5533SMasatake YAMATO                                sort algorithm. On UNIX-like systems, ctags
31*94eb5533SMasatake YAMATO                                uses the sort utility of the operating system
32*94eb5533SMasatake YAMATO                                by default because it is more memory efficient.
33*94eb5533SMasatake YAMATO
34*94eb5533SMasatake YAMATO  --enable-custom-config=FILE   Defines a custom option configuration file to
35*94eb5533SMasatake YAMATO                                establish site-wide defaults. Ctags will read
36*94eb5533SMasatake YAMATO                                the following files at startup for options:
37*94eb5533SMasatake YAMATO                                /etc/ctags.conf, /usr/local/etc/ctags.conf,
38*94eb5533SMasatake YAMATO                                $HOME/.ctags, and .ctags. If you need a
39*94eb5533SMasatake YAMATO                                different file, set this option to the full
40*94eb5533SMasatake YAMATO                                path name of the file you want to be read, and
41*94eb5533SMasatake YAMATO                                it will be read immediately before reading
42*94eb5533SMasatake YAMATO                                $HOME/.ctags.
43*94eb5533SMasatake YAMATO
44*94eb5533SMasatake YAMATO  --enable-macro-patterns       By default, line numbers are used in the tag
45*94eb5533SMasatake YAMATO                                file for #define objects, in order to remain
46*94eb5533SMasatake YAMATO                                compatible with the original UNIX ctags. This
47*94eb5533SMasatake YAMATO                                option will make the default use patterns.
48*94eb5533SMasatake YAMATO
49*94eb5533SMasatake YAMATO  --enable-maintainer-mode      Creates a special GNU-specific version of the
50*94eb5533SMasatake YAMATO                                makefile which is used to maintain Exuberant
51*94eb5533SMasatake YAMATO                                Ctags.
52*94eb5533SMasatake YAMATO
53*94eb5533SMasatake YAMATO  --enable-tmpdir=DIR           When the library function mkstemp() is
54*94eb5533SMasatake YAMATO                                available, this option allows specifying the
55*94eb5533SMasatake YAMATO                                default directory to use for temporary files
56*94eb5533SMasatake YAMATO                                generated by ctags. This default can be
57*94eb5533SMasatake YAMATO                                changed at run time by setting the environment
58*94eb5533SMasatake YAMATO                                variable TMPDIR.
59*94eb5533SMasatake YAMATO
60*94eb5533SMasatake YAMATOIf you wish to change the name of the installed files, edit the makefile
61*94eb5533SMasatake YAMATOproduced by the configure script ("Makefile") before performing the "make
62*94eb5533SMasatake YAMATOinstall" step. There are two lines at the top of the file where the names of
63*94eb5533SMasatake YAMATOthe installed files may be customized.
64*94eb5533SMasatake YAMATO
65*94eb5533SMasatake YAMATO
66*94eb5533SMasatake YAMATOBasic Installation
67*94eb5533SMasatake YAMATO==================
68*94eb5533SMasatake YAMATO
69*94eb5533SMasatake YAMATO   These are generic installation instructions.
70*94eb5533SMasatake YAMATO
71*94eb5533SMasatake YAMATO   The `configure' shell script attempts to guess correct values for
72*94eb5533SMasatake YAMATOvarious system-dependent variables used during compilation.  It uses
73*94eb5533SMasatake YAMATOthose values to create a `Makefile' in each directory of the package.
74*94eb5533SMasatake YAMATOIt may also create one or more `.h' files containing system-dependent
75*94eb5533SMasatake YAMATOdefinitions.  Finally, it creates a shell script `config.status' that
76*94eb5533SMasatake YAMATOyou can run in the future to recreate the current configuration, a file
77*94eb5533SMasatake YAMATO`config.cache' that saves the results of its tests to speed up
78*94eb5533SMasatake YAMATOreconfiguring, and a file `config.log' containing compiler output
79*94eb5533SMasatake YAMATO(useful mainly for debugging `configure').
80*94eb5533SMasatake YAMATO
81*94eb5533SMasatake YAMATO   If you need to do unusual things to compile the package, please try
82*94eb5533SMasatake YAMATOto figure out how `configure' could check whether to do them, and mail
83*94eb5533SMasatake YAMATOdiffs or instructions to the address given in the `README' so they can
84*94eb5533SMasatake YAMATObe considered for the next release.  If at some point `config.cache'
85*94eb5533SMasatake YAMATOcontains results you don't want to keep, you may remove or edit it.
86*94eb5533SMasatake YAMATO
87*94eb5533SMasatake YAMATO   The file `configure.in' is used to create `configure' by a program
88*94eb5533SMasatake YAMATOcalled `autoconf'.  You only need `configure.in' if you want to change
89*94eb5533SMasatake YAMATOit or regenerate `configure' using a newer version of `autoconf'.
90*94eb5533SMasatake YAMATO
91*94eb5533SMasatake YAMATOThe simplest way to compile this package is:
92*94eb5533SMasatake YAMATO
93*94eb5533SMasatake YAMATO  1. `cd' to the directory containing the package's source code and type
94*94eb5533SMasatake YAMATO     `./configure' to configure the package for your system.  If you're
95*94eb5533SMasatake YAMATO     using `csh' on an old version of System V, you might need to type
96*94eb5533SMasatake YAMATO     `sh ./configure' instead to prevent `csh' from trying to execute
97*94eb5533SMasatake YAMATO     `configure' itself.
98*94eb5533SMasatake YAMATO
99*94eb5533SMasatake YAMATO     Running `configure' takes awhile.  While running, it prints some
100*94eb5533SMasatake YAMATO     messages telling which features it is checking for.
101*94eb5533SMasatake YAMATO
102*94eb5533SMasatake YAMATO  2. Type `make' to compile the package.
103*94eb5533SMasatake YAMATO
104*94eb5533SMasatake YAMATO  3. Optionally, type `make check' to run any self-tests that come with
105*94eb5533SMasatake YAMATO     the package.
106*94eb5533SMasatake YAMATO
107*94eb5533SMasatake YAMATO  4. Type `make install' to install the programs and any data files and
108*94eb5533SMasatake YAMATO     documentation.
109*94eb5533SMasatake YAMATO
110*94eb5533SMasatake YAMATO  5. You can remove the program binaries and object files from the
111*94eb5533SMasatake YAMATO     source code directory by typing `make clean'.  To also remove the
112*94eb5533SMasatake YAMATO     files that `configure' created (so you can compile the package for
113*94eb5533SMasatake YAMATO     a different kind of computer), type `make distclean'.
114*94eb5533SMasatake YAMATO
115*94eb5533SMasatake YAMATOCompilers and Options
116*94eb5533SMasatake YAMATO=====================
117*94eb5533SMasatake YAMATO
118*94eb5533SMasatake YAMATO   Some systems require unusual options for compilation or linking that
119*94eb5533SMasatake YAMATOthe `configure' script does not know about.  You can give `configure'
120*94eb5533SMasatake YAMATOinitial values for variables by setting them in the environment.  Using
121*94eb5533SMasatake YAMATOa Bourne-compatible shell, you can do that on the command line like
122*94eb5533SMasatake YAMATOthis:
123*94eb5533SMasatake YAMATO     CC=c89 CFLAGS=-O2 LIBS=-lposix ./configure
124*94eb5533SMasatake YAMATO
125*94eb5533SMasatake YAMATOOr on systems that have the `env' program, you can do it like this:
126*94eb5533SMasatake YAMATO     env CPPFLAGS=-I/usr/local/include LDFLAGS=-s ./configure
127*94eb5533SMasatake YAMATO
128*94eb5533SMasatake YAMATOCompiling For Multiple Architectures
129*94eb5533SMasatake YAMATO====================================
130*94eb5533SMasatake YAMATO
131*94eb5533SMasatake YAMATO   You can compile the package for more than one kind of computer at the
132*94eb5533SMasatake YAMATOsame time, by placing the object files for each architecture in their
133*94eb5533SMasatake YAMATOown directory.  To do this, you must use a version of `make' that
134*94eb5533SMasatake YAMATOsupports the `VPATH' variable, such as GNU `make'.  `cd' to the
135*94eb5533SMasatake YAMATOdirectory where you want the object files and executables to go and run
136*94eb5533SMasatake YAMATOthe `configure' script.  `configure' automatically checks for the
137*94eb5533SMasatake YAMATOsource code in the directory that `configure' is in and in `..'.
138*94eb5533SMasatake YAMATO
139*94eb5533SMasatake YAMATO   If you have to use a `make' that does not supports the `VPATH'
140*94eb5533SMasatake YAMATOvariable, you have to compile the package for one architecture at a time
141*94eb5533SMasatake YAMATOin the source code directory.  After you have installed the package for
142*94eb5533SMasatake YAMATOone architecture, use `make distclean' before reconfiguring for another
143*94eb5533SMasatake YAMATOarchitecture.
144*94eb5533SMasatake YAMATO
145*94eb5533SMasatake YAMATOInstallation Names
146*94eb5533SMasatake YAMATO==================
147*94eb5533SMasatake YAMATO
148*94eb5533SMasatake YAMATO   By default, `make install' will install the package's files in
149*94eb5533SMasatake YAMATO`/usr/local/bin', `/usr/local/man', etc.  You can specify an
150*94eb5533SMasatake YAMATOinstallation prefix other than `/usr/local' by giving `configure' the
151*94eb5533SMasatake YAMATOoption `--prefix=PATH'.
152*94eb5533SMasatake YAMATO
153*94eb5533SMasatake YAMATO   You can specify separate installation prefixes for
154*94eb5533SMasatake YAMATOarchitecture-specific files and architecture-independent files.  If you
155*94eb5533SMasatake YAMATOgive `configure' the option `--exec-prefix=PATH', the package will use
156*94eb5533SMasatake YAMATOPATH as the prefix for installing programs and libraries.
157*94eb5533SMasatake YAMATODocumentation and other data files will still use the regular prefix.
158*94eb5533SMasatake YAMATO
159*94eb5533SMasatake YAMATO   In addition, if you use an unusual directory layout you can give
160*94eb5533SMasatake YAMATOoptions like `--bindir=PATH' to specify different values for particular
161*94eb5533SMasatake YAMATOkinds of files.  Run `configure --help' for a list of the directories
162*94eb5533SMasatake YAMATOyou can set and what kinds of files go in them.
163*94eb5533SMasatake YAMATO
164*94eb5533SMasatake YAMATOOptional Features
165*94eb5533SMasatake YAMATO=================
166*94eb5533SMasatake YAMATO
167*94eb5533SMasatake YAMATO   Some packages pay attention to `--enable-FEATURE' options to
168*94eb5533SMasatake YAMATO`configure', where FEATURE indicates an optional part of the package.
169*94eb5533SMasatake YAMATOThey may also pay attention to `--with-PACKAGE' options, where PACKAGE
170*94eb5533SMasatake YAMATOis something like `gnu-as' or `x' (for the X Window System).  The
171*94eb5533SMasatake YAMATO`README' should mention any `--enable-' and `--with-' options that the
172*94eb5533SMasatake YAMATOpackage recognizes.
173*94eb5533SMasatake YAMATO
174*94eb5533SMasatake YAMATOSharing Defaults
175*94eb5533SMasatake YAMATO================
176*94eb5533SMasatake YAMATO
177*94eb5533SMasatake YAMATO   If you want to set default values for `configure' scripts to share,
178*94eb5533SMasatake YAMATOyou can create a site shell script called `config.site' that gives
179*94eb5533SMasatake YAMATOdefault values for variables like `CC', `cache_file', and `prefix'.
180*94eb5533SMasatake YAMATO`configure' looks for `PREFIX/share/config.site' if it exists, then
181*94eb5533SMasatake YAMATO`PREFIX/etc/config.site' if it exists.  Or, you can set the
182*94eb5533SMasatake YAMATO`CONFIG_SITE' environment variable to the location of the site script.
183*94eb5533SMasatake YAMATOA warning: not all `configure' scripts look for a site script.
184*94eb5533SMasatake YAMATO
185*94eb5533SMasatake YAMATOOperation Controls
186*94eb5533SMasatake YAMATO==================
187*94eb5533SMasatake YAMATO
188*94eb5533SMasatake YAMATO   `configure' recognizes the following options to control how it
189*94eb5533SMasatake YAMATOoperates.
190*94eb5533SMasatake YAMATO
191*94eb5533SMasatake YAMATO`--cache-file=FILE'
192*94eb5533SMasatake YAMATO     Use and save the results of the tests in FILE instead of
193*94eb5533SMasatake YAMATO     `./config.cache'.  Set FILE to `/dev/null' to disable caching, for
194*94eb5533SMasatake YAMATO     debugging `configure'.
195*94eb5533SMasatake YAMATO
196*94eb5533SMasatake YAMATO`--help'
197*94eb5533SMasatake YAMATO     Print a summary of the options to `configure', and exit.
198*94eb5533SMasatake YAMATO
199*94eb5533SMasatake YAMATO`--quiet'
200*94eb5533SMasatake YAMATO`--silent'
201*94eb5533SMasatake YAMATO`-q'
202*94eb5533SMasatake YAMATO     Do not print messages saying which checks are being made.  To
203*94eb5533SMasatake YAMATO     suppress all normal output, redirect it to `/dev/null' (any error
204*94eb5533SMasatake YAMATO     messages will still be shown).
205*94eb5533SMasatake YAMATO
206*94eb5533SMasatake YAMATO`--srcdir=DIR'
207*94eb5533SMasatake YAMATO     Look for the package's source code in directory DIR.  Usually
208*94eb5533SMasatake YAMATO     `configure' can determine that directory automatically.
209*94eb5533SMasatake YAMATO
210*94eb5533SMasatake YAMATO`--version'
211*94eb5533SMasatake YAMATO     Print the version of Autoconf used to generate the `configure'
212*94eb5533SMasatake YAMATO     script, and exit.
213*94eb5533SMasatake YAMATO
214*94eb5533SMasatake YAMATO`configure' also accepts some other, not widely useful, options.
215*94eb5533SMasatake YAMATO
216