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." ; + } } }