| 1 |
263 |
jeremybenn |
GCC RUNTIME LIBRARY EXCEPTION
|
| 2 |
|
|
|
| 3 |
|
|
Version 3.1, 31 March 2009
|
| 4 |
|
|
|
| 5 |
|
|
Copyright (C) 2009 Free Software Foundation, Inc.
|
| 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 |
|
|
|