mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-12-28 16:56:26 +00:00
1d351f1894
It causes build failures with unusual CC/HOSTCC combinations. Quoting https://lkml.kernel.org/r/A222B1E6-69B8-4085-AD1B-27BDB72CA971@goldelico.com: HOSTCC scripts/mod/modpost.o - due to target missing In file included from include/linux/string.h:5, from scripts/mod/../../include/linux/license.h:5, from scripts/mod/modpost.c:24: include/linux/compiler.h:246:10: fatal error: asm/rwonce.h: No such file or directory 246 | #include <asm/rwonce.h> | ^~~~~~~~~~~~~~ compilation terminated. ... The problem is that HOSTCC is not necessarily the same compiler or even architecture as CC and pulling in <linux/compiler.h> or <asm/rwonce.h> files indirectly isn't a good idea then. My toolchain is providing HOSTCC = gcc (MacPorts) and CC = arm-linux-gnueabihf (built from gcc source) and all running on Darwin. If I change the include to <string.h> I can then "HOSTCC scripts/mod/modpost.c" but then it fails for "CC kernel/module/main.c" not finding <string.h>: CC kernel/module/main.o - due to target missing In file included from kernel/module/main.c:43:0: ./include/linux/license.h:5:20: fatal error: string.h: No such file or directory #include <string.h> ^ compilation terminated. Reported-by: "H. Nikolaus Schaller" <hns@goldelico.com> Cc: Sam James <sam@gentoo.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
16 lines
418 B
C
16 lines
418 B
C
/* SPDX-License-Identifier: GPL-2.0-only */
|
|
#ifndef __LICENSE_H
|
|
#define __LICENSE_H
|
|
|
|
static inline int license_is_gpl_compatible(const char *license)
|
|
{
|
|
return (strcmp(license, "GPL") == 0
|
|
|| strcmp(license, "GPL v2") == 0
|
|
|| strcmp(license, "GPL and additional rights") == 0
|
|
|| strcmp(license, "Dual BSD/GPL") == 0
|
|
|| strcmp(license, "Dual MIT/GPL") == 0
|
|
|| strcmp(license, "Dual MPL/GPL") == 0);
|
|
}
|
|
|
|
#endif
|