xref: /dflybsd-src/contrib/gcc-4.7/COPYING.RUNTIME (revision 04febcfb30580676d3e95f58a16c5137ee478b32)
1*e4b17023SJohn MarinoGCC RUNTIME LIBRARY EXCEPTION
2*e4b17023SJohn Marino
3*e4b17023SJohn MarinoVersion 3.1, 31 March 2009
4*e4b17023SJohn Marino
5*e4b17023SJohn MarinoCopyright (C) 2009 Free Software Foundation, Inc. <http://fsf.org/>
6*e4b17023SJohn Marino
7*e4b17023SJohn MarinoEveryone is permitted to copy and distribute verbatim copies of this
8*e4b17023SJohn Marinolicense document, but changing it is not allowed.
9*e4b17023SJohn Marino
10*e4b17023SJohn MarinoThis GCC Runtime Library Exception ("Exception") is an additional
11*e4b17023SJohn Marinopermission under section 7 of the GNU General Public License, version
12*e4b17023SJohn Marino3 ("GPLv3"). It applies to a given file (the "Runtime Library") that
13*e4b17023SJohn Marinobears a notice placed by the copyright holder of the file stating that
14*e4b17023SJohn Marinothe file is governed by GPLv3 along with this Exception.
15*e4b17023SJohn Marino
16*e4b17023SJohn MarinoWhen you use GCC to compile a program, GCC may combine portions of
17*e4b17023SJohn Marinocertain GCC header files and runtime libraries with the compiled
18*e4b17023SJohn Marinoprogram. The purpose of this Exception is to allow compilation of
19*e4b17023SJohn Marinonon-GPL (including proprietary) programs to use, in this way, the
20*e4b17023SJohn Marinoheader files and runtime libraries covered by this Exception.
21*e4b17023SJohn Marino
22*e4b17023SJohn Marino0. Definitions.
23*e4b17023SJohn Marino
24*e4b17023SJohn MarinoA file is an "Independent Module" if it either requires the Runtime
25*e4b17023SJohn MarinoLibrary for execution after a Compilation Process, or makes use of an
26*e4b17023SJohn Marinointerface provided by the Runtime Library, but is not otherwise based
27*e4b17023SJohn Marinoon the Runtime Library.
28*e4b17023SJohn Marino
29*e4b17023SJohn Marino"GCC" means a version of the GNU Compiler Collection, with or without
30*e4b17023SJohn Marinomodifications, governed by version 3 (or a specified later version) of
31*e4b17023SJohn Marinothe GNU General Public License (GPL) with the option of using any
32*e4b17023SJohn Marinosubsequent versions published by the FSF.
33*e4b17023SJohn Marino
34*e4b17023SJohn Marino"GPL-compatible Software" is software whose conditions of propagation,
35*e4b17023SJohn Marinomodification and use would permit combination with GCC in accord with
36*e4b17023SJohn Marinothe license of GCC.
37*e4b17023SJohn Marino
38*e4b17023SJohn Marino"Target Code" refers to output from any compiler for a real or virtual
39*e4b17023SJohn Marinotarget processor architecture, in executable form or suitable for
40*e4b17023SJohn Marinoinput to an assembler, loader, linker and/or execution
41*e4b17023SJohn Marinophase. Notwithstanding that, Target Code does not include data in any
42*e4b17023SJohn Marinoformat that is used as a compiler intermediate representation, or used
43*e4b17023SJohn Marinofor producing a compiler intermediate representation.
44*e4b17023SJohn Marino
45*e4b17023SJohn MarinoThe "Compilation Process" transforms code entirely represented in
46*e4b17023SJohn Marinonon-intermediate languages designed for human-written code, and/or in
47*e4b17023SJohn MarinoJava Virtual Machine byte code, into Target Code. Thus, for example,
48*e4b17023SJohn Marinouse of source code generators and preprocessors need not be considered
49*e4b17023SJohn Marinopart of the Compilation Process, since the Compilation Process can be
50*e4b17023SJohn Marinounderstood as starting with the output of the generators or
51*e4b17023SJohn Marinopreprocessors.
52*e4b17023SJohn Marino
53*e4b17023SJohn MarinoA Compilation Process is "Eligible" if it is done using GCC, alone or
54*e4b17023SJohn Marinowith other GPL-compatible software, or if it is done without using any
55*e4b17023SJohn Marinowork based on GCC. For example, using non-GPL-compatible Software to
56*e4b17023SJohn Marinooptimize any GCC intermediate representations would not qualify as an
57*e4b17023SJohn MarinoEligible Compilation Process.
58*e4b17023SJohn Marino
59*e4b17023SJohn Marino1. Grant of Additional Permission.
60*e4b17023SJohn Marino
61*e4b17023SJohn MarinoYou have permission to propagate a work of Target Code formed by
62*e4b17023SJohn Marinocombining the Runtime Library with Independent Modules, even if such
63*e4b17023SJohn Marinopropagation would otherwise violate the terms of GPLv3, provided that
64*e4b17023SJohn Marinoall Target Code was generated by Eligible Compilation Processes. You
65*e4b17023SJohn Marinomay then convey such a combination under terms of your choice,
66*e4b17023SJohn Marinoconsistent with the licensing of the Independent Modules.
67*e4b17023SJohn Marino
68*e4b17023SJohn Marino2. No Weakening of GCC Copyleft.
69*e4b17023SJohn Marino
70*e4b17023SJohn MarinoThe availability of this Exception does not imply any general
71*e4b17023SJohn Marinopresumption that third-party software is unaffected by the copyleft
72*e4b17023SJohn Marinorequirements of the license of GCC.
73*e4b17023SJohn Marino
74