History log of /haiku/headers/os/BeBuild.h
Revision Date Author Comments
# 92d226c2 29-Mar-2024 David Karoly <karolyd577@gmail.com>

headers/os: Bump max gcc to 14.x

Change-Id: Ia5601dae1c2d70f148df5dfde97bbba841af0b17
Reviewed-on: https://review.haiku-os.org/c/haiku/+/7561
Haiku-Format: Haiku-format Bot <no-reply+haikuformatbot@haiku-os.org>
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Adrien Destugues <pulkomandy@pulkomandy.tk>


# d9642c25 09-May-2023 Alexander von Gluck IV <kallisti5@unixzen.com>

headers/os: Bump max gcc to 13.x

* riscv64 builds fine
* x86_64 builds and boots fine

Change-Id: I98b72a9d57b1a6ea0fae5c113a4c24b32fd68a52
Reviewed-on: https://review.haiku-os.org/c/haiku/+/6425
Reviewed-by: Adrien Destugues <pulkomandy@pulkomandy.tk>


# 9fc62346 03-Nov-2022 Augustin Cavalier <waddlesplash@gmail.com>

Versioning: Add BETA_4 and PRE_BETA_5 version constants.

PRE_BETA_5 is now the default in master.


# afcfd3c5 18-Nov-2021 Augustin Cavalier <waddlesplash@gmail.com>

BeBuild: Remove B_ALWAYS_INLINE.

This file should ideally contain only those things needed
across all system headers, even POSIX ones, and all other
declarations (B_* ones especially) should go in SupportDefs.h.
However, as nothing but riscv64 uses this right now, I've just
moved it to there.


# 3bdd837e 16-Nov-2021 Augustin Cavalier <waddlesplash@gmail.com>

BeBuild: Expand compatibility to GCC 12.

Since we are currently in the process of upgrading to GCC 11, it makes
sense to change this header before we actually need to.


# 48eb7d98 30-Sep-2021 Fredrik Holmqvist <fredrik.holmqvist@gmail.com>

Allow gcc to know result is aligned

Someone on the internet found out gcc only understand posix_memalign.

The alloc_align attribute may be applied to a function that returns
a pointer and takes at least one argument of an integer or enumerated
type. It indicates that the returned pointer is aligned on a boundary
given by the function argument at position.

Change-Id: I4b0af6ef3020da1fb460652117286193d5d72f1e
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4514
Reviewed-by: Fredrik Holmqvist <fredrik.holmqvist@gmail.com>
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>


# 857c79a6 09-Oct-2021 Adrien Destugues <pulkomandy@pulkomandy.tk>

Introduce symbol_visibility.h with macros to define hidden functions

These were used in function_remapper.cpp but can be used elsewhere too,
so move them to a private header. Also use them for the stack protector
hidden function definition (probably not so useful since gcc2 doesn't
support using the stack protector anyway?).

The gcc2 way to make a symbol hidden is to manually generate the .hidden
directive in the assembler output. This is not perfect: it is hard to
use for C++ functions and methods (manual mangling of the name is
needed), and inline assembler can only be inserted inside functions. But
the alternative is patching gcc2 to add support for the function
attribute, and I don't want to dig into that today.


# ce5993fd 21-Jun-2021 Alexander von Gluck IV <kallisti5@unixzen.com>

version: add BETA_3 and PRE_BETA_4 constraints.

Change-Id: I65b4889042c4c92086fade535622ef12b368a968


# 0b4660ae 26-May-2021 X512 <danger_mail@list.ru>

BeBuild: add ALWAYS_INLINE macro

only available on gcc 4 and upper.

Change-Id: Ifc059d5fedd15a5aeda1514312fbbf98a72d3128
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4005
Reviewed-by: Jérôme Duval <jerome.duval@gmail.com>


# 13e1bb0e 28-Apr-2021 Zoltán Mizsei <zmizsei@extrowerk.com>

Enable GCC11 as GCC4 compatible ABI

Change-Id: I55faec61f9f3162108c5ad4da11bad588663c9d1
Reviewed-on: https://review.haiku-os.org/c/haiku/+/3890
Reviewed-by: Jérôme Duval <jerome.duval@gmail.com>


# a742970b 30-Apr-2020 Alexander von Gluck IV <kallisti5@unixzen.com>

Fix build of Haiku on gcc10 host

Change-Id: Iea16a7d07a32497c4f228739945356b5c8be9897
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2540
Reviewed-by: waddlesplash <waddlesplash@gmail.com>


# a20a26e2 08-May-2020 Augustin Cavalier <waddlesplash@gmail.com>

Versioning: Add BETA_2 and PRE_BETA_3 constants.

* PRE_BETA_3 is now the default in master.


# 958d3f43 26-Jan-2020 X512 <danger_mail@list.ru>

BeBuild: set default visibility for _EXPORT

This is required for building shared libraries with hidden by default symbol
visiblility such as mesa.

Change-Id: I7150629aaea61d7c9b6e641d32913c5cc7c96543
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2159
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>


# 0ecfc6f3 03-May-2019 Murai Takashi <tmurai01@gmail.com>

Added some support for GCC 9.

Change-Id: I6b6cd53e00601592b44e1f2aa2804c8c9c9593d9
Reviewed-on: https://review.haiku-os.org/c/1438
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
Reviewed-by: Stephan Aßmus <superstippi@gmx.de>


# 37219550 27-Aug-2018 Augustin Cavalier <waddlesplash@gmail.com>

Versioning: Add BETA_1 and PRE_BETA_2 version constants.

* PRE_BETA_2 is now the default in master.
* For libbe: R1/alpha4 used internal=8, but nobody bumped master
at the same time, so now we are on internal=9.


# 02c9c92a 11-Dec-2017 Augustin Cavalier <waddlesplash@gmail.com>

BeBuild: Treat TinyCC as GCC4 ABI.

Since it's just a C compiler "technically" the ABI does not matter,
but since it also can target other ABIs from one toolchain (e.g. x64),
just treat it as GCC4 ABI unilaterally.

Fixes #13847.


# 952318fe 11-Jun-2017 Jérôme Duval <jerome.duval@gmail.com>

Bump B_HAIKU_VERSION to B_HAIKU_VERSION_1_PRE_BETA_1.


# 133e4131 13-May-2017 Jérôme Duval <jerome.duval@gmail.com>

Added some support for GCC 8.


# c9dba742 05-May-2016 Jérôme Duval <jerome.duval@gmail.com>

Added some support for GCC 7.


# 94887feb 20-Jul-2015 Jérôme Duval <jerome.duval@gmail.com>

Added some support for GCC 5+.


# a05e0af5 05-Nov-2013 Ingo Weinhold <ingo_weinhold@gmx.de>

BeBuild.h: Fix B_DEFINE_WEAK_ALIAS for use in C++ code


# 403bd97a 19-Aug-2012 Ryan Leavengood <leavengood@gmail.com>

Update the copyright year too.


# f1b593e7 19-Aug-2012 Ryan Leavengood <leavengood@gmail.com>

Rename Pre Beta 1 version to Pre Alpha 4, introduce Alpha 4 version.

Make Pre Beta 1 fall after Alpha 4. Hopefully we won't need an Alpha 5.


# 323b6546 21-Nov-2011 Oliver Tappe <zooey@hirschkaefer.de>

Filtered flat import of Oliver's svn package management branch

Bring the changes that aren't package management related and the ones
that are but don't take effect as long as they are ignored by the build
system into the master.

Summary of changes:
* Introduce private header <directories.h> with constants for a good
deal of paths that should usually be retrieved via find_directory().
* Replace hard-coded paths by using find_directory() or the
<directories.h> constants (e.g. in drivers and the kernel).
* Add find_directory() constants needed for package management.
* Add __HAIKU_ABI_NAME and B_HAIKU_ABI_NAME macros.
* src/apps/deskbar: BeMenu.* -> DeskbarMenu.*,
DeskBarUtils.* -> DeskbarUtils.*
* Change deskbar menu settings directory from ~/config/be to
~/config/settings/deskbar.
* Other smaller cleanups, changes, and fixes.


# 32a04e87 22-Nov-2011 Oliver Tappe <zooey@hirschkaefer.de>

Formatting cleanup of B_DEFINE_WEAK_ALIAS macro.

* This doesn't necessarily belong here, but we're going to make use
of it in the next changeset. Additionally, this change to BeBuild.h
will trigger a rebuild of nearly all files, and applying it during
the multibyte-related work will skip another full rebuild ...


