robbmcleod / pyfastnoisesimd

Python module wrapping C++ FastNoiseSIMD
BSD 3-Clause "New" or "Revised" License
39 stars 6 forks source link

Add platform-specific flags for NEON. #15

Open QuLogic opened 6 years ago

QuLogic commented 6 years ago

Along with some upstream changes (below), this allows a full build on armv7hl.

https://github.com/Auburns/FastNoiseSIMD/commit/32873404111701397781fe9ef21931fed4f7f766 https://github.com/Auburns/FastNoiseSIMD/commit/575c0047bbfd2bac841359daa9db220a9f97a638 https://github.com/Auburns/FastNoiseSIMD/pull/27 https://github.com/Auburns/FastNoiseSIMD/pull/32

QuLogic commented 6 years ago

Ah, I wasn't too sure how well this would work on Windows; will have to tweak it a little bit.

QuLogic commented 6 years ago

OK, fixed Windows (I think) and also aarch64, which supports NEON, but doesn't need a flag for it.

robbmcleod commented 6 years ago

I think then that I should investigate making the pyfastnoisesimd\fastnoisesimd directory a submodule. I think the only added file is x86_flags.h, which doesn't need to be in the repo.

Edit: x86_flags.h is being defined to replace some macros in FastNoiseSIMD.h which otherwise require the user to commit out/in lines before compilation. So (speaking to myself here), what are the options here? Do a PR against FastNoiseSIMD to make a separate defines file? Some string-replacements in the Python setup.py?

QuLogic commented 6 years ago

PS, I've heard through some NumPy issues that Shippable is starting to provide ARMv8 CI.

robbmcleod commented 6 years ago

Good to know thanks. I see Auburns still hasn't accepted your PR so I could rebase off your repo for now and forget the submodule in the short-term.