OpenCores
URL https://opencores.org/ocsvn/or1k/or1k/trunk

Subversion Repositories or1k

[/] [or1k/] [trunk/] [gdb-5.3/] [etc/] [configure.info-3] - Blame information for rev 1765

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 1181 sfurman
This is configure.info, produced by makeinfo version 4.1 from
2
./configure.texi.
3
 
4
INFO-DIR-SECTION GNU admin
5
START-INFO-DIR-ENTRY
6
* configure: (configure).       The GNU configure and build system
7
END-INFO-DIR-ENTRY
8
 
9
   This file documents the GNU configure and build system.
10
 
11
   Copyright (C) 1998 Cygnus Solutions.
12
 
13
   Permission is granted to make and distribute verbatim copies of this
14
manual provided the copyright notice and this permission notice are
15
preserved on all copies.
16
 
17
   Permission is granted to copy and distribute modified versions of
18
this manual under the conditions for verbatim copying, provided that
19
the entire resulting derived work is distributed under the terms of a
20
permission notice identical to this one.
21
 
22
   Permission is granted to copy and distribute translations of this
23
manual into another language, under the above conditions for modified
24
versions, except that this permission notice may be stated in a
25
translation approved by the Foundation.
26
 
27

28
File: configure.info,  Node: Multilibs in Target Libraries,  Prev: Multilibs in gcc,  Up: Multilibs
29
 
30
Multilibs in Target Libraries
31
=============================
32
 
33
   The target libraries in the Cygnus tree are automatically built with
34
multilibs.  That means that each library is built multiple times.
35
 
36
   This default is set in the top level `configure.in' file, by adding
37
`--enable-multilib' to the list of arguments passed to configure when
38
it is run for the target libraries (*note Host and Target Libraries::).
39
 
40
   Each target library uses the shell script `config-ml.in', written by
41
Doug Evans, to prepare to build target libraries.  This shell script is
42
invoked after the `Makefile' has been created by the `configure'
43
script.  If multilibs are not enabled, it does nothing, otherwise it
44
modifies the `Makefile' to support multilibs.
45
 
46
   The `config-ml.in' script makes one copy of the `Makefile' for each
47
multilib in the appropriate subdirectory.  When configuring in the
48
source directory (which is not recommended), it will build a symlink
49
tree of the sources in each subdirectory.
50
 
51
   The `config-ml.in' script sets several variables in the various
52
`Makefile's.  The `Makefile.in' must have definitions for these
53
variables already; `config-ml.in' simply changes the existing values.
54
The `Makefile' should use default values for these variables which will
55
do the right thing in the subdirectories.
56
 
57
`MULTISRCTOP'
58
     `config-ml.in' will set this to a sequence of `../' strings, where
59
     the number of strings is the number of multilib levels in the
60
     source tree.  The default value should be the empty string.
61
 
62
`MULTIBUILDTOP'
63
     `config-ml.in' will set this to a sequence of `../' strings, where
64
     the number of strings is number of multilib levels in the object
65
     directory.  The default value should be the empty string.  This
66
     will differ from `MULTISRCTOP' when configuring in the source tree
67
     (which is not recommended).
68
 
69
`MULTIDIRS'
70
     In the top level `Makefile' only, `config-ml.in' will set this to
71
     the list of multilib subdirectories.  The default value should be
72
     the empty string.
73
 
74
`MULTISUBDIR'
75
     `config-ml.in' will set this to the installed subdirectory name to
76
     use for this subdirectory, with a leading `/'.  The default value
77
     shold be the empty string.
78
 
79
`MULTIDO'
80
`MULTICLEAN'
81
     In the top level `Makefile' only, `config-ml.in' will set these
82
     variables to commands to use when doing a recursive make.  These
83
     variables should both default to the string `true', so that by
84
     default nothing happens.
85
 
86
   All references to the parent of the source directory should use the
87
variable `MULTISRCTOP'.  Instead of writing `$(srcdir)/..', you must
88
write `$(srcdir)/$(MULTISRCTOP)..'.
89
 
90
   Similarly, references to the parent of the object directory should
91
use the variable `MULTIBUILDTOP'.
92
 
93
   In the installation target, the libraries should be installed in the
94
subdirectory `MULTISUBDIR'.  Instead of installing
95
`$(libdir)/libfoo.a', install `$(libdir)$(MULTISUBDIR)/libfoo.a'.
96
 
97
   The `config-ml.in' script also modifies the top level `Makefile' to
98
add `multi-do' and `multi-clean' targets which are used when building
99
multilibs.
100
 
