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