Adjust handling of package infos.
* add HAIKU_PACKAGING_ARCH, which is set to the target packaging architecture * introduce support for generic package infos, which are package infos that are the same for all architectures, except for the declaration of the package architecture itself * move package info files underneath architecture-specific or generic folder
This commit is contained in:
parent
6c36ad168e
commit
59e2e2f3a7
@ -232,6 +232,7 @@ switch $(HAIKU_CPU) {
|
||||
HAIKU_BOOT_FLOPPY_IMAGE_SIZE = 1440 ; # in kB
|
||||
# offset in floppy image (>= sizeof(haiku_loader))
|
||||
HAIKU_BOOT_ARCHIVE_IMAGE_OFFSET = 192 ; # in kB - unused yet
|
||||
HAIKU_PACKAGING_ARCH = ppc ;
|
||||
}
|
||||
case arm :
|
||||
{
|
||||
@ -244,6 +245,7 @@ switch $(HAIKU_CPU) {
|
||||
HAIKU_BOOT_ARCHIVE_IMAGE_OFFSET = 192 ; # in kB - unused yet
|
||||
HAIKU_NO_WERROR = 1 ;
|
||||
# we use #warning as placeholders for things to write...
|
||||
HAIKU_PACKAGING_ARCH = arm ;
|
||||
}
|
||||
case x86 :
|
||||
{
|
||||
@ -252,6 +254,11 @@ switch $(HAIKU_CPU) {
|
||||
HAIKU_BOOT_FLOPPY_IMAGE_SIZE = 2880 ; # in kB
|
||||
# offset in floppy image (>= sizeof(haiku_loader))
|
||||
HAIKU_BOOT_ARCHIVE_IMAGE_OFFSET = 300 ; # in kB
|
||||
if $(HAIKU_GCC_VERSION[1]) = 2 {
|
||||
HAIKU_PACKAGING_ARCH = x86_gcc2 ;
|
||||
} else {
|
||||
HAIKU_PACKAGING_ARCH = x86 ;
|
||||
}
|
||||
|
||||
# yasm is required for target arch x86
|
||||
if ! $(HAIKU_YASM) {
|
||||
@ -265,6 +272,7 @@ switch $(HAIKU_CPU) {
|
||||
HAIKU_BOOT_FLOPPY_IMAGE_SIZE = 2880 ; # in kB
|
||||
# offset in floppy image (>= sizeof(haiku_loader))
|
||||
HAIKU_BOOT_ARCHIVE_IMAGE_OFFSET = 300 ; # in kB
|
||||
HAIKU_PACKAGING_ARCH = x86_64 ;
|
||||
|
||||
# x86_64 kernel source is under arch/x86.
|
||||
HAIKU_KERNEL_ARCH = x86 ;
|
||||
@ -293,6 +301,7 @@ switch $(HAIKU_CPU) {
|
||||
HAIKU_BOOT_ARCHIVE_IMAGE_OFFSET = 260 ; # in kB
|
||||
HAIKU_NO_WERROR = 1 ;
|
||||
# we use #warning as placeholders for things to write...
|
||||
HAIKU_PACKAGING_ARCH = m68k ;
|
||||
}
|
||||
case mipsel :
|
||||
{
|
||||
@ -303,6 +312,7 @@ switch $(HAIKU_CPU) {
|
||||
HAIKU_BOOT_ARCHIVE_IMAGE_OFFSET = 192 ; # in kB
|
||||
HAIKU_NO_WERROR = 1 ;
|
||||
# we use #warning as placeholders for things to write...
|
||||
HAIKU_PACKAGING_ARCH = mipsel ;
|
||||
}
|
||||
case * :
|
||||
Exit "Currently unsupported target CPU:" $(HAIKU_CPU) ;
|
||||
|
@ -298,7 +298,11 @@ rule BuildHaikuPackage package : packageInfo
|
||||
|
||||
# locate the package and package info
|
||||
MakeLocate $(package) : $(HAIKU_PACKAGES_DIR) ;
|
||||
SEARCH on $(packageInfo) += $(HAIKU_PACKAGE_INFOS_DIR) ;
|
||||
SEARCH on $(packageInfo) +=
|
||||
[ FDirName $(HAIKU_PACKAGE_INFOS_DIR) $(HAIKU_PACKAGING_ARCH) ]
|
||||
[ FDirName $(HAIKU_PACKAGE_INFOS_DIR) any ]
|
||||
[ FDirName $(HAIKU_PACKAGE_INFOS_DIR) generic ]
|
||||
;
|
||||
LocalDepends $(package) : $(packageInfo) ;
|
||||
|
||||
# prepare the script that initializes the shell variables
|
||||
@ -316,6 +320,8 @@ rule BuildHaikuPackage package : packageInfo
|
||||
: [ on $(package) return $(HAIKU_PACKAGE_COMPRESSION_LEVEL) ] ;
|
||||
AddVariableToScript $(script) : updateOnly
|
||||
: [ on $(package) return $(HAIKU_CONTAINER_UPDATE_ONLY) ] ;
|
||||
AddVariableToScript $(script) : cc : $(TARGET_CC) ;
|
||||
AddVariableToScript $(script) : packagingArch : $(HAIKU_PACKAGING_ARCH) ;
|
||||
AddTargetVariableToScript $(script) : <build>addattr ;
|
||||
AddTargetVariableToScript $(script) : <build>copyattr ;
|
||||
AddTargetVariableToScript $(script) : <mimedb>mime_db : mimeDB ;
|
||||
|
@ -9,6 +9,8 @@ set -o errexit
|
||||
# tmpDir
|
||||
# compressionLevel
|
||||
# updateOnly
|
||||
# cc
|
||||
# packagingArch
|
||||
#
|
||||
# addattr
|
||||
# copyattr
|
||||
@ -113,6 +115,16 @@ echo "$packageName: mimeset'ing package contents ..."
|
||||
$mimeset --mimedb "$mimeDB" "$contentsDir"
|
||||
|
||||
|
||||
# create the package-info from a generic package-info if needed
|
||||
if [ $(basename $(dirname $packageInfoPath)) = 'generic' ]; then
|
||||
echo "$packageName: Creating real package info from generic one ..."
|
||||
genericPackageInfoPath=$packageInfoPath
|
||||
packageInfoPath=$tmpDir/.PackageInfo
|
||||
cat "$genericPackageInfoPath" \
|
||||
| $cc -E -DHAIKU_PACKAGING_ARCH=$packagingArch - > "$packageInfoPath"
|
||||
fi
|
||||
|
||||
|
||||
# create the package
|
||||
if [ ! $updateOnly ]; then
|
||||
echo "$packageName: Creating the package ..."
|
||||
|
@ -1,6 +1,6 @@
|
||||
name haiku_cross_devel
|
||||
version R1~alpha4_pm-1
|
||||
architecture x86_gcc2
|
||||
architecture HAIKU_PACKAGING_ARCH
|
||||
summary "The Haiku base system files for cross development"
|
||||
|
||||
description "The package contains all files associated with the base system
|
@ -1,6 +1,6 @@
|
||||
name haiku_devel
|
||||
version R1~alpha4_pm-1
|
||||
architecture x86_gcc2
|
||||
architecture HAIKU_PACKAGING_ARCH
|
||||
summary "The Haiku base system development files"
|
||||
|
||||
description "The package contains all files associated with the base system
|
@ -1,6 +1,6 @@
|
||||
name haiku_loader
|
||||
version R1~alpha4_pm-1
|
||||
architecture x86_gcc2
|
||||
architecture HAIKU_PACKAGING_ARCH
|
||||
summary "The Haiku boot loader"
|
||||
description "The Haiku boot loader."
|
||||
|
Loading…
x
Reference in New Issue
Block a user