hc
2023-11-06 15ade055295d13f95d49e3d99b09f3bbfb4a43e7
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<!-- Copyright (C) 1988-2016 Free Software Foundation, Inc.
 
Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License, Version 1.3 or
any later version published by the Free Software Foundation; with the
Invariant Sections being "Funding Free Software", the Front-Cover
Texts being (a) (see below), and with the Back-Cover Texts being (b)
(see below).  A copy of the license is included in the section entitled
"GNU Free Documentation License".
 
(a) The FSF's Front-Cover Text is:
 
A GNU Manual
 
(b) The FSF's Back-Cover Text is:
 
You have freedom to copy and modify this GNU Manual, like GNU
     software.  Copies published by the Free Software Foundation raise
     funds for GNU development. -->
<!-- Created by GNU Texinfo 5.2, http://www.gnu.org/software/texinfo/ -->
<head>
<title>GNU Compiler Collection (GCC) Internals: Configuration Files</title>
 
<meta name="description" content="GNU Compiler Collection (GCC) Internals: Configuration Files">
<meta name="keywords" content="GNU Compiler Collection (GCC) Internals: Configuration Files">
<meta name="resource-type" content="document">
<meta name="distribution" content="global">
<meta name="Generator" content="makeinfo">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<link href="index.html#Top" rel="start" title="Top">
<link href="Option-Index.html#Option-Index" rel="index" title="Option Index">
<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents">
<link href="Configuration.html#Configuration" rel="up" title="Configuration">
<link href="Build.html#Build" rel="next" title="Build">
<link href="System-Config.html#System-Config" rel="prev" title="System Config">
<style type="text/css">
<!--
a.summary-letter {text-decoration: none}
blockquote.smallquotation {font-size: smaller}
div.display {margin-left: 3.2em}
div.example {margin-left: 3.2em}
div.indentedblock {margin-left: 3.2em}
div.lisp {margin-left: 3.2em}
div.smalldisplay {margin-left: 3.2em}
div.smallexample {margin-left: 3.2em}
div.smallindentedblock {margin-left: 3.2em; font-size: smaller}
div.smalllisp {margin-left: 3.2em}
kbd {font-style:oblique}
pre.display {font-family: inherit}
pre.format {font-family: inherit}
pre.menu-comment {font-family: serif}
pre.menu-preformatted {font-family: serif}
pre.smalldisplay {font-family: inherit; font-size: smaller}
pre.smallexample {font-size: smaller}
pre.smallformat {font-family: inherit; font-size: smaller}
pre.smalllisp {font-size: smaller}
span.nocodebreak {white-space:nowrap}
span.nolinebreak {white-space:nowrap}
span.roman {font-family:serif; font-weight:normal}
span.sansserif {font-family:sans-serif; font-weight:normal}
ul.no-bullet {list-style: none}
-->
</style>
 
 
</head>
 
<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
<a name="Configuration-Files"></a>
<div class="header">
<p>
Previous: <a href="System-Config.html#System-Config" accesskey="p" rel="prev">System Config</a>, Up: <a href="Configuration.html#Configuration" accesskey="u" rel="up">Configuration</a> &nbsp; [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Option-Index.html#Option-Index" title="Index" rel="index">Index</a>]</p>
</div>
<hr>
<a name="Files-Created-by-configure"></a>
<h4 class="subsubsection">6.3.2.3 Files Created by <code>configure</code></h4>
 
<p>Here we spell out what files will be set up by <samp>configure</samp> in the
<samp>gcc</samp> directory.  Some other files are created as temporary files
in the configuration process, and are not used in the subsequent
build; these are not documented.
</p>
<ul>
<li> <samp>Makefile</samp> is constructed from <samp>Makefile.in</samp>, together with
the host and target fragments (see <a href="Fragments.html#Fragments">Makefile
Fragments</a>) <samp>t-<var>target</var></samp> and <samp>x-<var>host</var></samp> from
<samp>config</samp>, if any, and language Makefile fragments
<samp><var>language</var>/Make-lang.in</samp>.
</li><li> <samp>auto-host.h</samp> contains information about the host machine
determined by <samp>configure</samp>.  If the host machine is different from
the build machine, then <samp>auto-build.h</samp> is also created,
containing such information about the build machine.
</li><li> <samp>config.status</samp> is a script that may be run to recreate the
current configuration.
</li><li> <samp>configargs.h</samp> is a header containing details of the arguments
passed to <samp>configure</samp> to configure GCC, and of the thread model
used.
</li><li> <samp>cstamp-h</samp> is used as a timestamp.
</li><li> If a language <samp>config-lang.in</samp> file (see <a href="Front-End-Config.html#Front-End-Config">The Front End <samp>config-lang.in</samp> File</a>) sets <code>outputs</code>, then
the files listed in <code>outputs</code> there are also generated.
</li></ul>
 
<p>The following configuration headers are created from the Makefile,
using <samp>mkconfig.sh</samp>, rather than directly by <samp>configure</samp>.
<samp>config.h</samp>, <samp>bconfig.h</samp> and <samp>tconfig.h</samp> all contain the
<samp>xm-<var>machine</var>.h</samp> header, if any, appropriate to the host,
build and target machines respectively, the configuration headers for
the target, and some definitions; for the host and build machines,
these include the autoconfigured headers generated by
<samp>configure</samp>.  The other configuration headers are determined by
<samp>config.gcc</samp>.  They also contain the typedefs for <code>rtx</code>,
<code>rtvec</code> and <code>tree</code>.
</p>
<ul>
<li> <samp>config.h</samp>, for use in programs that run on the host machine.
</li><li> <samp>bconfig.h</samp>, for use in programs that run on the build machine.
</li><li> <samp>tconfig.h</samp>, for use in programs and libraries for the target
machine.
</li><li> <samp>tm_p.h</samp>, which includes the header <samp><var>machine</var>-protos.h</samp>
that contains prototypes for functions in the target
<samp><var>machine</var>.c</samp> file.  The header <samp><var>machine</var>-protos.h</samp>
can include prototypes of functions that use rtl and tree data
structures inside appropriate <code>#ifdef RTX_CODE</code> and <code>#ifdef
TREE_CODE</code> conditional code segements.  The
<samp><var>machine</var>-protos.h</samp> is included after the <samp>rtl.h</samp>
and/or <samp>tree.h</samp> would have been included.  The <samp>tm_p.h</samp> also
includes the header <samp>tm-preds.h</samp> which is generated by
<samp>genpreds</samp> program during the build to define the declarations
and inline functions for the predicate functions.
</li></ul>
 
<hr>
<div class="header">
<p>
Previous: <a href="System-Config.html#System-Config" accesskey="p" rel="prev">System Config</a>, Up: <a href="Configuration.html#Configuration" accesskey="u" rel="up">Configuration</a> &nbsp; [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Option-Index.html#Option-Index" title="Index" rel="index">Index</a>]</p>
</div>
 
 
 
</body>
</html>