-
-
Notifications
You must be signed in to change notification settings - Fork 24
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
discover cypari2 on runtime instead of on configure #149
Conversation
One needs to modify |
I am not sure if this is the right solution, or even an improvement. With this change, now there can be several packages in the system that use |
What do you mean by inconsistent opinion? There is one problem I'm aware of: If you use a package that uses PARI, but doesn't include the headers, you wouldn't catch on that you are not paying attention to PARI's signal blocking status. However, in this case it is wrong usage (and should be mentioned somewhere, still don't know if anyone will read this). I don't know how to avoid this at all. One thing that we could do is to rely on |
Yes, exactly.
Basically you are moving the burden of depending on / conditionally depending on PARI from
Yes, something like this is what I meant by "runtime dispatch" in #125. |
Depending on
This is transparent and manageable also for unexperienced users. Thinking about this, I like this much better than my other approach (even if it involves some typecasting from I'll do the changes tomorrow. |
This is looking good to me; but shouldn't the CI be testing that it works without error if cypari2 is present in the runtime environment? |
Yes, but that won't work until cypari2 has a new release. |
Yes, here on this PR you could just set up the CI to use a pinned version |
Oh, the CI was still using Travis CI - this does not seem to run any more. |
It was running, until before commit ad37280. |
This is intended to solve #148.
Usage, one must include PARI header now before cimporting from
cysignals
(if at all).If the PARI headers are included after cimporting
cysignals
, it fails intentionally (this could be removed, but that PARI's signal blocking is ignored.)