[haiku-commits] BRANCH mmadia-github.separate-build-environment - headers/build/config_build headers/build/os_target/support src/build/libroot headers/build/posix_target headers/build/config

  • From: mmadia-github.separate-build-environment <community@xxxxxxxxxxxx>
  • To: haiku-commits@xxxxxxxxxxxxx
  • Date: Thu, 2 Aug 2012 22:49:23 +0200 (CEST)

added 8 changesets to branch 
'refs/remotes/mmadia-github/separate-build-environment'
old head: 36ad52739e54290c27651fe851c2deae16e04c6c
new head: 42eafd7e57e28531ce1055f93eb2a6588c4435b1

----------------------------------------------------------------------------

ac212e2: Include the right header directories for libroot.
  
  The build platform headers (headers/build/os, headers/build/posix)
  should not be in the search path. Instead include the *_target counterparts.
  
  Similar changes will need to be done elsewhere.

8794f9e: Some (functional) cleanup.
  
   * Assume [_HAIKU_BUILD_]B_USE_POSITIVE_POSIX_ERRORS is not defined
   * Remove unnecessary casing for [_HAIKU_BUILD_]ENOMEM

9c7f483: Fix the included headers. Added TODO's

d7ed826: Copy headers/os/support/SupportDefs.h.

28c43b8: Revert "Copy headers/os/support/SupportDefs.h."
  
  This reverts commit d7ed826ef79ba4bfddd5d6e596d9541af28a5111.
  
  Decided to delay adding target_SupportDefs.h, in favor of
  cleaning up the existing headers some more.

280cc70: target_*/ headers should only include other target_*/ headers.

158f939: Rename directory to be headers/build/config

42eafd7: Only include their config_target/target_* counterparts.

                                        [ Matt Madia <mattmadia@xxxxxxxxx> ]

----------------------------------------------------------------------------

7 files changed, 43 insertions(+), 369 deletions(-)
headers/build/config/HaikuConfig.h              |   12 ++
headers/build/config/types.h                    |   12 ++
headers/build/config_build/HaikuConfig.h        |  161 ------------------
headers/build/config_build/types.h              |  169 -------------------
headers/build/os_target/support/target_Errors.h |   33 +---
headers/build/posix_target/target_limits.h      |   11 +-
src/build/libroot/Jamfile                       |   14 +-

############################################################################

Commit:      ac212e2f4a59bbf5e630b25fe775672158387b2d

Author:      Matt Madia <mattmadia@xxxxxxxxx>
Date:        Wed Aug  1 17:24:49 2012 UTC

Include the right header directories for libroot.

The build platform headers (headers/build/os, headers/build/posix)
should not be in the search path. Instead include the *_target counterparts.

Similar changes will need to be done elsewhere.

----------------------------------------------------------------------------

diff --git a/src/build/libroot/Jamfile b/src/build/libroot/Jamfile
index f8cb92d..dc05049 100644
--- a/src/build/libroot/Jamfile
+++ b/src/build/libroot/Jamfile
@@ -1,13 +1,13 @@
 SubDir HAIKU_TOP src build libroot ;
 
 UseHeaders [ FDirName $(HAIKU_TOP) headers build ] : true ;
-UseHeaders [ FDirName $(HAIKU_TOP) headers build os ] : true ;
-UseHeaders [ FDirName $(HAIKU_TOP) headers build os app ] : true ;
-UseHeaders [ FDirName $(HAIKU_TOP) headers build os drivers ] : true ;
-UseHeaders [ FDirName $(HAIKU_TOP) headers build os kernel ] : true ;
-UseHeaders [ FDirName $(HAIKU_TOP) headers build os interface ] : true ;
-UseHeaders [ FDirName $(HAIKU_TOP) headers build os storage ] : true ;
-UseHeaders [ FDirName $(HAIKU_TOP) headers build os support ] : true ;
+UseHeaders [ FDirName $(HAIKU_TOP) headers build os_target ] : true ;
+UseHeaders [ FDirName $(HAIKU_TOP) headers build os_target app ] : true ;
+UseHeaders [ FDirName $(HAIKU_TOP) headers build os_target drivers ] : true ;
+UseHeaders [ FDirName $(HAIKU_TOP) headers build os_target kernel ] : true ;
+UseHeaders [ FDirName $(HAIKU_TOP) headers build os_target interface ] : true ;
+UseHeaders [ FDirName $(HAIKU_TOP) headers build os_target storage ] : true ;
+UseHeaders [ FDirName $(HAIKU_TOP) headers build os_target support ] : true ;
 
 UsePrivateBuildHeaders kernel system ;
 

############################################################################

Commit:      8794f9edbf99c3cf2891b07d0852a77dabf4ba8a

Author:      Matt Madia <mattmadia@xxxxxxxxx>
Date:        Thu Aug  2 14:42:16 2012 UTC

Some (functional) cleanup.

 * Assume [_HAIKU_BUILD_]B_USE_POSITIVE_POSIX_ERRORS is not defined
 * Remove unnecessary casing for [_HAIKU_BUILD_]ENOMEM

----------------------------------------------------------------------------

diff --git a/headers/build/os_target/support/target_Errors.h 
b/headers/build/os_target/support/target_Errors.h
index 1941103..e27ba67 100644
--- a/headers/build/os_target/support/target_Errors.h
+++ b/headers/build/os_target/support/target_Errors.h
@@ -226,23 +226,12 @@
 #endif
 
 /* POSIX Errors */
-#ifdef _HAIKU_BUILD_B_USE_POSITIVE_POSIX_ERRORS
-#      define _HAIKU_BUILD_B_TO_POSIX_ERROR(error)             (-(error))
-#      define _HAIKU_BUILD_B_FROM_POSIX_ERROR(error)   (-(error))
-#else
-#      define _HAIKU_BUILD_B_TO_POSIX_ERROR(error)             (error)
-#      define _HAIKU_BUILD_B_FROM_POSIX_ERROR(error)   (error)
-#endif
+#define _HAIKU_BUILD_B_TO_POSIX_ERROR(error)           (error)
+#define _HAIKU_BUILD_B_FROM_POSIX_ERROR(error)         (error)
 
 #ifndef _HAIKU_BUILD_LIBROOT_FUNCTION_WRAPPER
-// NOTE: #8730 -- Should this be ifdef 
_HAIKU_BUILD_B_USE_POSITIVE_POSIX_ERRORS?
-#      ifdef B_USE_POSITIVE_POSIX_ERRORS
-#              define B_TO_POSIX_ERROR(error)          
_HAIKU_BUILD_B_TO_POSIX_ERROR(error)
-#              define B_FROM_POSIX_ERROR(error)        
_HAIKU_BUILD_B_FROM_POSIX_ERROR(error)
-#      else
-#              define B_TO_POSIX_ERROR(error)          
_HAIKU_BUILD_B_TO_POSIX_ERROR(error)
-#              define B_FROM_POSIX_ERROR(error)        
_HAIKU_BUILD_B_FROM_POSIX_ERROR(error)
-#      endif
+#      define B_TO_POSIX_ERROR(error)          
_HAIKU_BUILD_B_TO_POSIX_ERROR(error)
+#      define B_FROM_POSIX_ERROR(error)        
_HAIKU_BUILD_B_FROM_POSIX_ERROR(error)
 #endif
 
 #define _HAIKU_BUILD_B_POSIX_ENOMEM            
