-#include <ccan/str_talloc/str_talloc.h>
-
-static struct doc_section *find_license_tag(const struct manifest *m)
-{
- struct doc_section *d;
-
- list_for_each(m->info_file->doc_sections, d, list) {
- if (!streq(d->function, m->basename))
- continue;
- if (streq(d->type, "license"))
- return d;
- }
- return NULL;
-}
-
-static enum license which_license(struct doc_section *d)
-{
- if (strstarts(d->lines[0], "GPL")) {
- if (strchr(d->lines[0], '3'))
- return LICENSE_GPLv3;
- else if (strchr(d->lines[0], '2')) {
- if (strreg(NULL, d->lines[0], "or (any )?later", NULL))
- return LICENSE_GPLv2_PLUS;
- else
- return LICENSE_GPLv2;
- }
- return LICENSE_GPL;
- }
-
- if (strstarts(d->lines[0], "LGPL")) {
- if (strchr(d->lines[0], '3'))
- return LICENSE_LGPLv3;
- else if (strchr(d->lines[0], '2')) {
- if (strreg(NULL, d->lines[0], "or (any )?later", NULL))
- return LICENSE_LGPLv2_PLUS;
- else
- return LICENSE_LGPLv2;
- }
- return LICENSE_LGPL;
- }
- if (streq(d->lines[0], "BSD-MIT")
- || streq(d->lines[0], "MIT"))
- return LICENSE_MIT;
- if (streq(d->lines[0], "BSD (3 clause)"))
- return LICENSE_BSD;
- if (strreg(NULL, d->lines[0], "[Pp]ublic [Dd]omain"))
- return LICENSE_PUBLIC_DOMAIN;
-
- return LICENSE_UNKNOWN;
-}