-
Notifications
You must be signed in to change notification settings - Fork 22
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
Compilation fixes #25
Conversation
Thank you for the contribution, these are both very helpful fixes. It's surprising to hear that argparse doesn't compile on Arch, it must be some kind of distro-specific packaging anomaly. Likewise it's frustrating that we have to work around how different distributions package LLVM/Clang, but thank you for doing the hard work of finding and solving the problem using a proven approach. We will need you to sign a Contributor Assignment Agreement (CAA) and email it to cla@hdoc.io so that this can be merged into our repository. This is unfortunately necessary for legal reasons. I have attached the CAA to this comment. |
Some Linux distributions ship the clang libraries as `clang-cpp`, in my limited testing for example Fedora and Arch Linux. To enable building hdoc from source there, defaulting to `clang-cpp` and falling back to the old method looks reasonable. A quick search revealed that `mesa` uses the same approach.
As xxd uses the path name to name the variable, and the source hardcodes the assumption that the build dir is exactly one level below the project root, having that at a different place breaks the build. To circumvent this issue, the variable name is passed as an extra arg to the generator.
eb536e5
to
b78cd77
Compare
I've successfully tested building |
We have received your CAA and we will merge your changes in with the next release of hdoc. Thank you for your contribution! |
No, it's a bug in argparse, which argparse fixed (in p-ranav/argparse@95d4850). Specifically, see https://gcc.gnu.org/gcc-12/porting_to.html#header-dep-changes
argparse used the code in |
Aside: I notice you include a bunch of subprojects used via
|
@eli-schwartz Thank you for the detailed explanation of the root cause for this compile issue, now this makes sense. Likewise thank you for your comment on our vendored dependency setup and how we can improve it. We've been meaning to contribute back to meson with our build setups for a while but never got around to it. Back when we first started hdoc the wrapdb was very small which led us to use our vendored setup. Now that it's grown it seems like a good time to switch. On a side note I appreciate you chiming in every once in a while with your findings. This has happened more than once and it is always pleasant to see you share your knowledge with us :) |
No problem. :) Always happy to help. Any wrapdb contributions you have to make (such as adding cmark-gfm?) are more than welcome. |
@no92 This PR was mistakenly missed during the 1.4.0 release cycle and wasn't included in the release. We apologize for missing it. We will prepare a release later this week which will incorporate this change along with some other changes. |
Hello @no92, this PR has been merged in with release 1.4.1. Thank you for your patience and for the fix. The part of the patch relating to changing the Thank you once again for another contribution to the project 😃 |
Reminder as to whether the |
@no92 Thanks for the reminder! I just applied the patch internally and verified it works. Likewise the version of |
Compiling current master on Arch Linux fails for two reasons, both of which this PR addresses:
argparse.hpp
currently does not include<utility>
, which results in an compilation error; this is fixed by bumping it to v2.9.clang-cpp
(as do some other distros), so that meson can't find the libraries; this is fixed by defaulting to usingclang-cpp
, but falling back to the old method. This is the same approach as used bymesa
.