]> git.ipfire.org Git - thirdparty/gcc.git/blame - COPYING.LIB
Avoid -Wformat-diag.
[thirdparty/gcc.git] / COPYING.LIB
CommitLineData
d0ca130a
KC
1
2 GNU LESSER GENERAL PUBLIC LICENSE
3 Version 2.1, February 1999
6599da04 4
42c0c80a 5 Copyright (C) 1991, 1999 Free Software Foundation, Inc.
d0ca130a 6 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
6599da04
JM
7 Everyone is permitted to copy and distribute verbatim copies
8 of this license document, but changing it is not allowed.
9
42c0c80a
PE
10[This is the first released version of the Lesser GPL. It also counts
11 as the successor of the GNU Library Public License, version 2, hence
12 the version number 2.1.]
6599da04 13
d0ca130a 14 Preamble
6599da04
JM
15
16 The licenses for most software are designed to take away your
17freedom to share and change it. By contrast, the GNU General Public
18Licenses are intended to guarantee your freedom to share and change
19free software--to make sure the software is free for all its users.
20
42c0c80a
PE
21 This license, the Lesser General Public License, applies to some
22specially designated software packages--typically libraries--of the
23Free Software Foundation and other authors who decide to use it. You
24can use it too, but we suggest you first think carefully about whether
25this license or the ordinary General Public License is the better
d0ca130a
KC
26strategy to use in any particular case, based on the explanations
27below.
42c0c80a
PE
28
29 When we speak of free software, we are referring to freedom of use,
30not price. Our General Public Licenses are designed to make sure that
31you have the freedom to distribute copies of free software (and charge
32for this service if you wish); that you receive source code or can get
33it if you want it; that you can change the software and use pieces of
34it in new free programs; and that you are informed that you can do
35these things.
6599da04
JM
36
37 To protect your rights, we need to make restrictions that forbid
42c0c80a
PE
38distributors to deny you these rights or to ask you to surrender these
39rights. These restrictions translate to certain responsibilities for
40you if you distribute copies of the library or if you modify it.
6599da04
JM
41
42 For example, if you distribute copies of the library, whether gratis
43or for a fee, you must give the recipients all the rights that we gave
44you. You must make sure that they, too, receive or can get the source
42c0c80a
PE
45code. If you link other code with the library, you must provide
46complete object files to the recipients, so that they can relink them
47with the library after making changes to the library and recompiling
6599da04
JM
48it. And you must show them these terms so they know their rights.
49
42c0c80a
PE
50 We protect your rights with a two-step method: (1) we copyright the
51library, and (2) we offer you this license, which gives you legal
6599da04
JM
52permission to copy, distribute and/or modify the library.
53
42c0c80a
PE
54 To protect each distributor, we want to make it very clear that
55there is no warranty for the free library. Also, if the library is
56modified by someone else and passed on, the recipients should know
57that what they have is not the original version, so that the original
58author's reputation will not be affected by problems that might be
59introduced by others.
6599da04 60\f
42c0c80a
PE
61 Finally, software patents pose a constant threat to the existence of
62any free program. We wish to make sure that a company cannot
63effectively restrict the users of a free program by obtaining a
64restrictive license from a patent holder. Therefore, we insist that
65any patent license obtained for a version of the library must be
66consistent with the full freedom of use specified in this license.
67
68 Most GNU software, including some libraries, is covered by the
69ordinary GNU General Public License. This license, the GNU Lesser
70General Public License, applies to certain designated libraries, and
71is quite different from the ordinary General Public License. We use
72this license for certain libraries in order to permit linking those
73libraries into non-free programs.
74
75 When a program is linked with a library, whether statically or using
76a shared library, the combination of the two is legally speaking a
77combined work, a derivative of the original library. The ordinary
78General Public License therefore permits such linking only if the
79entire combination fits its criteria of freedom. The Lesser General
80Public License permits more lax criteria for linking other code with
81the library.
82
83 We call this license the "Lesser" General Public License because it
84does Less to protect the user's freedom than the ordinary General
85Public License. It also provides other free software developers Less
86of an advantage over competing non-free programs. These disadvantages
87are the reason we use the ordinary General Public License for many
88libraries. However, the Lesser license provides advantages in certain
89special circumstances.
90
91 For example, on rare occasions, there may be a special need to
d0ca130a
KC
92encourage the widest possible use of a certain library, so that it
93becomes a de-facto standard. To achieve this, non-free programs must
94be allowed to use the library. A more frequent case is that a free
42c0c80a
PE
95library does the same job as widely used non-free libraries. In this
96case, there is little to gain by limiting the free library to free
97software only, so we use the Lesser General Public License.
98
99 In other cases, permission to use a particular library in non-free
100programs enables a greater number of people to use a large body of
101free software. For example, permission to use the GNU C Library in
102non-free programs enables many more people to use the whole GNU
103operating system, as well as its variant, the GNU/Linux operating
104system.
105
106 Although the Lesser General Public License is Less protective of the
107users' freedom, it does ensure that the user of a program that is
108linked with the Library has the freedom and the wherewithal to run
109that program using a modified version of the Library.
6599da04
JM
110
111 The precise terms and conditions for copying, distribution and
112modification follow. Pay close attention to the difference between a
113"work based on the library" and a "work that uses the library". The
42c0c80a
PE
114former contains code derived from the library, whereas the latter must
115be combined with the library in order to run.
6599da04 116\f
d0ca130a 117 GNU LESSER GENERAL PUBLIC LICENSE
6599da04
JM
118 TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
119
42c0c80a
PE
120 0. This License Agreement applies to any software library or other
121program which contains a notice placed by the copyright holder or
122other authorized party saying it may be distributed under the terms of
123this Lesser General Public License (also called "this License").
124Each licensee is addressed as "you".
6599da04
JM
125
126 A "library" means a collection of software functions and/or data
127prepared so as to be conveniently linked with application programs
128(which use some of those functions and data) to form executables.
129
130 The "Library", below, refers to any such software library or work
131which has been distributed under these terms. A "work based on the
132Library" means either the Library or any derivative work under
133copyright law: that is to say, a work containing the Library or a
134portion of it, either verbatim or with modifications and/or translated
135straightforwardly into another language. (Hereinafter, translation is
136included without limitation in the term "modification".)
137
138 "Source code" for a work means the preferred form of the work for
139making modifications to it. For a library, complete source code means
140all the source code for all modules it contains, plus any associated
d0ca130a
KC
141interface definition files, plus the scripts used to control
142compilation and installation of the library.
6599da04
JM
143
144 Activities other than copying, distribution and modification are not
145covered by this License; they are outside its scope. The act of
146running a program using the Library is not restricted, and output from
147such a program is covered only if its contents constitute a work based
148on the Library (independent of the use of the Library in a tool for
149writing it). Whether that is true depends on what the Library does
150and what the program that uses the Library does.
d0ca130a 151
6599da04
JM
152 1. You may copy and distribute verbatim copies of the Library's
153complete source code as you receive it, in any medium, provided that
154you conspicuously and appropriately publish on each copy an
155appropriate copyright notice and disclaimer of warranty; keep intact
156all the notices that refer to this License and to the absence of any
157warranty; and distribute a copy of this License along with the
158Library.
159
160 You may charge a fee for the physical act of transferring a copy,
161and you may at your option offer warranty protection in exchange for a
162fee.
163\f
164 2. You may modify your copy or copies of the Library or any portion
165of it, thus forming a work based on the Library, and copy and
166distribute such modifications or work under the terms of Section 1
167above, provided that you also meet all of these conditions:
168
169 a) The modified work must itself be a software library.
170
171 b) You must cause the files modified to carry prominent notices
172 stating that you changed the files and the date of any change.
173
174 c) You must cause the whole of the work to be licensed at no
175 charge to all third parties under the terms of this License.
176
177 d) If a facility in the modified Library refers to a function or a
178 table of data to be supplied by an application program that uses
179 the facility, other than as an argument passed when the facility
180 is invoked, then you must make a good faith effort to ensure that,
181 in the event an application does not supply such function or
182 table, the facility still operates, and performs whatever part of
183 its purpose remains meaningful.
184
185 (For example, a function in a library to compute square roots has
186 a purpose that is entirely well-defined independent of the
187 application. Therefore, Subsection 2d requires that any
188 application-supplied function or table used by this function must
189 be optional: if the application does not supply it, the square
190 root function must still compute square roots.)
191
192These requirements apply to the modified work as a whole. If
193identifiable sections of that work are not derived from the Library,
194and can be reasonably considered independent and separate works in
195themselves, then this License, and its terms, do not apply to those
196sections when you distribute them as separate works. But when you
197distribute the same sections as part of a whole which is a work based
198on the Library, the distribution of the whole must be on the terms of
199this License, whose permissions for other licensees extend to the
200entire whole, and thus to each and every part regardless of who wrote
201it.
202
203Thus, it is not the intent of this section to claim rights or contest
204your rights to work written entirely by you; rather, the intent is to
205exercise the right to control the distribution of derivative or
206collective works based on the Library.
207
208In addition, mere aggregation of another work not based on the Library
209with the Library (or with a work based on the Library) on a volume of
210a storage or distribution medium does not bring the other work under
211the scope of this License.
212
213 3. You may opt to apply the terms of the ordinary GNU General Public
214License instead of this License to a given copy of the Library. To do
215this, you must alter all the notices that refer to this License, so
216that they refer to the ordinary GNU General Public License, version 2,
217instead of to this License. (If a newer version than version 2 of the
218ordinary GNU General Public License has appeared, then you can specify
219that version instead if you wish.) Do not make any other change in
220these notices.
221\f
222 Once this change is made in a given copy, it is irreversible for
223that copy, so the ordinary GNU General Public License applies to all
224subsequent copies and derivative works made from that copy.
225
226 This option is useful when you wish to copy part of the code of
227the Library into a program that is not a library.
228
229 4. You may copy and distribute the Library (or a portion or
230derivative of it, under Section 2) in object code or executable form
231under the terms of Sections 1 and 2 above provided that you accompany
232it with the complete corresponding machine-readable source code, which
233must be distributed under the terms of Sections 1 and 2 above on a
234medium customarily used for software interchange.
235
236 If distribution of object code is made by offering access to copy
237from a designated place, then offering equivalent access to copy the
238source code from the same place satisfies the requirement to
239distribute the source code, even though third parties are not
240compelled to copy the source along with the object code.
241
242 5. A program that contains no derivative of any portion of the
243Library, but is designed to work with the Library by being compiled or
244linked with it, is called a "work that uses the Library". Such a
245work, in isolation, is not a derivative work of the Library, and
246therefore falls outside the scope of this License.
247
248 However, linking a "work that uses the Library" with the Library
249creates an executable that is a derivative of the Library (because it
250contains portions of the Library), rather than a "work that uses the
251library". The executable is therefore covered by this License.
252Section 6 states terms for distribution of such executables.
253
254 When a "work that uses the Library" uses material from a header file
255that is part of the Library, the object code for the work may be a
256derivative work of the Library even though the source code is not.
257Whether this is true is especially significant if the work can be
258linked without the Library, or if the work is itself a library. The
259threshold for this to be true is not precisely defined by law.
260
261 If such an object file uses only numerical parameters, data
262structure layouts and accessors, and small macros and small inline
263functions (ten lines or less in length), then the use of the object
264file is unrestricted, regardless of whether it is legally a derivative
265work. (Executables containing this object code plus portions of the
266Library will still fall under Section 6.)
267
268 Otherwise, if the work is a derivative of the Library, you may
269distribute the object code for the work under the terms of Section 6.
270Any executables containing that work also fall under Section 6,
271whether or not they are linked directly with the Library itself.
272\f
42c0c80a 273 6. As an exception to the Sections above, you may also combine or
6599da04
JM
274link a "work that uses the Library" with the Library to produce a
275work containing portions of the Library, and distribute that work
276under terms of your choice, provided that the terms permit
277modification of the work for the customer's own use and reverse
278engineering for debugging such modifications.
279
280 You must give prominent notice with each copy of the work that the
281Library is used in it and that the Library and its use are covered by
282this License. You must supply a copy of this License. If the work
283during execution displays copyright notices, you must include the
284copyright notice for the Library among them, as well as a reference
285directing the user to the copy of this License. Also, you must do one
286of these things:
287
288 a) Accompany the work with the complete corresponding
289 machine-readable source code for the Library including whatever
290 changes were used in the work (which must be distributed under
291 Sections 1 and 2 above); and, if the work is an executable linked
292 with the Library, with the complete machine-readable "work that
293 uses the Library", as object code and/or source code, so that the
294 user can modify the Library and then relink to produce a modified
295 executable containing the modified Library. (It is understood
296 that the user who changes the contents of definitions files in the
297 Library will not necessarily be able to recompile the application
298 to use the modified definitions.)
299
42c0c80a
PE
300 b) Use a suitable shared library mechanism for linking with the
301 Library. A suitable mechanism is one that (1) uses at run time a
302 copy of the library already present on the user's computer system,
303 rather than copying library functions into the executable, and (2)
304 will operate properly with a modified version of the library, if
305 the user installs one, as long as the modified version is
306 interface-compatible with the version that the work was made with.
307
d0ca130a
KC
308 c) Accompany the work with a written offer, valid for at least
309 three years, to give the same user the materials specified in
310 Subsection 6a, above, for a charge no more than the cost of
311 performing this distribution.
6599da04 312
42c0c80a 313 d) If distribution of the work is made by offering access to copy
6599da04
JM
314 from a designated place, offer equivalent access to copy the above
315 specified materials from the same place.
316
42c0c80a 317 e) Verify that the user has already received a copy of these
6599da04
JM
318 materials or that you have already sent this user a copy.
319
320 For an executable, the required form of the "work that uses the
321Library" must include any data and utility programs needed for
322reproducing the executable from it. However, as a special exception,
42c0c80a
PE
323the materials to be distributed need not include anything that is
324normally distributed (in either source or binary form) with the major
6599da04
JM
325components (compiler, kernel, and so on) of the operating system on
326which the executable runs, unless that component itself accompanies
327the executable.
328
329 It may happen that this requirement contradicts the license
330restrictions of other proprietary libraries that do not normally
331accompany the operating system. Such a contradiction means you cannot
332use both them and the Library together in an executable that you
333distribute.
334\f
335 7. You may place library facilities that are a work based on the
336Library side-by-side in a single library together with other library
337facilities not covered by this License, and distribute such a combined
338library, provided that the separate distribution of the work based on
339the Library and of the other library facilities is otherwise
340permitted, and provided that you do these two things:
341
342 a) Accompany the combined library with a copy of the same work
343 based on the Library, uncombined with any other library
344 facilities. This must be distributed under the terms of the
345 Sections above.
346
347 b) Give prominent notice with the combined library of the fact
348 that part of it is a work based on the Library, and explaining
349 where to find the accompanying uncombined form of the same work.
350
351 8. You may not copy, modify, sublicense, link with, or distribute
352the Library except as expressly provided under this License. Any
353attempt otherwise to copy, modify, sublicense, link with, or
354distribute the Library is void, and will automatically terminate your
355rights under this License. However, parties who have received copies,
356or rights, from you under this License will not have their licenses
357terminated so long as such parties remain in full compliance.
358
359 9. You are not required to accept this License, since you have not
360signed it. However, nothing else grants you permission to modify or
361distribute the Library or its derivative works. These actions are
362prohibited by law if you do not accept this License. Therefore, by
363modifying or distributing the Library (or any work based on the
364Library), you indicate your acceptance of this License to do so, and
365all its terms and conditions for copying, distributing or modifying
366the Library or works based on it.
367
368 10. Each time you redistribute the Library (or any work based on the
369Library), the recipient automatically receives a license from the
370original licensor to copy, distribute, link with or modify the Library
371subject to these terms and conditions. You may not impose any further
372restrictions on the recipients' exercise of the rights granted herein.
42c0c80a 373You are not responsible for enforcing compliance by third parties with
6599da04
JM
374this License.
375\f
376 11. If, as a consequence of a court judgment or allegation of patent
377infringement or for any other reason (not limited to patent issues),
378conditions are imposed on you (whether by court order, agreement or
379otherwise) that contradict the conditions of this License, they do not
380excuse you from the conditions of this License. If you cannot
381distribute so as to satisfy simultaneously your obligations under this
382License and any other pertinent obligations, then as a consequence you
383may not distribute the Library at all. For example, if a patent
384license would not permit royalty-free redistribution of the Library by
385all those who receive copies directly or indirectly through you, then
386the only way you could satisfy both it and this License would be to
387refrain entirely from distribution of the Library.
388
d0ca130a
KC
389If any portion of this section is held invalid or unenforceable under
390any particular circumstance, the balance of the section is intended to
391apply, and the section as a whole is intended to apply in other
392circumstances.
6599da04
JM
393
394It is not the purpose of this section to induce you to infringe any
395patents or other property right claims or to contest validity of any
396such claims; this section has the sole purpose of protecting the
397integrity of the free software distribution system which is
398implemented by public license practices. Many people have made
399generous contributions to the wide range of software distributed
400through that system in reliance on consistent application of that
401system; it is up to the author/donor to decide if he or she is willing
402to distribute software through any other system and a licensee cannot
403impose that choice.
404
405This section is intended to make thoroughly clear what is believed to
406be a consequence of the rest of this License.
407
408 12. If the distribution and/or use of the Library is restricted in
409certain countries either by patents or by copyrighted interfaces, the
d0ca130a
KC
410original copyright holder who places the Library under this License
411may add an explicit geographical distribution limitation excluding those
412countries, so that distribution is permitted only in or among
413countries not thus excluded. In such case, this License incorporates
414the limitation as if written in the body of this License.
6599da04
JM
415
416 13. The Free Software Foundation may publish revised and/or new
42c0c80a 417versions of the Lesser General Public License from time to time.
6599da04
JM
418Such new versions will be similar in spirit to the present version,
419but may differ in detail to address new problems or concerns.
420
421Each version is given a distinguishing version number. If the Library
422specifies a version number of this License which applies to it and
423"any later version", you have the option of following the terms and
424conditions either of that version or of any later version published by
425the Free Software Foundation. If the Library does not specify a
426license version number, you may choose any version ever published by
427the Free Software Foundation.
428\f
429 14. If you wish to incorporate parts of the Library into other free
430programs whose distribution conditions are incompatible with these,
431write to the author to ask for permission. For software which is
432copyrighted by the Free Software Foundation, write to the Free
433Software Foundation; we sometimes make exceptions for this. Our
434decision will be guided by the two goals of preserving the free status
435of all derivatives of our free software and of promoting the sharing
436and reuse of software generally.
437
d0ca130a 438 NO WARRANTY
6599da04
JM
439
440 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO
441WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW.
442EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR
443OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY
444KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE
445IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
446PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE
447LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME
448THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
449
450 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN
451WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY
452AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU
453FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR
454CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE
455LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING
456RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A
457FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF
458SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
459DAMAGES.
460
d0ca130a 461 END OF TERMS AND CONDITIONS
6599da04 462\f
42c0c80a 463 How to Apply These Terms to Your New Libraries
6599da04
JM
464
465 If you develop a new library, and you want it to be of the greatest
466possible use to the public, we recommend making it free software that
467everyone can redistribute and change. You can do so by permitting
d0ca130a
KC
468redistribution under these terms (or, alternatively, under the terms
469of the ordinary General Public License).
470
471 To apply these terms, attach the following notices to the library.
472It is safest to attach them to the start of each source file to most
473effectively convey the exclusion of warranty; and each file should
474have at least the "copyright" line and a pointer to where the full
475notice is found.
6599da04 476
6599da04
JM
477
478 <one line to give the library's name and a brief idea of what it does.>
479 Copyright (C) <year> <name of author>
480
481 This library is free software; you can redistribute it and/or
42c0c80a 482 modify it under the terms of the GNU Lesser General Public
6599da04 483 License as published by the Free Software Foundation; either
42c0c80a 484 version 2.1 of the License, or (at your option) any later version.
6599da04
JM
485
486 This library is distributed in the hope that it will be useful,
487 but WITHOUT ANY WARRANTY; without even the implied warranty of
488 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
42c0c80a 489 Lesser General Public License for more details.
6599da04 490
42c0c80a
PE
491 You should have received a copy of the GNU Lesser General Public
492 License along with this library; if not, write to the Free Software
d0ca130a 493 Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
6599da04
JM
494
495Also add information on how to contact you by electronic and paper mail.
496
d0ca130a
KC
497You should also get your employer (if you work as a programmer) or
498your school, if any, to sign a "copyright disclaimer" for the library,
499if necessary. Here is a sample; alter the names:
6599da04
JM
500
501 Yoyodyne, Inc., hereby disclaims all copyright interest in the
d0ca130a
KC
502 library `Frob' (a library for tweaking knobs) written by James
503 Random Hacker.
6599da04
JM
504
505 <signature of Ty Coon>, 1 April 1990
506 Ty Coon, President of Vice
507
508That's all there is to it!
42c0c80a
PE
509
510