fix: remove all `user.kernel:*` config
This commit is contained in:
parent
e231e9b967
commit
8d6a663379
|
|
@ -34,15 +34,9 @@ class LinuxKbuildTreeConan(ConanFile):
|
||||||
self.folders.generators = os.path.join(self.folders.build, "generators")
|
self.folders.generators = os.path.join(self.folders.build, "generators")
|
||||||
|
|
||||||
def package_id(self):
|
def package_id(self):
|
||||||
arch = self.conf.get("user.kernel:arch", default=None)
|
c_compiler = self._compiler_executable("c")
|
||||||
if arch:
|
if c_compiler is not None:
|
||||||
self.info.conf.define("user.kernel:arch", str(arch))
|
self.info.conf.define("tools.build:compiler_executables", {"c": str(c_compiler)})
|
||||||
|
|
||||||
cross_compile = self.conf.get("user.kernel:cross_compile", default=None)
|
|
||||||
if cross_compile is None:
|
|
||||||
cross_compile = self._cross_compile_from_compiler_executables()
|
|
||||||
if cross_compile is not None:
|
|
||||||
self.info.conf.define("user.kernel:cross_compile", str(cross_compile))
|
|
||||||
|
|
||||||
def validate(self):
|
def validate(self):
|
||||||
if self.settings.os != "Linux":
|
if self.settings.os != "Linux":
|
||||||
|
|
@ -58,8 +52,8 @@ class LinuxKbuildTreeConan(ConanFile):
|
||||||
|
|
||||||
if cross_building(self) and self._cross_compile is None:
|
if cross_building(self) and self._cross_compile is None:
|
||||||
raise ConanInvalidConfiguration(
|
raise ConanInvalidConfiguration(
|
||||||
"Cross-building a kernel tree requires user.kernel:cross_compile "
|
"Cross-building a kernel tree requires "
|
||||||
"or tools.build:compiler_executables with a GCC-like C compiler"
|
"tools.build:compiler_executables with a GCC-like C compiler"
|
||||||
)
|
)
|
||||||
|
|
||||||
def source(self):
|
def source(self):
|
||||||
|
|
@ -129,11 +123,6 @@ class LinuxKbuildTreeConan(ConanFile):
|
||||||
keep_path=False,
|
keep_path=False,
|
||||||
)
|
)
|
||||||
|
|
||||||
def package_info(self):
|
|
||||||
self.conf_info.define("user.kernel:kernel_dir", self.package_folder)
|
|
||||||
self.conf_info.define("user.kernel:arch", self._kernel_arch)
|
|
||||||
self.conf_info.define("user.kernel:cross_compile", self._cross_compile or "")
|
|
||||||
|
|
||||||
def _linux_ref_from_version(self):
|
def _linux_ref_from_version(self):
|
||||||
# Upstream Linux tags base releases as v6.8, while the kernel release
|
# Upstream Linux tags base releases as v6.8, while the kernel release
|
||||||
# and Conan package version are commonly represented as 6.8.0.
|
# and Conan package version are commonly represented as 6.8.0.
|
||||||
|
|
@ -144,10 +133,6 @@ class LinuxKbuildTreeConan(ConanFile):
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def _kernel_arch(self):
|
def _kernel_arch(self):
|
||||||
arch = self.conf.get("user.kernel:arch", default=None)
|
|
||||||
if arch:
|
|
||||||
return str(arch)
|
|
||||||
|
|
||||||
arch = str(self.settings.arch)
|
arch = str(self.settings.arch)
|
||||||
arch_map = {
|
arch_map = {
|
||||||
"x86": "x86",
|
"x86": "x86",
|
||||||
|
|
@ -180,16 +165,12 @@ class LinuxKbuildTreeConan(ConanFile):
|
||||||
if arch not in arch_map:
|
if arch not in arch_map:
|
||||||
raise ConanInvalidConfiguration(
|
raise ConanInvalidConfiguration(
|
||||||
f"Cannot derive Linux ARCH from settings.arch={arch!r}; "
|
f"Cannot derive Linux ARCH from settings.arch={arch!r}; "
|
||||||
"set user.kernel:arch explicitly"
|
"add this Conan architecture to the recipe arch map"
|
||||||
)
|
)
|
||||||
return arch_map[arch]
|
return arch_map[arch]
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def _cross_compile(self):
|
def _cross_compile(self):
|
||||||
cross_compile = self.conf.get("user.kernel:cross_compile", default=None)
|
|
||||||
if cross_compile is not None:
|
|
||||||
return str(cross_compile)
|
|
||||||
|
|
||||||
if not cross_building(self):
|
if not cross_building(self):
|
||||||
return ""
|
return ""
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue