History log of /haiku/headers/build/BeOSBuildCompatibility.h
Revision Date Author Comments
# 807304b1 23-Nov-2018 Augustin Cavalier <waddlesplash@gmail.com>

build: Add basic support for MinGW hosts.

This doesn't fully work yet (the FS code in libroot_build
needs to be adapted, as some of the symlink-related calls
are not available on MinGW), but it gets much further than
the "Cygwin" target did.


# 37c10606 23-Nov-2018 Augustin Cavalier <waddlesplash@gmail.com>

build: Remove support for cross-building from Cygwin and SunOS.

These have been broken for a long time. Some Cygwin changes that
are relevant on MinGW are kept here, but users on Windows who
want to build Haiku should probably use WSL at this point.

However, now that we are using relative paths and don't need
to worry about drive path kludges, it's actually possible to
get some host tools built on MinGW. Changes for that coming.


# 2284eb48 29-Apr-2018 Niels Sascha Reedijk <niels.reedijk@gmail.com>

Add ALLPERMS and DEFFILEMODE to enable building on hosts with the musl c library


# 648f0d5f 14-Apr-2018 Augustin Cavalier <waddlesplash@gmail.com>

libroot_build: Properly remap fs_attr_* functions.

This was done using macros before, which isn't the way we have things set up.
In theory that method should work, however if not all consumers include the
libroot_build headers properly, then it breaks in subtle but confusing ways,
which is not what we want at all.

Thanks to Jessica for advice.

Change-Id: Idd45df5547daecf8239932957088da03ddfccf87


# a7d796e2 17-Dec-2013 Jonathan Schleifer <js@webkeks.org>

Only declare strl{cpy,cat} if they aren't defines.

On some system (e.g. OS X Mavericks), those are defines to compiler
built-ins, thus trying to declare them will fail.


# 55bc3719 30-Jun-2011 Ingo Weinhold <ingo_weinhold@gmx.de>

Wrap POSIX FD functions in libroot_build

This makes opening symlinks work universally in the build system tools.
Two mechanisms have been implemented, both of which don't always work.
The first is remapping via preprocessor macros. This fails where equally
named methods are used (e.g. STL fstream::open()). The other is using
hidden functions in the new libroot_build_function_remapper.a that is
linked into everything that is linked against libroot_build.so. This one
fails for functions that are defined inline in headers (Linux/glibc does
that). Together they seem to cover our build system needs ATM.


# 4dbc2457 30-Jun-2011 Ingo Weinhold <ingo_weinhold@gmx.de>

Wrap POSIX FD functions in libroot_build

This makes opening symlinks work universally in the build system tools.
Two mechanisms have been implemented, both of which don't always work.
The first is remapping via preprocessor macros. This fails where equally
named methods are used (e.g. STL fstream::open()). The other is using
hidden functions in the new libroot_build_function_remapper.a that is
linked into everything that is linked against libroot_build.so. This one
fails for functions that are defined inline in headers (Linux/glibc does
that). Together they seem to cover our build system needs ATM.


# ea021b94 25-May-2010 Ingo Weinhold <ingo_weinhold@gmx.de>

* Moved phys_addr_t definition to SupportDefs.h.
* Added phys_size_t.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36934 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


# 64266621 26-Nov-2009 Axel Dörfler <axeld@pinc-software.de>

* Map O_NOTRAVERSE to rarely used or non portable O_ modes if possible.
* Fixed indentation.


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


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

* configure: Pass gcc's host machine string to the jam build system.
* BuildSetup: Set jam variable HOST_PLATFORM_IS_64_BIT and add host define
HAIKU_HOST_PLATFORM_64_BIT if the host platform is 64 bit. Removed the
check from BeOSBuildCompatibility.h.


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


# 4d121ec0 09-Aug-2008 Ingo Weinhold <ingo_weinhold@gmx.de>

Patch by Andreas Faerber with changes by myself: Work towards Solaris
build platform support.


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


# 59c40b2f 23-Jul-2008 Maurice Kalinowski <mauricek@nowhere.fake>

julun+mauricek:
* Cygwin needs some additional defines compared to other platforms
* Additionally stpcpy and strcasestr are unknown on Cygwin. Thus we need to use the one from our posix library.
* ECANCELED is not defined on Cygwin, so only add error in case it is.

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


# 4c8f3064 04-Sep-2007 Ingo Weinhold <ingo_weinhold@gmx.de>

<fcntl.h> needs to be included for O_NOFOLLOW.


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


# bf96bbaf 04-Sep-2007 Ingo Weinhold <ingo_weinhold@gmx.de>

Include <sys/uio.h> to fix gcc 4 warning.


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


# 913f680e 17-Jun-2007 Jérôme Duval <korli@users.berlios.de>

followed Ingo's suggestion and introduced HAIKU_HOST_PLATFORM_64_BIT macro


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


# 6dcd0ccf 18-May-2007 Ingo Weinhold <ingo_weinhold@gmx.de>

Patch by Morgan Howe (slightly modified): Several changes to support
building on Mac OS X (Darwin). A problem with makebootable remains.


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


# f38eff6a 26-Apr-2007 Ingo Weinhold <ingo_weinhold@gmx.de>

Added a few more functions to the host platform BeOS compatibility layer:
* thread related functions,
* semaphore related functions,
* atomic_*() functions,
* readv_pos(), writev_pos().


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


# 69b1f76d 29-Nov-2006 Ingo Weinhold <ingo_weinhold@gmx.de>

FreeBSD build platform support. Original patches courtesy of
Samuel Rodriguez Perez, somewhat hacked by myself.


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


# 9f8734eb 02-Feb-2006 Axel Dörfler <axeld@pinc-software.de>

FreeBSD doesn't have strnlen(), and therefore couldn't compile our strlcat.c.
Sorry, that was the problem actually reported by Alexander Deynichenko...


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


# 40b83433 02-Feb-2006 Axel Dörfler <axeld@pinc-software.de>

Should fix the build under FreeBSD, problem reported by Alexander Deynichenko.


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


# 64c51217 07-Nov-2005 Ingo Weinhold <ingo_weinhold@gmx.de>

Fixed header guard name.


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


# 15694b30 04-Nov-2005 Ingo Weinhold <ingo_weinhold@gmx.de>

Will take over the functionality of HaikuBuildCompatiblity.h, while that one
will make a BeOS platform more Haiku compatible.


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


# a7d796e232a0a41377c57d435a8f639db0421ef1 17-Dec-2013 Jonathan Schleifer <js@webkeks.org>

Only declare strl{cpy,cat} if they aren't defines.

On some system (e.g. OS X Mavericks), those are defines to compiler
built-ins, thus trying to declare them will fail.


# 55bc371993f0588118e3c684e18eae5b6e4a6e22 30-Jun-2011 Ingo Weinhold <ingo_weinhold@gmx.de>

Wrap POSIX FD functions in libroot_build

This makes opening symlinks work universally in the build system tools.
Two mechanisms have been implemented, both of which don't always work.
The first is remapping via preprocessor macros. This fails where equally
named methods are used (e.g. STL fstream::open()). The other is using
hidden functions in the new libroot_build_function_remapper.a that is
linked into everything that is linked against libroot_build.so. This one
fails for functions that are defined inline in headers (Linux/glibc does
that). Together they seem to cover our build system needs ATM.


# 4dbc2457985f94d2aa46668739f73231b4b2edfb 30-Jun-2011 Ingo Weinhold <ingo_weinhold@gmx.de>

Wrap POSIX FD functions in libroot_build

This makes opening symlinks work universally in the build system tools.
Two mechanisms have been implemented, both of which don't always work.
The first is remapping via preprocessor macros. This fails where equally
named methods are used (e.g. STL fstream::open()). The other is using
hidden functions in the new libroot_build_function_remapper.a that is
linked into everything that is linked against libroot_build.so. This one
fails for functions that are defined inline in headers (Linux/glibc does
that). Together they seem to cover our build system needs ATM.


# ea021b94d81dfcaf8ecb7439a11af3a116fc0247 25-May-2010 Ingo Weinhold <ingo_weinhold@gmx.de>

