-
Notifications
You must be signed in to change notification settings - Fork 1.8k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
fix: add missing or clang
#26500
base: master
Are you sure you want to change the base?
fix: add missing or clang
#26500
Conversation
|
recipes/libffi/all/conanfile.py
Outdated
@@ -62,7 +62,7 @@ def build_requirements(self): | |||
self.win_bash = True | |||
if not self.conf.get("tools.microsoft.bash:path", default=False, check_type=str): | |||
self.tool_requires("msys2/cci.latest") | |||
if is_msvc(self): | |||
if is_msvc(self) or self.settings.compiler == "clang": |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Since this recipe always uses autotools regardless of OS/compiler, I think we should just get rid of this condition and always require automake.
There are similar examples in other recipes, such as
self.tool_requires("automake/1.16.5") |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
However, if that's undesirable and you want to only require this in order to satisfy the reference below, then this condition should be consistent with line 94:
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@cynix I took your advice and added that an automake is always required
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Apologies for the confusion here - but guarding automake for msvc only is intentional - we do expect those tools to be available on other systems (and this should be restored to what it was before)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
In that case it feels like this should be a requirement on Windows rather than MSVC?
FWIW, I’ve had to fork at least 1 recipe (cyrus-sasl) for our internal use, to add the automake/1.16.5 requirement, because the highest version of automake available in our environment (CentOS 7) was insufficient for that package.
It seems CCI provides recipes for many modern build tools. Isn’t it better for packages to always declare their tool requirements? If the user wishes to use the tools from their environment rather than a package, they then have the choice of defining those via platform_tool_requires
. That seems more useful than assuming some tool will be available, because there’s no easy way for me to do the opposite - I can’t inject a requirement without modifying the recipe.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@cynix I need to change something in my PR?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
bug
conan profile
conanfile.txt
error