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
144
145
146
147
148
149
150
151
152
153
154
<!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: Front End Config</title>
 
<meta name="description" content="GNU Compiler Collection (GCC) Internals: Front End Config">
<meta name="keywords" content="GNU Compiler Collection (GCC) Internals: Front End Config">
<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="Front-End.html#Front-End" rel="up" title="Front End">
<link href="Front-End-Makefile.html#Front-End-Makefile" rel="next" title="Front End Makefile">
<link href="Front-End-Directory.html#Front-End-Directory" rel="prev" title="Front End Directory">
<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="Front-End-Config"></a>
<div class="header">
<p>
Next: <a href="Front-End-Makefile.html#Front-End-Makefile" accesskey="n" rel="next">Front End Makefile</a>, Previous: <a href="Front-End-Directory.html#Front-End-Directory" accesskey="p" rel="prev">Front End Directory</a>, Up: <a href="Front-End.html#Front-End" accesskey="u" rel="up">Front End</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="The-Front-End-config_002dlang_002ein-File"></a>
<h4 class="subsubsection">6.3.8.2 The Front End <samp>config-lang.in</samp> File</h4>
 
<p>Each language subdirectory contains a <samp>config-lang.in</samp> file.
This file is a shell script that may define some variables describing
the language:
</p>
<dl compact="compact">
<dt><code>language</code></dt>
<dd><p>This definition must be present, and gives the name of the language
for some purposes such as arguments to <samp>--enable-languages</samp>.
</p></dd>
<dt><code>lang_requires</code></dt>
<dd><p>If defined, this variable lists (space-separated) language front ends
other than C that this front end requires to be enabled (with the
names given being their <code>language</code> settings).  For example, the
Java front end depends on the C++ front end, so sets
&lsquo;<samp>lang_requires=c++</samp>&rsquo;.
</p></dd>
<dt><code>subdir_requires</code></dt>
<dd><p>If defined, this variable lists (space-separated) front end directories
other than C that this front end requires to be present.  For example,
the Objective-C++ front end uses source files from the C++ and
Objective-C front ends, so sets &lsquo;<samp>subdir_requires=&quot;cp objc&quot;</samp>&rsquo;.
</p></dd>
<dt><code>target_libs</code></dt>
<dd><p>If defined, this variable lists (space-separated) targets in the top
level <samp>Makefile</samp> to build the runtime libraries for this
language, such as <code>target-libobjc</code>.
</p></dd>
<dt><code>lang_dirs</code></dt>
<dd><p>If defined, this variable lists (space-separated) top level
directories (parallel to <samp>gcc</samp>), apart from the runtime libraries,
that should not be configured if this front end is not built.
</p></dd>
<dt><code>build_by_default</code></dt>
<dd><p>If defined to &lsquo;<samp>no</samp>&rsquo;, this language front end is not built unless
enabled in a <samp>--enable-languages</samp> argument.  Otherwise, front
ends are built by default, subject to any special logic in
<samp>configure.ac</samp> (as is present to disable the Ada front end if the
Ada compiler is not already installed).
</p></dd>
<dt><code>boot_language</code></dt>
<dd><p>If defined to &lsquo;<samp>yes</samp>&rsquo;, this front end is built in stage1 of the
bootstrap.  This is only relevant to front ends written in their own
languages.
</p></dd>
<dt><code>compilers</code></dt>
<dd><p>If defined, a space-separated list of compiler executables that will
be run by the driver.  The names here will each end
with &lsquo;<samp>\$(exeext)</samp>&rsquo;.
</p></dd>
<dt><code>outputs</code></dt>
<dd><p>If defined, a space-separated list of files that should be generated
by <samp>configure</samp> substituting values in them.  This mechanism can
be used to create a file <samp><var>language</var>/Makefile</samp> from
<samp><var>language</var>/Makefile.in</samp>, but this is deprecated, building
everything from the single <samp>gcc/Makefile</samp> is preferred.
</p></dd>
<dt><code>gtfiles</code></dt>
<dd><p>If defined, a space-separated list of files that should be scanned by
<samp>gengtype.c</samp> to generate the garbage collection tables and routines for
this language.  This excludes the files that are common to all front
ends.  See <a href="Type-Information.html#Type-Information">Type Information</a>.
</p>
</dd>
</dl>
 
<hr>
<div class="header">
<p>
Next: <a href="Front-End-Makefile.html#Front-End-Makefile" accesskey="n" rel="next">Front End Makefile</a>, Previous: <a href="Front-End-Directory.html#Front-End-Directory" accesskey="p" rel="prev">Front End Directory</a>, Up: <a href="Front-End.html#Front-End" accesskey="u" rel="up">Front End</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>