# 3cb4f942 01-Nov-2011 Oliver Tappe <zooey@hirschkaefer.de>

Add macro to BeBuild.h for declaring a weak alias.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@43089 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 3dfd9cb9 16-Jun-2011 Oliver Tappe <zooey@hirschkaefer.de>

Flat commit of all changes from package-management branch in svn


# a6e171a7 16-May-2011 Rene Gollent <anevilyak@gmail.com>

Update trunk version to post-Alpha3 since the latter has now been branched.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41549 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 1c1cdc25 14-Mar-2011 Scott McCreary <scottmc2@gmail.com>

Didn't intend to change BeBuild.h, changing it back.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40958 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 5d51778d 14-Mar-2011 Scott McCreary <scottmc2@gmail.com>

Updated the gcc2 and gcc4 builds of cmake, cvs, autoconf, automake, libtool, texinfo, flex, bison, libiconv, nano, neon, libpcre, tar.
Updated m4 to 1.4.16.
Also updated the builds of sed and yasm.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40957 a95241bf-73f2-0310-859d-f6bbb57e9c96


# d34daac8 24-May-2010 Ingo Weinhold <ingo_weinhold@gmx.de>

* config/{HaikuConfig.h,types.h}:
- Added macro __HAIKU_ARCH_BITS specifying the architecture bitness (32/64)
(might be more convenient to use than __HAIKU_ARCH_{32,64}_BIT).
- Added macros __HAIKU_ARCH_PHYSICAL_BITS, __HAIKU_ARCH_PHYSICAL_{32,64}_BIT,
and the types __haiku_phys_[s]addr_t. The intention is to use separate
macros and types for virtual and physical addresses, since for some
architectures (e.g. x86 with PAE) those actually differ.
* sys/types.h, BeBuild.h, SupportDefs.h:
- Added types phys_[s]addr_t and respective printf() format macros.
- Added public macros B_HAIKU_BITS, B_HAIKU_PHYSICAL_BITS,
B_HAIKU_PHYSICAL_{32,64}_BIT.

Might break the build under older Haiku installations. Will test next.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36926 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 71ad4aed 19-Apr-2010 Ingo Weinhold <ingo_weinhold@gmx.de>

Switched trunk to R1 pre-alpha 3.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36346 a95241bf-73f2-0310-859d-f6bbb57e9c96


# bf0a463e 19-Apr-2010 Ingo Weinhold <ingo_weinhold@gmx.de>

Introduced version constants for R1 alpha 2 and R1 pre alpha 3.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36344 a95241bf-73f2-0310-859d-f6bbb57e9c96


# fff4c664 25-Nov-2009 Ingo Weinhold <ingo_weinhold@gmx.de>

Also define a B_HAIKU_32_BIT.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34265 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 2222d055 24-Nov-2009 Ingo Weinhold <ingo_weinhold@gmx.de>

* Introduced new header directory "config", which ATM contains HaikuConfig.h
and types.h. The idea is to provide a basic architecture/compiler
abstraction by defining types and macros that allow the posix/ and os/
headers to be mostly architecture/compiler agnostic.
* Adjusted the posix/ and os/ headers accordingly.
* <SupportDefs.h>: Introduced B_PRI* and B_SCN* macros similar to the PRI*
and SCN* macros defined in <inttypes.h>, just for the BeOS/Haiku [u]int*
types and some POSIX types (e.g. off_t, dev_t, ino_t) that don't have POSIX
macros. Also the B_PRI* and B_SCN* macros are available unconditionally,
unlike the <inttypes.h> macros, which require __STDC_FORMAT_MACROS to be
defined in C++ mode.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34214 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 8b581b3f 25-Aug-2009 Axel Dörfler <axeld@pinc-software.de>

* Changed trunk to some version behind the alpha.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32671 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 3a111f33 08-Jul-2009 Oliver Tappe <zooey@hirschkaefer.de>

