Force use of portable blst in nodejs bindings #339
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
__BLST_PORTABLE__
to list of defines for all source files/platforms.Note, there was this warning in the build step:
But I think this is fine. Probably a side-effect of blst's implementation. In blst, there is a tentative symbol (aka extern) defined in the assembly file. Then the real variable is defined in C code. Typically, when you list symbols there are two:
I think nodejs is deleting the tentative symbol/variable and just keeping the real one.
Also notice that
S
is now lowercases
which I think means it's a local variable.I made sure that runtime detection was working by:
___blst_platform_cap
to a different value,___blst_platform_cap
,To me this checks out, but something we could/should investigate more in the future.