123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481 |
- LICENSE_EXPRESSION=
- LICENSE_NAMES=
- MODULE_LICENSES_RESTRICTIONS=
- MODULE_LICENSES_RESTRICTION_EXCEPTIONS=
- MODULE_LICENSES_RESTRICTION_TYPES=
- MODULEWISE_LICENSES_RESTRICTIONS=
- MODULEWISE_LICENSES_RESTRICTION_TYPES=
- DEFAULT_MODULE_LICENSE=Service-Default-License
- EXPLICIT_LICENSE_PREFIXES=
- EXPLICIT_LICENSE_EXCEPTIONS=
- LICENSES=
- LICENSES+=build/conf/licenses.json
- # List of license properties which can be used to restrict transitive dependencies. There are three variables checked for each
- # property:
- # * LICENSES_<PROP_NAME>_STATIC: list of licenses which propagates this property when linking with code published by one of
- # them statically.
- # * LICENSES_<PROP_NAME>_DYNAMIC: list of licenses which propagates this property when linking with code published by one of
- # them dyamically.
- # * LICENSES_<PROP_NAME>: list of licenses which propagates this property regrdless of type of linking with code published by
- # one of them. Putting some license into this list is equivalent to putting it into both
- # LICENSES_<PROP_NAME>_STATIC and LICENSES_<PROP_NAME>_DYNAMIC lists.
- LICENSE_PROPERTIES= \
- FORBIDDEN \
- NDA \
- REQUIRE_CITATION \
- REQUIRE_DERIVATIVE_DISCLOSURE \
- REQUIRE_MODIFICATIONS_DISCLOSURE \
- SERVICE \
- UNATTRIBUTED \
- # NB: Licenses lists below are sorted case-insensitively. Please, keep the list sorted.
- LICENSES_UNATTRIBUTED= \
- AFL-2.0 \
- Amazon-SL \
- APSL-1.0 \
- Artistic-1.0-Perl \
- Artistic-2.0 \
- ASM-BSD-3-Clause \
- BCL \
- Bison-Exception \
- Bison-exception-2.2 \
- BouncyCastle-MIT \
- BSD-3-Clause-Clear \
- BSD-3-Clause-Open-MPI \
- BSD-4-Clause-Shortened \
- Bsd-New-Tcpdump \
- Carnegie-Mellon \
- Carnegie-Mellon-Contributors \
- CC-BY-NC-1.0 \
- CC-BY-NC-2.0 \
- CC-BY-NC-2.5 \
- CC-BY-NC-3.0 \
- CC-BY-NC-ND-1.0 \
- CC-BY-NC-ND-2.0 \
- CC-BY-NC-ND-2.5 \
- CC-BY-NC-ND-3.0 \
- CC-BY-NC-SA-1.0 \
- CC-BY-NC-SA-2.0 \
- CC-BY-NC-SA-2.5 \
- CC-BY-NC-SA-3.0 \
- CC-BY-ND-1.0 \
- CC-BY-ND-2.0 \
- CC-BY-ND-2.5 \
- CC-BY-ND-3.0 \
- CC-BY-SA-1.0 \
- CC-BY-SA-2.0 \
- CC-BY-SA-2.5 \
- CC-BY-SA-3.0 \
- CC-BY-SA-4.0 \
- CDDL \
- CECILL-B \
- ClArtistic \
- DSO-1.1 \
- Elastic-License-2.0 \
- FSFUL \
- FSFULLR \
- GCC-exception-3.1 \
- GDAL \
- GFDL-1.1-or-later \
- Go-License \
- Google-Patent-License-Webm \
- Google-Patent-License-Webrtc \
- GPL-2.0-only WITH freertos-exception-2.0 \
- GPL-2.0-only WITH Mysql-Linking-Exception-2018 \
- GPL-2.0-only WITH Universal-FOSS-exception-1.0 \
- GPL-2.0-or-later WITH Avisynth-C-Interface-Exception \
- GPL-2.0-or-later WITH Bison-Exception-2.0 \
- GPL-2.0-or-later WITH Bison-exception-2.2 \
- GPL-2.0-or-later WITH C-Interface-Exception \
- GPL-2.0-or-later WITH freertos-exception-2.0 \
- GPL-2.0-or-later WITH Libtool-exception \
- GPL-2.0-or-later WITH mif-exception \
- GWT-Terms \
- Hdf5 \
- HPND-sell-variant \
- HSQLDB-BSD-3-Clause \
- Ibm-Dhcp \
- Ietf-trust \
- ImageMagick \
- Intel-Material \
- IPL-1.0 \
- JAMon-BSD-3-Clause \
- jQuery-MIT \
- LGPL-3.0-or-later WITH ZeroMQ-Exception \
- LicenseRef-scancode-afpl-9.0 \
- LicenseRef-scancode-amd-historical \
- LicenseRef-scancode-anu-license \
- LicenseRef-scancode-autoconf-simple-exception \
- LicenseRef-scancode-autoconf-simple-exception-2.0 \
- LicenseRef-scancode-bsd-3-clause-jtag \
- LicenseRef-scancode-bsd-axis-nomod \
- LicenseRef-scancode-bsd-new-nomod \
- LicenseRef-scancode-bsd-no-disclaimer \
- LicenseRef-scancode-bsd-x11 \
- LicenseRef-scancode-bsla-no-advert \
- LicenseRef-scancode-cavium-malloc \
- LicenseRef-scancode-cc-by-2.0-uk \
- LicenseRef-scancode-cc-devnations-2.0 \
- LicenseRef-scancode-cc-sampling-1.0 \
- LicenseRef-scancode-cmu-simple \
- LicenseRef-scancode-commercial-license \
- LicenseRef-scancode-commons-clause \
- LicenseRef-scancode-delorie-historical \
- LicenseRef-scancode-flex-2.5 \
- LicenseRef-scancode-free-unknown \
- LicenseRef-scancode-gary-s-brown \
- LicenseRef-scancode-generic-cla \
- LicenseRef-scancode-generic-exception \
- LicenseRef-scancode-intel-osl-1993 \
- LicenseRef-scancode-jdom \
- LicenseRef-scancode-mit-xfig \
- LicenseRef-scancode-newlib-historical \
- LicenseRef-scancode-nilsson-historical \
- LicenseRef-scancode-openssl \
- LicenseRef-scancode-openssl-exception-lgpl-3.0-plus \
- LicenseRef-scancode-openssl-nokia-psk-contribution \
- LicenseRef-scancode-osf-1990 \
- LicenseRef-scancode-other-copyleft \
- LicenseRef-scancode-other-permissive \
- LicenseRef-scancode-paul-mackerras \
- LicenseRef-scancode-paul-mackerras-new \
- LicenseRef-scancode-pcre \
- LicenseRef-scancode-ppp \
- LicenseRef-scancode-proprietary-license \
- LicenseRef-scancode-secret-labs-2011 \
- LicenseRef-scancode-ssleay-windows \
- LicenseRef-scancode-sun-source \
- LicenseRef-scancode-unknown \
- LicenseRef-scancode-unknown-license-reference \
- LicenseRef-scancode-unknown-spdx \
- LicenseRef-scancode-warranty-disclaimer \
- LicenseRef-scancode-xfree86-1.0 \
- LPL-1.02 \
- MirOS \
- Mit-Xfig \
- NAIST-2003 \
- NOSL \
- NPL-1.1 \
- Nvidia-Gov \
- OFL-1.1 \
- Oracle \
- Oracle-technology \
- PSF-3.7.2 \
- Quicklz \
- Ruby \
- Sendmail \
- Spencer-99 \
- SSPL-1.0 \
- Stlport-4.5 \
- SZIP \
- TCL \
- TU-Berlin-1.0 \
- Unicode-TOU \
- Universal-FOSS-exception-1.0 \
- Unknown \
- Vcalendar \
- Vim \
- X11-Adobe-Dec \
- X11-Hanson \
- Xfree86-1.0 \
- Xnet
- LICENSES_FORBIDDEN= \
- AGPL-3.0-only \
- AGPL-3.0-or-later \
- Artistic-1.0 \
- confluent-community-1.0 \
- # Group for proprietary code licenses
- LICENSES_NDA= \
- Intel-NDA \
- mimepp \
- OracleOebs
- # These licenses allow use with opensource code only
- LICENSES_REQUIRE_MODIFICATIONS_DISCLOSURE= \
- CDDL-1.0 \
- CDDL-1.1 \
- LICENSES_REQUIRE_MODIFICATIONS_DISCLOSURE_DYNAMIC= \
- EPL-1.0 \
- EPL-2.0 \
- LICENSES_REQUIRE_DERIVATIVE_DISCLOSURE= \
- CECILL-2.0 \
- CPL-1.0 \
- GPL \
- GPL-1.0-only \
- GPL-1.0-or-later \
- GPL-1.1 \
- GPL-2.0 \
- GPL-2.0-only \
- GPL-2.0-only WITH OpenJDK-assembly-exception-1.0 \
- GPL-2.0-or-later \
- GPL-2.0-or-later WITH GCC-exception-2.0 \
- GPL-3.0-only \
- GPL-3.0-or-later \
- GPLv2+ \
- TMate \
- LICENSES_REQUIRE_DERIVATIVE_DISCLOSURE_STATIC= \
- EPL-1.0 \
- EPL-2.0 \
- LGPL \
- LGPL-1.0-or-later \
- LGPL-2.0-only \
- LGPL-2.0-or-later \
- LGPL-2.0-or-later WITH Libtool-exception \
- LGPL-2.0-or-later WITH Qt-LGPL-exception-1.1 \
- LGPL-2.1-only \
- LGPL-2.1-or-later \
- LGPL-3.0-only \
- LGPL-3.0-or-later
- # These licenses allows any kind of linkage with proprietary code
- LICENSES_REQUIRE_CITATION= \
- 0BSD \
- AML \
- Apache-1.0 \
- Apache-1.1 \
- Apache-2.0 \
- Apache-2.0 WITH LLVM-exception \
- APSL-2.0 \
- Beerware \
- blessing \
- Brian-Gladman-3-Clause \
- BSD \
- BSD-1-Clause \
- BSD-2-Clause \
- BSD-2-Clause-Patent \
- BSD-2-Clause-Views \
- BSD-3-Clause \
- BSD-3-Clause WITH Google-Patent-License-Webm \
- BSD-3-Clause WITH Google-Patent-License-Webrtc \
- BSD-3-Clause-LBNL \
- BSD-4-Clause \
- BSD-4-Clause-UC \
- BSD-derived \
- Bsd-Original-Uc-1986 \
- Bsd-Simplified-Darwin \
- BSD-Source-Code \
- Bsd-Unchanged \
- Bsd-Unmodified \
- BSL-1.0 \
- BSLA \
- bzip2-1.0.6 \
- CC-BY-1.0 \
- CC-BY-2.0 \
- CC-BY-2.5 \
- CC-BY-3.0 \
- CC-BY-4.0 \
- CC-PDDC \
- CC0-1.0 \
- Cmu-Computing-Services \
- CUP-Parser \
- curl \
- Custom-eigen \
- Custom-fft2d \
- Custom-fft4g \
- Custom-Oasis-Pkcs11 \
- Custom-openldap \
- Custom-punycode \
- Custom-punycode-libpsl \
- Custom-swig \
- Custom-wcwidth \
- DOC \
- EDL-1.0 \
- Facebook-SDK \
- FDK \
- Fftpack-2004 \
- FSFAP \
- FTL \
- GPL-1.0-or-later WITH Linux-syscall-note \
- GPL-2.0-only WITH Classpath-exception-2.0 \
- GPL-2.0-only WITH GCC-exception-2.0 \
- GPL-2.0-only WITH Linux-syscall-note \
- GPL-2.0-or-later WITH Linux-syscall-note \
- GPL-3.0-only WITH Bison-exception-2.2 \
- GPL-3.0-or-later WITH Bison-exception-2.2 \
- H2 \
- HPND \
- IBM-pibs \
- ICU \
- Ietf \
- IJG \
- Info-Zip \
- Intel-LLVM-SGA \
- Intel-Simplified \
- ISC \
- JSON \
- Khronos \
- LGPL-2.0-or-later WITH Linux-syscall-note \
- LGPL-2.1-only WITH Linux-syscall-note \
- LGPL-2.1-or-later WITH Linux-syscall-note \
- Libpbm \
- Libpng \
- libpng-2.0 \
- libtiff \
- LicenseRef-scancode-ams-fonts \
- LicenseRef-scancode-bitstream \
- LicenseRef-scancode-mit-no-advert-export-control \
- LicenseRef-scancode-oasis-ws-security-spec \
- LicenseRef-scancode-paul-mackerras-binary \
- LicenseRef-scancode-swig \
- LicenseRef-scancode-ws-policy-specification \
- Linux-OpenIB \
- Martin-Birgmeier \
- Minpack \
- MIT \
- MIT WITH Musl-Exception \
- MIT-0 \
- MIT-CMU \
- MIT-Modern-Variant \
- MIT-Nagy \
- Mit-Old-Style \
- MIT-open-group \
- Mit-Veillard-Variant \
- Mozilla-GC \
- MPL-1.0 \
- MPL-1.1 \
- MPL-2.0 \
- NCSA \
- NetCDF \
- Not-Applicable \
- NTP \
- Nvidia \
- OGC-1.0 \
- OLDAP-2.8 \
- OML \
- OpenSSL \
- PayPal-SDK \
- PCRE \
- PD \
- PHP-3.01 \
- PIL \
- Plexus \
- PostgreSQL \
- Protobuf-License \
- PSF \
- PSF-2.0 \
- Public-Domain \
- Public-Domain-US-Govt \
- Python-2.0 \
- Qhull \
- Red-Hat-Attribution \
- Repoze-public \
- RSA-1990 \
- RSA-MD \
- RSA-MD4 \
- SAX-PD \
- SGI-B-2.0 \
- Sleepycat \
- SMLNJ \
- Snprintf \
- Softsurfer \
- Spencer-94 \
- SSH-short \
- SSLeay \
- Sunpro \
- Unicode \
- Unicode-DFS-2016 \
- Unicode-Icu-58 \
- Unicode-Mappings \
- Unittest-Permissive-License \
- Unlicense \
- Unrar \
- UPL-1.0 \
- Vertica \
- W3C \
- W3C-19980720 \
- WTFPL \
- X11 \
- X11-Lucent \
- X11-XConsortium-Veillard \
- YandexOpen \
- Zlib \
- zlib-acknowledgement \
- ZPL-2.1 \
- LICENSES_REQUIRE_CITATION_DYNAMIC= \
- LGPL \
- LGPL-2.0-only \
- LGPL-2.0-or-later \
- LGPL-2.1-only \
- LGPL-2.1-or-later \
- LGPL-3.0-only \
- LGPL-3.0-or-later
- LICENSES_SERVICE= \
- Service-Default-License \
- Service-Dll-Harness \
- Service-Prebuilt-Tool \
- Service-Py23-Proxy \
- Service-Unknown-License-Java \
- macro _DONT_REQUIRE_LICENSE() {
- SET(EXPLICIT_LICENSE_PREFIXES "")
- }
- ### @usage: LICENSE(licenses...)
- ###
- ### Specify the licenses of the module, separated by spaces. Specifying multiple licenses interpreted as permission to use this
- ### library satisfying all conditions of any of the listed licenses.
- ###
- ### A license must be prescribed for contribs
- macro LICENSE(Flags...) {
- SET(LICENSE_EXPRESSION $Flags)
- SET(LICENSE_NAMES $Flags)
- # TODO(YMAKE-1136) avoid abusing LICENSE
- # NOTICE: final value of MODVER might not be set yet if VERSION macro is called after LICENSE. Var expansion is
- # escaped here to prevent eager value substitution by SET but allow delayed value substitution when
- # adding linking SBOM data command to graph.
- when ($_NEED_SBOM_INFO == "yes") {
- _SBOM_INFO_LOCAL="path=${MODDIR};ver=${join=.:MODVER};lang=${MODULE_LANG}"
- }
- otherwise {
- _SBOM_INFO_LOCAL=
- }
- SET_APPEND(_SBOM_INFO_GLOBAL $_SBOM_INFO_LOCAL)
- }
- ### @usage LICENSE_RESTRICTION(ALLOW_ONLY|DENY LicenseProperty...)
- ###
- ### Restrict licenses of direct and indirect module dependencies.
- ###
- ### ALLOW_ONLY restriction type requires dependent module to have at least one license without properties not listed in restrictions list.
- ###
- ### DENY restriction type forbids dependency on module with no license without any listed property from the list.
- ###
- ### Note: Can be used multiple times on the same module all specified constraints will be checked.
- ### All macro invocation for the same module must use same constraints type (DENY or ALLOW_ONLY)
- macro LICENSE_RESTRICTION(TYPE, RESTRICTIONS...) {
- SET_APPEND(MODULE_LICENSES_RESTRICTION_TYPES $TYPE)
- SET_APPEND(MODULE_LICENSES_RESTRICTIONS $RESTRICTIONS)
- }
- ### @usage MODULEWISE_LICENSE_RESTRICTION(ALLOW_ONLY|DENY LicenseProperty...)
- ###
- ### Restrict licenses per module only, without it peers.
- ###
- ### ALLOW_ONLY restriction type requires module to have at least one license without properties not listed in restrictions list.
- ###
- ### DENY restriction type forbids module with no license without any listed property from the list.
- ###
- ### Note: Can be used multiple times on the same module all specified constraints will be checked.
- ### All macro invocation for the same module must use same constraints type (DENY or ALLOW_ONLY)
- macro MODULEWISE_LICENSE_RESTRICTION(TYPE, RESTRICTIONS...) {
- SET_APPEND(MODULEWISE_LICENSES_RESTRICTION_TYPES $TYPE)
- SET_APPEND(MODULEWISE_LICENSES_RESTRICTIONS $RESTRICTIONS)
- }
- ### @usage LICENSE_RESTRICTION_EXCEPTIONS(Module...)
- ###
- ### List of modules for exception from LICENSE_RESTRICTION and MODULEWISE_LICENSE_RESTRICTION logic.
- macro LICENSE_RESTRICTION_EXCEPTIONS(EXCEPT...) {
- SET_APPEND(MODULE_LICENSES_RESTRICTION_EXCEPTIONS $EXCEPT)
- }
|