Include DefaultBuildProfiles earlier

DefaultBuildProfiles is now included earlier (right after BuildSetup).
This allows us to set HAIKU_BOOTSTRAP_BUILD earlier, so it can be used
for the repository selection. The actual build profile definitions,
which cannot be done that early, live in the rule
DefineDefaultBuildProfiles, which is invoked where the file was
previously included.
This commit is contained in:
Ingo Weinhold 2013-07-21 03:20:26 +02:00
parent d1fe5b98d9
commit b9eec5192d
2 changed files with 144 additions and 134 deletions

View File

@ -54,6 +54,7 @@ include [ FDirName $(HAIKU_BUILD_RULES_DIR) PackageRules ] ;
include [ FDirName $(HAIKU_BUILD_RULES_DIR) RepositoryRules ] ;
include [ FDirName $(HAIKU_BUILD_RULES_DIR) TestsRules ] ;
include [ FDirName $(HAIKU_BUILD_RULES_DIR) BuildSetup ] ;
include [ FDirName $(HAIKU_BUILD_RULES_DIR) DefaultBuildProfiles ] ;
# Include the repositories for this architecture.
local repositoriesDirectory
@ -90,6 +91,6 @@ if ! $(HAIKU_IGNORE_USER_BUILD_CONFIG) {
}
}
include [ FDirName $(HAIKU_BUILD_RULES_DIR) DefaultBuildProfiles ] ;
DefineDefaultBuildProfiles ;
PrepareConfigVariables ;

View File

