Second stab at reorganizing standard/gcc headers. This time it not only
builds on Linux with gcc 2 and 4, but the images do even run. :-) Not tested on BeOS. * Removed stddef.h and stdarg.h. They are provided by the compiler. * Adjusted size_t.h, wchar_t.h, and wchar.h accordingly. * Made stdio.h avoid gcc 2.95.3's fixincludes hack stdio_va_list * Added gcc 2.95.3 headers to the repository. They are used instead of the headers of the gcc 2.95.3's we use to compile Haiku with. Should avoid build problems with the BeOS native compiler. For sake of personal recreation you can rebuild the cross gcc 2.95.3, but the only thing that changed is its header directory (lib/gcc-lib/.../include), which isn't used anymore. Replacing it with headers/build/gcc-2.95.3 should have the same effect as rebuilding, BTW. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24413 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
+10
-3
@@ -118,11 +118,21 @@ HAIKU_HAIKU_COMPATIBLE_PLATFORMS = haiku haiku_host ;
|
||||
|
||||
# haiku target platform settings
|
||||
|
||||
# analyze GCC version
|
||||
HAIKU_GCC_VERSION = [ FAnalyzeGCCVersion HAIKU_GCC_RAW_VERSION ] ;
|
||||
|
||||
# enable GCC -pipe option, if requested
|
||||
if $(HAIKU_USE_GCC_PIPE) = 1 {
|
||||
HAIKU_GCC_BASE_FLAGS = -pipe ;
|
||||
}
|
||||
|
||||
# override gcc 2.95.3's header directory -- strictly necessary only when using
|
||||
# the BeOS native compiler (since its headers are incompatible), but it doesn't
|
||||
# harm for the cross-compiler either.
|
||||
if $(HAIKU_GCC_VERSION[1]) = 2 {
|
||||
HAIKU_GCC_HEADERS_DIR = [ FDirName $(HAIKU_TOP) headers build gcc-2.95.3 ] ;
|
||||
}
|
||||
|
||||
# initial state for flags etc.
|
||||
HAIKU_C++ ?= $(HAIKU_CC) ;
|
||||
HAIKU_LINK = $(HAIKU_CC) ;
|
||||
@@ -192,9 +202,6 @@ for level in $(HAIKU_DEBUG_LEVELS[2-]) {
|
||||
= [ FDirName $(HAIKU_ARCH_OBJECT_DIR) debug_$(level) ] ;
|
||||
}
|
||||
|
||||
# analyze GCC version
|
||||
HAIKU_GCC_VERSION = [ FAnalyzeGCCVersion HAIKU_GCC_RAW_VERSION ] ;
|
||||
|
||||
# set variables for gcc header options
|
||||
SetIncludePropertiesVariables HAIKU ;
|
||||
|
||||
|
||||
+4
-10
@@ -365,8 +365,11 @@ rule FStandardHeaders
|
||||
kernel media mail midi midi2 net opengl storage support
|
||||
translation ;
|
||||
|
||||
# GCC headers
|
||||
local headers = $(HAIKU_GCC_HEADERS_DIR) ;
|
||||
|
||||
# Use headers directory, to allow to do things like include <posix/string.h>
|
||||
local headers = [ FDirName $(HAIKU_TOP) headers ] ;
|
||||
headers += [ FDirName $(HAIKU_TOP) headers ] ;
|
||||
|
||||
# Use posix headers directory
|
||||
headers += [ FDirName $(HAIKU_TOP) headers posix ] ;
|
||||
@@ -392,15 +395,6 @@ rule FStandardHeaders
|
||||
headers += [ FDirName $(HAIKU_TOP) headers cpp ] ;
|
||||
}
|
||||
|
||||
# The compiler dependent headers.
|
||||
# TODO: Actually these directory should be listed before the posix and cpp
|
||||
# directories, since the headers found here are supposed to override some of
|
||||
# the headers in the latter directories. Unfortunately some of our headers
|
||||
# are a bit messy (e.g. stddef.h) and using the compiler headers causes
|
||||
# trouble when using different compilers (gcc 2 vs. gcc 4) and different
|
||||
# host platforms (BeOS vs. Linux).
|
||||
headers += $(HAIKU_GCC_HEADERS_DIR) ;
|
||||
|
||||
return $(headers) ;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user