haiku/build/jam/DefaultBuildProfiles
2013-09-07 15:25:55 +02:00

202 lines
4.2 KiB
Plaintext

# set HAIKU_BOOTSTRAP_BUILD early, if building a bootstrap Haiku image
switch $(HAIKU_BUILD_PROFILE) {
case "bootstrap-*" :
HAIKU_BOOTSTRAP_BUILD = 1 ;
}
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_IMAGE_SIZE = 800 ;
AddHaikuImagePackages
wpa_supplicant
:
system
;
AddHaikuImagePackages
bepdf
cvs
keymapswitcher
man
mercurial
nano
openssh
p7zip
pe
python
subversion
timgmsoundfont
vision
wonderbrush
wqy_microhei
xz_utils@!gcc2
;
# xz_utils can't be built with gcc2, so a mere gcc2 system doesn't
# have it. However, xz_utils does exist for the secondary (gcc4)
# architecture of a gcc2 hybrid.
if $(HAIKU_PACKAGING_ARCHS) != x86_gcc2 {
AddHaikuImagePackages
xz_utils_x86@gcc2
;
}
local architectureObject ;
for architectureObject in [ MultiArchSubDirSetup ] {
on $(architectureObject) {
AddHaikuImagePackages openssl : system ;
}
}
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_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 = 20000 ;
AddHaikuImagePackages
freetype
freetype_devel
grep
icu
libsolv
ncurses
ncurses_devel
sed
zlib
zlib_devel
:
system
;
AddHaikuImagePackages
autoconf
automake
binutils
bison
flex
gcc
haikuporter
# jam
libtool
libtool_libltdl
m4
make
# makeinfo
# mkdepend
# perl
python
# texinfo
;
# secondary architecture packages
local architectureObject ;
for architectureObject
in [ MultiArchSubDirSetup $(TARGET_PACKAGING_ARCHS[2-]) ] {
on $(architectureObject) {
AddHaikuImagePackages
freetype
freetype_devel
icu
libsolv
ncurses
ncurses_devel
zlib
zlib_devel
:
system
;
AddHaikuImagePackages
binutils
gcc
;
}
}
AddOptionalHaikuImagePackages DevelopmentMin ;
}
}
# 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." ;
}
}
}