Fixed what seems to be a typo:
* the default ABI for gcc2 builds should be B_HAIKU_ABI_GCC_2_HAIKU, not B_HAIKU_ABI_GCC_2, as the latter
is equal to B_HAIKU_ABI_GCC_2_ANCIENT and enforces the old symbol resolving behaviour.
If our build isn't ..._HAIKU, what is? ;-)
This fixes a whole lot of perl tests, which failed because the required shared libs could not be loaded
(as they contained undefined symbols that are only found in second level dependencies).
Note: the existing perl optional package works, since it does not contain any ABI specification symbol yet.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31464 a95241bf-73f2-0310-859d-f6bbb57e9c96


# f3473d28 25-May-2009 Ingo Weinhold <ingo_weinhold@gmx.de>

Patch by Scott McCreary: Replaced C++ by C comments.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30863 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 89751478 22-May-2009 Ingo Weinhold <ingo_weinhold@gmx.de>

Introduced macro B_DEFINE_SYMBOL_VERSION() in <BeBuild.h> to help with
versioning symbols, and private macro DEFINE_LIBROOT_KERNEL_SYMBOL_VERSION()
for symbols compiled into both libroot and kernel.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30828 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 0509bd72 13-May-2009 Ingo Weinhold <ingo_weinhold@gmx.de>

* Changed the layout of the Haiku version and ABI constants to allow for
more inbetween versions.
* Added constants for legacy versions.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30746 a95241bf-73f2-0310-859d-f6bbb57e9c96


# a4e151e0 12-May-2009 Ingo Weinhold <ingo_weinhold@gmx.de>

* Removed the non-GCC macro definitions.
* Added missing macro B_HAIKU_VERSION. Also added a version macro for alpha 1
-- it doesn't seem unlikely that the API will change between alpha 1 and R1.
* Added new macro B_HAIKU_ABI indicating which ABI is used (gcc 2/4).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30727 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 8bd9493d 10-Sep-2008 Stephan Aßmus <superstippi@gmx.de>

"_IMPORT" was not defined, but most (all?) BeOS software that could be compiled
for PPC would give compiler errors if this is not defined (to nothing). For
the MetroWerks compiler, one needed to explicitely import/export classes and
methods, but GCC does not need it.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27405 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 4f61b105 09-Apr-2008 Axel Dörfler <axeld@pinc-software.de>

Added some macros and an error message if another compiler than GCC is used.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24872 a95241bf-73f2-0310-859d-f6bbb57e9c96


# f6e4cbb9 15-Oct-2007 Axel Dörfler <axeld@pinc-software.de>

* Rewrote BeBuild.h which had "a few" consequences (got rid of all those class
definitions).
* Minor cleanup here and there.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22577 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 87c87b5d 15-Oct-2007 Jérôme Duval <korli@users.berlios.de>

fix build


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22571 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 758b1d0e 12-Nov-2005 Ingo Weinhold <ingo_weinhold@gmx.de>

Fixes that make Haiku build with gcc 4. Mainly out of the following
categories:
* Missing includes (like <stdlib.h> and <string.h>).
* Linking against $(TARGET_LIBSTDC++) instead of libstdc++.r4.so.
* Local variables shadowing parameters.
* Default parameters in function definitions (as opposed to function
declarations).
* All C++ stuff (nothrow, map, set, vector, min, max,...) must be imported
explicitly from the std:: namespace now.
* "new (sometype)[...]" must read "new sometype[...]", even if sometype is
something like "const char *".
* __FUNCTION__ is no longer a string literal (but a string expression), i.e.
'printf(__FUNCTION__ ": ...\n")' is invalid code.
* A type cast results in a non-lvalue. E.g. "(char *)buffer += bytes"
is an invalid expression.
* "friend class SomeClass" only works when SomeClass is known before.
Otherwise the an inner class with that name is considered as friend.
gcc 4 is much pickier about scopes.
* gcc 4 is generally stricter with respect to type conversions in C.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14878 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 0061feaf 26-Jun-2005 Philippe Houdoin <philippe.houdoin@gmail.com>

Import OpenGL kit headers, thanks to Mesa3D project.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13280 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 679778fd 17-Jun-2005 Jérôme Duval <korli@users.berlios.de>

comment out opengl defs, needed for future opengl additions


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13198 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 04409b5f 11-Sep-2003 Axel Dörfler <axeld@pinc-software.de>

The R5 Device API is not public, and shouldn't be exported by this file.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4629 a95241bf-73f2-0310-859d-f6bbb57e9c96


# c77d8268 15-May-2003 Axel Dörfler <axeld@pinc-software.de>

The updated BeBuild.h to deal with our current target platforms (which are
all gcc/ELF based).


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3247 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 52a38012 08-Jul-2002 ejakowatz <ejakowatz@nowhere.fake>

It is accomplished ...


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 94887feb6442669d41c72e998a0a4e57fee8cba1 20-Jul-2015 Jérôme Duval <jerome.duval@gmail.com>

Added some support for GCC 5+.


# a05e0af50734f0594b9ea4c273b396b28aa9d93b 05-Nov-2013 Ingo Weinhold <ingo_weinhold@gmx.de>

BeBuild.h: Fix B_DEFINE_WEAK_ALIAS for use in C++ code


# 403bd97afc49c077fedeaf1a261332bd1f33656a 19-Aug-2012 Ryan Leavengood <leavengood@gmail.com>

Update the copyright year too.


# f1b593e7b54a0d52a8302941347fd5a9d2108e21 19-Aug-2012 Ryan Leavengood <leavengood@gmail.com>

Rename Pre Beta 1 version to Pre Alpha 4, introduce Alpha 4 version.

Make Pre Beta 1 fall after Alpha 4. Hopefully we won't need an Alpha 5.


# 323b65468e5836bb27a5e373b14027d902349437 21-Nov-2011 Oliver Tappe <zooey@hirschkaefer.de>

Filtered flat import of Oliver's svn package management branch

Bring the changes that aren't package management related and the ones
that are but don't take effect as long as they are ignored by the build
system into the master.

Summary of changes:
* Introduce private header <directories.h> with constants for a good
deal of paths that should usually be retrieved via find_directory().
* Replace hard-coded paths by using find_directory() or the
<directories.h> constants (e.g. in drivers and the kernel).
* Add find_directory() constants needed for package management.
* Add __HAIKU_ABI_NAME and B_HAIKU_ABI_NAME macros.
* src/apps/deskbar: BeMenu.* -> DeskbarMenu.*,
DeskBarUtils.* -> DeskbarUtils.*
* Change deskbar menu settings directory from ~/config/be to
~/config/settings/deskbar.
* Other smaller cleanups, changes, and fixes.


# 32a04e872187f81d72bc1611bde8be02083eabc7 22-Nov-2011 Oliver Tappe <zooey@hirschkaefer.de>

Formatting cleanup of B_DEFINE_WEAK_ALIAS macro.

* This doesn't necessarily belong here, but we're going to make use
of it in the next changeset. Additionally, this change to BeBuild.h
will trigger a rebuild of nearly all files, and applying it during
the multibyte-related work will skip another full rebuild ...


# 3cb4f942953c16c1e6c6f88601a4d17c0bc30713 01-Nov-2011 Oliver Tappe <zooey@hirschkaefer.de>

Add macro to BeBuild.h for declaring a weak alias.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@43089 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 3dfd9cb95ce45f59160d50975210bc55e3fc0709 16-Jun-2011 Oliver Tappe <zooey@hirschkaefer.de>

Flat commit of all changes from package-management branch in svn


# a6e171a7e24bde5af5ed947371e0e25b8496190f 16-May-2011 Rene Gollent <anevilyak@gmail.com>

Update trunk version to post-Alpha3 since the latter has now been branched.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41549 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 1c1cdc25e178497aa525eead6c5c319e6aff3a1b 14-Mar-2011 Scott McCreary <scottmc2@gmail.com>

Didn't intend to change BeBuild.h, changing it back.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40958 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 5d51778d6ac0c4c3c666a1970fba8ae5c9f0fb01 14-Mar-2011 Scott McCreary <scottmc2@gmail.com>

Updated the gcc2 and gcc4 builds of cmake, cvs, autoconf, automake, libtool, texinfo, flex, bison, libiconv, nano, neon, libpcre, tar.
Updated m4 to 1.4.16.
Also updated the builds of sed and yasm.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40957 a95241bf-73f2-0310-859d-f6bbb57e9c96


# d34daac82a58a31e54a076f121c2bbb0cea60447 24-May-2010 Ingo Weinhold <ingo_weinhold@gmx.de>

