4 ms·
Nice! I would expect that it was relatively straight foward given that Blender is native on MacOS ARM and also iOS ARM? Blender is just so nice to use these d
by bhouston 1y ago
Nice! I would expect that it was relatively straight foward given that Blender is native on MacOS ARM and also iOS ARM?
Blender is just so nice to use these days.
- Hydraulix989 1y agoAnd Linux ARM, I would expect?
- seba_dos1 1y agoYes, Blender was native on my ARM phone several years ago already - until its GPU requirements went up.
- geraldcombs 1y agoFor us (Wireshark) the difficulty wasn't with our own codebase, but with getting our dependencies ported over. Most libraries built just fine, but some strongly assumed that "Windows" meant "x86". It's not just Windows, either. Many libraries (particularly ones that use Autotools) are absolutely blind to the notion that you might want a universal binary on macOS.
- astrange 1y agoWhen we ported OpenJDK to macOS, I ended up producing a universal binary by having the Makefile run itself to produce HotSpot twice, and then gluing them together with `lipo` afterwards. There isn't really a better way when the actual project configurations are different. IIRC it was eventually removed because nobody else needed to do such a thing so it was hard to maintain.
- kccqzy 1y agoSure. How else would you build a universal binary then? Given the low-level nature of the language not many tasks can be usefully shared between different architectures.
- geraldcombs 1y agoFor plain C/C++ you can just pass `-arch x86_64 -arch arm64` to clang. CMake takes care of this for you if you specify `CMAKE_OSX_ARCHITECTURES=x86_64;arm64` and IIRC Meson has similar functionality.
- kccqzy 1y agoTIL. I didn't know clang supports this natively.
- delta_p_delta_x 1y agoClang is natively a cross-compiler. Pass in --sysroot and a corresponding valid sysroot tree for any micro architecture/platform (arm-eabi, macOS, Windows MSVC, PowerPC, Alpine Linux with musl, you name it) and Clang will happily retarget the binary to the correct target platform.
- mrpippy 1y agoApple has supported that ‘-arch’ option in their GCC/Clang since at least the PPC->Intel transition, maybe even earlier (PPC64? NeXT/OPENSTEP?)
- zdw 1y agoI assume this is faster than doing two separate builds, because it can skip certain steps of the complier pipeline, and only the items that are arch specific (codegen, probably others) are done twice?
- Uehreka 1y ago> also iOS ARM? Wait WHAT?! Since when?
- bhouston 1y agoIt was announced two weeks ago. Details: https://youtu.be/JFtvdItYNBU https://youtu.be/JFtvdItYNBU
- TreeInBuxton 1y agoThere was a talk on this at Blendercon last year!: https://www.youtube.com/watch?v=xVn8wQ3tKxA https://www.youtube.com/watch?v=xVn8wQ3tKxA