23b891504c
Now that the fake packages are in place, it is much easier to build the MMC image for ARM without the need for a bootstrap build. This image still does not manage to access the tarfs and load the kernel modules, but it gets to KDL, at least.
231 lines
5.7 KiB
Plaintext
231 lines
5.7 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.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-mmc : haiku-mmc-image : "haiku-bootstrap.mmc" ;
|
|
DefineBuildProfile bootstrap-vmware : vmware-image
|
|
: "haiku-bootstrap.vmdk" ;
|
|
|
|
# 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-anyboot : anyboot-image
|
|
: "haiku-minimum-anyboot.image" ;
|
|
|
|
|
|
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 ;
|
|
HAIKU_IMAGE_SIZE ?= 800 ;
|
|
|
|
AddHaikuImagePackages
|
|
bepdf
|
|
cvs
|
|
keymapswitcher
|
|
llvm
|
|
man
|
|
mercurial
|
|
nano
|
|
openssh
|
|
p7zip
|
|
pe
|
|
python
|
|
subversion
|
|
timgmsoundfont
|
|
vision
|
|
wpa_supplicant
|
|
wqy_microhei
|
|
# 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 }@
|
|
;
|
|
|
|
local architectureObject ;
|
|
for architectureObject in [ MultiArchSubDirSetup ] {
|
|
on $(architectureObject) {
|
|
AddHaikuImagePackages 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 "alpha-*" : {
|
|
Echo The alpha-* build profiles have been renamed to release-* ;
|
|
}
|
|
|
|
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
|
|
man
|
|
nano
|
|
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 }@
|
|
;
|
|
|
|
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 "bootstrap-*" : {
|
|
Echo Building Haiku Bootstrap ;
|
|
HAIKU_IMAGE_HOST_NAME ?= shredder ;
|
|
HAIKU_IMAGE_SIZE ?= 20000 ;
|
|
|
|
AddHaikuImagePackages
|
|
autoconf
|
|
automake
|
|
binutils
|
|
bison
|
|
curl_devel
|
|
flex
|
|
freetype_devel
|
|
gawk
|
|
gcc
|
|
grep
|
|
haikuporter
|
|
libtool
|
|
libtool_libltdl
|
|
m4
|
|
make
|
|
ncurses
|
|
ncurses_devel
|
|
python
|
|
sed
|
|
texinfo
|
|
zlib_devel
|
|
;
|
|
|
|
# secondary architecture packages
|
|
local architectureObject ;
|
|
for architectureObject
|
|
in [ MultiArchSubDirSetup $(TARGET_PACKAGING_ARCHS[2-]) ] {
|
|
on $(architectureObject) {
|
|
AddHaikuImagePackages
|
|
binutils
|
|
curl
|
|
curl_devel
|
|
freetype
|
|
freetype_devel
|
|
gcc
|
|
icu
|
|
libsolv
|
|
ncurses
|
|
ncurses_devel
|
|
zlib
|
|
zlib_devel
|
|
;
|
|
}
|
|
}
|
|
|
|
AddOptionalHaikuImagePackages DevelopmentMin ;
|
|
}
|
|
|
|
case "minimum-*" : {
|
|
Echo Building Haiku Minimum Target ;
|
|
HAIKU_IMAGE_HOST_NAME ?= shredder ;
|
|
|
|
AddHaikuImagePackages
|
|
;
|
|
}
|
|
}
|
|
|
|
|
|
# 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." ;
|
|
}
|
|
}
|
|
}
|