relic-toolkit / relic

Code
Other
453 stars 179 forks source link

Conflicts with WORD and FIXED using library in Windows projects/builds #84

Closed codablock closed 5 years ago

codablock commented 5 years ago

When relic is included before any Windows related headers, WORD is defined to 32/64, resulting in many function declarations inside Windows headers fail to compile. The same applies to FIXED.

I'd suggest to rename WORD to WORD_SIZE and FIXED to FIXED_WINDOW to fix this, as I already did in https://github.com/Chia-Network/bls-signatures/pull/26.

Question would be backwards compatibility here as people upgrading relic would then still set WORD in their builds. Adding a check into CMakeFiles.txt which would fail the build immediately is probably the best solution, as otherwise the build might succeed silently with wrong values for WORD/FIXED.

dfaranha commented 5 years ago

Thanks for this!

I'm a little obsessed with short names, thus something like WSIZE and FIXWI would be nicer and match the standard within the library. :)

codablock commented 5 years ago

@dfaranha Applied your suggestion and created https://github.com/relic-toolkit/relic/pull/86