4f44282c3b
Activating all these packages on live boot (especially live DVD where we also have the write overlay eating up RAM) significantly increases memory requirements for running Haiku, to the point that Installer may fail to run. Move them outside the packages/ directory so they are not activated. Installer already skips the _sources_ directory when installing, and lists the contents of _packages_ with checkbox to decide what to include in the install (they are put in system/packages on the target disk). Fix from previous version: the Haiku package was installed to /system instead of /system/packages. Fixes #15621.
267 lines
6.4 KiB
Plaintext
267 lines
6.4 KiB
Plaintext
# 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 ;
|
|
}
|
|
}
|
|
Echo "Starting build of type $(HAIKU_BUILD_TYPE) ..." ;
|
|
|
|
|
|
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" ;
|
|
|
|
# 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.iso" ;
|
|
|
|
# bootstrap profiles
|
|
DefineBuildProfile bootstrap-raw : image : "haiku-bootstrap.image" ;
|
|
DefineBuildProfile bootstrap-mmc : haiku-mmc-image : "haiku-bootstrap.mmc" ;
|
|
DefineBuildProfile bootstrap-vmware : vmware-image
|
|
: "haiku-bootstrap.vmdk" ;
|
|
DefineBuildProfile bootstrap-anyboot : anyboot-image
|
|
: "haiku-bootstrap-anyboot.iso" ;
|
|
|
|
# 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" ;
|
|
|
|
switch $(HAIKU_BUILD_PROFILE) {
|
|
case "release-*" : {
|
|
Echo Building Haiku R1/development preview ;
|
|
HAIKU_ROOT_USER_NAME ?= user ;
|
|
HAIKU_ROOT_USER_REAL_NAME ?= "Yourself" ;
|
|
AddGroupToHaikuImage party : 101 : user sshd ;
|
|
HAIKU_IMAGE_HOST_NAME ?= shredder ;
|
|
if $(DEBUG) != 0 {
|
|
HAIKU_IMAGE_SIZE ?= 1300 ;
|
|
}
|
|
if $(HAIKU_INCLUDE_SOURCES) = 1 {
|
|
HAIKU_IMAGE_SIZE ?= 1100 ;
|
|
} else {
|
|
HAIKU_IMAGE_SIZE ?= 690 ;
|
|
}
|
|
|
|
AddHaikuImageSystemPackages
|
|
bepdf
|
|
keymapswitcher
|
|
llvm
|
|
man
|
|
nano
|
|
noto
|
|
noto_sans_cjk_jp
|
|
openssh
|
|
p7zip
|
|
pdfwriter
|
|
pe
|
|
python
|
|
timgmsoundfont
|
|
vision
|
|
wpa_supplicant
|
|
wqy_microhei
|
|
# xz_utils can't be built with gcc2, so we install it for
|
|
# primary gcc 8 architectures or gcc 2 hybrids.
|
|
xz_utils@!gcc2
|
|
gcc2 @{ xz_utils_x86@secondary_x86 }@
|
|
;
|
|
AddHaikuImageSourcePackages
|
|
bepdf
|
|
man
|
|
nano
|
|
p7zip
|
|
gcc
|
|
;
|
|
|
|
local architectureObject ;
|
|
for architectureObject in [ MultiArchSubDirSetup ] {
|
|
on $(architectureObject) {
|
|
AddHaikuImageSystemPackages openssl wonderbrush@gcc2 ;
|
|
}
|
|
}
|
|
|
|
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 {
|
|
AddOptionalHaikuImagePackages WebPositive ;
|
|
} else {
|
|
Echo "WebPositive not available on $(HAIKU_PACKAGING_ARCHS)" ;
|
|
}
|
|
}
|
|
|
|
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 ;
|
|
if $(DEBUG) != 0 {
|
|
HAIKU_IMAGE_SIZE ?= 850 ;
|
|
}
|
|
HAIKU_IMAGE_SIZE ?= 600 ;
|
|
HAIKU_NIGHTLY_BUILD = 1 ;
|
|
|
|
AddHaikuImageSystemPackages
|
|
man
|
|
nano
|
|
noto
|
|
openssh
|
|
openssl
|
|
p7zip
|
|
pe
|
|
vision
|
|
wpa_supplicant
|
|
# xz_utils can't be built with gcc2, so we install it for
|
|
# primary gcc 4 architectures or gcc 2 hybrids.
|
|
xz_utils@!gcc2
|
|
gcc2 @{ xz_utils_x86@secondary_x86 }@
|
|
;
|
|
AddHaikuImageSourcePackages
|
|
man
|
|
nano
|
|
p7zip
|
|
gcc
|
|
;
|
|
|
|
AddOptionalHaikuImagePackages Development Git ;
|
|
|
|
# WebPositive can only built for x86_gcc2, x86 and x86_64
|
|
if $(HAIKU_PACKAGING_ARCHS) in x86_gcc2 x86 x86_64 {
|
|
AddOptionalHaikuImagePackages WebPositive ;
|
|
} else {
|
|
Echo "WebPositive not available on $(HAIKU_PACKAGING_ARCHS)" ;
|
|
}
|
|
}
|
|
|
|
case "minimum-*" : {
|
|
Echo Building Haiku Minimum Target ;
|
|
HAIKU_IMAGE_HOST_NAME ?= shredder ;
|
|
if $(DEBUG) != 0 {
|
|
HAIKU_IMAGE_SIZE ?= 450 ;
|
|
}
|
|
|
|
AddHaikuImageSystemPackages
|
|
openssl
|
|
;
|
|
}
|
|
|
|
case "bootstrap-*" : {
|
|
Echo Building Haiku Bootstrap ;
|
|
HAIKU_IMAGE_HOST_NAME ?= shredder ;
|
|
HAIKU_IMAGE_SIZE ?= 20000 ;
|
|
|
|
AddHaikuImageSystemPackages
|
|
binutils
|
|
bison
|
|
expat
|
|
flex
|
|
gawk
|
|
gcc
|
|
grep
|
|
haikuporter
|
|
less
|
|
libedit
|
|
m4
|
|
make
|
|
ncurses6
|
|
noto
|
|
python
|
|
sed
|
|
texinfo
|
|
;
|
|
|
|
AddHaikuImageDisabledPackages
|
|
curl_devel
|
|
freetype_devel
|
|
libedit_devel
|
|
ncurses6_devel
|
|
zlib_devel
|
|
;
|
|
|
|
# secondary architecture packages
|
|
local architectureObject ;
|
|
for architectureObject
|
|
in [ MultiArchSubDirSetup $(TARGET_PACKAGING_ARCHS[2-]) ] {
|
|
on $(architectureObject) {
|
|
AddHaikuImageSystemPackages
|
|
binutils
|
|
curl
|
|
expat
|
|
freetype
|
|
gcc
|
|
icu
|
|
libsolv
|
|
libedit
|
|
ncurses6
|
|
zlib
|
|
;
|
|
AddHaikuImageDisabledPackages
|
|
curl_devel
|
|
freetype_devel
|
|
libedit_devel
|
|
ncurses6_devel
|
|
zlib_devel
|
|
;
|
|
}
|
|
}
|
|
|
|
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." ;
|
|
}
|
|
}
|
|
}
|