* config/{HaikuConfig.h,types.h}:
- Added macro __HAIKU_ARCH_BITS specifying the architecture bitness (32/64)
(might be more convenient to use than __HAIKU_ARCH_{32,64}_BIT).
- Added macros __HAIKU_ARCH_PHYSICAL_BITS, __HAIKU_ARCH_PHYSICAL_{32,64}_BIT,
and the types __haiku_phys_[s]addr_t. The intention is to use separate
macros and types for virtual and physical addresses, since for some
architectures (e.g. x86 with PAE) those actually differ.
* sys/types.h, BeBuild.h, SupportDefs.h:
- Added types phys_[s]addr_t and respective printf() format macros.
- Added public macros B_HAIKU_BITS, B_HAIKU_PHYSICAL_BITS,
B_HAIKU_PHYSICAL_{32,64}_BIT.

Might break the build under older Haiku installations. Will test next.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36926 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 71ad4aedd96bf25571e6b2ace2713634d0ec86a7 19-Apr-2010 Ingo Weinhold <ingo_weinhold@gmx.de>

Switched trunk to R1 pre-alpha 3.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36346 a95241bf-73f2-0310-859d-f6bbb57e9c96


# bf0a463e35f2a449c9dce9e4fd0adec9e28f353e 19-Apr-2010 Ingo Weinhold <ingo_weinhold@gmx.de>

Introduced version constants for R1 alpha 2 and R1 pre alpha 3.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36344 a95241bf-73f2-0310-859d-f6bbb57e9c96


# fff4c6643791941cce5738a665e2e45be9b8c16a 25-Nov-2009 Ingo Weinhold <ingo_weinhold@gmx.de>

Also define a B_HAIKU_32_BIT.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34265 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 2222d0559df303a9846a2fad53741f8b20b14d7c 24-Nov-2009 Ingo Weinhold <ingo_weinhold@gmx.de>

* Introduced new header directory "config", which ATM contains HaikuConfig.h
and types.h. The idea is to provide a basic architecture/compiler
abstraction by defining types and macros that allow the posix/ and os/
headers to be mostly architecture/compiler agnostic.
* Adjusted the posix/ and os/ headers accordingly.
* <SupportDefs.h>: Introduced B_PRI* and B_SCN* macros similar to the PRI*
and SCN* macros defined in <inttypes.h>, just for the BeOS/Haiku [u]int*
types and some POSIX types (e.g. off_t, dev_t, ino_t) that don't have POSIX
macros. Also the B_PRI* and B_SCN* macros are available unconditionally,
unlike the <inttypes.h> macros, which require __STDC_FORMAT_MACROS to be
defined in C++ mode.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34214 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 8b581b3f23940816a6c46c3eede35206da3d789f 25-Aug-2009 Axel Dörfler <axeld@pinc-software.de>

* Changed trunk to some version behind the alpha.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32671 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 3a111f331099667259e0907d4c89f61fa72ce451 08-Jul-2009 Oliver Tappe <zooey@hirschkaefer.de>

Fixed what seems to be a typo:
* the default ABI for gcc2 builds should be B_HAIKU_ABI_GCC_2_HAIKU, not B_HAIKU_ABI_GCC_2, as the latter
is equal to B_HAIKU_ABI_GCC_2_ANCIENT and enforces the old symbol resolving behaviour.
If our build isn't ..._HAIKU, what is? ;-)
This fixes a whole lot of perl tests, which failed because the required shared libs could not be loaded
(as they contained undefined symbols that are only found in second level dependencies).
Note: the existing perl optional package works, since it does not contain any ABI specification symbol yet.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31464 a95241bf-73f2-0310-859d-f6bbb57e9c96


# f3473d28c077ade345d5661b0f23d14ab675f85d 25-May-2009 Ingo Weinhold <ingo_weinhold@gmx.de>

Patch by Scott McCreary: Replaced C++ by C comments.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30863 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 897514785ad56c826088abab1233f4e4eaba001e 22-May-2009 Ingo Weinhold <ingo_weinhold@gmx.de>

Introduced macro B_DEFINE_SYMBOL_VERSION() in <BeBuild.h> to help with
versioning symbols, and private macro DEFINE_LIBROOT_KERNEL_SYMBOL_VERSION()
for symbols compiled into both libroot and kernel.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30828 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 0509bd723141dba91a22927a42ca90ea049c5e2f 13-May-2009 Ingo Weinhold <ingo_weinhold@gmx.de>

