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:
Ingo Weinhold
2013-05-05 15:03:26 +02:00
15096 changed files with 647420 additions and 1619850 deletions
+146 -56
View File
@@ -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 ;