xref: /linux/tools/usb/usbip/INSTALL (revision e5451c8f8330e03ad3cfa16048b4daf961af434f)
1*588b48caSValentina ManeaInstallation Instructions
2*588b48caSValentina Manea*************************
3*588b48caSValentina Manea
4*588b48caSValentina ManeaCopyright (C) 1994, 1995, 1996, 1999, 2000, 2001, 2002, 2004, 2005,
5*588b48caSValentina Manea2006, 2007 Free Software Foundation, Inc.
6*588b48caSValentina Manea
7*588b48caSValentina ManeaThis file is free documentation; the Free Software Foundation gives
8*588b48caSValentina Maneaunlimited permission to copy, distribute and modify it.
9*588b48caSValentina Manea
10*588b48caSValentina ManeaBasic Installation
11*588b48caSValentina Manea==================
12*588b48caSValentina Manea
13*588b48caSValentina ManeaBriefly, the shell commands `./configure; make; make install' should
14*588b48caSValentina Maneaconfigure, build, and install this package.  The following
15*588b48caSValentina Maneamore-detailed instructions are generic; see the `README' file for
16*588b48caSValentina Maneainstructions specific to this package.
17*588b48caSValentina Manea
18*588b48caSValentina Manea   The `configure' shell script attempts to guess correct values for
19*588b48caSValentina Maneavarious system-dependent variables used during compilation.  It uses
20*588b48caSValentina Maneathose values to create a `Makefile' in each directory of the package.
21*588b48caSValentina ManeaIt may also create one or more `.h' files containing system-dependent
22*588b48caSValentina Maneadefinitions.  Finally, it creates a shell script `config.status' that
23*588b48caSValentina Maneayou can run in the future to recreate the current configuration, and a
24*588b48caSValentina Maneafile `config.log' containing compiler output (useful mainly for
25*588b48caSValentina Maneadebugging `configure').
26*588b48caSValentina Manea
27*588b48caSValentina Manea   It can also use an optional file (typically called `config.cache'
28*588b48caSValentina Maneaand enabled with `--cache-file=config.cache' or simply `-C') that saves
29*588b48caSValentina Maneathe results of its tests to speed up reconfiguring.  Caching is
30*588b48caSValentina Maneadisabled by default to prevent problems with accidental use of stale
31*588b48caSValentina Maneacache files.
32*588b48caSValentina Manea
33*588b48caSValentina Manea   If you need to do unusual things to compile the package, please try
34*588b48caSValentina Maneato figure out how `configure' could check whether to do them, and mail
35*588b48caSValentina Maneadiffs or instructions to the address given in the `README' so they can
36*588b48caSValentina Maneabe considered for the next release.  If you are using the cache, and at
37*588b48caSValentina Maneasome point `config.cache' contains results you don't want to keep, you
38*588b48caSValentina Maneamay remove or edit it.
39*588b48caSValentina Manea
40*588b48caSValentina Manea   The file `configure.ac' (or `configure.in') is used to create
41*588b48caSValentina Manea`configure' by a program called `autoconf'.  You need `configure.ac' if
42*588b48caSValentina Maneayou want to change it or regenerate `configure' using a newer version
43*588b48caSValentina Maneaof `autoconf'.
44*588b48caSValentina Manea
45*588b48caSValentina ManeaThe simplest way to compile this package is:
46*588b48caSValentina Manea
47*588b48caSValentina Manea  1. `cd' to the directory containing the package's source code and type
48*588b48caSValentina Manea     `./configure' to configure the package for your system.
49*588b48caSValentina Manea
50*588b48caSValentina Manea     Running `configure' might take a while.  While running, it prints
51*588b48caSValentina Manea     some messages telling which features it is checking for.
52*588b48caSValentina Manea
53*588b48caSValentina Manea  2. Type `make' to compile the package.
54*588b48caSValentina Manea
55*588b48caSValentina Manea  3. Optionally, type `make check' to run any self-tests that come with
56*588b48caSValentina Manea     the package.
57*588b48caSValentina Manea
58*588b48caSValentina Manea  4. Type `make install' to install the programs and any data files and
59*588b48caSValentina Manea     documentation.
60*588b48caSValentina Manea
61*588b48caSValentina Manea  5. You can remove the program binaries and object files from the
62*588b48caSValentina Manea     source code directory by typing `make clean'.  To also remove the
63*588b48caSValentina Manea     files that `configure' created (so you can compile the package for
64*588b48caSValentina Manea     a different kind of computer), type `make distclean'.  There is
65*588b48caSValentina Manea     also a `make maintainer-clean' target, but that is intended mainly
66*588b48caSValentina Manea     for the package's developers.  If you use it, you may have to get
67*588b48caSValentina Manea     all sorts of other programs in order to regenerate files that came
68*588b48caSValentina Manea     with the distribution.
69*588b48caSValentina Manea
70*588b48caSValentina Manea  6. Often, you can also type `make uninstall' to remove the installed
71*588b48caSValentina Manea     files again.
72*588b48caSValentina Manea
73*588b48caSValentina ManeaCompilers and Options
74*588b48caSValentina Manea=====================
75*588b48caSValentina Manea
76*588b48caSValentina ManeaSome systems require unusual options for compilation or linking that the
77*588b48caSValentina Manea`configure' script does not know about.  Run `./configure --help' for
78*588b48caSValentina Maneadetails on some of the pertinent environment variables.
79*588b48caSValentina Manea
80*588b48caSValentina Manea   You can give `configure' initial values for configuration parameters
81*588b48caSValentina Maneaby setting variables in the command line or in the environment.  Here
82*588b48caSValentina Maneais an example:
83*588b48caSValentina Manea
84*588b48caSValentina Manea     ./configure CC=c99 CFLAGS=-g LIBS=-lposix
85*588b48caSValentina Manea
86*588b48caSValentina Manea   *Note Defining Variables::, for more details.
87*588b48caSValentina Manea
88*588b48caSValentina ManeaCompiling For Multiple Architectures
89*588b48caSValentina Manea====================================
90*588b48caSValentina Manea
91*588b48caSValentina ManeaYou can compile the package for more than one kind of computer at the
92*588b48caSValentina Maneasame time, by placing the object files for each architecture in their
93*588b48caSValentina Maneaown directory.  To do this, you can use GNU `make'.  `cd' to the
94*588b48caSValentina Maneadirectory where you want the object files and executables to go and run
95*588b48caSValentina Maneathe `configure' script.  `configure' automatically checks for the
96*588b48caSValentina Maneasource code in the directory that `configure' is in and in `..'.
97*588b48caSValentina Manea
98*588b48caSValentina Manea   With a non-GNU `make', it is safer to compile the package for one
99*588b48caSValentina Maneaarchitecture at a time in the source code directory.  After you have
100*588b48caSValentina Maneainstalled the package for one architecture, use `make distclean' before
101*588b48caSValentina Maneareconfiguring for another architecture.
102*588b48caSValentina Manea
103*588b48caSValentina ManeaInstallation Names
104*588b48caSValentina Manea==================
105*588b48caSValentina Manea
106*588b48caSValentina ManeaBy default, `make install' installs the package's commands under
107*588b48caSValentina Manea`/usr/local/bin', include files under `/usr/local/include', etc.  You
108*588b48caSValentina Maneacan specify an installation prefix other than `/usr/local' by giving
109*588b48caSValentina Manea`configure' the option `--prefix=PREFIX'.
110*588b48caSValentina Manea
111*588b48caSValentina Manea   You can specify separate installation prefixes for
112*588b48caSValentina Maneaarchitecture-specific files and architecture-independent files.  If you
113*588b48caSValentina Maneapass the option `--exec-prefix=PREFIX' to `configure', the package uses
114*588b48caSValentina ManeaPREFIX as the prefix for installing programs and libraries.
115*588b48caSValentina ManeaDocumentation and other data files still use the regular prefix.
116*588b48caSValentina Manea
117*588b48caSValentina Manea   In addition, if you use an unusual directory layout you can give
118*588b48caSValentina Maneaoptions like `--bindir=DIR' to specify different values for particular
119*588b48caSValentina Maneakinds of files.  Run `configure --help' for a list of the directories
120*588b48caSValentina Maneayou can set and what kinds of files go in them.
121*588b48caSValentina Manea
122*588b48caSValentina Manea   If the package supports it, you can cause programs to be installed
123*588b48caSValentina Maneawith an extra prefix or suffix on their names by giving `configure' the
124*588b48caSValentina Maneaoption `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'.
125*588b48caSValentina Manea
126*588b48caSValentina ManeaOptional Features
127*588b48caSValentina Manea=================
128*588b48caSValentina Manea
129*588b48caSValentina ManeaSome packages pay attention to `--enable-FEATURE' options to
130*588b48caSValentina Manea`configure', where FEATURE indicates an optional part of the package.
131*588b48caSValentina ManeaThey may also pay attention to `--with-PACKAGE' options, where PACKAGE
132*588b48caSValentina Maneais something like `gnu-as' or `x' (for the X Window System).  The
133*588b48caSValentina Manea`README' should mention any `--enable-' and `--with-' options that the
134*588b48caSValentina Maneapackage recognizes.
135*588b48caSValentina Manea
136*588b48caSValentina Manea   For packages that use the X Window System, `configure' can usually
137*588b48caSValentina Maneafind the X include and library files automatically, but if it doesn't,
138*588b48caSValentina Maneayou can use the `configure' options `--x-includes=DIR' and
139*588b48caSValentina Manea`--x-libraries=DIR' to specify their locations.
140*588b48caSValentina Manea
141*588b48caSValentina ManeaSpecifying the System Type
142*588b48caSValentina Manea==========================
143*588b48caSValentina Manea
144*588b48caSValentina ManeaThere may be some features `configure' cannot figure out automatically,
145*588b48caSValentina Maneabut needs to determine by the type of machine the package will run on.
146*588b48caSValentina ManeaUsually, assuming the package is built to be run on the _same_
147*588b48caSValentina Maneaarchitectures, `configure' can figure that out, but if it prints a
148*588b48caSValentina Maneamessage saying it cannot guess the machine type, give it the
149*588b48caSValentina Manea`--build=TYPE' option.  TYPE can either be a short name for the system
150*588b48caSValentina Maneatype, such as `sun4', or a canonical name which has the form:
151*588b48caSValentina Manea
152*588b48caSValentina Manea     CPU-COMPANY-SYSTEM
153*588b48caSValentina Manea
154*588b48caSValentina Maneawhere SYSTEM can have one of these forms:
155*588b48caSValentina Manea
156*588b48caSValentina Manea     OS KERNEL-OS
157*588b48caSValentina Manea
158*588b48caSValentina Manea   See the file `config.sub' for the possible values of each field.  If
159*588b48caSValentina Manea`config.sub' isn't included in this package, then this package doesn't
160*588b48caSValentina Maneaneed to know the machine type.
161*588b48caSValentina Manea
162*588b48caSValentina Manea   If you are _building_ compiler tools for cross-compiling, you should
163*588b48caSValentina Maneause the option `--target=TYPE' to select the type of system they will
164*588b48caSValentina Maneaproduce code for.
165*588b48caSValentina Manea
166*588b48caSValentina Manea   If you want to _use_ a cross compiler, that generates code for a
167*588b48caSValentina Maneaplatform different from the build platform, you should specify the
168*588b48caSValentina Manea"host" platform (i.e., that on which the generated programs will
169*588b48caSValentina Maneaeventually be run) with `--host=TYPE'.
170*588b48caSValentina Manea
171*588b48caSValentina ManeaSharing Defaults
172*588b48caSValentina Manea================
173*588b48caSValentina Manea
174*588b48caSValentina ManeaIf you want to set default values for `configure' scripts to share, you
175*588b48caSValentina Maneacan create a site shell script called `config.site' that gives default
176*588b48caSValentina Maneavalues for variables like `CC', `cache_file', and `prefix'.
177*588b48caSValentina Manea`configure' looks for `PREFIX/share/config.site' if it exists, then
178*588b48caSValentina Manea`PREFIX/etc/config.site' if it exists.  Or, you can set the
179*588b48caSValentina Manea`CONFIG_SITE' environment variable to the location of the site script.
180*588b48caSValentina ManeaA warning: not all `configure' scripts look for a site script.
181*588b48caSValentina Manea
182*588b48caSValentina ManeaDefining Variables
183*588b48caSValentina Manea==================
184*588b48caSValentina Manea
185*588b48caSValentina ManeaVariables not defined in a site shell script can be set in the
186*588b48caSValentina Maneaenvironment passed to `configure'.  However, some packages may run
187*588b48caSValentina Maneaconfigure again during the build, and the customized values of these
188*588b48caSValentina Maneavariables may be lost.  In order to avoid this problem, you should set
189*588b48caSValentina Maneathem in the `configure' command line, using `VAR=value'.  For example:
190*588b48caSValentina Manea
191*588b48caSValentina Manea     ./configure CC=/usr/local2/bin/gcc
192*588b48caSValentina Manea
193*588b48caSValentina Maneacauses the specified `gcc' to be used as the C compiler (unless it is
194*588b48caSValentina Maneaoverridden in the site shell script).
195*588b48caSValentina Manea
196*588b48caSValentina ManeaUnfortunately, this technique does not work for `CONFIG_SHELL' due to
197*588b48caSValentina Maneaan Autoconf bug.  Until the bug is fixed you can use this workaround:
198*588b48caSValentina Manea
199*588b48caSValentina Manea     CONFIG_SHELL=/bin/bash /bin/bash ./configure CONFIG_SHELL=/bin/bash
200*588b48caSValentina Manea
201*588b48caSValentina Manea`configure' Invocation
202*588b48caSValentina Manea======================
203*588b48caSValentina Manea
204*588b48caSValentina Manea`configure' recognizes the following options to control how it operates.
205*588b48caSValentina Manea
206*588b48caSValentina Manea`--help'
207*588b48caSValentina Manea`-h'
208*588b48caSValentina Manea     Print a summary of the options to `configure', and exit.
209*588b48caSValentina Manea
210*588b48caSValentina Manea`--version'
211*588b48caSValentina Manea`-V'
212*588b48caSValentina Manea     Print the version of Autoconf used to generate the `configure'
213*588b48caSValentina Manea     script, and exit.
214*588b48caSValentina Manea
215*588b48caSValentina Manea`--cache-file=FILE'
216*588b48caSValentina Manea     Enable the cache: use and save the results of the tests in FILE,
217*588b48caSValentina Manea     traditionally `config.cache'.  FILE defaults to `/dev/null' to
218*588b48caSValentina Manea     disable caching.
219*588b48caSValentina Manea
220*588b48caSValentina Manea`--config-cache'
221*588b48caSValentina Manea`-C'
222*588b48caSValentina Manea     Alias for `--cache-file=config.cache'.
223*588b48caSValentina Manea
224*588b48caSValentina Manea`--quiet'
225*588b48caSValentina Manea`--silent'
226*588b48caSValentina Manea`-q'
227*588b48caSValentina Manea     Do not print messages saying which checks are being made.  To
228*588b48caSValentina Manea     suppress all normal output, redirect it to `/dev/null' (any error
229*588b48caSValentina Manea     messages will still be shown).
230*588b48caSValentina Manea
231*588b48caSValentina Manea`--srcdir=DIR'
232*588b48caSValentina Manea     Look for the package's source code in directory DIR.  Usually
233*588b48caSValentina Manea     `configure' can determine that directory automatically.
234*588b48caSValentina Manea
235*588b48caSValentina Manea`configure' also accepts some other, not widely useful, options.  Run
236*588b48caSValentina Manea`configure --help' for more details.
237*588b48caSValentina Manea
238