Skip to content

Conversation

@Lukasa
Copy link
Contributor

@Lukasa Lukasa commented Apr 18, 2025

Motivation

C++ interop support in Xcode has started to dislike the header files from llhttp. While a bug has been filed upstream at nodejs/llparse#71 it doesn't seem as though there is any movement on that fix upstream. As a result, we need to apply a patch.

To keep the code maintainable, we'd like to apply that patch in an automated fashion, so we should do so by amending the "update and patch" script. Along the way, we should update LLHTTP to the latest code.

Modifications

The modifications are split into separate commits.

  1. Modify the script to fix some bugs that have crept in.
  2. Run the script to update LLHTTP to latest, without the patch.
  3. Fix up the tests to account for the fact that we get some different errors from LLHTTP now.
  4. Apply the patch suggested by @postmechanical in Cxx interop problem #3093
  5. Re-run the script, which only applies the patch

Result

C++ interop should be working again. Resolves #3093.

@Lukasa Lukasa added the 🔨 semver/patch No public API change. label Apr 18, 2025
@Lukasa Lukasa mentioned this pull request Apr 18, 2025
@adam-fowler
Copy link
Contributor

@Lukasa did you remove the workaround implemented for #2274 given there was a fix upstream in LLHTTP

@Lukasa
Copy link
Contributor Author

Lukasa commented Apr 21, 2025

No I didn't. Good catch though, we should remove that workaround. I think it can be a separate patch though.

@Lukasa Lukasa merged commit 6e17bc9 into apple:main Apr 22, 2025
44 of 45 checks passed
@Lukasa Lukasa deleted the cb-cxx-llhttp branch April 22, 2025 12:11
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

🔨 semver/patch No public API change.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Cxx interop problem

3 participants