A bit late to the party as it's been floating around for ages..
The past few months I have been tinkering with the Xbox tree seeing how it works.. and much like my work with the NT 5 tree, Environment Variables will totally change a build.
I'm making this thread to list down what environment variables I know (most will already know this) as a reference for me and anyone interested.. Also citation on errors or misinformation is greatly welcomed, I won't be putting the standard "_NT386TREE" kind of ones..
Anything with a * I am unsure about.
These are related to targeting "Retail" and trigger quite a few changes during build.
• RETAILXM3=1
• OFFICIAL_BUILD=1*
or
• RETAILXM3P=1
• OFFICIAL_BUILD=1 *
This one caused a load of errors, I didnt look much into this one yet.
• COVERAGE_BUILD=1 *
For some reason this one was never set for the tree I work with, some postbuild scripts require this.
• _BUILDVER=4400
This one seems to affect more 'closer to production' build options, several postbuild scripts rely on this set.
• COMPUTERNAME=XBuilds
This one needs to be set before razzle gets to "ntuser.cmd" as it specifies build options.
• NTDEBUG=release
Causes:
• 'ltcg ~dm' to be added to %BUILD_OPTIONS%
• sets NTDEBUG=ntsdnodbg
• sets NODEVKIT=1
But setting to:
• NTDEBUG=free
Causes:
• 'ltcg profile' to be added to %BUILD_OPTIONS%
• NODEVKIT=1
These are related to Checked builds.
• BUILD_ALT_DIR=d
• CHECKED_ALT_DIR= *
• FREEBUILD=0 *
This one is presumably set on retail builds
• FREEBUILD=1 *
This one in theory enables some alternative textures and model placements for the dashboard, most likely used during testing.
• COOL_DASH=1 *
This one I am unsure about its purpose, it's referenced throughout the code..
• SILVER=
I will add more as I find them, if anyone else knows any worth noting please add!
The past few months I have been tinkering with the Xbox tree seeing how it works.. and much like my work with the NT 5 tree, Environment Variables will totally change a build.
I'm making this thread to list down what environment variables I know (most will already know this) as a reference for me and anyone interested.. Also citation on errors or misinformation is greatly welcomed, I won't be putting the standard "_NT386TREE" kind of ones..
Anything with a * I am unsure about.
These are related to targeting "Retail" and trigger quite a few changes during build.
• RETAILXM3=1
• OFFICIAL_BUILD=1*
or
• RETAILXM3P=1
• OFFICIAL_BUILD=1 *
This one caused a load of errors, I didnt look much into this one yet.
• COVERAGE_BUILD=1 *
For some reason this one was never set for the tree I work with, some postbuild scripts require this.
• _BUILDVER=4400
This one seems to affect more 'closer to production' build options, several postbuild scripts rely on this set.
• COMPUTERNAME=XBuilds
This one needs to be set before razzle gets to "ntuser.cmd" as it specifies build options.
• NTDEBUG=release
Causes:
• 'ltcg ~dm' to be added to %BUILD_OPTIONS%
• sets NTDEBUG=ntsdnodbg
• sets NODEVKIT=1
But setting to:
• NTDEBUG=free
Causes:
• 'ltcg profile' to be added to %BUILD_OPTIONS%
• NODEVKIT=1
These are related to Checked builds.
• BUILD_ALT_DIR=d
• CHECKED_ALT_DIR= *
• FREEBUILD=0 *
This one is presumably set on retail builds
• FREEBUILD=1 *
This one in theory enables some alternative textures and model placements for the dashboard, most likely used during testing.
• COOL_DASH=1 *
This one I am unsure about its purpose, it's referenced throughout the code..
• SILVER=
I will add more as I find them, if anyone else knows any worth noting please add!
Last edited: