LICENSE_EXPRESSION_IMPLICIT_OR=yes LICENSE_EXPRESSION_IMPLICIT_AND=yes LICENSE_EXPRESSION= LICENSE_NAMES= MODULE_LICENSES_RESTRICTIONS= MODULE_LICENSES_RESTRICTION_EXCEPTIONS= MODULE_LICENSES_RESTRICTION_TYPES= DEFAULT_MODULE_LICENSE=YandexUncategorized EXPLICIT_LICENSE_PREFIXES= # List of license properties which can be used to restrict transitive dependencies. There are three variables checked for each # property: # * LICENSES__STATIC: list of licenses which propagates this property when linking with code published by one of # them statically. # * LICENSES__DYNAMIC: list of licenses which propagates this property when linking with code published by one of # them dyamically. # * LICENSES_: 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__STATIC and LICENSES__DYNAMIC lists. LICENSE_PROPERTIES= \ FORBIDDEN NDA REQUIRE_DISCLOSURE PERMISSIVE REQUIRE_CITATION SERVICE LICENSES_UNATTRIBUTED= \ AFL-2.0 \ AML \ APSL-1.0 \ ASM-BSD-3-Clause \ Amazon-SL \ Artistic-1.0-Perl \ BCL \ BSD-3-Clause-Open-MPI \ BSD-4-Clause-Shortened \ BSLA \ Bison-Exception \ BouncyCastle-MIT \ Brian-Gladman-3-Clause \ Bsd-New-Tcpdump \ Bsd-Original-Uc-1986 \ CC-BY-1.0 \ CC-BY-2.0 \ CC-BY-2.5 \ CC-BY-3.0 \ CC-BY-4.0 \ 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 \ Carnegie-Mellon \ Carnegie-Mellon-Contributors \ DOC \ DSO-1.1 \ EDL-1.0 \ Elastic-License-2.0 \ FSFUL \ FSFULLR \ Fftpack-2004 \ GCC-exception-3.1 \ GDAL \ GFDL-1.1-or-later \ GPL-2.0 WITH Classpath-exception-2.0 \ GPL-2.0 WITH FOSS-exception \ 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 Libtool-exception \ GPL-2.0-or-later WITH mif-exception \ Go-License \ Google-Patent-License-Webm \ Google-Patent-License-Webrtc \ HPND \ HPND-sell-variant \ HPND-sell-variant \ HSQLDB-BSD-3-Clause \ Hdf5 \ IPL-1.0 \ Ibm-Dhcp \ Ietf-trust \ ImageMagick \ Info-Zip \ Intel-Confidential \ Intel-Material \ JAMon-BSD-3-Clause \ LGPL-3.0-or-later WITH ZeroMQ-Exception \ LPL-1.02 \ LicenseRef-scancode-bsd-new-nomod \ LicenseRef-scancode-cc-by-2.0-uk \ LicenseRef-scancode-cc-devnations-2.0 \ LicenseRef-scancode-cc-sampling-1.0 \ LicenseRef-scancode-free-unknown \ LicenseRef-scancode-generic-cla \ LicenseRef-scancode-other-copyleft \ LicenseRef-scancode-other-permissive \ LicenseRef-scancode-pcre \ LicenseRef-scancode-proprietary-license \ LicenseRef-scancode-unknown \ LicenseRef-scancode-unknown-license-reference \ LicenseRef-scancode-warranty-disclaimer \ MirOS \ Mit-Xfig \ Mozilla-GC \ NAIST-2003 \ Nvidia-Gov \ Oracle \ Oracle-technology \ PSF-3.7.2 \ Qhull \ Quicklz \ Ruby \ SSPL-1.0 \ SZIP \ Sendmail \ Softsurfer \ Stlport-4.5 \ TCL \ TU-Berlin-1.0 \ Unicode-TOU \ Universal-FOSS-exception-1.0 \ Unknown \ Unlicense \ Vcalendar \ Vim \ X11-Adobe-Dec \ X11-Hanson \ X11-XConsortium-Veillard \ Xfree86-1.0 \ Xnet \ jQuery-MIT LICENSES_PATCHES_FORBIDDEN= \ Unicode LICENSES_FORBIDDEN= \ AGPL-3.0-only \ AGPL-3.0-or-later \ Artistic-1.0 \ Musl-Exception \ ${LICENSES_UNATTRIBUTED} # Group for proprietary code licenses LICENSES_NDA= \ Intel-NDA \ mimepp \ OracleOebs \ Sophos-SDK \ YandexUncategorized \ YandexNDA # These licenses allow use with opensource code only LICENSES_REQUIRE_DISCLOSURE= \ CDDL-1.0 \ CDDL-1.1 \ CECILL-2.0 \ CPL-1.0 \ EPL-1.0 \ EPL-2.0 \ GPL \ GPL-1.0-only \ GPL-1.0-or-later \ GPL-1.0-or-later WITH Linux-syscall-note \ GPL-1.1 \ GPL-2.0 \ GPL-2.0-only \ GPL-2.0-only WITH GCC-exception-2.0 \ GPL-2.0-only WITH Linux-syscall-note \ GPL-2.0-or-later \ GPL-2.0-or-later WITH GCC-exception-2.0 \ GPL-2.0-or-later WITH Linux-syscall-note \ GPL-3.0-only \ GPL-3.0-or-later \ GPL-3.0-or-later WITH Bison-exception-2.2 LICENSES_REQUIRE_DISCLOSURE_STATIC= \ 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 Linux-syscall-note \ LGPL-2.1-only \ LGPL-2.1-only WITH Linux-syscall-note \ LGPL-2.1-or-later \ LGPL-2.1-or-later WITH Linux-syscall-note \ LGPL-3.0-only \ LGPL-3.0-or-later # These licenses allows any kind of linkage with proprietary code LICENSES_PERMISSIVE= \ 0BSD \ Apache-1.0 \ Apache-1.1 \ Apache-2.0 \ Apache-2.0 WITH LLVM-exception \ APSL-2.0 \ Beerware \ blessing \ BSL-1.0 \ BSD \ BSD-1-Clause \ BSD-2-Clause \ BSD-2-Clause-Patent \ BSD-2-Clause-Views \ BSD-3-Clause \ BSD-4-Clause \ BSD-4-Clause-UC \ BSD-derived \ BSD-ORIGINAL-UC-1986 \ BSD-Source-Code \ Bsd-Simplified-Darwin \ Bsd-Unchanged \ Bsd-Unmodified \ bzip2-1.0.6 \ CC0-1.0 \ CC-PDDC \ Cmu-Computing-Services \ CUP-Parser \ curl \ Custom-Punycode \ Facebook-SDK \ FDK \ FSFAP \ FTL \ H2 \ IBM-pibs \ ICU \ Ietf \ IJG \ Intel-Simplified \ ISC \ JSON \ Khronos \ Libpbm \ LicenseRef-scancode-bitstream \ LicenseRef-scancode-ams-fonts \ Linux-OpenIB \ Libpng \ libpng-2.0 \ libtiff \ Martin-Birgmeier \ MIT \ MIT-0 \ MIT-CMU \ MIT-Modern-Variant \ MIT-Nagy \ MIT-open-group \ Mit-Old-Style \ Mit-Veillard-Variant \ MPL-1.0 \ MPL-1.1 \ MPL-2.0 \ Minpack \ NCSA \ NTP \ Not-Applicable \ Nvidia \ OGC-1.0 \ OLDAP-2.8 \ OML \ OpenSSL \ PayPal-SDK \ PCRE \ PD \ Public-Domain \ Public-Domain-US-Govt \ PHP-3.01 \ PIL \ Plexus \ PostgreSQL \ Protobuf-License \ PSF \ PSF-2.0 \ Python-2.0 \ Qhull \ Red-Hat-Attribution \ Repoze-public \ RSA-MD \ RSA-MD4 \ RSA-1990 \ Sleepycat \ Snprintf \ SGI-B-2.0 \ SMLNJ \ SSH-short \ SSLeay \ Sunpro \ Unicode-DFS-2016 \ Unicode-Icu-58 \ Unicode-Mappings \ Unlicense \ Unrar \ UPL-1.0 \ Vertica \ W3C \ WTFPL \ X11 \ X11-Lucent \ YandexOpen \ Zlib \ zlib-acknowledgement \ ZPL-2.1 \ ${CUSTOM_LICENSE_MUSL_EXCEPTION} \ ${LICENSES_PATCHES_FORBIDDEN} LICENSES_PERMISSIVE_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 # https://st.yandex-team.ru/ARCADIAWGSUP-34 CUSTOM_LICENSE_LIBSSH2_AGENT_WIN=Libssh2-Agent-Win # Permissive only in musllib CUSTOM_LICENSE_MUSL_EXCEPTION=Musl-Exception-in-Musllib # TODO: this list is almost empty. needed for DEVRULES-151 LICENSES_REQUIRE_CITATION= \ Apache-2.0 \ Cmu-Computing-Services \ OpenSSL \ Spencer-94 \ ${CUSTOM_LICENSE_LIBSSH2_AGENT_WIN} LICENSES_SERVICE= \ Service-Dll-Harness \ Service-Prebuilt-Tool \ Service-Py23-Proxy macro _REQUIRE_EXPLICIT_LICENSE(Prefix...) { SET(EXPLICIT_LICENSE_PREFIXES ${Prefix}) } ### @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) } ### @usage RESTRICT_LICENSES(ALLOW_ONLY|DENY LicenseProperty...) ### ### Restrict licenses of direct and indirect module dependencies. ### ### ALLOW_ONLY restriction type requires dependent module to have at leas one license without propertis not listed in restrictions ### list. ### ### DENY restriction type forbids dependency on module with no license without any listed propery 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 RESTRICT_LICENSES(TYPE, EXCEPT[], RESTRICTIONS...) { SET_APPEND(MODULE_LICENSES_RESTRICTION_TYPES $TYPE) SET_APPEND(MODULE_LICENSES_RESTRICTIONS $RESTRICTIONS) SET_APPEND(MODULE_LICENSES_RESTRICTION_EXCEPTIONS $EXCEPT) }