mirror of
https://github.com/AdaCore/xmlada.git
synced 2026-02-12 12:30:28 -08:00
54 lines
3.3 KiB
Plaintext
54 lines
3.3 KiB
Plaintext
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.
|