_HAIKU_BUILD_B_TO_POSIX_ERROR(_HAIKU_BUILD_B_POSIX_ERROR_BASE + 0)
@@ -372,20 +361,10 @@
 #endif
 
 /* B_NO_MEMORY (0x80000000) can't be negated, so it needs special handling */
-#ifdef _HAIKU_BUILD_B_USE_POSITIVE_POSIX_ERRORS
-#      define _HAIKU_BUILD_ENOMEM              _HAIKU_BUILD_B_POSIX_ENOMEM
-#else
-#      define _HAIKU_BUILD_ENOMEM              _HAIKU_BUILD_B_NO_MEMORY
-#endif
+#define _HAIKU_BUILD_ENOMEM            _HAIKU_BUILD_B_NO_MEMORY
 
 #ifndef _HAIKU_BUILD_LIBROOT_FUNCTION_WRAPPER
-// NOTE: #8730 -- Should this be ifdef 
_HAIKU_BUILD_B_USE_POSITIVE_POSIX_ERRORS?
-// NOTE: #8730 -- Is this conditional for this necessary?
-#      ifdef B_USE_POSITIVE_POSIX_ERRORS
-#      define ENOMEM                                   _HAIKU_BUILD_ENOMEM
-#      else
 #      define ENOMEM                                   _HAIKU_BUILD_ENOMEM
-#      endif
 #endif
 
 /* POSIX errors that can be mapped to BeOS error codes */

############################################################################

Commit:      9c7f48334be22992314f2a839e3f1f006d341bcf

Author:      Matt Madia <mattmadia@xxxxxxxxx>
Date:        Thu Aug  2 14:55:01 2012 UTC

Fix the included headers. Added TODO's

----------------------------------------------------------------------------

diff --git a/headers/build/posix_target/target_limits.h 
b/headers/build/posix_target/target_limits.h
index 138fd32..deb1463 100644
--- a/headers/build/posix_target/target_limits.h
+++ b/headers/build/posix_target/target_limits.h
@@ -6,10 +6,11 @@
 #define _LIBC_LIMITS_H_
        /* Note: The header guard is checked in gcc's limits.h. */
 
+// TODO: #8730 -- create header from headers/config/types.h
+#include <config_target/target_types.h>
 
-#include <config/types.h>
-
-#include <float.h>             /* for DBL_DIG, FLT_DIG, etc */
+// TODO: #8730 -- create header from build/gcc-2.95.3/float.h
+#include <gcc-2.95.3_target/target_float.h>            /* for DBL_DIG, 
FLT_DIG, etc */
 
 #define _HAIKU_BUILD_LONGLONG_MIN    (-9223372036854775807LL - 1)  /* these 
are Be specific */
 #define _HAIKU_BUILD_LONGLONG_MAX    (9223372036854775807LL)
@@ -144,8 +145,8 @@
 /* _GCC_LIMITS_H_ is defined by GCC's internal limits.h to avoid
  * collisions with any defines in this file.
  */
-// NOTE: #8730 -- Does this need the _HAIKU_BUILD prefix?
-// NOTE: #8730 -- Does this need an ifndef 
_HAIKU_BUILD_LIBROOT_FUNCTION_WRAPPER counterpart?
+// TODO: #8730 Don't include_next limits.h here. ...
+//             Instead define its contents here or defined in 
HaikuHostBuildConfig.h
 #ifndef _GCC_LIMITS_H_
 #      include_next <limits.h>
 #endif

############################################################################

Commit:      d7ed826ef79ba4bfddd5d6e596d9541af28a5111

Author:      Matt Madia <mattmadia@xxxxxxxxx>
Date:        Thu Aug  2 14:57:53 2012 UTC

Copy headers/os/support/SupportDefs.h.

----------------------------------------------------------------------------

diff --git a/headers/build/os_target/support/target_SupportDefs.h 
b/headers/build/os_target/support/target_SupportDefs.h
new file mode 100644
index 0000000..0529525
--- /dev/null
+++ b/headers/build/os_target/support/target_SupportDefs.h
@@ -0,0 +1,244 @@
+/*
+ * Copyright 2004-2010, Haiku, Inc. All Rights Reserved.
+ * Distributed under the terms of the MIT License.
+ *
+ * Author:
+ *             Erik Jaesler (erik@xxxxxxxxxxxxxx)
+ */
+#ifndef _SUPPORT_DEFS_H
+#define _SUPPORT_DEFS_H
+
+
+#include <BeBuild.h>
+#include <Errors.h>
+
+#include <inttypes.h>
+#include <sys/types.h>
+
+
+/* fixed-size integer types */
+typedef        __haiku_int8                    int8;
+typedef __haiku_uint8                  uint8;
+typedef        __haiku_int16                   int16;
+typedef __haiku_uint16                 uint16;
+typedef        __haiku_int32                   int32;
+typedef __haiku_uint32                 uint32;
+typedef        __haiku_int64                   int64;
+typedef __haiku_uint64                 uint64;
+
+/* shorthand types */
+typedef volatile int8                  vint8;
+typedef volatile uint8                 vuint8;
+typedef volatile int16                 vint16;
+typedef volatile uint16                        vuint16;
+typedef volatile int32                 vint32;
+typedef volatile uint32                        vuint32;
+typedef volatile int64                 vint64;
+typedef volatile uint64                        vuint64;
+
+typedef volatile long                  vlong;
+typedef volatile int                   vint;
+typedef volatile short                 vshort;
+typedef volatile char                  vchar;
+
+typedef volatile unsigned long vulong;
+typedef volatile unsigned int  vuint;
+typedef volatile unsigned short        vushort;
+typedef volatile unsigned char vuchar;
+
+typedef unsigned char                  uchar;
+typedef unsigned short          unichar;
+
+/* descriptive types */
+typedef int32                                  status_t;
+typedef int64                                  bigtime_t;
+typedef int64                                  nanotime_t;
+typedef uint32                                 type_code;
+typedef uint32                                 perform_code;
+
+typedef __haiku_phys_addr_t            phys_addr_t;
+typedef phys_addr_t                            phys_size_t;
+
+typedef        __haiku_generic_addr_t  generic_addr_t;
+typedef        generic_addr_t                  generic_size_t;
+
+
+/* printf()/scanf() format strings for [u]int* types */
+#define B_PRId8                        "d"
+#define B_PRIi8                        "i"
+#define B_PRId16               "d"
+#define B_PRIi16               "i"
+#define B_PRId32               __HAIKU_PRI_PREFIX_32 "d"
+#define B_PRIi32               __HAIKU_PRI_PREFIX_32 "i"
+#define B_PRId64               __HAIKU_PRI_PREFIX_64 "d"
+#define B_PRIi64               __HAIKU_PRI_PREFIX_64 "i"
+#define B_PRIu8                        "u"
+#define B_PRIo8                        "o"
+#define B_PRIx8                        "x"
+#define B_PRIX8                        "X"
+#define B_PRIu16               "u"
+#define B_PRIo16               "o"
+#define B_PRIx16               "x"
+#define B_PRIX16               "X"
+#define B_PRIu32               __HAIKU_PRI_PREFIX_32 "u"
+#define B_PRIo32               __HAIKU_PRI_PREFIX_32 "o"
+#define B_PRIx32               __HAIKU_PRI_PREFIX_32 "x"
+#define B_PRIX32               __HAIKU_PRI_PREFIX_32 "X"
+#define B_PRIu64               __HAIKU_PRI_PREFIX_64 "u"
+#define B_PRIo64               __HAIKU_PRI_PREFIX_64 "o"
+#define B_PRIx64               __HAIKU_PRI_PREFIX_64 "x"
+#define B_PRIX64               __HAIKU_PRI_PREFIX_64 "X"
+
+#define B_SCNd8                "hhd"
+#define B_SCNi8                "hhi"
+#define B_SCNd16               "hd"
+#define B_SCNi16               "hi"
+#define B_SCNd32               __HAIKU_PRI_PREFIX_32 "d"
+#define B_SCNi32               __HAIKU_PRI_PREFIX_32 "i"
+#define B_SCNd64               __HAIKU_PRI_PREFIX_64 "d"
+#define B_SCNi64               __HAIKU_PRI_PREFIX_64 "i"
+#define B_SCNu8                "hhu"
+#define B_SCNo8                "hho"
+#define B_SCNx8                "hhx"
+#define B_SCNu16               "hu"
+#define B_SCNo16               "ho"
+#define B_SCNx16               "hx"
+#define B_SCNu32               __HAIKU_PRI_PREFIX_32 "u"
+#define B_SCNo32               __HAIKU_PRI_PREFIX_32 "o"
+#define B_SCNx32               __HAIKU_PRI_PREFIX_32 "x"
+#define B_SCNu64               __HAIKU_PRI_PREFIX_64 "u"
+#define B_SCNo64               __HAIKU_PRI_PREFIX_64 "o"
+#define B_SCNx64               __HAIKU_PRI_PREFIX_64 "x"
+
+/* printf() format strings for some standard types */
+/* size_t */
+#define B_PRIuSIZE             __HAIKU_PRI_PREFIX_ADDR "u"
+#define B_PRIoSIZE             __HAIKU_PRI_PREFIX_ADDR "o"
+#define B_PRIxSIZE             __HAIKU_PRI_PREFIX_ADDR "x"
+#define B_PRIXSIZE             __HAIKU_PRI_PREFIX_ADDR "X"
+/* ssize_t */
+#define B_PRIdSSIZE            __HAIKU_PRI_PREFIX_ADDR "d"
+#define B_PRIiSSIZE            __HAIKU_PRI_PREFIX_ADDR "i"
+/* addr_t */
+#define B_PRIuADDR             __HAIKU_PRI_PREFIX_ADDR "u"
+#define B_PRIoADDR             __HAIKU_PRI_PREFIX_ADDR "o"
+#define B_PRIxADDR             __HAIKU_PRI_PREFIX_ADDR "x"
+#define B_PRIXADDR             __HAIKU_PRI_PREFIX_ADDR "X"
+/* phys_addr_t */
+#define B_PRIuPHYSADDR __HAIKU_PRI_PREFIX_PHYS_ADDR "u"
+#define B_PRIoPHYSADDR __HAIKU_PRI_PREFIX_PHYS_ADDR "o"
+#define B_PRIxPHYSADDR __HAIKU_PRI_PREFIX_PHYS_ADDR "x"
+#define B_PRIXPHYSADDR __HAIKU_PRI_PREFIX_PHYS_ADDR "X"
+/* generic_addr_t */
+#define B_PRIuGENADDR  __HAIKU_PRI_PREFIX_GENERIC_ADDR "u"
+#define B_PRIoGENADDR  __HAIKU_PRI_PREFIX_GENERIC_ADDR "o"
+#define B_PRIxGENADDR  __HAIKU_PRI_PREFIX_GENERIC_ADDR "x"
+#define B_PRIXGENADDR  __HAIKU_PRI_PREFIX_GENERIC_ADDR "X"
+/* off_t */
+#define B_PRIdOFF              B_PRId64
+#define B_PRIiOFF              B_PRIi64
+/* dev_t */
+#define B_PRIdDEV              B_PRId32
+#define B_PRIiDEV              B_PRIi32
+/* ino_t */
+#define B_PRIdINO              B_PRId64
+#define B_PRIiINO              B_PRIi64
+/* time_t */
+#define B_PRIdTIME             B_PRId32
+#define B_PRIiTIME             B_PRIi32
+
+
+/* Empty string ("") */
+#ifdef __cplusplus
+extern const char *B_EMPTY_STRING;
+#endif
+
+
+/* min and max comparisons */
+#ifndef __cplusplus
+#      ifndef min
+#              define min(a,b) ((a)>(b)?(b):(a))
+#      endif
+#      ifndef max
+#              define max(a,b) ((a)>(b)?(a):(b))
+#      endif
+#endif
+
+/* min() and max() are functions in C++ */
+#define min_c(a,b) ((a)>(b)?(b):(a))
+#define max_c(a,b) ((a)>(b)?(a):(b))
+
+
+/* Grandfathering */
+#ifndef __cplusplus
+#      include <stdbool.h>
+#endif
+
+#ifndef NULL
+#      define NULL (0)
+#endif
+
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Atomic functions; previous value is returned */
+extern int32   atomic_set(vint32 *value, int32 newValue);
+extern int32   atomic_test_and_set(vint32 *value, int32 newValue, int32 
testAgainst);
+extern int32   atomic_add(vint32 *value, int32 addValue);
+extern int32   atomic_and(vint32 *value, int32 andValue);
+extern int32   atomic_or(vint32 *value, int32 orValue);
+extern int32   atomic_get(vint32 *value);
+
+extern int64   atomic_set64(vint64 *value, int64 newValue);
+extern int64   atomic_test_and_set64(vint64 *value, int64 newValue, int64 
testAgainst);
+extern int64   atomic_add64(vint64 *value, int64 addValue);
+extern int64   atomic_and64(vint64 *value, int64 andValue);
+extern int64   atomic_or64(vint64 *value, int64 orValue);
+extern int64   atomic_get64(vint64 *value);
+
+/* Other stuff */
+extern void*   get_stack_frame(void);
+
+#ifdef __cplusplus
+}
+#endif
+
+/* Obsolete or discouraged API */
+
+/* use 'true' and 'false' */
+#ifndef FALSE
+#      define FALSE    0
+#endif
+#ifndef TRUE
+#      define TRUE             1
+#endif
+
+
+/* Use the built-in atomic functions, if requested and available. */
+
+#if defined(B_USE_BUILTIN_ATOMIC_FUNCTIONS) && __GNUC__ >= 4
+
+#define atomic_test_and_set(valuePointer, newValue, testAgainst)       \
+       __sync_val_compare_and_swap(valuePointer, testAgainst, newValue)
+#define atomic_add(valuePointer, addValue)     \
+       __sync_fetch_and_add(valuePointer, addValue)
+#define atomic_and(valuePointer, andValue)     \
+       __sync_fetch_and_and(valuePointer, andValue)
+#define atomic_or(valuePointer, orValue)       \
+       __sync_fetch_and_or(valuePointer, orValue)
+#define atomic_get(valuePointer)       \
+       __sync_fetch_and_or(valuePointer, 0)
+       // No equivalent to atomic_get(). We simulate it via atomic or. On most
+       // (all?) 32+ bit architectures aligned 32 bit reads will be atomic 
anyway,
+       // though.
+
+// Note: No equivalent for atomic_set(). It could be simulated by a
+// get + atomic test and set loop, but calling the atomic_set() implementation
+// might be faster.
+
+#endif // B_USE_BUILTIN_ATOMIC_FUNCTIONS && __GNUC__ >= 4
+
+
+#endif /* _SUPPORT_DEFS_H */

############################################################################

Commit:      28c43b8a421726734b9a3ea9fbdb2bfce94f088e

Author:      Matt Madia <mattmadia@xxxxxxxxx>
Date:        Thu Aug  2 16:02:35 2012 UTC

Revert "Copy headers/os/support/SupportDefs.h."

This reverts commit d7ed826ef79ba4bfddd5d6e596d9541af28a5111.

Decided to delay adding target_SupportDefs.h, in favor of
cleaning up the existing headers some more.

----------------------------------------------------------------------------

diff --git a/headers/build/os_target/support/target_SupportDefs.h 
b/headers/build/os_target/support/target_SupportDefs.h
deleted file mode 100644
index 0529525..0000000
--- a/headers/build/os_target/support/target_SupportDefs.h
+++ /dev/null
@@ -1,244 +0,0 @@
-/*
- * Copyright 2004-2010, Haiku, Inc. All Rights Reserved.
- * Distributed under the terms of the MIT License.
- *
- * Author:
- *             Erik Jaesler (erik@xxxxxxxxxxxxxx)
- */
-#ifndef _SUPPORT_DEFS_H
-#define _SUPPORT_DEFS_H
-
-
-#include <BeBuild.h>
-#include <Errors.h>
-
-#include <inttypes.h>
-#include <sys/types.h>
-
-
-/* fixed-size integer types */
-typedef        __haiku_int8                    int8;
-typedef __haiku_uint8                  uint8;
-typedef        __haiku_int16                   int16;
-typedef __haiku_uint16                 uint16;
-typedef        __haiku_int32                   int32;
-typedef __haiku_uint32                 uint32;
-typedef        __haiku_int64                   int64;
-typedef __haiku_uint64                 uint64;
-
-/* shorthand types */
-typedef volatile int8                  vint8;
-typedef volatile uint8                 vuint8;
-typedef volatile int16                 vint16;
-typedef volatile uint16                        vuint16;
-typedef volatile int32                 vint32;
-typedef volatile uint32                        vuint32;
-typedef volatile int64                 vint64;
-typedef volatile uint64                        vuint64;
-
-typedef volatile long                  vlong;
-typedef volatile int                   vint;
-typedef volatile short                 vshort;
-typedef volatile char                  vchar;
-
-typedef volatile unsigned long vulong;
-typedef volatile unsigned int  vuint;
-typedef volatile unsigned short        vushort;
-typedef volatile unsigned char vuchar;
-
-typedef unsigned char                  uchar;
-typedef unsigned short          unichar;
-
-/* descriptive types */
-typedef int32                                  status_t;
-typedef int64                                  bigtime_t;
-typedef int64                                  nanotime_t;
-typedef uint32                                 type_code;
-typedef uint32                                 perform_code;
-
-typedef __haiku_phys_addr_t            phys_addr_t;
-typedef phys_addr_t                            phys_size_t;
-
-typedef        __haiku_generic_addr_t  generic_addr_t;
-typedef        generic_addr_t                  generic_size_t;
-
-
-/* printf()/scanf() format strings for [u]int* types */
-#define B_PRId8                        "d"
-#define B_PRIi8                        "i"
-#define B_PRId16               "d"
-#define B_PRIi16               "i"
-#define B_PRId32               __HAIKU_PRI_PREFIX_32 "d"
-#define B_PRIi32               __HAIKU_PRI_PREFIX_32 "i"
-#define B_PRId64               __HAIKU_PRI_PREFIX_64 "d"
-#define B_PRIi64               __HAIKU_PRI_PREFIX_64 "i"
-#define B_PRIu8                        "u"
-#define B_PRIo8                        "o"
-#define B_PRIx8                        "x"
-#define B_PRIX8                        "X"
-#define B_PRIu16               "u"
-#define B_PRIo16               "o"
-#define B_PRIx16               "x"
-#define B_PRIX16               "X"
-#define B_PRIu32               __HAIKU_PRI_PREFIX_32 "u"
-#define B_PRIo32               __HAIKU_PRI_PREFIX_32 "o"
-#define B_PRIx32               __HAIKU_PRI_PREFIX_32 "x"
-#define B_PRIX32               __HAIKU_PRI_PREFIX_32 "X"
-#define B_PRIu64               __HAIKU_PRI_PREFIX_64 "u"
-#define B_PRIo64               __HAIKU_PRI_PREFIX_64 "o"
-#define B_PRIx64               __HAIKU_PRI_PREFIX_64 "x"
-#define B_PRIX64               __HAIKU_PRI_PREFIX_64 "X"
-
-#define B_SCNd8                "hhd"
-#define B_SCNi8                "hhi"
-#define B_SCNd16               "hd"
-#define B_SCNi16               "hi"
-#define B_SCNd32               __HAIKU_PRI_PREFIX_32 "d"
-#define B_SCNi32               __HAIKU_PRI_PREFIX_32 "i"
-#define B_SCNd64               __HAIKU_PRI_PREFIX_64 "d"
-#define B_SCNi64               __HAIKU_PRI_PREFIX_64 "i"
-#define B_SCNu8                "hhu"
-#define B_SCNo8                "hho"
-#define B_SCNx8                "hhx"
-#define B_SCNu16               "hu"
-#define B_SCNo16               "ho"
-#define B_SCNx16               "hx"
-#define B_SCNu32               __HAIKU_PRI_PREFIX_32 "u"
-#define B_SCNo32               __HAIKU_PRI_PREFIX_32 "o"
-#define B_SCNx32               __HAIKU_PRI_PREFIX_32 "x"
-#define B_SCNu64               __HAIKU_PRI_PREFIX_64 "u"
-#define B_SCNo64               __HAIKU_PRI_PREFIX_64 "o"
-#define B_SCNx64               __HAIKU_PRI_PREFIX_64 "x"
-
-/* printf() format strings for some standard types */
-/* size_t */
-#define B_PRIuSIZE             __HAIKU_PRI_PREFIX_ADDR "u"
-#define B_PRIoSIZE             __HAIKU_PRI_PREFIX_ADDR "o"
-#define B_PRIxSIZE             __HAIKU_PRI_PREFIX_ADDR "x"
-#define B_PRIXSIZE             __HAIKU_PRI_PREFIX_ADDR "X"
-/* ssize_t */
-#define B_PRIdSSIZE            __HAIKU_PRI_PREFIX_ADDR "d"
-#define B_PRIiSSIZE            __HAIKU_PRI_PREFIX_ADDR "i"
-/* addr_t */
-#define B_PRIuADDR             __HAIKU_PRI_PREFIX_ADDR "u"
-#define B_PRIoADDR             __HAIKU_PRI_PREFIX_ADDR "o"
-#define B_PRIxADDR             __HAIKU_PRI_PREFIX_ADDR "x"
-#define B_PRIXADDR             __HAIKU_PRI_PREFIX_ADDR "X"
-/* phys_addr_t */
-#define B_PRIuPHYSADDR __HAIKU_PRI_PREFIX_PHYS_ADDR "u"
-#define B_PRIoPHYSADDR __HAIKU_PRI_PREFIX_PHYS_ADDR "o"
-#define B_PRIxPHYSADDR __HAIKU_PRI_PREFIX_PHYS_ADDR "x"
-#define B_PRIXPHYSADDR __HAIKU_PRI_PREFIX_PHYS_ADDR "X"
-/* generic_addr_t */
-#define B_PRIuGENADDR  __HAIKU_PRI_PREFIX_GENERIC_ADDR "u"
-#define B_PRIoGENADDR  __HAIKU_PRI_PREFIX_GENERIC_ADDR "o"
-#define B_PRIxGENADDR  __HAIKU_PRI_PREFIX_GENERIC_ADDR "x"
-#define B_PRIXGENADDR  __HAIKU_PRI_PREFIX_GENERIC_ADDR "X"
-/* off_t */
-#define B_PRIdOFF              B_PRId64
-#define B_PRIiOFF              B_PRIi64
-/* dev_t */
-#define B_PRIdDEV              B_PRId32
-#define B_PRIiDEV              B_PRIi32
-/* ino_t */
-#define B_PRIdINO              B_PRId64
-#define B_PRIiINO              B_PRIi64
-/* time_t */
-#define B_PRIdTIME             B_PRId32
-#define B_PRIiTIME             B_PRIi32
-
-
-/* Empty string ("") */
-#ifdef __cplusplus
-extern const char *B_EMPTY_STRING;
-#endif
-
-
-/* min and max comparisons */
-#ifndef __cplusplus
-#      ifndef min
-#              define min(a,b) ((a)>(b)?(b):(a))
-#      endif
-#      ifndef max
-#              define max(a,b) ((a)>(b)?(a):(b))
-#      endif
-#endif
-
-/* min() and max() are functions in C++ */
-#define min_c(a,b) ((a)>(b)?(b):(a))
-#define max_c(a,b) ((a)>(b)?(a):(b))
-
-
-/* Grandfathering */
-#ifndef __cplusplus
-#      include <stdbool.h>
-#endif
-
-#ifndef NULL
-#      define NULL (0)
-#endif
-
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/* Atomic functions; previous value is returned */
-extern int32   atomic_set(vint32 *value, int32 newValue);
-extern int32   atomic_test_and_set(vint32 *value, int32 newValue, int32 
testAgainst);
-extern int32   atomic_add(vint32 *value, int32 addValue);
-extern int32   atomic_and(vint32 *value, int32 andValue);
-extern int32   atomic_or(vint32 *value, int32 orValue);
-extern int32   atomic_get(vint32 *value);
-
-extern int64   atomic_set64(vint64 *value, int64 newValue);
-extern int64   atomic_test_and_set64(vint64 *value, int64 newValue, int64 
testAgainst);
-extern int64   atomic_add64(vint64 *value, int64 addValue);
-extern int64   atomic_and64(vint64 *value, int64 andValue);
-extern int64   atomic_or64(vint64 *value, int64 orValue);
-extern int64   atomic_get64(vint64 *value);
-
-/* Other stuff */
-extern void*   get_stack_frame(void);
-
-#ifdef __cplusplus
-}
-#endif
-
-/* Obsolete or discouraged API */
-
-/* use 'true' and 'false' */
-#ifndef FALSE
-#      define FALSE    0
-#endif
-#ifndef TRUE
-#      define TRUE             1
-#endif
-
-
-/* Use the built-in atomic functions, if requested and available. */
-
-#if defined(B_USE_BUILTIN_ATOMIC_FUNCTIONS) && __GNUC__ >= 4
-
-#define atomic_test_and_set(valuePointer, newValue, testAgainst)       \
-       __sync_val_compare_and_swap(valuePointer, testAgainst, newValue)
-#define atomic_add(valuePointer, addValue)     \
-       __sync_fetch_and_add(valuePointer, addValue)
-#define atomic_and(valuePointer, andValue)     \
-       __sync_fetch_and_and(valuePointer, andValue)
-#define atomic_or(valuePointer, orValue)       \
-       __sync_fetch_and_or(valuePointer, orValue)
-#define atomic_get(valuePointer)       \
-       __sync_fetch_and_or(valuePointer, 0)
-       // No equivalent to atomic_get(). We simulate it via atomic or. On most
-       // (all?) 32+ bit architectures aligned 32 bit reads will be atomic 
anyway,
-       // though.
-
-// Note: No equivalent for atomic_set(). It could be simulated by a
-// get + atomic test and set loop, but calling the atomic_set() implementation
-// might be faster.
-
-#endif // B_USE_BUILTIN_ATOMIC_FUNCTIONS && __GNUC__ >= 4
-
-
-#endif /* _SUPPORT_DEFS_H */

