| insert GPL v3 text here |
| |
| GCC RUNTIME LIBRARY EXCEPTION |
| |
| Version 3.1, 31 March 2009 |
| |
| General information: |
| |
| http://www.gnu.org/licenses/gcc-exception.html |
| |
| Copyright (C) 2009 Free Software Foundation, Inc. <http://fsf.org/> |
| |
| Everyone is permitted to copy and distribute verbatim copies of this license |
| document, but changing it is not allowed. |
| |
| This GCC Runtime Library Exception ("Exception") is an additional permission |
| under section 7 of the GNU General Public License, version 3 ("GPLv3"). It |
| applies to a given file (the "Runtime Library") that bears a notice placed by |
| the copyright holder of the file stating that the file is governed by GPLv3 |
| along with this Exception. |
| |
| When you use GCC to compile a program, GCC may combine portions of certain GCC |
| header files and runtime libraries with the compiled program. The purpose of |
| this Exception is to allow compilation of non-GPL (including proprietary) |
| programs to use, in this way, the header files and runtime libraries covered |
| by this Exception. |
| |
| 0. Definitions. |
| A file is an "Independent Module" if it either requires the Runtime Library |
| for execution after a Compilation Process, or makes use of an interface |
| provided by the Runtime Library, but is not otherwise based on the Runtime |
| Library. |
| |
| "GCC" means a version of the GNU Compiler Collection, with or without |
| modifications, governed by version 3 (or a specified later version) of the GNU |
| General Public License (GPL) with the option of using any subsequent versions |
| published by the FSF. |
| |
| "GPL-compatible Software" is software whose conditions of propagation, |
| modification and use would permit combination with GCC in accord with the |
| license of GCC. |
| |
| "Target Code" refers to output from any compiler for a real or virtual target |
| processor architecture, in executable form or suitable for input to an |
| assembler, loader, linker and/or execution phase. Notwithstanding that, Target |
| Code does not include data in any format that is used as a compiler |
| intermediate representation, or used for producing a compiler intermediate |
| representation. |
| |
| The "Compilation Process" transforms code entirely represented in non- |
| intermediate languages designed for human-written code, and/or in Java Virtual |
| Machine byte code, into Target Code. Thus, for example, use of source code |
| generators and preprocessors need not be considered part of the Compilation |
| Process, since the Compilation Process can be understood as starting with the |
| output of the generators or preprocessors. |
| |
| A Compilation Process is "Eligible" if it is done using GCC, alone or with |
| other GPL-compatible software, or if it is done without using any work based |
| on GCC. For example, using non-GPL-compatible Software to optimize any GCC |
| intermediate representations would not qualify as an Eligible Compilation |
| Process. |
| |
| 1. Grant of Additional Permission. |
| You have permission to propagate a work of Target Code formed by combining the |
| Runtime Library with Independent Modules, even if such propagation would |
| otherwise violate the terms of GPLv3, provided that all Target Code was |
| generated by Eligible Compilation Processes. You may then convey such a |
| combination under terms of your choice, consistent with the licensing of the |
| Independent Modules. |
| |
| 2. No Weakening of GCC Copyleft. |
| The availability of this Exception does not imply any general presumption that |
| third-party software is unaffected by the copyleft requirements of the license |
| of GCC. |
| |