Merge branch 'master' into package-management
Additional changes: * Add src/system/kernel/lib/zlib, which builds a kernel version of zlib, needed by packagefs. * BuildFeatures: Add a build feature "gcc2" to allow for easier checks. * Referenceable.cpp: Include <OS.h> instead of <debugger.h>. The latter is not needed and prevents building for the build platform. * zlib/zutil.h: Fix gcc 2 build. We really should use the external package instead. Conflicts: .gitignore build/jam/BuildSetup build/jam/FileRules build/jam/FloppyBootImage build/jam/HaikuImage build/jam/ImageRules build/jam/KernelRules build/jam/NetBootArchive build/jam/OptionalBuildFeatures build/jam/OptionalLibPackages build/jam/OptionalPackageDependencies build/jam/OptionalPackages build/scripts/build_haiku_image configure data/bin/installoptionalpackage data/system/boot/Bootscript headers/os/app/Message.h headers/os/package/PackageInfo.h headers/os/package/PackageInfoAttributes.h headers/os/package/PackageInfoSet.h headers/os/package/PackageRoster.h headers/os/package/PackageVersion.h headers/os/package/hpkg/PackageInfoAttributeValue.h headers/os/storage/FindDirectory.h headers/os/storage/Node.h headers/os/support/StringList.h headers/private/system/directories.h src/add-ons/kernel/drivers/audio/ac97/es1370/Jamfile src/add-ons/kernel/file_systems/packagefs/AttributeIndex.cpp src/add-ons/kernel/file_systems/packagefs/Jamfile src/add-ons/kernel/file_systems/packagefs/Package.cpp src/add-ons/kernel/file_systems/packagefs/Package.h src/add-ons/kernel/file_systems/packagefs/PackageDomain.cpp src/add-ons/kernel/file_systems/packagefs/PackageDomain.h src/add-ons/kernel/file_systems/packagefs/PackageFSRoot.cpp src/add-ons/kernel/file_systems/packagefs/PackageLinkDirectory.cpp src/add-ons/kernel/file_systems/packagefs/PackageLinkDirectory.h src/add-ons/kernel/file_systems/packagefs/PackageLinkSymlink.cpp src/add-ons/kernel/file_systems/packagefs/PackageLinkSymlink.h src/add-ons/kernel/file_systems/packagefs/PackageLinksDirectory.cpp src/add-ons/kernel/file_systems/packagefs/PackageNode.h src/add-ons/kernel/file_systems/packagefs/ResolvableFamily.cpp src/add-ons/kernel/file_systems/packagefs/Version.cpp src/add-ons/kernel/file_systems/packagefs/Version.h src/add-ons/kernel/file_systems/packagefs/Volume.cpp src/add-ons/kernel/file_systems/packagefs/Volume.h src/add-ons/kernel/file_systems/packagefs/kernel_interface.cpp src/add-ons/kernel/file_systems/userlandfs/shared/driver_settings.c src/apps/deskbar/BarApp.cpp src/apps/deskbar/BarMenuBar.cpp src/apps/deskbar/BarMenuBar.h src/apps/deskbar/BarView.cpp src/apps/deskbar/BarView.h src/apps/deskbar/BarWindow.cpp src/apps/deskbar/BarWindow.h src/apps/deskbar/DeskbarMenu.cpp src/apps/deskbar/DeskbarMenu.h src/apps/deskbar/DeskbarUtils.cpp src/apps/deskbar/DeskbarUtils.h src/apps/deskbar/ExpandoMenuBar.cpp src/apps/deskbar/ExpandoMenuBar.h src/apps/deskbar/TeamMenu.cpp src/apps/processcontroller/ProcessController.cpp src/apps/remotedesktop/RemoteDesktop.cpp src/bin/bash/config-top.h src/bin/finddir.c src/bin/package/Jamfile src/bin/package/command_add.cpp src/bin/package/command_create.cpp src/bin/package/command_list.cpp src/bin/package_repo/command_list.cpp src/bin/pkgman/command_refresh.cpp src/build/libbe/support/Jamfile src/build/libpackage/Jamfile src/build/libroot/Jamfile src/build/libroot/fs.cpp src/build/libroot/remapped_functions.h src/kits/locale/MutableLocaleRoster.cpp src/kits/opengl/GLRendererRoster.cpp src/kits/package/PackageInfo.cpp src/kits/package/PackageInfoSet.cpp src/kits/package/PackageRoster.cpp src/kits/package/PackageVersion.cpp src/kits/package/RepositoryCache.cpp src/kits/package/hpkg/PackageWriterImpl.cpp src/kits/package/hpkg/ReaderImplBase.cpp src/kits/package/hpkg/WriterImplBase.cpp src/kits/print/PrintTransport.cpp src/kits/print/Printer.cpp src/kits/screensaver/ScreenSaverRunner.cpp src/kits/support/StringList.cpp src/kits/tracker/ContainerWindow.cpp src/kits/tracker/DeskWindow.cpp src/kits/tracker/PoseView.cpp src/libs/print/libprint/Transport.cpp src/preferences/printers/AddPrinterDialog.cpp src/preferences/screensaver/ScreenSaverWindow.cpp src/servers/debug/DebugServer.cpp src/servers/input/AddOnManager.cpp src/servers/media_addon/MediaAddonServer.cpp src/system/boot/Jamfile src/system/boot/loader/Jamfile src/system/boot/loader/loader.cpp src/system/boot/loader/vfs.cpp src/system/kernel/fs/vfs.cpp src/system/kernel/fs/vfs_boot.cpp src/system/libroot/os/find_directory.cpp src/system/runtime_loader/runtime_loader.cpp src/tools/package/Jamfile
This commit is contained in:
@@ -1 +1 @@
|
||||
To customize the settings defined in these headers, create a folder "user_config_headers" in the "build" folder and copy the headers you want to modify into that folder. Your custom headers will be ignored by SVN and the build system will automatically use them instead of the original ones. But be aware that when changes are commited to the files in "config_headers", you will have to apply them to your custom headers manually.
|
||||
To customize the settings defined in these headers, create a folder "user_config_headers" in the "build" folder and copy the headers you want to modify into that folder. Your custom headers will be ignored by the version control system and the build system will automatically use them instead of the original ones. But be aware that when changes are commited to the files in "config_headers", you will have to apply them to your custom headers manually.
|
||||
|
||||
@@ -101,14 +101,37 @@
|
||||
// Enables swap support.
|
||||
#define ENABLE_SWAP_SUPPORT 1
|
||||
|
||||
// Use the slab allocator as generic memory allocator (malloc()/free()).
|
||||
// Use the selected allocator as generic memory allocator (malloc()/free()).
|
||||
#define USE_DEBUG_HEAP_FOR_MALLOC 0
|
||||
// Heap implementation with additional debugging facilities.
|
||||
#define USE_GUARDED_HEAP_FOR_MALLOC 0
|
||||
// Heap implementation that allocates memory so that the end of the
|
||||
// allocation always coincides with a page end and is followed by a guard
|
||||
// page which is marked non-present. Out of bounds access (both read and
|
||||
// write) therefore cause a crash (unhandled page fault). Note that this
|
||||
// allocator is neither speed nor space efficient, indeed it wastes huge
|
||||
// amounts of pages and address space so it is quite easy to hit limits.
|
||||
#define USE_SLAB_ALLOCATOR_FOR_MALLOC 1
|
||||
// Heap implementation based on the slab allocator (for production use).
|
||||
|
||||
// Replace the object cache with the guarded heap to force debug features. Also
|
||||
// requires the use of the guarded heap for malloc.
|
||||
#define USE_GUARDED_HEAP_FOR_OBJECT_CACHE 0
|
||||
|
||||
// Enables additional sanity checks in the slab allocator's memory manager.
|
||||
#define DEBUG_SLAB_MEMORY_MANAGER_PARANOID_CHECKS 0
|
||||
|
||||
// Disables memory re-use in the guarded heap (freed memory is never reused and
|
||||
// stays invalid causing every access to crash). Note that this is a magnitude
|
||||
// more space inefficient than the guarded heap itself. Fully booting may not
|
||||
// work at all due to address space waste.
|
||||
#define DEBUG_GUARDED_HEAP_DISABLE_MEMORY_REUSE 0
|
||||
|
||||
// When set limits the amount of available RAM (in MB).
|
||||
//#define LIMIT_AVAILABLE_MEMORY 256
|
||||
|
||||
// Enables tracking of page allocations.
|
||||
#define VM_PAGE_ALLOCATION_TRACKING 0
|
||||
|
||||
|
||||
#endif // KERNEL_DEBUG_CONFIG_H
|
||||
|
||||
@@ -28,6 +28,8 @@
|
||||
#define BMESSAGE_TRACING 0
|
||||
#define FILE_DESCRIPTOR_TRACING 0
|
||||
#define FILE_DESCRIPTOR_TRACING_STACK_TRACE 0 /* stack trace depth */
|
||||
#define GUARDED_HEAP_TRACING 0
|
||||
#define GUARDED_HEAP_TRACING_STACK_TRACE 0 /* stack trace depth */
|
||||
#define IO_CONTEXT_TRACING 0
|
||||
#define IO_CONTEXT_TRACING_STACK_TRACE 0 /* stack trace depth */
|
||||
#define KERNEL_HEAP_TRACING 0
|
||||
@@ -35,6 +37,7 @@
|
||||
#define NET_BUFFER_TRACING 0
|
||||
#define NET_BUFFER_TRACING_STACK_TRACE 0 /* stack trace depth */
|
||||
#define PAGE_ALLOCATION_TRACING 0
|
||||
#define PAGE_ALLOCATION_TRACING_STACK_TRACE 0 /* stack trace depth */
|
||||
#define PAGE_DAEMON_TRACING 0
|
||||
#define PAGE_STATE_TRACING 0
|
||||
#define PAGE_STATE_TRACING_STACK_TRACE 0 /* stack trace depth */
|
||||
|
||||
@@ -0,0 +1,129 @@
|
||||
|
||||
rule SetupBoot
|
||||
{
|
||||
# Usage SetupBoot <sources_or_objects> : <extra_cc_flags> : <include_private_headers> ;
|
||||
#
|
||||
# <sources_or_objects> - Ideally sources, otherwise HDRSEARCH can not be
|
||||
# set for the sources and the sources some header
|
||||
# dependencies might be missing.
|
||||
|
||||
local sources = [ FGristFiles $(1) ] ;
|
||||
local objects = $(sources:S=$(SUFOBJ)) ;
|
||||
|
||||
# add private kernel headers
|
||||
if $(3) != false {
|
||||
SourceSysHdrs $(sources) : $(TARGET_PRIVATE_KERNEL_HEADERS) ;
|
||||
}
|
||||
|
||||
local object ;
|
||||
for object in $(objects) {
|
||||
# add boot flags for the object
|
||||
ObjectCcFlags $(object) : $(TARGET_BOOT_CCFLAGS) $(2) ;
|
||||
ObjectC++Flags $(object) : $(TARGET_BOOT_C++FLAGS) $(2) ;
|
||||
ObjectDefines $(object) : $(TARGET_KERNEL_DEFINES) ;
|
||||
ASFLAGS on $(object) = $(TARGET_BOOT_CCFLAGS) ;
|
||||
|
||||
# override warning flags
|
||||
TARGET_WARNING_CCFLAGS on $(object) = $(TARGET_KERNEL_WARNING_CCFLAGS) ;
|
||||
TARGET_WARNING_C++FLAGS on $(object)
|
||||
= $(TARGET_KERNEL_WARNING_C++FLAGS) ;
|
||||
}
|
||||
}
|
||||
|
||||
rule BootObjects
|
||||
{
|
||||
SetupBoot $(1) : $(2) ;
|
||||
Objects $(1) ;
|
||||
}
|
||||
|
||||
rule BootLd
|
||||
{
|
||||
# BootLd <name> : <objs> : <linkerscript> : <args> ;
|
||||
|
||||
LINK on $(1) = $(TARGET_LD) ;
|
||||
|
||||
LINKFLAGS on $(1) = $(4) ;
|
||||
if $(3) { LINKFLAGS on $(1) += --script=$(3) ; }
|
||||
|
||||
# Remove any preset LINKLIBS, but link against libgcc.a. Linking against
|
||||
# libsupc++ is opt-out.
|
||||
local libs ;
|
||||
if ! [ on $(1) return HAIKU_NO_LIBSUPC++ ] {
|
||||
libs += $(TARGET_BOOT_LIBSUPC++) ;
|
||||
}
|
||||
LINKLIBS on $(1) = $(libs) $(TARGET_BOOT_LIBGCC) ;
|
||||
|
||||
# TODO: Do we really want to invoke SetupBoot here? The objects should
|
||||
# have been compiled with BootObjects anyway, so we're doing that twice.
|
||||
SetupBoot $(2) ;
|
||||
|
||||
# Show that we depend on the libraries we need
|
||||
LocalClean clean : $(1) ;
|
||||
LocalDepends all : $(1) ;
|
||||
Depends $(1) : $(2) ;
|
||||
|
||||
MakeLocateDebug $(1) ;
|
||||
|
||||
on $(1) XRes $(1) : $(RESFILES) ;
|
||||
if ! [ on $(1) return $(DONT_USE_BEOS_RULES) ] {
|
||||
SetType $(1) ;
|
||||
MimeSet $(1) ;
|
||||
SetVersion $(1) ;
|
||||
}
|
||||
}
|
||||
|
||||
actions BootLd bind VERSION_SCRIPT
|
||||
{
|
||||
$(LINK) $(LINKFLAGS) -o "$(1)" "$(2)" $(LINKLIBS) \
|
||||
--version-script=$(VERSION_SCRIPT)
|
||||
}
|
||||
|
||||
rule BootMergeObject
|
||||
{
|
||||
# BootMergeObject <name> : <sources> : <extra CFLAGS> : <other objects> ;
|
||||
# Compiles source files and merges the object files to an object file.
|
||||
# <name>: Name of the object file to create. No grist will be added.
|
||||
# <sources>: Sources to be compiled. Grist will be added.
|
||||
# <extra CFLAGS>: Additional flags for compilation.
|
||||
# <other objects>: Object files or static libraries to be merged. No grist
|
||||
# will be added.
|
||||
#
|
||||
|
||||
SetupBoot $(2) : $(3) ;
|
||||
Objects $(2) ;
|
||||
MergeObjectFromObjects $(1) : $(2:S=$(SUFOBJ)) : $(4) ;
|
||||
LINKFLAGS on $(1) += $(TARGET_BOOT_LINKFLAGS) ;
|
||||
}
|
||||
|
||||
rule BootStaticLibrary
|
||||
{
|
||||
# Usage BootStaticLibrary <name> : <sources> : <extra cc flags> ;
|
||||
# This is designed to take a set of sources and libraries and create
|
||||
# a file called lib<name>.a
|
||||
|
||||
SetupBoot $(2) : $(3) : false ;
|
||||
Library $(1) : $(2) ;
|
||||
}
|
||||
|
||||
rule BootStaticLibraryObjects
|
||||
{
|
||||
# Usage BootStaticLibrary <name> : <sources> ;
|
||||
# This is designed to take a set of sources and libraries and create
|
||||
# a file called <name>
|
||||
|
||||
# Show that we depend on the libraries we need
|
||||
SetupBoot $(2) ;
|
||||
LocalClean clean : $(1) ;
|
||||
LocalDepends all : $(1) ;
|
||||
Depends $(1) : $(2) ;
|
||||
|
||||
MakeLocateDebug $(1) ;
|
||||
}
|
||||
|
||||
actions BootStaticLibraryObjects
|
||||
{
|
||||
# Force recreation of the archive to avoid build errors caused by
|
||||
# stale dependencies after renaming or deleting object files.
|
||||
$(RM) "$(1)"
|
||||
$(HAIKU_AR) -r "$(1)" "$(2)" ;
|
||||
}
|
||||
@@ -0,0 +1,894 @@
|
||||
# This file contains setup for build features that are not available for all
|
||||
# architectures/setups or that are optional for the build. For features that
|
||||
# require downloading a zip file from somewhere it is likely the same file used
|
||||
# for an optional package.
|
||||
|
||||
|
||||
# Add the target architecture as a build feature.
|
||||
EnableBuildFeatures $(HAIKU_ARCH) ;
|
||||
|
||||
if $(HAIKU_GCC_VERSION[1]) = 2 {
|
||||
EnableBuildFeatures gcc2 ;
|
||||
}
|
||||
|
||||
|
||||
local baseURL = http://www.haiku-files.org/files/optional-packages ;
|
||||
local hpkgBaseURL = http://haiku-files.org/files/hpkg ;
|
||||
|
||||
|
||||
# SSL
|
||||
|
||||
# Automatically enable the SSL feature, when the optional OpenSSL optional
|
||||
# package is enabled.
|
||||
if [ IsOptionalHaikuImagePackageAdded OpenSSL ] {
|
||||
HAIKU_BUILD_FEATURE_SSL = 1 ;
|
||||
}
|
||||
|
||||
if $(HAIKU_GCC_VERSION[1]) >= 4 {
|
||||
if $(TARGET_ARCH) = x86_64 {
|
||||
HAIKU_OPENSSL_PACKAGE = openssl-1.0.0j-x86_64-2012-12-18.zip ;
|
||||
} else {
|
||||
HAIKU_OPENSSL_PACKAGE = openssl-1.0.0j-r1a4-x86-gcc4-2012-08-29.zip ;
|
||||
}
|
||||
} else {
|
||||
HAIKU_OPENSSL_PACKAGE = openssl-1.0.0j-1-x86_gcc2.hpkg ;
|
||||
}
|
||||
|
||||
HAIKU_OPENSSL_URL = $(hpkgBaseURL)/$(HAIKU_OPENSSL_PACKAGE) ;
|
||||
|
||||
if $(HAIKU_BUILD_FEATURE_SSL) {
|
||||
if $(TARGET_ARCH) = x86 || $(TARGET_ARCH) = x86_64 {
|
||||
# Download the package.
|
||||
local zipFile = [ DownloadFile $(HAIKU_OPENSSL_PACKAGE)
|
||||
: $(HAIKU_OPENSSL_URL) ] ;
|
||||
|
||||
# zip file and output directory
|
||||
HAIKU_OPENSSL_ZIP_FILE = $(zipFile) ;
|
||||
HAIKU_OPENSSL_DIR = [ FDirName $(HAIKU_OPTIONAL_BUILD_PACKAGES_DIR)
|
||||
$(HAIKU_OPENSSL_PACKAGE:B) ] ;
|
||||
|
||||
# extract headers and libraries
|
||||
HAIKU_OPENSSL_HEADERS_DEPENDENCY = [ ExtractArchive $(HAIKU_OPENSSL_DIR)
|
||||
: develop/headers/ : $(zipFile) : extracted-openssl
|
||||
] ;
|
||||
|
||||
HAIKU_OPENSSL_LIBS = [ ExtractArchive $(HAIKU_OPENSSL_DIR)
|
||||
:
|
||||
develop/lib/libcrypto.so
|
||||
develop/lib/libssl.so
|
||||
: $(zipFile)
|
||||
: extracted-openssl
|
||||
] ;
|
||||
|
||||
HAIKU_OPENSSL_HEADERS
|
||||
= [ FDirName $(HAIKU_OPENSSL_DIR) develop/headers ] ;
|
||||
|
||||
EnableBuildFeatures openssl ;
|
||||
} else {
|
||||
Echo "SSL build feature not available for $(TARGET_ARCH)" ;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
# ICU
|
||||
|
||||
# Note ICU isn't actually optional, but is still an external package
|
||||
HAIKU_ICU_GCC_2_PACKAGE = icu-4.8.1.1-2-x86_gcc2.hpkg ;
|
||||
HAIKU_ICU_GCC_4_PACKAGE = icu-4.8.1.1-r1a4-x86-gcc4-2012-08-29.zip ;
|
||||
# TODO: Make hpkg!
|
||||
HAIKU_ICU_PPC_PACKAGE = icu-4.8.1-ppc-2011-08-20.zip ;
|
||||
HAIKU_ICU_ARM_PACKAGE = icu-4.8.1.1-arm-2012-11-21.zip ;
|
||||
HAIKU_ICU_X86_64_PACKAGE = icu-4.8.1.1-x86_64-2012-07-30.zip ;
|
||||
|
||||
if $(TARGET_ARCH) in arm ppc x86 x86_64 {
|
||||
local icu_package ;
|
||||
if $(TARGET_ARCH) = ppc {
|
||||
icu_package = $(HAIKU_ICU_PPC_PACKAGE) ;
|
||||
HAIKU_ICU_DEVEL_PACKAGE = icu-devel-4.8.1-ppc-2011-12-19.zip ;
|
||||
} else if $(TARGET_ARCH) = arm {
|
||||
icu_package = $(HAIKU_ICU_ARM_PACKAGE) ;
|
||||
HAIKU_ICU_DEVEL_PACKAGE = icu-devel-4.8.1.1-arm-2012-11-21.zip ;
|
||||
} else if $(TARGET_ARCH) = x86_64 {
|
||||
icu_package = $(HAIKU_ICU_X86_64_PACKAGE) ;
|
||||
HAIKU_ICU_DEVEL_PACKAGE = icu-devel-4.8.1.1-x86_64-2012-07-30.zip ;
|
||||
} else if $(HAIKU_GCC_VERSION[1]) = 2 {
|
||||
icu_package = $(HAIKU_ICU_GCC_2_PACKAGE) ;
|
||||
HAIKU_ICU_DEVEL_PACKAGE = icu_devel-4.8.1.1-2-x86_gcc2.hpkg ;
|
||||
} else {
|
||||
icu_package = $(HAIKU_ICU_GCC_4_PACKAGE) ;
|
||||
HAIKU_ICU_DEVEL_PACKAGE = icu-devel-4.8.1.1-x86-gcc4-2011-12-20.zip ;
|
||||
}
|
||||
local packageFile = [ DownloadFile $(icu_package)
|
||||
: $(hpkgBaseURL)/$(icu_package) ] ;
|
||||
|
||||
# zip file and output directory
|
||||
HAIKU_ICU_PACKAGE_FILE = $(packageFile) ;
|
||||
HAIKU_ICU_DIR = [ FDirName $(HAIKU_OPTIONAL_BUILD_PACKAGES_DIR)
|
||||
$(icu_package:B) ] ;
|
||||
|
||||
# extract libraries
|
||||
if $(TARGET_ARCH) = ppc {
|
||||
HAIKU_ICU_LIBS = [ ExtractArchive $(HAIKU_ICU_DIR)
|
||||
:
|
||||
libicudata.so.48.1
|
||||
libicui18n.so.48.1
|
||||
libicuio.so.48.1
|
||||
libicule.so.48.1
|
||||
libiculx.so.48.1
|
||||
libicutu.so.48.1
|
||||
libicuuc.so.48.1
|
||||
: $(packageFile)
|
||||
: extracted-icu
|
||||
] ;
|
||||
} else {
|
||||
HAIKU_ICU_LIBS = [ ExtractArchive $(HAIKU_ICU_DIR)
|
||||
:
|
||||
develop/lib/libicudata.so.48.1.1
|
||||
develop/lib/libicui18n.so.48.1.1
|
||||
develop/lib/libicuio.so.48.1.1
|
||||
develop/lib/libicule.so.48.1.1
|
||||
develop/lib/libiculx.so.48.1.1
|
||||
develop/lib/libicutu.so.48.1.1
|
||||
develop/lib/libicuuc.so.48.1.1
|
||||
: $(packageFile)
|
||||
: extracted-icu
|
||||
] ;
|
||||
}
|
||||
|
||||
# zip file and output directory
|
||||
HAIKU_ICU_DEVEL_ZIP_FILE = [ DownloadFile $(HAIKU_ICU_DEVEL_PACKAGE)
|
||||
: $(hpkgBaseURL)/$(HAIKU_ICU_DEVEL_PACKAGE) ] ;
|
||||
HAIKU_ICU_DEVEL_DIR = $(HAIKU_ICU_DIR) ;
|
||||
|
||||
# extract headers
|
||||
HAIKU_ICU_HEADERS_DEPENDENCY = [ ExtractArchive
|
||||
$(HAIKU_ICU_DEVEL_DIR:G=icu_devel)
|
||||
# We need a grist here, so it's a different target than the one for the
|
||||
# main package, even though it's the same directory.
|
||||
: develop/headers : $(HAIKU_ICU_DEVEL_ZIP_FILE)
|
||||
: extracted-icu-devel ] ;
|
||||
|
||||
HAIKU_ICU_HEADERS
|
||||
= [ FDirName $(HAIKU_ICU_DEVEL_DIR) develop headers ] ;
|
||||
|
||||
EnableBuildFeatures icu ;
|
||||
} else {
|
||||
Echo "ICU not available for $(TARGET_ARCH)" ;
|
||||
}
|
||||
|
||||
|
||||
# CLucene
|
||||
|
||||
# Automatically install the CLucene feature, when the optional CLucene optional
|
||||
# package is enabled.
|
||||
if [ IsOptionalHaikuImagePackageAdded CLucene ] {
|
||||
HAIKU_BUILD_FEATURE_CLUCENE = 1 ;
|
||||
}
|
||||
|
||||
|
||||
HAIKU_CLUCENE_PACKAGE = clucene-0.9.21-x86-gcc4-haiku-2009-08-11.zip ;
|
||||
HAIKU_CLUCENE_URL = $(baseURL)/$(HAIKU_CLUCENE_PACKAGE) ;
|
||||
|
||||
if $(HAIKU_BUILD_FEATURE_CLUCENE) {
|
||||
if $(TARGET_ARCH) != x86 {
|
||||
Echo "CLucene build feature not available for $(TARGET_ARCH)" ;
|
||||
} else {
|
||||
# Download the zip archive.
|
||||
local zipFile = [ DownloadFile $(HAIKU_CLUCENE_PACKAGE)
|
||||
: $(HAIKU_CLUCENE_URL) ] ;
|
||||
|
||||
# zip file and output directory
|
||||
HAIKU_CLUCENE_ZIP_FILE = $(zipFile) ;
|
||||
HAIKU_CLUCENE_DIR = [ FDirName $(HAIKU_OPTIONAL_BUILD_PACKAGES_DIR)
|
||||
$(HAIKU_CLUCENE_PACKAGE:B) ] ;
|
||||
|
||||
# extract headers and libraries
|
||||
HAIKU_CLUCENE_HEADERS_DEPENDENCY = [ ExtractArchive $(HAIKU_CLUCENE_DIR)
|
||||
: common/include/ : $(zipFile) : extracted-clucene
|
||||
] ;
|
||||
|
||||
HAIKU_CLUCENE_LIBS = [ ExtractArchive $(HAIKU_CLUCENE_DIR)
|
||||
:
|
||||
common/lib/libclucene.a
|
||||
: $(zipFile)
|
||||
: extracted-clucene
|
||||
] ;
|
||||
|
||||
HAIKU_CLUCENE_HEADERS
|
||||
= [ FDirName $(HAIKU_CLUCENE_DIR) common include ] ;
|
||||
|
||||
EnableBuildFeatures clucene ;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
# LLVM
|
||||
if $(TARGET_ARCH) = x86 {
|
||||
if $(HAIKU_GCC_VERSION[1]) >= 4 {
|
||||
HAIKU_LLVM_FILE = llvm-3.2-x86-gcc4-2012-12-21.zip ;
|
||||
local zipFile = [ DownloadFile $(HAIKU_LLVM_FILE)
|
||||
: $(baseURL)/$(HAIKU_LLVM_FILE) ] ;
|
||||
|
||||
HAIKU_LLVM_DIR = [ FDirName $(HAIKU_OPTIONAL_BUILD_PACKAGES_DIR)
|
||||
$(HAIKU_LLVM_FILE:B) ] ;
|
||||
|
||||
HAIKU_LLVM_HEADERS_DEPENDENCY = [ ExtractArchive $(HAIKU_LLVM_DIR)
|
||||
: common/include/ : $(zipFile) : extracted-llvm ] ;
|
||||
HAIKU_LLVM_HEADERS = [ FDirName $(HAIKU_LLVM_DIR) common include ] ;
|
||||
|
||||
# We can't Glob these because they aren't extracted yet.
|
||||
HAIKU_LLVM_LIBS = [ ExtractArchive $(HAIKU_LLVM_DIR)
|
||||
:
|
||||
common/lib/libLLVMAsmParser.a
|
||||
common/lib/libLLVMInstrumentation.a
|
||||
common/lib/libLLVMLinker.a
|
||||
common/lib/libLLVMArchive.a
|
||||
common/lib/libLLVMBitReader.a
|
||||
common/lib/libLLVMDebugInfo.a
|
||||
common/lib/libLLVMJIT.a
|
||||
common/lib/libLLVMipo.a
|
||||
common/lib/libLLVMVectorize.a
|
||||
common/lib/libLLVMBitWriter.a
|
||||
common/lib/libLLVMTableGen.a
|
||||
#common/lib/libLLVMHexagonCodeGen.a
|
||||
#common/lib/libLLVMHexagonAsmPrinter.a
|
||||
#common/lib/libLLVMHexagonDesc.a
|
||||
#common/lib/libLLVMHexagonInfo.a
|
||||
#common/lib/libLLVMNVPTXCodeGen.a
|
||||
#common/lib/libLLVMNVPTXDesc.a
|
||||
#common/lib/libLLVMNVPTXInfo.a
|
||||
#common/lib/libLLVMNVPTXAsmPrinter.a
|
||||
#common/lib/libLLVMMBlazeCodeGen.a
|
||||
#common/lib/libLLVMMBlazeAsmParser.a
|
||||
#common/lib/libLLVMMBlazeDisassembler.a
|
||||
#common/lib/libLLVMMBlazeDesc.a
|
||||
#common/lib/libLLVMMBlazeInfo.a
|
||||
#common/lib/libLLVMMBlazeAsmPrinter.a
|
||||
common/lib/libLLVMCppBackendCodeGen.a
|
||||
common/lib/libLLVMCppBackendInfo.a
|
||||
#common/lib/libLLVMMSP430CodeGen.a
|
||||
#common/lib/libLLVMMSP430Desc.a
|
||||
#common/lib/libLLVMMSP430AsmPrinter.a
|
||||
#common/lib/libLLVMMSP430Info.a
|
||||
#common/lib/libLLVMXCoreCodeGen.a
|
||||
#common/lib/libLLVMXCoreDesc.a
|
||||
#common/lib/libLLVMXCoreInfo.a
|
||||
#common/lib/libLLVMCellSPUCodeGen.a
|
||||
#common/lib/libLLVMCellSPUDesc.a
|
||||
#common/lib/libLLVMCellSPUInfo.a
|
||||
#common/lib/libLLVMMipsAsmParser.a
|
||||
#common/lib/libLLVMMipsCodeGen.a
|
||||
#common/lib/libLLVMMipsDesc.a
|
||||
#common/lib/libLLVMMipsAsmPrinter.a
|
||||
#common/lib/libLLVMMipsDisassembler.a
|
||||
#common/lib/libLLVMMipsInfo.a
|
||||
#common/lib/libLLVMARMAsmParser.a
|
||||
#common/lib/libLLVMARMCodeGen.a
|
||||
#common/lib/libLLVMARMDisassembler.a
|
||||
#common/lib/libLLVMARMDesc.a
|
||||
#common/lib/libLLVMARMInfo.a
|
||||
#common/lib/libLLVMARMAsmPrinter.a
|
||||
#common/lib/libLLVMPowerPCCodeGen.a
|
||||
#common/lib/libLLVMPowerPCDesc.a
|
||||
#common/lib/libLLVMPowerPCInfo.a
|
||||
#common/lib/libLLVMPowerPCAsmPrinter.a
|
||||
#common/lib/libLLVMSparcCodeGen.a
|
||||
#common/lib/libLLVMSparcDesc.a
|
||||
#common/lib/libLLVMSparcInfo.a
|
||||
common/lib/libLLVMX86AsmParser.a
|
||||
common/lib/libLLVMX86CodeGen.a
|
||||
common/lib/libLLVMSelectionDAG.a
|
||||
common/lib/libLLVMAsmPrinter.a
|
||||
common/lib/libLLVMX86Disassembler.a
|
||||
common/lib/libLLVMX86Desc.a
|
||||
common/lib/libLLVMX86Info.a
|
||||
common/lib/libLLVMX86AsmPrinter.a
|
||||
common/lib/libLLVMX86Utils.a
|
||||
common/lib/libLLVMMCDisassembler.a
|
||||
common/lib/libLLVMMCParser.a
|
||||
common/lib/libLLVMInterpreter.a
|
||||
common/lib/libLLVMCodeGen.a
|
||||
common/lib/libLLVMScalarOpts.a
|
||||
common/lib/libLLVMInstCombine.a
|
||||
common/lib/libLLVMTransformUtils.a
|
||||
common/lib/libLLVMipa.a
|
||||
common/lib/libLLVMAnalysis.a
|
||||
common/lib/libLLVMMCJIT.a
|
||||
common/lib/libLLVMRuntimeDyld.a
|
||||
common/lib/libLLVMExecutionEngine.a
|
||||
common/lib/libLLVMTarget.a
|
||||
common/lib/libLLVMMC.a
|
||||
common/lib/libLLVMObject.a
|
||||
common/lib/libLLVMCore.a
|
||||
common/lib/libLLVMSupport.a
|
||||
: $(zipFile) : extracted-llvm ]
|
||||
;
|
||||
|
||||
EnableBuildFeatures llvm ;
|
||||
} else {
|
||||
# Nor will it ever be
|
||||
Echo "LLVM not available on GCC2" ;
|
||||
}
|
||||
} else {
|
||||
Echo "LLVM not yet available on $(TARGET_ARCH)" ;
|
||||
}
|
||||
|
||||
|
||||
# GLU (GL Utilities)
|
||||
if $(TARGET_ARCH) = x86 {
|
||||
if $(HAIKU_GCC_VERSION[1]) >= 4 {
|
||||
HAIKU_GLU_FILE = glu-9.0-x86-gcc4-2012-11-13.zip ;
|
||||
} else {
|
||||
HAIKU_GLU_FILE = glu-9.0-x86-gcc2-2012-11-13.zip ;
|
||||
}
|
||||
|
||||
local zipFile = [ DownloadFile $(HAIKU_GLU_FILE)
|
||||
: $(baseURL)/lib/$(HAIKU_GLU_FILE) ] ;
|
||||
|
||||
HAIKU_GLU_DIR = [ FDirName $(HAIKU_OPTIONAL_BUILD_PACKAGES_DIR)
|
||||
$(HAIKU_GLU_FILE:B) ] ;
|
||||
HAIKU_GLU_HEADERS_DEPENDENCY = [ ExtractArchive $(HAIKU_GLU_DIR)
|
||||
: develop/headers/os/opengl/GL : $(zipFile) : extracted-glu-headers ] ;
|
||||
HAIKU_GLU_LIBS = [ ExtractArchive $(HAIKU_GLU_DIR)
|
||||
: system/lib/libGLU.a : $(zipFile) : extracted-glu ] ;
|
||||
HAIKU_GLU_HEADERS = [ FDirName $(HAIKU_GLU_DIR) develop headers os opengl ] ;
|
||||
|
||||
EnableBuildFeatures glu ;
|
||||
} else {
|
||||
Echo "GLU not yet available on $(TARGET_ARCH)" ;
|
||||
}
|
||||
|
||||
|
||||
# Mesa
|
||||
if $(TARGET_ARCH) = x86 {
|
||||
local zipFile ;
|
||||
if $(HAIKU_GCC_VERSION[1]) >= 4 {
|
||||
HAIKU_MESA_FILE = mesa-9.1.1-x86-gcc4-2013-04-27.zip ;
|
||||
} else {
|
||||
HAIKU_MESA_FILE = mesa-7.8.2-x86-gcc2-2013-04-28.zip ;
|
||||
}
|
||||
|
||||
zipFile = [ DownloadFile $(HAIKU_MESA_FILE)
|
||||
: $(baseURL)/$(HAIKU_MESA_FILE) ] ;
|
||||
|
||||
HAIKU_MESA_DIR = [ FDirName $(HAIKU_OPTIONAL_BUILD_PACKAGES_DIR)
|
||||
$(HAIKU_MESA_FILE:B) ] ;
|
||||
|
||||
HAIKU_MESA_HEADERS = [ FDirName $(HAIKU_MESA_DIR) include ] ;
|
||||
HAIKU_MESA_HEADERS_DEPENDENCY = [ ExtractArchive $(HAIKU_MESA_DIR)
|
||||
: include/ : $(zipFile) : extracted-mesa ] ;
|
||||
|
||||
# Base Mesa libraries
|
||||
HAIKU_MESA_LIB = [ ExtractArchive $(HAIKU_MESA_DIR)
|
||||
:
|
||||
lib.haiku/libmesa.a
|
||||
: $(zipFile)
|
||||
: extracted-mesa ] ;
|
||||
HAIKU_GLAPI_LIB = [ ExtractArchive $(HAIKU_MESA_DIR)
|
||||
:
|
||||
lib.haiku/libglapi.a
|
||||
: $(zipFile)
|
||||
: extracted-mesa ] ;
|
||||
|
||||
Depends $(HAIKU_MESA_HEADERS_DEPENDENCY) : $(HAIKU_GLU_HEADERS_DEPENDENCY) ;
|
||||
Depends $(HAIKU_GLAPI_LIBS) : $(HAIKU_GLU_LIBS) ;
|
||||
|
||||
# Extended Mesa libraries for newer versions
|
||||
if $(HAIKU_GCC_VERSION[1]) >= 4 {
|
||||
HAIKU_GLSL_LIB = [ ExtractArchive $(HAIKU_MESA_DIR)
|
||||
:
|
||||
lib.haiku/libglsl.a
|
||||
: $(zipFile)
|
||||
: extracted-mesa ] ;
|
||||
HAIKU_GALLIUM_LIB = [ ExtractArchive $(HAIKU_MESA_DIR)
|
||||
:
|
||||
lib.haiku/libgallium.a
|
||||
: $(zipFile)
|
||||
: extracted-mesa ] ;
|
||||
|
||||
if FIsBuildFeatureEnabled(llvm) {
|
||||
HAIKU_GALLIUM_LLVMPIPE_LIB = [ ExtractArchive $(HAIKU_MESA_DIR)
|
||||
:
|
||||
lib.haiku/libllvmpipe.a
|
||||
: $(zipFile)
|
||||
: extracted-mesa ] ;
|
||||
Depends $(HAIKU_GALLIUM_LLVMPIPE_LIB) : $(HAIKU_LLVM_LIBS) ;
|
||||
} else {
|
||||
HAIKU_GALLIUM_SOFTPIPE_LIB = [ ExtractArchive $(HAIKU_MESA_DIR)
|
||||
:
|
||||
lib.haiku/libsoftpipe.a
|
||||
: $(zipFile)
|
||||
: extracted-mesa ] ;
|
||||
}
|
||||
}
|
||||
|
||||
EnableBuildFeatures mesa ;
|
||||
} else {
|
||||
Echo "Mesa 3D rendering support not available on $(TARGET_ARCH)" ;
|
||||
}
|
||||
|
||||
|
||||
# FFmpeg
|
||||
local ffmpegBaseURL = $(baseURL)/lib ;
|
||||
if $(TARGET_ARCH) = x86 {
|
||||
if $(HAIKU_GCC_VERSION[1]) >= 4 {
|
||||
HAIKU_FFMPEG_FILE = ffmpeg-0.10.2-r1a4-x86-gcc4-2012-09-02.zip ;
|
||||
HAIKU_SPEEX_FILE = speex-1.2rc1-r1a4-x86-gcc4-2012-09-02.zip ;
|
||||
HAIKU_LIBTHEORA_FILE = libtheora-1.1.1-r1a4-x86-gcc4-2012-09-02.zip ;
|
||||
HAIKU_LIBVORBIS_FILE = libvorbis-1.3.2-r1a4-x86-gcc4-2012-09-02.zip ;
|
||||
HAIKU_LIBOGG_FILE = libogg-1.3.0-r1a4-x86-gcc4-2012-09-02.zip ;
|
||||
HAIKU_LIBVPX_FILE = libvpx-1.0.0-r1a4-x86-gcc4-2012-09-02.zip ;
|
||||
} else {
|
||||
HAIKU_FFMPEG_FILE = ffmpeg-0.10.2-r1a4-x86-gcc2-2012-08-30.zip ;
|
||||
HAIKU_SPEEX_FILE = speex-1.2rc1-r1a4-x86-gcc2-2012-08-29.zip ;
|
||||
HAIKU_LIBTHEORA_FILE = libtheora-1.1.1-r1a4-x86-gcc2-2012-08-29.zip ;
|
||||
HAIKU_LIBVORBIS_FILE = libvorbis-1.3.2-r1a4-x86-gcc2-2012-08-29.zip ;
|
||||
HAIKU_LIBOGG_FILE = libogg-1.3.0-r1a4-x86-gcc2-2012-08-29.zip ;
|
||||
HAIKU_LIBVPX_FILE = libvpx-1.0.0-r1a4-x86-gcc2-2012-08-29.zip ;
|
||||
}
|
||||
|
||||
local ffmpegZipFile = [ DownloadFile $(HAIKU_FFMPEG_FILE)
|
||||
: $(ffmpegBaseURL)/$(HAIKU_FFMPEG_FILE) ] ;
|
||||
local speexZipFile = [ DownloadFile $(HAIKU_SPEEX_FILE)
|
||||
: $(ffmpegBaseURL)/$(HAIKU_SPEEX_FILE) ] ;
|
||||
local libtheoraZipFile = [ DownloadFile $(HAIKU_LIBTHEORA_FILE)
|
||||
: $(ffmpegBaseURL)/$(HAIKU_LIBTHEORA_FILE) ] ;
|
||||
local libvorbisZipFile = [ DownloadFile $(HAIKU_LIBVORBIS_FILE)
|
||||
: $(ffmpegBaseURL)/$(HAIKU_LIBVORBIS_FILE) ] ;
|
||||
local liboggZipFile = [ DownloadFile $(HAIKU_LIBOGG_FILE)
|
||||
: $(ffmpegBaseURL)/$(HAIKU_LIBOGG_FILE) ] ;
|
||||
local libvpxZipFile = [ DownloadFile $(HAIKU_LIBVPX_FILE)
|
||||
: $(ffmpegBaseURL)/$(HAIKU_LIBVPX_FILE) ] ;
|
||||
|
||||
HAIKU_FFMPEG_DIR = [ FDirName $(HAIKU_OPTIONAL_BUILD_PACKAGES_DIR)
|
||||
$(HAIKU_FFMPEG_FILE:B) ] ;
|
||||
HAIKU_SPEEX_DIR = [ FDirName $(HAIKU_OPTIONAL_BUILD_PACKAGES_DIR)
|
||||
$(HAIKU_SPEEX_FILE:B) ] ;
|
||||
HAIKU_LIBTHEORA_DIR = [ FDirName $(HAIKU_OPTIONAL_BUILD_PACKAGES_DIR)
|
||||
$(HAIKU_LIBTHEORA_FILE:B) ] ;
|
||||
HAIKU_LIBVORBIS_DIR = [ FDirName $(HAIKU_OPTIONAL_BUILD_PACKAGES_DIR)
|
||||
$(HAIKU_LIBVORBIS_FILE:B) ] ;
|
||||
HAIKU_LIBOGG_DIR = [ FDirName $(HAIKU_OPTIONAL_BUILD_PACKAGES_DIR)
|
||||
$(HAIKU_LIBOGG_FILE:B) ] ;
|
||||
HAIKU_LIBVPX_DIR = [ FDirName $(HAIKU_OPTIONAL_BUILD_PACKAGES_DIR)
|
||||
$(HAIKU_LIBVPX_FILE:B) ] ;
|
||||
|
||||
HAIKU_FFMPEG_HEADERS_DEPENDENCY = [ ExtractArchive $(HAIKU_FFMPEG_DIR)
|
||||
: common/include/ : $(ffmpegZipFile) : extracted-ffmpeg ] ;
|
||||
HAIKU_SPEEX_HEADERS_DEPENDENCY = [ ExtractArchive $(HAIKU_SPEEX_DIR)
|
||||
: common/include/ : $(speexZipFile) : extracted-speex ] ;
|
||||
HAIKU_LIBTHEORA_HEADERS_DEPENDENCY = [ ExtractArchive $(HAIKU_LIBTHEORA_DIR)
|
||||
: common/include/ : $(libtheoraZipFile) : extracted-libtheora ] ;
|
||||
HAIKU_LIBVORBIS_HEADERS_DEPENDENCY = [ ExtractArchive $(HAIKU_LIBVORBIS_DIR)
|
||||
: common/include/ : $(libvorbisZipFile) : extracted-libvorbis ] ;
|
||||
HAIKU_LIBOGG_HEADERS_DEPENDENCY = [ ExtractArchive $(HAIKU_LIBOGG_DIR)
|
||||
: common/include/ : $(liboggZipFile) : extracted-libogg ] ;
|
||||
HAIKU_LIBVPX_HEADERS_DEPENDENCY = [ ExtractArchive $(HAIKU_LIBVPX_DIR)
|
||||
: common/include/ : $(libvpxZipFile) : extracted-libvpx ] ;
|
||||
|
||||
HAIKU_FFMPEG_LIBS = [ ExtractArchive $(HAIKU_FFMPEG_DIR)
|
||||
:
|
||||
common/lib/libavformat.a
|
||||
common/lib/libavcodec.a
|
||||
common/lib/libavdevice.a
|
||||
common/lib/libavfilter.a
|
||||
common/lib/libswscale.a
|
||||
common/lib/libavutil.a
|
||||
: $(ffmpegZipFile)
|
||||
: extracted-ffmpeg ] ;
|
||||
Depends $(HAIKU_FFMPEG_LIBS) : $(HAIKU_FFMPEG_HEADERS_DEPENDENCY) ;
|
||||
|
||||
HAIKU_SPEEX_LIBS = [ ExtractArchive $(HAIKU_SPEEX_DIR)
|
||||
:
|
||||
common/lib/libspeex.a
|
||||
: $(speexZipFile)
|
||||
: extracted-speex ] ;
|
||||
Depends $(HAIKU_SPEEX_LIBS) : $(HAIKU_SPEEX_HEADERS_DEPENDENCY) ;
|
||||
|
||||
HAIKU_LIBTHEORA_LIBS = [ ExtractArchive $(HAIKU_LIBTHEORA_DIR)
|
||||
:
|
||||
common/lib/libtheora.a
|
||||
common/lib/libtheoradec.a
|
||||
common/lib/libtheoraenc.a
|
||||
: $(libtheoraZipFile)
|
||||
: extracted-libtheora ] ;
|
||||
Depends $(HAIKU_LIBTHEORA_LIBS) : $(HAIKU_LIBTHEORA_HEADERS_DEPENDENCY) ;
|
||||
|
||||
|
||||
HAIKU_LIBVORBIS_LIBS = [ ExtractArchive $(HAIKU_LIBVORBIS_DIR)
|
||||
:
|
||||
common/lib/libvorbis.a
|
||||
common/lib/libvorbisenc.a
|
||||
: $(libvorbisZipFile)
|
||||
: extracted-libvorbis ] ;
|
||||
Depends $(HAIKU_LIBVORBIS_LIBS) : $(HAIKU_LIBVORBIS_HEADERS_DEPENDENCY) ;
|
||||
|
||||
|
||||
HAIKU_LIBOGG_LIBS = [ ExtractArchive $(HAIKU_LIBOGG_DIR)
|
||||
:
|
||||
common/lib/libogg.a
|
||||
: $(liboggZipFile)
|
||||
: extracted-libogg ] ;
|
||||
Depends $(HAIKU_LIBOGG_LIBS) : $(HAIKU_LIBOGG_HEADERS_DEPENDENCY) ;
|
||||
|
||||
HAIKU_LIBVPX_LIBS = [ ExtractArchive $(HAIKU_LIBVPX_DIR)
|
||||
:
|
||||
common/lib/libvpx.a
|
||||
: $(libvpxZipFile)
|
||||
: extracted-libvpx ] ;
|
||||
Depends $(HAIKU_LIBVPX_LIBS) : $(HAIKU_LIBVPX_HEADERS_DEPENDENCY) ;
|
||||
|
||||
HAIKU_FFMPEG_HEADERS = [ FDirName $(HAIKU_FFMPEG_DIR) common include ] ;
|
||||
HAIKU_SPEEX_HEADERS = [ FDirName $(HAIKU_SPEEX_DIR) common include ] ;
|
||||
HAIKU_LIBTHEORA_HEADERS = [ FDirName $(HAIKU_LIBTHEORA_DIR) common include ] ;
|
||||
HAIKU_LIBVORBIS_HEADERS = [ FDirName $(HAIKU_LIBVORBIS_DIR) common include ] ;
|
||||
HAIKU_LIBOGG_HEADERS = [ FDirName $(HAIKU_LIBOGG_DIR) common include ] ;
|
||||
HAIKU_LIBVPX_HEADERS = [ FDirName $(HAIKU_LIBVPX_DIR) common include ] ;
|
||||
|
||||
EnableBuildFeatures ffmpeg ;
|
||||
} else {
|
||||
Echo "FFMpeg support not available on $(TARGET_ARCH)" ;
|
||||
}
|
||||
|
||||
|
||||
# MikMod
|
||||
local mikmodBaseURL = http://haiku-files.org/files/optional-packages/lib ;
|
||||
if $(TARGET_ARCH) = x86 {
|
||||
if $(HAIKU_GCC_VERSION[1]) >= 4 {
|
||||
HAIKU_MIKMOD_FILE = libmikmod-3.1.11-r1a4-x86-gcc4-2012-09-02.zip ;
|
||||
} else {
|
||||
HAIKU_MIKMOD_FILE = libmikmod-3.1.11-r1a4-x86-gcc2-2012-08-29.zip ;
|
||||
}
|
||||
|
||||
local mikmodZipFile = [ DownloadFile $(HAIKU_MIKMOD_FILE)
|
||||
: $(mikmodBaseURL)/$(HAIKU_MIKMOD_FILE) ] ;
|
||||
|
||||
HAIKU_MIKMOD_DIR = [ FDirName $(HAIKU_OPTIONAL_BUILD_PACKAGES_DIR)
|
||||
$(HAIKU_MIKMOD_FILE:B) ] ;
|
||||
|
||||
HAIKU_MIKMOD_HEADERS_DEPENDENCY = [ ExtractArchive $(HAIKU_MIKMOD_DIR)
|
||||
: common/include/ : $(mikmodZipFile) : extracted-mikmod ] ;
|
||||
|
||||
HAIKU_MIKMOD_LIBS = [ ExtractArchive $(HAIKU_MIKMOD_DIR)
|
||||
:
|
||||
common/lib/libmikmod.a
|
||||
: $(mikmodZipFile)
|
||||
: extracted-ffmpeg ] ;
|
||||
Depends $(HAIKU_MIKMOD_LIBS) : $(HAIKU_MIKMOD_HEADERS_DEPENDENCY) ;
|
||||
|
||||
HAIKU_MIKMOD_HEADERS = [ FDirName $(HAIKU_MIKMOD_DIR) common include ] ;
|
||||
|
||||
EnableBuildFeatures mikmod ;
|
||||
} else {
|
||||
Echo "MikMod support not available on $(TARGET_ARCH)" ;
|
||||
}
|
||||
|
||||
|
||||
# Freetype
|
||||
local freetypeBaseURL = $(baseURL)/lib ;
|
||||
if $(TARGET_ARCH) = ppc || $(TARGET_ARCH) = x86 || $(TARGET_ARCH) = x86_64 || $(TARGET_ARCH) = arm {
|
||||
if $(TARGET_ARCH) = arm {
|
||||
HAIKU_FREETYPE_FILE = freetype-2.4.9-arm-2012-11-21.zip ;
|
||||
} else if $(TARGET_ARCH) = ppc {
|
||||
HAIKU_FREETYPE_FILE = freetype-2.4.9-ppc-gcc4-2012-06-26.zip ;
|
||||
} else if $(TARGET_ARCH) = x86_64 {
|
||||
HAIKU_FREETYPE_FILE = freetype-2.4.9-x86_64-2012-08-04.zip ;
|
||||
} else if $(HAIKU_GCC_VERSION[1]) >= 4 {
|
||||
HAIKU_FREETYPE_FILE = freetype-2.4.9-r1a4-x86-gcc4-2012-09-02.zip ;
|
||||
} else {
|
||||
HAIKU_FREETYPE_FILE = freetype-2.4.9-r1a4-x86-gcc2-2012-08-28.zip ;
|
||||
}
|
||||
|
||||
local freetypeZipFile = [ DownloadFile $(HAIKU_FREETYPE_FILE)
|
||||
: $(freetypeBaseURL)/$(HAIKU_FREETYPE_FILE) ] ;
|
||||
|
||||
HAIKU_FREETYPE_DIR = [ FDirName $(HAIKU_OPTIONAL_BUILD_PACKAGES_DIR)
|
||||
$(HAIKU_FREETYPE_FILE:B) ] ;
|
||||
|
||||
HAIKU_FREETYPE_HEADERS_DEPENDENCY = [ ExtractArchive $(HAIKU_FREETYPE_DIR)
|
||||
: develop/headers/3rdparty/freetype2 : $(freetypeZipFile)
|
||||
: extracted-freetype ] ;
|
||||
|
||||
HAIKU_FREETYPE_LIB = [ ExtractArchive $(HAIKU_FREETYPE_DIR)
|
||||
:
|
||||
common/lib/libfreetype.so
|
||||
: $(freetypeZipFile)
|
||||
: extracted-freetype ] ;
|
||||
HAIKU_FREETYPE_CURRENT_LIB = [ ExtractArchive $(HAIKU_FREETYPE_DIR)
|
||||
:
|
||||
common/lib/libfreetype.so.6.8.1
|
||||
: $(freetypeZipFile)
|
||||
: extracted-freetype ] ;
|
||||
Depends $(HAIKU_FREETYPE_LIB) $(HAIKU_FREETYPE_CURRENT_LIB) : $(HAIKU_FREETYPE_HEADERS_DEPENDENCY) ;
|
||||
|
||||
HAIKU_FREETYPE_CURRENT_LINK = libfreetype.so.6 ;
|
||||
|
||||
HAIKU_FREETYPE_HEADERS = [ FDirName $(HAIKU_FREETYPE_DIR) develop
|
||||
headers 3rdparty ] [ FDirName $(HAIKU_FREETYPE_DIR) develop
|
||||
headers 3rdparty freetype2 ] ;
|
||||
|
||||
EnableBuildFeatures freetype ;
|
||||
} else {
|
||||
Echo "Freetype support not available on $(TARGET_ARCH)" ;
|
||||
}
|
||||
|
||||
|
||||
# TagLib
|
||||
|
||||
# Automatically install the TagLib feature, when the optional TagLib optional
|
||||
# package is enabled.
|
||||
if [ IsOptionalHaikuImagePackageAdded TagLib ] {
|
||||
HAIKU_BUILD_FEATURE_TAGLIB = 1 ;
|
||||
}
|
||||
|
||||
HAIKU_TAGLIB_PACKAGE = taglib-1.6.3-r1a4-x86-gcc2-2012-09-03.zip ;
|
||||
HAIKU_TAGLIB_URL = $(baseURL)/$(HAIKU_TAGLIB_PACKAGE) ;
|
||||
|
||||
if $(HAIKU_BUILD_FEATURE_TAGLIB) {
|
||||
if $(TARGET_ARCH) != x86 {
|
||||
Echo "TagLib build feature not available for $(TARGET_ARCH)" ;
|
||||
} else {
|
||||
# Download the zip archive.
|
||||
local zipFile = [ DownloadFile $(HAIKU_TAGLIB_PACKAGE)
|
||||
: $(HAIKU_TAGLIB_URL) ] ;
|
||||
|
||||
# zip file and output directory
|
||||
HAIKU_TAGLIB_ZIP_FILE = $(zipFile) ;
|
||||
HAIKU_TAGLIB_DIR = [ FDirName $(HAIKU_OPTIONAL_BUILD_PACKAGES_DIR)
|
||||
$(HAIKU_TAGLIB_PACKAGE:B) ] ;
|
||||
|
||||
# extract headers and libraries
|
||||
HAIKU_TAGLIB_HEADERS_DEPENDENCY = [ ExtractArchive $(HAIKU_TAGLIB_DIR)
|
||||
: common/include/ : $(zipFile) : extracted-taglib
|
||||
] ;
|
||||
|
||||
HAIKU_TAGLIB_LIBS = [ ExtractArchive $(HAIKU_TAGLIB_DIR)
|
||||
:
|
||||
common/lib/libtag.so
|
||||
common/lib/libtag_c.so
|
||||
: $(zipFile)
|
||||
: extracted-taglib
|
||||
] ;
|
||||
|
||||
HAIKU_TAGLIB_HEADERS
|
||||
= [ FDirName $(HAIKU_TAGLIB_DIR) common include taglib ] ;
|
||||
|
||||
EnableBuildFeatures taglib ;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
# WebKit
|
||||
# Automatically install the WebKit feature, when the optional WebPositive
|
||||
# optional package is enabled.
|
||||
if [ IsOptionalHaikuImagePackageAdded WebPositive ] {
|
||||
HAIKU_BUILD_FEATURE_WEBKIT = 1 ;
|
||||
}
|
||||
|
||||
if $(TARGET_ARCH) = x86 {
|
||||
HAIKU_WEBKIT_FILE = haikuwebkit-1.1.3-x86-gcc4-2012-08-31a.zip ;
|
||||
} else if $(TARGET_ARCH) = x86_64 {
|
||||
HAIKU_WEBKIT_FILE = haikuwebkit-1.1.3-x86_64-gcc4-2012-12-22.zip ;
|
||||
}
|
||||
if $(HAIKU_BUILD_FEATURE_WEBKIT) {
|
||||
if $(TARGET_ARCH) != x86 && $(TARGET_ARCH) != x86_64 {
|
||||
Echo "WebKit support not available on $(TARGET_ARCH)" ;
|
||||
} else if $(HAIKU_GCC_VERSION[1]) < 4 {
|
||||
if ! $(isHybridBuild) {
|
||||
Echo "WebKit support not available on gcc $(HAIKU_GCC_VERSION[1])" ;
|
||||
} else {
|
||||
Echo "WebKit to be utilized by gcc4 inside $(HAIKU_ALTERNATIVE_GCC_OUTPUT_DIR)" ;
|
||||
}
|
||||
} else {
|
||||
local zipFile = [ DownloadFile $(HAIKU_WEBKIT_FILE)
|
||||
: $(baseURL)/$(HAIKU_WEBKIT_FILE) ] ;
|
||||
|
||||
HAIKU_WEBKIT_DIR = [ FDirName $(HAIKU_OPTIONAL_BUILD_PACKAGES_DIR)
|
||||
$(HAIKU_WEBKIT_FILE:B) ] ;
|
||||
|
||||
HAIKU_WEBKIT_HEADERS_DEPENDENCY = [ ExtractArchive $(HAIKU_WEBKIT_DIR)
|
||||
: include/ : $(zipFile) : extracted-webkit ] ;
|
||||
|
||||
HAIKU_WEBKIT_LIBS = [ ExtractArchive $(HAIKU_WEBKIT_DIR)
|
||||
:
|
||||
lib/libwtf.so
|
||||
lib/libjavascriptcore.so
|
||||
lib/libwebcore.so
|
||||
lib/libwebkit.so
|
||||
: $(zipFile)
|
||||
: extracted-webkit
|
||||
] ;
|
||||
|
||||
HAIKU_WEBKIT_HEADERS = [ FDirName $(HAIKU_WEBKIT_DIR) include ] ;
|
||||
|
||||
EnableBuildFeatures webkit ;
|
||||
}
|
||||
}
|
||||
|
||||
# libpng
|
||||
local libpngBaseURL = $(baseURL)/lib ;
|
||||
if $(TARGET_ARCH) = ppc || $(TARGET_ARCH) = x86 || $(TARGET_ARCH) = x86_64 || $(TARGET_ARCH) = arm {
|
||||
if $(TARGET_ARCH) = arm {
|
||||
HAIKU_LIBPNG_FILE = libpng-1.5.12-arm-2012-11-21.zip ;
|
||||
} else if $(TARGET_ARCH) = ppc {
|
||||
HAIKU_LIBPNG_FILE = libpng-1.5.12-ppc-gcc4-2012-08-27.zip ;
|
||||
} else if $(TARGET_ARCH) = x86_64 {
|
||||
HAIKU_LIBPNG_FILE = libpng-1.5.12-x86_64-2012-11-18.zip ;
|
||||
} else if $(HAIKU_GCC_VERSION[1]) >= 4 {
|
||||
HAIKU_LIBPNG_FILE = libpng-1.5.12-x86-gcc4-2012-08-23.zip ;
|
||||
} else {
|
||||
HAIKU_LIBPNG_FILE = libpng-1.5.12-x86-gcc2-2012-08-23.zip ;
|
||||
}
|
||||
|
||||
local libpngZipFile = [ DownloadFile $(HAIKU_LIBPNG_FILE)
|
||||
: $(libpngBaseURL)/$(HAIKU_LIBPNG_FILE) ] ;
|
||||
|
||||
HAIKU_LIBPNG_DIR = [ FDirName $(HAIKU_OPTIONAL_BUILD_PACKAGES_DIR)
|
||||
$(HAIKU_LIBPNG_FILE:B) ] ;
|
||||
|
||||
HAIKU_LIBPNG_HEADERS_DEPENDENCY = [ ExtractArchive $(HAIKU_LIBPNG_DIR)
|
||||
: common/include : $(libpngZipFile)
|
||||
: extracted-libpng ] ;
|
||||
|
||||
HAIKU_LIBPNG_LIB = [ ExtractArchive $(HAIKU_LIBPNG_DIR)
|
||||
:
|
||||
common/lib/libpng.so
|
||||
: $(libpngZipFile)
|
||||
: extracted-libpng ] ;
|
||||
HAIKU_LIBPNG_CURRENT_LIB = [ ExtractArchive $(HAIKU_LIBPNG_DIR)
|
||||
:
|
||||
common/lib/libpng15.so.15.12.0
|
||||
: $(libpngZipFile)
|
||||
: extracted-libpng ] ;
|
||||
Depends $(HAIKU_LIBPNG_LIB) $(HAIKU_LIBPNG_CURRENT_LIB) : $(HAIKU_LIBPNG_HEADERS_DEPENDENCY) ;
|
||||
|
||||
HAIKU_LIBPNG_CURRENT_LINK = libpng15.so.15 ;
|
||||
|
||||
HAIKU_LIBPNG_HEADERS = [ FDirName $(HAIKU_LIBPNG_DIR) common include ] ;
|
||||
|
||||
EnableBuildFeatures libpng ;
|
||||
} else {
|
||||
Echo "libpng support not available on $(TARGET_ARCH)" ;
|
||||
}
|
||||
|
||||
# jpeg
|
||||
local jpegBaseURL = $(baseURL)/lib ;
|
||||
if $(TARGET_ARCH) in arm ppc x86 x86_64 {
|
||||
if $(TARGET_ARCH) = arm {
|
||||
HAIKU_JPEG_FILE = jpeg-8d-arm-2012-11-21.zip ;
|
||||
} else if $(TARGET_ARCH) = ppc {
|
||||
HAIKU_JPEG_FILE = jpeg-8d-ppc-gcc4-2012-08-27.zip ;
|
||||
} else if $(TARGET_ARCH) = x86_64 {
|
||||
HAIKU_JPEG_FILE = jpeg-8d-x86_64-2012-11-18.zip ;
|
||||
} else if $(HAIKU_GCC_VERSION[1]) >= 4 {
|
||||
HAIKU_JPEG_FILE = jpeg-8d-x86-gcc4-2012-08-23.zip ;
|
||||
} else {
|
||||
HAIKU_JPEG_FILE = jpeg-8d-x86-gcc2-2012-08-23.zip ;
|
||||
}
|
||||
|
||||
local jpegZipFile = [ DownloadFile $(HAIKU_JPEG_FILE)
|
||||
: $(jpegBaseURL)/$(HAIKU_JPEG_FILE) ] ;
|
||||
|
||||
HAIKU_JPEG_DIR = [ FDirName $(HAIKU_OPTIONAL_BUILD_PACKAGES_DIR)
|
||||
$(HAIKU_JPEG_FILE:B) ] ;
|
||||
|
||||
HAIKU_JPEG_HEADERS_DEPENDENCY = [ ExtractArchive $(HAIKU_JPEG_DIR)
|
||||
: common/include : $(jpegZipFile)
|
||||
: extracted-jpeg ] ;
|
||||
|
||||
HAIKU_JPEG_LIB = [ ExtractArchive $(HAIKU_JPEG_DIR)
|
||||
:
|
||||
common/lib/libjpeg.so
|
||||
: $(jpegZipFile)
|
||||
: extracted-jpeg ] ;
|
||||
HAIKU_JPEG_CURRENT_LIB = [ ExtractArchive $(HAIKU_JPEG_DIR)
|
||||
:
|
||||
common/lib/libjpeg.so.8.4.0
|
||||
: $(jpegZipFile)
|
||||
: extracted-jpeg ] ;
|
||||
Depends $(HAIKU_JPEG_LIB) $(HAIKU_JPEG_CURRENT_LIB) : $(HAIKU_JPEG_HEADERS_DEPENDENCY) ;
|
||||
|
||||
HAIKU_JPEG_CURRENT_LINK = libjpeg.so.8 ;
|
||||
|
||||
HAIKU_JPEG_HEADERS = [ FDirName $(HAIKU_JPEG_DIR) common include ] ;
|
||||
|
||||
EnableBuildFeatures libjpeg ;
|
||||
} else {
|
||||
Echo "jpeg support not available on $(TARGET_ARCH)" ;
|
||||
}
|
||||
|
||||
# zlib
|
||||
local zlibBaseURL = $(baseURL)/lib ;
|
||||
if $(TARGET_ARCH) = ppc || $(TARGET_ARCH) = x86 || $(TARGET_ARCH) = x86_64 || $(TARGET_ARCH) = arm {
|
||||
if $(TARGET_ARCH) = arm {
|
||||
HAIKU_ZLIB_FILE = zlib-1.2.7-arm-2012-11-21.zip ;
|
||||
} else if $(TARGET_ARCH) = ppc {
|
||||
HAIKU_ZLIB_FILE = zlib-1.2.7-ppc-gcc4-2012-10-30.zip ;
|
||||
} else if $(TARGET_ARCH) = x86_64 {
|
||||
HAIKU_ZLIB_FILE = zlib-1.2.7-x86_64-2012-11-18.zip ;
|
||||
} else if $(HAIKU_GCC_VERSION[1]) >= 4 {
|
||||
HAIKU_ZLIB_FILE = zlib-1.2.7-x86-gcc4-2012-10-30.zip ;
|
||||
} else {
|
||||
HAIKU_ZLIB_FILE = zlib-1.2.7-x86-gcc2-2012-10-30.zip ;
|
||||
}
|
||||
|
||||
local zlibZipFile = [ DownloadFile $(HAIKU_ZLIB_FILE)
|
||||
: $(zlibBaseURL)/$(HAIKU_ZLIB_FILE) ] ;
|
||||
|
||||
HAIKU_ZLIB_DIR = [ FDirName $(HAIKU_OPTIONAL_BUILD_PACKAGES_DIR)
|
||||
$(HAIKU_ZLIB_FILE:B) ] ;
|
||||
|
||||
HAIKU_ZLIB_HEADERS_DEPENDENCY = [ ExtractArchive $(HAIKU_ZLIB_DIR)
|
||||
: common/include : $(zlibZipFile)
|
||||
: extracted-zlib ] ;
|
||||
|
||||
HAIKU_ZLIB_LIB = [ ExtractArchive $(HAIKU_ZLIB_DIR)
|
||||
:
|
||||
common/lib/libz.so
|
||||
: $(zlibZipFile)
|
||||
: extracted-zlib ] ;
|
||||
HAIKU_ZLIB_CURRENT_LIB = [ ExtractArchive $(HAIKU_ZLIB_DIR)
|
||||
:
|
||||
common/lib/libz.so.1.2.7
|
||||
: $(zlibZipFile)
|
||||
: extracted-zlib ] ;
|
||||
Depends $(HAIKU_ZLIB_LIB) $(HAIKU_ZLIB_CURRENT_LIB) : $(HAIKU_ZLIB_HEADERS_DEPENDENCY) ;
|
||||
|
||||
HAIKU_ZLIB_CURRENT_LINK = libz.so.1 ;
|
||||
|
||||
HAIKU_ZLIB_HEADERS = [ FDirName $(HAIKU_ZLIB_DIR) common include ] ;
|
||||
|
||||
EnableBuildFeatures zlib ;
|
||||
} else {
|
||||
Echo "zlib support not available on $(TARGET_ARCH)" ;
|
||||
}
|
||||
|
||||
|
||||
# LibSolv
|
||||
|
||||
if $(TARGET_ARCH) != x86 {
|
||||
Echo "Libsolv not available for $(TARGET_ARCH)." ;
|
||||
} else if $(HAIKU_GCC_VERSION[1]) = 2 {
|
||||
HAIKU_LIBSOLV_PACKAGE
|
||||
= libsolv-0.3.0_haiku_2013_04_18-2-x86_gcc2.hpkg ;
|
||||
} else {
|
||||
Echo "Libsolv not available for gcc4." ;
|
||||
}
|
||||
|
||||
if $(HAIKU_LIBSOLV_PACKAGE) {
|
||||
# download package
|
||||
HAIKU_LIBSOLV_PACKAGE_FILE = [ DownloadFile $(HAIKU_LIBSOLV_PACKAGE)
|
||||
: $(hpkgBaseURL)/$(HAIKU_LIBSOLV_PACKAGE) ] ;
|
||||
HAIKU_LIBSOLV_DIR = [ FDirName $(HAIKU_OPTIONAL_BUILD_PACKAGES_DIR)
|
||||
$(HAIKU_LIBSOLV_PACKAGE:B) ] ;
|
||||
|
||||
# extract headers and libraries
|
||||
HAIKU_LIBSOLV_HEADERS_DEPENDENCY = [ ExtractArchive $(HAIKU_LIBSOLV_DIR)
|
||||
: develop/headers/ : $(HAIKU_LIBSOLV_PACKAGE_FILE) : extracted-libsolv
|
||||
] ;
|
||||
|
||||
HAIKU_LIBSOLV_LIBS = [ ExtractArchive $(HAIKU_LIBSOLV_DIR)
|
||||
:
|
||||
develop/lib/libsolv.so
|
||||
develop/lib/libsolvext.so
|
||||
: $(HAIKU_LIBSOLV_PACKAGE_FILE)
|
||||
: extracted-libsolv
|
||||
] ;
|
||||
|
||||
HAIKU_LIBSOLV_HEADERS = [ FDirName $(HAIKU_LIBSOLV_DIR) develop/headers ] ;
|
||||
}
|
||||
|
||||
|
||||
# GPL add-ons
|
||||
if $(HAIKU_INCLUDE_GPL_ADDONS) = 1 {
|
||||
EnableBuildFeatures gpl ;
|
||||
}
|
||||
|
||||
|
||||
# ATA vs. IDE
|
||||
#HACK: remove when old ide code is removed!
|
||||
if $(HAIKU_ATA_STACK) = 1 {
|
||||
EnableBuildFeatures ata ;
|
||||
} else {
|
||||
EnableBuildFeatures ide ;
|
||||
}
|
||||
+146
-56
@@ -133,11 +133,25 @@ if $(HAIKU_USE_GCC_PIPE) = 1 {
|
||||
# TODO: remove the -fno-strict-aliasing option when all code has been
|
||||
# analyzed/fixed with regard to aliasing.
|
||||
# TODO: retest/remove the -fno-tree-vrp option as soon as we have updated our
|
||||
# gcc4 compiler.
|
||||
# gcc4 compiler. See this discussion on some issues:
|
||||
# http://www.freelists.org/post/haiku-development/hrev45320-Yet-another-nonobvious-effect-of-ftreevrp-optimization
|
||||
if $(HAIKU_GCC_VERSION[1]) >= 3 {
|
||||
HAIKU_GCC_BASE_FLAGS += -fno-strict-aliasing -fno-tree-vrp ;
|
||||
}
|
||||
|
||||
# disable array bounds warnings on gcc 4.6 or newer since they trigger
|
||||
# too many false positives. Coverity does a better job of this kind of analysis
|
||||
# anyways.
|
||||
if $(HAIKU_GCC_VERSION[1]) >= 4 {
|
||||
HAIKU_GCC_BASE_FLAGS += -Wno-array-bounds ;
|
||||
}
|
||||
|
||||
# activating graphite optimizations
|
||||
if $(HAIKU_USE_GCC_GRAPHITE) = 1 {
|
||||
HAIKU_GCC_BASE_FLAGS += -floop-interchange -ftree-loop-distribution
|
||||
-floop-strip-mine -floop-block ;
|
||||
}
|
||||
|
||||
if $(HOST_GCC_VERSION[1]) >= 3 {
|
||||
HOST_GCC_BASE_FLAGS += -fno-strict-aliasing -fno-tree-vrp ;
|
||||
}
|
||||
@@ -153,16 +167,15 @@ if $(HAIKU_GCC_VERSION[1]) = 2 {
|
||||
HAIKU_C++ ?= $(HAIKU_CC) ;
|
||||
HAIKU_LINK = $(HAIKU_CC) ;
|
||||
HAIKU_LINKFLAGS = $(HAIKU_GCC_BASE_FLAGS) ;
|
||||
HAIKU_BOOT_LINKFLAGS = ;
|
||||
|
||||
HAIKU_HDRS = [ FStandardHeaders ] ;
|
||||
|
||||
HAIKU_CUSTOM_CCFLAGS = $(HAIKU_CCFLAGS) ;
|
||||
HAIKU_CUSTOM_C++FLAGS = $(HAIKU_C++FLAGS) ;
|
||||
|
||||
HAIKU_CCFLAGS = $(HAIKU_GCC_BASE_FLAGS) $(HAIKU_CUSTOM_CCFLAGS) -nostdinc ;
|
||||
HAIKU_C++FLAGS = $(HAIKU_GCC_BASE_FLAGS) $(HAIKU_CUSTOM_C++FLAGS) -nostdinc ;
|
||||
HAIKU_KERNEL_CCFLAGS = $(HAIKU_GCC_BASE_FLAGS) $(HAIKU_CUSTOM_CCFLAGS) ;
|
||||
HAIKU_KERNEL_C++FLAGS = $(HAIKU_GCC_BASE_FLAGS) $(HAIKU_CUSTOM_C++FLAGS) ;
|
||||
HAIKU_KERNEL_CCFLAGS = $(HAIKU_CCFLAGS) $(HAIKU_GCC_BASE_FLAGS) ;
|
||||
HAIKU_KERNEL_C++FLAGS = $(HAIKU_C++FLAGS) $(HAIKU_GCC_BASE_FLAGS) ;
|
||||
HAIKU_BOOT_CCFLAGS = $(HAIKU_CCFLAGS) $(HAIKU_GCC_BASE_FLAGS) ;
|
||||
HAIKU_BOOT_C++FLAGS = $(HAIKU_C++FLAGS) $(HAIKU_GCC_BASE_FLAGS) ;
|
||||
HAIKU_CCFLAGS += $(HAIKU_GCC_BASE_FLAGS) -nostdinc ;
|
||||
HAIKU_C++FLAGS += $(HAIKU_GCC_BASE_FLAGS) -nostdinc ;
|
||||
HAIKU_DEFINES = __HAIKU__ ;
|
||||
HAIKU_NO_WERROR ?= 0 ;
|
||||
|
||||
@@ -188,7 +201,7 @@ switch $(HAIKU_DISTRO_COMPATIBILITY) {
|
||||
# analyze the gcc machine spec to determine HAIKU_CPU
|
||||
switch $(HAIKU_GCC_MACHINE) {
|
||||
case i?86-* : HAIKU_CPU = x86 ;
|
||||
case x86_64-* : HAIKU_CPU = x86_64 ;
|
||||
case x86_64-* : HAIKU_CPU = x86_64 ;
|
||||
case powerpc-* : HAIKU_CPU = ppc ;
|
||||
case m68k-* : HAIKU_CPU = m68k ;
|
||||
case mipsel-* : HAIKU_CPU = mipsel ;
|
||||
@@ -215,7 +228,7 @@ switch $(HAIKU_CPU) {
|
||||
case ppc :
|
||||
{
|
||||
HAIKU_DEFINES += __POWERPC__ ;
|
||||
HAIKU_BOOT_PLATFORM = openfirmware ;
|
||||
HAIKU_BOOT_PLATFORM ?= openfirmware ;
|
||||
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
|
||||
@@ -223,7 +236,7 @@ switch $(HAIKU_CPU) {
|
||||
case arm :
|
||||
{
|
||||
HAIKU_DEFINES += __ARM__ ;
|
||||
HAIKU_BOOT_PLATFORM = u-boot ;
|
||||
HAIKU_BOOT_PLATFORM ?= u-boot ;
|
||||
HAIKU_BOOT_BOARD ?= verdex ;
|
||||
HAIKU_BOOT_FLOPPY_IMAGE_SIZE = 1440 ;
|
||||
# in kB (there is not really a floppy on the gumstix ;) )
|
||||
@@ -247,12 +260,15 @@ switch $(HAIKU_CPU) {
|
||||
}
|
||||
case x86_64 :
|
||||
{
|
||||
HAIKU_DEFINES += __x86_64__ ;
|
||||
# x86_64 completely shares the x86 bootloader.
|
||||
HAIKU_BOOT_PLATFORM = bios_ia32 ;
|
||||
HAIKU_BOOT_FLOPPY_IMAGE_SIZE = 2880 ; # in kB
|
||||
# offset in floppy image (>= sizeof(haiku_loader))
|
||||
HAIKU_BOOT_ARCHIVE_IMAGE_OFFSET = 300 ; # in kB
|
||||
|
||||
# x86_64 kernel source is under arch/x86.
|
||||
HAIKU_KERNEL_ARCH = x86 ;
|
||||
|
||||
# yasm is required for target arch x86_64
|
||||
if ! $(HAIKU_YASM) {
|
||||
Exit "HAIKU_YASM not set. Please re-run configure." ;
|
||||
@@ -291,10 +307,23 @@ switch $(HAIKU_CPU) {
|
||||
case * :
|
||||
Exit "Currently unsupported target CPU:" $(HAIKU_CPU) ;
|
||||
}
|
||||
|
||||
# strip is required
|
||||
if ! $(HAIKU_STRIP) {
|
||||
Exit "HAIKU_STRIP not set. Please re-run configure." ;
|
||||
}
|
||||
|
||||
# Include embedded board-specific file.
|
||||
if $(HAIKU_BOOT_BOARD) {
|
||||
include [ FDirName $(HAIKU_BUILD_RULES_DIR) board $(HAIKU_BOOT_BOARD)
|
||||
BoardSetup ] ;
|
||||
}
|
||||
|
||||
HAIKU_ARCH ?= $(HAIKU_CPU) ;
|
||||
HAIKU_ARCH_MACRO_DEFINE = ARCH_$(HAIKU_ARCH) ;
|
||||
HAIKU_DEFINES += $(HAIKU_ARCH_MACRO_DEFINE) ;
|
||||
HAIKU_DEFINES += BOOT_ARCHIVE_IMAGE_OFFSET=$(HAIKU_BOOT_ARCHIVE_IMAGE_OFFSET) ;
|
||||
HAIKU_KERNEL_ARCH ?= $(HAIKU_ARCH) ;
|
||||
HAIKU_ATA_STACK ?= 1 ;
|
||||
|
||||
# directories
|
||||
@@ -320,22 +349,26 @@ HAIKU_ASFLAGS = ;
|
||||
HAIKU_KERNEL_CCFLAGS += -finline -fno-builtin ;
|
||||
HAIKU_KERNEL_C++FLAGS += -finline -fno-builtin -fno-exceptions ;
|
||||
HAIKU_KERNEL_DEFINES += _KERNEL_MODE ;
|
||||
HAIKU_BOOT_CCFLAGS += -finline -fno-builtin ;
|
||||
HAIKU_BOOT_C++FLAGS += -finline -fno-builtin -fno-exceptions ;
|
||||
|
||||
if $(HAIKU_GCC_VERSION[1]) >= 3 {
|
||||
HAIKU_BOOT_C++FLAGS += -fno-use-cxa-atexit ;
|
||||
HAIKU_KERNEL_C++FLAGS += -fno-use-cxa-atexit ;
|
||||
}
|
||||
|
||||
if $(HAIKU_GCC_VERSION[1]) >= 4 {
|
||||
HAIKU_C++FLAGS += -Wno-deprecated ;
|
||||
|
||||
if $(HAIKU_GCC_VERSION[2]) >= 3 {
|
||||
HAIKU_KERNEL_CCFLAGS += -ffreestanding ;
|
||||
HAIKU_KERNEL_C++FLAGS += -ffreestanding ;
|
||||
}
|
||||
HAIKU_KERNEL_CCFLAGS += -ffreestanding ;
|
||||
HAIKU_KERNEL_C++FLAGS += -ffreestanding ;
|
||||
HAIKU_BOOT_CCFLAGS += -ffreestanding ;
|
||||
HAIKU_BOOT_C++FLAGS += -ffreestanding ;
|
||||
}
|
||||
|
||||
HAIKU_KERNEL_PIC_CCFLAGS = -fno-pic ;
|
||||
HAIKU_KERNEL_PIC_LINKFLAGS = ;
|
||||
HAIKU_KERNEL_ADDON_LINKFLAGS = ;
|
||||
|
||||
switch $(HAIKU_ARCH) {
|
||||
case ppc :
|
||||
@@ -356,15 +389,10 @@ switch $(HAIKU_ARCH) {
|
||||
}
|
||||
case x86 :
|
||||
{
|
||||
if $(HAIKU_CUSTOM_CCFLAGS) = '' {
|
||||
HAIKU_CCFLAGS += -march=pentium ;
|
||||
HAIKU_KERNEL_CCFLAGS += -march=pentium ;
|
||||
}
|
||||
|
||||
if $(HAIKU_CUSTOM_C++FLAGS) = '' {
|
||||
HAIKU_C++FLAGS += -march=pentium ;
|
||||
HAIKU_KERNEL_C++FLAGS += -march=pentium ;
|
||||
}
|
||||
HAIKU_CCFLAGS += -march=pentium ;
|
||||
HAIKU_C++FLAGS += -march=pentium ;
|
||||
HAIKU_KERNEL_CCFLAGS += -march=pentium ;
|
||||
HAIKU_KERNEL_C++FLAGS += -march=pentium ;
|
||||
|
||||
# Enable use of the gcc built-in atomic functions instead of atomic_*().
|
||||
# The former are inlined and have thus less overhead. They are not
|
||||
@@ -373,6 +401,23 @@ switch $(HAIKU_ARCH) {
|
||||
}
|
||||
case x86_64 :
|
||||
{
|
||||
# Kernel lives in the top 2GB of the address space, use kernel code
|
||||
# model.
|
||||
HAIKU_KERNEL_PIC_CCFLAGS += -mcmodel=kernel ;
|
||||
|
||||
# Disable the red zone, which cannot be used in kernel code due to
|
||||
# interrupts, and always enable the frame pointer so stack traces are
|
||||
# correct.
|
||||
HAIKU_KERNEL_CCFLAGS += -mno-red-zone -fno-omit-frame-pointer ;
|
||||
HAIKU_KERNEL_C++FLAGS += -mno-red-zone -fno-omit-frame-pointer ;
|
||||
HAIKU_KERNEL_PIC_LINKFLAGS += -z max-page-size=0x1000 ;
|
||||
HAIKU_KERNEL_ADDON_LINKFLAGS += -z max-page-size=0x1000 ;
|
||||
|
||||
# Bootloader is 32-bit.
|
||||
HAIKU_BOOT_LINKFLAGS += -m elf_i386_haiku ;
|
||||
HAIKU_BOOT_CCFLAGS += -m32 -march=pentium ;
|
||||
HAIKU_BOOT_C++FLAGS += -m32 -march=pentium ;
|
||||
|
||||
# Enable use of the gcc built-in atomic functions instead of atomic_*().
|
||||
# The former are inlined and have thus less overhead.
|
||||
HAIKU_DEFINES += B_USE_BUILTIN_ATOMIC_FUNCTIONS ;
|
||||
@@ -435,7 +480,7 @@ HAIKU_PRIVATE_SYSTEM_HEADERS =
|
||||
HAIKU_PRIVATE_KERNEL_HEADERS =
|
||||
[ PrivateHeaders $(DOT) kernel libroot shared
|
||||
kernel/boot/platform/$(HAIKU_BOOT_PLATFORM) ]
|
||||
[ ArchHeaders $(HAIKU_ARCH) ]
|
||||
[ ArchHeaders $(HAIKU_KERNEL_ARCH) ]
|
||||
[ FDirName $(HAIKU_COMMON_DEBUG_OBJECT_DIR) system kernel ]
|
||||
$(HAIKU_PRIVATE_SYSTEM_HEADERS)
|
||||
;
|
||||
@@ -480,7 +525,7 @@ HAIKU_SELECT_UNAME_ETC_LIB = ; # libroot, against which we link anyway
|
||||
|
||||
|
||||
# locale libraries
|
||||
HAIKU_LOCALE_LIBS = liblocale.so liblocalestub.a ;
|
||||
HAIKU_LOCALE_LIBS = liblocalestub.a ;
|
||||
|
||||
|
||||
# library and executable glue code
|
||||
@@ -528,9 +573,9 @@ HAIKU_BUILD_DESCRIPTION ?= "Unknown Build" ;
|
||||
# init library name map
|
||||
{
|
||||
local i ;
|
||||
for i in be bnetapi debug game GL locale mail media midi midi2 network
|
||||
opengl package root screensaver textencoding tracker translation
|
||||
z {
|
||||
for i in be bnetapi debug device game GL locale mail media midi midi2
|
||||
network opengl package root screensaver textencoding tracker
|
||||
translation z {
|
||||
HAIKU_LIBRARY_NAME_MAP_$(i) = lib$(i).so ;
|
||||
}
|
||||
HAIKU_LIBRARY_NAME_MAP_libstdc++ = $(HAIKU_LIBSTDC++) ;
|
||||
@@ -548,6 +593,7 @@ HOST_PLATFORM_IS_64_BIT = ;
|
||||
switch $(HOST_GCC_MACHINE) {
|
||||
case amd64-* : HOST_PLATFORM_IS_64_BIT = 1 ;
|
||||
case i686-apple-darwin10 : HOST_PLATFORM_IS_64_BIT = 1 ;
|
||||
case i686-apple-darwin11 : HOST_PLATFORM_IS_64_BIT = 1 ;
|
||||
case x86_64-* : HOST_PLATFORM_IS_64_BIT = 1 ;
|
||||
}
|
||||
|
||||
@@ -604,6 +650,13 @@ if $(HOST_PLATFORM) = linux || $(HOST_PLATFORM) = freebsd
|
||||
}
|
||||
}
|
||||
|
||||
# On recent versions of OS X cc and c++ point to clang, which fails to
|
||||
# compile some of the host tools. As a workaround, force use of GCC.
|
||||
if $(HOST_PLATFORM) = darwin {
|
||||
HOST_CC = gcc ;
|
||||
HOST_C++ = g++ ;
|
||||
}
|
||||
|
||||
if $(HOST_PLATFORM) = cygwin {
|
||||
HOST_LINKFLAGS += -Xlinker --allow-multiple-definition -Xlinker
|
||||
--enable-auto-import ;
|
||||
@@ -674,6 +727,12 @@ if $(HOST_ARCH) = m68k {
|
||||
HOST_KERNEL_PIC_LINKFLAGS = $(HAIKU_KERNEL_PIC_LINKFLAGS) ;
|
||||
}
|
||||
|
||||
if $(HOST_PLATFORM) != darwin {
|
||||
# fix for new changes to DSO linking policies
|
||||
HOST_LINKFLAGS += -Xlinker --no-as-needed ;
|
||||
}
|
||||
|
||||
|
||||
# warning flags
|
||||
HOST_WARNING_CCFLAGS = -Wall -Wno-trigraphs -Wmissing-prototypes -Wpointer-arith
|
||||
-Wcast-align -Wsign-compare ;
|
||||
@@ -768,9 +827,10 @@ if $(HOST_PLATFORM_BEOS_COMPATIBLE) {
|
||||
# compatibility library
|
||||
HOST_HAIKU_COMPATIBILITY_LIBS = libhaikucompat.a ;
|
||||
} else {
|
||||
HOST_LINKFLAGS += -lm ;
|
||||
HOST_LIBSTDC++ = stdc++ ;
|
||||
HOST_LIBROOT = libroot_build_function_remapper.a libroot_build.so ;
|
||||
HOST_STATIC_LIBROOT = libroot_build.a ;
|
||||
HOST_STATIC_LIBROOT = libroot_build_function_remapper.a libroot_build.a ;
|
||||
HOST_LIBBE = libbe_build.so ;
|
||||
if $(HOST_PLATFORM) = cygwin {
|
||||
HOST_ADD_BUILD_COMPATIBILITY_LIB_DIR
|
||||
@@ -899,6 +959,7 @@ if ! $(HOST_PLATFORM_BEOS_COMPATIBLE) {
|
||||
[ FDirName $(HAIKU_TOP) headers build os drivers ]
|
||||
[ FDirName $(HAIKU_TOP) headers build os kernel ]
|
||||
[ FDirName $(HAIKU_TOP) headers build os interface ]
|
||||
[ FDirName $(HAIKU_TOP) headers build os locale ]
|
||||
[ FDirName $(HAIKU_TOP) headers build os opengl ]
|
||||
[ FDirName $(HAIKU_TOP) headers build os storage ]
|
||||
[ FDirName $(HAIKU_TOP) headers build os support ]
|
||||
@@ -937,9 +998,9 @@ if $(TARGET_PLATFORM) != haiku {
|
||||
# specified TARGET_PLATFORM.
|
||||
|
||||
local buildVars =
|
||||
ARCH CPU GCC_VERSION
|
||||
ARCH CPU GCC_VERSION KERNEL_ARCH
|
||||
|
||||
AR CC C++ LD OBJCOPY RANLIB
|
||||
AR CC C++ LD OBJCOPY RANLIB ELFEDIT
|
||||
|
||||
INCLUDES_SEPARATOR LOCAL_INCLUDES_OPTION SYSTEM_INCLUDES_OPTION
|
||||
|
||||
@@ -948,7 +1009,8 @@ local buildVars =
|
||||
KERNEL_DEFINES
|
||||
|
||||
KERNEL_CCFLAGS KERNEL_C++FLAGS
|
||||
KERNEL_PIC_CCFLAGS KERNEL_PIC_LINKFLAGS
|
||||
KERNEL_PIC_CCFLAGS KERNEL_PIC_LINKFLAGS KERNEL_ADDON_LINKFLAGS
|
||||
BOOT_CCFLAGS BOOT_C++FLAGS BOOT_LINKFLAGS
|
||||
WARNING_CCFLAGS WARNING_C++FLAGS
|
||||
|
||||
KERNEL_WARNING_CCFLAGS KERNEL_WARNING_C++FLAGS
|
||||
@@ -985,6 +1047,11 @@ if $(TARGET_PLATFORM) = haiku {
|
||||
TARGET_GCC_LIBGCC = $(HAIKU_GCC_LIBGCC) ;
|
||||
TARGET_GCC_LIBGCC_OBJECTS = $(HAIKU_GCC_LIBGCC_OBJECTS) ;
|
||||
|
||||
TARGET_KERNEL_LIBGCC = $(HAIKU_KERNEL_LIBGCC) ;
|
||||
TARGET_KERNEL_LIBSUPC++ = $(HAIKU_KERNEL_LIBSUPC++) ;
|
||||
TARGET_BOOT_LIBGCC = $(HAIKU_BOOT_LIBGCC) ;
|
||||
TARGET_BOOT_LIBSUPC++ = $(HAIKU_BOOT_LIBSUPC++) ;
|
||||
|
||||
TARGET_BOOT_PLATFORM ?= $(HAIKU_BOOT_PLATFORM) ;
|
||||
TARGET_BOOT_BOARD ?= $(HAIKU_BOOT_BOARD) ;
|
||||
|
||||
@@ -1001,6 +1068,11 @@ if $(TARGET_PLATFORM) = haiku {
|
||||
TARGET_GCC_LIBGCC = ;
|
||||
TARGET_GCC_LIBGCC_OBJECTS = ;
|
||||
|
||||
TARGET_KERNEL_LIBGCC = ;
|
||||
TARGET_KERNEL_LIBSUPC++ = ;
|
||||
TARGET_BOOT_LIBGCC = ;
|
||||
TARGET_BOOT_LIBSUPC++ = ;
|
||||
|
||||
TARGET_BOOT_PLATFORM = ;
|
||||
TARGET_BOOT_BOARD = ;
|
||||
|
||||
@@ -1062,7 +1134,7 @@ if ! $(TARGET_PLATFORM_HAIKU_COMPATIBLE) && $(TARGET_PLATFORM_BEOS_COMPATIBLE) {
|
||||
if $(TARGET_PLATFORM) = libbe_test {
|
||||
# headers and flags
|
||||
TARGET_HDRS +=
|
||||
[ PublicHeaders $(DOT) app drivers game interface kernel storage
|
||||
[ PublicHeaders $(DOT) app drivers game interface kernel locale storage
|
||||
support ]
|
||||
[ PrivateHeaders $(DOT) ] ;
|
||||
TARGET_DEFINES += __HAIKU__ ;
|
||||
@@ -1187,22 +1259,20 @@ AUTO_SET_UP_CONFIG_VARIABLES +=
|
||||
|
||||
|
||||
# enable -Werror for certain parts of the source tree
|
||||
|
||||
if $(HAIKU_GCC_VERSION[1]) = 2 {
|
||||
rule EnableWerror dirTokens : scope {
|
||||
AppendToConfigVar CCFLAGS : HAIKU_TOP $(dirTokens) : -Werror
|
||||
: $(scope) ;
|
||||
AppendToConfigVar C++FLAGS : HAIKU_TOP $(dirTokens) : -Werror
|
||||
: $(scope) ;
|
||||
}
|
||||
} else {
|
||||
HAIKU_WERRORFLAGS = ;
|
||||
if $(HAIKU_GCC_VERSION[1]) >= 4 {
|
||||
# -Wuninitialized gives too many false positives.
|
||||
rule EnableWerror dirTokens : scope {
|
||||
AppendToConfigVar CCFLAGS : HAIKU_TOP $(dirTokens)
|
||||
: -Werror -Wno-error=uninitialized : $(scope) ;
|
||||
AppendToConfigVar C++FLAGS : HAIKU_TOP $(dirTokens)
|
||||
: -Werror -Wno-error=uninitialized : $(scope) ;
|
||||
}
|
||||
HAIKU_WERRORFLAGS = -Wno-error=uninitialized ;
|
||||
|
||||
# TODO: remove the -Wno-unused-but-set-variable option
|
||||
HAIKU_WERRORFLAGS += -Wno-unused-but-set-variable ;
|
||||
}
|
||||
|
||||
rule EnableWerror dirTokens : scope {
|
||||
AppendToConfigVar CCFLAGS : HAIKU_TOP $(dirTokens)
|
||||
: -Werror $(HAIKU_WERRORFLAGS) : $(scope) ;
|
||||
AppendToConfigVar C++FLAGS : HAIKU_TOP $(dirTokens)
|
||||
: -Werror $(HAIKU_WERRORFLAGS) : $(scope) ;
|
||||
}
|
||||
|
||||
# Work-around for GCC 2 problem -- despite -Wno-multichar it reports
|
||||
@@ -1224,7 +1294,7 @@ if $(HAIKU_NO_WERROR) != 1 {
|
||||
# EnableWerror src add-ons accelerants nvidia ;
|
||||
EnableWerror src add-ons accelerants nvidia_gpgpu ;
|
||||
# EnableWerror src add-ons accelerants radeon ;
|
||||
EnableWerror src add-ons accelerants radeon_hd ;
|
||||
# EnableWerror src add-ons accelerants radeon_hd ;
|
||||
EnableWerror src add-ons accelerants s3 ;
|
||||
EnableWerror src add-ons accelerants skeleton ;
|
||||
EnableWerror src add-ons accelerants vesa ;
|
||||
@@ -1241,7 +1311,7 @@ if $(HAIKU_NO_WERROR) != 1 {
|
||||
EnableWerror src add-ons kernel bus_managers agp_gart ;
|
||||
EnableWerror src add-ons kernel bus_managers ata ;
|
||||
EnableWerror src add-ons kernel bus_managers config_manager ;
|
||||
EnableWerror src add-ons kernel bus_managers firewire ;
|
||||
# EnableWerror src add-ons kernel bus_managers firewire ;
|
||||
EnableWerror src add-ons kernel bus_managers isa ;
|
||||
EnableWerror src add-ons kernel bus_managers pci ;
|
||||
# EnableWerror src add-ons kernel bus_managers ps2 ; # gcc2
|
||||
@@ -1281,6 +1351,7 @@ if $(HAIKU_NO_WERROR) != 1 {
|
||||
EnableWerror src add-ons kernel file_systems layers ;
|
||||
EnableWerror src add-ons kernel file_systems netfs ;
|
||||
EnableWerror src add-ons kernel file_systems nfs ;
|
||||
EnableWerror src add-ons kernel file_systems nfs4 ;
|
||||
# EnableWerror src add-ons kernel file_systems ntfs ;
|
||||
EnableWerror src add-ons kernel file_systems packagefs ;
|
||||
EnableWerror src add-ons kernel file_systems ramfs ;
|
||||
@@ -1290,6 +1361,7 @@ if $(HAIKU_NO_WERROR) != 1 {
|
||||
EnableWerror src add-ons kernel generic ;
|
||||
# EnableWerror src add-ons kernel network datalink_protocols ;
|
||||
EnableWerror src add-ons kernel network devices ;
|
||||
EnableWerror src add-ons kernel network dns_resolver ;
|
||||
EnableWerror src add-ons kernel network notifications ;
|
||||
EnableWerror src add-ons kernel network ppp ;
|
||||
EnableWerror src add-ons kernel network protocols ;
|
||||
@@ -1342,7 +1414,7 @@ if $(HAIKU_NO_WERROR) != 1 {
|
||||
EnableWerror src add-ons translators bmp ;
|
||||
# EnableWerror src add-ons translators exr ;
|
||||
EnableWerror src add-ons translators gif ;
|
||||
EnableWerror src add-ons translators hpgs ;
|
||||
# EnableWerror src add-ons translators hpgs ;
|
||||
EnableWerror src add-ons translators hvif ;
|
||||
EnableWerror src add-ons translators ico ;
|
||||
# EnableWerror src add-ons translators jpeg ; # gcc2
|
||||
@@ -1354,10 +1426,10 @@ if $(HAIKU_NO_WERROR) != 1 {
|
||||
EnableWerror src add-ons translators rtf ;
|
||||
EnableWerror src add-ons translators sgi ;
|
||||
EnableWerror src add-ons translators shared ;
|
||||
EnableWerror src add-ons translators stxt ;
|
||||
# EnableWerror src add-ons translators stxt ;
|
||||
EnableWerror src add-ons translators tga ;
|
||||
EnableWerror src add-ons translators tiff ;
|
||||
EnableWerror src add-ons translators wonderbrush ;
|
||||
# EnableWerror src add-ons translators wonderbrush ;
|
||||
EnableWerror src add-ons print ;
|
||||
EnableWerror src bin package ;
|
||||
EnableWerror src apps ;
|
||||
@@ -1365,6 +1437,24 @@ if $(HAIKU_NO_WERROR) != 1 {
|
||||
EnableWerror src preferences ;
|
||||
EnableWerror src servers ;
|
||||
EnableWerror src system kernel ;
|
||||
EnableWerror src system libroot add-ons ;
|
||||
EnableWerror src system libroot posix locale ;
|
||||
EnableWerror src system libroot posix wchar ;
|
||||
EnableWerror src system runtime_loader ;
|
||||
}
|
||||
|
||||
# The following directories cannot currently be compiled with DEBUG=1
|
||||
SetConfigVar DEBUG : HAIKU_TOP src add-ons disk_systems bfs : 0 : local ;
|
||||
SetConfigVar DEBUG : HAIKU_TOP src add-ons kernel drivers audio hda : 0 : local ;
|
||||
SetConfigVar DEBUG : HAIKU_TOP src add-ons kernel drivers audio ac97 auich : 0 : local ; # fails with gcc4 only
|
||||
SetConfigVar DEBUG : HAIKU_TOP src add-ons kernel drivers audio ac97 auvia : 0 : local ; # fails with gcc4 only
|
||||
SetConfigVar DEBUG : HAIKU_TOP src add-ons kernel drivers audio ac97 sis7018 : 0 : local ;
|
||||
SetConfigVar DEBUG : HAIKU_TOP src add-ons kernel file_systems btrfs : 0 : local ;
|
||||
SetConfigVar DEBUG : HAIKU_TOP src add-ons kernel file_systems ntfs libntfs : 0 : local ;
|
||||
SetConfigVar DEBUG : HAIKU_TOP src add-ons kernel file_systems udf : 0 : local ;
|
||||
SetConfigVar DEBUG : HAIKU_TOP src add-ons media media-add-ons dvb : 0 : local ;
|
||||
SetConfigVar DEBUG : HAIKU_TOP src add-ons print drivers gutenprint : 0 : local ;
|
||||
SetConfigVar DEBUG : HAIKU_TOP src servers input : 0 : local ;
|
||||
SetConfigVar DEBUG : HAIKU_TOP src servers media_addon : 0 : local ;
|
||||
SetConfigVar DEBUG : HAIKU_TOP src system boot loader file_systems bfs : 0 : local ;
|
||||
SetConfigVar DEBUG : HAIKU_TOP src system boot loader file_systems tarfs : 0 : local ;
|
||||
|
||||
+4
-1
@@ -199,7 +199,7 @@ rule ExtractArchive directory : entries : archiveFile : grist
|
||||
# <directory> and <archiveFile> combo.
|
||||
#
|
||||
# <directory> - The directory into which to extract the archive file. The
|
||||
# directory is created is by this rule and it is the target
|
||||
# directory is created by this rule and it is the target
|
||||
# that the extract action is associated with.
|
||||
# <entries> - The entries of the archive file one is interested in. The
|
||||
# rule always extracts the complete archive file, from the
|
||||
@@ -246,6 +246,9 @@ rule ExtractArchive directory : entries : archiveFile : grist
|
||||
ExtractHPKGArchive1 $(directory)
|
||||
: <build>package $(archiveFile) ;
|
||||
|
||||
case "" :
|
||||
Exit "ExtractArchive: No archive passed" ;
|
||||
|
||||
case * :
|
||||
Exit "ExtractArchive: Unhandled archive extension:"
|
||||
"$(archiveFile:S)" ;
|
||||
|
||||
+96
-73
@@ -1,29 +1,8 @@
|
||||
# This file defines what ends up in the floppy boot image and it executes the
|
||||
# rules building the image.
|
||||
|
||||
local X86_ONLY = ;
|
||||
local PPC_ONLY = ;
|
||||
if $(TARGET_ARCH) = x86 {
|
||||
X86_ONLY = "" ;
|
||||
} else if $(TARGET_ARCH) = ppc {
|
||||
X86_ONLY = ;
|
||||
} else if $(TARGET_ARCH) = m68k {
|
||||
X86_ONLY = ;
|
||||
}
|
||||
|
||||
local GPL_ONLY = ;
|
||||
if $(HAIKU_INCLUDE_GPL_ADDONS) = 1 {
|
||||
GPL_ONLY = "" ;
|
||||
}
|
||||
|
||||
#HACK: remove when old ide code is removed!
|
||||
local ATA_ONLY = ;
|
||||
local IDE_ONLY = ;
|
||||
if $(HAIKU_ATA_STACK) = 1 {
|
||||
ATA_ONLY = "" ;
|
||||
} else {
|
||||
IDE_ONLY = "" ;
|
||||
}
|
||||
|
||||
local NET_BOOT = 0 ;
|
||||
local USB_BOOT = 1 ;
|
||||
@@ -46,51 +25,84 @@ if $(NET_BOOT) = 1 {
|
||||
;
|
||||
}
|
||||
|
||||
SYSTEM_ADD_ONS_BUS_MANAGERS = $(X86_ONLY)acpi $(ATA_ONLY)ata config_manager dpc pci
|
||||
$(IDE_ONLY)ide $(X86_ONLY)isa scsi $(USB_ONLY)usb
|
||||
;
|
||||
SYSTEM_ADD_ONS_BUS_MANAGERS = [ FFilterByBuildFeatures
|
||||
acpi@x86 ata@ata config_manager dpc pci
|
||||
ide@ide isa@x86 scsi $(USB_ONLY)usb
|
||||
] ;
|
||||
SYSTEM_ADD_ONS_FILE_SYSTEMS = bfs iso9660 attribute_overlay write_overlay ;
|
||||
|
||||
|
||||
# modules
|
||||
AddFilesToFloppyBootArchive system add-ons kernel bus_managers
|
||||
: $(SYSTEM_ADD_ONS_BUS_MANAGERS) ;
|
||||
AddFilesToFloppyBootArchive system add-ons kernel busses ide
|
||||
: generic_ide_pci $(X86_ONLY)ide_isa silicon_image_3112 legacy_sata it8211 ;
|
||||
AddFilesToFloppyBootArchive system add-ons kernel busses scsi
|
||||
: ahci ;
|
||||
AddFilesToFloppyBootArchive system add-ons kernel console
|
||||
: vga_text ;
|
||||
AddFilesToFloppyBootArchive system add-ons kernel file_systems
|
||||
: $(SYSTEM_ADD_ONS_FILE_SYSTEMS) ;
|
||||
AddFilesToFloppyBootArchive system add-ons kernel generic
|
||||
: $(ATA_ONLY)ata_adapter $(IDE_ONLY)ide_adapter locked_pool scsi_periph ;
|
||||
AddFilesToFloppyBootArchive
|
||||
system add-ons kernel partitioning_systems
|
||||
: intel session ;
|
||||
AddFilesToFloppyBootArchive
|
||||
system add-ons kernel interrupt_controllers
|
||||
: $(PPC_ONLY)openpic ;
|
||||
if $(TARGET_ARCH) = x86_64 {
|
||||
AddFilesToFloppyBootArchive system add-ons kernel bus_managers
|
||||
: ata config_manager dpc pci isa scsi $(USB_ONLY)usb ;
|
||||
AddFilesToFloppyBootArchive system add-ons kernel busses ata
|
||||
: generic_ide_pci legacy_sata ;
|
||||
AddFilesToFloppyBootArchive system add-ons kernel busses scsi
|
||||
: ahci ;
|
||||
AddFilesToFloppyBootArchive system add-ons kernel file_systems
|
||||
: $(SYSTEM_ADD_ONS_FILE_SYSTEMS) ;
|
||||
AddFilesToFloppyBootArchive system add-ons kernel generic
|
||||
: ata_adapter locked_pool scsi_periph ;
|
||||
AddFilesToFloppyBootArchive system add-ons kernel partitioning_systems
|
||||
: intel session ;
|
||||
|
||||
if $(USB_BOOT) = 1 {
|
||||
AddFilesToFloppyBootArchive
|
||||
system add-ons kernel busses usb
|
||||
: <usb>uhci <usb>ohci <usb>ehci ;
|
||||
}
|
||||
if $(USB_BOOT) = 1 {
|
||||
AddFilesToFloppyBootArchive system add-ons kernel busses usb
|
||||
: <usb>uhci <usb>ohci <usb>ehci ;
|
||||
}
|
||||
|
||||
if $(TARGET_ARCH) = x86 {
|
||||
AddFilesToFloppyBootArchive system add-ons kernel cpu
|
||||
: generic_x86 ;
|
||||
}
|
||||
AddFilesToFloppyBootArchive system add-ons kernel cpu : generic_x86 ;
|
||||
|
||||
# drivers
|
||||
AddNewDriversToFloppyBootArchive disk scsi : scsi_cd scsi_disk ;
|
||||
if $(USB_BOOT) = 1 {
|
||||
AddDriversToFloppyBootArchive disk usb : usb_disk ;
|
||||
}
|
||||
if $(NET_BOOT) = 1 {
|
||||
AddDriversToFloppyBootArchive disk virtual : remote_disk ;
|
||||
AddDriversToFloppyBootArchive net : $(SYSTEM_ADD_ONS_DRIVERS_NET) ;
|
||||
AddNewDriversToFloppyBootArchive disk scsi : scsi_cd scsi_disk ;
|
||||
if $(USB_BOOT) = 1 {
|
||||
AddDriversToFloppyBootArchive disk usb : usb_disk ;
|
||||
}
|
||||
} else {
|
||||
# modules
|
||||
AddFilesToFloppyBootArchive system add-ons kernel bus_managers
|
||||
: $(SYSTEM_ADD_ONS_BUS_MANAGERS) ;
|
||||
|
||||
if $(HAIKU_ATA_STACK) = 1 {
|
||||
AddFilesToFloppyBootArchive system add-ons kernel busses ata
|
||||
: generic_ide_pci ide_isa@x86 silicon_image_3112 legacy_sata
|
||||
it8211 ;
|
||||
} else {
|
||||
AddFilesToFloppyBootArchive system add-ons kernel busses ide
|
||||
: generic_ide_pci ide_isa@x86 silicon_image_3112 legacy_sata
|
||||
it8211 ;
|
||||
}
|
||||
|
||||
AddFilesToFloppyBootArchive system add-ons kernel busses scsi
|
||||
: ahci ;
|
||||
AddFilesToFloppyBootArchive system add-ons kernel console : vga_text ;
|
||||
AddFilesToFloppyBootArchive system add-ons kernel file_systems
|
||||
: $(SYSTEM_ADD_ONS_FILE_SYSTEMS) ;
|
||||
AddFilesToFloppyBootArchive system add-ons kernel generic
|
||||
: ata_adapter@ata ide_adapter@ide locked_pool scsi_periph ;
|
||||
AddFilesToFloppyBootArchive system add-ons kernel partitioning_systems
|
||||
: intel session ;
|
||||
AddFilesToFloppyBootArchive system add-ons kernel interrupt_controllers
|
||||
: openpic@ppc ;
|
||||
|
||||
if $(USB_BOOT) = 1 {
|
||||
AddFilesToFloppyBootArchive system add-ons kernel busses usb
|
||||
: <usb>uhci <usb>ohci <usb>ehci ;
|
||||
}
|
||||
|
||||
if $(TARGET_ARCH) = x86 || $(TARGET_ARCH) = x86_64 {
|
||||
AddFilesToFloppyBootArchive system add-ons kernel cpu : generic_x86 ;
|
||||
}
|
||||
|
||||
# drivers
|
||||
AddNewDriversToFloppyBootArchive disk scsi : scsi_cd scsi_disk ;
|
||||
AddNewDriversToFloppyBootArchive disk : norflash@arm ;
|
||||
if $(USB_BOOT) = 1 {
|
||||
AddDriversToFloppyBootArchive disk usb : usb_disk ;
|
||||
}
|
||||
if $(NET_BOOT) = 1 {
|
||||
AddDriversToFloppyBootArchive disk virtual : remote_disk ;
|
||||
AddDriversToFloppyBootArchive net : $(SYSTEM_ADD_ONS_DRIVERS_NET) ;
|
||||
}
|
||||
}
|
||||
|
||||
# kernel
|
||||
@@ -124,19 +136,30 @@ if $(NET_BOOT) = 1 {
|
||||
}
|
||||
|
||||
# boot module links
|
||||
AddBootModuleSymlinksToFloppyBootArchive
|
||||
$(SYSTEM_ADD_ONS_BUS_MANAGERS)
|
||||
$(PPC_ONLY)openpic
|
||||
$(ATA_ONLY)ata_adapter $(IDE_ONLY)ide_adapter locked_pool scsi_periph
|
||||
$(X86_ONLY)generic_x86
|
||||
ahci generic_ide_pci $(X86_ONLY)ide_isa silicon_image_3112 legacy_sata
|
||||
it8211
|
||||
$(USB_ONLY)<usb>uhci $(USB_ONLY)<usb>ohci $(USB_ONLY)<usb>ehci
|
||||
scsi_cd scsi_disk $(USB_ONLY)usb_disk
|
||||
intel session
|
||||
$(SYSTEM_ADD_ONS_FILE_SYSTEMS)
|
||||
$(BOOT_ADD_ONS_NET)
|
||||
;
|
||||
if $(TARGET_ARCH) = x86_64 {
|
||||
AddBootModuleSymlinksToFloppyBootArchive
|
||||
ata dpc config_manager pci scsi $(USB_ONLY)usb ata_adapter locked_pool
|
||||
scsi_periph generic_x86 ahci generic_ide_pci legacy_sata
|
||||
$(USB_ONLY)<usb>uhci $(USB_ONLY)<usb>ohci $(USB_ONLY)<usb>ehci
|
||||
scsi_cd scsi_disk $(USB_ONLY)usb_disk
|
||||
intel session
|
||||
$(SYSTEM_ADD_ONS_FILE_SYSTEMS)
|
||||
;
|
||||
} else {
|
||||
AddBootModuleSymlinksToFloppyBootArchive
|
||||
$(SYSTEM_ADD_ONS_BUS_MANAGERS)
|
||||
openpic@ppc
|
||||
ata_adapter@ata ide_adapter@ide locked_pool scsi_periph
|
||||
generic_x86@x86
|
||||
ahci generic_ide_pci ide_isa@x86 silicon_image_3112 legacy_sata
|
||||
it8211
|
||||
$(USB_ONLY)<usb>uhci $(USB_ONLY)<usb>ohci $(USB_ONLY)<usb>ehci
|
||||
scsi_cd scsi_disk $(USB_ONLY)usb_disk norflash@arm
|
||||
intel session
|
||||
$(SYSTEM_ADD_ONS_FILE_SYSTEMS)
|
||||
$(BOOT_ADD_ONS_NET)
|
||||
;
|
||||
}
|
||||
|
||||
|
||||
#pragma mark - Build The Archive
|
||||
|
||||
@@ -1,85 +0,0 @@
|
||||
#-------------------------------------------------------------------------------
|
||||
# FreeType 2 specific rules and variables
|
||||
#-------------------------------------------------------------------------------
|
||||
|
||||
FT2_INCLUDE = [ FDirName $(HAIKU_TOP) headers libs freetype2 ] ;
|
||||
FT2_SRC = [ FDirName $(HAIKU_TOP) src libs freetype2 ] ;
|
||||
|
||||
FT2_LIB = freetype ;
|
||||
|
||||
FT2_COMPONENTS ?= gzip # support for gzip-compressed files.
|
||||
autofit
|
||||
base # base component (public APIs)
|
||||
bdf # BDF font driver
|
||||
cache # cache sub-system
|
||||
cff # CFF/CEF font driver
|
||||
cid # Postscript CID-keyed font driver
|
||||
lzw # LZW routines
|
||||
pcf # PCF font driver
|
||||
pfr # PFR/TrueDoc font driver
|
||||
psaux # Common Postscript routines module
|
||||
pshinter # Postscript hinter module
|
||||
psnames # Postscript names handling
|
||||
raster # Monochrome rasterizer
|
||||
smooth # Anti-aliased rasterizer
|
||||
sfnt # SFNT-based format support routines
|
||||
truetype # TrueType font driver
|
||||
type1 # Postscript Type 1 font driver
|
||||
type42 # Postscript Type 42 (embedded TrueType) driver
|
||||
winfonts # Windows FON/FNT font driver
|
||||
;
|
||||
|
||||
rule UseFreeTypeHeaders
|
||||
{
|
||||
SubDirSysHdrs $(FT2_INCLUDE) ;
|
||||
}
|
||||
|
||||
rule UseFreeTypeObjectHeaders
|
||||
{
|
||||
# UseFreeTypeObjectHeaders <sources> [ : <objects> ] ;
|
||||
SourceSysHdrs $(1) : $(FT2_INCLUDE) : $(2) ;
|
||||
}
|
||||
|
||||
rule FT2_SubDir
|
||||
{
|
||||
# FT2_SubDir <dir>
|
||||
# <dir>: Components of a directory in the original hierarchy.
|
||||
local dir = $(1) ;
|
||||
local topDir ;
|
||||
switch $(dir[1])
|
||||
{
|
||||
case "include" : topDir = $(FT2_INCLUDE) ;
|
||||
case src : topDir = $(FT2_SRC) ;
|
||||
case * : ECHO "Unknown FreeType2 directory: " $(dir) ;
|
||||
}
|
||||
return [ FDirName $(topDir) $(dir[2-]) ] ;
|
||||
}
|
||||
|
||||
rule FT2_Library
|
||||
{
|
||||
# FT2_Library <libname> : <sources>
|
||||
# Builds objects from sources and adds the objects to the list of objects
|
||||
# to be linked into the library.
|
||||
# <libname> The name of the library.
|
||||
# <sources> The sources.
|
||||
|
||||
DEFINES += FT2_BUILD_LIBRARY ;
|
||||
|
||||
local library = lib$(1).so ;
|
||||
local sources = $(2) ;
|
||||
|
||||
Objects $(sources) ;
|
||||
LIBRARY_OBJECTS on $(library) += [ FGristFiles $(sources:S=$(SUFOBJ)) ] ;
|
||||
}
|
||||
|
||||
rule FT2_LinkLibrary
|
||||
{
|
||||
# FT2_LinkLibrary <libname>
|
||||
# Links the library from the objects build with FT2_LIBRARY before.
|
||||
|
||||
local library = lib$(1).so ;
|
||||
local objects = [ on $(library) return $(LIBRARY_OBJECTS) ] ;
|
||||
ObjectReferences $(objects) ;
|
||||
objects = [ FGristFiles $(objects) ] ;
|
||||
SharedLibraryFromObjects $(library) : $(objects) ;
|
||||
}
|
||||
@@ -0,0 +1,626 @@
|
||||
# This file defines what ends up on the Haiku image (respectively in the Haiku
|
||||
# installation directory) and it executes the rules building the image
|
||||
# (respectively installing the files in the installation directory).
|
||||
|
||||
# This is only temporary while x86_64 is still a work in progress, so I can
|
||||
# easily add things to the image as I port them.
|
||||
|
||||
|
||||
SYSTEM_BIN = "["
|
||||
addattr alert arp
|
||||
base64 basename bash bc beep
|
||||
cal cat catattr checkfs chgrp chmod chown chroot cksum clear clockconfig
|
||||
cmp collectcatkeys comm compress copyattr CortexAddOnHost cp csplit cut
|
||||
date dd diff diff3 dircolors dirname df du dumpcatalog
|
||||
echo eject env error expand expr
|
||||
factor false find finddir FirstBootPrompt fmt fold fortune ftp
|
||||
gawk gdb gzip gzexe getlimits groups
|
||||
head hostname
|
||||
id ifconfig <bin>install isvolume
|
||||
join
|
||||
kernel_debugger kill
|
||||
less lessecho lesskey link linkcatkeys listdev ln locale locate logger
|
||||
logname ls
|
||||
makebootable md5sum mimeset mkdir mkfifo mkfs mktemp mount mountvolume mv
|
||||
nl nohup notify nproc
|
||||
od open
|
||||
paste patch pathchk ping pr printenv printf ps ptx pwd
|
||||
query
|
||||
rc readlink rm rmattr rmdir
|
||||
safemode sdiff seq sha1sum shred shuf shutdown sleep sort split stat
|
||||
strace stty su sum sync sysinfo
|
||||
tac tail tee test timeout touch tr true truncate tsort tty
|
||||
unexpand uname uniq unlink unmount unzip <bin>updatedb
|
||||
waitfor wc wget whoami
|
||||
xargs xres
|
||||
yes
|
||||
zdiff zforce zgrep zip zipcloak <bin>zipgrep zipnote zipsplit zmore znew
|
||||
;
|
||||
|
||||
SYSTEM_APPS = AboutSystem ActivityMonitor CDPlayer CharacterMap Debugger DeskCalc
|
||||
Devices DiskUsage DriveSetup Expander Installer LaunchBox MediaConverter
|
||||
NetworkStatus PoorMan Pulse ProcessController Screenshot ShowImage
|
||||
SoundRecorder StyledEdit Terminal TV Workspaces
|
||||
;
|
||||
|
||||
SYSTEM_PREFERENCES = Appearance Backgrounds DataTranslations <preference>Deskbar
|
||||
FileTypes Keyboard Keymap Locale Media Mouse Network Notifications
|
||||
Printers Screen ScreenSaver Time Touchpad <preference>Tracker
|
||||
VirtualMemory
|
||||
;
|
||||
|
||||
SYSTEM_DEMOS = BSnow Cortex FontDemo OverlayImage Pairs Sudoku ;
|
||||
|
||||
SYSTEM_LIBS = libbe.so libbsd.so libbnetapi.so libgame.so libdebug.so libmedia.so
|
||||
libmidi2.so libnetwork.so <revisioned>libroot.so libroot-addon-icu.so
|
||||
libtextencoding.so libtiff.so libtracker.so libtranslation.so
|
||||
$(HAIKU_SHARED_LIBSTDC++) $(HAIKU_SHARED_LIBSUPC++)
|
||||
;
|
||||
|
||||
PRIVATE_SYSTEM_LIBS =
|
||||
$(HAIKU_JPEG_CURRENT_LIB)
|
||||
$(HAIKU_LIBPNG_CURRENT_LIB)
|
||||
$(HAIKU_ZLIB_CURRENT_LIB)
|
||||
$(HAIKU_FREETYPE_CURRENT_LIB)
|
||||
libilmimf.so
|
||||
;
|
||||
|
||||
SYSTEM_SERVERS = app_server cddb_daemon debug_server input_server midi_server
|
||||
mount_server net_server notification_server power_daemon print_server
|
||||
print_addon_server registrar syslog_daemon dns_resolver_server
|
||||
nfs4_idmapper_server
|
||||
;
|
||||
|
||||
SYSTEM_NETWORK_DEVICES = ethernet loopback ;
|
||||
SYSTEM_NETWORK_DATALINK_PROTOCOLS = ethernet_frame <module>arp loopback_frame
|
||||
ipv6_datagram ;
|
||||
SYSTEM_NETWORK_PROTOCOLS = ipv4 tcp udp icmp unix icmp6 ipv6 ;
|
||||
|
||||
SYSTEM_ADD_ONS_ACCELERANTS = vesa.accelerant ;
|
||||
SYSTEM_ADD_ONS_TRANSLATORS = BMPTranslator EXRTranslator GIFTranslator
|
||||
HVIFTranslator ICOTranslator JPEGTranslator JPEG2000Translator
|
||||
PCXTranslator PNGTranslator PPMTranslator
|
||||
RAWTranslator RTFTranslator SGITranslator STXTTranslator TGATranslator
|
||||
TIFFTranslator WebPTranslator WonderBrushTranslator
|
||||
;
|
||||
|
||||
SYSTEM_ADD_ONS_PRINT =
|
||||
Canon\ LIPS3\ Compatible
|
||||
Canon\ LIPS4\ Compatible
|
||||
Gutenprint
|
||||
PCL5\ Compatible
|
||||
PCL6\ Compatible
|
||||
PDF\ Writer
|
||||
PS\ Compatible
|
||||
|
||||
;
|
||||
|
||||
SYSTEM_ADD_ONS_DRIVERS_GRAPHICS = vesa ;
|
||||
SYSTEM_ADD_ONS_DRIVERS_NET = 3com atheros813x ar81xx attansic_l1 attansic_l2
|
||||
broadcom440x broadcom570x dec21xxx etherpci ipro100 ipro1000 jmicron2x0
|
||||
marvell_yukon nforce pcnet pegasus rtl8139 rtl81xx sis19x sis900 syskonnect
|
||||
via_rhine wb840
|
||||
;
|
||||
|
||||
SYSTEM_ADD_ONS_BUS_MANAGERS = [ FFilterByBuildFeatures
|
||||
ata@ata pci ps2 isa scsi config_manager usb
|
||||
] ;
|
||||
SYSTEM_ADD_ONS_FILE_SYSTEMS = bfs iso9660 nfs4 attribute_overlay write_overlay ;
|
||||
|
||||
# modules
|
||||
AddFilesToHaikuImage system add-ons kernel bus_managers
|
||||
: $(SYSTEM_ADD_ONS_BUS_MANAGERS) ;
|
||||
|
||||
if $(HAIKU_ATA_STACK) = 1 {
|
||||
AddFilesToHaikuImage system add-ons kernel busses ata
|
||||
: generic_ide_pci legacy_sata ;
|
||||
}
|
||||
|
||||
AddFilesToHaikuImage system add-ons kernel busses scsi
|
||||
: ahci ;
|
||||
AddFilesToHaikuImage system add-ons kernel busses usb
|
||||
: <usb>uhci <usb>ohci <usb>ehci ;
|
||||
AddFilesToHaikuImage system add-ons kernel debugger
|
||||
: <kdebug>demangle <kdebug>invalidate_on_exit <kdebug>usb_keyboard ;
|
||||
AddFilesToHaikuImage system add-ons kernel file_systems
|
||||
: $(SYSTEM_ADD_ONS_FILE_SYSTEMS) ;
|
||||
AddFilesToHaikuImage system add-ons kernel generic
|
||||
: ata_adapter@ata bios dpc locked_pool scsi_periph <module>tty ;
|
||||
AddFilesToHaikuImage system add-ons kernel partitioning_systems
|
||||
: intel session ;
|
||||
|
||||
AddFilesToHaikuImage system add-ons kernel cpu : generic_x86 ;
|
||||
|
||||
# drivers
|
||||
AddNewDriversToHaikuImage disk scsi : scsi_cd scsi_disk ;
|
||||
|
||||
# legacy drivers
|
||||
AddDriversToHaikuImage : console dprintf null
|
||||
random <driver>tty zero ;
|
||||
AddDriversToHaikuImage graphics : $(SYSTEM_ADD_ONS_DRIVERS_GRAPHICS) ;
|
||||
AddDriversToHaikuImage disk usb : usb_disk ;
|
||||
AddDriversToHaikuImage input : ps2_hid usb_hid ;
|
||||
AddDriversToHaikuImage net : $(SYSTEM_ADD_ONS_DRIVERS_NET) ;
|
||||
|
||||
# kernel
|
||||
AddFilesToHaikuImage system : <revisioned>kernel_$(TARGET_ARCH) ;
|
||||
|
||||
# libs
|
||||
AddLibrariesToHaikuHybridImage system lib
|
||||
: $(SYSTEM_LIBS) $(PRIVATE_SYSTEM_LIBS) ;
|
||||
|
||||
OPTIONAL_LIBS_ALIASES =
|
||||
libfreetype.so
|
||||
libjpeg.so
|
||||
libpng.so
|
||||
libz.so
|
||||
;
|
||||
|
||||
# libfreetype.so links to the current freetype lib
|
||||
AddSymlinkToHaikuHybridImage system lib : $(HAIKU_FREETYPE_CURRENT_LIB:BS)
|
||||
: $(HAIKU_FREETYPE_CURRENT_LINK) : : true ;
|
||||
AddSymlinkToHaikuHybridImage system lib : $(HAIKU_FREETYPE_CURRENT_LINK)
|
||||
: libfreetype.so : : true ;
|
||||
|
||||
# libpng.so links to the current libpng
|
||||
AddSymlinkToHaikuHybridImage system lib : $(HAIKU_LIBPNG_CURRENT_LIB:BS)
|
||||
: $(HAIKU_LIBPNG_CURRENT_LINK) : : true ;
|
||||
AddSymlinkToHaikuHybridImage system lib : $(HAIKU_LIBPNG_CURRENT_LINK)
|
||||
: libpng.so : : true ;
|
||||
|
||||
# libjpeg.so links to the current libjpeg
|
||||
AddSymlinkToHaikuHybridImage system lib : $(HAIKU_JPEG_CURRENT_LIB:BS)
|
||||
: $(HAIKU_JPEG_CURRENT_LINK) : : true ;
|
||||
AddSymlinkToHaikuHybridImage system lib : $(HAIKU_JPEG_CURRENT_LINK)
|
||||
: libjpeg.so : : true ;
|
||||
|
||||
# zlib.so links to the current zlib
|
||||
AddSymlinkToHaikuHybridImage system lib : $(HAIKU_ZLIB_CURRENT_LIB:BS)
|
||||
: $(HAIKU_ZLIB_CURRENT_LINK) : : true ;
|
||||
AddSymlinkToHaikuHybridImage system lib : $(HAIKU_ZLIB_CURRENT_LINK)
|
||||
: libz.so : : true ;
|
||||
|
||||
# servers
|
||||
AddFilesToHaikuImage system servers : $(SYSTEM_SERVERS) ;
|
||||
|
||||
# apps
|
||||
AddFilesToHaikuImage system : runtime_loader Deskbar Tracker ;
|
||||
AddFilesToHaikuImage system bin : $(SYSTEM_BIN) consoled ;
|
||||
AddFilesToHaikuImage system apps : $(SYSTEM_APPS) ;
|
||||
AddFilesToHaikuImage system preferences : $(SYSTEM_PREFERENCES) ;
|
||||
AddFilesToHaikuImage system demos : $(SYSTEM_DEMOS) ;
|
||||
|
||||
SEARCH on which = [ FDirName $(HAIKU_TOP) data bin ] ;
|
||||
AddFilesToHaikuImage system bin : which ;
|
||||
SEARCH on installoptionalpackage = [ FDirName $(HAIKU_TOP) data bin ] ;
|
||||
AddFilesToHaikuImage system bin : installoptionalpackage ;
|
||||
SEARCH on install-wifi-firmwares.sh = [ FDirName $(HAIKU_TOP) data bin ] ;
|
||||
AddFilesToHaikuImage system bin : install-wifi-firmwares.sh ;
|
||||
|
||||
# Add the files to be used by installoptionalpackage.
|
||||
AddDirectoryToHaikuImage common data optional-packages ;
|
||||
local optional-pkg-files = BuildFeatures OptionalPackageDependencies
|
||||
OptionalPackages OptionalLibPackages ;
|
||||
for name in $(optional-pkg-files) {
|
||||
local file = [ FDirName $(HAIKU_TOP) build jam $(name) ] ;
|
||||
AddFilesToHaikuImage common data optional-packages : $(file) ;
|
||||
}
|
||||
AddInstalledPackagesFileToHaikuImage ;
|
||||
|
||||
AddSymlinkToHaikuImage system bin : bash : sh ;
|
||||
AddSymlinkToHaikuImage system bin : trash : untrash ;
|
||||
|
||||
AddSymlinkToHaikuImage home Desktop : /boot/home : Home ;
|
||||
|
||||
# Mailbox folders and symlink
|
||||
AddDirectoryToHaikuImage home mail draft ;
|
||||
AddDirectoryToHaikuImage home mail in ;
|
||||
AddDirectoryToHaikuImage home mail out ;
|
||||
|
||||
AddSymlinkToHaikuImage home config : settings/deskbar : be ;
|
||||
# Deskbar Application links
|
||||
AddDirectoryToHaikuImage home config settings deskbar Applications ;
|
||||
DESKBAR_APPLICATIONS = ActivityMonitor DriveSetup Installer StyledEdit
|
||||
Terminal ;
|
||||
local linkTarget ;
|
||||
for linkTarget in $(DESKBAR_APPLICATIONS) {
|
||||
AddSymlinkToHaikuImage home config settings deskbar Applications
|
||||
: /boot/system/apps/$(linkTarget) : $(linkTarget) ;
|
||||
}
|
||||
|
||||
# Deskbar Desktop applets links
|
||||
AddDirectoryToHaikuImage home config settings deskbar Desktop\ applets ;
|
||||
DESKBAR_DESKTOP_APPLETS = NetworkStatus ProcessController ;
|
||||
for linkTarget in $(DESKBAR_DESKTOP_APPLETS) {
|
||||
AddSymlinkToHaikuImage home config settings deskbar Desktop\ applets
|
||||
: /boot/system/apps/$(linkTarget) : $(linkTarget) ;
|
||||
}
|
||||
|
||||
# Deskbar Preferences links
|
||||
AddDirectoryToHaikuImage home config settings deskbar Preferences ;
|
||||
DESKBAR_PREFERENCES = $(SYSTEM_PREFERENCES:B) ;
|
||||
for linkTarget in $(DESKBAR_PREFERENCES) {
|
||||
AddSymlinkToHaikuImage home config settings deskbar Preferences
|
||||
: /boot/system/preferences/$(linkTarget)
|
||||
: $(linkTarget) ;
|
||||
}
|
||||
|
||||
# Deskbar Demo links
|
||||
AddDirectoryToHaikuImage home config settings deskbar Demos ;
|
||||
for linkTarget in $(SYSTEM_DEMOS) {
|
||||
AddSymlinkToHaikuImage home config settings deskbar Demos
|
||||
: /boot/system/demos/$(linkTarget) : $(linkTarget) ;
|
||||
}
|
||||
|
||||
AddSymlinkToHaikuImage system bin : less : more ;
|
||||
AddSymlinkToHaikuImage system bin : gzip : gunzip ;
|
||||
AddSymlinkToHaikuImage system bin : gzip : zcat ;
|
||||
AddSymlinkToHaikuImage system bin : zdiff : zcmp ;
|
||||
AddSymlinkToHaikuImage system bin : unzip : zipinfo ;
|
||||
AddSymlinkToHaikuImage system bin : gawk : awk ;
|
||||
|
||||
|
||||
# scripts and data files
|
||||
local bootScripts = Bootscript Bootscript.cd SetupEnvironment Netscript
|
||||
InstallerInitScript InstallerFinishScript ;
|
||||
SEARCH on $(bootScripts) = [ FDirName $(HAIKU_TOP) data system boot ] ;
|
||||
AddFilesToHaikuImage system boot : $(bootScripts) ;
|
||||
|
||||
local userBootScripts = UserBootscript UserSetupEnvironment.sample ;
|
||||
SEARCH on $(userBootScripts) = [ FDirName $(HAIKU_TOP) data config boot ] ;
|
||||
AddFilesToHaikuImage home config boot : $(userBootScripts) ;
|
||||
|
||||
# Add boot launch directory
|
||||
AddDirectoryToHaikuImage home config boot launch ;
|
||||
|
||||
local logoArtwork =
|
||||
$(HAIKU_INCLUDE_TRADEMARKS)"HAIKU logo - white on blue - big.png"
|
||||
$(HAIKU_INCLUDE_TRADEMARKS)"HAIKU logo - white on blue - normal.png" ;
|
||||
SEARCH on $(logoArtwork) = [ FDirName $(HAIKU_TOP) data artwork ] ;
|
||||
AddFilesToHaikuImage system data artwork : $(logoArtwork) ;
|
||||
|
||||
local etcDir = [ FDirName $(HAIKU_TOP) data etc ] ;
|
||||
local etcFiles = inputrc profile ;
|
||||
etcFiles = $(etcFiles:G=etc) ;
|
||||
SEARCH on $(etcFiles) = [ FDirName $(etcDir) ] ;
|
||||
etcFiles += <etc>termcap <etc>sysless <etc>sysless.in ;
|
||||
AddFilesToHaikuImage common etc : $(etcFiles) ;
|
||||
|
||||
local profileFiles = [ Glob $(etcDir)/profile.d : *.sh ] ;
|
||||
profileFiles = $(profileFiles:G=profile-d) ;
|
||||
AddDirectoryToHaikuImage common etc profile.d ;
|
||||
AddFilesToHaikuImage common etc profile.d : $(profileFiles) ;
|
||||
|
||||
local fortuneFiles = [ Glob $(HAIKU_TOP)/data/system/data/fortunes
|
||||
: [a-zA-Z0-9]* ] ;
|
||||
fortuneFiles = $(fortuneFiles:G=data!fortunes) ;
|
||||
AddFilesToHaikuImage system data fortunes : $(fortuneFiles) ;
|
||||
|
||||
local fontDir = [ FDirName $(HAIKU_TOP) data system data fonts ] ;
|
||||
local psFonts = [ Glob $(fontDir)/psfonts : *.afm *.pfb ] ;
|
||||
local ttFonts = [ Glob $(fontDir)/ttfonts : *.ttf ] ;
|
||||
AddFilesToHaikuImage system data fonts psfonts : $(psFonts) ;
|
||||
AddFilesToHaikuImage system data fonts ttfonts : $(ttFonts) ;
|
||||
|
||||
local keymapFiles = [ Glob [ FDirName $(HAIKU_TOP) src data keymaps ]
|
||||
: *.keymap ] ;
|
||||
keymapFiles = $(keymapFiles:BG=keymap) ;
|
||||
AddFilesToHaikuImage system data Keymaps : $(keymapFiles) ;
|
||||
AddSymlinkToHaikuImage system data Keymaps : Swedish : Finnish ;
|
||||
AddSymlinkToHaikuImage system data Keymaps : Slovene : Croatian ;
|
||||
AddSymlinkToHaikuImage system data Keymaps : US-International : Brazilian ;
|
||||
|
||||
# Copy keyboard layout files to the image one-by-one.
|
||||
local keyboardLayoutsDir
|
||||
= [ FDirName $(HAIKU_TOP) data system data KeyboardLayouts ] ;
|
||||
local keyboardLayoutFiles =
|
||||
"Generic 104-key"
|
||||
"Generic 105-key International"
|
||||
"Kinesis Advantage"
|
||||
"Kinesis Ergo Elan International"
|
||||
"TypeMatrix 2030" ;
|
||||
keyboardLayoutFiles = $(keyboardLayoutFiles:G=keyboard-layout) ;
|
||||
SEARCH on $(keyboardLayoutFiles) = $(keyboardLayoutsDir) ;
|
||||
AddFilesToHaikuImage system data KeyboardLayouts
|
||||
: $(keyboardLayoutFiles) ;
|
||||
|
||||
# Add Apple Aluminum keyboard layout files to the image in an Apple Aluminum
|
||||
# subdirectory. The subdirectory is turned into a submenu in the Layout menu
|
||||
# of the Keymap preference app.
|
||||
local appleAluminumDir
|
||||
= [ FDirName $(HAIKU_TOP) data system data KeyboardLayouts
|
||||
Apple\ Aluminum ] ;
|
||||
local appleAluminumFiles =
|
||||
"Apple Aluminium Extended International"
|
||||
"Apple Aluminium International"
|
||||
"Apple Aluminum (US)"
|
||||
"Apple Aluminum Extended (US)" ;
|
||||
appleAluminumFiles = $(appleAluminumFiles:G=keyboard-layout) ;
|
||||
SEARCH on $(appleAluminumFiles) = $(appleAluminumDir) ;
|
||||
AddFilesToHaikuImage system data KeyboardLayouts Apple\ Aluminum
|
||||
: $(appleAluminumFiles) ;
|
||||
|
||||
# Add ThinkPad keyboard layout files to the image in a ThinkPad
|
||||
# subdirectory. The subdirectory is turned into a submenu in the Layout menu
|
||||
# of the Keymap preference app.
|
||||
local thinkpadDir
|
||||
= [ FDirName $(HAIKU_TOP) data system data KeyboardLayouts ThinkPad ] ;
|
||||
local thinkPadFiles =
|
||||
"ThinkPad (US)"
|
||||
"ThinkPad International"
|
||||
"ThinkPad T400s (US)"
|
||||
"ThinkPad T400s International"
|
||||
"ThinkPad X1 (US)"
|
||||
"ThinkPad X1 International"
|
||||
"ThinkPad X100e (US)"
|
||||
"ThinkPad X100e International" ;
|
||||
thinkPadFiles = $(thinkPadFiles:G=keyboard-layout) ;
|
||||
SEARCH on $(thinkPadFiles) = $(thinkpadDir) ;
|
||||
AddFilesToHaikuImage system data KeyboardLayouts ThinkPad
|
||||
: $(thinkPadFiles) ;
|
||||
|
||||
local driverSettingsFiles = <driver-settings>kernel ;
|
||||
SEARCH on $(driverSettingsFiles)
|
||||
= [ FDirName $(HAIKU_TOP) data settings kernel drivers ] ;
|
||||
AddFilesToHaikuImage home config settings kernel drivers
|
||||
: $(driverSettingsFiles) ;
|
||||
|
||||
# post install scripts and fresh install indicator file
|
||||
local postInstallFiles = add_catalog_entry_attributes.sh
|
||||
default_deskbar_items.sh mime_update.sh ;
|
||||
postInstallFiles = $(postInstallFiles:G=post-install) ;
|
||||
SEARCH on $(postInstallFiles)
|
||||
= [ FDirName $(HAIKU_TOP) data common boot post_install ] ;
|
||||
SEARCH on <post-install>fresh_install
|
||||
= [ FDirName $(HAIKU_TOP) data common settings ] ;
|
||||
AddFilesToHaikuImage common boot post_install : $(postInstallFiles) ;
|
||||
AddFilesToHaikuImage common settings : <post-install>fresh_install ;
|
||||
|
||||
# boot loader
|
||||
AddFilesToHaikuImage system : haiku_loader ;
|
||||
|
||||
# boot module links
|
||||
AddBootModuleSymlinksToHaikuImage
|
||||
ata@ata pci config_manager dpc scsi usb ata_adapter@ata
|
||||
locked_pool scsi_periph ahci generic_ide_pci legacy_sata
|
||||
<usb>uhci <usb>ohci <usb>ehci
|
||||
scsi_cd scsi_disk usb_disk
|
||||
intel
|
||||
bfs
|
||||
;
|
||||
|
||||
# add-ons
|
||||
AddFilesToHaikuImage system add-ons accelerants
|
||||
: $(SYSTEM_ADD_ONS_ACCELERANTS) ;
|
||||
|
||||
AddFilesToHaikuHybridImage system add-ons Translators
|
||||
: $(SYSTEM_ADD_ONS_TRANSLATORS) : : true ;
|
||||
AddFilesToHaikuImage system add-ons input_server devices
|
||||
: <input>keyboard <input>mouse <input>tablet <input>wacom ;
|
||||
AddFilesToHaikuImage system add-ons kernel network
|
||||
: <net>notifications stack ;
|
||||
AddFilesToHaikuImage system add-ons kernel network : dns_resolver ;
|
||||
AddFilesToHaikuImage system add-ons kernel network devices
|
||||
: $(SYSTEM_NETWORK_DEVICES) ;
|
||||
AddFilesToHaikuImage system add-ons kernel network datalink_protocols
|
||||
: $(SYSTEM_NETWORK_DATALINK_PROTOCOLS) ;
|
||||
AddFilesToHaikuImage system add-ons kernel network protocols
|
||||
: $(SYSTEM_NETWORK_PROTOCOLS) ;
|
||||
|
||||
AddFilesToHaikuImage system add-ons disk_systems
|
||||
: <disk_system>intel <disk_system>bfs ;
|
||||
|
||||
# create directories that will remain empty
|
||||
AddDirectoryToHaikuImage common bin ;
|
||||
AddDirectoryToHaikuImage common include ;
|
||||
AddDirectoryToHaikuImage common lib ;
|
||||
AddDirectoryToHaikuImage home Desktop ;
|
||||
AddDirectoryToHaikuImage home config bin ;
|
||||
AddDirectoryToHaikuImage home config lib ;
|
||||
AddDirectoryToHaikuImage home mail ;
|
||||
AddDirectoryToHaikuImage common var empty ;
|
||||
AddDirectoryToHaikuImage common var log ;
|
||||
AddDirectoryToHaikuImage common cache tmp ;
|
||||
|
||||
AddDirectoryToHaikuImage home config add-ons kernel drivers bin ;
|
||||
AddDirectoryToHaikuImage home config add-ons kernel drivers dev ;
|
||||
AddDirectoryToHaikuImage home config add-ons input_server devices ;
|
||||
AddDirectoryToHaikuImage home config add-ons input_server filters ;
|
||||
AddDirectoryToHaikuImage home config add-ons input_server methods ;
|
||||
AddDirectoryToHaikuImage home config add-ons media plugins ;
|
||||
AddDirectoryToHaikuImage home config add-ons Tracker ;
|
||||
AddDirectoryToHaikuImage home config add-ons Print ;
|
||||
AddDirectoryToHaikuImage home config add-ons Screen\ Savers ;
|
||||
AddDirectoryToHaikuImage home config add-ons Translators ;
|
||||
AddDirectoryToHaikuImage system data synth ;
|
||||
AddDirectoryToHaikuImage system add-ons input_server methods ;
|
||||
|
||||
# licenses
|
||||
CopyDirectoryToHaikuImage system data
|
||||
: [ FDirName $(HAIKU_TOP) data system data licenses ]
|
||||
: licenses : -x .svn ;
|
||||
|
||||
# Copy documentation as per DiskUsage's license requirement.
|
||||
CopyDirectoryToHaikuImage system documentation
|
||||
: [ FDirName $(HAIKU_TOP) docs apps diskusage ]
|
||||
: diskusage : -x .svn ;
|
||||
|
||||
|
||||
#pragma mark - Optional Packages
|
||||
|
||||
|
||||
HAIKU_IMAGE_OPTIONAL_PACKAGE_DESCRIPTIONS = ;
|
||||
|
||||
include [ FDirName $(HAIKU_BUILD_RULES_DIR) OptionalPackages ] ;
|
||||
include [ FDirName $(HAIKU_BUILD_RULES_DIR) OptionalTestPackages ] ;
|
||||
include [ FDirName $(HAIKU_BUILD_RULES_DIR) OptionalLibPackages ] ;
|
||||
|
||||
local optionalPackageDescriptions ;
|
||||
if $(HAIKU_IMAGE_OPTIONAL_PACKAGE_DESCRIPTIONS) {
|
||||
optionalPackageDescriptions = <haiku-image>optional_package_descriptions ;
|
||||
MakeLocate $(optionalPackageDescriptions)
|
||||
: $(HAIKU_COMMON_PLATFORM_OBJECT_DIR) ;
|
||||
|
||||
Depends $(optionalPackageDescriptions)
|
||||
: $(HAIKU_IMAGE_OPTIONAL_PACKAGE_DESCRIPTIONS) ;
|
||||
|
||||
actions together BuildOptionalPackageDescriptions
|
||||
{
|
||||
cat $(2) > $(1)
|
||||
}
|
||||
|
||||
BuildOptionalPackageDescriptions $(optionalPackageDescriptions)
|
||||
: $(HAIKU_IMAGE_OPTIONAL_PACKAGE_DESCRIPTIONS) ;
|
||||
}
|
||||
|
||||
|
||||
#pragma mark - User/Group Setup
|
||||
|
||||
|
||||
# add the root user and the root and users groups
|
||||
AddUserToHaikuImage $(HAIKU_ROOT_USER_NAME:E=baron) : 0 : 0 : /boot/home
|
||||
: /bin/bash : $(HAIKU_ROOT_USER_REAL_NAME:E="Root User") ;
|
||||
AddGroupToHaikuImage root : 0 : ;
|
||||
AddGroupToHaikuImage users : 100 : ;
|
||||
|
||||
|
||||
#pragma mark - Host Name
|
||||
|
||||
|
||||
if $(HAIKU_IMAGE_HOST_NAME) {
|
||||
actions BuildHaikuImageHostnameFile
|
||||
{
|
||||
echo "$(HAIKU_IMAGE_HOST_NAME)" > $(1)
|
||||
}
|
||||
|
||||
local file = <haiku-image>hostname ;
|
||||
Always $(file) ;
|
||||
MakeLocate $(file) : $(HAIKU_COMMON_PLATFORM_OBJECT_DIR) ;
|
||||
BuildHaikuImageHostnameFile $(file) ;
|
||||
AddFilesToHaikuImage common settings network : $(file) ;
|
||||
}
|
||||
|
||||
|
||||
#pragma mark - Build The Image
|
||||
|
||||
|
||||
# Execute pre-image user config rules.
|
||||
UserBuildConfigRulePreImage ;
|
||||
|
||||
# Set image name and directory defaults and locate the image.
|
||||
HAIKU_IMAGE_NAME ?= $(HAIKU_DEFAULT_IMAGE_NAME) ;
|
||||
HAIKU_IMAGE_DIR ?= $(HAIKU_DEFAULT_IMAGE_DIR) ;
|
||||
HAIKU_IMAGE = $(HAIKU_IMAGE_NAME) ;
|
||||
HAIKU_IMAGE_SIZE ?= $(HAIKU_DEFAULT_IMAGE_SIZE) ; # 300 MB
|
||||
HAIKU_IMAGE_LABEL ?= $(HAIKU_DEFAULT_IMAGE_LABEL) ;
|
||||
MakeLocate $(HAIKU_IMAGE) : $(HAIKU_IMAGE_DIR) ;
|
||||
|
||||
# Set the default installation directory.
|
||||
HAIKU_INSTALL_DIR ?= $(HAIKU_DEFAULT_INSTALL_DIR) ;
|
||||
|
||||
# the pseudo target all image contents is attached to
|
||||
NotFile $(HAIKU_IMAGE_CONTAINER_NAME) ;
|
||||
|
||||
# prepare the script that initializes the shell variables
|
||||
HAIKU_IMAGE_INIT_VARIABLES_SCRIPT = <HaikuImage>haiku.image-init-vars ;
|
||||
local script = $(HAIKU_IMAGE_INIT_VARIABLES_SCRIPT) ;
|
||||
MakeLocate $(script) : $(HAIKU_OUTPUT_DIR) ;
|
||||
Always $(script) ;
|
||||
|
||||
AddVariableToScript $(script) : sourceDir : $(HAIKU_TOP) ;
|
||||
AddVariableToScript $(script) : outputDir : $(HAIKU_OUTPUT_DIR) ;
|
||||
AddVariableToScript $(script) : tmpDir : $(HAIKU_TMP_DIR) ;
|
||||
AddVariableToScript $(script) : installDir : $(HAIKU_INSTALL_DIR) ;
|
||||
#AddVariableToScript $(script) : isImage : 1 ;
|
||||
AddVariableToScript $(script) : imageSize : $(HAIKU_IMAGE_SIZE) ;
|
||||
AddVariableToScript $(script) : imageLabel : $(HAIKU_IMAGE_LABEL) ;
|
||||
AddVariableToScript $(script) : addBuildCompatibilityLibDir
|
||||
: $(HOST_ADD_BUILD_COMPATIBILITY_LIB_DIR) ;
|
||||
AddVariableToScript $(script) : dontClearImage : $(HAIKU_DONT_CLEAR_IMAGE) ;
|
||||
AddVariableToScript $(script) : updateOnly : [ IsUpdateHaikuImageOnly ] ;
|
||||
AddVariableToScript $(script) : stripOptionalPackageDebugSymbols
|
||||
: $(HAIKU_STRIP_DEBUG_FROM_OPTIONAL_PACKAGES) ;
|
||||
AddTargetVariableToScript $(script) : <build>addattr ;
|
||||
AddTargetVariableToScript $(script) : <build>bfs_shell : bfsShell ;
|
||||
AddTargetVariableToScript $(script) : <build>fs_shell_command : fsShellCommand ;
|
||||
AddTargetVariableToScript $(script) : <build>copyattr ;
|
||||
AddTargetVariableToScript $(script) : <build>create_image : createImage ;
|
||||
AddTargetVariableToScript $(script) : <build>makebootable ;
|
||||
AddTargetVariableToScript $(script) : <build>rc ;
|
||||
AddTargetVariableToScript $(script) : <build>resattr ;
|
||||
AddTargetVariableToScript $(script) : <build>unzip ;
|
||||
AddTargetVariableToScript $(script) : <build>vmdkimage ;
|
||||
AddVariableToScript $(script) : stripCommand : $(HAIKU_STRIP) ;
|
||||
if $(HOST_RM_ATTRS_TARGET) {
|
||||
AddTargetVariableToScript $(script) : $(HOST_RM_ATTRS_TARGET) : rmAttrs ;
|
||||
} else {
|
||||
AddVariableToScript $(script) : rmAttrs : rm ;
|
||||
}
|
||||
if $(optionalPackageDescriptions) {
|
||||
AddTargetVariableToScript $(script) : $(optionalPackageDescriptions)
|
||||
: optionalPackageDescriptions ;
|
||||
}
|
||||
|
||||
|
||||
# create the other scripts
|
||||
HAIKU_IMAGE_MAKE_DIRS_SCRIPT = <HaikuImage>haiku.image-make-dirs ;
|
||||
HAIKU_IMAGE_COPY_FILES_SCRIPT = <HaikuImage>haiku.image-copy-files ;
|
||||
HAIKU_IMAGE_EXTRACT_FILES_SCRIPT = <HaikuImage>haiku.image-extract-files ;
|
||||
MakeLocate $(HAIKU_IMAGE_MAKE_DIRS_SCRIPT) $(HAIKU_IMAGE_COPY_FILES_SCRIPT)
|
||||
$(HAIKU_IMAGE_EXTRACT_FILES_SCRIPT) : $(HAIKU_OUTPUT_DIR) ;
|
||||
|
||||
CreateHaikuImageMakeDirectoriesScript $(HAIKU_IMAGE_MAKE_DIRS_SCRIPT) ;
|
||||
CreateHaikuImageCopyFilesScript $(HAIKU_IMAGE_COPY_FILES_SCRIPT) ;
|
||||
CreateHaikuImageExtractFilesScript $(HAIKU_IMAGE_EXTRACT_FILES_SCRIPT) ;
|
||||
|
||||
# Convenience wrapper rule around BuildHaikuImage.
|
||||
rule _BuildHaikuImage image : isImage : isVMwareImage
|
||||
{
|
||||
# _BuildHaikuImage <image target> : <isImage> : <isVMwareImage> ;
|
||||
#
|
||||
|
||||
# build the image
|
||||
# HAIKU_IMAGE_EARLY_USER_SCRIPTS, HAIKU_IMAGE_LATE_USER_SCRIPTS can be
|
||||
# specified by the user.
|
||||
BuildHaikuImage $(image) :
|
||||
$(HAIKU_IMAGE_INIT_VARIABLES_SCRIPT)
|
||||
$(HAIKU_IMAGE_EARLY_USER_SCRIPTS)
|
||||
$(HAIKU_IMAGE_MAKE_DIRS_SCRIPT)
|
||||
$(HAIKU_IMAGE_COPY_FILES_SCRIPT)
|
||||
$(HAIKU_IMAGE_EXTRACT_FILES_SCRIPT)
|
||||
$(HAIKU_IMAGE_LATE_USER_SCRIPTS)
|
||||
: $(isImage)
|
||||
: $(isVMwareImage)
|
||||
;
|
||||
|
||||
# remove the scripts we have generated
|
||||
RmTemps $(image) :
|
||||
$(HAIKU_IMAGE_INIT_VARIABLES_SCRIPT)
|
||||
$(HAIKU_IMAGE_MAKE_DIRS_SCRIPT)
|
||||
$(HAIKU_IMAGE_COPY_FILES_SCRIPT)
|
||||
$(HAIKU_IMAGE_EXTRACT_FILES_SCRIPT)
|
||||
;
|
||||
}
|
||||
|
||||
# build the image
|
||||
_BuildHaikuImage $(HAIKU_IMAGE) : true ;
|
||||
NotFile haiku-image ;
|
||||
Depends haiku-image : $(HAIKU_IMAGE) ;
|
||||
|
||||
|
||||
# install Haiku into a directory
|
||||
NotFile install-haiku ;
|
||||
_BuildHaikuImage install-haiku : 0 ;
|
||||
|
||||
|
||||
# build the VMware image
|
||||
HAIKU_VMWARE_IMAGE_NAME ?= $(HAIKU_DEFAULT_VMWARE_IMAGE_NAME) ;
|
||||
HAIKU_VMWARE_IMAGE = $(HAIKU_VMWARE_IMAGE_NAME) ;
|
||||
MakeLocate $(HAIKU_VMWARE_IMAGE) : $(HAIKU_IMAGE_DIR) ;
|
||||
|
||||
_BuildHaikuImage $(HAIKU_VMWARE_IMAGE) : true : true ;
|
||||
NotFile haiku-vmware-image ;
|
||||
Depends haiku-vmware-image : $(HAIKU_VMWARE_IMAGE) ;
|
||||
|
||||
# Execute post-image user config rules.
|
||||
UserBuildConfigRulePostImage ;
|
||||
+1
-2
@@ -21,14 +21,13 @@ AddVariableToScript $(script) : isCD : 1 ;
|
||||
AddVariableToScript $(script) : cdLabel : $(HAIKU_CD_LABEL) ;
|
||||
AddVariableToScript $(script) : addBuildCompatibilityLibDir
|
||||
: $(HOST_ADD_BUILD_COMPATIBILITY_LIB_DIR) ;
|
||||
AddVariableToScript $(script) : stripOptionalPackageDebugSymbols
|
||||
: $(HAIKU_STRIP_DEBUG_FROM_OPTIONAL_PACKAGES) ;
|
||||
AddTargetVariableToScript $(script) : <build>addattr ;
|
||||
AddTargetVariableToScript $(script) : <build>copyattr ;
|
||||
AddTargetVariableToScript $(script) : <build>rc ;
|
||||
AddTargetVariableToScript $(script) : <build>resattr ;
|
||||
AddTargetVariableToScript $(script) : <build>unzip ;
|
||||
AddTargetVariableToScript $(script) : <build>generate_attribute_stores ;
|
||||
AddVariableToScript $(script) : stripCommand : $(HAIKU_STRIP) ;
|
||||
if $(HOST_RM_ATTRS_TARGET) {
|
||||
AddTargetVariableToScript $(script) : $(HOST_RM_ATTRS_TARGET) : rmAttrs ;
|
||||
} else {
|
||||
|
||||
+114
-125
@@ -2,44 +2,23 @@
|
||||
# installation directory) and it executes the rules building the image
|
||||
# (respectively installing the files in the installation directory).
|
||||
|
||||
local X86_ONLY = ;
|
||||
local PPC_ONLY = ;
|
||||
local M68K_ONLY = ;
|
||||
if $(TARGET_ARCH) = x86 {
|
||||
X86_ONLY = "" ;
|
||||
} else if $(TARGET_ARCH) = ppc {
|
||||
PPC_ONLY = "" ;
|
||||
} else if $(TARGET_ARCH) = m68k {
|
||||
M68K_ONLY = "" ;
|
||||
}
|
||||
|
||||
local GPL_ONLY = ;
|
||||
if $(HAIKU_INCLUDE_GPL_ADDONS) = 1 {
|
||||
GPL_ONLY = "" ;
|
||||
}
|
||||
|
||||
#HACK: remove when old ide code is removed!
|
||||
local ATA_ONLY = ;
|
||||
local IDE_ONLY = ;
|
||||
if $(HAIKU_ATA_STACK) = 1 {
|
||||
ATA_ONLY = "" ;
|
||||
} else {
|
||||
IDE_ONLY = "" ;
|
||||
}
|
||||
|
||||
SYSTEM_BIN = "[" addattr alert arp base64 basename bash bc beep bzip2
|
||||
SYSTEM_BIN = [ FFilterByBuildFeatures
|
||||
"["
|
||||
addattr alert arp
|
||||
base64 basename bash bc beep bfsinfo
|
||||
cal cat catattr checkfs checkitout chgrp chmod chop chown chroot cksum clear
|
||||
clockconfig cmp collectcatkeys comm compress copyattr CortexAddOnHost cp
|
||||
csplit ctags cut date dc dd desklink df diff diff3 dircolors dirname
|
||||
draggers driveinfo dstcheck du dumpcatalog
|
||||
csplit cut date dc dd desklink df diff diff3 dircolors dirname
|
||||
diskimage draggers driveinfo dstcheck du dumpcatalog
|
||||
echo eject env error expand expr
|
||||
factor false fdinfo ffm filepanel find finddir fmt fold fortune frcode
|
||||
ftp ftpd funzip fwcontrol
|
||||
gawk $(X86_ONLY)gdb getlimits grep groups gzip gzexe
|
||||
factor false fdinfo ffm filepanel find finddir FirstBootPrompt fmt fold
|
||||
fortune frcode ftp ftpd funzip fwcontrol
|
||||
gawk gdb@x86 getlimits groups gzip gzexe
|
||||
hd head hey hostname
|
||||
id ident ifconfig <bin>install installsound iroster isvolume
|
||||
$(IDE_ONLY)ideinfo $(IDE_ONLY)idestatus
|
||||
join kernel_debugger keymap kill
|
||||
ideinfo@ide idestatus@ide
|
||||
join kernel_debugger keymap keystore kill
|
||||
less lessecho lesskey link linkcatkeys listarea listattr listimage listdev
|
||||
listport listres listsem listusb ln locale locate logger login logname ls
|
||||
lsindex
|
||||
@@ -50,65 +29,70 @@ SYSTEM_BIN = "[" addattr alert arp base64 basename bash bc beep bzip2
|
||||
package package_repo passwd paste patch pathchk pc ping ping6 pkgman play
|
||||
playfile playsound playwav pr prio printenv printf profile ps ptx pwd
|
||||
query quit
|
||||
rc readlink ReadOnlyBootPrompt reindex release renice rlog rm rmattr
|
||||
rmindex rmdir roster route
|
||||
safemode screen_blanker screenmode screenshot sdiff setdecor settype
|
||||
rc readlink reindex release renice rlog rm rmattr rmindex rmdir roster
|
||||
route
|
||||
safemode screen_blanker screenmode screenshot sdiff setdecor setmime settype
|
||||
setversion setvolume seq sha1sum sha256sum shar shred shuf shutdown sleep
|
||||
sort spamdbm
|
||||
split stat strace stty su sum sync sysinfo
|
||||
sort spamdbm split stat strace stty su sum sync sysinfo
|
||||
tac tail tcpdump tcptester tee telnet telnetd test timeout top touch
|
||||
tput tr traceroute translate trash true truncate tsort tty
|
||||
uname unchop unexpand unmount uniq unlink unrar unshar unzip unzipsfx
|
||||
uname unchop unexpand unmount uniq unlink unshar unzip unzipsfx
|
||||
<bin>updatedb uptime urlwrapper useradd uudecode uuencode
|
||||
vdir version vmstat waitfor watch wc wget whoami xargs xres yes
|
||||
vdir version vmstat
|
||||
waitfor watch wc wget whoami writembr@x86 xargs xres
|
||||
yes
|
||||
zdiff zforce zgrep zip zipcloak <bin>zipgrep zipnote zipsplit zmore znew
|
||||
;
|
||||
] ;
|
||||
|
||||
SYSTEM_APPS = AboutSystem ActivityMonitor $(X86_ONLY)BootManager CharacterMap
|
||||
CodyCam DeskCalc Devices DiskProbe DiskUsage DriveSetup CDPlayer Expander
|
||||
Icon-O-Matic Installer LaunchBox Magnify Mail MediaConverter MediaPlayer
|
||||
MidiPlayer NetworkStatus PackageInstaller People PoorMan PowerStatus
|
||||
ProcessController Screenshot ShowImage SoundRecorder StyledEdit Terminal
|
||||
TextSearch TV Workspaces
|
||||
;
|
||||
SYSTEM_PREFERENCES = Appearance Backgrounds CPUFrequency DataTranslations
|
||||
<preference>Deskbar E-mail FileTypes Fonts Keyboard Keymap Locale Media
|
||||
Mouse Network Notifications OpenGL Printers Screen ScreenSaver Shortcuts
|
||||
Sounds Time Touchpad <preference>Tracker VirtualMemory
|
||||
;
|
||||
SYSTEM_DEMOS = BSnow Chart Clock Cortex FontDemo GLTeapot
|
||||
$(HAIKU_INCLUDE_TRADEMARKS)Haiku3d Mandelbrot OverlayImage Pairs Playground
|
||||
Pulse Sudoku
|
||||
;
|
||||
SYSTEM_LIBS =
|
||||
SYSTEM_APPS = [ FFilterByBuildFeatures
|
||||
AboutSystem ActivityMonitor BootManager@x86 CharacterMap
|
||||
CodyCam DeskCalc Devices DiskProbe DiskUsage DriveSetup CDPlayer Debugger
|
||||
Expander GLInfo@x86 Icon-O-Matic Installer LaunchBox Magnify Mail
|
||||
MediaConverter MediaPlayer MidiPlayer NetworkStatus PackageInstaller People
|
||||
PoorMan PowerStatus ProcessController Screenshot ShowImage SoundRecorder
|
||||
StyledEdit Terminal TextSearch TV WebWatch Workspaces
|
||||
] ;
|
||||
SYSTEM_PREFERENCES = [ FFilterByBuildFeatures
|
||||
Appearance Backgrounds CPUFrequency DataTranslations
|
||||
<preference>Deskbar E-mail FileTypes Keyboard Keymap Locale Media
|
||||
Mouse Network Notifications Printers Screen ScreenSaver
|
||||
Shortcuts Sounds Time Touchpad <preference>Tracker VirtualMemory
|
||||
] ;
|
||||
SYSTEM_DEMOS = [ FFilterByBuildFeatures
|
||||
BSnow Chart Clock Cortex FontDemo GLTeapot@x86
|
||||
$(HAIKU_INCLUDE_TRADEMARKS)Haiku3d@x86 Mandelbrot OverlayImage Pairs
|
||||
Playground Pulse Sudoku
|
||||
] ;
|
||||
SYSTEM_LIBS = [ FFilterByBuildFeatures
|
||||
libbe.so libbsd.so libbnetapi.so
|
||||
libdebug.so libdevice.so
|
||||
libfreetype.so
|
||||
libgame.so libGL.so libgnu.so
|
||||
libjpeg.so
|
||||
liblocale.so
|
||||
libmail.so libmedia.so libmidi.so libmidi2.so
|
||||
libgame.so libGL.so@x86 libglut.so@x86
|
||||
libgnu.so libmail.so libmedia.so libmidi.so libmidi2.so
|
||||
libnetwork.so
|
||||
libpackage.so libpng.so
|
||||
libpackage.so
|
||||
<revisioned>libroot.so
|
||||
libscreensaver.so
|
||||
libtextencoding.so libtiff.so libtracker.so libtranslation.so
|
||||
libz.so
|
||||
$(HAIKU_SHARED_LIBSTDC++) $(HAIKU_SHARED_LIBSUPC++)
|
||||
;
|
||||
PRIVATE_SYSTEM_LIBS =
|
||||
] ;
|
||||
PRIVATE_SYSTEM_LIBS = [ FFilterByBuildFeatures
|
||||
$(HAIKU_JPEG_CURRENT_LIB)
|
||||
$(HAIKU_LIBPNG_CURRENT_LIB)
|
||||
$(HAIKU_ZLIB_CURRENT_LIB)
|
||||
$(HAIKU_FREETYPE_CURRENT_LIB)
|
||||
libalm.so
|
||||
libfluidsynth.so
|
||||
libilmimf.so
|
||||
liblpsolve55.so
|
||||
libpackage-add-on-libsolv.so
|
||||
libroot-addon-icu.so
|
||||
;
|
||||
SYSTEM_SERVERS = app_server cddb_daemon debug_server input_server mail_daemon
|
||||
media_addon_server media_server midi_server mount_server net_server
|
||||
notification_server package_daemon power_daemon print_server
|
||||
print_addon_server registrar syslog_daemon
|
||||
;
|
||||
] ;
|
||||
SYSTEM_SERVERS = [ FFilterByBuildFeatures
|
||||
app_server cddb_daemon debug_server dns_resolver_server input_server
|
||||
keystore_server mail_daemon media_addon_server media_server midi_server
|
||||
mount_server net_server nfs4_idmapper_server notification_server
|
||||
package_daemon power_daemon print_server print_addon_server registrar
|
||||
syslog_daemon
|
||||
] ;
|
||||
|
||||
SYSTEM_NETWORK_DEVICES = ethernet loopback ;
|
||||
SYSTEM_NETWORK_DATALINK_PROTOCOLS = ethernet_frame <module>arp loopback_frame
|
||||
@@ -116,26 +100,25 @@ SYSTEM_NETWORK_DATALINK_PROTOCOLS = ethernet_frame <module>arp loopback_frame
|
||||
#SYSTEM_NETWORK_PPP = ipcp modem pap pppoe ;
|
||||
SYSTEM_NETWORK_PROTOCOLS = ipv4 tcp udp icmp unix icmp6 ipv6 ;
|
||||
|
||||
SYSTEM_ADD_ONS_ACCELERANTS = $(X86_ONLY)radeon.accelerant
|
||||
$(X86_ONLY)nvidia.accelerant $(X86_ONLY)matrox.accelerant
|
||||
$(X86_ONLY)neomagic.accelerant $(X86_ONLY)intel_extreme.accelerant
|
||||
$(X86_ONLY)s3.accelerant $(X86_ONLY)vesa.accelerant
|
||||
$(X86_ONLY)ati.accelerant
|
||||
$(X86_ONLY)3dfx.accelerant
|
||||
$(X86_ONLY)radeon_hd.accelerant
|
||||
#$(X86_ONLY)via.accelerant
|
||||
#$(X86_ONLY)vmware.accelerant
|
||||
;
|
||||
SYSTEM_ADD_ONS_ACCELERANTS = [ FFilterByBuildFeatures
|
||||
x86 @{
|
||||
3dfx.accelerant ati.accelerant matrox.accelerant neomagic.accelerant
|
||||
nvidia.accelerant intel_810.accelerant intel_extreme.accelerant
|
||||
radeon.accelerant radeon_hd.accelerant s3.accelerant vesa.accelerant
|
||||
#via.accelerant vmware.accelerant
|
||||
}@ # x86
|
||||
] ;
|
||||
SYSTEM_ADD_ONS_TRANSLATORS = BMPTranslator EXRTranslator GIFTranslator
|
||||
HVIFTranslator ICOTranslator JPEGTranslator JPEG2000Translator
|
||||
PCXTranslator PNGTranslator PPMTranslator
|
||||
RAWTranslator RTF-Translator SGITranslator STXTTranslator TGATranslator
|
||||
TIFFTranslator WebPTranslator WonderBrushTranslator
|
||||
RAWTranslator RTFTranslator SGITranslator STXTTranslator TGATranslator
|
||||
TIFFTranslator WebPTranslator WonderBrushTranslator ICNSTranslator
|
||||
;
|
||||
SYSTEM_ADD_ONS_LOCALE_CATALOGS = <catalog-addon>zeta <catalog-addon>plaintext ;
|
||||
SYSTEM_ADD_ONS_MEDIA = cortex_audioadapter.media_addon
|
||||
SYSTEM_ADD_ONS_LOCALE_CATALOGS = <catalog-addon>plaintext ;
|
||||
SYSTEM_ADD_ONS_MEDIA = [ FFilterByBuildFeatures
|
||||
cortex_audioadapter.media_addon
|
||||
cortex_flanger.media_addon
|
||||
dvb.media_addon
|
||||
dvb.media_addon@x86
|
||||
hmulti_audio.media_addon
|
||||
mixer.media_addon
|
||||
opensound.media_addon
|
||||
@@ -145,8 +128,12 @@ SYSTEM_ADD_ONS_MEDIA = cortex_audioadapter.media_addon
|
||||
video_window_demo.media_addon
|
||||
firewire_dv.media_addon
|
||||
#legacy.media_addon
|
||||
;
|
||||
SYSTEM_ADD_ONS_MEDIA_PLUGINS = $(X86_ONLY)ffmpeg raw_decoder ;
|
||||
equalizer.media_addon
|
||||
vst_host.media_addon
|
||||
] ;
|
||||
SYSTEM_ADD_ONS_MEDIA_PLUGINS = [ FFilterByBuildFeatures
|
||||
ffmpeg@ffmpeg raw_decoder
|
||||
] ;
|
||||
SYSTEM_ADD_ONS_PRINT =
|
||||
Canon\ LIPS3\ Compatible
|
||||
Canon\ LIPS4\ Compatible
|
||||
@@ -161,40 +148,47 @@ SYSTEM_ADD_ONS_PRINT_TRANSPORT = HP\ JetDirect IPP LPR
|
||||
# Parallel\ Port
|
||||
Print\ To\ File Serial\ Port USB\ Port
|
||||
;
|
||||
SYSTEM_ADD_ONS_SCREENSAVERS = Butterfly DebugNow Flurry
|
||||
$(HAIKU_INCLUDE_TRADEMARKS)Haiku Icons IFS Leaves Message Spider ;
|
||||
SYSTEM_ADD_ONS_DRIVERS_AUDIO = auich auvia echo3g emuxki hda sis7018 ;
|
||||
SYSTEM_ADD_ONS_SCREENSAVERS = [ FFilterByBuildFeatures
|
||||
Butterfly DebugNow Flurry@x86
|
||||
GLife@x86 $(HAIKU_INCLUDE_TRADEMARKS)Haiku Icons IFS Leaves
|
||||
Message Spider Gravity@x86
|
||||
] ;
|
||||
SYSTEM_ADD_ONS_DRIVERS_AUDIO = auich auvia echo3g emuxki hda ice1712 sis7018 ;
|
||||
SYSTEM_ADD_ONS_DRIVERS_AUDIO_OLD = ; #cmedia usb_audio ;
|
||||
SYSTEM_ADD_ONS_DRIVERS_GRAPHICS = $(X86_ONLY)radeon $(X86_ONLY)nvidia
|
||||
$(X86_ONLY)neomagic $(X86_ONLY)matrox $(X86_ONLY)intel_extreme
|
||||
$(X86_ONLY)s3 $(X86_ONLY)vesa #$(X86_ONLY)via #$(X86_ONLY)vmware
|
||||
$(X86_ONLY)ati $(X86_ONLY)3dfx $(X86_ONLY)radeon_hd
|
||||
;
|
||||
SYSTEM_ADD_ONS_DRIVERS_MIDI = emuxki usb_midi ;
|
||||
SYSTEM_ADD_ONS_DRIVERS_NET = $(X86_ONLY)3com $(X86_ONLY)atheros813x
|
||||
$(X86_ONLY)ar81xx $(X86_ONLY)attansic_l1 $(X86_ONLY)attansic_l2
|
||||
$(X86_ONLY)broadcom440x $(X86_ONLY)broadcom570x $(X86_ONLY)dec21xxx etherpci
|
||||
$(X86_ONLY)ipro100 $(X86_ONLY)ipro1000 $(X86_ONLY)jmicron2x0
|
||||
$(X86_ONLY)marvell_yukon $(X86_ONLY)nforce $(X86_ONLY)pcnet pegasus
|
||||
$(X86_ONLY)rtl8139 $(X86_ONLY)rtl81xx sis900
|
||||
$(X86_ONLY)syskonnect usb_davicom usb_asix usb_ecm $(X86_ONLY)via_rhine
|
||||
$(X86_ONLY)vt612x wb840
|
||||
SYSTEM_ADD_ONS_DRIVERS_GRAPHICS = [ FFilterByBuildFeatures
|
||||
x86 @{
|
||||
ati 3dfx intel_810 intel_extreme matrox neomagic nvidia radeon radeon_hd
|
||||
s3 vesa #via vmware
|
||||
}@ # x86
|
||||
] ;
|
||||
SYSTEM_ADD_ONS_DRIVERS_MIDI = emuxki ice1712 usb_midi ;
|
||||
SYSTEM_ADD_ONS_DRIVERS_NET = [ FFilterByBuildFeatures
|
||||
x86 @{
|
||||
3com atheros813x ar81xx attansic_l1 attansic_l2 broadcom440x
|
||||
broadcom570x dec21xxx ipro100 ipro1000 jmicron2x0 marvell_yukon nforce
|
||||
pcnet rtl8139 rtl81xx sis19x syskonnect via_rhine vt612x
|
||||
}@ # x86
|
||||
|
||||
etherpci pegasus sis900 usb_davicom usb_asix usb_ecm wb840
|
||||
|
||||
# WLAN drivers
|
||||
$(X86_ONLY)aironetwifi $(X86_ONLY)atheroswifi $(X86_ONLY)broadcom43xx
|
||||
$(X86_ONLY)ipw2100 $(X86_ONLY)iprowifi2200 $(X86_ONLY)iprowifi3945
|
||||
$(X86_ONLY)iprowifi4965 $(X86_ONLY)marvell88w8363 $(X86_ONLY)marvell88w8335
|
||||
$(X86_ONLY)ralink2860 $(X86_ONLY)ralinkwifi $(X86_ONLY)wavelanwifi
|
||||
x86 @{
|
||||
aironetwifi atheroswifi broadcom43xx
|
||||
iprowifi2100 iprowifi2200 iprowifi3945
|
||||
iprowifi4965 marvell88w8363 marvell88w8335
|
||||
ralinkwifi wavelanwifi
|
||||
}@ # x86
|
||||
|
||||
# WWAN drivers
|
||||
#$(GPL_ONLY)usb_beceemwmx
|
||||
;
|
||||
SYSTEM_ADD_ONS_DRIVERS_POWER = $(X86_ONLY)acpi_button ;
|
||||
SYSTEM_ADD_ONS_BUS_MANAGERS = $(ATA_ONLY)ata pci $(X86_ONLY)ps2 $(X86_ONLY)isa
|
||||
$(IDE_ONLY)ide scsi config_manager agp_gart usb firewire $(X86_ONLY)acpi
|
||||
;
|
||||
#usb_beceemwmx@gpl
|
||||
] ;
|
||||
SYSTEM_ADD_ONS_DRIVERS_POWER = [ FFilterByBuildFeatures acpi_button@x86 ] ;
|
||||
SYSTEM_ADD_ONS_BUS_MANAGERS = [ FFilterByBuildFeatures
|
||||
ata@ata pci ps2@x86 isa@x86
|
||||
ide@ide scsi config_manager agp_gart usb firewire acpi@x86
|
||||
] ;
|
||||
SYSTEM_ADD_ONS_FILE_SYSTEMS = bfs bindfs btrfs cdda exfat ext2 fat iso9660 nfs
|
||||
attribute_overlay write_overlay ntfs packagefs reiserfs udf googlefs ;
|
||||
nfs4 attribute_overlay write_overlay ntfs packagefs reiserfs udf googlefs ;
|
||||
|
||||
|
||||
# build the haiku system package and add it
|
||||
@@ -354,12 +348,8 @@ AddDirectoryToHaikuImage home config settings printers "Save as PDF"
|
||||
# dvb channel settings
|
||||
CopyDirectoryToHaikuImage home config settings Media
|
||||
: [ FDirName $(HAIKU_TOP) data settings media dvb ]
|
||||
: dvb : -x .svn -x Jamfile ;
|
||||
: dvb : -x Jamfile ;
|
||||
|
||||
# Copy sample programs as per PDFlib Lite's license requirement.
|
||||
CopyDirectoryToHaikuImage develop sample-code
|
||||
: [ FDirName $(HAIKU_TOP) src libs pdflib bind pdflib ]
|
||||
: pdflib : -x .svn ;
|
||||
|
||||
#pragma mark - Optional Packages
|
||||
|
||||
@@ -453,8 +443,6 @@ AddVariableToScript $(script) : addBuildCompatibilityLibDir
|
||||
: $(HOST_ADD_BUILD_COMPATIBILITY_LIB_DIR) ;
|
||||
AddVariableToScript $(script) : dontClearImage : $(HAIKU_DONT_CLEAR_IMAGE) ;
|
||||
AddVariableToScript $(script) : updateOnly : [ IsUpdateHaikuImageOnly ] ;
|
||||
AddVariableToScript $(script) : stripOptionalPackageDebugSymbols
|
||||
: $(HAIKU_STRIP_DEBUG_FROM_OPTIONAL_PACKAGES) ;
|
||||
AddTargetVariableToScript $(script) : <build>addattr ;
|
||||
AddTargetVariableToScript $(script) : <build>bfs_shell : bfsShell ;
|
||||
AddTargetVariableToScript $(script) : <build>fs_shell_command : fsShellCommand ;
|
||||
@@ -466,6 +454,7 @@ AddTargetVariableToScript $(script) : <build>rc ;
|
||||
AddTargetVariableToScript $(script) : <build>resattr ;
|
||||
AddTargetVariableToScript $(script) : <build>unzip ;
|
||||
AddTargetVariableToScript $(script) : <build>vmdkimage ;
|
||||
AddVariableToScript $(script) : stripCommand : $(HAIKU_STRIP) ;
|
||||
if $(HOST_RM_ATTRS_TARGET) {
|
||||
AddTargetVariableToScript $(script) : $(HOST_RM_ATTRS_TARGET) : rmAttrs ;
|
||||
} else {
|
||||
|
||||
+98
-51
@@ -26,31 +26,30 @@ for driver in $(SYSTEM_ADD_ONS_DRIVERS_NET) {
|
||||
|
||||
# modules
|
||||
AddFilesToPackage add-ons kernel bus_managers : $(SYSTEM_ADD_ONS_BUS_MANAGERS) ;
|
||||
AddFilesToPackage add-ons kernel busses agp_gart : $(X86_ONLY)<agp_gart>intel ;
|
||||
AddFilesToPackage add-ons kernel busses agp_gart : <agp_gart>intel@x86 ;
|
||||
|
||||
if $(HAIKU_ATA_STACK) = 1 {
|
||||
AddFilesToPackage add-ons kernel busses ata
|
||||
: generic_ide_pci it8211 legacy_sata silicon_image_3112
|
||||
$(X86_ONLY)ide_isa ;
|
||||
: generic_ide_pci it8211 legacy_sata silicon_image_3112 ide_isa@x86 ;
|
||||
} else {
|
||||
AddFilesToPackage add-ons kernel busses ide
|
||||
: generic_ide_pci it8211 legacy_sata silicon_image_3112
|
||||
$(X86_ONLY)ide_isa ;
|
||||
: generic_ide_pci it8211 legacy_sata silicon_image_3112 ide_isa@x86 ;
|
||||
}
|
||||
|
||||
AddFilesToPackage add-ons kernel busses scsi : ahci ;
|
||||
AddFilesToPackage add-ons kernel busses usb : <usb>uhci <usb>ohci <usb>ehci ;
|
||||
AddFilesToPackage add-ons kernel console : vga_text ;
|
||||
AddFilesToPackage add-ons kernel debugger
|
||||
: <kdebug>demangle $(X86_ONLY)<kdebug>disasm <kdebug>hangman
|
||||
<kdebug>invalidate_on_exit <kdebug>usb_keyboard <kdebug>run_on_exit ;
|
||||
: <kdebug>demangle <kdebug>disasm@x86 <kdebug>hangman
|
||||
<kdebug>invalidate_on_exit <kdebug>usb_keyboard <kdebug>qrencode
|
||||
<kdebug>run_on_exit ;
|
||||
AddFilesToPackage add-ons kernel file_systems : $(SYSTEM_ADD_ONS_FILE_SYSTEMS) ;
|
||||
AddFilesToPackage add-ons kernel generic
|
||||
: $(ATA_ONLY)ata_adapter dpc $(IDE_ONLY)ide_adapter locked_pool mpu401
|
||||
scsi_periph <module>tty ;
|
||||
: ata_adapter@ata bios@x86 dpc ide_adapter@ide
|
||||
locked_pool mpu401 scsi_periph <module>tty ;
|
||||
AddFilesToPackage add-ons kernel partitioning_systems
|
||||
: amiga_rdb apple efi_gpt intel session ;
|
||||
AddFilesToPackage add-ons kernel interrupt_controllers : $(PPC_ONLY)openpic ;
|
||||
AddFilesToPackage add-ons kernel interrupt_controllers : openpic@ppc ;
|
||||
|
||||
if $(TARGET_ARCH) = x86 {
|
||||
AddFilesToPackage add-ons kernel cpu : generic_x86 ;
|
||||
@@ -58,8 +57,9 @@ if $(TARGET_ARCH) = x86 {
|
||||
|
||||
# drivers
|
||||
AddNewDriversToPackage disk scsi : scsi_cd scsi_disk ;
|
||||
AddNewDriversToPackage power : $(X86_ONLY)enhanced_speedstep ;
|
||||
AddNewDriversToPackage power : $(X86_ONLY)acpi_battery ;
|
||||
AddNewDriversToPackage power : enhanced_speedstep@x86 ;
|
||||
AddNewDriversToPackage power : acpi_battery@x86 ;
|
||||
#AddNewDriversToPackage display : display_controls@x86 ;
|
||||
|
||||
# legacy drivers
|
||||
AddDriversToPackage : console dprintf null random <driver>tty
|
||||
@@ -68,7 +68,7 @@ AddDriversToPackage audio hmulti : $(SYSTEM_ADD_ONS_DRIVERS_AUDIO) ;
|
||||
AddDriversToPackage audio old : $(SYSTEM_ADD_ONS_DRIVERS_AUDIO_OLD) ;
|
||||
AddDriversToPackage midi : $(SYSTEM_ADD_ONS_DRIVERS_MIDI) ;
|
||||
AddDriversToPackage bus : usb_raw fw_raw ;
|
||||
AddDriversToPackage disk floppy : $(X86_ONLY)pc_floppy ;
|
||||
AddDriversToPackage disk floppy : pc_floppy@x86 ;
|
||||
AddDriversToPackage disk usb : usb_disk ;
|
||||
AddDriversToPackage disk usb : usb_floppy ;
|
||||
AddDriversToPackage printer usb : usb_printer ;
|
||||
@@ -100,9 +100,8 @@ if $(HAIKU_GCC_VERSION[1]) = 2 {
|
||||
}
|
||||
|
||||
|
||||
# libGL.so has GLU (like BeOS) *and* GLUT API built-in
|
||||
SYSTEM_LIBS_LIBGL_ALIASES
|
||||
= libGLU.so libglut.so ;
|
||||
# libGL.so has GLU (like BeOS) built-in
|
||||
SYSTEM_LIBS_LIBGL_ALIASES = libGLU.so ;
|
||||
|
||||
if $(TARGET_ARCH) = x86 {
|
||||
local lib ;
|
||||
@@ -117,12 +116,44 @@ SYSTEM_LIBS_ALIASES =
|
||||
$(SYSTEM_LIBS_LIBGL_ALIASES)
|
||||
;
|
||||
|
||||
OPTIONAL_LIBS_ALIASES =
|
||||
libfreetype.so
|
||||
libjpeg.so
|
||||
libpng.so
|
||||
libz.so
|
||||
;
|
||||
|
||||
# TODO: Remove the following symlinks when the libraries have been packaged
|
||||
# properly!
|
||||
# libfreetype.so links to the current freetype lib
|
||||
AddSymlinkToPackage lib : $(HAIKU_FREETYPE_CURRENT_LIB:BS)
|
||||
: $(HAIKU_FREETYPE_CURRENT_LINK) : : true ;
|
||||
AddSymlinkToPackage lib : $(HAIKU_FREETYPE_CURRENT_LINK)
|
||||
: libfreetype.so : : true ;
|
||||
|
||||
# libpng.so links to the current libpng
|
||||
AddSymlinkToPackage lib : $(HAIKU_LIBPNG_CURRENT_LIB:BS)
|
||||
: $(HAIKU_LIBPNG_CURRENT_LINK) : : true ;
|
||||
AddSymlinkToPackage lib : $(HAIKU_LIBPNG_CURRENT_LINK)
|
||||
: libpng.so : : true ;
|
||||
|
||||
# libjpeg.so links to the current libjpeg
|
||||
AddSymlinkToPackage lib : $(HAIKU_JPEG_CURRENT_LIB:BS)
|
||||
: $(HAIKU_JPEG_CURRENT_LINK) : : true ;
|
||||
AddSymlinkToPackage lib : $(HAIKU_JPEG_CURRENT_LINK)
|
||||
: libjpeg.so : : true ;
|
||||
|
||||
# zlib.so links to the current zlib
|
||||
AddSymlinkToPackage lib : $(HAIKU_ZLIB_CURRENT_LIB:BS)
|
||||
: $(HAIKU_ZLIB_CURRENT_LINK) : : true ;
|
||||
AddSymlinkToPackage lib : $(HAIKU_ZLIB_CURRENT_LINK)
|
||||
: libz.so : : true ;
|
||||
|
||||
# servers
|
||||
AddFilesToPackage servers : $(SYSTEM_SERVERS) ;
|
||||
|
||||
# apps
|
||||
AddFilesToPackage : runtime_loader ;
|
||||
AddFilesToPackage : Deskbar Tracker ;
|
||||
AddFilesToPackage : runtime_loader Deskbar Tracker ;
|
||||
AddFilesToPackage bin : $(SYSTEM_BIN) consoled ;
|
||||
AddFilesToPackage apps : $(SYSTEM_APPS) ;
|
||||
AddFilesToPackage preferences : $(SYSTEM_PREFERENCES) ;
|
||||
@@ -135,16 +166,12 @@ AddFilesToPackage bin : install-wifi-firmwares.sh ;
|
||||
|
||||
AddSymlinkToPackage bin : bash : sh ;
|
||||
AddSymlinkToPackage bin : trash : untrash ;
|
||||
|
||||
AddSymlinkToPackage bin : bzip2 : bunzip2 ;
|
||||
AddSymlinkToPackage bin : less : more ;
|
||||
AddSymlinkToPackage bin : gzip : gunzip ;
|
||||
AddSymlinkToPackage bin : gzip : zcat ;
|
||||
AddSymlinkToPackage bin : zdiff : zcmp ;
|
||||
AddSymlinkToPackage bin : unzip : zipinfo ;
|
||||
AddSymlinkToPackage bin : gawk : awk ;
|
||||
AddSymlinkToPackage bin : grep : egrep ;
|
||||
AddSymlinkToPackage bin : grep : fgrep ;
|
||||
|
||||
# scripts and data files
|
||||
local bootScripts = Bootscript Bootscript.cd SetupEnvironment Netscript
|
||||
@@ -163,7 +190,7 @@ AddFilesToPackage boot post_install : $(postInstallFiles) ;
|
||||
# Gutenprint data files
|
||||
CopyDirectoryToPackage data
|
||||
: [ FDirName $(HAIKU_TOP) src libs print libgutenprint src xml ]
|
||||
: gutenprint : -x .svn -x *.c -x Makefile.am -x Makefile.in ;
|
||||
: gutenprint : -x *.c -x Makefile.am -x Makefile.in ;
|
||||
|
||||
# artwork and sounds
|
||||
local logoArtwork =
|
||||
@@ -178,11 +205,6 @@ spellFiles = $(spellFiles:G=spell) ;
|
||||
SEARCH on $(spellFiles) = [ FDirName $(HAIKU_TOP) src apps mail ] ;
|
||||
AddFilesToPackage data spell_check word_dictionary : $(spellFiles) ;
|
||||
|
||||
local dataFiles = teapot.data ;
|
||||
dataFiles = $(dataFiles:G=data) ;
|
||||
SEARCH on $(dataFiles) = [ FDirName $(HAIKU_TOP) data system data ] ;
|
||||
AddFilesToPackage data : $(dataFiles) ;
|
||||
|
||||
local fortuneFiles = [ Glob $(HAIKU_TOP)/data/system/data/fortunes
|
||||
: [a-zA-Z0-9]* ] ;
|
||||
fortuneFiles = $(fortuneFiles:G=data!fortunes) ;
|
||||
@@ -269,24 +291,31 @@ AddFilesToPackage : haiku_loader ;
|
||||
|
||||
# boot module links
|
||||
AddBootModuleSymlinksToPackage
|
||||
$(X86_ONLY)acpi $(ATA_ONLY)ata pci $(X86_ONLY)isa config_manager dpc
|
||||
$(IDE_ONLY)ide scsi usb
|
||||
$(PPC_ONLY)openpic
|
||||
$(ATA_ONLY)ata_adapter $(IDE_ONLY)ide_adapter locked_pool scsi_periph
|
||||
acpi@x86 ata@ata pci isa@x86 config_manager dpc
|
||||
ide@ide scsi usb
|
||||
openpic@ppc
|
||||
ata_adapter@ata ide_adapter@ide locked_pool scsi_periph
|
||||
ahci generic_ide_pci it8211 legacy_sata silicon_image_3112
|
||||
$(X86_ONLY)ide_isa
|
||||
ide_isa@x86
|
||||
<usb>uhci <usb>ohci <usb>ehci
|
||||
scsi_cd scsi_disk usb_disk
|
||||
efi_gpt
|
||||
intel
|
||||
bfs packagefs
|
||||
;
|
||||
|
||||
# add-ons
|
||||
AddFilesToPackage add-ons accelerants : $(SYSTEM_ADD_ONS_ACCELERANTS) ;
|
||||
AddFilesToPackage add-ons opengl : Mesa\ Software\ Renderer ;
|
||||
AddFilesToPackage add-ons Translators : $(SYSTEM_ADD_ONS_TRANSLATORS) ;
|
||||
AddFilesToPackage add-ons locale catalogs : $(SYSTEM_ADD_ONS_LOCALE_CATALOGS) ;
|
||||
|
||||
AddFilesToPackage add-ons opengl :
|
||||
x86 @{
|
||||
Legacy\ Software\ Rasterizer@gcc2
|
||||
Software\ Rasterizer@!gcc2
|
||||
}@ # x86
|
||||
;
|
||||
|
||||
AddFilesToPackage add-ons mail_daemon inbound_protocols : POP3 IMAP ;
|
||||
AddFilesToPackage add-ons mail_daemon outbound_protocols : SMTP ;
|
||||
AddFilesToPackage add-ons mail_daemon inbound_filters
|
||||
@@ -295,6 +324,7 @@ AddFilesToPackage add-ons mail_daemon outbound_filters : Fortune ;
|
||||
|
||||
AddFilesToPackage add-ons media : $(SYSTEM_ADD_ONS_MEDIA) ;
|
||||
AddFilesToPackage add-ons media plugins : $(SYSTEM_ADD_ONS_MEDIA_PLUGINS) ;
|
||||
|
||||
AddFilesToPackage add-ons Tracker
|
||||
: FileType-F Mark\ as… Mark\ as\ Read-R Open\ Target\ Folder-O
|
||||
Open\ Terminal-T ZipOMatic-Z ;
|
||||
@@ -304,25 +334,28 @@ AddSymlinkToPackage add-ons Tracker
|
||||
: /boot/system/apps/TextSearch : TextSearch-G ;
|
||||
AddSymlinkToPackage add-ons Tracker
|
||||
: /boot/system/apps/DiskUsage : DiskUsage-I ;
|
||||
|
||||
AddFilesToPackage add-ons input_server devices
|
||||
: <input>keyboard <input>mouse <input>tablet <input>wacom ;
|
||||
AddFilesToPackage add-ons input_server filters
|
||||
: screen_saver shortcut_catcher ;
|
||||
AddFilesToPackage add-ons kernel network
|
||||
: <net>notifications stack ;
|
||||
AddFilesToPackage add-ons kernel network devices
|
||||
: $(SYSTEM_NETWORK_DEVICES) ;
|
||||
|
||||
AddFilesToPackage add-ons kernel network : <net>notifications stack ;
|
||||
AddFilesToPackage add-ons kernel network : dns_resolver ;
|
||||
AddFilesToPackage add-ons kernel network devices : $(SYSTEM_NETWORK_DEVICES) ;
|
||||
AddFilesToPackage add-ons kernel network datalink_protocols
|
||||
: $(SYSTEM_NETWORK_DATALINK_PROTOCOLS) ;
|
||||
AddFilesToPackage add-ons kernel network ppp: $(SYSTEM_NETWORK_PPP) ;
|
||||
AddFilesToPackage add-ons kernel network protocols
|
||||
: $(SYSTEM_NETWORK_PROTOCOLS) ;
|
||||
|
||||
AddFilesToPackage add-ons Print : $(SYSTEM_ADD_ONS_PRINT) ;
|
||||
AddFilesToPackage add-ons Print transport
|
||||
: $(SYSTEM_ADD_ONS_PRINT_TRANSPORT) ;
|
||||
AddFilesToPackage add-ons Screen\ Savers : $(SYSTEM_ADD_ONS_SCREENSAVERS) ;
|
||||
|
||||
AddFilesToPackage add-ons disk_systems : <disk_system>intel <disk_system>bfs ;
|
||||
AddFilesToPackage add-ons disk_systems
|
||||
: <disk_system>intel <disk_system>gpt <disk_system>bfs <disk_system>ntfs ;
|
||||
|
||||
|
||||
# optional
|
||||
@@ -334,22 +367,26 @@ AddFilesToPackage optional add-ons input_server methods : canna ;
|
||||
# PDF Writer enconding files
|
||||
CopyDirectoryToPackage data
|
||||
: [ FDirName $(HAIKU_TOP) src add-ons print drivers pdf encoding ]
|
||||
: "PDF Writer" : -x .svn -x Jamfile ;
|
||||
: "PDF Writer" : -x Jamfile ;
|
||||
|
||||
# licenses
|
||||
CopyDirectoryToPackage data
|
||||
: [ FDirName $(HAIKU_TOP) data system data licenses ]
|
||||
: licenses : -x .svn ;
|
||||
: licenses ;
|
||||
|
||||
# Copy documentation as per DiskUsage's license requirement.
|
||||
CopyDirectoryToPackage documentation
|
||||
: [ FDirName $(HAIKU_TOP) docs apps diskusage ]
|
||||
: diskusage : -x .svn ;
|
||||
: diskusage ;
|
||||
|
||||
# Copy documentation as per PDFlib Lite's license requirement.
|
||||
# Copy documentation and sample programs as per PDFlib Lite's license
|
||||
# requirement.
|
||||
CopyDirectoryToPackage documentation
|
||||
: [ FDirName $(HAIKU_TOP) src libs pdflib doc ]
|
||||
: pdflib : -x .svn ;
|
||||
: pdflib ;
|
||||
CopyDirectoryToPackage develop sample-code
|
||||
: [ FDirName $(HAIKU_TOP) src libs pdflib bind pdflib ]
|
||||
: pdflib ;
|
||||
|
||||
|
||||
BuildHaikuPackage $(haikuPackage) : haiku ;
|
||||
@@ -428,18 +465,28 @@ AddHeaderDirectoryToPackage compatibility bsd : bsd ;
|
||||
AddHeaderDirectoryToPackage compatibility gnu : gnu ;
|
||||
|
||||
# third party libs headers
|
||||
AddHeaderDirectoryToPackage libs freetype2 : 3rdparty ;
|
||||
AddHeaderDirectoryToPackage libs jpeg : 3rdparty ;
|
||||
AddHeaderDirectoryToPackage libs png : 3rdparty ;
|
||||
AddHeaderDirectoryToPackage libs termcap : 3rdparty ;
|
||||
AddHeaderDirectoryToPackage libs tiff : 3rdparty ;
|
||||
AddHeaderDirectoryToPackage libs zlib : 3rdparty ;
|
||||
|
||||
CopyDirectoryToPackage develop headers :
|
||||
[ FDirName $(HAIKU_FREETYPE_DIR) develop headers 3rdparty ] ;
|
||||
CopyDirectoryToPackage develop headers : $(HAIKU_JPEG_HEADERS) : 3rdparty ;
|
||||
CopyDirectoryToPackage develop headers : $(HAIKU_LIBPNG_HEADERS) : 3rdparty ;
|
||||
CopyDirectoryToPackage develop headers : $(HAIKU_ZLIB_HEADERS) : 3rdparty ;
|
||||
|
||||
# cpp headers
|
||||
if $(HAIKU_GCC_VERSION[1]) = 2 {
|
||||
# GCC 2 only -- for GCC 4 they come with the DevelopmentBase package
|
||||
CopyDirectoryToPackage $(developDirTokens) headers c++
|
||||
: [ FDirName $(HAIKU_TOP) headers cpp ] : 2.95.3 : -x .svn ;
|
||||
: [ FDirName $(HAIKU_TOP) headers cpp ] : 2.95.3 ;
|
||||
}
|
||||
|
||||
# OpenGL headers
|
||||
if $(TARGET_ARCH) = x86 {
|
||||
CopyDirectoryToPackage $(developDirTokens) headers os opengl
|
||||
: [ FDirName $(HAIKU_MESA_HEADERS) GL ] ;
|
||||
CopyDirectoryToPackage $(developDirTokens) headers os opengl
|
||||
: [ FDirName $(HAIKU_GLU_HEADERS) GL ] ;
|
||||
}
|
||||
|
||||
BuildHaikuPackage $(haikuDevelPackage) : haiku_devel ;
|
||||
@@ -452,7 +499,7 @@ local haikuUserGuidePackage = haiku_userguide.hpkg ;
|
||||
HaikuPackage $(haikuUserGuidePackage) ;
|
||||
|
||||
CopyDirectoryToPackage documentation : [ FDirName $(HAIKU_TOP) docs userguide ]
|
||||
: userguide : -x .svn ;
|
||||
: userguide ;
|
||||
SEARCH on userguide = [ FDirName $(HAIKU_TOP) data bin ] ;
|
||||
AddFilesToPackage bin : userguide ;
|
||||
|
||||
@@ -466,7 +513,7 @@ local haikuWelcomePackage = haiku_welcome.hpkg ;
|
||||
HaikuPackage $(haikuWelcomePackage) ;
|
||||
|
||||
CopyDirectoryToPackage documentation : [ FDirName $(HAIKU_TOP) docs welcome ]
|
||||
: welcome : -x .svn ;
|
||||
: welcome ;
|
||||
SEARCH on welcome = [ FDirName $(HAIKU_TOP) data bin ] ;
|
||||
AddFilesToPackage bin : welcome ;
|
||||
|
||||
|
||||
@@ -96,6 +96,62 @@ rule FSplitPath
|
||||
return $(components) ;
|
||||
}
|
||||
|
||||
|
||||
rule FSetConditionsHold conditions : set
|
||||
{
|
||||
# FSetConditionsHold <conditions> : <set> ;
|
||||
# Checks whether the conditions <conditions> are satisfied by the list of
|
||||
# elements <set> and returns a respective result (if so: "1", if not: empty
|
||||
# list). The conditions are satisfied when <conditions> is not empty and
|
||||
# * none of the negative conditions it contains hold and
|
||||
# * if <conditions> contains any positive conditions, at least one one of
|
||||
# those holds.
|
||||
# A positive condition is an element not starting with a "!". It holds when
|
||||
# the element is contained in <set>.
|
||||
# A negative condition is an element that starts with a "!". It holds when
|
||||
# the string resulting from removing the leading "!" is not contained in
|
||||
# <set>.
|
||||
#
|
||||
# <conditions> - The list of conditions.
|
||||
# <set> - The elements against which the conditions are tested.
|
||||
#
|
||||
# Examples:
|
||||
# For set { a b c } the following conditions hold:
|
||||
# { a }, { a d }, { !d }, { !d !e }, { a !d }, { b !e !f }
|
||||
# The following conditions don't hold:
|
||||
# { }, { d }, { d e }, { !a }, { !a b }, { !d e } { a b !c !d }
|
||||
|
||||
local hasPositive ;
|
||||
local hasNegative ;
|
||||
local positiveMatch ;
|
||||
local condition ;
|
||||
for condition in $(conditions) {
|
||||
switch $(condition) {
|
||||
case !* :
|
||||
{
|
||||
hasNegative = 1 ;
|
||||
condition = [ Match "!(.*)" : $(condition) ] ;
|
||||
if $(condition) in $(set) {
|
||||
return ;
|
||||
}
|
||||
}
|
||||
case * :
|
||||
{
|
||||
hasPositive = 1 ;
|
||||
if $(condition) in $(set) {
|
||||
positiveMatch = 1 ;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if $(hasPositive) {
|
||||
return $(positiveMatch) ;
|
||||
}
|
||||
return $(hasNegative) ;
|
||||
}
|
||||
|
||||
|
||||
rule SetPlatformCompatibilityFlagVariables
|
||||
{
|
||||
# SetPlatformCompatibilityFlagVariables <platform var> : <var prefix>
|
||||
|
||||
+33
-8
@@ -197,6 +197,8 @@ rule AddFilesToContainer container : directoryTokens : targets : destName
|
||||
local systemDirTokens
|
||||
= [ on $(container) return $(HAIKU_CONTAINER_SYSTEM_DIR_TOKENS) ] ;
|
||||
|
||||
targets = [ FFilterByBuildFeatures $(targets) ] ;
|
||||
|
||||
# If the image shall only be updated, we filter out all targets not marked
|
||||
# accordingly.
|
||||
if [ on $(container) return $(HAIKU_CONTAINER_UPDATE_ONLY) ]
|
||||
@@ -378,10 +380,10 @@ rule AddWifiFirmwareToContainer container : driver : package : archive : extract
|
||||
|
||||
|
||||
rule ExtractArchiveToContainer container : directoryTokens : archiveFile
|
||||
: alwaysUpdate : extractedSubDir
|
||||
: alwaysUpdate : extractedSubDir : stripDebugSymbols
|
||||
{
|
||||
# ExtractArchiveToContainer <container> : <directory> : <archiveFile>
|
||||
# : <alwaysUpdate> : <extractedSubDir> ;
|
||||
# : <alwaysUpdate> : <extractedSubDir> : <stripDebugSymbols> ;
|
||||
|
||||
# If the container shall only be updated, we extract only, if explicitely
|
||||
# requested.
|
||||
@@ -395,6 +397,7 @@ rule ExtractArchiveToContainer container : directoryTokens : archiveFile
|
||||
|
||||
ARCHIVE_FILES_TO_INSTALL on $(directory) += $(archiveFile) ;
|
||||
ARCHIVE_SUBDIR_TO_INSTALL_FROM on $(archiveFile) = $(extractedSubDir) ;
|
||||
ARCHIVE_FILES_TO_STRIP on $(archiveFile) = $(stripDebugSymbols) ;
|
||||
}
|
||||
|
||||
rule AddDriversToContainer container : relativeDirectoryTokens : targets
|
||||
@@ -406,6 +409,8 @@ rule AddDriversToContainer container : relativeDirectoryTokens : targets
|
||||
local directoryTokens = $(systemDirTokens) add-ons kernel drivers dev
|
||||
$(relativeDirectoryTokens) ;
|
||||
|
||||
targets = [ FFilterByBuildFeatures $(targets) ] ;
|
||||
|
||||
AddFilesToContainer $(container)
|
||||
: $(systemDirTokens) add-ons kernel drivers bin
|
||||
: $(targets) ;
|
||||
@@ -441,6 +446,8 @@ rule AddNewDriversToContainer container : relativeDirectoryTokens
|
||||
local directoryTokens = $(systemDirTokens) add-ons kernel drivers
|
||||
$(relativeDirectoryTokens) ;
|
||||
|
||||
targets = [ FFilterByBuildFeatures $(targets) ] ;
|
||||
|
||||
AddFilesToContainer $(container) : $(directoryTokens)
|
||||
: $(targets) ;
|
||||
}
|
||||
@@ -459,6 +466,7 @@ rule AddBootModuleSymlinksToContainer container : targets
|
||||
|
||||
local systemDirTokens
|
||||
= [ on $(container) return $(HAIKU_CONTAINER_SYSTEM_DIR_TOKENS) ] ;
|
||||
targets = [ FFilterByBuildFeatures $(targets) ] ;
|
||||
|
||||
# add the symlinks
|
||||
local installTargetsVar
|
||||
@@ -744,6 +752,11 @@ rule CreateContainerExtractFilesScript container : script
|
||||
ARCHIVE_SUBDIR_TO_INSTALL_FROM on $(dummyTarget) =
|
||||
$(extractedSubDir:E=.) ;
|
||||
|
||||
local stripDebugSymbols = [ on $(archiveFile)
|
||||
return $(ARCHIVE_FILES_TO_STRIP) ] ;
|
||||
STRIP_DEBUG_SYMBOLS_FROM_ARCHIVE on $(dummyTarget) =
|
||||
$(stripDebugSymbols) ;
|
||||
|
||||
Depends $(dummyTarget) : $(initScript) $(archiveFile)
|
||||
$(serializationDependency) ;
|
||||
Depends $(script) : $(dummyTarget) ;
|
||||
@@ -759,7 +772,8 @@ rule CreateContainerExtractFilesScript container : script
|
||||
actions AddExtractFileToContainerExtractFilesScript
|
||||
{
|
||||
echo extractFile "\"$(2[2])\"" "\"$(TARGET_DIR)\"" \
|
||||
"\"$(ARCHIVE_SUBDIR_TO_INSTALL_FROM)\"" >> $(2[1])
|
||||
"\"$(ARCHIVE_SUBDIR_TO_INSTALL_FROM)\"" \
|
||||
"\"$(STRIP_DEBUG_SYMBOLS_FROM_ARCHIVE)\"" >> $(2[1])
|
||||
}
|
||||
|
||||
|
||||
@@ -827,7 +841,7 @@ rule AddSourceDirectoryToHaikuImage dirTokens : alwaysUpdate
|
||||
|
||||
CopyDirectoryToHaikuImage home HaikuSources
|
||||
: [ FDirName $(HAIKU_TOP) $(dirTokens) ]
|
||||
: : -x .svn : $(alwaysUpdate) ;
|
||||
: : : $(alwaysUpdate) ;
|
||||
}
|
||||
|
||||
rule AddHeaderDirectoryToHaikuImage dirTokens : dirName : alwaysUpdate
|
||||
@@ -848,13 +862,14 @@ rule AddWifiFirmwareToHaikuImage driver : package : archive : extract
|
||||
}
|
||||
|
||||
rule ExtractArchiveToHaikuImage dirTokens : archiveFile : alwaysUpdate
|
||||
: extractedSubDir
|
||||
: extractedSubDir : stripDebugSymbols
|
||||
{
|
||||
# ExtractArchiveToHaikuImage <dirTokens> : <archiveFile> : <alwaysUpdate>
|
||||
# : <extractedSubDir> ;
|
||||
|
||||
ExtractArchiveToContainer $(HAIKU_IMAGE_CONTAINER_NAME) : $(dirTokens)
|
||||
: $(archiveFile) : $(alwaysUpdate) : $(extractedSubDir) ;
|
||||
: $(archiveFile) : $(alwaysUpdate) : $(extractedSubDir)
|
||||
: $(stripDebugSymbols) ;
|
||||
}
|
||||
|
||||
rule AddDriversToHaikuImage relativeDirectoryTokens : targets
|
||||
@@ -948,6 +963,7 @@ rule InstallSourceArchive file : url
|
||||
}
|
||||
|
||||
rule InstallOptionalHaikuImagePackage url : dirTokens : isCDPackage
|
||||
: stripDebugSymbols
|
||||
{
|
||||
# TODO: Remove the non-hpkg cases!
|
||||
# Currently the semantics differs depending on isCDPackage and the type of
|
||||
@@ -979,8 +995,17 @@ rule InstallOptionalHaikuImagePackage url : dirTokens : isCDPackage
|
||||
# copy onto image
|
||||
AddFilesToHaikuImage _packages_ : $(archiveFile) ;
|
||||
} else {
|
||||
if $(HAIKU_STRIP_DEBUG_FROM_OPTIONAL_PACKAGES) = 1 {
|
||||
stripDebugSymbols ?= 1 ;
|
||||
# The script will only test for = 1. This is in case someone
|
||||
# manually set the flag 'true'
|
||||
if $(stripDebugSymbols) = true {
|
||||
stripDebugSymbols = 1 ;
|
||||
}
|
||||
}
|
||||
# extract onto image
|
||||
ExtractArchiveToHaikuImage $(dirTokens) : $(archiveFile) ;
|
||||
ExtractArchiveToHaikuImage $(dirTokens) : $(archiveFile)
|
||||
: : : $(stripDebugSymbols) ;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1463,7 +1488,7 @@ actions BuildCDBootPPCImage1 bind MAPS
|
||||
|| \
|
||||
genisoimage -v -hfs -part -map $(MAPS) -no-desktop -hfs-volid bootimg \
|
||||
-V bootimg -hfs-bless $(HAIKU_OUTPUT_DIR)/cd/ppc -prep-boot \
|
||||
ppc/$(>[2]:D=) -r -o $(<) $(HAIKU_OUTPUT_DIR)/cd
|
||||
ppc/$(>[2]:D=) -r -o $(<) $(HAIKU_OUTPUT_DIR)/cd
|
||||
#$(RM) -R $(HAIKU_OUTPUT_DIR)/cd
|
||||
}
|
||||
|
||||
|
||||
+21
-3
@@ -48,9 +48,9 @@ rule KernelLd
|
||||
# libsupc++ is opt-out.
|
||||
local libs ;
|
||||
if ! [ on $(1) return HAIKU_NO_LIBSUPC++ ] {
|
||||
libs += $(TARGET_STATIC_LIBSUPC++) ;
|
||||
libs += $(TARGET_KERNEL_LIBSUPC++) ;
|
||||
}
|
||||
LINKLIBS on $(1) = $(libs) $(TARGET_GCC_LIBGCC) ;
|
||||
LINKLIBS on $(1) = $(libs) $(TARGET_KERNEL_LIBGCC) ;
|
||||
|
||||
# TODO: Do we really want to invoke SetupKernel here? The objects should
|
||||
# have been compiled with KernelObjects anyway, so we're doing that twice.
|
||||
@@ -77,6 +77,24 @@ actions KernelLd bind VERSION_SCRIPT
|
||||
--version-script=$(VERSION_SCRIPT)
|
||||
}
|
||||
|
||||
rule KernelSo target : source
|
||||
{
|
||||
# KernelSo <target> : <source>
|
||||
|
||||
Depends $(target) : <build>copyattr $(source) ;
|
||||
|
||||
MakeLocateDebug $(1) ;
|
||||
KernelSo1 $(target) : <build>copyattr $(source) ;
|
||||
}
|
||||
|
||||
actions KernelSo1
|
||||
{
|
||||
$(HOST_ADD_BUILD_COMPATIBILITY_LIB_DIR)
|
||||
|
||||
$(2[1]) --data $(2[2]) $(1) &&
|
||||
$(HAIKU_ELFEDIT) --output-type dyn $(1)
|
||||
}
|
||||
|
||||
rule KernelAddon
|
||||
{
|
||||
# KernelAddon <name> : <sources> : <static-libraries> : <res> ;
|
||||
@@ -117,7 +135,7 @@ rule KernelAddon
|
||||
# compile and link
|
||||
SetupKernel $(sources) : $(TARGET_KERNEL_PIC_FLAGS) : false ;
|
||||
local linkFlags = -nostdlib -Xlinker --no-undefined
|
||||
-Xlinker -soname=\"$(target:G=)\" ;
|
||||
-Xlinker -soname=\"$(target:G=)\" $(TARGET_KERNEL_ADDON_LINKFLAGS) ;
|
||||
LINKFLAGS on $(target) = [ on $(target) return $(LINKFLAGS) ] $(linkFlags) ;
|
||||
Main $(target) : $(sources) ;
|
||||
LinkAgainst $(target) : $(libs) $(kernel) ;
|
||||
|
||||
@@ -14,10 +14,10 @@ rule ExtractCatalogEntries target : sources : signature : regexp
|
||||
local systemIncludesOption ;
|
||||
|
||||
on $(target) { # use on $(target) variable values
|
||||
defines = $(DEFINES) ;
|
||||
headers = $(HAIKU_CONFIG_HEADERS) $(SEARCH_SOURCE) $(SUBDIRHDRS)
|
||||
$(HDRS) ;
|
||||
sysHeaders = $(SUBDIRSYSHDRS) $(SYSHDRS) ;
|
||||
defines = $(DEFINES) ;
|
||||
|
||||
if $(PLATFORM) = host {
|
||||
sysHeaders += $(HOST_HDRS) ;
|
||||
@@ -57,10 +57,8 @@ rule ExtractCatalogEntries target : sources : signature : regexp
|
||||
|
||||
SEARCH on $(sources) += $(SEARCH_SOURCE) ;
|
||||
|
||||
local subdir
|
||||
= [ on $(signature) return $(HAIKU_CATALOGS_SUBDIR) ] ;
|
||||
MakeLocate $(target)
|
||||
: [ FDirName $(HAIKU_CATALOGS_OBJECT_DIR) $(subdir) ] ;
|
||||
local subdir = [ on $(signature) return $(HAIKU_CATALOGS_SUBDIR) ] ;
|
||||
MakeLocate $(target) : [ FDirName $(HAIKU_CATALOGS_OBJECT_DIR) $(subdir) ] ;
|
||||
Depends $(target) : $(sources) <build>collectcatkeys ;
|
||||
LocalClean clean : $(target).pre ;
|
||||
ExtractCatalogEntries1 $(target) : <build>collectcatkeys $(sources) ;
|
||||
@@ -82,10 +80,8 @@ rule LinkApplicationCatalog target : sources : signature : language
|
||||
# if the fingerprint matches the one from the untranslated catalog for the
|
||||
# same file.
|
||||
|
||||
local subdir
|
||||
= [ on $(signature) return $(HAIKU_CATALOGS_SUBDIR) ] ;
|
||||
MakeLocate $(target)
|
||||
: [ FDirName $(HAIKU_CATALOGS_OBJECT_DIR) $(subdir) ] ;
|
||||
local subdir = [ on $(signature) return $(HAIKU_CATALOGS_SUBDIR) ] ;
|
||||
MakeLocate $(target) : [ FDirName $(HAIKU_CATALOGS_OBJECT_DIR) $(subdir) ] ;
|
||||
Depends $(target) : $(sources) <build>linkcatkeys ;
|
||||
LocalClean clean : $(target) ;
|
||||
|
||||
|
||||
@@ -115,7 +115,7 @@ rule Addon target : sources : libraries : isExecutable
|
||||
|
||||
local linkFlags = -Xlinker -soname=\"$(target:G=)\" ;
|
||||
if $(isExecutable) != true {
|
||||
linkFlags = -nostart $(linkFlags) ;
|
||||
linkFlags = -shared $(linkFlags) ;
|
||||
}
|
||||
LINKFLAGS on $(target) = [ on $(target) return $(LINKFLAGS) ] $(linkFlags) ;
|
||||
LinkAgainst $(target) : $(libraries) ;
|
||||
@@ -421,7 +421,7 @@ rule SharedLibraryFromObjects
|
||||
|
||||
MainFromObjects $(_lib) : $(2) ;
|
||||
LINKFLAGS on $(_lib) = [ on $(_lib) return $(LINKFLAGS) ]
|
||||
-nostart -Xlinker -soname=\"$(soname)\" ;
|
||||
-shared -Xlinker -soname=\"$(soname)\" ;
|
||||
LinkAgainst $(_lib) : $(3) ;
|
||||
|
||||
AddSharedObjectGlueCode $(_lib) : false ;
|
||||
|
||||
@@ -427,3 +427,166 @@ rule DefineBuildProfile name : type : path {
|
||||
|
||||
return 1 ;
|
||||
}
|
||||
|
||||
|
||||
# pragma mark - Build Features
|
||||
|
||||
|
||||
rule FIsBuildFeatureEnabled feature
|
||||
{
|
||||
# FIsBuildFeatureEnabled <feature> ;
|
||||
# Returns whether the given build feature <feature> is enabled (if so: "1",
|
||||
# if not: empty list).
|
||||
#
|
||||
# <feature> - The name of the build feature (all lower case).
|
||||
|
||||
if $(feature) in $(HAIKU_BUILD_FEATURES) {
|
||||
return 1 ;
|
||||
}
|
||||
|
||||
return ;
|
||||
}
|
||||
|
||||
|
||||
rule FMatchesBuildFeatures specification
|
||||
{
|
||||
# FMatchesBuildFeatures <specification> ;
|
||||
# Returns whether the given build feature specification <specification>
|
||||
# holds. <specification> consists of positive and negative build feature
|
||||
# conditions. Conditions can be individual list elements and multiple
|
||||
# conditions can be joined, separated by ",", in a single list element. The
|
||||
# effect is the same; they are considered as single set of conditions.
|
||||
# A positive condition does not start with a "!". It holds when the build
|
||||
# feature named by the element is enabled.
|
||||
# A negative condition starts with a "!". It holds when the build feature
|
||||
# named by the string resulting from removing the leading "!" is not
|
||||
# enabled.
|
||||
# <specification> holds when it is not empty and
|
||||
# * none of the negative conditions it contains hold and
|
||||
# * if it contains any positive conditions, at least one one of them holds.
|
||||
#
|
||||
# <specification> - The build feature specification. A list of individual
|
||||
# conditions or conditions joined by ",".
|
||||
|
||||
local splitSpecification ;
|
||||
local element ;
|
||||
for element in $(specification) {
|
||||
splitSpecification += [ FSplitString $(element) : "," ] ;
|
||||
}
|
||||
return [ FSetConditionsHold $(splitSpecification)
|
||||
: $(HAIKU_BUILD_FEATURES) ] ;
|
||||
}
|
||||
|
||||
|
||||
rule FFilterByBuildFeatures list
|
||||
{
|
||||
# FFilterByBuildFeatures <list> ;
|
||||
# Filters the list annotated by build feature specifications and returns the
|
||||
# resulting list. The list can be annotated in two different ways:
|
||||
# * A single list element can be annotated by appending "@<specification>"
|
||||
# to it, with <specification> being a build feature specification (a
|
||||
# single comma-separated string). The element appears in the resulting
|
||||
# list, only if <specification> holds.
|
||||
# * A sublist can be annotated by enclosing it in "<specification> @{" (two
|
||||
# separate list elements) and "}@", with <specification> being a build
|
||||
# feature specification (a single comma-separated string). The enclosed
|
||||
# sublist appears in the resulting list, only if <specification> holds.
|
||||
# The sublist annotations can be nested. The annotations themselves don't
|
||||
# appear in the resulting list.
|
||||
#
|
||||
# <list> - A list annotated with build feature specifications.
|
||||
|
||||
local filteredList ;
|
||||
|
||||
# Since we must look ahead one element to be able to decide whether an
|
||||
# element is a regular list element or a features specification for a
|
||||
# subsequent "@{". Hence we always process an element other than "@{" and
|
||||
# "}@" in the next iteration. We append a dummy element to the list so we
|
||||
# don't need special handling for the last element.
|
||||
local evaluationStack = 1 ;
|
||||
local previousElement ;
|
||||
local element ;
|
||||
for element in $(list) dummy {
|
||||
local stackTop = $(evaluationStack[1]) ;
|
||||
local processElement = $(previousElement) ;
|
||||
switch $(element) {
|
||||
case }@ :
|
||||
{
|
||||
# Pop the topmost specificaton off the stack.
|
||||
evaluationStack = $(evaluationStack[2-]) ;
|
||||
if ! $(evaluationStack) {
|
||||
Exit "FFilterByBuildFeatures: Unbalanced @( in: " $(list) ;
|
||||
}
|
||||
|
||||
processElement = $(previousElement) ;
|
||||
previousElement = ;
|
||||
}
|
||||
case @{ :
|
||||
{
|
||||
if ! $(previousElement) {
|
||||
Exit "FFilterByBuildFeatures: No feature specification"
|
||||
"after )@ in: " $(list) ;
|
||||
}
|
||||
|
||||
if $(evaluationStack[1]) = 1
|
||||
&& [ FMatchesBuildFeatures $(previousElement) ] {
|
||||
evaluationStack = 1 $(evaluationStack) ;
|
||||
} else {
|
||||
evaluationStack = 0 $(evaluationStack) ;
|
||||
}
|
||||
|
||||
processElement = ;
|
||||
previousElement = ;
|
||||
}
|
||||
case * :
|
||||
{
|
||||
processElement = $(previousElement) ;
|
||||
previousElement = $(element) ;
|
||||
}
|
||||
}
|
||||
|
||||
if $(processElement) && $(stackTop) = 1 {
|
||||
local splitElement = [ Match "(.*)@([^@]*)" : $(processElement) ] ;
|
||||
if $(splitElement) {
|
||||
if [ FMatchesBuildFeatures $(splitElement[2]) ] {
|
||||
filteredList += $(splitElement[1]) ;
|
||||
}
|
||||
} else {
|
||||
filteredList += $(processElement) ;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if $(evaluationStack[2-]) {
|
||||
Exit "FFilterByBuildFeatures: Unbalanced )@ in: " $(list) ;
|
||||
}
|
||||
|
||||
return $(filteredList) ;
|
||||
}
|
||||
|
||||
|
||||
rule EnableBuildFeatures features : specification
|
||||
{
|
||||
# EnableBuildFeatures <features> : <specification> ;
|
||||
# Enables the build features <features>, if the build features specification
|
||||
# <specification> holds. If <specification> is omitted, the features are
|
||||
# enabled unconditionally.
|
||||
# The rule enables a build feature by adding its given lower case name to
|
||||
# the build variable HAIKU_BUILD_FEATURES and defining a build variable
|
||||
# HAIKU_BUILD_FEATURE_<FEATURE>_ENABLED (<FEATURE> being the upper case name
|
||||
# of the build feature) to "1".
|
||||
#
|
||||
# <features> - A list of build feature names (lower case).
|
||||
# <specification> - An optional build features specification (cf.
|
||||
# FMatchesBuildFeatures).
|
||||
|
||||
if ! $(specification)
|
||||
|| [ FMatchesBuildFeatures $(specification)
|
||||
: $(HAIKU_BUILD_FEATURES) ] {
|
||||
local feature ;
|
||||
for feature in $(features) {
|
||||
HAIKU_BUILD_FEATURES += $(feature) ;
|
||||
HAIKU_BUILD_FEATURE_$(feature:U)_ENABLED = 1 ;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
+25
-42
@@ -1,43 +1,28 @@
|
||||
# This file defines what ends up in the network boot archive and it executes the
|
||||
# rules building the archive.
|
||||
|
||||
local X86_ONLY = ;
|
||||
local PPC_ONLY = ;
|
||||
if $(TARGET_ARCH) = x86 {
|
||||
X86_ONLY = "" ;
|
||||
} else if $(TARGET_ARCH) = ppc {
|
||||
X86_ONLY = ;
|
||||
}
|
||||
|
||||
local GPL_ONLY = ;
|
||||
if $(HAIKU_INCLUDE_GPL_ADDONS) = 1 {
|
||||
GPL_ONLY = "" ;
|
||||
}
|
||||
|
||||
#HACK: remove when old ide code is removed!
|
||||
local ATA_ONLY = ;
|
||||
local IDE_ONLY = ;
|
||||
if $(HAIKU_ATA_STACK) = 1 {
|
||||
ATA_ONLY = "" ;
|
||||
} else {
|
||||
IDE_ONLY = "" ;
|
||||
}
|
||||
|
||||
SYSTEM_NETWORK_DEVICES = ethernet loopback ;
|
||||
SYSTEM_NETWORK_DATALINK_PROTOCOLS = ethernet_frame <module>arp loopback_frame ;
|
||||
SYSTEM_NETWORK_PROTOCOLS = ipv4 tcp udp icmp unix ;
|
||||
|
||||
SYSTEM_ADD_ONS_DRIVERS_NET = $(X86_ONLY)3com $(X86_ONLY)atheros813x
|
||||
$(X86_ONLY)broadcom440x $(X86_ONLY)broadcom570x etherpci $(X86_ONLY)ipro1000
|
||||
pegasus $(X86_ONLY)rtl8139 rtl8169 $(X86_ONLY)rtl81xx sis900
|
||||
$(X86_ONLY)via_rhine wb840 $(X86_ONLY)ipro100 $(X86_ONLY)nforce
|
||||
SYSTEM_ADD_ONS_DRIVERS_NET = [ FFilterByBuildFeatures
|
||||
x86 @{
|
||||
3com atheros813x
|
||||
broadcom440x broadcom570x ipro1000
|
||||
rtl8139 rtl81xx
|
||||
via_rhine ipro100 nforce
|
||||
marvell_yukon syskonnect
|
||||
attansic_l2 ar81xx
|
||||
}@ # x86
|
||||
|
||||
etherpci pegasus rtl8169 sis900 usb_ecm wb840
|
||||
#vlance
|
||||
$(X86_ONLY)marvell_yukon $(X86_ONLY)syskonnect
|
||||
$(X86_ONLY)attansic_l2 $(X86_ONLY)ar81xx usb_ecm
|
||||
;
|
||||
SYSTEM_ADD_ONS_BUS_MANAGERS = pci $(X86_ONLY)isa $(IDE_ONLY)ide $(ATA_ONLY)ata
|
||||
] ;
|
||||
SYSTEM_ADD_ONS_BUS_MANAGERS = [ FFilterByBuildFeatures
|
||||
pci isa@x86 ide@ide ata@ata
|
||||
scsi config_manager agp_gart
|
||||
;
|
||||
] ;
|
||||
SYSTEM_ADD_ONS_FILE_SYSTEMS = bfs fat iso9660 ;
|
||||
|
||||
|
||||
@@ -45,9 +30,9 @@ SYSTEM_ADD_ONS_FILE_SYSTEMS = bfs fat iso9660 ;
|
||||
AddFilesToNetBootArchive system add-ons kernel bus_managers
|
||||
: $(SYSTEM_ADD_ONS_BUS_MANAGERS) ;
|
||||
AddFilesToNetBootArchive system add-ons kernel busses agp_gart
|
||||
: $(X86_ONLY)<agp_gart>intel ;
|
||||
: <agp_gart>intel@x86 ;
|
||||
AddFilesToNetBootArchive system add-ons kernel busses ide
|
||||
: generic_ide_pci $(X86_ONLY)ide_isa silicon_image_3112 ;
|
||||
: generic_ide_pci ide_isa@x86 silicon_image_3112 ;
|
||||
AddFilesToNetBootArchive system add-ons kernel busses scsi
|
||||
: ahci ;
|
||||
AddFilesToNetBootArchive system add-ons kernel console
|
||||
@@ -55,13 +40,11 @@ AddFilesToNetBootArchive system add-ons kernel console
|
||||
AddFilesToNetBootArchive system add-ons kernel file_systems
|
||||
: $(SYSTEM_ADD_ONS_FILE_SYSTEMS) ;
|
||||
AddFilesToNetBootArchive system add-ons kernel generic
|
||||
: $(IDE_ONLY)ide_adapter $(ATA_ONLY)ata_adapter locked_pool scsi_periph ;
|
||||
AddFilesToNetBootArchive
|
||||
system add-ons kernel partitioning_systems
|
||||
: ide_adapter@ide ata_adapter@ata locked_pool scsi_periph ;
|
||||
AddFilesToNetBootArchive system add-ons kernel partitioning_systems
|
||||
: intel session ;
|
||||
AddFilesToNetBootArchive
|
||||
system add-ons kernel interrupt_controllers
|
||||
: $(PPC_ONLY)openpic ;
|
||||
AddFilesToNetBootArchive system add-ons kernel interrupt_controllers
|
||||
: openpic@ppc ;
|
||||
|
||||
if $(TARGET_ARCH) = x86 {
|
||||
AddFilesToNetBootArchive system add-ons kernel cpu
|
||||
@@ -103,12 +86,12 @@ AddFilesToNetBootArchive
|
||||
# boot module links
|
||||
AddBootModuleSymlinksToNetBootArchive
|
||||
$(SYSTEM_ADD_ONS_BUS_MANAGERS)
|
||||
ahci generic_ide_pci $(X86_ONLY)ide_isa silicon_image_3112
|
||||
ahci generic_ide_pci ide_isa@x86 silicon_image_3112
|
||||
$(SYSTEM_ADD_ONS_FILE_SYSTEMS)
|
||||
$(IDE_ONLY)ide_adapter $(ATA_ONLY)ata_adapter locked_pool scsi_periph
|
||||
ide_adapter@ide ata_adapter@ata locked_pool scsi_periph
|
||||
intel session
|
||||
$(PPC_ONLY)openpic
|
||||
$(X86_ONLY)generic_x86
|
||||
openpic@ppc
|
||||
generic_x86@x86
|
||||
# nbd
|
||||
remote_disk
|
||||
$(SYSTEM_ADD_ONS_DRIVERS_NET)
|
||||
|
||||
@@ -1,254 +0,0 @@
|
||||
# This file contains setup for features that can optionally be used for the
|
||||
# build. For features that require downloading a zip file from somewhere it is
|
||||
# likely the same file use for an optional package.
|
||||
|
||||
|
||||
# SSL
|
||||
|
||||
# Automatically enable the SSL feature, when the optional OpenSSL optional
|
||||
# package is enabled.
|
||||
if [ IsOptionalHaikuImagePackageAdded OpenSSL ] {
|
||||
HAIKU_BUILD_FEATURE_SSL = 1 ;
|
||||
}
|
||||
|
||||
if $(HAIKU_GCC_VERSION[1]) >= 4 {
|
||||
HAIKU_OPENSSL_PACKAGE = openssl-1.0.0e-x86-gcc4-2011-09-08.zip ;
|
||||
} else {
|
||||
HAIKU_OPENSSL_PACKAGE = openssl-1.0.0j-1-x86_gcc2.hpkg ;
|
||||
}
|
||||
|
||||
local baseURL = http://haiku-files.org/files/optional-packages ;
|
||||
local hpkgBaseURL = http://haiku-files.org/files/hpkg ;
|
||||
HAIKU_OPENSSL_URL = $(hpkgBaseURL)/$(HAIKU_OPENSSL_PACKAGE) ;
|
||||
|
||||
if $(HAIKU_BUILD_FEATURE_SSL) {
|
||||
if $(TARGET_ARCH) != x86 {
|
||||
Echo "SSL build feature not available for $(TARGET_ARCH)" ;
|
||||
} else {
|
||||
# Download the package.
|
||||
local zipFile = [ DownloadFile $(HAIKU_OPENSSL_PACKAGE)
|
||||
: $(HAIKU_OPENSSL_URL) ] ;
|
||||
|
||||
# zip file and output directory
|
||||
HAIKU_OPENSSL_ZIP_FILE = $(zipFile) ;
|
||||
HAIKU_OPENSSL_DIR = [ FDirName $(HAIKU_OPTIONAL_BUILD_PACKAGES_DIR)
|
||||
$(HAIKU_OPENSSL_PACKAGE:B) ] ;
|
||||
|
||||
# extract headers and libraries
|
||||
HAIKU_OPENSSL_HEADERS_DEPENDENCY = [ ExtractArchive $(HAIKU_OPENSSL_DIR)
|
||||
: develop/headers/ : $(zipFile) : extracted-openssl
|
||||
] ;
|
||||
|
||||
HAIKU_OPENSSL_LIBS = [ ExtractArchive $(HAIKU_OPENSSL_DIR)
|
||||
:
|
||||
develop/lib/libcrypto.so
|
||||
develop/lib/libssl.so
|
||||
: $(zipFile)
|
||||
: extracted-openssl
|
||||
] ;
|
||||
|
||||
HAIKU_OPENSSL_ENABLED = 1 ;
|
||||
HAIKU_OPENSSL_HEADERS
|
||||
= [ FDirName $(HAIKU_OPENSSL_DIR) develop/headers ] ;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
# ICU
|
||||
|
||||
# Note ICU isn't actually optional, but is still an external package
|
||||
HAIKU_ICU_GCC_2_PACKAGE = icu-4.8.1.1-2-x86_gcc2.hpkg ;
|
||||
HAIKU_ICU_GCC_4_PACKAGE = icu-4.8.1-x86-gcc4-2011-11-02.zip ;
|
||||
# TODO: Make hpkg!
|
||||
HAIKU_ICU_PPC_PACKAGE = icu-4.8.1-ppc-2011-08-20.zip ;
|
||||
HAIKU_ICU_DEVEL_PACKAGE = icu_devel-4.8.1.1-2-x86_gcc2.hpkg ;
|
||||
# TODO: The devel package is no longer architecture independent!
|
||||
|
||||
if $(TARGET_ARCH) = ppc || $(TARGET_ARCH) = x86 {
|
||||
local icu_package ;
|
||||
if $(TARGET_ARCH) = ppc {
|
||||
icu_package = $(HAIKU_ICU_PPC_PACKAGE) ;
|
||||
} else if $(HAIKU_GCC_VERSION[1]) = 2 {
|
||||
icu_package = $(HAIKU_ICU_GCC_2_PACKAGE) ;
|
||||
} else {
|
||||
icu_package = $(HAIKU_ICU_GCC_4_PACKAGE) ;
|
||||
}
|
||||
|
||||
local packageFile = [ DownloadFile $(icu_package)
|
||||
: $(hpkgBaseURL)/$(icu_package) ] ;
|
||||
|
||||
# zip file and output directory
|
||||
HAIKU_ICU_PACKAGE_FILE = $(packageFile) ;
|
||||
HAIKU_ICU_DIR = [ FDirName $(HAIKU_OPTIONAL_BUILD_PACKAGES_DIR)
|
||||
$(icu_package:B) ] ;
|
||||
|
||||
# extract libraries
|
||||
if $(TARGET_ARCH) = ppc {
|
||||
HAIKU_ICU_LIBS = [ ExtractArchive $(HAIKU_ICU_DIR)
|
||||
:
|
||||
libicudata.so.48.1
|
||||
libicui18n.so.48.1
|
||||
libicuio.so.48.1
|
||||
libicule.so.48.1
|
||||
libiculx.so.48.1
|
||||
libicutu.so.48.1
|
||||
libicuuc.so.48.1
|
||||
: $(packageFile)
|
||||
: extracted-icu
|
||||
] ;
|
||||
} else {
|
||||
HAIKU_ICU_LIBS = [ ExtractArchive $(HAIKU_ICU_DIR)
|
||||
:
|
||||
lib/libicudata.so.48.1.1
|
||||
lib/libicui18n.so.48.1.1
|
||||
lib/libicuio.so.48.1.1
|
||||
lib/libicule.so.48.1.1
|
||||
lib/libiculx.so.48.1.1
|
||||
lib/libicutu.so.48.1.1
|
||||
lib/libicuuc.so.48.1.1
|
||||
: $(packageFile)
|
||||
: extracted-icu
|
||||
] ;
|
||||
}
|
||||
} else {
|
||||
Echo "ICU not available for $(TARGET_ARCH)" ;
|
||||
}
|
||||
|
||||
|
||||
# zip file and output directory
|
||||
HAIKU_ICU_DEVEL_ZIP_FILE = [ DownloadFile $(HAIKU_ICU_DEVEL_PACKAGE)
|
||||
: $(hpkgBaseURL)/$(HAIKU_ICU_DEVEL_PACKAGE) ] ;
|
||||
HAIKU_ICU_DEVEL_DIR = $(HAIKU_ICU_DIR) ;
|
||||
|
||||
# extract headers
|
||||
HAIKU_ICU_HEADERS_DEPENDENCY = [ ExtractArchive
|
||||
$(HAIKU_ICU_DEVEL_DIR:G=icu_devel)
|
||||
# We need a grist here, so it's a different target than the one for the
|
||||
# main package, even though it's the same directory.
|
||||
: develop/headers : $(HAIKU_ICU_DEVEL_ZIP_FILE)
|
||||
: extracted-icu-devel ] ;
|
||||
|
||||
HAIKU_ICU_HEADERS
|
||||
= [ FDirName $(HAIKU_ICU_DEVEL_DIR) develop headers ] ;
|
||||
|
||||
|
||||
# CLucene
|
||||
|
||||
# Automatically install the CLucene feature, when the optional CLucene optional
|
||||
# package is enabled.
|
||||
if [ IsOptionalHaikuImagePackageAdded CLucene ] {
|
||||
HAIKU_BUILD_FEATURE_CLUCENE = 1 ;
|
||||
}
|
||||
|
||||
local baseURL = http://haiku-files.org/files/optional-packages ;
|
||||
HAIKU_CLUCENE_PACKAGE = clucene-0.9.21-x86-gcc4-haiku-2009-08-11.zip ;
|
||||
HAIKU_CLUCENE_URL = $(baseURL)/$(HAIKU_CLUCENE_PACKAGE) ;
|
||||
|
||||
if $(HAIKU_BUILD_FEATURE_CLUCENE) {
|
||||
if $(TARGET_ARCH) != x86 {
|
||||
Echo "CLucene build feature not available for $(TARGET_ARCH)" ;
|
||||
} else {
|
||||
# Download the zip archive.
|
||||
local zipFile = [ DownloadFile $(HAIKU_CLUCENE_PACKAGE)
|
||||
: $(HAIKU_CLUCENE_URL) ] ;
|
||||
|
||||
# zip file and output directory
|
||||
HAIKU_CLUCENE_ZIP_FILE = $(zipFile) ;
|
||||
HAIKU_CLUCENE_DIR = [ FDirName $(HAIKU_OPTIONAL_BUILD_PACKAGES_DIR)
|
||||
$(HAIKU_CLUCENE_PACKAGE:B) ] ;
|
||||
|
||||
# extract headers and libraries
|
||||
HAIKU_CLUCENE_HEADERS_DEPENDENCY = [ ExtractArchive $(HAIKU_CLUCENE_DIR)
|
||||
: common/include/ : $(zipFile) : extracted-clucene
|
||||
] ;
|
||||
|
||||
HAIKU_CLUCENE_LIBS = [ ExtractArchive $(HAIKU_CLUCENE_DIR)
|
||||
:
|
||||
common/lib/libclucene.a
|
||||
: $(zipFile)
|
||||
: extracted-clucene
|
||||
] ;
|
||||
|
||||
HAIKU_CLUCENE_HEADERS
|
||||
= [ FDirName $(HAIKU_CLUCENE_DIR) common include ] ;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
# TagLib
|
||||
|
||||
# Automatically install the TagLib feature, when the optional TagLib optional
|
||||
# package is enabled.
|
||||
if [ IsOptionalHaikuImagePackageAdded TagLib ] {
|
||||
HAIKU_BUILD_FEATURE_TAGLIB = 1 ;
|
||||
}
|
||||
|
||||
local baseURL = http://haiku-files.org/files/optional-packages ;
|
||||
HAIKU_TAGLIB_PACKAGE = taglib-1.6.3-r1a2-x86-gcc2-2010-04-25.zip ;
|
||||
HAIKU_TAGLIB_URL = $(baseURL)/$(HAIKU_TAGLIB_PACKAGE) ;
|
||||
|
||||
if $(HAIKU_BUILD_FEATURE_TAGLIB) {
|
||||
if $(TARGET_ARCH) != x86 {
|
||||
Echo "TagLib build feature not available for $(TARGET_ARCH)" ;
|
||||
} else {
|
||||
# Download the zip archive.
|
||||
local zipFile = [ DownloadFile $(HAIKU_TAGLIB_PACKAGE)
|
||||
: $(HAIKU_TAGLIB_URL) ] ;
|
||||
|
||||
# zip file and output directory
|
||||
HAIKU_TAGLIB_ZIP_FILE = $(zipFile) ;
|
||||
HAIKU_TAGLIB_DIR = [ FDirName $(HAIKU_OPTIONAL_BUILD_PACKAGES_DIR)
|
||||
$(HAIKU_TAGLIB_PACKAGE:B) ] ;
|
||||
|
||||
# extract headers and libraries
|
||||
HAIKU_TAGLIB_HEADERS_DEPENDENCY = [ ExtractArchive $(HAIKU_TAGLIB_DIR)
|
||||
: common/include/ : $(zipFile) : extracted-taglib
|
||||
] ;
|
||||
|
||||
HAIKU_TAGLIB_LIBS = [ ExtractArchive $(HAIKU_TAGLIB_DIR)
|
||||
:
|
||||
common/lib/libtag.so
|
||||
common/lib/libtag_c.so
|
||||
: $(zipFile)
|
||||
: extracted-taglib
|
||||
] ;
|
||||
|
||||
HAIKU_TAGLIB_HEADERS
|
||||
= [ FDirName $(HAIKU_TAGLIB_DIR) common include taglib ] ;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
# LibSolv
|
||||
|
||||
if $(TARGET_ARCH) != x86 {
|
||||
Echo "Libsolv not available for $(TARGET_ARCH)." ;
|
||||
} else if $(HAIKU_GCC_VERSION[1]) = 2 {
|
||||
HAIKU_LIBSOLV_PACKAGE
|
||||
= libsolv-0.3.0_haiku_2013_04_18-2-x86_gcc2.hpkg ;
|
||||
} else {
|
||||
Echo "Libsolv not available for gcc4." ;
|
||||
}
|
||||
|
||||
if $(HAIKU_LIBSOLV_PACKAGE) {
|
||||
# download package
|
||||
HAIKU_LIBSOLV_PACKAGE_FILE = [ DownloadFile $(HAIKU_LIBSOLV_PACKAGE)
|
||||
: $(hpkgBaseURL)/$(HAIKU_LIBSOLV_PACKAGE) ] ;
|
||||
HAIKU_LIBSOLV_DIR = [ FDirName $(HAIKU_OPTIONAL_BUILD_PACKAGES_DIR)
|
||||
$(HAIKU_LIBSOLV_PACKAGE:B) ] ;
|
||||
|
||||
# extract headers and libraries
|
||||
HAIKU_LIBSOLV_HEADERS_DEPENDENCY = [ ExtractArchive $(HAIKU_LIBSOLV_DIR)
|
||||
: develop/headers/ : $(HAIKU_LIBSOLV_PACKAGE_FILE) : extracted-libsolv
|
||||
] ;
|
||||
|
||||
HAIKU_LIBSOLV_LIBS = [ ExtractArchive $(HAIKU_LIBSOLV_DIR)
|
||||
:
|
||||
develop/lib/libsolv.so
|
||||
develop/lib/libsolvext.so
|
||||
: $(HAIKU_LIBSOLV_PACKAGE_FILE)
|
||||
: extracted-libsolv
|
||||
] ;
|
||||
|
||||
HAIKU_LIBSOLV_HEADERS = [ FDirName $(HAIKU_LIBSOLV_DIR) develop/headers ] ;
|
||||
}
|
||||
@@ -29,18 +29,18 @@ if [ IsOptionalHaikuImagePackageAdded AllegroLibs ] {
|
||||
Echo "No optional package AllegroLibs available for $(TARGET_ARCH)" ;
|
||||
} else if $(HAIKU_GCC_VERSION[1]) >= 4 {
|
||||
InstallOptionalHaikuImagePackage
|
||||
$(baseURL)/lib/allegro-4.4.1.1-r1a3-x86-gcc4-2011-05-26.zip ;
|
||||
$(baseURL)/lib/allegro-4.4.1.1-r1a4-x86-gcc4-2012-09-09.zip ;
|
||||
InstallOptionalHaikuImagePackage
|
||||
$(baseURL)/lib/dumb-0.9.3-r1a3-x86-gcc4-2011-05-26.zip ;
|
||||
$(baseURL)/lib/dumb-0.9.3-r1a4-x86-gcc4-2012-09-09.zip ;
|
||||
InstallOptionalHaikuImagePackage
|
||||
$(baseURL)/lib/jgmod-0.99-r1a3-x86-gcc4-2011-05-26.zip ;
|
||||
$(baseURL)/lib/jgmod-0.99-r1a4-x86-gcc4-2012-09-09.zip ;
|
||||
} else {
|
||||
InstallOptionalHaikuImagePackage
|
||||
$(baseURL)/lib/allegro-4.4.1.1-r1a3-x86-gcc2-2011-05-19.zip ;
|
||||
$(baseURL)/lib/allegro-4.4.1.1-r1a4-x86-gcc2-2012-08-30.zip ;
|
||||
InstallOptionalHaikuImagePackage
|
||||
$(baseURL)/lib/dumb-0.9.3-r1a3-x86-gcc2-2011-05-19.zip ;
|
||||
$(baseURL)/lib/dumb-0.9.3-r1a4-x86-gcc2-2012-08-30.zip ;
|
||||
InstallOptionalHaikuImagePackage
|
||||
$(baseURL)/lib/jgmod-0.99-x86-gcc2-2011-08-02.zip ;
|
||||
$(baseURL)/lib/jgmod-0.99-r1a4-x86-gcc2-2012-08-30.zip ;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -52,7 +52,7 @@ if [ IsOptionalHaikuImagePackageAdded box2d ] {
|
||||
} else {
|
||||
if $(HAIKU_GCC_VERSION[1]) >= 4 {
|
||||
InstallOptionalHaikuImagePackage
|
||||
$(baseURL)/lib/box2d-2.1.2-r1a3-x86-gcc4-2011-05-26.zip
|
||||
$(baseURL)/lib/box2d-2.1.2-r1a4-x86-gcc4-2012-09-09.zip
|
||||
: : true ;
|
||||
} else {
|
||||
Echo "No optional package box2d available for $(TARGET_ARCH)-gcc2" ;
|
||||
@@ -67,11 +67,11 @@ if [ IsOptionalHaikuImagePackageAdded fribidi ] {
|
||||
Echo "No optional package fribidi available for $(TARGET_ARCH)" ;
|
||||
} else if $(HAIKU_GCC_VERSION[1]) >= 4 {
|
||||
InstallOptionalHaikuImagePackage
|
||||
$(baseURL)/lib/fribidi-0.19.2-r1a3-x86-gcc4-2011-05-26.zip
|
||||
$(baseURL)/lib/fribidi-0.19.2-r1a4-x86-gcc4-2012-09-01.zip
|
||||
: : true ;
|
||||
} else {
|
||||
InstallOptionalHaikuImagePackage
|
||||
$(baseURL)/lib/fribidi-0.19.2-r1a3-x86-gcc2-2011-05-19.zip
|
||||
$(baseURL)/lib/fribidi-0.19.2-r1a4-x86-gcc2-2012-08-29.zip
|
||||
: : true ;
|
||||
}
|
||||
}
|
||||
@@ -83,11 +83,11 @@ if [ IsOptionalHaikuImagePackageAdded lcms ] {
|
||||
Echo "No optional package lcms available for $(TARGET_ARCH)" ;
|
||||
} else if $(HAIKU_GCC_VERSION[1]) >= 4 {
|
||||
InstallOptionalHaikuImagePackage
|
||||
$(baseURL)/lib/lcms-2.1-r1a3-x86-gcc4-2011-05-26.zip
|
||||
$(baseURL)/lib/lcms-2.1-r1a4-x86-gcc4-2012-09-02.zip
|
||||
: : true ;
|
||||
} else {
|
||||
InstallOptionalHaikuImagePackage
|
||||
$(baseURL)/lib/lcms-2.1-r1a3-x86-gcc2-2011-05-19.zip
|
||||
$(baseURL)/lib/lcms-2.1-r1a4-x86-gcc2-2012-08-29.zip
|
||||
: : true ;
|
||||
}
|
||||
}
|
||||
@@ -99,11 +99,11 @@ if [ IsOptionalHaikuImagePackageAdded libart_lgpl ] {
|
||||
Echo "No optional package libart_lgpl available for $(TARGET_ARCH)" ;
|
||||
} else if $(HAIKU_GCC_VERSION[1]) >= 4 {
|
||||
InstallOptionalHaikuImagePackage
|
||||
$(baseURL)/lib/libart_lgpl-2.3.21-r1a3-x86-gcc4-2011-05-26.zip
|
||||
$(baseURL)/lib/libart_lgpl-2.3.21-r1a4-x86-gcc4-2012-09-02.zip
|
||||
: : true ;
|
||||
} else {
|
||||
InstallOptionalHaikuImagePackage
|
||||
$(baseURL)/lib/libart_lgpl-2.3.21-r1a3-x86-gcc2-2011-05-19.zip
|
||||
$(baseURL)/lib/libart_lgpl-2.3.21-r1a4-x86-gcc2-2012-08-29.zip
|
||||
: : true ;
|
||||
}
|
||||
}
|
||||
@@ -115,11 +115,11 @@ if [ IsOptionalHaikuImagePackageAdded libmad ] {
|
||||
Echo "No optional package libmad available for $(TARGET_ARCH)" ;
|
||||
} else if $(HAIKU_GCC_VERSION[1]) >= 4 {
|
||||
InstallOptionalHaikuImagePackage
|
||||
$(baseURL)/lib/libmad-0.15.1b-r1a3-x86-gcc4-2011-05-26.zip
|
||||
$(baseURL)/lib/libmad-0.15.1b-r1a4-x86-gcc4-2012-09-02.zip
|
||||
: : true ;
|
||||
} else {
|
||||
InstallOptionalHaikuImagePackage
|
||||
$(baseURL)/lib/libmad-0.15.1b-r1a3-x86-gcc2-2011-05-19.zip
|
||||
$(baseURL)/lib/libmad-0.15.1b-r1a4-x86-gcc2-2012-08-29.zip
|
||||
: : true ;
|
||||
}
|
||||
}
|
||||
@@ -131,11 +131,11 @@ if [ IsOptionalHaikuImagePackageAdded libmikmod ] {
|
||||
Echo "No optional package libmikmod available for $(TARGET_ARCH)" ;
|
||||
} else if $(HAIKU_GCC_VERSION[1]) >= 4 {
|
||||
InstallOptionalHaikuImagePackage
|
||||
$(baseURL)/lib/libmikmod-3.1.11-r1a3-x86-gcc4-2011-05-26.zip
|
||||
$(baseURL)/lib/libmikmod-3.1.11-r1a4-x86-gcc4-2012-09-02.zip
|
||||
: : true ;
|
||||
} else {
|
||||
InstallOptionalHaikuImagePackage
|
||||
$(baseURL)/lib/libmikmod-3.1.11-r1a3-x86-gcc2-2011-05-19.zip
|
||||
$(baseURL)/lib/libmikmod-3.1.11-r1a4-x86-gcc2-2012-08-29.zip
|
||||
: : true ;
|
||||
}
|
||||
}
|
||||
@@ -147,11 +147,11 @@ if [ IsOptionalHaikuImagePackageAdded libmodplug ] {
|
||||
Echo "No optional package libmodplug available for $(TARGET_ARCH)" ;
|
||||
} else if $(HAIKU_GCC_VERSION[1]) >= 4 {
|
||||
InstallOptionalHaikuImagePackage
|
||||
$(baseURL)/lib/libmodplug-0.8.8.1-r1a3-x86-gcc4-2011-05-26.zip
|
||||
$(baseURL)/lib/libmodplug-0.8.8.4-r1a4-x86-gcc4-2012-09-02.zip
|
||||
: : true ;
|
||||
} else {
|
||||
InstallOptionalHaikuImagePackage
|
||||
$(baseURL)/lib/libmodplug-0.8.8.1-r1a3-x86-gcc2-2011-05-19.zip
|
||||
$(baseURL)/lib/libmodplug-0.8.8.4-r1a4-x86-gcc2-2012-08-29.zip
|
||||
: : true ;
|
||||
}
|
||||
}
|
||||
@@ -163,11 +163,11 @@ if [ IsOptionalHaikuImagePackageAdded libpaper ] {
|
||||
Echo "No optional package libpaper available for $(TARGET_ARCH)" ;
|
||||
} else if $(HAIKU_GCC_VERSION[1]) >= 4 {
|
||||
InstallOptionalHaikuImagePackage
|
||||
$(baseURL)/lib/libpaper-1.1.24-r1a3-x86-gcc4-2011-05-26.zip
|
||||
$(baseURL)/lib/libpaper-1.1.24-r1a4-x86-gcc4-2012-09-01.zip
|
||||
: : true ;
|
||||
} else {
|
||||
InstallOptionalHaikuImagePackage
|
||||
$(baseURL)/lib/libpaper-1.1.24-r1a3-x86-gcc2-2011-05-19.zip
|
||||
$(baseURL)/lib/libpaper-1.1.24-r1a4-x86-gcc4-2012-09-01.zip
|
||||
: : true ;
|
||||
}
|
||||
}
|
||||
@@ -179,11 +179,11 @@ if [ IsOptionalHaikuImagePackageAdded physfs ] {
|
||||
Echo "No optional package physfs available for $(TARGET_ARCH)" ;
|
||||
} else if $(HAIKU_GCC_VERSION[1]) >= 4 {
|
||||
InstallOptionalHaikuImagePackage
|
||||
$(baseURL)/lib/physfs-2.0.1-r1a3-x86-gcc4-2011-05-26.zip
|
||||
$(baseURL)/lib/physfs-2.0.1-r1a4-x86-gcc4-2012-09-09.zip
|
||||
: : true ;
|
||||
} else {
|
||||
InstallOptionalHaikuImagePackage
|
||||
$(baseURL)/lib/physfs-2.0.1-r1a3-x86-gcc2-2011-05-19.zip
|
||||
$(baseURL)/lib/physfs-2.0.1-r1a4-x86-gcc2-2012-08-29.zip
|
||||
: : true ;
|
||||
}
|
||||
}
|
||||
@@ -195,54 +195,54 @@ if [ IsOptionalHaikuImagePackageAdded SDLLibs ] {
|
||||
Echo "No optional package SDLLibs available for $(TARGET_ARCH)" ;
|
||||
} else if $(HAIKU_GCC_VERSION[1]) >= 4 {
|
||||
InstallOptionalHaikuImagePackage
|
||||
$(baseURL)/lib/libsdl-1.2-hg-r1a3-x86-gcc4-2011-05-29.zip ;
|
||||
$(baseURL)/lib/libsdl-1.2.15-r1a4-x86-gcc4-2012-09-02.zip ;
|
||||
InstallOptionalHaikuImagePackage
|
||||
$(baseURL)/lib/guilib-1.2.1-r1a3-x86-gcc4-2011-05-26.zip ;
|
||||
$(baseURL)/lib/guilib-1.2.1-r1a4-x86-gcc4-2012-09-02.zip ;
|
||||
InstallOptionalHaikuImagePackage
|
||||
$(baseURL)/lib/sdl-gfx-2.0.22-r1a3-x86-gcc4-2011-05-26.zip ;
|
||||
$(baseURL)/lib/sdl-gfx-2.0.23-r1a4-x86-gcc4-2012-09-02.zip ;
|
||||
InstallOptionalHaikuImagePackage
|
||||
$(baseURL)/lib/sdl-image-1.2.10-r1a3-x86-gcc4-2011-05-26.zip ;
|
||||
$(baseURL)/lib/sdl-image-1.2.12-r1a4-x86-gcc4-2012-09-02.zip ;
|
||||
InstallOptionalHaikuImagePackage
|
||||
$(baseURL)/lib/sdl-mixer-1.2.11-r1a3-x86-gcc4-2011-05-26.zip ;
|
||||
$(baseURL)/lib/sdl-mixer-1.2.11-r1a4-x86-gcc4-2012-09-02.zip ;
|
||||
InstallOptionalHaikuImagePackage
|
||||
$(baseURL)/lib/sdl-net-1.2.7-r1a3-x86-gcc4-2011-05-26.zip ;
|
||||
$(baseURL)/lib/sdl-net-1.2.8-r1a4-x86-gcc4-2012-09-02.zip ;
|
||||
InstallOptionalHaikuImagePackage
|
||||
$(baseURL)/lib/sdl-sound-1.0.3-r1a3-x86-gcc4-2011-05-26.zip ;
|
||||
$(baseURL)/lib/sdl-sound-1.0.3-r1a4-x86-gcc4-2012-09-02.zip ;
|
||||
InstallOptionalHaikuImagePackage
|
||||
$(baseURL)/lib/sdl-rtf-0.1.0-r1a3-x86-gcc4-2011-05-26.zip ;
|
||||
$(baseURL)/lib/sdl-rtf-0.1.0-r1a4-x86-gcc4-2012-09-03.zip ;
|
||||
InstallOptionalHaikuImagePackage
|
||||
$(baseURL)/lib/sdl-ttf-2.0.10-r1a3-x86-gcc4-2011-05-26.zip ;
|
||||
$(baseURL)/lib/sdl-ttf-2.0.11-r1a4-x86-gcc4-2012-09-02.zip ;
|
||||
InstallOptionalHaikuImagePackage
|
||||
$(baseURL)/lib/sge-030809-r1a3-x86-gcc4-2011-05-26.zip ;
|
||||
$(baseURL)/lib/sge-030809-r1a4-x86-gcc4-2012-09-02.zip ;
|
||||
InstallOptionalHaikuImagePackage
|
||||
$(baseURL)/lib/smjpeg-0.2.1-r1a3-x86-gcc4-2011-05-26.zip ;
|
||||
$(baseURL)/lib/smjpeg-0.2.1-r1a4-x86-gcc4-2012-09-02.zip ;
|
||||
InstallOptionalHaikuImagePackage
|
||||
$(baseURL)/lib/smpeg-0.4.5-r1a3-x86-gcc4-2011-05-26.zip ;
|
||||
$(baseURL)/lib/smpeg-0.4.5-r1a4-x86-gcc4-2012-09-02.zip ;
|
||||
} else {
|
||||
InstallOptionalHaikuImagePackage
|
||||
$(baseURL)/lib/libsdl-1.2-hg-r1a3-x86-gcc2-2011-05-29.zip ;
|
||||
$(baseURL)/lib/libsdl-1.2.15-r1a4-x86-gcc2-2012-08-29.zip ;
|
||||
InstallOptionalHaikuImagePackage
|
||||
$(baseURL)/lib/guilib-1.2.1-r1a3-x86-gcc2-2011-05-19.zip ;
|
||||
$(baseURL)/lib/guilib-1.2.1-r1a4-x86-gcc2-2012-08-29.zip ;
|
||||
InstallOptionalHaikuImagePackage
|
||||
$(baseURL)/lib/sdl-gfx-2.0.22-r1a3-x86-gcc2-2011-05-19.zip ;
|
||||
$(baseURL)/lib/sdl-gfx-2.0.23-r1a4-x86-gcc2-2012-08-29.zip ;
|
||||
InstallOptionalHaikuImagePackage
|
||||
$(baseURL)/lib/sdl-image-1.2.10-r1a3-x86-gcc2-2011-05-19.zip ;
|
||||
$(baseURL)/lib/sdl-image-1.2.12-r1a4-x86-gcc2-2012-08-29.zip ;
|
||||
InstallOptionalHaikuImagePackage
|
||||
$(baseURL)/lib/sdl-mixer-1.2.11-r1a3-x86-gcc2-2011-05-19.zip ;
|
||||
$(baseURL)/lib/sdl-mixer-1.2.11-r1a4-x86-gcc2-2012-08-29.zip ;
|
||||
InstallOptionalHaikuImagePackage
|
||||
$(baseURL)/lib/sdl-net-1.2.7-r1a3-x86-gcc2-2011-05-19.zip ;
|
||||
$(baseURL)/lib/sdl-net-1.2.8-r1a4-x86-gcc2-2012-08-29.zip ;
|
||||
InstallOptionalHaikuImagePackage
|
||||
$(baseURL)/lib/sdl-sound-1.0.3-r1a3-x86-gcc2-2011-05-19.zip ;
|
||||
$(baseURL)/lib/sdl-sound-1.0-hg-r1a4-x86-gcc2-2012-08-30.zip ;
|
||||
InstallOptionalHaikuImagePackage
|
||||
$(baseURL)/lib/sdl-rtf-0.1.0-r1a3-x86-gcc2-2011-05-20.zip ;
|
||||
InstallOptionalHaikuImagePackage
|
||||
$(baseURL)/lib/sdl-ttf-2.0.10-r1a3-x86-gcc2-2011-05-19.zip ;
|
||||
$(baseURL)/lib/sdl-ttf-2.0.11-r1a4-x86-gcc2-2012-08-29.zip ;
|
||||
InstallOptionalHaikuImagePackage
|
||||
$(baseURL)/lib/sge-030809-r1a3-x86-gcc2-2011-05-19.zip ;
|
||||
$(baseURL)/lib/sge-030809-r1a4-x86-gcc2-2012-08-29.zip ;
|
||||
InstallOptionalHaikuImagePackage
|
||||
$(baseURL)/lib/smjpeg-0.2.1-r1a3-x86-gcc2-2011-05-19.zip ;
|
||||
$(baseURL)/lib/smjpeg-0.2.1-r1a4-x86-gcc2-2012-08-29.zip ;
|
||||
InstallOptionalHaikuImagePackage
|
||||
$(baseURL)/lib/smpeg-0.4.5-r1a3-x86-gcc2-2011-05-20.zip ;
|
||||
$(baseURL)/lib/smpeg-0.4.5-r1a4-x86-gcc2-2012-08-29.zip ;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -253,34 +253,34 @@ if [ IsOptionalHaikuImagePackageAdded XiphLibs ] {
|
||||
Echo "No optional package XiphLibs available for $(TARGET_ARCH)" ;
|
||||
} else if $(HAIKU_GCC_VERSION[1]) >= 4 {
|
||||
InstallOptionalHaikuImagePackage
|
||||
$(baseURL)/lib/flac-1.2.1-r1a3-x86-gcc4-2011-05-26.zip ;
|
||||
$(baseURL)/lib/flac-1.2.1-r1a4-x86-gcc4-2012-09-02.zip ;
|
||||
InstallOptionalHaikuImagePackage
|
||||
$(baseURL)/lib/libao-1.0.0-r1a3-x86-gcc4-2011-05-26.zip ;
|
||||
$(baseURL)/lib/libao-1.0.0-r1a4-x86-gcc4-2012-09-02.zip ;
|
||||
InstallOptionalHaikuImagePackage
|
||||
$(baseURL)/lib/libogg-1.2.2-r1a3-x86-gcc4-2011-05-26.zip ;
|
||||
$(baseURL)/lib/libogg-1.3.0-r1a4-x86-gcc4-2012-09-02.zip ;
|
||||
InstallOptionalHaikuImagePackage
|
||||
$(baseURL)/lib/libtheora-1.1.1-r1a3-x86-gcc4-2011-05-26.zip ;
|
||||
$(baseURL)/lib/libtheora-1.1.1-r1a4-x86-gcc4-2012-09-02.zip ;
|
||||
InstallOptionalHaikuImagePackage
|
||||
$(baseURL)/lib/libvorbis-1.3.2-r1a3-x86-gcc4-2011-05-26.zip ;
|
||||
$(baseURL)/lib/libvorbis-1.3.2-r1a4-x86-gcc4-2012-09-02.zip ;
|
||||
InstallOptionalHaikuImagePackage
|
||||
$(baseURL)/lib/speex-1.2-git-r1a3-x86-gcc4-2011-05-26.zip ;
|
||||
$(baseURL)/lib/speex-1.2rc1-r1a4-x86-gcc4-2012-09-02.zip ;
|
||||
InstallOptionalHaikuImagePackage
|
||||
$(baseURL)/lib/vorbis-tools-1.4.0-r1a3-x86-gcc4-2011-05-26.zip ;
|
||||
$(baseURL)/lib/vorbis-tools-1.4.0-r1a4-x86-gcc4-2012-09-02.zip ;
|
||||
} else {
|
||||
InstallOptionalHaikuImagePackage
|
||||
$(baseURL)/lib/flac-1.2.1-r1a3-x86-gcc2-2011-05-19.zip ;
|
||||
$(baseURL)/lib/flac-1.2.1-r1a4-x86-gcc2-2012-08-29.zip ;
|
||||
InstallOptionalHaikuImagePackage
|
||||
$(baseURL)/lib/libao-1.0.0-r1a3-x86-gcc2-2011-05-19.zip ;
|
||||
$(baseURL)/lib/libao-1.0.0-r1a4-x86-gcc2-2012-08-29.zip ;
|
||||
InstallOptionalHaikuImagePackage
|
||||
$(baseURL)/lib/libogg-1.2.2-r1a3-x86-gcc2-2011-05-19.zip ;
|
||||
$(baseURL)/lib/libogg-1.3.0-r1a4-x86-gcc2-2012-08-29.zip ;
|
||||
InstallOptionalHaikuImagePackage
|
||||
$(baseURL)/lib/libtheora-1.1.1-r1a3-x86-gcc2-2011-05-19.zip ;
|
||||
$(baseURL)/lib/libtheora-1.1.1-r1a4-x86-gcc2-2012-08-29.zip ;
|
||||
InstallOptionalHaikuImagePackage
|
||||
$(baseURL)/lib/libvorbis-1.3.2-r1a3-x86-gcc2-2011-05-19.zip ;
|
||||
$(baseURL)/lib/libvorbis-1.3.2-r1a4-x86-gcc2-2012-08-29.zip ;
|
||||
InstallOptionalHaikuImagePackage
|
||||
$(baseURL)/lib/speex-1.2-git-r1a3-x86-gcc2-2011-05-26.zip ;
|
||||
$(baseURL)/lib/speex-1.2rc1-r1a4-x86-gcc2-2012-08-29.zip ;
|
||||
InstallOptionalHaikuImagePackage
|
||||
$(baseURL)/lib/vorbis-tools-1.4.0-r1a3-x86-gcc2-2011-05-19.zip ;
|
||||
$(baseURL)/lib/vorbis-tools-1.4.0-r1a4-x86-gcc2-2012-08-29.zip ;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
|
||||
# package dependencies
|
||||
#
|
||||
# For transitive dependencies dependants should be listed before their
|
||||
# For transitive dependencies dependents should be listed before their
|
||||
# dependencies.
|
||||
|
||||
OptionalPackageDependencies APR-util : APR Expat ;
|
||||
@@ -10,15 +10,19 @@ OptionalPackageDependencies ArmyKnife : TagLib ;
|
||||
OptionalPackageDependencies Beam : LibIconv LibLayout OpenSSL PCRE ;
|
||||
OptionalPackageDependencies BeHappy : BeBook NetSurf ;
|
||||
OptionalPackageDependencies BurnItNow : CDRecord ;
|
||||
OptionalPackageDependencies CDRecord : LibIconv ;
|
||||
OptionalPackageDependencies Caya : Expat ;
|
||||
OptionalPackageDependencies CDRecord : GetText LibIconv ;
|
||||
OptionalPackageDependencies Curl : OpenSSL ;
|
||||
OptionalPackageDependencies DevelopmentBase : CDRecord DevelopmentMin Yasm ;
|
||||
OptionalPackageDependencies Development : DevelopmentBase Perl ;
|
||||
OptionalPackageDependencies DevelopmentPowerPC : DevelopmentMin ;
|
||||
OptionalPackageDependencies GetText : LibIconv ;
|
||||
OptionalPackageDependencies Git : Expat Curl OpenSSL LibIconv ;
|
||||
OptionalPackageDependencies GitDoc : Man Git ;
|
||||
OptionalPackageDependencies ICU-devel : DevelopmentBase ;
|
||||
OptionalPackageDependencies LibEdit : NCurses ;
|
||||
OptionalPackageDependencies LibLayout : DevelopmentBase ;
|
||||
OptionalPackageDependencies LibXML2 : XZ-Utils ;
|
||||
OptionalPackageDependencies Man : Groff ;
|
||||
OptionalPackageDependencies Tar : LibIconv ;
|
||||
OptionalPackageDependencies Python : Bzip ;
|
||||
@@ -28,15 +32,17 @@ OptionalPackageDependencies Neon : LibXML2 ;
|
||||
OptionalPackageDependencies NetFS : UserlandFS ;
|
||||
OptionalPackageDependencies NetSurf : OpenSSL Curl LibXML2 LibIconv Libmng ;
|
||||
OptionalPackageDependencies OpenSSH : OpenSSL ;
|
||||
OptionalPackageDependencies Paladin : CCache Fastdep ;
|
||||
OptionalPackageDependencies OpenSSL : CARootCertificates ;
|
||||
OptionalPackageDependencies Paladin : CCache Fastdep PCRE ;
|
||||
OptionalPackageDependencies Pe : PCRE ;
|
||||
OptionalPackageDependencies Readline : NCurses ;
|
||||
OptionalPackageDependencies SDLLibs : XiphLibs libmad libmikmod Libmng libmodplug physfs ;
|
||||
OptionalPackageDependencies Subversion : APR-util Neon LibIconv LibXML2 OpenSSL SQLite ;
|
||||
OptionalPackageDependencies Transmission : LibEvent Curl OpenSSL LibIconv ;
|
||||
OptionalPackageDependencies Vim : GetText LibIconv ;
|
||||
OptionalPackageDependencies WebPositive : Curl LibXML2 SQLite ;
|
||||
OptionalPackageDependencies WebPositive : Curl LibXML2 SQLite WebKit WebPositiveBookmarks ;
|
||||
OptionalPackageDependencies wpa_supplicant : OpenSSL ;
|
||||
OptionalPackageDependencies XZ-Utils : Tar ;
|
||||
|
||||
OptionalPackageDependencies MandatoryPackages : ICU LibSolv Sed Tar ;
|
||||
OptionalPackageDependencies MandatoryPackages
|
||||
: Bzip Ctags Grep ICU LibSolv Sed Tar ;
|
||||
|
||||
+768
-305
File diff suppressed because it is too large
Load Diff
@@ -16,20 +16,17 @@ switch $(HAIKU_BUILD_PROFILE) {
|
||||
HAIKU_ROOT_USER_REAL_NAME = "Yourself" ;
|
||||
AddGroupToHaikuImage party : 101 : user sshd ;
|
||||
HAIKU_IMAGE_HOST_NAME = shredder ;
|
||||
HAIKU_IMAGE_SIZE = 750 ;
|
||||
HAIKU_STRIP_DEBUG_FROM_OPTIONAL_PACKAGES = 1 ;
|
||||
HAIKU_IMAGE_SIZE = 800 ;
|
||||
|
||||
AddOptionalHaikuImagePackages TimGMSoundFont WQY-MicroHei ;
|
||||
AddOptionalHaikuImagePackages BePDF Pe Vision
|
||||
WebPositive WonderBrush ;
|
||||
AddOptionalHaikuImagePackages CVS Development Git Mercurial
|
||||
Python Subversion OpenSSH OpenSSL ;
|
||||
AddOptionalHaikuImagePackages Nano P7zip Welcome BeBook XZ-Utils ;
|
||||
|
||||
local releaseNotesURL = http://dev.haiku-os.org/wiki/R1/Alpha3/ReleaseNotes?format=txt ;
|
||||
local releaseNotesName = "Release Notes" ;
|
||||
local releaseNotesFile = [ DownloadFile $(releaseNotesName) : $(releaseNotesURL) ] ;
|
||||
AddFilesToHaikuImage home Desktop : $(releaseNotesFile) ;
|
||||
AddOptionalHaikuImagePackages KeymapSwitcher Nano P7zip Welcome
|
||||
BeBook XZ-Utils ;
|
||||
AddOptionalHaikuImagePackages wpa_supplicant ;
|
||||
}
|
||||
|
||||
case "beta-*" : {
|
||||
@@ -41,12 +38,13 @@ switch $(HAIKU_BUILD_PROFILE) {
|
||||
HAIKU_ROOT_USER_NAME = user ;
|
||||
HAIKU_ROOT_USER_REAL_NAME = "Yourself" ;
|
||||
AddGroupToHaikuImage party : 101 : user sshd ;
|
||||
HAIKU_IMAGE_HOST_NAME = shredder ;
|
||||
HAIKU_IMAGE_SIZE = 500 ;
|
||||
HAIKU_STRIP_DEBUG_FROM_OPTIONAL_PACKAGES = 1 ;
|
||||
HAIKU_IMAGE_HOST_NAME = shredder ;
|
||||
HAIKU_IMAGE_SIZE = 600 ;
|
||||
|
||||
AddOptionalHaikuImagePackages Pe Nano Vision P7zip XZ-Utils ;
|
||||
AddOptionalHaikuImagePackages Development Subversion OpenSSH OpenSSL ;
|
||||
AddOptionalHaikuImagePackages Development Git OpenSSH OpenSSL ;
|
||||
AddOptionalHaikuImagePackages wpa_supplicant WebPositive ;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -63,6 +63,7 @@ HAIKU_IMAGE_DIR = /tmp ;
|
||||
HAIKU_IMAGE_SIZE = 100 ;
|
||||
|
||||
# Enable stripping the debug symbols from optional packages.
|
||||
# Note, some optional packages may override this to prevent stripping.
|
||||
HAIKU_STRIP_DEBUG_FROM_OPTIONAL_PACKAGES = 1 ;
|
||||
|
||||
# Set image volume label to "Walter". Default label is "Haiku".
|
||||
|
||||
@@ -13,6 +13,9 @@ HAIKU_BOARD_LOADER_BASE = 0x80008000 ;
|
||||
HAIKU_BOARD_LOADER_ENTRY_RAW = 0x80008000 ;
|
||||
HAIKU_BOARD_LOADER_ENTRY_NBSD = 0x80008008 ;
|
||||
|
||||
HAIKU_BOARD_LOADER_ENTRY = $(HAIKU_BOARD_LOADER_ENTRY_NBSD) ;
|
||||
HAIKU_BOARD_LOADER_FAKE_OS = netbsd ;
|
||||
|
||||
# load address for haiku_loader uimage
|
||||
# (must be different than real load address)
|
||||
HAIKU_BOARD_LOADER_UIBASE = 0x84000000 ;
|
||||
@@ -59,9 +62,9 @@ HAIKU_BOARD_SDIMAGE_FILES =
|
||||
# gcc flags for the specific cpu
|
||||
#
|
||||
|
||||
TARGET_KERNEL_CCFLAGS += -mcpu=cortex-a8 -mfpu=vfp -mfloat-abi=soft ;
|
||||
TARGET_KERNEL_C++FLAGS += -mcpu=cortex-a8 -mfpu=vfp -mfloat-abi=soft ;
|
||||
TARGET_CCFLAGS += -mcpu=cortex-a8 -mfpu=vfp -mfloat-abi=soft ;
|
||||
TARGET_C++FLAGS += -mcpu=cortex-a8 -mfpu=vfp -mfloat-abi=soft ;
|
||||
HAIKU_KERNEL_CCFLAGS += -mcpu=cortex-a8 -mfpu=vfp -mfloat-abi=soft ;
|
||||
HAIKU_KERNEL_C++FLAGS += -mcpu=cortex-a8 -mfpu=vfp -mfloat-abi=soft ;
|
||||
HAIKU_CCFLAGS += -mcpu=cortex-a8 -mfpu=vfp -mfloat-abi=soft ;
|
||||
HAIKU_C++FLAGS += -mcpu=cortex-a8 -mfpu=vfp -mfloat-abi=soft ;
|
||||
|
||||
|
||||
|
||||
@@ -12,6 +12,9 @@ HAIKU_BOARD_LOADER_BASE = 0x32000000 ;
|
||||
HAIKU_BOARD_LOADER_ENTRY_RAW = 0x32000000 ;
|
||||
HAIKU_BOARD_LOADER_ENTRY_NBSD = 0x32000008 ;
|
||||
|
||||
HAIKU_BOARD_LOADER_ENTRY = $(HAIKU_BOARD_LOADER_ENTRY_NBSD) ;
|
||||
HAIKU_BOARD_LOADER_FAKE_OS = netbsd ;
|
||||
|
||||
# load address for haiku_loader uimage
|
||||
# (must be different than real load address)
|
||||
HAIKU_BOARD_LOADER_UIBASE = 0x34000000 ;
|
||||
@@ -66,17 +69,17 @@ HAIKU_BOARD_SDIMAGE_FILES =
|
||||
# gcc flags for the specific cpu
|
||||
#
|
||||
|
||||
TARGET_KERNEL_CCFLAGS += -mcpu=arm920t ;
|
||||
TARGET_KERNEL_C++FLAGS += -mcpu=arm920t ;
|
||||
TARGET_CCFLAGS += -mcpu=arm920t ;
|
||||
TARGET_C++FLAGS += -mcpu=arm920t ;
|
||||
HAIKU_KERNEL_CCFLAGS += -mcpu=arm920t ;
|
||||
HAIKU_KERNEL_C++FLAGS += -mcpu=arm920t ;
|
||||
HAIKU_CCFLAGS += -mcpu=arm920t ;
|
||||
HAIKU_C++FLAGS += -mcpu=arm920t ;
|
||||
|
||||
# Workaround for ld using 32k for alignment despite forcing it in the config...
|
||||
# should definitely not be needed!
|
||||
TARGET_KERNEL_LINKFLAGS +=
|
||||
HAIKU_KERNEL_LINKFLAGS +=
|
||||
-Wl,-z -Wl,max-page-size=0x1000
|
||||
-Wl,-z -Wl,common-page-size=0x1000 ;
|
||||
TARGET_LINKFLAGS +=
|
||||
HAIKU_LINKFLAGS +=
|
||||
-Wl,-z -Wl,max-page-size=0x1000
|
||||
-Wl,-z -Wl,common-page-size=0x1000 ;
|
||||
|
||||
|
||||
@@ -13,6 +13,9 @@ HAIKU_BOARD_LOADER_BASE = 0x80008000 ;
|
||||
HAIKU_BOARD_LOADER_ENTRY_RAW = 0x80008000 ;
|
||||
HAIKU_BOARD_LOADER_ENTRY_NBSD = 0x80008008 ;
|
||||
|
||||
HAIKU_BOARD_LOADER_ENTRY = $(HAIKU_BOARD_LOADER_ENTRY_NBSD) ;
|
||||
HAIKU_BOARD_LOADER_FAKE_OS = netbsd ;
|
||||
|
||||
# load address for haiku_loader uimage
|
||||
# (must be different than real load address)
|
||||
HAIKU_BOARD_LOADER_UIBASE = 0x84000000 ;
|
||||
@@ -55,9 +58,9 @@ HAIKU_BOARD_SDIMAGE_FILES =
|
||||
# gcc flags for the specific cpu
|
||||
#
|
||||
|
||||
TARGET_KERNEL_CCFLAGS += -mcpu=cortex-a8 -mfpu=vfp -mfloat-abi=soft ;
|
||||
TARGET_KERNEL_C++FLAGS += -mcpu=cortex-a8 -mfpu=vfp -mfloat-abi=soft ;
|
||||
TARGET_CCFLAGS += -mcpu=cortex-a8 -mfpu=vfp -mfloat-abi=soft ;
|
||||
TARGET_C++FLAGS += -mcpu=cortex-a8 -mfpu=vfp -mfloat-abi=soft ;
|
||||
HAIKU_KERNEL_CCFLAGS += -mcpu=cortex-a8 -mfpu=vfp -mfloat-abi=soft ;
|
||||
HAIKU_KERNEL_C++FLAGS += -mcpu=cortex-a8 -mfpu=vfp -mfloat-abi=soft ;
|
||||
HAIKU_CCFLAGS += -mcpu=cortex-a8 -mfpu=vfp -mfloat-abi=soft ;
|
||||
HAIKU_C++FLAGS += -mcpu=cortex-a8 -mfpu=vfp -mfloat-abi=soft ;
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,62 @@
|
||||
# Raspberry Pi board-specific definitions
|
||||
|
||||
HAIKU_BOARD_DESCRIPTION = "Raspberry Pi" ;
|
||||
HAIKU_BOOT_PLATFORM = raspberrypi_arm ;
|
||||
|
||||
#
|
||||
# Various hardcoded addresses
|
||||
#
|
||||
|
||||
HAIKU_BOARD_LOADER_BASE = 0x0 ;
|
||||
|
||||
HAIKU_BOARD_BOOT_ARCHIVE_BASE = 0x04000000 ;
|
||||
HAIKU_BOARD_BOOT_ARCHIVE_SIZE = 0x00400000 ;
|
||||
# TODO: needs to be configured in the config.txt
|
||||
# ramfsfile=haiku-floppyboot.tgz and ramfsaddr=x
|
||||
|
||||
#
|
||||
# Flash image
|
||||
#
|
||||
|
||||
# N/A for Raspberry Pi
|
||||
|
||||
#
|
||||
# mmc/SD image
|
||||
#
|
||||
|
||||
HAIKU_BOARD_FIRMWARE_URL = http://github.com/raspberrypi/firmware/raw/master/boot/ ;
|
||||
HAIKU_BOARD_FIRMWARE_FILES =
|
||||
bootcode.bin
|
||||
loader.bin
|
||||
arm224_start.elf # start.elf
|
||||
LICENSE.broadcom
|
||||
;
|
||||
|
||||
# in MB
|
||||
HAIKU_BOARD_SDIMAGE_FAT_SIZE = 32 ;
|
||||
HAIKU_BOARD_SDIMAGE_FAT_FILES =
|
||||
$(HAIKU_BOARD_FIRMWARE_FILES)
|
||||
haiku_loader
|
||||
;
|
||||
|
||||
# in MB
|
||||
HAIKU_BOARD_SDIMAGE_SIZE = 256 ;
|
||||
|
||||
#
|
||||
# gcc flags for the specific cpu
|
||||
#
|
||||
|
||||
HAIKU_KERNEL_CCFLAGS += -mtune=arm1176jzf-s ;
|
||||
HAIKU_KERNEL_C++FLAGS += -mtune=arm1176jzf-s ;
|
||||
HAIKU_CCFLAGS += -mtune=arm1176jzf-s ;
|
||||
HAIKU_C++FLAGS += -mtune=arm1176jzf-s ;
|
||||
|
||||
# Workaround for ld using 32k for alignment despite forcing it in the config...
|
||||
# should definitely not be needed!
|
||||
HAIKU_KERNEL_LINKFLAGS +=
|
||||
-Wl,-z -Wl,max-page-size=0x1000
|
||||
-Wl,-z -Wl,common-page-size=0x1000 ;
|
||||
HAIKU_LINKFLAGS +=
|
||||
-Wl,-z -Wl,max-page-size=0x1000
|
||||
-Wl,-z -Wl,common-page-size=0x1000 ;
|
||||
|
||||
@@ -0,0 +1,25 @@
|
||||
##### CPU Speed
|
||||
#arm_freq 700
|
||||
|
||||
##### Memory layout
|
||||
#gpu_mem 64
|
||||
|
||||
# Memory based on model.. overrides gpu_mem
|
||||
#gpu_mem_256 64
|
||||
#gpu_mem_512 64
|
||||
|
||||
##### Low level
|
||||
kernel=haiku_loader
|
||||
kernel_address=0x0
|
||||
ramfsfile=haiku-floppyboot.tgz
|
||||
ramfsaddr=0x04000000
|
||||
|
||||
# Skip boot tags for non-linux platforms
|
||||
disable_commandline_tags=1
|
||||
#device_tree=bcm2835.dtb
|
||||
#device_tree_address=0x100
|
||||
|
||||
##### UART Settings
|
||||
# Default is 115200
|
||||
#init_uart_baud=9600
|
||||
#init_uart_clock=
|
||||
@@ -0,0 +1,39 @@
|
||||
# ACube SAM460ex board-specific definitions
|
||||
|
||||
HAIKU_BOARD_DESCRIPTION = "ACube Sam460ex" ;
|
||||
|
||||
# must force both since they are set before this file is read.
|
||||
HAIKU_BOOT_PLATFORM = u-boot ;
|
||||
|
||||
#FIXME!!!!!!!!!!!!!!!
|
||||
#
|
||||
# Various hardcoded addresses
|
||||
#
|
||||
|
||||
# load address for haiku_loader
|
||||
# HAIKU_BOARD_LOADER_BASE = 0x00000000 ;
|
||||
# for debugging:
|
||||
HAIKU_BOARD_LOADER_BASE = 0x02000000 ;
|
||||
# entry points (raw binary, and netbsd loader emulation)
|
||||
HAIKU_BOARD_LOADER_ENTRY_LINUX = 0x02000000 ;
|
||||
|
||||
HAIKU_BOARD_LOADER_ENTRY = $(HAIKU_BOARD_LOADER_ENTRY_LINUX) ;
|
||||
HAIKU_BOARD_LOADER_FAKE_OS = linux ;
|
||||
|
||||
# load address for haiku_loader uimage
|
||||
# (must be different than real load address)
|
||||
HAIKU_BOARD_LOADER_UIBASE = 0x02000000 ;
|
||||
|
||||
HAIKU_BOARD_LOADER_STACK_BASE = 0x02000000 ;
|
||||
|
||||
#
|
||||
# gcc flags for the specific cpu
|
||||
#
|
||||
|
||||
HAIKU_KERNEL_PIC_CCFLAGS += -mcpu=440fp -mtune=440fp ;
|
||||
HAIKU_KERNEL_PIC_C++FLAGS += -mcpu=440fp -mtune=440fp ;
|
||||
HAIKU_KERNEL_CCFLAGS += -mcpu=440fp -mtune=440fp ;
|
||||
HAIKU_KERNEL_C++FLAGS += -mcpu=440fp -mtune=440fp ;
|
||||
HAIKU_CCFLAGS += -mcpu=440fp -mtune=440fp ;
|
||||
HAIKU_C++FLAGS += -mcpu=440fp -mtune=440fp ;
|
||||
|
||||
@@ -12,6 +12,9 @@ HAIKU_BOARD_LOADER_BASE = 0xa2000000 ;
|
||||
HAIKU_BOARD_LOADER_ENTRY_RAW = 0xa2000000 ;
|
||||
HAIKU_BOARD_LOADER_ENTRY_NBSD = 0xa2000008 ;
|
||||
|
||||
HAIKU_BOARD_LOADER_ENTRY = $(HAIKU_BOARD_LOADER_ENTRY_NBSD) ;
|
||||
HAIKU_BOARD_LOADER_FAKE_OS = netbsd ;
|
||||
|
||||
# load address for haiku_loader uimage
|
||||
# (must be different than real load address)
|
||||
HAIKU_BOARD_LOADER_UIBASE = 0xa4000000 ;
|
||||
@@ -65,17 +68,17 @@ HAIKU_BOARD_SDIMAGE_FILES =
|
||||
# gcc flags for the specific cpu
|
||||
#
|
||||
|
||||
TARGET_KERNEL_CCFLAGS += -mcpu=xscale ;
|
||||
TARGET_KERNEL_C++FLAGS += -mcpu=xscale ;
|
||||
TARGET_CCFLAGS += -mcpu=xscale ;
|
||||
TARGET_C++FLAGS += -mcpu=xscale ;
|
||||
HAIKU_KERNEL_CCFLAGS += -mcpu=xscale ;
|
||||
HAIKU_KERNEL_C++FLAGS += -mcpu=xscale ;
|
||||
HAIKU_CCFLAGS += -mcpu=xscale ;
|
||||
HAIKU_C++FLAGS += -mcpu=xscale ;
|
||||
|
||||
# Workaround for ld using 32k for alignment despite forcing it in the config...
|
||||
# should definitely not be needed!
|
||||
TARGET_KERNEL_LINKFLAGS +=
|
||||
HAIKU_KERNEL_LINKFLAGS +=
|
||||
-Wl,-z -Wl,max-page-size=0x1000
|
||||
-Wl,-z -Wl,common-page-size=0x1000 ;
|
||||
TARGET_LINKFLAGS +=
|
||||
HAIKU_LINKFLAGS +=
|
||||
-Wl,-z -Wl,max-page-size=0x1000
|
||||
-Wl,-z -Wl,common-page-size=0x1000 ;
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
|
||||
# Parameters <haiku sourcedir> <buildtools dir> <haiku output dir>
|
||||
# Influential environmental variable:
|
||||
# * haikuRequiredLegacyGCCVersion: The requrired version of the gcc. Will be
|
||||
# * haikuRequiredLegacyGCCVersion: The required version of the gcc. Will be
|
||||
# checked against the version in the buildtools directory.
|
||||
|
||||
# get and check the parameters
|
||||
@@ -89,6 +89,15 @@ mkdir -p $installDir $objDir $binutilsObjDir $gccObjDir $tmpIncludeDir \
|
||||
$tmpLibDir || exit 1
|
||||
mkdir -p $installDir/lib/gcc-lib/i586-pc-haiku/$haikuRequiredLegacyGCCVersion
|
||||
|
||||
# force the POSIX locale, as the build (makeinfo) might choke otherwise
|
||||
export LC_ALL=POSIX
|
||||
|
||||
# drop an multiple job arguments from MAKEFLAGS
|
||||
if [ ! -z "$MAKEFLAGS" ]; then
|
||||
export MAKEFLAGS=$(echo $MAKEFLAGS | sed -e 's/-j\s*[0-9][0-9]*//g')
|
||||
fi
|
||||
|
||||
|
||||
# build binutils
|
||||
cd $binutilsObjDir
|
||||
CFLAGS="-O2" CXXFLAGS="-O2" $buildToolsDir/binutils/configure \
|
||||
@@ -109,7 +118,7 @@ copy_headers()
|
||||
sourceDir=$1
|
||||
targetDir=$2
|
||||
|
||||
headers="`find $sourceDir -name \*\.h | grep -v /.svn`"
|
||||
headers="`find $sourceDir -name \*\.h`"
|
||||
headers="`echo $headers | sed -e s@$sourceDir/@@g`"
|
||||
for f in $headers; do
|
||||
headerTargetDir=$targetDir/`dirname $f`
|
||||
@@ -122,13 +131,26 @@ copy_headers $haikuSourceDir/headers/config $tmpIncludeDir/config
|
||||
copy_headers $haikuSourceDir/headers/os $tmpIncludeDir/os
|
||||
copy_headers $haikuSourceDir/headers/posix $tmpIncludeDir/posix
|
||||
|
||||
# Touch some files generated by bison, so that bison won't run to update them.
|
||||
# Fixes issues with newer bison versions.
|
||||
# And while at it, touch gperf target, too (as gperf may not be installed)
|
||||
(cd $buildToolsDir/gcc/gcc; touch c-parse.c c-parse.h cexp.c cp/parse.c \
|
||||
cp/parse.h c-gperf.h)
|
||||
|
||||
# configure gcc
|
||||
cd $gccObjDir
|
||||
case `uname` in
|
||||
Darwin)
|
||||
# GCC 2 compiled for x86_64 OS X is broken, compile for i386.
|
||||
export CC="gcc -arch i386"
|
||||
;;
|
||||
esac
|
||||
CFLAGS="-O2 -U_FORTIFY_SOURCE" CXXFLAGS="-O2" $buildToolsDir/gcc/configure \
|
||||
--prefix=$installDir \
|
||||
--target=i586-pc-haiku --disable-nls --enable-shared=yes \
|
||||
--enable-languages=c,c++ --with-headers=$tmpIncludeDir \
|
||||
--with-libs=$tmpLibDir || exit 1
|
||||
unset CC
|
||||
|
||||
# hack the Makefile to avoid trouble with stuff we don't need anyway
|
||||
sedExpr=
|
||||
@@ -155,7 +177,7 @@ make install-gcc-cross || {
|
||||
# Remove the math.h gcc header. It has been generated by fixincludes
|
||||
# (unconditional hack: math_huge_val_ifndef) from ours and it is semantically
|
||||
# equivalent.
|
||||
rm $installDir/lib/gcc-lib/i586-pc-haiku/$haikuRequiredLegacyGCCVersion/include/math.h
|
||||
rm -f $installDir/lib/gcc-lib/i586-pc-haiku/$haikuRequiredLegacyGCCVersion/include/math.h
|
||||
|
||||
|
||||
# cleanup
|
||||
|
||||
@@ -28,8 +28,12 @@ export MAKE
|
||||
|
||||
case $haikuMachine in
|
||||
x86_64-*)
|
||||
binutilsConfigureArgs="--enable-multilib"
|
||||
gccConfigureArgs="--enable-multilib"
|
||||
# GCC's default is to enable multilib, but there is a bug when
|
||||
# explicitly using --enable-multilib that causes a build
|
||||
# failure
|
||||
binutilsConfigureArgs=""
|
||||
gccConfigureArgs=""
|
||||
kernelCcFlags="-mno-red-zone"
|
||||
;;
|
||||
m68k-*)
|
||||
binutilsConfigureArgs="--enable-multilib"
|
||||
@@ -42,6 +46,7 @@ arm-*)
|
||||
*)
|
||||
binutilsConfigureArgs="--disable-multilib"
|
||||
gccConfigureArgs="--disable-multilib"
|
||||
kernelCcFlags=
|
||||
;;
|
||||
esac
|
||||
|
||||
@@ -90,23 +95,41 @@ fi
|
||||
# (which apparently doesn't work reliably on all the different host
|
||||
# configurations and changes files which in turn appear as local changes
|
||||
# to the VCS).
|
||||
find $binutilsSourceDir -name \*.info -print0 | xargs -0 touch
|
||||
find $gccSourceDir -name \*.info -print0 | xargs -0 touch
|
||||
find $binutilsSourceDir $gccSourceDir -name \*.info -print0 | xargs -0 touch
|
||||
|
||||
# create the object and installation directories for the cross compilation tools
|
||||
installDir=$haikuOutputDir/cross-tools
|
||||
objDir=$haikuOutputDir/cross-tools-build
|
||||
binutilsObjDir=$objDir/binutils
|
||||
gccObjDir=$objDir/gcc
|
||||
stdcxxObjDir=$objDir/stdcxx
|
||||
tmpIncludeDir=$objDir/sysincludes
|
||||
tmpLibDir=$objDir/syslibs
|
||||
|
||||
rm -rf $installDir $objDir
|
||||
|
||||
mkdir -p $installDir $objDir $binutilsObjDir $gccObjDir $tmpIncludeDir \
|
||||
$tmpLibDir || exit 1
|
||||
mkdir -p $installDir $objDir $binutilsObjDir $gccObjDir $stdcxxObjDir \
|
||||
$tmpIncludeDir $tmpLibDir || exit 1
|
||||
mkdir -p $installDir/lib/gcc/$haikuMachine/$gccVersion
|
||||
|
||||
if [ "$HAIKU_USE_GCC_GRAPHITE" = 1 ]; then
|
||||
cloogSourceDir=$buildToolsDir/cloog
|
||||
gmpSourceDir=$buildToolsDir/gcc/gmp
|
||||
pplSourceDir=$buildToolsDir/ppl
|
||||
|
||||
pplObjDir=$objDir/ppl
|
||||
gmpObjDir=$objDir/gmp
|
||||
cloogObjDir=$objDir/cloog
|
||||
mkdir -p $pplObjDir $gmpObjDir $cloogObjDir || exit 1
|
||||
|
||||
gccConfigureArgs="$gccConfigureArgs --with-cloog=$installDir \
|
||||
--enable-cloog-backend=isl --with-ppl=$installDir \
|
||||
--disable-cloog-version-check --with-gmp=$installDir \
|
||||
--with-host-libstdcxx=\"-lstdc++\""
|
||||
fi
|
||||
|
||||
# force the POSIX locale, as the build (makeinfo) might choke otherwise
|
||||
export LC_ALL=POSIX
|
||||
|
||||
# build binutils
|
||||
cd $binutilsObjDir
|
||||
@@ -118,6 +141,32 @@ $MAKE $additionalMakeArgs install || exit 1
|
||||
|
||||
export PATH=$PATH:$installDir/bin
|
||||
|
||||
if [ "$HAIKU_USE_GCC_GRAPHITE" = 1 ]; then
|
||||
# build gmp
|
||||
cd $gmpObjDir
|
||||
$gmpSourceDir/configure --prefix=$installDir \
|
||||
--disable-shared --enable-cxx || exit 1
|
||||
$MAKE $additionalMakeArgs || exit 1
|
||||
$MAKE $additionalMakeArgs install || exit 1
|
||||
|
||||
# build ppl
|
||||
cd $pplObjDir
|
||||
CFLAGS="-O2" CXXFLAGS="-O2" $pplSourceDir/configure --prefix=$installDir \
|
||||
--disable-nls --disable-shared --disable-watchdog \
|
||||
--disable-maintainer-mode || exit 1
|
||||
$MAKE $additionalMakeArgs AUTOCONF:=true AUTOHEADER:=true ACLOCAL:=true \
|
||||
AUTOMAKE:=true || exit 1
|
||||
$MAKE $additionalMakeArgs install AUTOCONF:=true AUTOHEADER:=true \
|
||||
ACLOCAL:=true AUTOMAKE:=true || exit 1
|
||||
|
||||
# build cloog
|
||||
cd $cloogObjDir
|
||||
CFLAGS="-O2" CXXFLAGS="-O2" $cloogSourceDir/configure \
|
||||
--prefix=$installDir --disable-nls --disable-shared \
|
||||
--with-gmp-prefix=$installDir || exit 1
|
||||
$MAKE $additionalMakeArgs || exit 1
|
||||
$MAKE $additionalMakeArgs install || exit 1
|
||||
fi
|
||||
|
||||
# build gcc
|
||||
|
||||
@@ -127,7 +176,7 @@ copy_headers()
|
||||
sourceDir=$1
|
||||
targetDir=$2
|
||||
|
||||
headers="$(find $sourceDir -name \*\.h | grep -v /.svn)"
|
||||
headers="$(find $sourceDir -name \*\.h)"
|
||||
headers="$(echo $headers | sed -e s@$sourceDir/@@g)"
|
||||
for f in $headers; do
|
||||
headerTargetDir=$targetDir/$(dirname $f)
|
||||
@@ -143,8 +192,8 @@ copy_headers $haikuSourceDir/headers/posix $tmpIncludeDir/posix
|
||||
# configure gcc
|
||||
cd $gccObjDir
|
||||
CFLAGS="-O2" CXXFLAGS="-O2" $gccSourceDir/configure --prefix=$installDir \
|
||||
--target=$haikuMachine --disable-nls --disable-shared \
|
||||
--enable-languages=c,c++ \
|
||||
--target=$haikuMachine --disable-nls --disable-shared --with-system-zlib \
|
||||
--enable-languages=c,c++ --enable-lto --enable-frame-pointer \
|
||||
--with-headers=$tmpIncludeDir --with-libs=$tmpLibDir \
|
||||
$gccConfigureArgs || exit 1
|
||||
|
||||
@@ -160,6 +209,28 @@ $MAKE $additionalMakeArgs install || {
|
||||
exit 1
|
||||
}
|
||||
|
||||
# build libraries for the kernel if the target arch requires it
|
||||
if [ -n "$kernelCcFlags" ]; then
|
||||
$MAKE -C $haikuMachine/libgcc clean
|
||||
$MAKE -C $haikuMachine/libgcc CFLAGS="-g -O2 $kernelCcFlags" || {
|
||||
echo "Error: Building kernel libgcc failed." >&2
|
||||
exit 1
|
||||
}
|
||||
|
||||
cp $haikuMachine/libgcc/libgcc.a \
|
||||
$installDir/$haikuMachine/lib/libgcc-kernel.a || exit 1
|
||||
|
||||
$MAKE -C $haikuMachine/libstdc++-v3/libsupc++ clean
|
||||
$MAKE -C $haikuMachine/libstdc++-v3/libsupc++ CFLAGS="-g -O2 $kernelCcFlags" \
|
||||
CXXFLAGS="-g -O2 $kernelCcFlags" || {
|
||||
echo "Error: Building kernel libsupc++ failed." >&2
|
||||
exit 1
|
||||
}
|
||||
|
||||
cp $haikuMachine/libstdc++-v3/libsupc++/.libs/libsupc++.a \
|
||||
$installDir/$haikuMachine/lib/libsupc++-kernel.a || exit 1
|
||||
fi
|
||||
|
||||
# cleanup
|
||||
|
||||
# remove the system headers from the installation dir
|
||||
|
||||
@@ -17,7 +17,6 @@ set -o errexit
|
||||
# dontClearImage
|
||||
# isVMwareImage
|
||||
# optionalPackageDescriptions
|
||||
# stripOptionalPackageDebugSymbols
|
||||
#
|
||||
# addattr
|
||||
# copyattr
|
||||
@@ -34,6 +33,7 @@ set -o errexit
|
||||
# The following is only for cd types:
|
||||
# generate_attribute_stores
|
||||
# isCD
|
||||
# stripCommand
|
||||
#
|
||||
if [ $# -gt 0 ]; then
|
||||
. $1
|
||||
@@ -154,16 +154,17 @@ stripDebugInfo()
|
||||
if [ "$elfMarker" = 'ELF' ]; then
|
||||
# make user-writable first -- some files aren't
|
||||
chmod u+w "$file"
|
||||
strip --strip-debug "$file"
|
||||
"$stripCommand" --strip-debug "$file"
|
||||
fi
|
||||
}
|
||||
|
||||
extractFile()
|
||||
{
|
||||
# extractFile <archive> <directory> <extractedSubDir>
|
||||
# extractFile <archive> <directory> <extractedSubDir> <stripDebugSymbols>
|
||||
archiveFile=$1
|
||||
targetExtractedDir=$2
|
||||
extractedSubDir=$3
|
||||
stripDebugSymbols=$4
|
||||
|
||||
extractDir=$tmpDir/extract
|
||||
$rmAttrs -rf "$extractDir"
|
||||
@@ -200,7 +201,7 @@ extractFile()
|
||||
rm $extractDir/.OptionalPackageDescription
|
||||
fi
|
||||
|
||||
if [ "$stripOptionalPackageDebugSymbols" = "1" ]; then
|
||||
if [ "$stripDebugSymbols" = "1" ]; then
|
||||
# strip executables in common/bin
|
||||
if [ -d $extractDir/common/bin ]; then
|
||||
for file in `find $extractDir/common/bin -type f -a -perm +100 \
|
||||
|
||||
@@ -8,7 +8,7 @@ determineGitRevision()
|
||||
revision=`cat ${haikuBuildOutputDir}/haiku-revision 2>/dev/null`
|
||||
lastBuiltRevision=`cat ${haikuBuildOutputDir}/last-built-revision \
|
||||
2>/dev/null`
|
||||
localRev=`git rev-list -n1 HEAD`
|
||||
localRev=`git rev-parse HEAD`
|
||||
|
||||
# only determine the haiku-revision if anything has changed from
|
||||
# last build
|
||||
@@ -16,7 +16,10 @@ determineGitRevision()
|
||||
# the revision we use is the description of HEAD with respect to the
|
||||
# last reachable hrev-(haiku-revision-)tag
|
||||
revision=`git describe --dirty --tags --match=hrev*`
|
||||
if echo "$revision" | grep -- '-' >/dev/null; then
|
||||
if [ -z "$revision" ]; then
|
||||
# failed to find any hrev tags, use short hash instead
|
||||
revision=`git rev-parse --short HEAD`
|
||||
elif echo "$revision" | grep -- '-' >/dev/null; then
|
||||
# HEAD is not directly a changeset from Haiku's central repo, so we
|
||||
# add the current branch name as additional info
|
||||
branchName=`git branch | grep '*' | cut -b 3-`
|
||||
@@ -59,7 +62,7 @@ determineHaikuRevision()
|
||||
grep --max-count=1 "(svn r" |
|
||||
$SED -n -e 's,(svn r\(.*\)).*,\1,p'`
|
||||
fi
|
||||
if [ "$revision" = "" ]; then
|
||||
if [ -z "$revision" ]; then
|
||||
revision=0
|
||||
fi
|
||||
echo $revision >${haikuBuildOutputDir}/haiku-revision
|
||||
|
||||
Reference in New Issue
Block a user