From b9eec5192d6b6282a2bf5284e8c4121d0a29f09d Mon Sep 17 00:00:00 2001 From: Ingo Weinhold Date: Sun, 21 Jul 2013 03:20:26 +0200 Subject: [PATCH] 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. --- Jamrules | 3 +- build/jam/DefaultBuildProfiles | 275 +++++++++++++++++---------------- 2 files changed, 144 insertions(+), 134 deletions(-) diff --git a/Jamrules b/Jamrules index e6c027f635..5274327827 100644 --- a/Jamrules +++ b/Jamrules @@ -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 ; diff --git a/build/jam/DefaultBuildProfiles b/build/jam/DefaultBuildProfiles index 0a87bb36d4..59af307b90 100644 --- a/build/jam/DefaultBuildProfiles +++ b/build/jam/DefaultBuildProfiles @@ -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." ; + } } }