[Solved] How to use build variables?

There’s this logic e.g. in the Installer rdef like this:

#ifdef HAIKU_DISTRO_COMPATIBILITY_OFFICIAL
#ifdef HAIKU_OFFICIAL_RELEASE
resource(1, "logo.png") #'PNG ' import "../../../data/artwork/HAIKU logo - black on white - installer.png";
#else
resource(1, "logo.png") #'PNG ' import "../../../data/artwork/HAIKU logo - black on white - installer - development.png";
#endif
#else
resource(1, "logo.png") #'PNG ' import "../../../data/artwork/Walter logo.png";
#endif

What do I have to put in my UserBuildConfig to get the Walter logo?
No matter what I try, I always get the “development” version…

Distro compatibility is set up by the configure script. The BuildConfig should contain a variable HAIKU_DISTRO_COMPATIBILITY, which you can change to default.

HAIKU_DISTRO_COMPATIBILITY already appears to be set to “default”, see BuildSetup « jam « build - haiku - Haiku's main repository

I tried “official” and “compatible”, too. Always get the development-version of the logo…

Maybe i’m reading this wrong, but it looks like the ifdef HAIKU_OFFICIAL_RELEASE ends with only these two possibilities (plain installer and development) and the Walter logo is located in the ifdef HAIKU_DISTRO_COMPATIBILITY_OFFICIAL loop, which would only be used if there is no HAIKU_OFFICIAL_RELEASE?

Yes. The https://cgit.haiku-os.org/haiku/tree/build/jam/DefaultProfiles#n241 don’t set the HAIKU_OFFICIAL_RELEASE flag, normally. So why don’t I get the Walter logo always, unless I uncomment those lines in the DefaultProfiles file?

That’s if it’s not already set to another value. Check the BuildConfig that the configure script creates in the generated/build directory.

You can remove objects/haiku/x86_64/common/apps/installer/Installer.rsrc then use “jam -dx Installer” to show the commandline used to compile the rdef

export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/haiku/generated_gcc13_64/objects/linux/lib"
cat "../src/apps/installer/Installer.rdef" | /haiku/generated_gcc13_64/cross-tools-x86_64/bin/x86_64-unknown-haiku-gcc -pipe -fno-strict-aliasing -fno-delete-null-pointer-checks -fno-builtin-fork -fno-builtin-vfork -nostdinc -E -DARCH_x86_64 -D__HAIKU_PRIMARY_PACKAGING_ARCH=\"x86_64\" -DHAIKU_DISTRO_COMPATIBILITY_DEFAULT -DHAIKU_TARGET_PLATFORM_HAIKU -DHAIKU_REGULAR_BUILD -iquote ../src/apps/installer -iquote objects/common/apps/installer -iquote objects/linux/x86_64/common/apps/installer -iquote objects/haiku/x86_64/common/apps/installer -iquote ../src/kits/tracker -iquote ../src/servers/launch - \
| grep -E -v '^#' | objects/linux/x86_64/release/tools/rc/rc -I ../src/apps/installer -I objects/common/apps/installer -I objects/linux/x86_64/common/apps/installer -I objects/haiku/x86_64/common/apps/installer -I ../src/kits/tracker -I ../src/servers/launch --auto-names -o "objects/haiku/x86_64/common/apps/installer/Installer.rsrc" -


Using the same command line until grep should output the preprocessed rdef.
In my test, default really means the walter logo is chosen.

Thanks guys, @madmax was on the money. In my “configure” line I used --distro-compatibility official, which of course ended up in generated/build/BuildConfig…
After reconfiguring with --distro-compatibility default I now get properly slapped with the Walter logo.