Haikuports: Blender build settings

Created on 14 May 2020  路  5Comments  路  Source: haikuports/haikuports

Blender source tree contains the release settings what they use to build the official binaries.

I tried to follow their settings as closely as possible, to make interoperability possible between other platforms. In the recipe i made 4 group for the compiler flags:

  • platform specific (needed to build Blender on Haiku)
  • bugous (these settings should work but breaks build / functionality on Haiku, should be fixed )
  • missing deps (required dependency is not (yet) available for Haiku, should be ported)
  • release settings (no changes necessary)

The main idea was to NOT edit them IN-PLACE if a change required, but move into the respective category so it documents nicely the feature-parity status and the divergence from the release settings. This is important, otherwise the user may not be able to open files/scenes made on other platform.

As example:
1) According to release build configs, OpenVDB should be enabled.
2) It is also defined as enabled in our recipe.
3) Let's imagine it makes problems on Haiku, so we have to disable it: we should not just simply change it to OFF, but move them into the BUGOUS section in the same time.

What actually happens: everybody flips options back and forth like there is no morning because reasons. This wont work in the long run, so lets decide how to handle this.

The release config should be checked and the recipe accordingly adjusted time to time. From my POV it would be better if there would be a maintainer for this recipe, but let's hear what others think.

Most helpful comment

BTW it would be nice to switch to ninja (instead of make).

All 5 comments

Summon @X547 and @kenmays

My proposal would be:

  • remove release settings from the recipe, keeping only the differences
  • call cmake with -C/path/to/the/release/config.cmake in the recipe

Advantages:

  • we are always in parity with the release settings
  • our recipe can be much shorter because the removed release settings
  • removing release settings reduces the opportunity to change things for the sake of change

Disadvantages:

  • makes harder to understand how the recipe works

I think the main thing is to have a comment in the recipe explaining the situation. You can in fact copy the text of your ticket there, and then people will hopefully do things correctly?

BTW it would be nice to switch to ninja (instead of make).

BTW it would be nice to switch to ninja (instead of make).

+1, I already use ninja in my private build. It better support incremental build and errors are easier to investigate.

Was this page helpful?
0 / 5 - 0 ratings