File COPYING added (mode: 100644) (index 0000000..d60c31a) |
|
1 |
|
GNU GENERAL PUBLIC LICENSE |
|
2 |
|
Version 2, June 1991 |
|
3 |
|
|
|
4 |
|
Copyright (C) 1989, 1991 Free Software Foundation, Inc. |
|
5 |
|
59 Temple Place, Suite 330, Boston, MA 02111-1307 USA |
|
6 |
|
Everyone is permitted to copy and distribute verbatim copies |
|
7 |
|
of this license document, but changing it is not allowed. |
|
8 |
|
|
|
9 |
|
Preamble |
|
10 |
|
|
|
11 |
|
The licenses for most software are designed to take away your |
|
12 |
|
freedom to share and change it. By contrast, the GNU General Public |
|
13 |
|
License is intended to guarantee your freedom to share and change free |
|
14 |
|
software--to make sure the software is free for all its users. This |
|
15 |
|
General Public License applies to most of the Free Software |
|
16 |
|
Foundation's software and to any other program whose authors commit to |
|
17 |
|
using it. (Some other Free Software Foundation software is covered by |
|
18 |
|
the GNU Library General Public License instead.) You can apply it to |
|
19 |
|
your programs, too. |
|
20 |
|
|
|
21 |
|
When we speak of free software, we are referring to freedom, not |
|
22 |
|
price. Our General Public Licenses are designed to make sure that you |
|
23 |
|
have the freedom to distribute copies of free software (and charge for |
|
24 |
|
this service if you wish), that you receive source code or can get it |
|
25 |
|
if you want it, that you can change the software or use pieces of it |
|
26 |
|
in new free programs; and that you know you can do these things. |
|
27 |
|
|
|
28 |
|
To protect your rights, we need to make restrictions that forbid |
|
29 |
|
anyone to deny you these rights or to ask you to surrender the rights. |
|
30 |
|
These restrictions translate to certain responsibilities for you if you |
|
31 |
|
distribute copies of the software, or if you modify it. |
|
32 |
|
|
|
33 |
|
For example, if you distribute copies of such a program, whether |
|
34 |
|
gratis or for a fee, you must give the recipients all the rights that |
|
35 |
|
you have. You must make sure that they, too, receive or can get the |
|
36 |
|
source code. And you must show them these terms so they know their |
|
37 |
|
rights. |
|
38 |
|
|
|
39 |
|
We protect your rights with two steps: (1) copyright the software, and |
|
40 |
|
(2) offer you this license which gives you legal permission to copy, |
|
41 |
|
distribute and/or modify the software. |
|
42 |
|
|
|
43 |
|
Also, for each author's protection and ours, we want to make certain |
|
44 |
|
that everyone understands that there is no warranty for this free |
|
45 |
|
software. If the software is modified by someone else and passed on, we |
|
46 |
|
want its recipients to know that what they have is not the original, so |
|
47 |
|
that any problems introduced by others will not reflect on the original |
|
48 |
|
authors' reputations. |
|
49 |
|
|
|
50 |
|
Finally, any free program is threatened constantly by software |
|
51 |
|
patents. We wish to avoid the danger that redistributors of a free |
|
52 |
|
program will individually obtain patent licenses, in effect making the |
|
53 |
|
program proprietary. To prevent this, we have made it clear that any |
|
54 |
|
patent must be licensed for everyone's free use or not licensed at all. |
|
55 |
|
|
|
56 |
|
The precise terms and conditions for copying, distribution and |
|
57 |
|
modification follow. |
|
58 |
|
|
|
59 |
|
GNU GENERAL PUBLIC LICENSE |
|
60 |
|
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION |
|
61 |
|
|
|
62 |
|
0. This License applies to any program or other work which contains |
|
63 |
|
a notice placed by the copyright holder saying it may be distributed |
|
64 |
|
under the terms of this General Public License. The "Program", below, |
|
65 |
|
refers to any such program or work, and a "work based on the Program" |
|
66 |
|
means either the Program or any derivative work under copyright law: |
|
67 |
|
that is to say, a work containing the Program or a portion of it, |
|
68 |
|
either verbatim or with modifications and/or translated into another |
|
69 |
|
language. (Hereinafter, translation is included without limitation in |
|
70 |
|
the term "modification".) Each licensee is addressed as "you". |
|
71 |
|
|
|
72 |
|
Activities other than copying, distribution and modification are not |
|
73 |
|
covered by this License; they are outside its scope. The act of |
|
74 |
|
running the Program is not restricted, and the output from the Program |
|
75 |
|
is covered only if its contents constitute a work based on the |
|
76 |
|
Program (independent of having been made by running the Program). |
|
77 |
|
Whether that is true depends on what the Program does. |
|
78 |
|
|
|
79 |
|
1. You may copy and distribute verbatim copies of the Program's |
|
80 |
|
source code as you receive it, in any medium, provided that you |
|
81 |
|
conspicuously and appropriately publish on each copy an appropriate |
|
82 |
|
copyright notice and disclaimer of warranty; keep intact all the |
|
83 |
|
notices that refer to this License and to the absence of any warranty; |
|
84 |
|
and give any other recipients of the Program a copy of this License |
|
85 |
|
along with the Program. |
|
86 |
|
|
|
87 |
|
You may charge a fee for the physical act of transferring a copy, and |
|
88 |
|
you may at your option offer warranty protection in exchange for a fee. |
|
89 |
|
|
|
90 |
|
2. You may modify your copy or copies of the Program or any portion |
|
91 |
|
of it, thus forming a work based on the Program, and copy and |
|
92 |
|
distribute such modifications or work under the terms of Section 1 |
|
93 |
|
above, provided that you also meet all of these conditions: |
|
94 |
|
|
|
95 |
|
a) You must cause the modified files to carry prominent notices |
|
96 |
|
stating that you changed the files and the date of any change. |
|
97 |
|
|
|
98 |
|
b) You must cause any work that you distribute or publish, that in |
|
99 |
|
whole or in part contains or is derived from the Program or any |
|
100 |
|
part thereof, to be licensed as a whole at no charge to all third |
|
101 |
|
parties under the terms of this License. |
|
102 |
|
|
|
103 |
|
c) If the modified program normally reads commands interactively |
|
104 |
|
when run, you must cause it, when started running for such |
|
105 |
|
interactive use in the most ordinary way, to print or display an |
|
106 |
|
announcement including an appropriate copyright notice and a |
|
107 |
|
notice that there is no warranty (or else, saying that you provide |
|
108 |
|
a warranty) and that users may redistribute the program under |
|
109 |
|
these conditions, and telling the user how to view a copy of this |
|
110 |
|
License. (Exception: if the Program itself is interactive but |
|
111 |
|
does not normally print such an announcement, your work based on |
|
112 |
|
the Program is not required to print an announcement.) |
|
113 |
|
|
|
114 |
|
These requirements apply to the modified work as a whole. If |
|
115 |
|
identifiable sections of that work are not derived from the Program, |
|
116 |
|
and can be reasonably considered independent and separate works in |
|
117 |
|
themselves, then this License, and its terms, do not apply to those |
|
118 |
|
sections when you distribute them as separate works. But when you |
|
119 |
|
distribute the same sections as part of a whole which is a work based |
|
120 |
|
on the Program, the distribution of the whole must be on the terms of |
|
121 |
|
this License, whose permissions for other licensees extend to the |
|
122 |
|
entire whole, and thus to each and every part regardless of who wrote it. |
|
123 |
|
|
|
124 |
|
Thus, it is not the intent of this section to claim rights or contest |
|
125 |
|
your rights to work written entirely by you; rather, the intent is to |
|
126 |
|
exercise the right to control the distribution of derivative or |
|
127 |
|
collective works based on the Program. |
|
128 |
|
|
|
129 |
|
In addition, mere aggregation of another work not based on the Program |
|
130 |
|
with the Program (or with a work based on the Program) on a volume of |
|
131 |
|
a storage or distribution medium does not bring the other work under |
|
132 |
|
the scope of this License. |
|
133 |
|
|
|
134 |
|
3. You may copy and distribute the Program (or a work based on it, |
|
135 |
|
under Section 2) in object code or executable form under the terms of |
|
136 |
|
Sections 1 and 2 above provided that you also do one of the following: |
|
137 |
|
|
|
138 |
|
a) Accompany it with the complete corresponding machine-readable |
|
139 |
|
source code, which must be distributed under the terms of Sections |
|
140 |
|
1 and 2 above on a medium customarily used for software interchange; or, |
|
141 |
|
|
|
142 |
|
b) Accompany it with a written offer, valid for at least three |
|
143 |
|
years, to give any third party, for a charge no more than your |
|
144 |
|
cost of physically performing source distribution, a complete |
|
145 |
|
machine-readable copy of the corresponding source code, to be |
|
146 |
|
distributed under the terms of Sections 1 and 2 above on a medium |
|
147 |
|
customarily used for software interchange; or, |
|
148 |
|
|
|
149 |
|
c) Accompany it with the information you received as to the offer |
|
150 |
|
to distribute corresponding source code. (This alternative is |
|
151 |
|
allowed only for noncommercial distribution and only if you |
|
152 |
|
received the program in object code or executable form with such |
|
153 |
|
an offer, in accord with Subsection b above.) |
|
154 |
|
|
|
155 |
|
The source code for a work means the preferred form of the work for |
|
156 |
|
making modifications to it. For an executable work, complete source |
|
157 |
|
code means all the source code for all modules it contains, plus any |
|
158 |
|
associated interface definition files, plus the scripts used to |
|
159 |
|
control compilation and installation of the executable. However, as a |
|
160 |
|
special exception, the source code distributed need not include |
|
161 |
|
anything that is normally distributed (in either source or binary |
|
162 |
|
form) with the major components (compiler, kernel, and so on) of the |
|
163 |
|
operating system on which the executable runs, unless that component |
|
164 |
|
itself accompanies the executable. |
|
165 |
|
|
|
166 |
|
If distribution of executable or object code is made by offering |
|
167 |
|
access to copy from a designated place, then offering equivalent |
|
168 |
|
access to copy the source code from the same place counts as |
|
169 |
|
distribution of the source code, even though third parties are not |
|
170 |
|
compelled to copy the source along with the object code. |
|
171 |
|
|
|
172 |
|
4. You may not copy, modify, sublicense, or distribute the Program |
|
173 |
|
except as expressly provided under this License. Any attempt |
|
174 |
|
otherwise to copy, modify, sublicense or distribute the Program is |
|
175 |
|
void, and will automatically terminate your rights under this License. |
|
176 |
|
However, parties who have received copies, or rights, from you under |
|
177 |
|
this License will not have their licenses terminated so long as such |
|
178 |
|
parties remain in full compliance. |
|
179 |
|
|
|
180 |
|
5. You are not required to accept this License, since you have not |
|
181 |
|
signed it. However, nothing else grants you permission to modify or |
|
182 |
|
distribute the Program or its derivative works. These actions are |
|
183 |
|
prohibited by law if you do not accept this License. Therefore, by |
|
184 |
|
modifying or distributing the Program (or any work based on the |
|
185 |
|
Program), you indicate your acceptance of this License to do so, and |
|
186 |
|
all its terms and conditions for copying, distributing or modifying |
|
187 |
|
the Program or works based on it. |
|
188 |
|
|
|
189 |
|
6. Each time you redistribute the Program (or any work based on the |
|
190 |
|
Program), the recipient automatically receives a license from the |
|
191 |
|
original licensor to copy, distribute or modify the Program subject to |
|
192 |
|
these terms and conditions. You may not impose any further |
|
193 |
|
restrictions on the recipients' exercise of the rights granted herein. |
|
194 |
|
You are not responsible for enforcing compliance by third parties to |
|
195 |
|
this License. |
|
196 |
|
|
|
197 |
|
7. If, as a consequence of a court judgment or allegation of patent |
|
198 |
|
infringement or for any other reason (not limited to patent issues), |
|
199 |
|
conditions are imposed on you (whether by court order, agreement or |
|
200 |
|
otherwise) that contradict the conditions of this License, they do not |
|
201 |
|
excuse you from the conditions of this License. If you cannot |
|
202 |
|
distribute so as to satisfy simultaneously your obligations under this |
|
203 |
|
License and any other pertinent obligations, then as a consequence you |
|
204 |
|
may not distribute the Program at all. For example, if a patent |
|
205 |
|
license would not permit royalty-free redistribution of the Program by |
|
206 |
|
all those who receive copies directly or indirectly through you, then |
|
207 |
|
the only way you could satisfy both it and this License would be to |
|
208 |
|
refrain entirely from distribution of the Program. |
|
209 |
|
|
|
210 |
|
If any portion of this section is held invalid or unenforceable under |
|
211 |
|
any particular circumstance, the balance of the section is intended to |
|
212 |
|
apply and the section as a whole is intended to apply in other |
|
213 |
|
circumstances. |
|
214 |
|
|
|
215 |
|
It is not the purpose of this section to induce you to infringe any |
|
216 |
|
patents or other property right claims or to contest validity of any |
|
217 |
|
such claims; this section has the sole purpose of protecting the |
|
218 |
|
integrity of the free software distribution system, which is |
|
219 |
|
implemented by public license practices. Many people have made |
|
220 |
|
generous contributions to the wide range of software distributed |
|
221 |
|
through that system in reliance on consistent application of that |
|
222 |
|
system; it is up to the author/donor to decide if he or she is willing |
|
223 |
|
to distribute software through any other system and a licensee cannot |
|
224 |
|
impose that choice. |
|
225 |
|
|
|
226 |
|
This section is intended to make thoroughly clear what is believed to |
|
227 |
|
be a consequence of the rest of this License. |
|
228 |
|
|
|
229 |
|
8. If the distribution and/or use of the Program is restricted in |
|
230 |
|
certain countries either by patents or by copyrighted interfaces, the |
|
231 |
|
original copyright holder who places the Program under this License |
|
232 |
|
may add an explicit geographical distribution limitation excluding |
|
233 |
|
those countries, so that distribution is permitted only in or among |
|
234 |
|
countries not thus excluded. In such case, this License incorporates |
|
235 |
|
the limitation as if written in the body of this License. |
|
236 |
|
|
|
237 |
|
9. The Free Software Foundation may publish revised and/or new versions |
|
238 |
|
of the General Public License from time to time. Such new versions will |
|
239 |
|
be similar in spirit to the present version, but may differ in detail to |
|
240 |
|
address new problems or concerns. |
|
241 |
|
|
|
242 |
|
Each version is given a distinguishing version number. If the Program |
|
243 |
|
specifies a version number of this License which applies to it and "any |
|
244 |
|
later version", you have the option of following the terms and conditions |
|
245 |
|
either of that version or of any later version published by the Free |
|
246 |
|
Software Foundation. If the Program does not specify a version number of |
|
247 |
|
this License, you may choose any version ever published by the Free Software |
|
248 |
|
Foundation. |
|
249 |
|
|
|
250 |
|
10. If you wish to incorporate parts of the Program into other free |
|
251 |
|
programs whose distribution conditions are different, write to the author |
|
252 |
|
to ask for permission. For software which is copyrighted by the Free |
|
253 |
|
Software Foundation, write to the Free Software Foundation; we sometimes |
|
254 |
|
make exceptions for this. Our decision will be guided by the two goals |
|
255 |
|
of preserving the free status of all derivatives of our free software and |
|
256 |
|
of promoting the sharing and reuse of software generally. |
|
257 |
|
|
|
258 |
|
NO WARRANTY |
|
259 |
|
|
|
260 |
|
11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY |
|
261 |
|
FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN |
|
262 |
|
OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES |
|
263 |
|
PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED |
|
264 |
|
OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF |
|
265 |
|
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS |
|
266 |
|
TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE |
|
267 |
|
PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, |
|
268 |
|
REPAIR OR CORRECTION. |
|
269 |
|
|
|
270 |
|
12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING |
|
271 |
|
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR |
|
272 |
|
REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, |
|
273 |
|
INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING |
|
274 |
|
OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED |
|
275 |
|
TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY |
|
276 |
|
YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER |
|
277 |
|
PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE |
|
278 |
|
POSSIBILITY OF SUCH DAMAGES. |
|
279 |
|
|
|
280 |
|
END OF TERMS AND CONDITIONS |
|
281 |
|
|
|
282 |
|
How to Apply These Terms to Your New Programs |
|
283 |
|
|
|
284 |
|
If you develop a new program, and you want it to be of the greatest |
|
285 |
|
possible use to the public, the best way to achieve this is to make it |
|
286 |
|
free software which everyone can redistribute and change under these terms. |
|
287 |
|
|
|
288 |
|
To do so, attach the following notices to the program. It is safest |
|
289 |
|
to attach them to the start of each source file to most effectively |
|
290 |
|
convey the exclusion of warranty; and each file should have at least |
|
291 |
|
the "copyright" line and a pointer to where the full notice is found. |
|
292 |
|
|
|
293 |
|
<one line to give the program's name and a brief idea of what it does.> |
|
294 |
|
Copyright (C) <year> <name of author> |
|
295 |
|
|
|
296 |
|
This program is free software; you can redistribute it and/or modify |
|
297 |
|
it under the terms of the GNU General Public License as published by |
|
298 |
|
the Free Software Foundation; either version 2 of the License, or |
|
299 |
|
(at your option) any later version. |
|
300 |
|
|
|
301 |
|
This program is distributed in the hope that it will be useful, |
|
302 |
|
but WITHOUT ANY WARRANTY; without even the implied warranty of |
|
303 |
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|
304 |
|
GNU General Public License for more details. |
|
305 |
|
|
|
306 |
|
You should have received a copy of the GNU General Public License |
|
307 |
|
along with this program; if not, write to the Free Software |
|
308 |
|
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA |
|
309 |
|
|
|
310 |
|
|
|
311 |
|
Also add information on how to contact you by electronic and paper mail. |
|
312 |
|
|
|
313 |
|
If the program is interactive, make it output a short notice like this |
|
314 |
|
when it starts in an interactive mode: |
|
315 |
|
|
|
316 |
|
Gnomovision version 69, Copyright (C) year name of author |
|
317 |
|
Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. |
|
318 |
|
This is free software, and you are welcome to redistribute it |
|
319 |
|
under certain conditions; type `show c' for details. |
|
320 |
|
|
|
321 |
|
The hypothetical commands `show w' and `show c' should show the appropriate |
|
322 |
|
parts of the General Public License. Of course, the commands you use may |
|
323 |
|
be called something other than `show w' and `show c'; they could even be |
|
324 |
|
mouse-clicks or menu items--whatever suits your program. |
|
325 |
|
|
|
326 |
|
You should also get your employer (if you work as a programmer) or your |
|
327 |
|
school, if any, to sign a "copyright disclaimer" for the program, if |
|
328 |
|
necessary. Here is a sample; alter the names: |
|
329 |
|
|
|
330 |
|
Yoyodyne, Inc., hereby disclaims all copyright interest in the program |
|
331 |
|
`Gnomovision' (which makes passes at compilers) written by James Hacker. |
|
332 |
|
|
|
333 |
|
<signature of Ty Coon>, 1 April 1989 |
|
334 |
|
Ty Coon, President of Vice |
|
335 |
|
|
|
336 |
|
This General Public License does not permit incorporating your program into |
|
337 |
|
proprietary programs. If your program is a subroutine library, you may |
|
338 |
|
consider it more useful to permit linking proprietary applications with the |
|
339 |
|
library. If this is what you want to do, use the GNU Library General |
|
340 |
|
Public License instead of this License. |
File INSTALL added (mode: 100644) (index 0000000..9d3feae) |
|
1 |
|
Please see the doc/ directory for more specific installation instructions. |
|
2 |
|
|
|
3 |
|
Copyright (C) 1994, 1995, 1996, 1999, 2000, 2001, 2002 Free Software |
|
4 |
|
Foundation, Inc. |
|
5 |
|
|
|
6 |
|
This file is free documentation; the Free Software Foundation gives |
|
7 |
|
unlimited permission to copy, distribute and modify it. |
|
8 |
|
|
|
9 |
|
Basic Installation |
|
10 |
|
================== |
|
11 |
|
|
|
12 |
|
These are generic installation instructions. |
|
13 |
|
|
|
14 |
|
The `configure' shell script attempts to guess correct values for |
|
15 |
|
various system-dependent variables used during compilation. It uses |
|
16 |
|
those values to create a `Makefile' in each directory of the package. |
|
17 |
|
It may also create one or more `.h' files containing system-dependent |
|
18 |
|
definitions. Finally, it creates a shell script `config.status' that |
|
19 |
|
you can run in the future to recreate the current configuration, and a |
|
20 |
|
file `config.log' containing compiler output (useful mainly for |
|
21 |
|
debugging `configure'). |
|
22 |
|
|
|
23 |
|
It can also use an optional file (typically called `config.cache' |
|
24 |
|
and enabled with `--cache-file=config.cache' or simply `-C') that saves |
|
25 |
|
the results of its tests to speed up reconfiguring. (Caching is |
|
26 |
|
disabled by default to prevent problems with accidental use of stale |
|
27 |
|
cache files.) |
|
28 |
|
|
|
29 |
|
If you need to do unusual things to compile the package, please try |
|
30 |
|
to figure out how `configure' could check whether to do them, and mail |
|
31 |
|
diffs or instructions to the address given in the `README' so they can |
|
32 |
|
be considered for the next release. If you are using the cache, and at |
|
33 |
|
some point `config.cache' contains results you don't want to keep, you |
|
34 |
|
may remove or edit it. |
|
35 |
|
|
|
36 |
|
The file `configure.ac' (or `configure.in') is used to create |
|
37 |
|
`configure' by a program called `autoconf'. You only need |
|
38 |
|
`configure.ac' if you want to change it or regenerate `configure' using |
|
39 |
|
a newer version of `autoconf'. |
|
40 |
|
|
|
41 |
|
The simplest way to compile this package is: |
|
42 |
|
|
|
43 |
|
1. `cd' to the directory containing the package's source code and type |
|
44 |
|
`./configure' to configure the package for your system. If you're |
|
45 |
|
using `csh' on an old version of System V, you might need to type |
|
46 |
|
`sh ./configure' instead to prevent `csh' from trying to execute |
|
47 |
|
`configure' itself. |
|
48 |
|
|
|
49 |
|
Running `configure' takes awhile. While running, it prints some |
|
50 |
|
messages telling which features it is checking for. |
|
51 |
|
|
|
52 |
|
2. Type `make' to compile the package. |
|
53 |
|
|
|
54 |
|
3. Optionally, type `make check' to run any self-tests that come with |
|
55 |
|
the package. |
|
56 |
|
|
|
57 |
|
4. Type `make install' to install the programs and any data files and |
|
58 |
|
documentation. |
|
59 |
|
|
|
60 |
|
5. You can remove the program binaries and object files from the |
|
61 |
|
source code directory by typing `make clean'. To also remove the |
|
62 |
|
files that `configure' created (so you can compile the package for |
|
63 |
|
a different kind of computer), type `make distclean'. There is |
|
64 |
|
also a `make maintainer-clean' target, but that is intended mainly |
|
65 |
|
for the package's developers. If you use it, you may have to get |
|
66 |
|
all sorts of other programs in order to regenerate files that came |
|
67 |
|
with the distribution. |
|
68 |
|
|
|
69 |
|
Compilers and Options |
|
70 |
|
===================== |
|
71 |
|
|
|
72 |
|
Some systems require unusual options for compilation or linking that |
|
73 |
|
the `configure' script does not know about. Run `./configure --help' |
|
74 |
|
for details on some of the pertinent environment variables. |
|
75 |
|
|
|
76 |
|
You can give `configure' initial values for configuration parameters |
|
77 |
|
by setting variables in the command line or in the environment. Here |
|
78 |
|
is an example: |
|
79 |
|
|
|
80 |
|
./configure CC=c89 CFLAGS=-O2 LIBS=-lposix |
|
81 |
|
|
|
82 |
|
*Note Defining Variables::, for more details. |
|
83 |
|
|
|
84 |
|
Compiling For Multiple Architectures |
|
85 |
|
==================================== |
|
86 |
|
|
|
87 |
|
You can compile the package for more than one kind of computer at the |
|
88 |
|
same time, by placing the object files for each architecture in their |
|
89 |
|
own directory. To do this, you must use a version of `make' that |
|
90 |
|
supports the `VPATH' variable, such as GNU `make'. `cd' to the |
|
91 |
|
directory where you want the object files and executables to go and run |
|
92 |
|
the `configure' script. `configure' automatically checks for the |
|
93 |
|
source code in the directory that `configure' is in and in `..'. |
|
94 |
|
|
|
95 |
|
If you have to use a `make' that does not support the `VPATH' |
|
96 |
|
variable, you have to compile the package for one architecture at a |
|
97 |
|
time in the source code directory. After you have installed the |
|
98 |
|
package for one architecture, use `make distclean' before reconfiguring |
|
99 |
|
for another architecture. |
|
100 |
|
|
|
101 |
|
Installation Names |
|
102 |
|
================== |
|
103 |
|
|
|
104 |
|
By default, `make install' will install the package's files in |
|
105 |
|
`/usr/local/bin', `/usr/local/man', etc. You can specify an |
|
106 |
|
installation prefix other than `/usr/local' by giving `configure' the |
|
107 |
|
option `--prefix=PATH'. |
|
108 |
|
|
|
109 |
|
You can specify separate installation prefixes for |
|
110 |
|
architecture-specific files and architecture-independent files. If you |
|
111 |
|
give `configure' the option `--exec-prefix=PATH', the package will use |
|
112 |
|
PATH as the prefix for installing programs and libraries. |
|
113 |
|
Documentation and other data files will still use the regular prefix. |
|
114 |
|
|
|
115 |
|
In addition, if you use an unusual directory layout you can give |
|
116 |
|
options like `--bindir=PATH' to specify different values for particular |
|
117 |
|
kinds of files. Run `configure --help' for a list of the directories |
|
118 |
|
you can set and what kinds of files go in them. |
|
119 |
|
|
|
120 |
|
If the package supports it, you can cause programs to be installed |
|
121 |
|
with an extra prefix or suffix on their names by giving `configure' the |
|
122 |
|
option `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'. |
|
123 |
|
|
|
124 |
|
Optional Features |
|
125 |
|
================= |
|
126 |
|
|
|
127 |
|
Some packages pay attention to `--enable-FEATURE' options to |
|
128 |
|
`configure', where FEATURE indicates an optional part of the package. |
|
129 |
|
They may also pay attention to `--with-PACKAGE' options, where PACKAGE |
|
130 |
|
is something like `gnu-as' or `x' (for the X Window System). The |
|
131 |
|
`README' should mention any `--enable-' and `--with-' options that the |
|
132 |
|
package recognizes. |
|
133 |
|
|
|
134 |
|
For packages that use the X Window System, `configure' can usually |
|
135 |
|
find the X include and library files automatically, but if it doesn't, |
|
136 |
|
you can use the `configure' options `--x-includes=DIR' and |
|
137 |
|
`--x-libraries=DIR' to specify their locations. |
|
138 |
|
|
|
139 |
|
Specifying the System Type |
|
140 |
|
========================== |
|
141 |
|
|
|
142 |
|
There may be some features `configure' cannot figure out |
|
143 |
|
automatically, but needs to determine by the type of machine the package |
|
144 |
|
will run on. Usually, assuming the package is built to be run on the |
|
145 |
|
_same_ architectures, `configure' can figure that out, but if it prints |
|
146 |
|
a message saying it cannot guess the machine type, give it the |
|
147 |
|
`--build=TYPE' option. TYPE can either be a short name for the system |
|
148 |
|
type, such as `sun4', or a canonical name which has the form: |
|
149 |
|
|
|
150 |
|
CPU-COMPANY-SYSTEM |
|
151 |
|
|
|
152 |
|
where SYSTEM can have one of these forms: |
|
153 |
|
|
|
154 |
|
OS KERNEL-OS |
|
155 |
|
|
|
156 |
|
See the file `config.sub' for the possible values of each field. If |
|
157 |
|
`config.sub' isn't included in this package, then this package doesn't |
|
158 |
|
need to know the machine type. |
|
159 |
|
|
|
160 |
|
If you are _building_ compiler tools for cross-compiling, you should |
|
161 |
|
use the `--target=TYPE' option to select the type of system they will |
|
162 |
|
produce code for. |
|
163 |
|
|
|
164 |
|
If you want to _use_ a cross compiler, that generates code for a |
|
165 |
|
platform different from the build platform, you should specify the |
|
166 |
|
"host" platform (i.e., that on which the generated programs will |
|
167 |
|
eventually be run) with `--host=TYPE'. |
|
168 |
|
|
|
169 |
|
Sharing Defaults |
|
170 |
|
================ |
|
171 |
|
|
|
172 |
|
If you want to set default values for `configure' scripts to share, |
|
173 |
|
you can create a site shell script called `config.site' that gives |
|
174 |
|
default values for variables like `CC', `cache_file', and `prefix'. |
|
175 |
|
`configure' looks for `PREFIX/share/config.site' if it exists, then |
|
176 |
|
`PREFIX/etc/config.site' if it exists. Or, you can set the |
|
177 |
|
`CONFIG_SITE' environment variable to the location of the site script. |
|
178 |
|
A warning: not all `configure' scripts look for a site script. |
|
179 |
|
|
|
180 |
|
Defining Variables |
|
181 |
|
================== |
|
182 |
|
|
|
183 |
|
Variables not defined in a site shell script can be set in the |
|
184 |
|
environment passed to `configure'. However, some packages may run |
|
185 |
|
configure again during the build, and the customized values of these |
|
186 |
|
variables may be lost. In order to avoid this problem, you should set |
|
187 |
|
them in the `configure' command line, using `VAR=value'. For example: |
|
188 |
|
|
|
189 |
|
./configure CC=/usr/local2/bin/gcc |
|
190 |
|
|
|
191 |
|
will cause the specified gcc to be used as the C compiler (unless it is |
|
192 |
|
overridden in the site shell script). |
|
193 |
|
|
|
194 |
|
`configure' Invocation |
|
195 |
|
====================== |
|
196 |
|
|
|
197 |
|
`configure' recognizes the following options to control how it |
|
198 |
|
operates. |
|
199 |
|
|
|
200 |
|
`--help' |
|
201 |
|
`-h' |
|
202 |
|
Print a summary of the options to `configure', and exit. |
|
203 |
|
|
|
204 |
|
`--version' |
|
205 |
|
`-V' |
|
206 |
|
Print the version of Autoconf used to generate the `configure' |
|
207 |
|
script, and exit. |
|
208 |
|
|
|
209 |
|
`--cache-file=FILE' |
|
210 |
|
Enable the cache: use and save the results of the tests in FILE, |
|
211 |
|
traditionally `config.cache'. FILE defaults to `/dev/null' to |
|
212 |
|
disable caching. |
|
213 |
|
|
|
214 |
|
`--config-cache' |
|
215 |
|
`-C' |
|
216 |
|
Alias for `--cache-file=config.cache'. |
|
217 |
|
|
|
218 |
|
`--quiet' |
|
219 |
|
`--silent' |
|
220 |
|
`-q' |
|
221 |
|
Do not print messages saying which checks are being made. To |
|
222 |
|
suppress all normal output, redirect it to `/dev/null' (any error |
|
223 |
|
messages will still be shown). |
|
224 |
|
|
|
225 |
|
`--srcdir=DIR' |
|
226 |
|
Look for the package's source code in directory DIR. Usually |
|
227 |
|
`configure' can determine that directory automatically. |
|
228 |
|
|
|
229 |
|
`configure' also accepts some other, not widely useful, options. Run |
|
230 |
|
`configure --help' for more details. |
|
231 |
|
|
File depcomp added (mode: 100755) (index 0000000..edb5d38) |
|
1 |
|
#! /bin/sh |
|
2 |
|
|
|
3 |
|
# depcomp - compile a program generating dependencies as side-effects |
|
4 |
|
# Copyright 1999, 2000, 2003 Free Software Foundation, Inc. |
|
5 |
|
|
|
6 |
|
# This program is free software; you can redistribute it and/or modify |
|
7 |
|
# it under the terms of the GNU General Public License as published by |
|
8 |
|
# the Free Software Foundation; either version 2, or (at your option) |
|
9 |
|
# any later version. |
|
10 |
|
|
|
11 |
|
# This program is distributed in the hope that it will be useful, |
|
12 |
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of |
|
13 |
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|
14 |
|
# GNU General Public License for more details. |
|
15 |
|
|
|
16 |
|
# You should have received a copy of the GNU General Public License |
|
17 |
|
# along with this program; if not, write to the Free Software |
|
18 |
|
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA |
|
19 |
|
# 02111-1307, USA. |
|
20 |
|
|
|
21 |
|
# As a special exception to the GNU General Public License, if you |
|
22 |
|
# distribute this file as part of a program that contains a |
|
23 |
|
# configuration script generated by Autoconf, you may include it under |
|
24 |
|
# the same distribution terms that you use for the rest of that program. |
|
25 |
|
|
|
26 |
|
# Originally written by Alexandre Oliva <oliva@dcc.unicamp.br>. |
|
27 |
|
|
|
28 |
|
if test -z "$depmode" || test -z "$source" || test -z "$object"; then |
|
29 |
|
echo "depcomp: Variables source, object and depmode must be set" 1>&2 |
|
30 |
|
exit 1 |
|
31 |
|
fi |
|
32 |
|
# `libtool' can also be set to `yes' or `no'. |
|
33 |
|
|
|
34 |
|
if test -z "$depfile"; then |
|
35 |
|
base=`echo "$object" | sed -e 's,^.*/,,' -e 's,\.\([^.]*\)$,.P\1,'` |
|
36 |
|
dir=`echo "$object" | sed 's,/.*$,/,'` |
|
37 |
|
if test "$dir" = "$object"; then |
|
38 |
|
dir= |
|
39 |
|
fi |
|
40 |
|
# FIXME: should be _deps on DOS. |
|
41 |
|
depfile="$dir.deps/$base" |
|
42 |
|
fi |
|
43 |
|
|
|
44 |
|
tmpdepfile=${tmpdepfile-`echo "$depfile" | sed 's/\.\([^.]*\)$/.T\1/'`} |
|
45 |
|
|
|
46 |
|
rm -f "$tmpdepfile" |
|
47 |
|
|
|
48 |
|
# Some modes work just like other modes, but use different flags. We |
|
49 |
|
# parameterize here, but still list the modes in the big case below, |
|
50 |
|
# to make depend.m4 easier to write. Note that we *cannot* use a case |
|
51 |
|
# here, because this file can only contain one case statement. |
|
52 |
|
if test "$depmode" = hp; then |
|
53 |
|
# HP compiler uses -M and no extra arg. |
|
54 |
|
gccflag=-M |
|
55 |
|
depmode=gcc |
|
56 |
|
fi |
|
57 |
|
|
|
58 |
|
if test "$depmode" = dashXmstdout; then |
|
59 |
|
# This is just like dashmstdout with a different argument. |
|
60 |
|
dashmflag=-xM |
|
61 |
|
depmode=dashmstdout |
|
62 |
|
fi |
|
63 |
|
|
|
64 |
|
case "$depmode" in |
|
65 |
|
gcc3) |
|
66 |
|
## gcc 3 implements dependency tracking that does exactly what |
|
67 |
|
## we want. Yay! Note: for some reason libtool 1.4 doesn't like |
|
68 |
|
## it if -MD -MP comes after the -MF stuff. Hmm. |
|
69 |
|
"$@" -MT "$object" -MD -MP -MF "$tmpdepfile" |
|
70 |
|
stat=$? |
|
71 |
|
if test $stat -eq 0; then : |
|
72 |
|
else |
|
73 |
|
rm -f "$tmpdepfile" |
|
74 |
|
exit $stat |
|
75 |
|
fi |
|
76 |
|
mv "$tmpdepfile" "$depfile" |
|
77 |
|
;; |
|
78 |
|
|
|
79 |
|
gcc) |
|
80 |
|
## There are various ways to get dependency output from gcc. Here's |
|
81 |
|
## why we pick this rather obscure method: |
|
82 |
|
## - Don't want to use -MD because we'd like the dependencies to end |
|
83 |
|
## up in a subdir. Having to rename by hand is ugly. |
|
84 |
|
## (We might end up doing this anyway to support other compilers.) |
|
85 |
|
## - The DEPENDENCIES_OUTPUT environment variable makes gcc act like |
|
86 |
|
## -MM, not -M (despite what the docs say). |
|
87 |
|
## - Using -M directly means running the compiler twice (even worse |
|
88 |
|
## than renaming). |
|
89 |
|
if test -z "$gccflag"; then |
|
90 |
|
gccflag=-MD, |
|
91 |
|
fi |
|
92 |
|
"$@" -Wp,"$gccflag$tmpdepfile" |
|
93 |
|
stat=$? |
|
94 |
|
if test $stat -eq 0; then : |
|
95 |
|
else |
|
96 |
|
rm -f "$tmpdepfile" |
|
97 |
|
exit $stat |
|
98 |
|
fi |
|
99 |
|
rm -f "$depfile" |
|
100 |
|
echo "$object : \\" > "$depfile" |
|
101 |
|
alpha=ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz |
|
102 |
|
## The second -e expression handles DOS-style file names with drive letters. |
|
103 |
|
sed -e 's/^[^:]*: / /' \ |
|
104 |
|
-e 's/^['$alpha']:\/[^:]*: / /' < "$tmpdepfile" >> "$depfile" |
|
105 |
|
## This next piece of magic avoids the `deleted header file' problem. |
|
106 |
|
## The problem is that when a header file which appears in a .P file |
|
107 |
|
## is deleted, the dependency causes make to die (because there is |
|
108 |
|
## typically no way to rebuild the header). We avoid this by adding |
|
109 |
|
## dummy dependencies for each header file. Too bad gcc doesn't do |
|
110 |
|
## this for us directly. |
|
111 |
|
tr ' ' ' |
|
112 |
|
' < "$tmpdepfile" | |
|
113 |
|
## Some versions of gcc put a space before the `:'. On the theory |
|
114 |
|
## that the space means something, we add a space to the output as |
|
115 |
|
## well. |
|
116 |
|
## Some versions of the HPUX 10.20 sed can't process this invocation |
|
117 |
|
## correctly. Breaking it into two sed invocations is a workaround. |
|
118 |
|
sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile" |
|
119 |
|
rm -f "$tmpdepfile" |
|
120 |
|
;; |
|
121 |
|
|
|
122 |
|
hp) |
|
123 |
|
# This case exists only to let depend.m4 do its work. It works by |
|
124 |
|
# looking at the text of this script. This case will never be run, |
|
125 |
|
# since it is checked for above. |
|
126 |
|
exit 1 |
|
127 |
|
;; |
|
128 |
|
|
|
129 |
|
sgi) |
|
130 |
|
if test "$libtool" = yes; then |
|
131 |
|
"$@" "-Wp,-MDupdate,$tmpdepfile" |
|
132 |
|
else |
|
133 |
|
"$@" -MDupdate "$tmpdepfile" |
|
134 |
|
fi |
|
135 |
|
stat=$? |
|
136 |
|
if test $stat -eq 0; then : |
|
137 |
|
else |
|
138 |
|
rm -f "$tmpdepfile" |
|
139 |
|
exit $stat |
|
140 |
|
fi |
|
141 |
|
rm -f "$depfile" |
|
142 |
|
|
|
143 |
|
if test -f "$tmpdepfile"; then # yes, the sourcefile depend on other files |
|
144 |
|
echo "$object : \\" > "$depfile" |
|
145 |
|
|
|
146 |
|
# Clip off the initial element (the dependent). Don't try to be |
|
147 |
|
# clever and replace this with sed code, as IRIX sed won't handle |
|
148 |
|
# lines with more than a fixed number of characters (4096 in |
|
149 |
|
# IRIX 6.2 sed, 8192 in IRIX 6.5). We also remove comment lines; |
|
150 |
|
# the IRIX cc adds comments like `#:fec' to the end of the |
|
151 |
|
# dependency line. |
|
152 |
|
tr ' ' ' |
|
153 |
|
' < "$tmpdepfile" \ |
|
154 |
|
| sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' | \ |
|
155 |
|
tr ' |
|
156 |
|
' ' ' >> $depfile |
|
157 |
|
echo >> $depfile |
|
158 |
|
|
|
159 |
|
# The second pass generates a dummy entry for each header file. |
|
160 |
|
tr ' ' ' |
|
161 |
|
' < "$tmpdepfile" \ |
|
162 |
|
| sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' -e 's/$/:/' \ |
|
163 |
|
>> $depfile |
|
164 |
|
else |
|
165 |
|
# The sourcefile does not contain any dependencies, so just |
|
166 |
|
# store a dummy comment line, to avoid errors with the Makefile |
|
167 |
|
# "include basename.Plo" scheme. |
|
168 |
|
echo "#dummy" > "$depfile" |
|
169 |
|
fi |
|
170 |
|
rm -f "$tmpdepfile" |
|
171 |
|
;; |
|
172 |
|
|
|
173 |
|
aix) |
|
174 |
|
# The C for AIX Compiler uses -M and outputs the dependencies |
|
175 |
|
# in a .u file. In older versions, this file always lives in the |
|
176 |
|
# current directory. Also, the AIX compiler puts `$object:' at the |
|
177 |
|
# start of each line; $object doesn't have directory information. |
|
178 |
|
# Version 6 uses the directory in both cases. |
|
179 |
|
stripped=`echo "$object" | sed 's/\(.*\)\..*$/\1/'` |
|
180 |
|
tmpdepfile="$stripped.u" |
|
181 |
|
if test "$libtool" = yes; then |
|
182 |
|
"$@" -Wc,-M |
|
183 |
|
else |
|
184 |
|
"$@" -M |
|
185 |
|
fi |
|
186 |
|
stat=$? |
|
187 |
|
|
|
188 |
|
if test -f "$tmpdepfile"; then : |
|
189 |
|
else |
|
190 |
|
stripped=`echo "$stripped" | sed 's,^.*/,,'` |
|
191 |
|
tmpdepfile="$stripped.u" |
|
192 |
|
fi |
|
193 |
|
|
|
194 |
|
if test $stat -eq 0; then : |
|
195 |
|
else |
|
196 |
|
rm -f "$tmpdepfile" |
|
197 |
|
exit $stat |
|
198 |
|
fi |
|
199 |
|
|
|
200 |
|
if test -f "$tmpdepfile"; then |
|
201 |
|
outname="$stripped.o" |
|
202 |
|
# Each line is of the form `foo.o: dependent.h'. |
|
203 |
|
# Do two passes, one to just change these to |
|
204 |
|
# `$object: dependent.h' and one to simply `dependent.h:'. |
|
205 |
|
sed -e "s,^$outname:,$object :," < "$tmpdepfile" > "$depfile" |
|
206 |
|
sed -e "s,^$outname: \(.*\)$,\1:," < "$tmpdepfile" >> "$depfile" |
|
207 |
|
else |
|
208 |
|
# The sourcefile does not contain any dependencies, so just |
|
209 |
|
# store a dummy comment line, to avoid errors with the Makefile |
|
210 |
|
# "include basename.Plo" scheme. |
|
211 |
|
echo "#dummy" > "$depfile" |
|
212 |
|
fi |
|
213 |
|
rm -f "$tmpdepfile" |
|
214 |
|
;; |
|
215 |
|
|
|
216 |
|
icc) |
|
217 |
|
# Intel's C compiler understands `-MD -MF file'. However on |
|
218 |
|
# icc -MD -MF foo.d -c -o sub/foo.o sub/foo.c |
|
219 |
|
# ICC 7.0 will fill foo.d with something like |
|
220 |
|
# foo.o: sub/foo.c |
|
221 |
|
# foo.o: sub/foo.h |
|
222 |
|
# which is wrong. We want: |
|
223 |
|
# sub/foo.o: sub/foo.c |
|
224 |
|
# sub/foo.o: sub/foo.h |
|
225 |
|
# sub/foo.c: |
|
226 |
|
# sub/foo.h: |
|
227 |
|
# ICC 7.1 will output |
|
228 |
|
# foo.o: sub/foo.c sub/foo.h |
|
229 |
|
# and will wrap long lines using \ : |
|
230 |
|
# foo.o: sub/foo.c ... \ |
|
231 |
|
# sub/foo.h ... \ |
|
232 |
|
# ... |
|
233 |
|
|
|
234 |
|
"$@" -MD -MF "$tmpdepfile" |
|
235 |
|
stat=$? |
|
236 |
|
if test $stat -eq 0; then : |
|
237 |
|
else |
|
238 |
|
rm -f "$tmpdepfile" |
|
239 |
|
exit $stat |
|
240 |
|
fi |
|
241 |
|
rm -f "$depfile" |
|
242 |
|
# Each line is of the form `foo.o: dependent.h', |
|
243 |
|
# or `foo.o: dep1.h dep2.h \', or ` dep3.h dep4.h \'. |
|
244 |
|
# Do two passes, one to just change these to |
|
245 |
|
# `$object: dependent.h' and one to simply `dependent.h:'. |
|
246 |
|
sed "s,^[^:]*:,$object :," < "$tmpdepfile" > "$depfile" |
|
247 |
|
# Some versions of the HPUX 10.20 sed can't process this invocation |
|
248 |
|
# correctly. Breaking it into two sed invocations is a workaround. |
|
249 |
|
sed 's,^[^:]*: \(.*\)$,\1,;s/^\\$//;/^$/d;/:$/d' < "$tmpdepfile" | |
|
250 |
|
sed -e 's/$/ :/' >> "$depfile" |
|
251 |
|
rm -f "$tmpdepfile" |
|
252 |
|
;; |
|
253 |
|
|
|
254 |
|
tru64) |
|
255 |
|
# The Tru64 compiler uses -MD to generate dependencies as a side |
|
256 |
|
# effect. `cc -MD -o foo.o ...' puts the dependencies into `foo.o.d'. |
|
257 |
|
# At least on Alpha/Redhat 6.1, Compaq CCC V6.2-504 seems to put |
|
258 |
|
# dependencies in `foo.d' instead, so we check for that too. |
|
259 |
|
# Subdirectories are respected. |
|
260 |
|
dir=`echo "$object" | sed -e 's|/[^/]*$|/|'` |
|
261 |
|
test "x$dir" = "x$object" && dir= |
|
262 |
|
base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'` |
|
263 |
|
|
|
264 |
|
if test "$libtool" = yes; then |
|
265 |
|
tmpdepfile1="$dir.libs/$base.lo.d" |
|
266 |
|
tmpdepfile2="$dir.libs/$base.d" |
|
267 |
|
"$@" -Wc,-MD |
|
268 |
|
else |
|
269 |
|
tmpdepfile1="$dir$base.o.d" |
|
270 |
|
tmpdepfile2="$dir$base.d" |
|
271 |
|
"$@" -MD |
|
272 |
|
fi |
|
273 |
|
|
|
274 |
|
stat=$? |
|
275 |
|
if test $stat -eq 0; then : |
|
276 |
|
else |
|
277 |
|
rm -f "$tmpdepfile1" "$tmpdepfile2" |
|
278 |
|
exit $stat |
|
279 |
|
fi |
|
280 |
|
|
|
281 |
|
if test -f "$tmpdepfile1"; then |
|
282 |
|
tmpdepfile="$tmpdepfile1" |
|
283 |
|
else |
|
284 |
|
tmpdepfile="$tmpdepfile2" |
|
285 |
|
fi |
|
286 |
|
if test -f "$tmpdepfile"; then |
|
287 |
|
sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile" |
|
288 |
|
# That's a tab and a space in the []. |
|
289 |
|
sed -e 's,^.*\.[a-z]*:[ ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile" |
|
290 |
|
else |
|
291 |
|
echo "#dummy" > "$depfile" |
|
292 |
|
fi |
|
293 |
|
rm -f "$tmpdepfile" |
|
294 |
|
;; |
|
295 |
|
|
|
296 |
|
#nosideeffect) |
|
297 |
|
# This comment above is used by automake to tell side-effect |
|
298 |
|
# dependency tracking mechanisms from slower ones. |
|
299 |
|
|
|
300 |
|
dashmstdout) |
|
301 |
|
# Important note: in order to support this mode, a compiler *must* |
|
302 |
|
# always write the preprocessed file to stdout, regardless of -o. |
|
303 |
|
"$@" || exit $? |
|
304 |
|
|
|
305 |
|
# Remove the call to Libtool. |
|
306 |
|
if test "$libtool" = yes; then |
|
307 |
|
while test $1 != '--mode=compile'; do |
|
308 |
|
shift |
|
309 |
|
done |
|
310 |
|
shift |
|
311 |
|
fi |
|
312 |
|
|
|
313 |
|
# Remove `-o $object'. |
|
314 |
|
IFS=" " |
|
315 |
|
for arg |
|
316 |
|
do |
|
317 |
|
case $arg in |
|
318 |
|
-o) |
|
319 |
|
shift |
|
320 |
|
;; |
|
321 |
|
$object) |
|
322 |
|
shift |
|
323 |
|
;; |
|
324 |
|
*) |
|
325 |
|
set fnord "$@" "$arg" |
|
326 |
|
shift # fnord |
|
327 |
|
shift # $arg |
|
328 |
|
;; |
|
329 |
|
esac |
|
330 |
|
done |
|
331 |
|
|
|
332 |
|
test -z "$dashmflag" && dashmflag=-M |
|
333 |
|
# Require at least two characters before searching for `:' |
|
334 |
|
# in the target name. This is to cope with DOS-style filenames: |
|
335 |
|
# a dependency such as `c:/foo/bar' could be seen as target `c' otherwise. |
|
336 |
|
"$@" $dashmflag | |
|
337 |
|
sed 's:^[ ]*[^: ][^:][^:]*\:[ ]*:'"$object"'\: :' > "$tmpdepfile" |
|
338 |
|
rm -f "$depfile" |
|
339 |
|
cat < "$tmpdepfile" > "$depfile" |
|
340 |
|
tr ' ' ' |
|
341 |
|
' < "$tmpdepfile" | \ |
|
342 |
|
## Some versions of the HPUX 10.20 sed can't process this invocation |
|
343 |
|
## correctly. Breaking it into two sed invocations is a workaround. |
|
344 |
|
sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile" |
|
345 |
|
rm -f "$tmpdepfile" |
|
346 |
|
;; |
|
347 |
|
|
|
348 |
|
dashXmstdout) |
|
349 |
|
# This case only exists to satisfy depend.m4. It is never actually |
|
350 |
|
# run, as this mode is specially recognized in the preamble. |
|
351 |
|
exit 1 |
|
352 |
|
;; |
|
353 |
|
|
|
354 |
|
makedepend) |
|
355 |
|
"$@" || exit $? |
|
356 |
|
# Remove any Libtool call |
|
357 |
|
if test "$libtool" = yes; then |
|
358 |
|
while test $1 != '--mode=compile'; do |
|
359 |
|
shift |
|
360 |
|
done |
|
361 |
|
shift |
|
362 |
|
fi |
|
363 |
|
# X makedepend |
|
364 |
|
shift |
|
365 |
|
cleared=no |
|
366 |
|
for arg in "$@"; do |
|
367 |
|
case $cleared in |
|
368 |
|
no) |
|
369 |
|
set ""; shift |
|
370 |
|
cleared=yes ;; |
|
371 |
|
esac |
|
372 |
|
case "$arg" in |
|
373 |
|
-D*|-I*) |
|
374 |
|
set fnord "$@" "$arg"; shift ;; |
|
375 |
|
# Strip any option that makedepend may not understand. Remove |
|
376 |
|
# the object too, otherwise makedepend will parse it as a source file. |
|
377 |
|
-*|$object) |
|
378 |
|
;; |
|
379 |
|
*) |
|
380 |
|
set fnord "$@" "$arg"; shift ;; |
|
381 |
|
esac |
|
382 |
|
done |
|
383 |
|
obj_suffix="`echo $object | sed 's/^.*\././'`" |
|
384 |
|
touch "$tmpdepfile" |
|
385 |
|
${MAKEDEPEND-makedepend} -o"$obj_suffix" -f"$tmpdepfile" "$@" |
|
386 |
|
rm -f "$depfile" |
|
387 |
|
cat < "$tmpdepfile" > "$depfile" |
|
388 |
|
sed '1,2d' "$tmpdepfile" | tr ' ' ' |
|
389 |
|
' | \ |
|
390 |
|
## Some versions of the HPUX 10.20 sed can't process this invocation |
|
391 |
|
## correctly. Breaking it into two sed invocations is a workaround. |
|
392 |
|
sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile" |
|
393 |
|
rm -f "$tmpdepfile" "$tmpdepfile".bak |
|
394 |
|
;; |
|
395 |
|
|
|
396 |
|
cpp) |
|
397 |
|
# Important note: in order to support this mode, a compiler *must* |
|
398 |
|
# always write the preprocessed file to stdout. |
|
399 |
|
"$@" || exit $? |
|
400 |
|
|
|
401 |
|
# Remove the call to Libtool. |
|
402 |
|
if test "$libtool" = yes; then |
|
403 |
|
while test $1 != '--mode=compile'; do |
|
404 |
|
shift |
|
405 |
|
done |
|
406 |
|
shift |
|
407 |
|
fi |
|
408 |
|
|
|
409 |
|
# Remove `-o $object'. |
|
410 |
|
IFS=" " |
|
411 |
|
for arg |
|
412 |
|
do |
|
413 |
|
case $arg in |
|
414 |
|
-o) |
|
415 |
|
shift |
|
416 |
|
;; |
|
417 |
|
$object) |
|
418 |
|
shift |
|
419 |
|
;; |
|
420 |
|
*) |
|
421 |
|
set fnord "$@" "$arg" |
|
422 |
|
shift # fnord |
|
423 |
|
shift # $arg |
|
424 |
|
;; |
|
425 |
|
esac |
|
426 |
|
done |
|
427 |
|
|
|
428 |
|
"$@" -E | |
|
429 |
|
sed -n '/^# [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' | |
|
430 |
|
sed '$ s: \\$::' > "$tmpdepfile" |
|
431 |
|
rm -f "$depfile" |
|
432 |
|
echo "$object : \\" > "$depfile" |
|
433 |
|
cat < "$tmpdepfile" >> "$depfile" |
|
434 |
|
sed < "$tmpdepfile" '/^$/d;s/^ //;s/ \\$//;s/$/ :/' >> "$depfile" |
|
435 |
|
rm -f "$tmpdepfile" |
|
436 |
|
;; |
|
437 |
|
|
|
438 |
|
msvisualcpp) |
|
439 |
|
# Important note: in order to support this mode, a compiler *must* |
|
440 |
|
# always write the preprocessed file to stdout, regardless of -o, |
|
441 |
|
# because we must use -o when running libtool. |
|
442 |
|
"$@" || exit $? |
|
443 |
|
IFS=" " |
|
444 |
|
for arg |
|
445 |
|
do |
|
446 |
|
case "$arg" in |
|
447 |
|
"-Gm"|"/Gm"|"-Gi"|"/Gi"|"-ZI"|"/ZI") |
|
448 |
|
set fnord "$@" |
|
449 |
|
shift |
|
450 |
|
shift |
|
451 |
|
;; |
|
452 |
|
*) |
|
453 |
|
set fnord "$@" "$arg" |
|
454 |
|
shift |
|
455 |
|
shift |
|
456 |
|
;; |
|
457 |
|
esac |
|
458 |
|
done |
|
459 |
|
"$@" -E | |
|
460 |
|
sed -n '/^#line [0-9][0-9]* "\([^"]*\)"/ s::echo "`cygpath -u \\"\1\\"`":p' | sort | uniq > "$tmpdepfile" |
|
461 |
|
rm -f "$depfile" |
|
462 |
|
echo "$object : \\" > "$depfile" |
|
463 |
|
. "$tmpdepfile" | sed 's% %\\ %g' | sed -n '/^\(.*\)$/ s:: \1 \\:p' >> "$depfile" |
|
464 |
|
echo " " >> "$depfile" |
|
465 |
|
. "$tmpdepfile" | sed 's% %\\ %g' | sed -n '/^\(.*\)$/ s::\1\::p' >> "$depfile" |
|
466 |
|
rm -f "$tmpdepfile" |
|
467 |
|
;; |
|
468 |
|
|
|
469 |
|
none) |
|
470 |
|
exec "$@" |
|
471 |
|
;; |
|
472 |
|
|
|
473 |
|
*) |
|
474 |
|
echo "Unknown depmode $depmode" 1>&2 |
|
475 |
|
exit 1 |
|
476 |
|
;; |
|
477 |
|
esac |
|
478 |
|
|
|
479 |
|
exit 0 |
File install-sh added (mode: 100755) (index 0000000..6ce63b9) |
|
1 |
|
#!/bin/sh |
|
2 |
|
# |
|
3 |
|
# install - install a program, script, or datafile |
|
4 |
|
# |
|
5 |
|
# This originates from X11R5 (mit/util/scripts/install.sh), which was |
|
6 |
|
# later released in X11R6 (xc/config/util/install.sh) with the |
|
7 |
|
# following copyright and license. |
|
8 |
|
# |
|
9 |
|
# Copyright (C) 1994 X Consortium |
|
10 |
|
# |
|
11 |
|
# Permission is hereby granted, free of charge, to any person obtaining a copy |
|
12 |
|
# of this software and associated documentation files (the "Software"), to |
|
13 |
|
# deal in the Software without restriction, including without limitation the |
|
14 |
|
# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or |
|
15 |
|
# sell copies of the Software, and to permit persons to whom the Software is |
|
16 |
|
# furnished to do so, subject to the following conditions: |
|
17 |
|
# |
|
18 |
|
# The above copyright notice and this permission notice shall be included in |
|
19 |
|
# all copies or substantial portions of the Software. |
|
20 |
|
# |
|
21 |
|
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR |
|
22 |
|
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, |
|
23 |
|
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE |
|
24 |
|
# X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN |
|
25 |
|
# AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNEC- |
|
26 |
|
# TION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. |
|
27 |
|
# |
|
28 |
|
# Except as contained in this notice, the name of the X Consortium shall not |
|
29 |
|
# be used in advertising or otherwise to promote the sale, use or other deal- |
|
30 |
|
# ings in this Software without prior written authorization from the X Consor- |
|
31 |
|
# tium. |
|
32 |
|
# |
|
33 |
|
# |
|
34 |
|
# FSF changes to this file are in the public domain. |
|
35 |
|
# |
|
36 |
|
# Calling this script install-sh is preferred over install.sh, to prevent |
|
37 |
|
# `make' implicit rules from creating a file called install from it |
|
38 |
|
# when there is no Makefile. |
|
39 |
|
# |
|
40 |
|
# This script is compatible with the BSD install script, but was written |
|
41 |
|
# from scratch. It can only install one file at a time, a restriction |
|
42 |
|
# shared with many OS's install programs. |
|
43 |
|
|
|
44 |
|
|
|
45 |
|
# set DOITPROG to echo to test this script |
|
46 |
|
|
|
47 |
|
# Don't use :- since 4.3BSD and earlier shells don't like it. |
|
48 |
|
doit="${DOITPROG-}" |
|
49 |
|
|
|
50 |
|
|
|
51 |
|
# put in absolute paths if you don't have them in your path; or use env. vars. |
|
52 |
|
|
|
53 |
|
mvprog="${MVPROG-mv}" |
|
54 |
|
cpprog="${CPPROG-cp}" |
|
55 |
|
chmodprog="${CHMODPROG-chmod}" |
|
56 |
|
chownprog="${CHOWNPROG-chown}" |
|
57 |
|
chgrpprog="${CHGRPPROG-chgrp}" |
|
58 |
|
stripprog="${STRIPPROG-strip}" |
|
59 |
|
rmprog="${RMPROG-rm}" |
|
60 |
|
mkdirprog="${MKDIRPROG-mkdir}" |
|
61 |
|
|
|
62 |
|
transformbasename="" |
|
63 |
|
transform_arg="" |
|
64 |
|
instcmd="$mvprog" |
|
65 |
|
chmodcmd="$chmodprog 0755" |
|
66 |
|
chowncmd="" |
|
67 |
|
chgrpcmd="" |
|
68 |
|
stripcmd="" |
|
69 |
|
rmcmd="$rmprog -f" |
|
70 |
|
mvcmd="$mvprog" |
|
71 |
|
src="" |
|
72 |
|
dst="" |
|
73 |
|
dir_arg="" |
|
74 |
|
|
|
75 |
|
while [ x"$1" != x ]; do |
|
76 |
|
case $1 in |
|
77 |
|
-c) instcmd=$cpprog |
|
78 |
|
shift |
|
79 |
|
continue;; |
|
80 |
|
|
|
81 |
|
-d) dir_arg=true |
|
82 |
|
shift |
|
83 |
|
continue;; |
|
84 |
|
|
|
85 |
|
-m) chmodcmd="$chmodprog $2" |
|
86 |
|
shift |
|
87 |
|
shift |
|
88 |
|
continue;; |
|
89 |
|
|
|
90 |
|
-o) chowncmd="$chownprog $2" |
|
91 |
|
shift |
|
92 |
|
shift |
|
93 |
|
continue;; |
|
94 |
|
|
|
95 |
|
-g) chgrpcmd="$chgrpprog $2" |
|
96 |
|
shift |
|
97 |
|
shift |
|
98 |
|
continue;; |
|
99 |
|
|
|
100 |
|
-s) stripcmd=$stripprog |
|
101 |
|
shift |
|
102 |
|
continue;; |
|
103 |
|
|
|
104 |
|
-t=*) transformarg=`echo $1 | sed 's/-t=//'` |
|
105 |
|
shift |
|
106 |
|
continue;; |
|
107 |
|
|
|
108 |
|
-b=*) transformbasename=`echo $1 | sed 's/-b=//'` |
|
109 |
|
shift |
|
110 |
|
continue;; |
|
111 |
|
|
|
112 |
|
*) if [ x"$src" = x ] |
|
113 |
|
then |
|
114 |
|
src=$1 |
|
115 |
|
else |
|
116 |
|
# this colon is to work around a 386BSD /bin/sh bug |
|
117 |
|
: |
|
118 |
|
dst=$1 |
|
119 |
|
fi |
|
120 |
|
shift |
|
121 |
|
continue;; |
|
122 |
|
esac |
|
123 |
|
done |
|
124 |
|
|
|
125 |
|
if [ x"$src" = x ] |
|
126 |
|
then |
|
127 |
|
echo "$0: no input file specified" >&2 |
|
128 |
|
exit 1 |
|
129 |
|
else |
|
130 |
|
: |
|
131 |
|
fi |
|
132 |
|
|
|
133 |
|
if [ x"$dir_arg" != x ]; then |
|
134 |
|
dst=$src |
|
135 |
|
src="" |
|
136 |
|
|
|
137 |
|
if [ -d "$dst" ]; then |
|
138 |
|
instcmd=: |
|
139 |
|
chmodcmd="" |
|
140 |
|
else |
|
141 |
|
instcmd=$mkdirprog |
|
142 |
|
fi |
|
143 |
|
else |
|
144 |
|
|
|
145 |
|
# Waiting for this to be detected by the "$instcmd $src $dsttmp" command |
|
146 |
|
# might cause directories to be created, which would be especially bad |
|
147 |
|
# if $src (and thus $dsttmp) contains '*'. |
|
148 |
|
|
|
149 |
|
if [ -f "$src" ] || [ -d "$src" ] |
|
150 |
|
then |
|
151 |
|
: |
|
152 |
|
else |
|
153 |
|
echo "$0: $src does not exist" >&2 |
|
154 |
|
exit 1 |
|
155 |
|
fi |
|
156 |
|
|
|
157 |
|
if [ x"$dst" = x ] |
|
158 |
|
then |
|
159 |
|
echo "$0: no destination specified" >&2 |
|
160 |
|
exit 1 |
|
161 |
|
else |
|
162 |
|
: |
|
163 |
|
fi |
|
164 |
|
|
|
165 |
|
# If destination is a directory, append the input filename; if your system |
|
166 |
|
# does not like double slashes in filenames, you may need to add some logic |
|
167 |
|
|
|
168 |
|
if [ -d "$dst" ] |
|
169 |
|
then |
|
170 |
|
dst=$dst/`basename "$src"` |
|
171 |
|
else |
|
172 |
|
: |
|
173 |
|
fi |
|
174 |
|
fi |
|
175 |
|
|
|
176 |
|
## this sed command emulates the dirname command |
|
177 |
|
dstdir=`echo "$dst" | sed -e 's,[^/]*$,,;s,/$,,;s,^$,.,'` |
|
178 |
|
|
|
179 |
|
# Make sure that the destination directory exists. |
|
180 |
|
# this part is taken from Noah Friedman's mkinstalldirs script |
|
181 |
|
|
|
182 |
|
# Skip lots of stat calls in the usual case. |
|
183 |
|
if [ ! -d "$dstdir" ]; then |
|
184 |
|
defaultIFS=' |
|
185 |
|
' |
|
186 |
|
IFS="${IFS-$defaultIFS}" |
|
187 |
|
|
|
188 |
|
oIFS=$IFS |
|
189 |
|
# Some sh's can't handle IFS=/ for some reason. |
|
190 |
|
IFS='%' |
|
191 |
|
set - `echo "$dstdir" | sed -e 's@/@%@g' -e 's@^%@/@'` |
|
192 |
|
IFS=$oIFS |
|
193 |
|
|
|
194 |
|
pathcomp='' |
|
195 |
|
|
|
196 |
|
while [ $# -ne 0 ] ; do |
|
197 |
|
pathcomp=$pathcomp$1 |
|
198 |
|
shift |
|
199 |
|
|
|
200 |
|
if [ ! -d "$pathcomp" ] ; |
|
201 |
|
then |
|
202 |
|
$mkdirprog "$pathcomp" |
|
203 |
|
else |
|
204 |
|
: |
|
205 |
|
fi |
|
206 |
|
|
|
207 |
|
pathcomp=$pathcomp/ |
|
208 |
|
done |
|
209 |
|
fi |
|
210 |
|
|
|
211 |
|
if [ x"$dir_arg" != x ] |
|
212 |
|
then |
|
213 |
|
$doit $instcmd "$dst" && |
|
214 |
|
|
|
215 |
|
if [ x"$chowncmd" != x ]; then $doit $chowncmd "$dst"; else : ; fi && |
|
216 |
|
if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd "$dst"; else : ; fi && |
|
217 |
|
if [ x"$stripcmd" != x ]; then $doit $stripcmd "$dst"; else : ; fi && |
|
218 |
|
if [ x"$chmodcmd" != x ]; then $doit $chmodcmd "$dst"; else : ; fi |
|
219 |
|
else |
|
220 |
|
|
|
221 |
|
# If we're going to rename the final executable, determine the name now. |
|
222 |
|
|
|
223 |
|
if [ x"$transformarg" = x ] |
|
224 |
|
then |
|
225 |
|
dstfile=`basename "$dst"` |
|
226 |
|
else |
|
227 |
|
dstfile=`basename "$dst" $transformbasename | |
|
228 |
|
sed $transformarg`$transformbasename |
|
229 |
|
fi |
|
230 |
|
|
|
231 |
|
# don't allow the sed command to completely eliminate the filename |
|
232 |
|
|
|
233 |
|
if [ x"$dstfile" = x ] |
|
234 |
|
then |
|
235 |
|
dstfile=`basename "$dst"` |
|
236 |
|
else |
|
237 |
|
: |
|
238 |
|
fi |
|
239 |
|
|
|
240 |
|
# Make a couple of temp file names in the proper directory. |
|
241 |
|
|
|
242 |
|
dsttmp=$dstdir/_inst.$$_ |
|
243 |
|
rmtmp=$dstdir/_rm.$$_ |
|
244 |
|
|
|
245 |
|
# Trap to clean up temp files at exit. |
|
246 |
|
|
|
247 |
|
trap 'status=$?; rm -f "$dsttmp" "$rmtmp" && exit $status' 0 |
|
248 |
|
trap '(exit $?); exit' 1 2 13 15 |
|
249 |
|
|
|
250 |
|
# Move or copy the file name to the temp name |
|
251 |
|
|
|
252 |
|
$doit $instcmd "$src" "$dsttmp" && |
|
253 |
|
|
|
254 |
|
# and set any options; do chmod last to preserve setuid bits |
|
255 |
|
|
|
256 |
|
# If any of these fail, we abort the whole thing. If we want to |
|
257 |
|
# ignore errors from any of these, just make sure not to ignore |
|
258 |
|
# errors from the above "$doit $instcmd $src $dsttmp" command. |
|
259 |
|
|
|
260 |
|
if [ x"$chowncmd" != x ]; then $doit $chowncmd "$dsttmp"; else :;fi && |
|
261 |
|
if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd "$dsttmp"; else :;fi && |
|
262 |
|
if [ x"$stripcmd" != x ]; then $doit $stripcmd "$dsttmp"; else :;fi && |
|
263 |
|
if [ x"$chmodcmd" != x ]; then $doit $chmodcmd "$dsttmp"; else :;fi && |
|
264 |
|
|
|
265 |
|
# Now remove or move aside any old file at destination location. We try this |
|
266 |
|
# two ways since rm can't unlink itself on some systems and the destination |
|
267 |
|
# file might be busy for other reasons. In this case, the final cleanup |
|
268 |
|
# might fail but the new file should still install successfully. |
|
269 |
|
|
|
270 |
|
{ |
|
271 |
|
if [ -f "$dstdir/$dstfile" ] |
|
272 |
|
then |
|
273 |
|
$doit $rmcmd -f "$dstdir/$dstfile" 2>/dev/null || |
|
274 |
|
$doit $mvcmd -f "$dstdir/$dstfile" "$rmtmp" 2>/dev/null || |
|
275 |
|
{ |
|
276 |
|
echo "$0: cannot unlink or rename $dstdir/$dstfile" >&2 |
|
277 |
|
(exit 1); exit |
|
278 |
|
} |
|
279 |
|
else |
|
280 |
|
: |
|
281 |
|
fi |
|
282 |
|
} && |
|
283 |
|
|
|
284 |
|
# Now rename the file to the real destination. |
|
285 |
|
|
|
286 |
|
$doit $mvcmd "$dsttmp" "$dstdir/$dstfile" |
|
287 |
|
|
|
288 |
|
fi && |
|
289 |
|
|
|
290 |
|
# The final little trick to "correctly" pass the exit status to the exit trap. |
|
291 |
|
|
|
292 |
|
{ |
|
293 |
|
(exit 0); exit |
|
294 |
|
} |
File missing added (mode: 100755) (index 0000000..fc54c64) |
|
1 |
|
#! /bin/sh |
|
2 |
|
# Common stub for a few missing GNU programs while installing. |
|
3 |
|
# Copyright (C) 1996, 1997, 1999, 2000, 2002, 2003 Free Software Foundation, Inc. |
|
4 |
|
# Originally by Fran,cois Pinard <pinard@iro.umontreal.ca>, 1996. |
|
5 |
|
|
|
6 |
|
# This program is free software; you can redistribute it and/or modify |
|
7 |
|
# it under the terms of the GNU General Public License as published by |
|
8 |
|
# the Free Software Foundation; either version 2, or (at your option) |
|
9 |
|
# any later version. |
|
10 |
|
|
|
11 |
|
# This program is distributed in the hope that it will be useful, |
|
12 |
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of |
|
13 |
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|
14 |
|
# GNU General Public License for more details. |
|
15 |
|
|
|
16 |
|
# You should have received a copy of the GNU General Public License |
|
17 |
|
# along with this program; if not, write to the Free Software |
|
18 |
|
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA |
|
19 |
|
# 02111-1307, USA. |
|
20 |
|
|
|
21 |
|
# As a special exception to the GNU General Public License, if you |
|
22 |
|
# distribute this file as part of a program that contains a |
|
23 |
|
# configuration script generated by Autoconf, you may include it under |
|
24 |
|
# the same distribution terms that you use for the rest of that program. |
|
25 |
|
|
|
26 |
|
if test $# -eq 0; then |
|
27 |
|
echo 1>&2 "Try \`$0 --help' for more information" |
|
28 |
|
exit 1 |
|
29 |
|
fi |
|
30 |
|
|
|
31 |
|
run=: |
|
32 |
|
|
|
33 |
|
# In the cases where this matters, `missing' is being run in the |
|
34 |
|
# srcdir already. |
|
35 |
|
if test -f configure.ac; then |
|
36 |
|
configure_ac=configure.ac |
|
37 |
|
else |
|
38 |
|
configure_ac=configure.in |
|
39 |
|
fi |
|
40 |
|
|
|
41 |
|
case "$1" in |
|
42 |
|
--run) |
|
43 |
|
# Try to run requested program, and just exit if it succeeds. |
|
44 |
|
run= |
|
45 |
|
shift |
|
46 |
|
"$@" && exit 0 |
|
47 |
|
;; |
|
48 |
|
esac |
|
49 |
|
|
|
50 |
|
# If it does not exist, or fails to run (possibly an outdated version), |
|
51 |
|
# try to emulate it. |
|
52 |
|
case "$1" in |
|
53 |
|
|
|
54 |
|
-h|--h|--he|--hel|--help) |
|
55 |
|
echo "\ |
|
56 |
|
$0 [OPTION]... PROGRAM [ARGUMENT]... |
|
57 |
|
|
|
58 |
|
Handle \`PROGRAM [ARGUMENT]...' for when PROGRAM is missing, or return an |
|
59 |
|
error status if there is no known handling for PROGRAM. |
|
60 |
|
|
|
61 |
|
Options: |
|
62 |
|
-h, --help display this help and exit |
|
63 |
|
-v, --version output version information and exit |
|
64 |
|
--run try to run the given command, and emulate it if it fails |
|
65 |
|
|
|
66 |
|
Supported PROGRAM values: |
|
67 |
|
aclocal touch file \`aclocal.m4' |
|
68 |
|
autoconf touch file \`configure' |
|
69 |
|
autoheader touch file \`config.h.in' |
|
70 |
|
automake touch all \`Makefile.in' files |
|
71 |
|
bison create \`y.tab.[ch]', if possible, from existing .[ch] |
|
72 |
|
flex create \`lex.yy.c', if possible, from existing .c |
|
73 |
|
help2man touch the output file |
|
74 |
|
lex create \`lex.yy.c', if possible, from existing .c |
|
75 |
|
makeinfo touch the output file |
|
76 |
|
tar try tar, gnutar, gtar, then tar without non-portable flags |
|
77 |
|
yacc create \`y.tab.[ch]', if possible, from existing .[ch]" |
|
78 |
|
;; |
|
79 |
|
|
|
80 |
|
-v|--v|--ve|--ver|--vers|--versi|--versio|--version) |
|
81 |
|
echo "missing 0.4 - GNU automake" |
|
82 |
|
;; |
|
83 |
|
|
|
84 |
|
-*) |
|
85 |
|
echo 1>&2 "$0: Unknown \`$1' option" |
|
86 |
|
echo 1>&2 "Try \`$0 --help' for more information" |
|
87 |
|
exit 1 |
|
88 |
|
;; |
|
89 |
|
|
|
90 |
|
aclocal*) |
|
91 |
|
if test -z "$run" && ($1 --version) > /dev/null 2>&1; then |
|
92 |
|
# We have it, but it failed. |
|
93 |
|
exit 1 |
|
94 |
|
fi |
|
95 |
|
|
|
96 |
|
echo 1>&2 "\ |
|
97 |
|
WARNING: \`$1' is missing on your system. You should only need it if |
|
98 |
|
you modified \`acinclude.m4' or \`${configure_ac}'. You might want |
|
99 |
|
to install the \`Automake' and \`Perl' packages. Grab them from |
|
100 |
|
any GNU archive site." |
|
101 |
|
touch aclocal.m4 |
|
102 |
|
;; |
|
103 |
|
|
|
104 |
|
autoconf) |
|
105 |
|
if test -z "$run" && ($1 --version) > /dev/null 2>&1; then |
|
106 |
|
# We have it, but it failed. |
|
107 |
|
exit 1 |
|
108 |
|
fi |
|
109 |
|
|
|
110 |
|
echo 1>&2 "\ |
|
111 |
|
WARNING: \`$1' is missing on your system. You should only need it if |
|
112 |
|
you modified \`${configure_ac}'. You might want to install the |
|
113 |
|
\`Autoconf' and \`GNU m4' packages. Grab them from any GNU |
|
114 |
|
archive site." |
|
115 |
|
touch configure |
|
116 |
|
;; |
|
117 |
|
|
|
118 |
|
autoheader) |
|
119 |
|
if test -z "$run" && ($1 --version) > /dev/null 2>&1; then |
|
120 |
|
# We have it, but it failed. |
|
121 |
|
exit 1 |
|
122 |
|
fi |
|
123 |
|
|
|
124 |
|
echo 1>&2 "\ |
|
125 |
|
WARNING: \`$1' is missing on your system. You should only need it if |
|
126 |
|
you modified \`acconfig.h' or \`${configure_ac}'. You might want |
|
127 |
|
to install the \`Autoconf' and \`GNU m4' packages. Grab them |
|
128 |
|
from any GNU archive site." |
|
129 |
|
files=`sed -n 's/^[ ]*A[CM]_CONFIG_HEADER(\([^)]*\)).*/\1/p' ${configure_ac}` |
|
130 |
|
test -z "$files" && files="config.h" |
|
131 |
|
touch_files= |
|
132 |
|
for f in $files; do |
|
133 |
|
case "$f" in |
|
134 |
|
*:*) touch_files="$touch_files "`echo "$f" | |
|
135 |
|
sed -e 's/^[^:]*://' -e 's/:.*//'`;; |
|
136 |
|
*) touch_files="$touch_files $f.in";; |
|
137 |
|
esac |
|
138 |
|
done |
|
139 |
|
touch $touch_files |
|
140 |
|
;; |
|
141 |
|
|
|
142 |
|
automake*) |
|
143 |
|
if test -z "$run" && ($1 --version) > /dev/null 2>&1; then |
|
144 |
|
# We have it, but it failed. |
|
145 |
|
exit 1 |
|
146 |
|
fi |
|
147 |
|
|
|
148 |
|
echo 1>&2 "\ |
|
149 |
|
WARNING: \`$1' is missing on your system. You should only need it if |
|
150 |
|
you modified \`Makefile.am', \`acinclude.m4' or \`${configure_ac}'. |
|
151 |
|
You might want to install the \`Automake' and \`Perl' packages. |
|
152 |
|
Grab them from any GNU archive site." |
|
153 |
|
find . -type f -name Makefile.am -print | |
|
154 |
|
sed 's/\.am$/.in/' | |
|
155 |
|
while read f; do touch "$f"; done |
|
156 |
|
;; |
|
157 |
|
|
|
158 |
|
autom4te) |
|
159 |
|
if test -z "$run" && ($1 --version) > /dev/null 2>&1; then |
|
160 |
|
# We have it, but it failed. |
|
161 |
|
exit 1 |
|
162 |
|
fi |
|
163 |
|
|
|
164 |
|
echo 1>&2 "\ |
|
165 |
|
WARNING: \`$1' is needed, and you do not seem to have it handy on your |
|
166 |
|
system. You might have modified some files without having the |
|
167 |
|
proper tools for further handling them. |
|
168 |
|
You can get \`$1' as part of \`Autoconf' from any GNU |
|
169 |
|
archive site." |
|
170 |
|
|
|
171 |
|
file=`echo "$*" | sed -n 's/.*--output[ =]*\([^ ]*\).*/\1/p'` |
|
172 |
|
test -z "$file" && file=`echo "$*" | sed -n 's/.*-o[ ]*\([^ ]*\).*/\1/p'` |
|
173 |
|
if test -f "$file"; then |
|
174 |
|
touch $file |
|
175 |
|
else |
|
176 |
|
test -z "$file" || exec >$file |
|
177 |
|
echo "#! /bin/sh" |
|
178 |
|
echo "# Created by GNU Automake missing as a replacement of" |
|
179 |
|
echo "# $ $@" |
|
180 |
|
echo "exit 0" |
|
181 |
|
chmod +x $file |
|
182 |
|
exit 1 |
|
183 |
|
fi |
|
184 |
|
;; |
|
185 |
|
|
|
186 |
|
bison|yacc) |
|
187 |
|
echo 1>&2 "\ |
|
188 |
|
WARNING: \`$1' is missing on your system. You should only need it if |
|
189 |
|
you modified a \`.y' file. You may need the \`Bison' package |
|
190 |
|
in order for those modifications to take effect. You can get |
|
191 |
|
\`Bison' from any GNU archive site." |
|
192 |
|
rm -f y.tab.c y.tab.h |
|
193 |
|
if [ $# -ne 1 ]; then |
|
194 |
|
eval LASTARG="\${$#}" |
|
195 |
|
case "$LASTARG" in |
|
196 |
|
*.y) |
|
197 |
|
SRCFILE=`echo "$LASTARG" | sed 's/y$/c/'` |
|
198 |
|
if [ -f "$SRCFILE" ]; then |
|
199 |
|
cp "$SRCFILE" y.tab.c |
|
200 |
|
fi |
|
201 |
|
SRCFILE=`echo "$LASTARG" | sed 's/y$/h/'` |
|
202 |
|
if [ -f "$SRCFILE" ]; then |
|
203 |
|
cp "$SRCFILE" y.tab.h |
|
204 |
|
fi |
|
205 |
|
;; |
|
206 |
|
esac |
|
207 |
|
fi |
|
208 |
|
if [ ! -f y.tab.h ]; then |
|
209 |
|
echo >y.tab.h |
|
210 |
|
fi |
|
211 |
|
if [ ! -f y.tab.c ]; then |
|
212 |
|
echo 'main() { return 0; }' >y.tab.c |
|
213 |
|
fi |
|
214 |
|
;; |
|
215 |
|
|
|
216 |
|
lex|flex) |
|
217 |
|
echo 1>&2 "\ |
|
218 |
|
WARNING: \`$1' is missing on your system. You should only need it if |
|
219 |
|
you modified a \`.l' file. You may need the \`Flex' package |
|
220 |
|
in order for those modifications to take effect. You can get |
|
221 |
|
\`Flex' from any GNU archive site." |
|
222 |
|
rm -f lex.yy.c |
|
223 |
|
if [ $# -ne 1 ]; then |
|
224 |
|
eval LASTARG="\${$#}" |
|
225 |
|
case "$LASTARG" in |
|
226 |
|
*.l) |
|
227 |
|
SRCFILE=`echo "$LASTARG" | sed 's/l$/c/'` |
|
228 |
|
if [ -f "$SRCFILE" ]; then |
|
229 |
|
cp "$SRCFILE" lex.yy.c |
|
230 |
|
fi |
|
231 |
|
;; |
|
232 |
|
esac |
|
233 |
|
fi |
|
234 |
|
if [ ! -f lex.yy.c ]; then |
|
235 |
|
echo 'main() { return 0; }' >lex.yy.c |
|
236 |
|
fi |
|
237 |
|
;; |
|
238 |
|
|
|
239 |
|
help2man) |
|
240 |
|
if test -z "$run" && ($1 --version) > /dev/null 2>&1; then |
|
241 |
|
# We have it, but it failed. |
|
242 |
|
exit 1 |
|
243 |
|
fi |
|
244 |
|
|
|
245 |
|
echo 1>&2 "\ |
|
246 |
|
WARNING: \`$1' is missing on your system. You should only need it if |
|
247 |
|
you modified a dependency of a manual page. You may need the |
|
248 |
|
\`Help2man' package in order for those modifications to take |
|
249 |
|
effect. You can get \`Help2man' from any GNU archive site." |
|
250 |
|
|
|
251 |
|
file=`echo "$*" | sed -n 's/.*-o \([^ ]*\).*/\1/p'` |
|
252 |
|
if test -z "$file"; then |
|
253 |
|
file=`echo "$*" | sed -n 's/.*--output=\([^ ]*\).*/\1/p'` |
|
254 |
|
fi |
|
255 |
|
if [ -f "$file" ]; then |
|
256 |
|
touch $file |
|
257 |
|
else |
|
258 |
|
test -z "$file" || exec >$file |
|
259 |
|
echo ".ab help2man is required to generate this page" |
|
260 |
|
exit 1 |
|
261 |
|
fi |
|
262 |
|
;; |
|
263 |
|
|
|
264 |
|
makeinfo) |
|
265 |
|
if test -z "$run" && (makeinfo --version) > /dev/null 2>&1; then |
|
266 |
|
# We have makeinfo, but it failed. |
|
267 |
|
exit 1 |
|
268 |
|
fi |
|
269 |
|
|
|
270 |
|
echo 1>&2 "\ |
|
271 |
|
WARNING: \`$1' is missing on your system. You should only need it if |
|
272 |
|
you modified a \`.texi' or \`.texinfo' file, or any other file |
|
273 |
|
indirectly affecting the aspect of the manual. The spurious |
|
274 |
|
call might also be the consequence of using a buggy \`make' (AIX, |
|
275 |
|
DU, IRIX). You might want to install the \`Texinfo' package or |
|
276 |
|
the \`GNU make' package. Grab either from any GNU archive site." |
|
277 |
|
file=`echo "$*" | sed -n 's/.*-o \([^ ]*\).*/\1/p'` |
|
278 |
|
if test -z "$file"; then |
|
279 |
|
file=`echo "$*" | sed 's/.* \([^ ]*\) *$/\1/'` |
|
280 |
|
file=`sed -n '/^@setfilename/ { s/.* \([^ ]*\) *$/\1/; p; q; }' $file` |
|
281 |
|
fi |
|
282 |
|
touch $file |
|
283 |
|
;; |
|
284 |
|
|
|
285 |
|
tar) |
|
286 |
|
shift |
|
287 |
|
if test -n "$run"; then |
|
288 |
|
echo 1>&2 "ERROR: \`tar' requires --run" |
|
289 |
|
exit 1 |
|
290 |
|
fi |
|
291 |
|
|
|
292 |
|
# We have already tried tar in the generic part. |
|
293 |
|
# Look for gnutar/gtar before invocation to avoid ugly error |
|
294 |
|
# messages. |
|
295 |
|
if (gnutar --version > /dev/null 2>&1); then |
|
296 |
|
gnutar "$@" && exit 0 |
|
297 |
|
fi |
|
298 |
|
if (gtar --version > /dev/null 2>&1); then |
|
299 |
|
gtar "$@" && exit 0 |
|
300 |
|
fi |
|
301 |
|
firstarg="$1" |
|
302 |
|
if shift; then |
|
303 |
|
case "$firstarg" in |
|
304 |
|
*o*) |
|
305 |
|
firstarg=`echo "$firstarg" | sed s/o//` |
|
306 |
|
tar "$firstarg" "$@" && exit 0 |
|
307 |
|
;; |
|
308 |
|
esac |
|
309 |
|
case "$firstarg" in |
|
310 |
|
*h*) |
|
311 |
|
firstarg=`echo "$firstarg" | sed s/h//` |
|
312 |
|
tar "$firstarg" "$@" && exit 0 |
|
313 |
|
;; |
|
314 |
|
esac |
|
315 |
|
fi |
|
316 |
|
|
|
317 |
|
echo 1>&2 "\ |
|
318 |
|
WARNING: I can't seem to be able to run \`tar' with the given arguments. |
|
319 |
|
You may want to install GNU tar or Free paxutils, or check the |
|
320 |
|
command line arguments." |
|
321 |
|
exit 1 |
|
322 |
|
;; |
|
323 |
|
|
|
324 |
|
*) |
|
325 |
|
echo 1>&2 "\ |
|
326 |
|
WARNING: \`$1' is needed, and you do not seem to have it handy on your |
|
327 |
|
system. You might have modified some files without having the |
|
328 |
|
proper tools for further handling them. Check the \`README' file, |
|
329 |
|
it often tells you about the needed prerequisites for installing |
|
330 |
|
this package. You may also peek at any GNU archive site, in case |
|
331 |
|
some other package would contain this missing \`$1' program." |
|
332 |
|
exit 1 |
|
333 |
|
;; |
|
334 |
|
esac |
|
335 |
|
|
|
336 |
|
exit 0 |