LibCURL.jl icon indicating copy to clipboard operation
LibCURL.jl copied to clipboard

Upgrade generator script to use the latest Clang.jl

Open Gnimuc opened this issue 4 years ago • 10 comments
trafficstars

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 avatar Apr 08 '21 10:04 Gnimuc

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.

Gnimuc avatar Apr 08 '21 10:04 Gnimuc

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%) :arrow_down:

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-io avatar Apr 11 '21 08:04 codecov-io

Codecov Report

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

:exclamation: 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.

codecov-commenter avatar Apr 27 '21 10:04 codecov-commenter

This is now ready for review.

Gnimuc avatar Apr 29 '21 16:04 Gnimuc

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.

Gnimuc avatar Apr 29 '21 16:04 Gnimuc

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

Gnimuc avatar May 04 '21 07:05 Gnimuc

Good to go?

Gnimuc avatar May 10 '21 07:05 Gnimuc

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

StefanKarpinski avatar May 18 '21 20:05 StefanKarpinski

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?

StefanKarpinski avatar Jun 07 '21 13:06 StefanKarpinski

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

Gnimuc avatar Jun 11 '21 03:06 Gnimuc