1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374 |
- GCC RUNTIME LIBRARY EXCEPTION
- Version 3.1, 31 March 2009
- 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.
|