101
   The default target of the `Makefile' should include the following
102
command:
103
     @$(MULTIDO) $(FLAGS_TO_PASS) DO=all multi-do
104
 
105
This assumes that `$(FLAGS_TO_PASS)' is defined as a set of variables
106
to pass to a recursive invocation of `make'.  This will build all the
107
multilibs.  Note that the default value of `MULTIDO' is `true', so by
108
default this command will do nothing.  It will only do something in the
109
top level `Makefile' if multilibs were enabled.
110
 
111
   The `install' target of the `Makefile' should include the following
112
command:
113
     @$(MULTIDO) $(FLAGS_TO_PASS) DO=install multi-do
114
 
115
   In general, any operation, other than clean, which should be
116
performed on all the multilibs should use a `$(MULTIDO)' line, setting
117
the variable `DO' to the target of each recursive call to `make'.
118
 
119
   The `clean' targets (`clean', `mostlyclean', etc.) should use
120
`$(MULTICLEAN)'.  For example, the `clean' target should do this:
121
     @$(MULTICLEAN) DO=clean multi-clean
122
 
123

124
File: configure.info,  Node: FAQ,  Next: Index,  Prev: Multilibs,  Up: Top
125
 
126
Frequently Asked Questions
127
**************************
128
 
129
Which do I run first, `autoconf' or `automake'?
130
     Except when you first add autoconf or automake support to a
131
     package, you shouldn't run either by hand.  Instead, configure
132
     with the `--enable-maintainer-mode' option, and let `make' take
133
     care of it.
134
 
135
`autoconf' says something about undefined macros.
136
     This means that you have macros in your `configure.in' which are
137
     not defined by `autoconf'.  You may be using an old version of
138
     `autoconf'; try building and installing a newer one.  Make sure the
139
     newly installled `autoconf' is first on your `PATH'.  Also, see
140
     the next question.
141
 
142
My `configure' script has stuff like `CY_GNU_GETTEXT' in it.
143
     This means that you have macros in your `configure.in' which should
144
     be defined in your `aclocal.m4' file, but aren't.  This usually
145
     means that `aclocal' was not able to appropriate definitions of the
146
     macros.  Make sure that you have installed all the packages you
147
     need.  In particular, make sure that you have installed libtool
148
     (this is where `AM_PROG_LIBTOOL' is defined) and gettext (this is
149
     where `CY_GNU_GETTEXT' is defined, at least in the Cygnus version
150
     of gettext).
151
 
152
My `Makefile' has `@' characters in it.
153
     This may mean that you tried to use an autoconf substitution in
154
     your `Makefile.in' without adding the appropriate `AC_SUBST' call
155
     to your `configure' script.  Or it may just mean that you need to
156
     rebuild `Makefile' in your build directory.  To rebuild `Makefile'
157
     from `Makefile.in', run the shell script `config.status' with no
158
     arguments.  If you need to force `configure' to run again, first
159
     run `config.status --recheck'.  These runs are normally done
160
     automatically by `Makefile' targets, but if your `Makefile' has
161
     gotten messed up you'll need to help them along.
162
 
163
Why do I have to run both `config.status --recheck' and `config.status'?
164
     Normally, you don't; they will be run automatically by `Makefile'
165
     targets.  If you do need to run them, use `config.status --recheck'
166
     to run the `configure' script again with the same arguments as the
167
     first time you ran it.  Use `config.status' (with no arguments) to
168
     regenerate all files (`Makefile', `config.h', etc.) based on the
169
     results of the configure script.  The two cases are separate
170
     because it isn't always necessary to regenerate all the files
171
     after running `config.status --recheck'.  The `Makefile' targets
172
     generated by automake will use the environment variables
173
     `CONFIG_FILES' and `CONFIG_HEADERS' to only regenerate files as
174
     they are needed.
175
 
176
What is the Cygnus tree?
177
     The Cygnus tree is used for various packages including gdb, the GNU
178
     binutils, and egcs.  It is also, of course, used for Cygnus
179
     releases.  It is the build system which was developed at Cygnus,
180
     using the Cygnus configure script.  It permits building many
181
     different packages with a single configure and make.  The
182
     configure scripts in the tree are being converted to autoconf, but
183
     the general build structure remains intact.
184
 
185
Why do I have to keep rebuilding and reinstalling the tools?
186
     I know, it's a pain.  Unfortunately, there are bugs in the tools
187
     themselves which need to be fixed, and each time that happens
188
     everybody who uses the tools need to reinstall new versions of
189
     them.  I don't know if there is going to be a clever fix until the
190
     tools stabilize.
191
 