* Changed the layout of the Haiku version and ABI constants to allow for
more inbetween versions.
* Added constants for legacy versions.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30746 a95241bf-73f2-0310-859d-f6bbb57e9c96


# a4e151e06dbcd5da5980e2c58b19849cb21d3520 12-May-2009 Ingo Weinhold <ingo_weinhold@gmx.de>

* Removed the non-GCC macro definitions.
* Added missing macro B_HAIKU_VERSION. Also added a version macro for alpha 1
-- it doesn't seem unlikely that the API will change between alpha 1 and R1.
* Added new macro B_HAIKU_ABI indicating which ABI is used (gcc 2/4).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30727 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 8bd9493d554a20fd56ecded8c5ea503f031ddf30 10-Sep-2008 Stephan Aßmus <superstippi@gmx.de>

"_IMPORT" was not defined, but most (all?) BeOS software that could be compiled
for PPC would give compiler errors if this is not defined (to nothing). For
the MetroWerks compiler, one needed to explicitely import/export classes and
methods, but GCC does not need it.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27405 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 4f61b1059cf6d0347788b79afb7ea3be770ba97a 09-Apr-2008 Axel Dörfler <axeld@pinc-software.de>

Added some macros and an error message if another compiler than GCC is used.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24872 a95241bf-73f2-0310-859d-f6bbb57e9c96


# f6e4cbb95290a74b33d012600438b84742b0e572 15-Oct-2007 Axel Dörfler <axeld@pinc-software.de>

* Rewrote BeBuild.h which had "a few" consequences (got rid of all those class
definitions).
* Minor cleanup here and there.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22577 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 87c87b5dbc66ca58bc2ceb2da80b848453fe71e6 15-Oct-2007 Jérôme Duval <korli@users.berlios.de>

fix build


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22571 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 758b1d0e05fe1042cce6e00d194a147802d4f9be 12-Nov-2005 Ingo Weinhold <ingo_weinhold@gmx.de>

Fixes that make Haiku build with gcc 4. Mainly out of the following
categories:
* Missing includes (like <stdlib.h> and <string.h>).
* Linking against $(TARGET_LIBSTDC++) instead of libstdc++.r4.so.
* Local variables shadowing parameters.
* Default parameters in function definitions (as opposed to function
declarations).
* All C++ stuff (nothrow, map, set, vector, min, max,...) must be imported
explicitly from the std:: namespace now.
* "new (sometype)[...]" must read "new sometype[...]", even if sometype is
something like "const char *".
* __FUNCTION__ is no longer a string literal (but a string expression), i.e.
'printf(__FUNCTION__ ": ...\n")' is invalid code.
* A type cast results in a non-lvalue. E.g. "(char *)buffer += bytes"
is an invalid expression.
* "friend class SomeClass" only works when SomeClass is known before.
Otherwise the an inner class with that name is considered as friend.
gcc 4 is much pickier about scopes.
* gcc 4 is generally stricter with respect to type conversions in C.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14878 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 0061feaff032712b9ef7ec07f5d5d970b34b59c3 26-Jun-2005 Philippe Houdoin <philippe.houdoin@gmail.com>

Import OpenGL kit headers, thanks to Mesa3D project.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13280 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 679778fdd81ac0aad3c1751894fc17d5e2881efa 17-Jun-2005 Jérôme Duval <korli@users.berlios.de>

comment out opengl defs, needed for future opengl additions


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13198 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 04409b5f9ea0742ce033d75dd70ddb8c81a39ae6 11-Sep-2003 Axel Dörfler <axeld@pinc-software.de>

The R5 Device API is not public, and shouldn't be exported by this file.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4629 a95241bf-73f2-0310-859d-f6bbb57e9c96


# c77d826810e890d173ef9e9bda8a17645fe3fedb 15-May-2003 Axel Dörfler <axeld@pinc-software.de>

The updated BeBuild.h to deal with our current target platforms (which are
all gcc/ELF based).


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3247 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 52a380120846174213ccce9c4aab0dda17c72083 08-Jul-2002 ejakowatz <ejakowatz@nowhere.fake>

It is accomplished ...


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10 a95241bf-73f2-0310-859d-f6bbb57e9c96