############################################################################

Commit:      280cc705404dc6023dfea35bbcabe96e28c6072b

Author:      Matt Madia <mattmadia@xxxxxxxxx>
Date:        Thu Aug  2 16:08:09 2012 UTC

target_*/ headers should only include other target_*/ headers.

----------------------------------------------------------------------------

diff --git a/headers/build/os_target/support/target_Errors.h 
b/headers/build/os_target/support/target_Errors.h
index e27ba67..3343636 100644
--- a/headers/build/os_target/support/target_Errors.h
+++ b/headers/build/os_target/support/target_Errors.h
@@ -6,7 +6,7 @@
 #define _ERRORS_H
 
 
-#include <limits.h>
+#include <target_limits.h>
 
 
 /* Error baselines */
diff --git a/headers/build/posix_target/target_limits.h 
b/headers/build/posix_target/target_limits.h
index deb1463..5119881 100644
--- a/headers/build/posix_target/target_limits.h
+++ b/headers/build/posix_target/target_limits.h
@@ -10,7 +10,7 @@
 #include <config_target/target_types.h>
 
 // TODO: #8730 -- create header from build/gcc-2.95.3/float.h
-#include <gcc-2.95.3_target/target_float.h>            /* for DBL_DIG, 
FLT_DIG, etc */
+#include <target_float.h>              /* for DBL_DIG, FLT_DIG, etc */
 
 #define _HAIKU_BUILD_LONGLONG_MIN    (-9223372036854775807LL - 1)  /* these 
are Be specific */
 #define _HAIKU_BUILD_LONGLONG_MAX    (9223372036854775807LL)

############################################################################

Commit:      158f939e53f1e7cc3055fd5b849852ab6fcf7034

Author:      Matt Madia <mattmadia@xxxxxxxxx>
Date:        Thu Aug  2 16:11:28 2012 UTC

Rename directory to be headers/build/config

----------------------------------------------------------------------------

diff --git a/headers/build/config_build/HaikuConfig.h 
b/headers/build/config/HaikuConfig.h
similarity index 100%
rename from headers/build/config_build/HaikuConfig.h
rename to headers/build/config/HaikuConfig.h
diff --git a/headers/build/config_build/types.h b/headers/build/config/types.h
similarity index 100%
rename from headers/build/config_build/types.h
rename to headers/build/config/types.h

############################################################################

Commit:      42eafd7e57e28531ce1055f93eb2a6588c4435b1

Author:      Matt Madia <mattmadia@xxxxxxxxx>
Date:        Thu Aug  2 16:42:03 2012 UTC

