-
-
Notifications
You must be signed in to change notification settings - Fork 705
WIP: Manual update to expat 2.7.1 #5488
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
base: main
Are you sure you want to change the base?
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Mostly looks good after a short look.
The name mangling header should be included directly rather than as a side-effect of including expatDllConfig.h
Inserted checks in Expat source files to ensure proper inclusion of itk_expat_mangle.h, preventing incorrect header inclusion leading to expat library name mangling failures.
This file, and the contents of this file (the definition of ITK_EXPAT_STATIC) are not used anywhere in ITK.
640c099
to
086e7a1
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Mostly looks good. It would be good if @agravgaard, @npt-1707, and @SimonRit reviewed this too.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I find it hard to review third party upgrades but as RTK uses expat, I have tested this branch and it seems to fail:
https://github.com/RTKConsortium/RTK/actions/runs/17121664677/job/48563766375
Can you try to fix these unresolved external symbol errors?
It would be good if @agravgaard could review indeed but I'm not sure he's still in medical imaging (would be good to know!).
@SimonRit Thanks. I am trying to gain access to a windows build computer so that I can identify why the windows name mangling is not working. This is also failing in a similar way for windows builds on the main ITK repository. Hans |
Thanks for the tag, but I'm indeed not in medical imaging anymore. |
The upstream expat build has a complicated relationship between BUILD_SHARED_LIBS and EXPAT_SHARED_LIBS that can cause the two variables to be out of sync. ITK's internal use of expat requires that EXPAT_SHARED_LIBS have the same value as BUILD_SHARED_LIBS.
This is much more challenging that expected. I need to review the upstream code to determine if it needs to be fixed. |
ENH: Organized files to match upstream expat directory layout in preparation
for minimizing differences.
Instrument with comments to clearly identify where differences from
upstream are desired in the CMakeLists.txt configurations.
Followup from 38cca37 and requests
for updates in #5351.
PR Checklist