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:
+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 ;
|
||||
|
||||
Reference in New Issue
Block a user