Only include their config_target/target_* counterparts.

----------------------------------------------------------------------------

diff --git a/headers/build/config/HaikuConfig.h 
b/headers/build/config/HaikuConfig.h
index 2d44499..b0511fe 100644
--- a/headers/build/config/HaikuConfig.h
+++ b/headers/build/config/HaikuConfig.h
@@ -1,161 +1,12 @@
 /*
- * Copyright 2009-2012 Haiku, Inc. All Rights Reserved.
+ * Copyright 2009-2012, Haiku, Inc. All Rights Reserved.
  * Distributed under the terms of the MIT License.
  */
-#ifndef _CONFIG_HAIKU_CONFIG_H
-#define _CONFIG_HAIKU_CONFIG_H
+#ifndef _HAIKU_BUILD_CONFIG_HAIKU_CONFIG_H
+#define _HAIKU_BUILD_CONFIG_HAIKU_CONFIG_H
 
 
-#include <HaikuBuild.h>
+#include "config_target/target_HaikuConfig.h"
 
 
-/* Determine the architecture and define macros for some fundamental
-   properties:
-   __HAIKU_ARCH                                        - short name of the 
architecture (used in paths)
-   __HAIKU_ARCH_<arch>                 - defined to 1 for the respective 
architecture
-   __HAIKU_ARCH_BITS                   - defined to 32/64 on 32/64 bit 
architectures
-                                                                 (defaults to 
32)
-   __HAIKU_ARCH_PHYSICAL_BITS  - defined to 32/64 on architectures with 32/64
-                                                                 (defaults to 
__HAIKU_ARCH_BITS)
-   __HAIKU_BIG_ENDIAN                  - defined to 1 on big endian 
architectures
-                                                                 (defaults to 
undefined)
-*/
-#ifdef __INTEL__
-#      define __HAIKU_BUILD_HAIKU_ARCH                         x86
-#      define __HAIKU_BUILD_HAIKU_ARCH_X86                     1
-#elif __x86_64__
-#      define __HAIKU_BUILD_HAIKU_ARCH                         x86_64
-#      define __HAIKU_BUILD_HAIKU_ARCH_X86_64          1
-#      define __HAIKU_BUILD_HAIKU_ARCH_BITS            64
-#elif __POWERPC__
-#      define __HAIKU_BUILD_HAIKU_ARCH                         ppc
-#      define __HAIKU_BUILD_HAIKU_ARCH_PPC                     1
-#      define __HAIKU_BUILD_HAIKU_BIG_ENDIAN           1
-#elif __M68K__
-#      define __HAIKU_BUILD_HAIKU_ARCH                         m68k
-#      define __HAIKU_BUILD_HAIKU_ARCH_M68K            1
-#      define __HAIKU_BUILD_HAIKU_BIG_ENDIAN           1
-#elif __MIPSEL__
-#      define __HAIKU_BUILD_HAIKU_ARCH                         mipsel
-#      define __HAIKU_BUILD_HAIKU_ARCH_MIPSEL          1
-#elif __ARM__
-#      define __HAIKU_BUILD_HAIKU_ARCH                         arm
-#      define __HAIKU_BUILD_HAIKU_ARCH_ARM                     1
-#else
-#      error Unsupported architecture!
 #endif
-
-/* implied properties:
-   __HAIKU_ARCH_{32,64}_BIT            - defined to 1 on 32/64 bit 
architectures, i.e.
-                                                                 using 32/64 
bit virtual addresses
-   __HAIKU_ARCH_PHYSICAL_BITS  - defined to 32/64 on architectures with 32/64
-                                                                 bit physical 
addresses
-   __HAIKU_ARCH_PHYSICAL_{32,64}_BIT - defined to 1 on architectures using 64
-                                                                 bit physical 
addresses
-   __HAIKU_BIG_ENDIAN                  - defined to 1 on big endian 
architectures
-*/
-
-/* bitness */
-#ifndef __HAIKU_BUILD_HAIKU_ARCH_BITS
-#      define __HAIKU_BUILD_HAIKU_ARCH_BITS            32
-#endif
-
-#if __HAIKU_BUILD_HAIKU_ARCH_BITS == 32
-#      define __HAIKU_BUILD_HAIKU_ARCH_32_BIT          1
-#elif __HAIKU_BUILD_HAIKU_ARCH_BITS == 64
-#      define __HAIKU_BUILD_HAIKU_ARCH_64_BIT          1
-#else
-#      error Unsupported bitness!
-#endif
-
-/* physical bitness */
-#ifndef __HAIKU_BUILD_HAIKU_ARCH_PHYSICAL_BITS
-#      define __HAIKU_BUILD_HAIKU_ARCH_PHYSICAL_BITS   \
-               __HAIKU_BUILD_HAIKU_ARCH_BITS
-#endif
-
-#if __HAIKU_BUILD_HAIKU_ARCH_PHYSICAL_BITS == 32
-#      define __HAIKU_BUILD_HAIKU_ARCH_PHYSICAL_32_BIT 1
-#elif __HAIKU_BUILD_HAIKU_ARCH_PHYSICAL_BITS == 64
-#      define __HAIKU_BUILD_HAIKU_ARCH_PHYSICAL_64_BIT 1
-#else
-#      error Unsupported physical bitness!
-#endif
-
-/* endianess */
-#ifndef __HAIKU_BUILD_HAIKU_BIG_ENDIAN
-#      define  __HAIKU_BUILD_HAIKU_LITTLE_ENDIAN       1
-#endif
-
-/* architecture specific include macros */
-#define __HAIKU_BUILD_HAIKU_ARCH_HEADER(header)                
<arch/__HAIKU_ARCH/header>
-// NOTE: Should the above define be this following line instead?
-// #define __HAIKU_BUILD_HAIKU_ARCH_HEADER(header)             
<arch/__HAIKU_BUILD_HAIKU_ARCH/header>
-#define __HAIKU_BUILD_HAIKU_SUBDIR_ARCH_HEADER(subdir, header) \
-       <subdir/arch/__HAIKU_BUILD_HAIKU_ARCH/header>
-
-
-/* map the macros, if not building the libroot mapper functions */
-
-#ifndef _HAIKU_BUILD_LIBROOT_FUNCTION_WRAPPER
-
-#define __HAIKU_ARCH                           __HAIKU_BUILD_HAIKU_ARCH
-#define __HAIKU_ARCH_BITS                      __HAIKU_BUILD_HAIKU_ARCH_BITS
-#define __HAIKU_ARCH_PHYSICAL_BITS     __HAIKU_BUILD_HAIKU_ARCH_PHYSICAL_BITS
-
-#ifdef __HAIKU_BUILD_HAIKU_ARCH_X86
-#      define __HAIKU_ARCH_X86 __HAIKU_BUILD_HAIKU_ARCH_X86
-#endif
-
-#ifdef __HAIKU_BUILD_HAIKU_ARCH_X86_64
-#      define __HAIKU_ARCH_X86_64      __HAIKU_BUILD_HAIKU_ARCH_X86_64
-#endif
-
-#ifdef __HAIKU_BUILD_HAIKU_ARCH_PPC
-#      define __HAIKU_ARCH_PPC __HAIKU_BUILD_HAIKU_ARCH_PPC
-#endif
-
-#ifdef __HAIKU_BUILD_HAIKU_ARCH_M68K
-#      define __HAIKU_ARCH_M68K        __HAIKU_BUILD_HAIKU_ARCH_M68K
-#endif
-
-#ifdef __HAIKU_BUILD_HAIKU_ARCH_MIPSEL
-#      define __HAIKU_ARCH_MIPSEL      __HAIKU_BUILD_HAIKU_ARCH_MIPSEL
-#endif
-
-#ifdef __HAIKU_BUILD_HAIKU_ARCH_ARM
-#      define __HAIKU_ARCH_ARM __HAIKU_BUILD_HAIKU_ARCH_ARM
-#endif
-
-#ifdef __HAIKU_BUILD_HAIKU_ARCH_32_BIT
-#      define __HAIKU_ARCH_32_BIT      __HAIKU_BUILD_HAIKU_ARCH_32_BIT
-#endif
-
-#ifdef __HAIKU_BUILD_HAIKU_ARCH_64_BIT
-#      define __HAIKU_ARCH_64_BIT      __HAIKU_BUILD_HAIKU_ARCH_64_BIT
-#endif
-
-#ifdef __HAIKU_BUILD_HAIKU_ARCH_PHYSICAL_32_BIT
-#      define __HAIKU_ARCH_PHYSICAL_32_BIT     
__HAIKU_BUILD_HAIKU_ARCH_PHYSICAL_32_BIT
-#endif
-
-#ifdef __HAIKU_BUILD_HAIKU_ARCH_PHYSICAL_64_BIT
-#      define __HAIKU_ARCH_PHYSICAL_64_BIT     
__HAIKU_BUILD_HAIKU_ARCH_PHYSICAL_64_BIT
-#endif
-
-#ifdef __HAIKU_BUILD_HAIKU_ARCH_LITTLE_ENDIAN
-#      define __HAIKU_ARCH_LITTLE_ENDIAN       
__HAIKU_BUILD_HAIKU_ARCH_LITTLE_ENDIAN
-#endif
-
-#ifdef __HAIKU_BUILD_HAIKU_ARCH_BIG_ENDIAN
-#      define __HAIKU_ARCH_BIG_ENDIAN  __HAIKU_BUILD_HAIKU_ARCH_BIG_ENDIAN
-#endif
-
-
-#define __HAIKU_ARCH_HEADER(header)    __HAIKU_BUILD_HAIKU_ARCH_HEADER(header)
-#define __HAIKU_SUBDIR_ARCH_HEADER(subdir, header)     \
-       __HAIKU_BUILD_HAIKU_SUBDIR_ARCH_HEADER(subdir, header)
-
-#endif /* _HAIKU_BUILD_LIBROOT_FUNCTION_WRAPPER */
-
-#endif /* _CONFIG_HAIKU_CONFIG_H */
diff --git a/headers/build/config/types.h b/headers/build/config/types.h
index 53da55d..ca2d651 100644
--- a/headers/build/config/types.h
+++ b/headers/build/config/types.h
@@ -6,164 +6,7 @@
 #define _CONFIG_BUILD_TYPES_H
 
 
