FazBrowse GitHub Viewer | Trending |
URL:
| Home
Tools: [Download Repo ZIP]   [Original HTTPS Page]

fix: fix Windows compatibility for embedded libdiffpy builds by SYMSCAE · Pull Request #51 · diffpy/libdiffpy · GitHub

Repository navigation

fix: fix Windows compatibility for embedded libdiffpy builds - #51

Merged
sbillinge merged 1 commit into
diffpy:migration-nanofrom
SYMSCAE:win-fix
Oct 12, 2026
Merged

sbillinge merged 1 commit into
diffpy:migration-nanofrom
SYMSCAE:win-fix

Conversation

SYMSCAE commented Oct 12, 2026

Copy link
Copy Markdown
Contributor

Building the core with modern MSVC fails on POSIX-only path handling, obsolete math replacements, and GCC-specific deprecation syntax.
This change:

  • Uses Windows module lookup APIs and std::filesystem to locate runtime data relative to the containing library or extension.
  • Removes obsolete MSVC implementations of round, remainder, and log2.
  • Replaces the GCC deprecation attribute with [[deprecated]].

SYMSCAE commented Oct 12, 2026

Copy link
Copy Markdown
Contributor Author

@sbillinge PR ready for review. After this I will pin this commit as submodule on the diffpy.srreal end and we shall pass ci.

Copy link
Copy Markdown
Contributor

Do we want to merge migration-nano here into main? Even if we are not releasing I still think we should build from the latest default branch

sbillinge merged commit b3955ae into diffpy:migration-nano Oct 12, 2026
SYMSCAE deleted the win-fix branch October 12, 2026 05:45

SYMSCAE commented Oct 12, 2026

Copy link
Copy Markdown
Contributor Author

Do we want to merge migration-nano here into main? Even if we are not releasing I still think we should build from the latest default branch

Yes sure please. I have diffpy.srreal ready and I'll pin this commit after you merge.

Copy link
Copy Markdown
Contributor

I did some more reading and for our case I don't really see the advantage of vendoring libdiffpy vs. Releasing it. Why are we doing this?

SYMSCAE commented Oct 12, 2026

Copy link
Copy Markdown
Contributor Author

I did some more reading and for our case I don't really see the advantage of vendoring libdiffpy vs. Releasing it. Why are we doing this?

I believe this was inspired by the migration from the pyobjcryst side. (see diffpy/diffpy.srreal#90)

Copy link
Copy Markdown
Contributor

Right, so what was the inspiration? Why did they do it and what advantages come from that? I suggest we stick with the current scheme for this release and do a proper release of libdiffpy and keep it as a dependency. If there are compelling reasons to do it the other way we can move to that for the next release. I assumed that there were significant advantages that were suddenly made possible by the switch to nanobind that we didn't have before and that that was why Vincent had decided to switch, and so I wanted to trigger a conversation to understand the pros and cons.

Actions:

  1. finish a release of libdiffpy
  2. revert srreal changes back so it releases with libdiffy as a dependency
  3. Maybe arrange a call with everyone, possibly including Vincent to discuss this, but arrrive at that meeting with as much knowledge as possible about what this change brings us and why it is suddenly possible now. Also anything else that is made possible by the nanobind switch that we can take advantage of in principle.

There is no rush for (3)

SYMSCAE commented Oct 12, 2026

Copy link
Copy Markdown
Contributor Author

Right, so what was the inspiration? Why did they do it and what advantages come from that? I suggest we stick with the current scheme for this release and do a proper release of libdiffpy and keep it as a dependency. If there are compelling reasons to do it the other way we can move to that for the next release. I assumed that there were significant advantages that were suddenly made possible by the switch to nanobind that we didn't have before and that that was why Vincent had decided to switch, and so I wanted to trigger a conversation to understand the pros and cons.

Actions:

  1. finish a release of libdiffpy
  2. revert srreal changes back so it releases with libdiffy as a dependency
  3. Maybe arrange a call with everyone, possibly including Vincent to discuss this, but arrrive at that meeting with as much knowledge as possible about what this change brings us and why it is suddenly possible now. Also anything else that is made possible by the nanobind switch that we can take advantage of in principle.

There is no rush for (3)

Understood. I will handle the diffpy.srreal side.

This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode characters
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


Back | FazBrowse Home | New Git URL