modernc.org/cc@v1.0.1/v2/headers/LICENSE-GCC-RTE-V3.1 (about)

     1  GCC RUNTIME LIBRARY EXCEPTION Version 3.1, 31 March 2009
     2  
     3  Copyright © 2009 Free Software Foundation, Inc. <https://fsf.org/>
     4  
     5  Everyone is permitted to copy and distribute verbatim copies of this license
     6  document, but changing it is not allowed.
     7  
     8  This GCC Runtime Library Exception ("Exception") is an additional permission
     9  under section 7 of the GNU General Public License, version 3 ("GPLv3"). It
    10  applies to a given file (the "Runtime Library") that bears a notice placed by
    11  the copyright holder of the file stating that the file is governed by GPLv3
    12  along with this Exception.
    13  
    14  When you use GCC to compile a program, GCC may combine portions of certain GCC
    15  header files and runtime libraries with the compiled program. The purpose of
    16  this Exception is to allow compilation of non-GPL (including proprietary)
    17  programs to use, in this way, the header files and runtime libraries covered by
    18  this Exception.
    19  
    20  0. Definitions.  A file is an "Independent Module" if it either requires the
    21  Runtime Library for execution after a Compilation Process, or makes use of an
    22  interface provided by the Runtime Library, but is not otherwise based on the
    23  Runtime Library.
    24  
    25  "GCC" means a version of the GNU Compiler Collection, with or without
    26  modifications, governed by version 3 (or a specified later version) of the GNU
    27  General Public License (GPL) with the option of using any subsequent versions
    28  published by the FSF.
    29  
    30  "GPL-compatible Software" is software whose conditions of propagation,
    31  modification and use would permit combination with GCC in accord with the
    32  license of GCC.
    33  
    34  "Target Code" refers to output from any compiler for a real or virtual target
    35  processor architecture, in executable form or suitable for input to an
    36  assembler, loader, linker and/or execution phase. Notwithstanding that, Target
    37  Code does not include data in any format that is used as a compiler
    38  intermediate representation, or used for producing a compiler intermediate
    39  representation.
    40  
    41  The "Compilation Process" transforms code entirely represented in
    42  non-intermediate languages designed for human-written code, and/or in Java
    43  Virtual Machine byte code, into Target Code. Thus, for example, use of source
    44  code generators and preprocessors need not be considered part of the
    45  Compilation Process, since the Compilation Process can be understood as
    46  starting with the output of the generators or preprocessors.
    47  
    48  A Compilation Process is "Eligible" if it is done using GCC, alone or with
    49  other GPL-compatible software, or if it is done without using any work based on
    50  GCC. For example, using non-GPL-compatible Software to optimize any GCC
    51  intermediate representations would not qualify as an Eligible Compilation
    52  Process.
    53  
    54  1. Grant of Additional Permission.  You have permission to propagate a work of
    55  Target Code formed by combining the Runtime Library with Independent Modules,
    56  even if such propagation would otherwise violate the terms of GPLv3, provided
    57  that all Target Code was generated by Eligible Compilation Processes. You may
    58  then convey such a combination under terms of your choice, consistent with the
    59  licensing of the Independent Modules.
    60  
    61  2. No Weakening of GCC Copyleft.  The availability of this Exception does not
    62  imply any general presumption that third-party software is unaffected by the
    63  copyleft requirements of the license of GCC.