haiku/build/jam/OptionalPackages
Augustin Cavalier 47320dd0ab configure & build: Rework legacy GCC detection to parse versions outside of Jam.
Jam comparison logic is string-based, and so was detecting GCC >= 10
as being < 2. This rectifies that by removing the GCC version parsing
from Jam logic entirely, and setting various BuildConfig variables
instead.

Change-Id: I0c0ae3b9002fb5e77f9ca7a78600c91871657f03
Reviewed-on: https://review.haiku-os.org/c/haiku/+/3293
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
Reviewed-by: Jérôme Duval <jerome.duval@gmail.com>
Reviewed-by: Alex von Gluck IV <kallisti5@unixzen.com>
2020-10-09 01:20:02 +00:00

182 lines
5.0 KiB
Plaintext

# This file defines the optional packages that can be added to the Haiku image.
# It is directly included from HaikuImage -- all variables defined there can
# be used.
# Available Optional Packages:
# BeOSCompatibility - creates links within the system to support old apps
# Development - more complete dev environment (including autotools)
# DevelopmentBase - basic development environment (gcc, headers, libs,...)
# DevelopmentMin - development headers, libs, tools, from sources only
# Git - the distributed version control system
# WebPositive - native, WebKit-based web browser
# Welcome - introductory documentation to Haiku
# dependencies between optional packages
OptionalPackageDependencies Development : DevelopmentBase ;
OptionalPackageDependencies DevelopmentBase : DevelopmentMin ;
OptionalPackageDependencies DevelopmentPowerPC : DevelopmentMin ;
OptionalPackageDependencies NetFS : UserlandFS ;
# Haiku sources
if $(HAIKU_INCLUDE_SOURCES) = 1 {
AddPackageFilesToHaikuImage _sources_
:
haiku_source.hpkg
:
nameFromMetaInfo
;
}
# BeBook
if [ IsOptionalHaikuImagePackageAdded BeBook ] {
AddHaikuImageSystemPackages be_book ;
AddSymlinkToHaikuImage home Desktop
: /boot/system/documentation/BeBook/index.html
: BeBook ;
}
# BeOSCompatibility
if [ IsOptionalHaikuImagePackageAdded BeOSCompatibility ] {
if $(TARGET_ARCH) != x86
|| $(TARGET_CC_IS_LEGACY_GCC_$(TARGET_PACKAGING_ARCH)) != 1 {
Echo "No optional package BeOSCompatibility available for"
"$(TARGET_ARCH)" ;
} else {
Echo "Warning: Adding BeOS compatibility symlinks. This will go away."
"Please fix your apps!" ;
AddSymlinkToHaikuImage beos : ../system/apps ;
AddSymlinkToHaikuImage beos : ../system/bin ;
AddSymlinkToHaikuImage beos
: ../system/documentation ;
AddSymlinkToHaikuImage beos : ../system/settings/etc ;
AddSymlinkToHaikuImage beos : ../system/preferences ;
AddSymlinkToHaikuImage beos : ../system ;
AddDirectoryToHaikuImage var ;
AddSymlinkToHaikuImage var : /boot/system/var/log ;
AddSymlinkToHaikuImage var : /boot/system/cache/tmp ;
}
}
# Development
if [ IsOptionalHaikuImagePackageAdded Development ] {
# autotools
AddHaikuImageDisabledPackages autoconf automake texinfo ;
AddHaikuImageSourcePackages autoconf automake texinfo ;
# some other build tools
AddHaikuImageDisabledPackages pkgconfig ;
AddHaikuImageSourcePackages pkgconfig ;
# devel packages for some of the base set
local architectureObject ;
for architectureObject in [ MultiArchSubDirSetup ] {
on $(architectureObject) {
AddHaikuImageDisabledPackages curl_devel openssl_devel nghttp2_devel
libjpeg_turbo_devel libpng16_devel zlib_devel ;
}
}
}
# DevelopmentBase
if [ IsOptionalHaikuImagePackageAdded DevelopmentBase ] {
# gcc and binutils (for all target architectures)
local architectureObject ;
for architectureObject in [ MultiArchSubDirSetup ] {
on $(architectureObject) {
AddHaikuImageDisabledPackages binutils gcc mpc gmp mpfr ;
AddHaikuImageSourcePackages binutils gcc mpc gmp mpfr ;
}
}
# other commonly used tools
AddHaikuImageDisabledPackages bison cdrtools flex jam m4 make mkdepend nasm patch ;
AddHaikuImageSourcePackages bison cdrtools m4 make patch ;
}
# DevelopmentMin
if [ IsOptionalHaikuImagePackageAdded DevelopmentMin ]
&& ( $(TARGET_ARCH) = x86 || $(TARGET_ARCH) = x86_64 ) {
AddPackageFilesToHaikuImage _packages_
:
haiku_devel.hpkg
haiku_$(TARGET_PACKAGING_ARCHS[2-])_devel.hpkg
:
nameFromMetaInfo
;
if $(HAIKU_IS_BOOTSTRAP) != 1 {
AddPackageFilesToHaikuImage _packages_
:
makefile_engine.hpkg
:
nameFromMetaInfo
;
AddHaikuImageDisabledPackages make mkdepend ;
AddHaikuImageSourcePackages make ;
}
}
# Git
if [ IsOptionalHaikuImagePackageAdded Git ] {
AddHaikuImageSystemPackages git git_daemon perl ;
AddHaikuImageSourcePackages git ;
}
# WebPositive
if [ IsOptionalHaikuImagePackageAdded WebPositive ] {
local architectureObject ;
for architectureObject in [ MultiArchSubDirSetup ] {
on $(architectureObject) {
if [ FIsBuildFeatureEnabled webpositive ] {
AddPackageFilesToHaikuImage system packages : webpositive.hpkg
: nameFromMetaInfo ;
break ;
}
}
}
}
# Welcome
if [ IsOptionalHaikuImagePackageAdded Welcome ] {
AddPackageFilesToHaikuImage system packages :
haiku_userguide_ca.hpkg
haiku_userguide_de.hpkg
haiku_userguide_en.hpkg
haiku_userguide_es.hpkg
haiku_userguide_fi.hpkg
haiku_userguide_fur.hpkg
haiku_userguide_fr.hpkg
haiku_userguide_hu.hpkg
haiku_userguide_id.hpkg
haiku_userguide_it.hpkg
haiku_userguide_jp.hpkg
haiku_userguide_pl.hpkg
haiku_userguide_pt_BR.hpkg
haiku_userguide_pt_PT.hpkg
haiku_userguide_ro.hpkg
haiku_userguide_ru.hpkg
haiku_userguide_sk.hpkg
haiku_userguide_sv_SE.hpkg
haiku_userguide_tr.hpkg
haiku_userguide_uk.hpkg
haiku_userguide_zh_CN.hpkg
haiku_welcome.hpkg
: nameFromMetaInfo ;
AddSymlinkToHaikuImage home Desktop : /boot/system/bin/quicktour
: Quick\ Tour ;
AddSymlinkToHaikuImage home Desktop : /boot/system/bin/userguide
: User\ Guide ;
}