192
Why not just have a Cygnus tree `make' target to update the tools?
193
     The tools unfortunately need to be installed before they can be
194
     used.  That means that they must be built using an appropriate
195
     prefix, and it seems unwise to assume that every configuration
196
     uses an appropriate prefix.  It might be possible to make them
197
     work in place, or it might be possible to install them in some
198
     subdirectory; so far these approaches have not been implemented.
199
 
200

201
File: configure.info,  Node: Index,  Prev: FAQ,  Up: Top
202
 
203
Index
204
*****
205
 
206
* Menu:
207
 
208
* --build option:                        Build and Host Options.
209
* --host option:                         Build and Host Options.
210
* --target option:                       Specifying the Target.
211
* _GNU_SOURCE:                           Write configure.in.
212
* AC_CANONICAL_HOST:                     Using the Host Type.
213
* AC_CANONICAL_SYSTEM:                   Using the Target Type.
214
* AC_CONFIG_HEADER:                      Write configure.in.
215
* AC_EXEEXT:                             Write configure.in.
216
* AC_INIT:                               Write configure.in.
217
* AC_OUTPUT:                             Write configure.in.
218
* AC_PREREQ:                             Write configure.in.
219
* AC_PROG_CC:                            Write configure.in.
220
* AC_PROG_CXX:                           Write configure.in.
221
* acconfig.h:                            Written Developer Files.
222
* acconfig.h, writing:                   Write acconfig.h.
223
* acinclude.m4:                          Written Developer Files.
224
* aclocal.m4:                            Generated Developer Files.
225
* AM_CONFIG_HEADER:                      Write configure.in.
226
* AM_DISABLE_SHARED:                     Write configure.in.
227
* AM_EXEEXT:                             Write configure.in.
228
* AM_INIT_AUTOMAKE:                      Write configure.in.
229
* AM_MAINTAINER_MODE:                    Write configure.in.
230
* AM_PROG_LIBTOOL:                       Write configure.in.
231
* AM_PROG_LIBTOOL in configure:          FAQ.
232
* build option:                          Build and Host Options.
233
* building with a cross compiler:        Canadian Cross.
234
* canadian cross:                        Canadian Cross.
235
* canadian cross in configure:           CCross in Configure.
236
* canadian cross in cygnus tree:         CCross in Cygnus Tree.
237
* canadian cross in makefile:            CCross in Make.
238
* canadian cross, configuring:           Build and Host Options.
239
* canonical system names:                Configuration Names.
240
* config.cache:                          Build Files Description.
241
* config.h:                              Build Files Description.
242
* config.h.in:                           Generated Developer Files.
243
* config.in:                             Generated Developer Files.
244
* config.status:                         Build Files Description.
245
* config.status --recheck:               FAQ.
246
* configuration names:                   Configuration Names.
247
* configuration triplets:                Configuration Names.
248
* configure:                             Generated Developer Files.
249
* configure build system:                Build and Host Options.
250
* configure host:                        Build and Host Options.
251
* configure target:                      Specifying the Target.
252
* configure.in:                          Written Developer Files.
253
* configure.in, writing:                 Write configure.in.
254
* configuring a canadian cross:          Build and Host Options.
255
* cross compiler:                        Cross Compilation Concepts.
256
* cross compiler, building with:         Canadian Cross.
257
* cross tools:                           Cross Compilation Tools.
258
* CY_GNU_GETTEXT in configure:           FAQ.
259
* cygnus configure:                      Cygnus Configure.
260
* goals:                                 Goals.
261
* history:                               History.
262
* host names:                            Configuration Names.
263
* host option:                           Build and Host Options.
264
* host system:                           Host and Target.
265
* host triplets:                         Configuration Names.
266
* HOST_CC:                               CCross in Make.
267
* libg++ configure:                      Cygnus Configure in C++ Libraries.
268
* libio configure:                       Cygnus Configure in C++ Libraries.
269
* libstdc++ configure:                   Cygnus Configure in C++ Libraries.
270
* Makefile:                              Build Files Description.
271
* Makefile, garbage characters:          FAQ.
272
* Makefile.am:                           Written Developer Files.
273
* Makefile.am, writing:                  Write Makefile.am.
274
* Makefile.in:                           Generated Developer Files.
275
* multilibs:                             Multilibs.
276
* stamp-h:                               Build Files Description.
277
* stamp-h.in:                            Generated Developer Files.
278
* system names:                          Configuration Names.
279
* system types:                          Configuration Names.
280
* target option:                         Specifying the Target.
281
* target system:                         Host and Target.
282
* triplets:                              Configuration Names.
283
* undefined macros:                      FAQ.
284
 
285
 

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.