Skip to content
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

Upgrade generator script to use the latest Clang.jl #102

Open
wants to merge 4 commits into
base: master
Choose a base branch
from

Conversation

Gnimuc
Copy link

@Gnimuc Gnimuc commented Apr 8, 2021

fix #101

Should also fix #1, fix #39, fix #87, fix #88:

  • The definition of those types defined in system headers or stdlibs can now be added via the @add_def macro(in most of the case, you don't need to use this macro) and one can peek what those types are actually defined by adding them to the definition_whitelist entry in the config toml file.(now Clang.jl can handle this automatically) There is an option to let Clang.jl generate mutable structs that can be safely tagged mutable.
  • CURL_SSLVERSION_DEFAULT is not defined(generated) because the old Clang.jl cannot handle anonymous enums. Now this is fixed.
  • Every symbol prefixed with curl is exported.
  • CURL_PROGRESSFUNC_CONTINUE is now defined, not sure why the old Clang.jl failed to define it though.

@Gnimuc
Copy link
Author

Gnimuc commented Apr 8, 2021

I believe Julia 1.5's @ccall macro is a proper fix for https://github.com/JuliaWeb/LibCURL.jl/pull/95/files. But I just added those manually written ccalls as patches for backward compatibility.

@codecov-io
Copy link

codecov-io commented Apr 11, 2021

Codecov Report

Merging #102 (6e37a06) into master (ee2410e) will decrease coverage by 20.86%.
The diff coverage is 0.00%.

Impacted file tree graph

@@            Coverage Diff             @@
##           master    #102       +/-   ##
==========================================
- Coverage   20.86%   0.00%   -20.87%     
==========================================
  Files           2       1        -1     
  Lines         139     215       +76     
==========================================
- Hits           29       0       -29     
- Misses        110     215      +105     
Impacted Files Coverage Δ
src/LibCURL.jl 0.00% <0.00%> (-53.85%) ⬇️

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update ee2410e...6e37a06. Read the comment docs.

@codecov-commenter
Copy link

codecov-commenter commented Apr 27, 2021

Codecov Report

Merging #102 (18d1b32) into master (ee2410e) will decrease coverage by 19.71%.
The diff coverage is 0.56%.

❗ Current head 18d1b32 differs from pull request most recent head 77a7138. Consider uploading reports for the commit 77a7138 to get more accurate results
Impacted file tree graph

@@            Coverage Diff             @@
##           master    #102       +/-   ##
==========================================
- Coverage   20.86%   1.14%   -19.72%     
==========================================
  Files           2      14       +12     
  Lines         139    2619     +2480     
==========================================
+ Hits           29      30        +1     
- Misses        110    2589     +2479     
Impacted Files Coverage Δ
src/wrappers/aarch64-linux-gnu.jl 0.00% <0.00%> (ø)
src/wrappers/aarch64-linux-musl.jl 0.00% <0.00%> (ø)
src/wrappers/armv7l-linux-gnueabihf.jl 0.00% <0.00%> (ø)
src/wrappers/armv7l-linux-musleabihf.jl 0.00% <0.00%> (ø)
src/wrappers/i686-linux-musl.jl 0.00% <0.00%> (ø)
src/wrappers/i686-w64-mingw32.jl 0.00% <0.00%> (ø)
src/wrappers/powerpc64le-linux-gnu.jl 0.00% <0.00%> (ø)
src/wrappers/x86_64-apple-darwin14.jl 4.00% <ø> (ø)
src/wrappers/x86_64-linux-gnu.jl 4.00% <ø> (ø)
src/wrappers/x86_64-linux-musl.jl 0.00% <ø> (ø)
... and 17 more

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update ee2410e...77a7138. Read the comment docs.

@Gnimuc Gnimuc changed the title WIP: Upgrade generator script to use the latest Clang.jl Upgrade generator script to use the latest Clang.jl Apr 29, 2021
@Gnimuc
Copy link
Author

Gnimuc commented Apr 29, 2021

This is now ready for review.

@Gnimuc
Copy link
Author

Gnimuc commented Apr 29, 2021

cc @ViralBShah @ettersi

You might be interested in this. We can do the same thing to SuiteSparse.jl as long as it can be separated out into a separate repo.

gen/configs/aarch64-linux-gnu.toml Outdated Show resolved Hide resolved
gen/generate.jl Outdated Show resolved Hide resolved
src/LibCURL.jl Show resolved Hide resolved
src/LibCURL.jl Outdated Show resolved Hide resolved
src/LibCURL.jl Outdated Show resolved Hide resolved
src/LibCURL.jl Outdated Show resolved Hide resolved
gen/Project.toml Show resolved Hide resolved
gen/generate.jl Outdated Show resolved Hide resolved
@Gnimuc
Copy link
Author

Gnimuc commented May 4, 2021

@omus thanks for the review! I've applied the suggestions and this is ready for another round of review.

@Gnimuc Gnimuc requested a review from omus May 4, 2021 07:35
@Gnimuc
Copy link
Author

Gnimuc commented May 10, 2021

Good to go?

gen/generate.jl Outdated Show resolved Hide resolved
Co-authored-by: Kristoffer Carlsson <[email protected]>
@StefanKarpinski
Copy link
Contributor

This is great. I'll try to take a look later. Sorry I didn't see it until now.

src/LibCURL.jl Outdated Show resolved Hide resolved
@StefanKarpinski
Copy link
Contributor

I haven't gotten a chance to look at this yet, but if Downloads works on top of this then I'd say it's all good. Do you happen to have tried that out, @Gnimuc?

@Gnimuc
Copy link
Author

Gnimuc commented Jun 11, 2021

I'll try to revisit this if I can find some time.

melonedo added a commit to melonedo/Downloads.jl that referenced this pull request Jul 21, 2021
melonedo added a commit to melonedo/Downloads.jl that referenced this pull request Aug 7, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
7 participants