From 55accf8605a39d94642a4f6c05af3f16751e0239 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Thu, 10 Nov 2022 16:46:59 +0100 Subject: [PATCH 1/3] robust build if all shared --- recipes/libunwind/all/conanfile.py | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/recipes/libunwind/all/conanfile.py b/recipes/libunwind/all/conanfile.py index ae31696734b8b..2d0fd7ec76064 100644 --- a/recipes/libunwind/all/conanfile.py +++ b/recipes/libunwind/all/conanfile.py @@ -1,5 +1,7 @@ from conan import ConanFile from conan.errors import ConanInvalidConfiguration +from conan.tools.build import cross_building +from conan.tools.env import VirtualRunEnv from conan.tools.files import apply_conandata_patches, copy, export_conandata_patches, get, rm, rmdir from conan.tools.gnu import Autotools, AutotoolsToolchain, AutotoolsDeps, PkgConfigDeps from conan.tools.layout import basic_layout @@ -70,6 +72,10 @@ def source(self): get(self, **self.conan_data["sources"][self.version], destination=self.source_folder, strip_root=True) def generate(self): + if not cross_building(self): + env = VirtualRunEnv(self) + env.generate(scope="build") + tc = AutotoolsToolchain(self) yes_no = lambda v: "yes" if v else "no" tc.configure_args.extend([ From 39bd145ec758892f2ef080a0d502ebe4e7b2c8b0 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Thu, 10 Nov 2022 16:47:42 +0100 Subject: [PATCH 2/3] remove useless stuff --- recipes/libunwind/all/conanfile.py | 15 +-------------- 1 file changed, 1 insertion(+), 14 deletions(-) diff --git a/recipes/libunwind/all/conanfile.py b/recipes/libunwind/all/conanfile.py index 2d0fd7ec76064..6116aae4fb2a9 100644 --- a/recipes/libunwind/all/conanfile.py +++ b/recipes/libunwind/all/conanfile.py @@ -3,7 +3,7 @@ from conan.tools.build import cross_building from conan.tools.env import VirtualRunEnv from conan.tools.files import apply_conandata_patches, copy, export_conandata_patches, get, rm, rmdir -from conan.tools.gnu import Autotools, AutotoolsToolchain, AutotoolsDeps, PkgConfigDeps +from conan.tools.gnu import Autotools, AutotoolsToolchain, AutotoolsDeps from conan.tools.layout import basic_layout import os @@ -38,14 +38,6 @@ class LiunwindConan(ConanFile): "zlibdebuginfo": True, } - @property - def _settings_build(self): - return getattr(self, "settings_build", self.settings) - - @property - def _user_info_build(self): - return getattr(self, "user_info_build", self.deps_user_info) - def export_sources(self): export_conandata_patches(self) @@ -79,8 +71,6 @@ def generate(self): tc = AutotoolsToolchain(self) yes_no = lambda v: "yes" if v else "no" tc.configure_args.extend([ - f"--enable-shared={yes_no(self.options.shared)}", - f"--enable-static={yes_no(not self.options.shared)}", f"--enable-coredump={yes_no(self.options.coredump)}", f"--enable-ptrace={yes_no(self.options.ptrace)}", f"--enable-setjmp={yes_no(self.options.setjmp)}", @@ -91,9 +81,6 @@ def generate(self): ]) tc.generate() - tc = PkgConfigDeps(self) - tc.generate() - tc = AutotoolsDeps(self) tc.generate() From ffd65f2a974b9d938cd4106dc1275c687aa5a65e Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Thu, 10 Nov 2022 16:47:55 +0100 Subject: [PATCH 3/3] self.info in validate() --- recipes/libunwind/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/libunwind/all/conanfile.py b/recipes/libunwind/all/conanfile.py index 6116aae4fb2a9..ffee26f9f1853 100644 --- a/recipes/libunwind/all/conanfile.py +++ b/recipes/libunwind/all/conanfile.py @@ -57,7 +57,7 @@ def requirements(self): self.requires("zlib/1.2.13") def validate(self): - if self.settings.os not in ["Linux", "FreeBSD"]: + if self.info.settings.os not in ["Linux", "FreeBSD"]: raise ConanInvalidConfiguration("libunwind is only supported on Linux and FreeBSD") def source(self):