-#include <HaikuBuild.h>
+#include "config_target/target_types.h"
 
-#include <config_build/HaikuConfig.h>
 
-
-/* fixed-width types -- the __haiku_std_[u]int* types correspond to the POSIX
-   [u]int*_t types, the _haiku_[u]int* types to the BeOS [u]int* types. If
-   __HAIKU_BEOS_COMPATIBLE_TYPES is not defined both sets are identical. Once
-   we drop compatibility for good, we can consolidate the types.
-*/
-typedef _HAIKU_BUILD_FEATURE_int8      __haiku_build_haiku_std_int8;
-typedef _HAIKU_BUILD_FEATURE_uint8     __haiku_build_haiku_std_uint8;
-typedef _HAIKU_BUILD_FEATURE_int16     __haiku_build_haiku_std_int16;
-typedef _HAIKU_BUILD_FEATURE_uint16    __haiku_build_haiku_std_uint16;
-typedef _HAIKU_BUILD_FEATURE_int32     __haiku_build_haiku_std_int32;
-typedef _HAIKU_BUILD_FEATURE_uint32    __haiku_build_haiku_std_uint32;
-typedef _HAIKU_BUILD_FEATURE_int64     __haiku_build_haiku_std_int64;
-typedef _HAIKU_BUILD_FEATURE_uint64    __haiku_build_haiku_std_uint64;
-
-typedef __haiku_build_haiku_std_int8   __haiku_build_haiku_int8;
-typedef __haiku_build_haiku_std_uint8  __haiku_build_haiku_uint8;
-typedef __haiku_build_haiku_std_int16  __haiku_build_haiku_int16;
-typedef __haiku_build_haiku_std_uint16 __haiku_build_haiku_uint16;
-typedef __haiku_build_haiku_std_int32  __haiku_build_haiku_int32;
-typedef __haiku_build_haiku_std_uint32 __haiku_build_haiku_uint32;
-typedef __haiku_build_haiku_std_int64  __haiku_build_haiku_int64;
-typedef __haiku_build_haiku_std_uint64 __haiku_build_haiku_uint64;
-
-/* address types */
-#ifdef __HAIKU_BUILD_HAIKU_ARCH_64_BIT
-       typedef __haiku_build_haiku_int64       __haiku_build_haiku_saddr_t;
-       typedef __haiku_build_haiku_uint64      __haiku_build_haiku_addr_t;
-#else
-       typedef __haiku_build_haiku_int32       __haiku_build_haiku_saddr_t;
-       typedef __haiku_build_haiku_uint32      __haiku_build_haiku_addr_t;
-#endif
-
-#ifdef __HAIKU_BUILD_HAIKU_ARCH_PHYSICAL_64_BIT
-       typedef __haiku_build_haiku_int64       
__haiku_build_haiku_phys_saddr_t;
-       typedef __haiku_build_haiku_uint64      __haiku_build_haiku_phys_addr_t;
-#else
-       typedef __haiku_build_haiku_int32       
__haiku_build_haiku_phys_saddr_t;
-       typedef __haiku_build_haiku_uint32      __haiku_build_haiku_phys_addr_t;
-#endif
-
-/* address type limits */
-#ifdef __HAIKU_BUILD_HAIKU_ARCH_64_BIT
-#      define __HAIKU_BUILD_HAIKU_SADDR_MAX            (9223372036854775807LL)
-#      define __HAIKU_BUILD_HAIKU_ADDR_MAX                     
(18446744073709551615ULL)
-#else
-#      define __HAIKU_BUILD_HAIKU_SADDR_MAX            (2147483647)
-#      define __HAIKU_BUILD_HAIKU_ADDR_MAX                     (4294967295U)
-#endif
-#define __HAIKU_BUILD_HAIKU_SADDR_MIN          
(-__HAIKU_BUILD_HAIKU_SADDR_MAX-1)
-
-#ifdef __HAIKU_BUILD_HAIKU_ARCH_PHYSICAL_64_BIT
-#      define __HAIKU_BUILD_HAIKU_PHYS_SADDR_MAX       (9223372036854775807LL)
-#      define __HAIKU_BUILD_HAIKU_PHYS_ADDR_MAX        
(18446744073709551615ULL)
-#else
-#      define __HAIKU_BUILD_HAIKU_PHYS_SADDR_MAX       (2147483647)
-#      define __HAIKU_BUILD_HAIKU_PHYS_ADDR_MAX        (4294967295U)
 #endif
