xref: /kernel/linux/linux-5.10/tools/usb/usbip/INSTALL (revision 8c2ecf20)
18c2ecf20Sopenharmony_ciInstallation Instructions
28c2ecf20Sopenharmony_ci*************************
38c2ecf20Sopenharmony_ci
48c2ecf20Sopenharmony_ciCopyright (C) 1994, 1995, 1996, 1999, 2000, 2001, 2002, 2004, 2005,
58c2ecf20Sopenharmony_ci2006, 2007 Free Software Foundation, Inc.
68c2ecf20Sopenharmony_ci
78c2ecf20Sopenharmony_ciThis file is free documentation; the Free Software Foundation gives
88c2ecf20Sopenharmony_ciunlimited permission to copy, distribute and modify it.
98c2ecf20Sopenharmony_ci
108c2ecf20Sopenharmony_ciBasic Installation
118c2ecf20Sopenharmony_ci==================
128c2ecf20Sopenharmony_ci
138c2ecf20Sopenharmony_ciBriefly, the shell commands `./configure; make; make install' should
148c2ecf20Sopenharmony_ciconfigure, build, and install this package.  The following
158c2ecf20Sopenharmony_cimore-detailed instructions are generic; see the `README' file for
168c2ecf20Sopenharmony_ciinstructions specific to this package.
178c2ecf20Sopenharmony_ci
188c2ecf20Sopenharmony_ci   The `configure' shell script attempts to guess correct values for
198c2ecf20Sopenharmony_civarious system-dependent variables used during compilation.  It uses
208c2ecf20Sopenharmony_cithose values to create a `Makefile' in each directory of the package.
218c2ecf20Sopenharmony_ciIt may also create one or more `.h' files containing system-dependent
228c2ecf20Sopenharmony_cidefinitions.  Finally, it creates a shell script `config.status' that
238c2ecf20Sopenharmony_ciyou can run in the future to recreate the current configuration, and a
248c2ecf20Sopenharmony_cifile `config.log' containing compiler output (useful mainly for
258c2ecf20Sopenharmony_cidebugging `configure').
268c2ecf20Sopenharmony_ci
278c2ecf20Sopenharmony_ci   It can also use an optional file (typically called `config.cache'
288c2ecf20Sopenharmony_ciand enabled with `--cache-file=config.cache' or simply `-C') that saves
298c2ecf20Sopenharmony_cithe results of its tests to speed up reconfiguring.  Caching is
308c2ecf20Sopenharmony_cidisabled by default to prevent problems with accidental use of stale
318c2ecf20Sopenharmony_cicache files.
328c2ecf20Sopenharmony_ci
338c2ecf20Sopenharmony_ci   If you need to do unusual things to compile the package, please try
348c2ecf20Sopenharmony_cito figure out how `configure' could check whether to do them, and mail
358c2ecf20Sopenharmony_cidiffs or instructions to the address given in the `README' so they can
368c2ecf20Sopenharmony_cibe considered for the next release.  If you are using the cache, and at
378c2ecf20Sopenharmony_cisome point `config.cache' contains results you don't want to keep, you
388c2ecf20Sopenharmony_cimay remove or edit it.
398c2ecf20Sopenharmony_ci
408c2ecf20Sopenharmony_ci   The file `configure.ac' (or `configure.in') is used to create
418c2ecf20Sopenharmony_ci`configure' by a program called `autoconf'.  You need `configure.ac' if
428c2ecf20Sopenharmony_ciyou want to change it or regenerate `configure' using a newer version
438c2ecf20Sopenharmony_ciof `autoconf'.
448c2ecf20Sopenharmony_ci
458c2ecf20Sopenharmony_ciThe simplest way to compile this package is:
468c2ecf20Sopenharmony_ci
478c2ecf20Sopenharmony_ci  1. `cd' to the directory containing the package's source code and type
488c2ecf20Sopenharmony_ci     `./configure' to configure the package for your system.
498c2ecf20Sopenharmony_ci
508c2ecf20Sopenharmony_ci     Running `configure' might take a while.  While running, it prints
518c2ecf20Sopenharmony_ci     some messages telling which features it is checking for.
528c2ecf20Sopenharmony_ci
538c2ecf20Sopenharmony_ci  2. Type `make' to compile the package.
548c2ecf20Sopenharmony_ci
558c2ecf20Sopenharmony_ci  3. Optionally, type `make check' to run any self-tests that come with
568c2ecf20Sopenharmony_ci     the package.
578c2ecf20Sopenharmony_ci
588c2ecf20Sopenharmony_ci  4. Type `make install' to install the programs and any data files and
598c2ecf20Sopenharmony_ci     documentation.
608c2ecf20Sopenharmony_ci
618c2ecf20Sopenharmony_ci  5. You can remove the program binaries and object files from the
628c2ecf20Sopenharmony_ci     source code directory by typing `make clean'.  To also remove the
638c2ecf20Sopenharmony_ci     files that `configure' created (so you can compile the package for
648c2ecf20Sopenharmony_ci     a different kind of computer), type `make distclean'.  There is
658c2ecf20Sopenharmony_ci     also a `make maintainer-clean' target, but that is intended mainly
668c2ecf20Sopenharmony_ci     for the package's developers.  If you use it, you may have to get
678c2ecf20Sopenharmony_ci     all sorts of other programs in order to regenerate files that came
688c2ecf20Sopenharmony_ci     with the distribution.
698c2ecf20Sopenharmony_ci
708c2ecf20Sopenharmony_ci  6. Often, you can also type `make uninstall' to remove the installed
718c2ecf20Sopenharmony_ci     files again.
728c2ecf20Sopenharmony_ci
738c2ecf20Sopenharmony_ciCompilers and Options
748c2ecf20Sopenharmony_ci=====================
758c2ecf20Sopenharmony_ci
768c2ecf20Sopenharmony_ciSome systems require unusual options for compilation or linking that the
778c2ecf20Sopenharmony_ci`configure' script does not know about.  Run `./configure --help' for
788c2ecf20Sopenharmony_cidetails on some of the pertinent environment variables.
798c2ecf20Sopenharmony_ci
808c2ecf20Sopenharmony_ci   You can give `configure' initial values for configuration parameters
818c2ecf20Sopenharmony_ciby setting variables in the command line or in the environment.  Here
828c2ecf20Sopenharmony_ciis an example:
838c2ecf20Sopenharmony_ci
848c2ecf20Sopenharmony_ci     ./configure CC=c99 CFLAGS=-g LIBS=-lposix
858c2ecf20Sopenharmony_ci
868c2ecf20Sopenharmony_ci   *Note Defining Variables::, for more details.
878c2ecf20Sopenharmony_ci
888c2ecf20Sopenharmony_ciCompiling For Multiple Architectures
898c2ecf20Sopenharmony_ci====================================
908c2ecf20Sopenharmony_ci
918c2ecf20Sopenharmony_ciYou can compile the package for more than one kind of computer at the
928c2ecf20Sopenharmony_cisame time, by placing the object files for each architecture in their
938c2ecf20Sopenharmony_ciown directory.  To do this, you can use GNU `make'.  `cd' to the
948c2ecf20Sopenharmony_cidirectory where you want the object files and executables to go and run
958c2ecf20Sopenharmony_cithe `configure' script.  `configure' automatically checks for the
968c2ecf20Sopenharmony_cisource code in the directory that `configure' is in and in `..'.
978c2ecf20Sopenharmony_ci
988c2ecf20Sopenharmony_ci   With a non-GNU `make', it is safer to compile the package for one
998c2ecf20Sopenharmony_ciarchitecture at a time in the source code directory.  After you have
1008c2ecf20Sopenharmony_ciinstalled the package for one architecture, use `make distclean' before
1018c2ecf20Sopenharmony_cireconfiguring for another architecture.
1028c2ecf20Sopenharmony_ci
1038c2ecf20Sopenharmony_ciInstallation Names
1048c2ecf20Sopenharmony_ci==================
1058c2ecf20Sopenharmony_ci
1068c2ecf20Sopenharmony_ciBy default, `make install' installs the package's commands under
1078c2ecf20Sopenharmony_ci`/usr/local/bin', include files under `/usr/local/include', etc.  You
1088c2ecf20Sopenharmony_cican specify an installation prefix other than `/usr/local' by giving
1098c2ecf20Sopenharmony_ci`configure' the option `--prefix=PREFIX'.
1108c2ecf20Sopenharmony_ci
1118c2ecf20Sopenharmony_ci   You can specify separate installation prefixes for
1128c2ecf20Sopenharmony_ciarchitecture-specific files and architecture-independent files.  If you
1138c2ecf20Sopenharmony_cipass the option `--exec-prefix=PREFIX' to `configure', the package uses
1148c2ecf20Sopenharmony_ciPREFIX as the prefix for installing programs and libraries.
1158c2ecf20Sopenharmony_ciDocumentation and other data files still use the regular prefix.
1168c2ecf20Sopenharmony_ci
1178c2ecf20Sopenharmony_ci   In addition, if you use an unusual directory layout you can give
1188c2ecf20Sopenharmony_cioptions like `--bindir=DIR' to specify different values for particular
1198c2ecf20Sopenharmony_cikinds of files.  Run `configure --help' for a list of the directories
1208c2ecf20Sopenharmony_ciyou can set and what kinds of files go in them.
1218c2ecf20Sopenharmony_ci
1228c2ecf20Sopenharmony_ci   If the package supports it, you can cause programs to be installed
1238c2ecf20Sopenharmony_ciwith an extra prefix or suffix on their names by giving `configure' the
1248c2ecf20Sopenharmony_cioption `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'.
1258c2ecf20Sopenharmony_ci
1268c2ecf20Sopenharmony_ciOptional Features
1278c2ecf20Sopenharmony_ci=================
1288c2ecf20Sopenharmony_ci
1298c2ecf20Sopenharmony_ciSome packages pay attention to `--enable-FEATURE' options to
1308c2ecf20Sopenharmony_ci`configure', where FEATURE indicates an optional part of the package.
1318c2ecf20Sopenharmony_ciThey may also pay attention to `--with-PACKAGE' options, where PACKAGE
1328c2ecf20Sopenharmony_ciis something like `gnu-as' or `x' (for the X Window System).  The
1338c2ecf20Sopenharmony_ci`README' should mention any `--enable-' and `--with-' options that the
1348c2ecf20Sopenharmony_cipackage recognizes.
1358c2ecf20Sopenharmony_ci
1368c2ecf20Sopenharmony_ci   For packages that use the X Window System, `configure' can usually
1378c2ecf20Sopenharmony_cifind the X include and library files automatically, but if it doesn't,
1388c2ecf20Sopenharmony_ciyou can use the `configure' options `--x-includes=DIR' and
1398c2ecf20Sopenharmony_ci`--x-libraries=DIR' to specify their locations.
1408c2ecf20Sopenharmony_ci
1418c2ecf20Sopenharmony_ciSpecifying the System Type
1428c2ecf20Sopenharmony_ci==========================
1438c2ecf20Sopenharmony_ci
1448c2ecf20Sopenharmony_ciThere may be some features `configure' cannot figure out automatically,
1458c2ecf20Sopenharmony_cibut needs to determine by the type of machine the package will run on.
1468c2ecf20Sopenharmony_ciUsually, assuming the package is built to be run on the _same_
1478c2ecf20Sopenharmony_ciarchitectures, `configure' can figure that out, but if it prints a
1488c2ecf20Sopenharmony_cimessage saying it cannot guess the machine type, give it the
1498c2ecf20Sopenharmony_ci`--build=TYPE' option.  TYPE can either be a short name for the system
1508c2ecf20Sopenharmony_citype, such as `sun4', or a canonical name which has the form:
1518c2ecf20Sopenharmony_ci
1528c2ecf20Sopenharmony_ci     CPU-COMPANY-SYSTEM
1538c2ecf20Sopenharmony_ci
1548c2ecf20Sopenharmony_ciwhere SYSTEM can have one of these forms:
1558c2ecf20Sopenharmony_ci
1568c2ecf20Sopenharmony_ci     OS KERNEL-OS
1578c2ecf20Sopenharmony_ci
1588c2ecf20Sopenharmony_ci   See the file `config.sub' for the possible values of each field.  If
1598c2ecf20Sopenharmony_ci`config.sub' isn't included in this package, then this package doesn't
1608c2ecf20Sopenharmony_cineed to know the machine type.
1618c2ecf20Sopenharmony_ci
1628c2ecf20Sopenharmony_ci   If you are _building_ compiler tools for cross-compiling, you should
1638c2ecf20Sopenharmony_ciuse the option `--target=TYPE' to select the type of system they will
1648c2ecf20Sopenharmony_ciproduce code for.
1658c2ecf20Sopenharmony_ci
1668c2ecf20Sopenharmony_ci   If you want to _use_ a cross compiler, that generates code for a
1678c2ecf20Sopenharmony_ciplatform different from the build platform, you should specify the
1688c2ecf20Sopenharmony_ci"host" platform (i.e., that on which the generated programs will
1698c2ecf20Sopenharmony_cieventually be run) with `--host=TYPE'.
1708c2ecf20Sopenharmony_ci
1718c2ecf20Sopenharmony_ciSharing Defaults
1728c2ecf20Sopenharmony_ci================
1738c2ecf20Sopenharmony_ci
1748c2ecf20Sopenharmony_ciIf you want to set default values for `configure' scripts to share, you
1758c2ecf20Sopenharmony_cican create a site shell script called `config.site' that gives default
1768c2ecf20Sopenharmony_civalues for variables like `CC', `cache_file', and `prefix'.
1778c2ecf20Sopenharmony_ci`configure' looks for `PREFIX/share/config.site' if it exists, then
1788c2ecf20Sopenharmony_ci`PREFIX/etc/config.site' if it exists.  Or, you can set the
1798c2ecf20Sopenharmony_ci`CONFIG_SITE' environment variable to the location of the site script.
1808c2ecf20Sopenharmony_ciA warning: not all `configure' scripts look for a site script.
1818c2ecf20Sopenharmony_ci
1828c2ecf20Sopenharmony_ciDefining Variables
1838c2ecf20Sopenharmony_ci==================
1848c2ecf20Sopenharmony_ci
1858c2ecf20Sopenharmony_ciVariables not defined in a site shell script can be set in the
1868c2ecf20Sopenharmony_cienvironment passed to `configure'.  However, some packages may run
1878c2ecf20Sopenharmony_ciconfigure again during the build, and the customized values of these
1888c2ecf20Sopenharmony_civariables may be lost.  In order to avoid this problem, you should set
1898c2ecf20Sopenharmony_cithem in the `configure' command line, using `VAR=value'.  For example:
1908c2ecf20Sopenharmony_ci
1918c2ecf20Sopenharmony_ci     ./configure CC=/usr/local2/bin/gcc
1928c2ecf20Sopenharmony_ci
1938c2ecf20Sopenharmony_cicauses the specified `gcc' to be used as the C compiler (unless it is
1948c2ecf20Sopenharmony_cioverridden in the site shell script).
1958c2ecf20Sopenharmony_ci
1968c2ecf20Sopenharmony_ciUnfortunately, this technique does not work for `CONFIG_SHELL' due to
1978c2ecf20Sopenharmony_cian Autoconf bug.  Until the bug is fixed you can use this workaround:
1988c2ecf20Sopenharmony_ci
1998c2ecf20Sopenharmony_ci     CONFIG_SHELL=/bin/bash /bin/bash ./configure CONFIG_SHELL=/bin/bash
2008c2ecf20Sopenharmony_ci
2018c2ecf20Sopenharmony_ci`configure' Invocation
2028c2ecf20Sopenharmony_ci======================
2038c2ecf20Sopenharmony_ci
2048c2ecf20Sopenharmony_ci`configure' recognizes the following options to control how it operates.
2058c2ecf20Sopenharmony_ci
2068c2ecf20Sopenharmony_ci`--help'
2078c2ecf20Sopenharmony_ci`-h'
2088c2ecf20Sopenharmony_ci     Print a summary of the options to `configure', and exit.
2098c2ecf20Sopenharmony_ci
2108c2ecf20Sopenharmony_ci`--version'
2118c2ecf20Sopenharmony_ci`-V'
2128c2ecf20Sopenharmony_ci     Print the version of Autoconf used to generate the `configure'
2138c2ecf20Sopenharmony_ci     script, and exit.
2148c2ecf20Sopenharmony_ci
2158c2ecf20Sopenharmony_ci`--cache-file=FILE'
2168c2ecf20Sopenharmony_ci     Enable the cache: use and save the results of the tests in FILE,
2178c2ecf20Sopenharmony_ci     traditionally `config.cache'.  FILE defaults to `/dev/null' to
2188c2ecf20Sopenharmony_ci     disable caching.
2198c2ecf20Sopenharmony_ci
2208c2ecf20Sopenharmony_ci`--config-cache'
2218c2ecf20Sopenharmony_ci`-C'
2228c2ecf20Sopenharmony_ci     Alias for `--cache-file=config.cache'.
2238c2ecf20Sopenharmony_ci
2248c2ecf20Sopenharmony_ci`--quiet'
2258c2ecf20Sopenharmony_ci`--silent'
2268c2ecf20Sopenharmony_ci`-q'
2278c2ecf20Sopenharmony_ci     Do not print messages saying which checks are being made.  To
2288c2ecf20Sopenharmony_ci     suppress all normal output, redirect it to `/dev/null' (any error
2298c2ecf20Sopenharmony_ci     messages will still be shown).
2308c2ecf20Sopenharmony_ci
2318c2ecf20Sopenharmony_ci`--srcdir=DIR'
2328c2ecf20Sopenharmony_ci     Look for the package's source code in directory DIR.  Usually
2338c2ecf20Sopenharmony_ci     `configure' can determine that directory automatically.
2348c2ecf20Sopenharmony_ci
2358c2ecf20Sopenharmony_ci`configure' also accepts some other, not widely useful, options.  Run
2368c2ecf20Sopenharmony_ci`configure --help' for more details.
2378c2ecf20Sopenharmony_ci
238