On 2010-07-25 at 21:45:06 [+0200], Matt Madia <mattmadia@xxxxxxxxx> wrote: > I'm looking at implementing if-else conditionals in AboutSystem & > Installer's rdefs. > > What's difference between HAIKU_DEFINES and TARGET_DEFINES? Please have a look at BuildSetup around lines 900 and following. There the TARGET_* variables are set to the values of the corresponding HAIKU_* or HOST_* variables, depending on what target platform is set. Out of that set of HAIKU_* variables none should be used later anymore. The build system uses the TARGET_* variables for targets built for the target platform and the HOST_* variables for targets built for the build platform. > In ReleaseBuildProfiles, both are modified > --- > #HAIKU_DEFINES += HAIKU_OFFICIAL_RELEASE ; > #TARGET_DEFINES += HAIKU_OFFICIAL_RELEASE ; > > Though in BuildSetup, only HAIKU_DEFINES are modified > --- > switch $(HAIKU_DISTRO_COMPATIBILITY) { > case official : HAIKU_DEFINES += > HAIKU_DISTRO_COMPATIBILITY_OFFICIAL ; > case compatible : HAIKU_DEFINES += > HAIKU_DISTRO_COMPATIBILITY_COMPATIBLE ; > case "default" : HAIKU_DEFINES += HAIKU_DISTRO_COMPATIBILITY_DEFAULT > ; > > Would it be worthwhile to modify both in that section? No, the TARGET_* variables are set later anyway. ReleaseBuildProfiles is executed after BuildSetup, though, which is why setting HAIKU_DEFINES won't affect TARGET_DEFINES at that point anymore, though. Consequently, setting the former should be superfluous and setting the latter should be done only when $(TARGET_PLATFORM) = haiku. Well, ReleaseBuildProfiles might simply not be the best place to do that anyway. CU, Ingo