@ -1,142 +1,151 @@
# alpha release profiles
DefineBuildProfile alpha-raw : image : "haiku-alpha.image" ;
DefineBuildProfile alpha-vmware : vmware-image : "haiku-alpha.vmdk" ;
DefineBuildProfile alpha-cd : cd-image : "haiku-alpha.iso" ;
DefineBuildProfile alpha-anyboot : anyboot-image
: "haiku-alpha-anyboot.image" ;
# nightly profiles
DefineBuildProfile nightly-raw : image : "haiku-nightly.image" ;
DefineBuildProfile nightly-vmware : vmware-image : "haiku-nightly.vmdk" ;
DefineBuildProfile nightly-cd : cd-image : "haiku-nightly.iso" ;
DefineBuildProfile nightly-anyboot : anyboot-image
: "haiku-nightly-anyboot.image" ;
# bootstrap profiles
DefineBuildProfile bootstrap-raw : image : "haiku-bootstrap.image" ;
DefineBuildProfile bootstrap-vmware : vmware-image : "haiku-bootstrap.vmdk" ;
# set HAIKU_BOOTSTRAP_BUILD early, if building a bootstrap Haiku image
switch $(HAIKU_BUILD_PROFILE) {
case "alpha-*" : {
Echo Building Haiku R1/alpha ;
HAIKU_ROOT_USER_NAME = user ;
HAIKU_ROOT_USER_REAL_NAME = "Yourself" ;
AddGroupToHaikuImage party : 101 : user sshd ;
HAIKU_IMAGE_HOST_NAME = shredder ;
HAIKU_STRIP_DEBUG_FROM_OPTIONAL_PACKAGES = 1 ;
HAIKU_IMAGE_SIZE = 800 ;
AddHaikuImagePackages
openssl
wpa_supplicant
:
system
;
AddHaikuImagePackages
bepdf
cvs
keymapswitcher
man
mercurial
nano
openssh
p7zip
pe
python
subversion
timgmsoundfont
vision
wonderbrush
wqy_microhei
xz_utils
;
AddOptionalHaikuImagePackages BeBook Development Git WebPositive
Welcome ;
}
case "beta-*" : {
Echo You wish. ;
}
case "nightly-*" : {
Echo Building Haiku Nightly ;
HAIKU_ROOT_USER_NAME = user ;
HAIKU_ROOT_USER_REAL_NAME = "Yourself" ;
AddGroupToHaikuImage party : 101 : user sshd ;
HAIKU_STRIP_DEBUG_FROM_OPTIONAL_PACKAGES = 1 ;
HAIKU_IMAGE_HOST_NAME = shredder ;
HAIKU_IMAGE_SIZE = 600 ;
AddHaikuImagePackages
openssl
wpa_supplicant
:
system
;
AddHaikuImagePackages
man
nano
openssh
p7zip
pe
vision
xz_utils
;
AddOptionalHaikuImagePackages Development Git WebPositive ;
}
case "bootstrap-*" : {
Echo Building Haiku Bootstrap ;
case "bootstrap-*" :
HAIKU_BOOTSTRAP_BUILD = 1 ;
HAIKU_IMAGE_HOST_NAME = shredder ;
HAIKU_IMAGE_SIZE = 1000 ;
AddHaikuImagePackages
freetype_devel
zlib_devel
:
system
;
AddHaikuImagePackages
autoconf
automake
binutils
bison
flex
gcc
jam
libtool
m4
make
mkdepend
perl
texinfo
yasm
;
AddOptionalHaikuImagePackages DevelopmentMin ;
}
}
# Uncomment in official release branch.
#HAIKU_DEFINES += HAIKU_OFFICIAL_RELEASE ;
#TARGET_DEFINES += HAIKU_OFFICIAL_RELEASE ;
rule DefineDefaultBuildProfiles
{
# alpha release profiles
DefineBuildProfile alpha-raw : image : "haiku-alpha.image" ;
DefineBuildProfile alpha-vmware : vmware-image : "haiku-alpha.vmdk" ;
DefineBuildProfile alpha-cd : cd-image : "haiku-alpha.iso" ;
DefineBuildProfile alpha-anyboot : anyboot-image
: "haiku-alpha-anyboot.image" ;
# nightly profiles
DefineBuildProfile nightly-raw : image : "haiku-nightly.image" ;
DefineBuildProfile nightly-vmware : vmware-image : "haiku-nightly.vmdk" ;
DefineBuildProfile nightly-cd : cd-image : "haiku-nightly.iso" ;
DefineBuildProfile nightly-anyboot : anyboot-image
: "haiku-nightly-anyboot.image" ;
# bootstrap profiles
DefineBuildProfile bootstrap-raw : image : "haiku-bootstrap.image" ;
DefineBuildProfile bootstrap-vmware : vmware-image
: "haiku-bootstrap.vmdk" ;
switch $(HAIKU_BUILD_PROFILE) {
case "alpha-*" : {
Echo Building Haiku R1/alpha ;
HAIKU_ROOT_USER_NAME = user ;
HAIKU_ROOT_USER_REAL_NAME = "Yourself" ;
AddGroupToHaikuImage party : 101 : user sshd ;
HAIKU_IMAGE_HOST_NAME = shredder ;
HAIKU_STRIP_DEBUG_FROM_OPTIONAL_PACKAGES = 1 ;
HAIKU_IMAGE_SIZE = 800 ;
AddHaikuImagePackages
openssl
wpa_supplicant
:
system
;
AddHaikuImagePackages
bepdf
cvs
keymapswitcher
man
mercurial
nano
openssh
p7zip
pe
python
subversion
timgmsoundfont
vision
wonderbrush
wqy_microhei
xz_utils
;
AddOptionalHaikuImagePackages BeBook Development Git WebPositive
Welcome ;
}
case "beta-*" : {
Echo You wish. ;
}
case "nightly-*" : {
Echo Building Haiku Nightly ;
HAIKU_ROOT_USER_NAME = user ;
HAIKU_ROOT_USER_REAL_NAME = "Yourself" ;
AddGroupToHaikuImage party : 101 : user sshd ;
HAIKU_STRIP_DEBUG_FROM_OPTIONAL_PACKAGES = 1 ;
HAIKU_IMAGE_HOST_NAME = shredder ;
HAIKU_IMAGE_SIZE = 600 ;
AddHaikuImagePackages
openssl
wpa_supplicant
:
system
;
AddHaikuImagePackages
man
nano
openssh
p7zip
pe
vision
xz_utils
;
AddOptionalHaikuImagePackages Development Git WebPositive ;
}
case "bootstrap-*" : {
Echo Building Haiku Bootstrap ;
HAIKU_IMAGE_HOST_NAME = shredder ;
HAIKU_IMAGE_SIZE = 1000 ;
AddHaikuImagePackages
freetype_devel
zlib_devel
:
system
;
AddHaikuImagePackages
autoconf
automake
binutils
bison
flex
gcc
# jam
libtool
m4
make
# mkdepend
# perl
# texinfo
;
AddOptionalHaikuImagePackages DevelopmentMin ;
}
}
# If a build profile was specified on the command line, now is the time to
# check whether it is unknown or one of the default profiles.
if $(HAIKU_BUILD_PROFILE) && ! $(HAIKU_BUILD_PROFILE_DEFINED) {
# define the obvious default profiles
if $(HAIKU_BUILD_PROFILE) in anyboot-image cd-image image install
vmware-image {
DefineBuildProfile $(HAIKU_BUILD_PROFILE) : $(HAIKU_BUILD_PROFILE) ;
} else {
Exit "Build profile" $(HAIKU_BUILD_PROFILE) "not defined." ;
# Uncomment in official release branch.
#HAIKU_DEFINES += HAIKU_OFFICIAL_RELEASE ;
#TARGET_DEFINES += HAIKU_OFFICIAL_RELEASE ;
# If a build profile was specified on the command line, now is the time to
# check whether it is unknown or one of the default profiles.
if $(HAIKU_BUILD_PROFILE) && ! $(HAIKU_BUILD_PROFILE_DEFINED) {
# define the obvious default profiles
if $(HAIKU_BUILD_PROFILE) in anyboot-image cd-image image install
vmware-image {
DefineBuildProfile $(HAIKU_BUILD_PROFILE) : $(HAIKU_BUILD_PROFILE) ;
} else {
Exit "Build profile" $(HAIKU_BUILD_PROFILE) "not defined." ;
}
}
}