-#define __HAIKU_BUILD_HAIKU_PHYS_SADDR_MIN     
(-__HAIKU_BUILD_HAIKU_SADDR_MAX-1)
-
-
-/* printf()/scanf() format prefixes */
-#define        __HAIKU_BUILD_HAIKU_STD_PRI_PREFIX_32   \
-       _HAIKU_BUILD_FEATURE_FORMAT_PREFIX_int32
-#define __HAIKU_BUILD_HAIKU_STD_PRI_PREFIX_64  \
-       _HAIKU_BUILD_FEATURE_FORMAT_PREFIX_int64
-
-#define        __HAIKU_BUILD_HAIKU_PRI_PREFIX_32       \
-       __HAIKU_BUILD_HAIKU_STD_PRI_PREFIX_32
-#define        __HAIKU_BUILD_HAIKU_PRI_PREFIX_64       \
-       __HAIKU_BUILD_HAIKU_STD_PRI_PREFIX_64
-
-#ifdef __HAIKU_BUILD_HAIKU_ARCH_64_BIT
-#      define __HAIKU_BUILD_HAIKU_PRI_PREFIX_ADDR      \
-               __HAIKU_BUILD_HAIKU_PRI_PREFIX_64
-#else
-#      define __HAIKU_BUILD_HAIKU_PRI_PREFIX_ADDR      \
-               __HAIKU_BUILD_HAIKU_PRI_PREFIX_32
-#endif
-
-#ifdef __HAIKU_BUILD_HAIKU_ARCH_PHYSICAL_64_BIT
-#      define __HAIKU_BUILD_HAIKU_PRI_PREFIX_PHYS_ADDR \
-               __HAIKU_BUILD_HAIKU_PRI_PREFIX_64
-#else
-#      define __HAIKU_BUILD_HAIKU_PRI_PREFIX_PHYS_ADDR \
-               __HAIKU_BUILD_HAIKU_PRI_PREFIX_32
-#endif
-
-
-/* a generic address type wide enough for virtual and physical addresses */
-#if __HAIKU_BUILD_HAIKU_ARCH_BITS >= __HAIKU_BUILD_HAIKU_ARCH_PHYSICAL_BITS
-       typedef __haiku_build_haiku_addr_t              
__haiku_build_haiku_generic_addr_t;
-#      define __HAIKU_BUILD_HAIKU_GENERIC_ADDR_MAX                     \
-               __HAIKU_BUILD_HAIKU_ADDR_MAX
-#      define __HAIKU_BUILD_HAIKU_PRI_PREFIX_GENERIC_ADDR      \
-               __HAIKU_BUILD_HAIKU_PRI_PREFIX_ADDR
-#else
-       typedef __haiku_build_haiku_phys_addr_t 
__haiku_build_haiku_generic_addr_t;
-#      define __HAIKU_BUILD_HAIKU_GENERIC_ADDR_MAX                     \
-               __HAIKU_BUILD_HAIKU_PHYS_ADDR_MAX
-#      define __HAIKU_BUILD_HAIKU_PRI_PREFIX_GENERIC_ADDR      \
-               __HAIKU_BUILD_HAIKU_PRI_PREFIX_PHYS_ADDR
-#endif
-
-
-/* map the macros/types, if not building the libroot mapper functions */
-
-#ifndef _HAIKU_BUILD_LIBROOT_FUNCTION_WRAPPER
-
-typedef __haiku_build_haiku_std_int8   __haiku_std_int8;
-typedef __haiku_build_haiku_std_uint8  __haiku_std_uint8;
-typedef __haiku_build_haiku_std_int16  __haiku_std_int16;
-typedef __haiku_build_haiku_std_uint16 __haiku_std_uint16;
-typedef __haiku_build_haiku_std_int32  __haiku_std_int32;
-typedef __haiku_build_haiku_std_uint32 __haiku_std_uint32;
-typedef __haiku_build_haiku_std_int64  __haiku_std_int64;
-typedef __haiku_build_haiku_std_uint64 __haiku_std_uint64;
-
-typedef __haiku_build_haiku_int8       __haiku_int8;
-typedef __haiku_build_haiku_uint8      __haiku_uint8;
-typedef __haiku_build_haiku_int16      __haiku_int16;
-typedef __haiku_build_haiku_uint16     __haiku_uint16;
-typedef __haiku_build_haiku_int32      __haiku_int32;
-typedef __haiku_build_haiku_uint32     __haiku_uint32;
-typedef __haiku_build_haiku_int64      __haiku_int64;
-typedef __haiku_build_haiku_uint64     __haiku_uint64;
-
-typedef        __haiku_build_haiku_saddr_t                     __haiku_saddr_t;
-typedef        __haiku_build_haiku_addr_t                      __haiku_addr_t;
-typedef        __haiku_build_haiku_phys_saddr_t        __haiku_phys_saddr_t;
-typedef        __haiku_build_haiku_phys_addr_t         __haiku_phys_addr_t;
-
-#define __HAIKU_SADDR_MAX      __HAIKU_BUILD_HAIKU_SADDR_MAX
-#define __HAIKU_ADDR_MAX       __HAIKU_BUILD_HAIKU_ADDR_MAX
-#define __HAIKU_SADDR_MIN      __HAIKU_BUILD_HAIKU_SADDR_MIN
-
-#define __HAIKU_PHYS_SADDR_MAX __HAIKU_BUILD_HAIKU_PHYS_SADDR_MAX
-#define __HAIKU_PHYS_ADDR_MAX  __HAIKU_BUILD_HAIKU_PHYS_ADDR_MAX
-#define __HAIKU_PHYS_SADDR_MIN __HAIKU_BUILD_HAIKU_PHYS_SADDR_MIN
-
-#define        __HAIKU_STD_PRI_PREFIX_32       
__HAIKU_BUILD_HAIKU_STD_PRI_PREFIX_32
-#define __HAIKU_STD_PRI_PREFIX_64      __HAIKU_BUILD_HAIKU_STD_PRI_PREFIX_64
-
-#define        __HAIKU_PRI_PREFIX_32   __HAIKU_BUILD_HAIKU_PRI_PREFIX_32
-#define        __HAIKU_PRI_PREFIX_64   __HAIKU_BUILD_HAIKU_PRI_PREFIX_64
-
-#define __HAIKU_PRI_PREFIX_ADDR                        
__HAIKU_BUILD_HAIKU_PRI_PREFIX_ADDR
-#define __HAIKU_PRI_PREFIX_PHYS_ADDR   __HAIKU_BUILD_HAIKU_PRI_PREFIX_PHYS_ADDR
-
-typedef __haiku_build_haiku_generic_addr_t             __haiku_generic_addr_t;
-#define __HAIKU_GENERIC_ADDR_MAX       __HAIKU_BUILD_HAIKU_GENERIC_ADDR_MAX
-#define __HAIKU_PRI_PREFIX_GENERIC_ADDR                \
-       __HAIKU_BUILD_HAIKU_PRI_PREFIX_GENERIC_ADDR
-
-#endif /* _HAIKU_BUILD_LIBROOT_FUNCTION_WRAPPER */
-
-#endif /* _CONFIG_BUILD_TYPES_H */


Other related posts: