Lines Matching full:build
6 * configure: (configure). The GNU configure and build system
9 This file documents the GNU configure and build system.
30 GNU configure and build system
33 The GNU configure and build system.
54 This document describes the GNU configure and build systems. It
84 The GNU configure and build system has two main goals.
89 systems, and permitting the developer to describe how to build the
95 order to build the program.
103 The GNU configure and build system is comprised of several different
104 tools. Program developers must build and install all of these tools.
106 People who just want to build programs from distributed sources
112 features of the host system at build time.
115 a system for describing how to build a program, permitting the
169 developer to write Makefiles describing how to build the programs.
183 permitted writing a simple build description which was converted into a
189 included support to build shared libraries on various platforms.
205 Most readers of this document should already know how to build a tool by
219 * It keeps the files generated during the build from cluttering up
223 entire build directory.
225 * It permits you to build from the same sources with several sets of
232 After running `configure', you can build the tools by running `make'.
240 installed as a separate step. To build them, run `make info'. To
242 also built and installed in a separate step. To build the html files,
280 To start using the GNU configure and build system with your software
311 When the configure script is run at build time, this will arrange to
414 If you want to build libraries, and you want to permit them to be
423 override the default at build time.
594 If you are using libtool, you must build and install the libtool
887 This means that we should build a single program name `poke'. It
950 As was seen in the previous chapter, the GNU configure and build system
961 * Build Files:: Build Files.
965 File: configure.info, Node: Developer Files, Next: Build Files, Up: Files
1089 `Makefile' at build time. This file is generated by `automake'
1108 `configure.in'. At build time, the configure script will define
1126 File: configure.info, Node: Build Files, Next: Support Files, Prev: Developer Files, Up: Files
1128 3.2 Build Files
1132 build time. These are the files which somebody who builds the package
1135 Of course, the developer will also build the package. The
1136 distinction between developer files and build files is not that the
1137 developer does not see the build files, but that somebody who only
1142 * Build Files Picture:: Build Files Picture.
1143 * Build Files Description:: Build Files Description.
1146 File: configure.info, Node: Build Files Picture, Next: Build Files Description, Up: Build Files
1148 3.2.1 Build Files Picture
1151 Here is a picture of the files which will be created at build time.
1166 File: configure.info, Node: Build Files Description, Prev: Build Files Picture, Up: Build Files
1168 3.2.2 Build Files Description
1171 This is a description of the files which are created at build time.
1183 This is the file which make will read to build the program. The
1213 File: configure.info, Node: Support Files, Prev: Build Files, Up: Files
1218 The GNU configure and build system requires several support files to be
1265 after it is configured by `ltconfig' to build a library.
1411 The GNU configure and build system can be used to build "cross
1487 `configure' script, and on which you build the tools (for the case when
1525 If you want to build a cross compilation tool, you must specify the
1531 For example, to build tools which generate code for a MIPS ELF
1623 written to build packages based on what is in the source tree, and
1646 Host libraries are built with the compiler used to build the programs
1660 source tree, so that it will be used to build the target libraries.
1663 which compiler you are going to use to build a tool; otherwise, the
1666 built. In order to permit everything to build using a single
1675 `--build' option is passed down unchanged.
1687 reason to assume that the C++ compiler used to build the host tools (if
1689 used to build the target libraries.
1702 * Build the host libraries.
1704 * Build the host programs, including gcc. Note that we call gcc
1711 * Build the target libraries.
1755 If the overall build is not a native build (i.e., the overall
1758 option will be the host system of the overall build. Recall that the
1759 host system of the library will be the target of the overall build. If
1760 the overall build is a native build, the `--with-cross-host' option
1785 the `Makefile' target `all-DIR' will build that library or program.
1788 requires first building gas, because the gcc build process invokes the
1794 The `Makefile' target `all-target-DIR' will build that library.
1825 subdirectory, the same objects are normally used as both the host build
1826 and the target build. This is normally OK, since libiberty contains
1844 It is possible to use the GNU configure and build system to build a
1846 which the tools are built. In other words, it is possible to build
1855 * Build Cross Host Tools:: Build Cross Host Tools.
1856 * Build and Host Options:: Build and Host Options.
1869 While running on a GNU/Linux, you can build a program which will run
1871 to build the program.
1877 Of course, you could also simply build the programs on the Solaris
1880 want to build the tools for somebody else to use. Or perhaps your
1883 A Canadian Cross build is most frequently used when building
1885 be simpler to configure and build on a Unix system than to support the
1889 File: configure.info, Node: Canadian Cross Concepts, Next: Build Cross Host Tools, Prev: Canadian Cross Example, Up: Canadian Cross
1898 The system on which the tools are being built is called the "build"
1904 system, as in the previous section, the build system would be GNU/Linux,
1907 It is, of course, possible to build a cross compiler using a Canadian
1908 Cross (i.e., build a cross compiler using a cross compiler). In this
1915 this case the build system would be GNU/Linux, the host system would be
1918 The name Canadian Cross comes from the case when the build, host, and
1923 File: configure.info, Node: Build Cross Host Tools, Next: Build and Host Options, Prev: Canadian Cross Concepts, Up: Canadian Cross
1925 6.3 Build Cross Host Tools
1928 In order to configure a program for a Canadian Cross build, you must
1929 first build and install the set of cross tools you will use to build the
1932 These tools will be build cross host tools. That is, they will run
1933 on the build system, and will produce code that runs on the host system.
1935 It is easy to confuse the meaning of build and host here. Always
1936 remember that the build system is where you are doing the build, and the
1938 need a build cross host compiler.
1941 the build. This normally means a cross compiler, cross assembler, and
1945 File: configure.info, Node: Build and Host Options, Next: CCross not in Cygnus Tree, Prev: Build Cross Host Tools, Up: Canadian Cross
1947 6.4 Build and Host Options
1950 When you run `configure', you must use both the `--build' and `--host'
1953 The `--build' option is used to specify the configuration name of
1954 the build system. This can normally be the result of running the
1956 `--build=`config.guess`'.
1964 it is run, it really identifies the build system. Since the host
1965 system is normally the same as the build system (i.e., people do not
1966 normally build using a cross compiler), it is reasonable to use the
1971 `--build' option that the configure script could run `config.guess' to
1972 determine the build system, and presume a Canadian Cross if the result
1979 `--build' option is not used, then the build system defaults to the
1983 File: configure.info, Node: CCross not in Cygnus Tree, Next: CCross in Cygnus Tree, Prev: Build and Host Options, Up: Canadian Cross
1989 cross tools which you want to use to build the program. This is done by
1993 and `RANLIB' to the cross tools which you want to use to build.
1998 You would set these environment variables to the build cross tools
2032 Adding a prefix of HOST will give the usual name for the build cross
2034 built, they were configured to run on the build system and to produce
2042 For example, if you configure with `--build=i386-linux-gnu' and
2045 installed this compiler, probably by doing a build with no `--host'
2054 There are additional considerations if you want to build a cross
2058 When you build
2063 and therefore will not be able to run on the build system.
2066 must first install a set of build cross target tools. These tools will
2070 For example, it would be possible to build just the host cross target
2071 tools on the build system, to copy the tools to the host system, and to
2072 build the target libraries on the host system. The requirement for
2073 build cross target tools is imposed by the Cygnus tree, which expects
2074 to be able to build both host programs and target libraries in a single
2076 expects to be able to build the target libraries on the build system,
2077 which means that it must use a build cross target toolchain.
2079 For example, suppose you want to build a Windows cross MIPS ELF
2084 In order to build the Windows (configuration name `i386-cygwin32')
2105 SRCDIR/configure --build=i386-linux-gnu --host=i386-cygwin32 \
2120 If you want to make it possible to build a program you are developing
2143 You ordinarily do not need to know the type of the build system in a
2147 `build', `build_alias', `build_cpu', `build_vendor', and `build_os',
2149 that they describe the build system.
2152 want to test the host environment, not the build environment.
2156 compiler, which is actually a build cross host compiler. If the
2161 build environment. Remember that the configure script is running on the
2162 build system, not the host system. If your configure scripts examines
2163 files, those files will be on the build system. Whatever you determine
2170 on the build system.
2204 build a program for the host system, but the program is being built on
2205 the build system.
2207 You must instead use a compiler for the build system, rather than the
2209 will hold a compiler for the build system.
2212 compiling with `$(CC_FOR_BUILD)'. The `configure' script will build
2214 compiling the file using a compiler for the build system (a native
2221 run on the build system and into the final program. This approach may
2222 be of interest for advanced build system hackers. Note that the build
2285 Cygnus configure will next set the `build' and `host' shell
2386 Multilibs are not really part of the GNU configure and build system,
2433 Doug Evans, to prepare to build target libraries. This shell script is
2440 source directory (which is not recommended), it will build a symlink
2497 variables to pass to a recursive invocation of `make'. This will build
2547 rebuild `Makefile' in your build directory. To rebuild `Makefile'
2570 releases. It is the build system which was developed at Cygnus,
2574 the general build structure remains intact.
2600 * --build option: Build and Host Options.
2602 * --host option: Build and Host Options.
2631 * build option: Build and Host Options.
2639 * canadian cross, configuring: Build and Host Options.
2642 * config.cache: Build Files Description.
2644 * config.h: Build Files Description.
2650 * config.status: Build Files Description.
2657 * configure build system: Build and Host Options.
2659 * configure host: Build and Host Options.
2666 * configuring a canadian cross: Build and Host Options.
2678 * host option: Build and Host Options.
2689 * Makefile: Build Files Description.
2698 * stamp-h: Build Files Description.
2734 Node: Build Files42111
2735 Node: Build Files Picture42772
2736 Node: Build Files Description43536
2755 Node: Build Cross Host Tools76051
2756 Node: Build and Host Options77003