Files
haiku-beta6/build/jam/DefaultBuildProfiles
T

255 lines
6.5 KiB
Plaintext
Raw Normal View History

# set HAIKU_BUILD_TYPE early
switch $(HAIKU_BUILD_PROFILE) {
case "bootstrap-*" : {
HAIKU_BUILD_TYPE = bootstrap ;
EnableBuildFeatures bootstrap_image ;
# Add a third pseudo target for the platform used when building anything
# for stage0 of the bootstrap process.
NotFile bootstrap_stage0 ;
HAIKU_DEFINES += HAIKU_BOOTSTRAP_BUILD ;
TARGET_DEFINES += HAIKU_BOOTSTRAP_BUILD ;
}
case "minimum-*" : {
HAIKU_BUILD_TYPE = minimum ;
EnableBuildFeatures minimum_image ;
HAIKU_DEFINES += HAIKU_MINIMUM_BUILD ;
TARGET_DEFINES += HAIKU_MINIMUM_BUILD ;
}
case "*" : {
HAIKU_BUILD_TYPE = regular ;
EnableBuildFeatures regular_image ;
HAIKU_DEFINES += HAIKU_REGULAR_BUILD ;
TARGET_DEFINES += HAIKU_REGULAR_BUILD ;
}
2013-07-21 03:20:26 +02:00
}
Echo "Starting build of type $(HAIKU_BUILD_TYPE) ..." ;
2009-09-23 09:02:31 +00:00
2013-07-21 03:20:26 +02:00
rule DefineDefaultBuildProfiles
{
# release profiles
DefineBuildProfile release-raw : image : "haiku-release.image" ;
DefineBuildProfile release-vmware : vmware-image : "haiku-release.vmdk" ;
DefineBuildProfile release-cd : cd-image : "haiku-release.iso" ;
DefineBuildProfile release-anyboot : anyboot-image
: "haiku-release-anyboot.iso" ;
2013-07-21 03:20:26 +02:00
# nightly profiles
DefineBuildProfile nightly-raw : image : "haiku-nightly.image" ;
DefineBuildProfile nightly-mmc : haiku-mmc-image : "haiku-nightly.mmc" ;
2013-07-21 03:20:26 +02:00
DefineBuildProfile nightly-vmware : vmware-image : "haiku-nightly.vmdk" ;
DefineBuildProfile nightly-cd : cd-image : "haiku-nightly.iso" ;
DefineBuildProfile nightly-anyboot : anyboot-image
: "haiku-nightly-anyboot.iso" ;
2013-07-21 03:20:26 +02:00
# bootstrap profiles
DefineBuildProfile bootstrap-raw : image : "haiku-bootstrap.image" ;
DefineBuildProfile bootstrap-mmc : haiku-mmc-image : "haiku-bootstrap.mmc" ;
2013-07-21 03:20:26 +02:00
DefineBuildProfile bootstrap-vmware : vmware-image
: "haiku-bootstrap.vmdk" ;
2016-07-11 15:14:22 +02:00
DefineBuildProfile bootstrap-anyboot : anyboot-image
: "haiku-bootstrap-anyboot.iso" ;
2013-07-21 03:20:26 +02:00
# minimum profiles
DefineBuildProfile minimum-raw : image : "haiku-minimum.image" ;
DefineBuildProfile minimum-mmc : haiku-mmc-image : "haiku-minimum.mmc" ;
DefineBuildProfile minimum-vmware : vmware-image : "haiku-minimum.vmdk" ;
DefineBuildProfile minimum-cd : cd-image : "haiku-minimum.iso" ;
DefineBuildProfile minimum-anyboot : anyboot-image
: "haiku-minimum-anyboot.iso" ;
2013-07-21 03:20:26 +02:00
switch $(HAIKU_BUILD_PROFILE) {
case "release-*" : {
Echo Building Haiku R1/development preview ;
HAIKU_ROOT_USER_NAME ?= user ;
HAIKU_ROOT_USER_REAL_NAME ?= "Yourself" ;
2013-07-21 03:20:26 +02:00
AddGroupToHaikuImage party : 101 : user sshd ;
HAIKU_IMAGE_HOST_NAME ?= shredder ;
2022-11-13 17:57:08 -06:00
if $(HAIKU_INCLUDE_SOURCES) = 1 || $(DEBUG) != 0 {
HAIKU_IMAGE_SIZE ?= 1400 ;
} else {
HAIKU_IMAGE_SIZE ?= 800 ;
}
2013-07-21 03:20:26 +02:00
AddHaikuImageSystemPackages
2013-07-21 03:20:26 +02:00
bepdf
keymapswitcher
2020-04-19 17:54:51 -04:00
mandoc
noto
noto_sans_cjk_jp
2013-07-21 03:20:26 +02:00
openssh
pdfwriter
2013-07-21 03:20:26 +02:00
pe
timgmsoundfont
vision
2013-09-29 22:09:00 +02:00
wpa_supplicant
# Some packages can't be built with gcc2, so we install the gcc13
2021-04-17 21:41:55 +02:00
# secondary architecture package instead in this case
2022-11-12 23:46:54 -05:00
!gcc2 @{ nano p7zip python3.9 xz_utils }@
2021-04-17 21:41:55 +02:00
gcc2 @{ nano_x86@secondary_x86 p7zip_x86@secondary_x86
2022-11-12 23:46:54 -05:00
python3.9_x86@secondary_x86 xz_utils_x86@secondary_x86 }@
2013-07-21 03:20:26 +02:00
;
AddHaikuImageSourcePackages
bepdf
nano
p7zip
;
2013-07-21 03:20:26 +02:00
local architectureObject ;
for architectureObject in [ MultiArchSubDirSetup ] {
on $(architectureObject) {
2024-06-02 19:00:23 +02:00
AddHaikuImageSystemPackages openssl3 wonderbrush@gcc2 ;
}
}
2013-11-24 13:33:44 +01:00
AddOptionalHaikuImagePackages BeBook Development Git Welcome ;
# WebPositive can only built for x86_gcc2, x86 and x86_64
if $(HAIKU_PACKAGING_ARCHS) in x86_gcc2 x86 x86_64 {
2013-11-24 13:33:44 +01:00
AddOptionalHaikuImagePackages WebPositive ;
} else {
Echo "WebPositive not available on $(HAIKU_PACKAGING_ARCHS)" ;
}
2013-07-21 03:20:26 +02:00
}
case "nightly-*" : {
Echo Building Haiku Nightly ;
HAIKU_ROOT_USER_NAME ?= user ;
HAIKU_ROOT_USER_REAL_NAME ?= "Yourself" ;
2013-07-21 03:20:26 +02:00
AddGroupToHaikuImage party : 101 : user sshd ;
HAIKU_IMAGE_HOST_NAME ?= shredder ;
if $(DEBUG) != 0 {
HAIKU_IMAGE_SIZE ?= 850 ;
}
HAIKU_IMAGE_SIZE ?= 600 ;
HAIKU_NIGHTLY_BUILD = 1 ;
2013-07-21 03:20:26 +02:00
AddHaikuImageSystemPackages
2020-04-19 17:54:51 -04:00
mandoc
noto
2013-07-21 03:20:26 +02:00
openssh
2024-06-02 19:00:23 +02:00
openssl3
2013-07-21 03:20:26 +02:00
pe
vision
2013-09-29 22:09:00 +02:00
wpa_supplicant
2013-11-24 13:33:44 +01:00
# xz_utils can't be built with gcc2, so we install it for
2021-04-17 21:41:55 +02:00
# primary gcc 8 architectures or gcc 2 hybrids.
!gcc2 @{ nano p7zip xz_utils }@
gcc2 @{
nano_x86@secondary_x86
p7zip_x86@secondary_x86
xz_utils_x86@secondary_x86
}@
2013-07-21 03:20:26 +02:00
;
AddHaikuImageSourcePackages
nano
p7zip
;
2013-07-21 03:20:26 +02:00
AddOptionalHaikuImagePackages Development Git ;
# WebPositive can only built for x86_gcc2, x86 and x86_64
if $(HAIKU_PACKAGING_ARCHS) in x86_gcc2 x86 x86_64 {
2013-11-24 13:33:44 +01:00
AddOptionalHaikuImagePackages WebPositive ;
} else {
Echo "WebPositive not available on $(HAIKU_PACKAGING_ARCHS)" ;
}
2013-07-21 03:20:26 +02:00
}
case "minimum-*" : {
Echo Building Haiku Minimum Target ;
HAIKU_IMAGE_HOST_NAME ?= shredder ;
if $(DEBUG) != 0 {
HAIKU_IMAGE_SIZE ?= 450 ;
}
AddHaikuImageSystemPackages
2024-06-02 19:00:23 +02:00
openssl3
;
}
2013-07-21 03:20:26 +02:00
case "bootstrap-*" : {
Echo Building Haiku Bootstrap ;
HAIKU_IMAGE_HOST_NAME ?= shredder ;
HAIKU_IMAGE_SIZE ?= 20000 ;
2013-07-21 03:20:26 +02:00
AddHaikuImageSystemPackages
2013-07-21 03:20:26 +02:00
binutils
bison
2015-02-08 20:28:42 +01:00
expat
2013-07-21 03:20:26 +02:00
flex
gcc
2013-09-29 22:09:00 +02:00
grep
haikuporter
2014-10-28 18:53:27 +01:00
less
libedit
2013-07-21 03:20:26 +02:00
make
ncurses6
noto
python
2013-09-29 22:09:00 +02:00
sed
texinfo
!gcc2 @{ gawk grep }@
gcc2 @{ grep_x86@secondary_x86 mawk }@
;
AddHaikuImageDisabledPackages
freetype_devel
libedit_devel
ncurses6_devel
zlib_devel
;
# secondary architecture packages
local architectureObject ;
for architectureObject
in [ MultiArchSubDirSetup $(TARGET_PACKAGING_ARCHS[2-]) ] {
on $(architectureObject) {
AddHaikuImageSystemPackages
2013-09-29 22:09:00 +02:00
binutils
2015-02-08 20:28:42 +01:00
expat
freetype
2013-09-29 22:09:00 +02:00
gcc
icu@gcc2 icu74@!gcc2
libedit
ncurses6
zlib
;
AddHaikuImageDisabledPackages
freetype_devel
libedit_devel
ncurses6_devel
zlib_devel
;
}
}
2013-07-21 03:20:26 +02:00
AddOptionalHaikuImagePackages DevelopmentMin ;
}
}
2013-07-21 03:20:26 +02:00
# Uncomment in official release branch.
#HAIKU_DEFINES += HAIKU_OFFICIAL_RELEASE ;
#TARGET_DEFINES += HAIKU_OFFICIAL_RELEASE ;
2013-07-21 03:20:26 +02:00
# 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 cd-image install vmware-image {
2013-07-21 03:20:26 +02:00
DefineBuildProfile $(HAIKU_BUILD_PROFILE) : $(HAIKU_BUILD_PROFILE) ;
} else {
Exit "Build profile" $(HAIKU_BUILD_PROFILE) "not defined." ;
}
}
}