Skip to content

[gegl] Add native msvc support#50978

Draft
talregev wants to merge 1 commit intomicrosoft:masterfrom
talregev:TalR/gegl_msvc
Draft

[gegl] Add native msvc support#50978
talregev wants to merge 1 commit intomicrosoft:masterfrom
talregev:TalR/gegl_msvc

Conversation

@talregev
Copy link
Copy Markdown
Contributor

@talregev talregev commented Apr 5, 2026

[gegl] Add native msvc support

@talregev talregev force-pushed the TalR/gegl_msvc branch 2 times, most recently from df09c32 to a19b7ad Compare April 5, 2026 22:50
@talregev
Copy link
Copy Markdown
Contributor Author

talregev commented Apr 6, 2026

I also managed to get this compiling on arm64-windows, but it requires many upstream changes.
For now, I will mark it as unsupported and first try to work with upstream using this patch.

@brunvonlope FYI

@talregev
Copy link
Copy Markdown
Contributor Author

talregev commented Apr 6, 2026

@brunvonlope
Copy link
Copy Markdown
Contributor

@talregev Hi. I am in contact with gegl maintainer to likely merge some simples patches for ctx before the next release. They are on this branch: https://gitlab.gnome.org/GNOME/gegl/-/commits/bruno/gegl-ctx-msvc

gegl builds cleanly with no warnings on clang-cl. Could you test on pure MSVC and tell me if it works for you too?

@talregev
Copy link
Copy Markdown
Contributor Author

talregev commented Apr 11, 2026

@talregev Hi. I am in contact with gegl maintainer to likely merge some simples patches for ctx before the next release. They are on this branch: https://gitlab.gnome.org/GNOME/gegl/-/commits/bruno/gegl-ctx-msvc

gegl builds cleanly with no warnings on clang-cl. Could you test on pure MSVC and tell me if it works for you too?

First of all, I will happy to create another PR to test anything you need from gegl.
In vcpkg, we don't have ctx port, it meaning, I cannot compile it with gegl and test it.
In vcpkg, we compile gegl without ctx, and we turn it off.

Do you want with these options to test your branch?
If you can elaborate more what you expect the test will be about.
Other things, I also have ports/gegl/use-plugins-dir.patch that send all share libs that are plugins to plugins folder, and not like gegl dose to lib\gegl-...\...
So If I will test your branch, I will have to patch it as well with these changes that vcpkg will show success.
vcpkg doesn't allow share libs on static build like linux, or windows static, and have a post installation for the port, that will failed in the case it happen. The current location of the plugins in gegl upstream trigger errors in the CI.

Let me know what you want to test, and if that ok what I write above.

@brunvonlope
Copy link
Copy Markdown
Contributor

In vcpkg, we don't have ctx port, it meaning, I cannot compile it with gegl and test it.

In vcpkg, we compile gegl without ctx, and we turn it off.

I think you are confused. By reading the current portfile.cmake, I see we don't "turn it off", after all that meson option does not even exist since it is code shipped inside gegl that builds fine on Linux, Android and macOS, independently of being provided by a port. I doubt some reviewer will approve chopping gegl on such unaffected platforms considering the current build limitation affects only Windows 🙃.

So, to make clear, my comment was an invite to you temporarely append my patch (not to override yours, of course). My ctx patch is limited to fix ctx building (see the commit messages), so we know if the ctx build limitation will be gone (when gegl is released) than you will not need to manually remove ctx on Windows in the end, yay.

If you don't want to test, since it is a bit tricky to conciliate the patches on the meson.build (even temporarily), that is fine. I can do that latter then, if it builds, revert your MR on that regard.

@talregev
Copy link
Copy Markdown
Contributor Author

talregev commented Apr 12, 2026

I want to test it, I just want to understand what I am testing.
What I will do, I will take your branch, add these patches:

  • disable_tests.patch
  • use-plugins-dir.patch
  • remove_execinfo_support.patch
  • remove-consistency-check.patch

Then I will see if it compile.

Let me know it that what you meant.

@talregev
Copy link
Copy Markdown
Contributor Author

I will create another PR and send the link to here.

@talregev
Copy link
Copy Markdown
Contributor Author

Your goal is that ctx will compile under msvc?

@brunvonlope
Copy link
Copy Markdown
Contributor

Let me know it that what you meant.

Your goal is that ctx will compile under msvc?

Yes, that is what I mean: to apply the three last commits from that branch

@talregev
Copy link
Copy Markdown
Contributor Author

talregev commented Apr 12, 2026

Let me know it that what you meant.

Your goal is that ctx will compile under msvc?

Yes, that is what I mean: to apply the three last commits from that branch

In order ctx will compile on native msvc, more patches is needed. I created another PR: #51105

@azure-pipelines
Copy link
Copy Markdown

Azure Pipelines:
Successfully started running 1 pipeline(s).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants