X-Git-Url: https://git.ozlabs.org/?a=blobdiff_plain;f=tools%2Fccanlint%2Flicenses.c;h=c2a4871d6c3ae2467b37ef105ae671c4339652d8;hb=3087ef7270e98b91e6bc6d5f8e83fe22a8db583c;hp=9bfa1d2b8d57b3bb005fccc653ba4d209cebf5c8;hpb=e67de75f0d64096956ad40ecb09462dac6fc5f03;p=ccan diff --git a/tools/ccanlint/licenses.c b/tools/ccanlint/licenses.c index 9bfa1d2b..c2a4871d 100644 --- a/tools/ccanlint/licenses.c +++ b/tools/ccanlint/licenses.c @@ -72,6 +72,36 @@ const struct license_info licenses[] = { }, }; +/* License compatibilty chart (simplified: we don't test that licenses between + * files are compatible). */ +bool license_compatible[LICENSE_UNKNOWN+1][LICENSE_UNKNOWN] = { +/* LGPL2+ LGPL2 LGPL3 LGPL GPL2+ GPL2 GPL3 GPL BSD MIT PD */ +/* _info says: LGPL2+ */ + { true, false,false,true, false,false,false,false,true, true, true }, +/* _info says: LGPL2 only */ + { true, true, false,true, false,false,false,false,true, true, true }, +/* _info says: LGPL3 (or any later version) */ + { true, false,true, true, false,false,false,false,true, true, true }, +/* _info says: LGPL (no version specified) */ + { true, true, true, true, false,false,false,false,true, true, true }, +/* _info says: GPL2+ */ + { true, true, true, true, true, false,false,true, true, true, true }, +/* _info says: GPL2 only */ + { true, true, true, true, true, true, false,true, true, true, true }, +/* _info says: GPL3 (or any later version) */ + { true, true, true, true, true, false,true, true, true, true, true }, +/* _info says: GPL (unknown version) */ + { true, true, true, true, true, true, true, true, true, true, true }, +/* _info says: BSD (3-clause) */ + { false,false,false,false,false,false,false,false,true, true, true }, +/* _info says: MIT */ + { false,false,false,false,false,false,false,false,false,true, true }, +/* _info says: Public domain */ + { false,false,false,false,false,false,false,false,false,false,true }, +/* _info says something we don't understand */ + { false,false,false,false,false,false,false,false,false,false,true } +}; + const char *get_ccan_simplified(struct ccan_file *f) { if (!f->simplified) {