* Moved phys_addr_t definition to SupportDefs.h.
* Added phys_size_t.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36934 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


# 64266621a221b11c145c6c711286f7430a4a54d3 26-Nov-2009 Axel Dörfler <axeld@pinc-software.de>

* Map O_NOTRAVERSE to rarely used or non portable O_ modes if possible.
* Fixed indentation.


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


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

* configure: Pass gcc's host machine string to the jam build system.
* BuildSetup: Set jam variable HOST_PLATFORM_IS_64_BIT and add host define
HAIKU_HOST_PLATFORM_64_BIT if the host platform is 64 bit. Removed the
check from BeOSBuildCompatibility.h.


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


# 4d121ec0678890dc6c2b19bdf11a7b9e02785462 09-Aug-2008 Ingo Weinhold <ingo_weinhold@gmx.de>

Patch by Andreas Faerber with changes by myself: Work towards Solaris
build platform support.


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


# 59c40b2f95340725311e1063c446e119cb39d5c0 23-Jul-2008 Maurice Kalinowski <mauricek@nowhere.fake>

julun+mauricek:
* Cygwin needs some additional defines compared to other platforms
* Additionally stpcpy and strcasestr are unknown on Cygwin. Thus we need to use the one from our posix library.
* ECANCELED is not defined on Cygwin, so only add error in case it is.

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


# 4c8f3064a269e208dd0b616233e63c6961edc89d 04-Sep-2007 Ingo Weinhold <ingo_weinhold@gmx.de>

<fcntl.h> needs to be included for O_NOFOLLOW.


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


# bf96bbafd83d3b0b48fb685501e64e1910bf3cbf 04-Sep-2007 Ingo Weinhold <ingo_weinhold@gmx.de>

Include <sys/uio.h> to fix gcc 4 warning.


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


# 913f680ea231a0a8d89bb7e49296a22d162e1eaf 17-Jun-2007 Jérôme Duval <korli@users.berlios.de>

followed Ingo's suggestion and introduced HAIKU_HOST_PLATFORM_64_BIT macro


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


# 6dcd0ccf238263a3e5eb2e2a44e2ed0da1617a42 18-May-2007 Ingo Weinhold <ingo_weinhold@gmx.de>

Patch by Morgan Howe (slightly modified): Several changes to support
building on Mac OS X (Darwin). A problem with makebootable remains.


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


# f38eff6aa2d14c0c49f12dc9818d6b23cf9e861d 26-Apr-2007 Ingo Weinhold <ingo_weinhold@gmx.de>

Added a few more functions to the host platform BeOS compatibility layer:
* thread related functions,
* semaphore related functions,
* atomic_*() functions,
* readv_pos(), writev_pos().


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


# 69b1f76d66e7870cd9a0be8c4cf13b945dfad743 29-Nov-2006 Ingo Weinhold <ingo_weinhold@gmx.de>

FreeBSD build platform support. Original patches courtesy of
Samuel Rodriguez Perez, somewhat hacked by myself.


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


# 9f8734ebea836decd58dbefc05af7380cac82439 02-Feb-2006 Axel Dörfler <axeld@pinc-software.de>

FreeBSD doesn't have strnlen(), and therefore couldn't compile our strlcat.c.
Sorry, that was the problem actually reported by Alexander Deynichenko...


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


# 40b8343312b7e07d9ed7f8392f05ab1d822353ca 02-Feb-2006 Axel Dörfler <axeld@pinc-software.de>

Should fix the build under FreeBSD, problem reported by Alexander Deynichenko.


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


# 64c51217b2f66a39b16df84f5f358df10f7fc179 07-Nov-2005 Ingo Weinhold <ingo_weinhold@gmx.de>

Fixed header guard name.


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


# 15694b30327937a1a0a4af608472197cb24567da 04-Nov-2005 Ingo Weinhold <ingo_weinhold@gmx.de>

Will take over the functionality of HaikuBuildCompatiblity.h, while that one
will make a BeOS platform more Haiku compatible.


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