commit | author | age
|
5bb89f
|
1 |
GCC RUNTIME LIBRARY EXCEPTION |
AL |
2 |
|
|
3 |
Version 3.1, 31 March 2009 |
|
4 |
|
|
5 |
Copyright (C) 2009 Free Software Foundation, Inc. <http://fsf.org/> |
|
6 |
|
|
7 |
Everyone is permitted to copy and distribute verbatim copies of this |
|
8 |
license document, but changing it is not allowed. |
|
9 |
|
|
10 |
This GCC Runtime Library Exception ("Exception") is an additional |
|
11 |
permission under section 7 of the GNU General Public License, version |
|
12 |
3 ("GPLv3"). It applies to a given file (the "Runtime Library") that |
|
13 |
bears a notice placed by the copyright holder of the file stating that |
|
14 |
the file is governed by GPLv3 along with this Exception. |
|
15 |
|
|
16 |
When you use GCC to compile a program, GCC may combine portions of |
|
17 |
certain GCC header files and runtime libraries with the compiled |
|
18 |
program. The purpose of this Exception is to allow compilation of |
|
19 |
non-GPL (including proprietary) programs to use, in this way, the |
|
20 |
header files and runtime libraries covered by this Exception. |
|
21 |
|
|
22 |
0. Definitions. |
|
23 |
|
|
24 |
A file is an "Independent Module" if it either requires the Runtime |
|
25 |
Library for execution after a Compilation Process, or makes use of an |
|
26 |
interface provided by the Runtime Library, but is not otherwise based |
|
27 |
on the Runtime Library. |
|
28 |
|
|
29 |
"GCC" means a version of the GNU Compiler Collection, with or without |
|
30 |
modifications, governed by version 3 (or a specified later version) of |
|
31 |
the GNU General Public License (GPL) with the option of using any |
|
32 |
subsequent versions published by the FSF. |
|
33 |
|
|
34 |
"GPL-compatible Software" is software whose conditions of propagation, |
|
35 |
modification and use would permit combination with GCC in accord with |
|
36 |
the license of GCC. |
|
37 |
|
|
38 |
"Target Code" refers to output from any compiler for a real or virtual |
|
39 |
target processor architecture, in executable form or suitable for |
|
40 |
input to an assembler, loader, linker and/or execution |
|
41 |
phase. Notwithstanding that, Target Code does not include data in any |
|
42 |
format that is used as a compiler intermediate representation, or used |
|
43 |
for producing a compiler intermediate representation. |
|
44 |
|
|
45 |
The "Compilation Process" transforms code entirely represented in |
|
46 |
non-intermediate languages designed for human-written code, and/or in |
|
47 |
Java Virtual Machine byte code, into Target Code. Thus, for example, |
|
48 |
use of source code generators and preprocessors need not be considered |
|
49 |
part of the Compilation Process, since the Compilation Process can be |
|
50 |
understood as starting with the output of the generators or |
|
51 |
preprocessors. |
|
52 |
|
|
53 |
A Compilation Process is "Eligible" if it is done using GCC, alone or |
|
54 |
with other GPL-compatible software, or if it is done without using any |
|
55 |
work based on GCC. For example, using non-GPL-compatible Software to |
|
56 |
optimize any GCC intermediate representations would not qualify as an |
|
57 |
Eligible Compilation Process. |
|
58 |
|
|
59 |
1. Grant of Additional Permission. |
|
60 |
|
|
61 |
You have permission to propagate a work of Target Code formed by |
|
62 |
combining the Runtime Library with Independent Modules, even if such |
|
63 |
propagation would otherwise violate the terms of GPLv3, provided that |
|
64 |
all Target Code was generated by Eligible Compilation Processes. You |
|
65 |
may then convey such a combination under terms of your choice, |
|
66 |
consistent with the licensing of the Independent Modules. |
|
67 |
|
|
68 |
2. No Weakening of GCC Copyleft. |
|
69 |
|
|
70 |
The availability of this Exception does not imply any general |
|
71 |
presumption that third-party software is unaffected by the copyleft |
|
72 |
requirements of the license of GCC. |
|
73 |
|