Skip to content

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

Open
Gnimuc wants to merge 4 commits intoJuliaWeb:masterfrom
Gnimuc:up-generator
Open

Upgrade generator script to use the latest Clang.jl#102
Gnimuc wants to merge 4 commits intoJuliaWeb:masterfrom
Gnimuc:up-generator

Conversation

@Gnimuc
Copy link
Copy Markdown

@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
Copy Markdown
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
Copy Markdown

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
Copy Markdown

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
Copy Markdown
Author

Gnimuc commented Apr 29, 2021

This is now ready for review.

@Gnimuc
Copy link
Copy Markdown
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.

Comment thread gen/configs/aarch64-linux-gnu.toml
Comment thread gen/generate.jl Outdated
Comment thread src/LibCURL.jl
Comment thread src/LibCURL.jl Outdated
Comment thread src/LibCURL.jl Outdated
Comment thread src/LibCURL.jl Outdated
Comment thread gen/Project.toml
Comment thread gen/generate.jl Outdated
@Gnimuc
Copy link
Copy Markdown
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
Copy Markdown
Author

Gnimuc commented May 10, 2021

Good to go?

Comment thread gen/generate.jl Outdated
Co-authored-by: Kristoffer Carlsson <kcarlsson89@gmail.com>
@StefanKarpinski
Copy link
Copy Markdown
Contributor

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

Comment thread src/LibCURL.jl Outdated
@StefanKarpinski
Copy link
Copy Markdown
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
Copy Markdown
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