mirror of
https://github.com/yann64/haikuports.git
synced 2026-04-23 12:10:06 +02:00
boost: update to 1.57.0.
This version builds with gcc5.
This commit is contained in:
@@ -1,22 +1,22 @@
|
|||||||
SUMMARY="A set of libraries for the C++ programming language"
|
SUMMARY="A set of libraries for the C++ programming language"
|
||||||
DESCRIPTION="
|
DESCRIPTION="
|
||||||
Boost is a set of libraries for the C++ programming language that provide \
|
Boost is a set of libraries for the C++ programming language that provide \
|
||||||
support for tasks and structures such as linear algebra, pseudorandom number \
|
support for tasks and structures such as linear algebra, pseudorandom number \
|
||||||
generation, multithreading, image processing, regular expressions, and unit \
|
generation, multithreading, image processing, regular expressions, and unit \
|
||||||
testing. It contains over eighty individual libraries.
|
testing. It contains over eighty individual libraries.
|
||||||
"
|
"
|
||||||
HOMEPAGE="http://www.boost.org/"
|
HOMEPAGE="http://www.boost.org/"
|
||||||
SOURCE_URI="http://sourceforge.net/projects/boost/files/boost/1.55.0/boost_1_55_0.tar.bz2"
|
SOURCE_URI="http://sourceforge.net/projects/boost/files/boost/$portVersion/boost_1_57_0.tar.bz2"
|
||||||
CHECKSUM_SHA256="fff00023dd79486d444c8e29922f4072e1d451fc5a4d2b6075852ead7f2b7b52"
|
CHECKSUM_SHA256="910c8c022a33ccec7f088bd65d4f14b466588dda94ba2124e78b8c57db264967"
|
||||||
REVISION="6"
|
REVISION="1"
|
||||||
LICENSE="Boost v1.0"
|
LICENSE="Boost v1.0"
|
||||||
COPYRIGHT="1998-2013 Beman Dawes, David Abrahams, Rene Rivera, et al."
|
COPYRIGHT="1998-2014 Beman Dawes, David Abrahams, Rene Rivera, et al."
|
||||||
ARCHITECTURES="!x86_gcc2 x86 ?x86_64"
|
ARCHITECTURES="!x86_gcc2 x86 ?x86_64"
|
||||||
SECONDARY_ARCHITECTURES="x86"
|
SECONDARY_ARCHITECTURES="x86"
|
||||||
|
|
||||||
SOURCE_DIR="boost_1_55_0"
|
SOURCE_DIR="boost_1_57_0"
|
||||||
|
|
||||||
PATCHES="boost-1.55.0.patchset"
|
PATCHES="boost-1.57.0.patchset"
|
||||||
|
|
||||||
PROVIDES="
|
PROVIDES="
|
||||||
boost$secondaryArchSuffix = $portVersion
|
boost$secondaryArchSuffix = $portVersion
|
||||||
@@ -26,6 +26,7 @@ REQUIRES="
|
|||||||
haiku$secondaryArchSuffix
|
haiku$secondaryArchSuffix
|
||||||
boost_atomic$secondaryArchSuffix == $portVersion
|
boost_atomic$secondaryArchSuffix == $portVersion
|
||||||
boost_chrono$secondaryArchSuffix == $portVersion
|
boost_chrono$secondaryArchSuffix == $portVersion
|
||||||
|
boost_container$secondaryArchSuffix == $portVersion
|
||||||
boost_context$secondaryArchSuffix == $portVersion
|
boost_context$secondaryArchSuffix == $portVersion
|
||||||
boost_coroutine$secondaryArchSuffix == $portVersion
|
boost_coroutine$secondaryArchSuffix == $portVersion
|
||||||
boost_date_time$secondaryArchSuffix == $portVersion
|
boost_date_time$secondaryArchSuffix == $portVersion
|
||||||
@@ -71,7 +72,7 @@ BUILD()
|
|||||||
--libdir=$libDir \
|
--libdir=$libDir \
|
||||||
--includedir=$includeDir
|
--includedir=$includeDir
|
||||||
|
|
||||||
./b2 $jobArgs \
|
./b2 -q $jobArgs \
|
||||||
--without-mpi \
|
--without-mpi \
|
||||||
--enable-threads=posix \
|
--enable-threads=posix \
|
||||||
--enable-thread-local-alloc \
|
--enable-thread-local-alloc \
|
||||||
@@ -86,7 +87,7 @@ BUILD()
|
|||||||
|
|
||||||
INSTALL()
|
INSTALL()
|
||||||
{
|
{
|
||||||
./b2 $jobArgs \
|
./b2 -q $jobArgs \
|
||||||
--without-mpi \
|
--without-mpi \
|
||||||
--enable-threads=posix \
|
--enable-threads=posix \
|
||||||
--enable-thread-local-alloc \
|
--enable-thread-local-alloc \
|
||||||
@@ -99,8 +100,8 @@ INSTALL()
|
|||||||
--without-python \
|
--without-python \
|
||||||
install
|
install
|
||||||
|
|
||||||
prepareInstalledDevelLibs libboost_atomic \
|
prepareInstalledDevelLibs libboost_atomic libboost_chrono \
|
||||||
libboost_chrono libboost_context libboost_coroutine \
|
libboost_container libboost_context libboost_coroutine \
|
||||||
libboost_date_time libboost_filesystem libboost_iostreams \
|
libboost_date_time libboost_filesystem libboost_iostreams \
|
||||||
libboost_locale libboost_log libboost_log_setup \
|
libboost_locale libboost_log libboost_log_setup \
|
||||||
libboost_math_c99 libboost_math_c99f libboost_math_c99l \
|
libboost_math_c99 libboost_math_c99f libboost_math_c99l \
|
||||||
@@ -114,6 +115,7 @@ INSTALL()
|
|||||||
packageEntries devel $developDir
|
packageEntries devel $developDir
|
||||||
packageEntries atomic $libDir/libboost_atomic*
|
packageEntries atomic $libDir/libboost_atomic*
|
||||||
packageEntries chrono $libDir/libboost_chrono*
|
packageEntries chrono $libDir/libboost_chrono*
|
||||||
|
packageEntries container $libDir/libboost_container*
|
||||||
packageEntries context $libDir/libboost_context*
|
packageEntries context $libDir/libboost_context*
|
||||||
packageEntries coroutine $libDir/libboost_coroutine*
|
packageEntries coroutine $libDir/libboost_coroutine*
|
||||||
packageEntries date_time $libDir/libboost_date_time*
|
packageEntries date_time $libDir/libboost_date_time*
|
||||||
@@ -146,6 +148,7 @@ PROVIDES_devel="
|
|||||||
boost${secondaryArchSuffix}_devel = $portVersion
|
boost${secondaryArchSuffix}_devel = $portVersion
|
||||||
devel:libboost_atomic$secondaryArchSuffix = $portVersion
|
devel:libboost_atomic$secondaryArchSuffix = $portVersion
|
||||||
devel:libboost_chrono$secondaryArchSuffix = $portVersion
|
devel:libboost_chrono$secondaryArchSuffix = $portVersion
|
||||||
|
devel:libboost_container$secondaryArchSuffix = $portVersion
|
||||||
devel:libboost_context$secondaryArchSuffix = $portVersion
|
devel:libboost_context$secondaryArchSuffix = $portVersion
|
||||||
devel:libboost_coroutine$secondaryArchSuffix = $portVersion
|
devel:libboost_coroutine$secondaryArchSuffix = $portVersion
|
||||||
devel:libboost_date_time$secondaryArchSuffix = $portVersion
|
devel:libboost_date_time$secondaryArchSuffix = $portVersion
|
||||||
@@ -182,6 +185,7 @@ REQUIRES_devel="
|
|||||||
boost$secondaryArchSuffix == $portVersion
|
boost$secondaryArchSuffix == $portVersion
|
||||||
boost_atomic$secondaryArchSuffix == $portVersion
|
boost_atomic$secondaryArchSuffix == $portVersion
|
||||||
boost_chrono$secondaryArchSuffix == $portVersion
|
boost_chrono$secondaryArchSuffix == $portVersion
|
||||||
|
boost_container$secondaryArchSuffix == $portVersion
|
||||||
boost_context$secondaryArchSuffix == $portVersion
|
boost_context$secondaryArchSuffix == $portVersion
|
||||||
boost_coroutine$secondaryArchSuffix == $portVersion
|
boost_coroutine$secondaryArchSuffix == $portVersion
|
||||||
boost_date_time$secondaryArchSuffix == $portVersion
|
boost_date_time$secondaryArchSuffix == $portVersion
|
||||||
@@ -224,6 +228,15 @@ REQUIRES_chrono="
|
|||||||
lib:libboost_system$secondaryArchSuffix == $portVersion
|
lib:libboost_system$secondaryArchSuffix == $portVersion
|
||||||
"
|
"
|
||||||
|
|
||||||
|
PROVIDES_container="
|
||||||
|
boost_container$secondaryArchSuffix = $portVersion
|
||||||
|
lib:libboost_container$secondaryArchSuffix = $portVersion
|
||||||
|
"
|
||||||
|
|
||||||
|
REQUIRES_container="
|
||||||
|
haiku$secondaryArchSuffix
|
||||||
|
"
|
||||||
|
|
||||||
PROVIDES_context="
|
PROVIDES_context="
|
||||||
boost_context$secondaryArchSuffix = $portVersion
|
boost_context$secondaryArchSuffix = $portVersion
|
||||||
lib:libboost_context$secondaryArchSuffix = $portVersion
|
lib:libboost_context$secondaryArchSuffix = $portVersion
|
||||||
@@ -240,8 +253,10 @@ PROVIDES_coroutine="
|
|||||||
|
|
||||||
REQUIRES_coroutine="
|
REQUIRES_coroutine="
|
||||||
haiku$secondaryArchSuffix
|
haiku$secondaryArchSuffix
|
||||||
|
lib:libboost_chrono$secondaryArchSuffix == $portVersion
|
||||||
lib:libboost_context$secondaryArchSuffix == $portVersion
|
lib:libboost_context$secondaryArchSuffix == $portVersion
|
||||||
lib:libboost_system$secondaryArchSuffix == $portVersion
|
lib:libboost_system$secondaryArchSuffix == $portVersion
|
||||||
|
lib:libboost_thread$secondaryArchSuffix == $portVersion
|
||||||
"
|
"
|
||||||
|
|
||||||
PROVIDES_date_time="
|
PROVIDES_date_time="
|
||||||
@@ -322,10 +337,14 @@ PROVIDES_log="
|
|||||||
REQUIRES_log="
|
REQUIRES_log="
|
||||||
haiku$secondaryArchSuffix
|
haiku$secondaryArchSuffix
|
||||||
lib:libboost_chrono$secondaryArchSuffix == $portVersion
|
lib:libboost_chrono$secondaryArchSuffix == $portVersion
|
||||||
lib:libboost_filesystem$secondaryArchSuffix == $portVersion
|
|
||||||
lib:libboost_system$secondaryArchSuffix == $portVersion
|
|
||||||
lib:libboost_date_time$secondaryArchSuffix == $portVersion
|
lib:libboost_date_time$secondaryArchSuffix == $portVersion
|
||||||
|
lib:libboost_filesystem$secondaryArchSuffix == $portVersion
|
||||||
|
lib:libboost_regex$secondaryArchSuffix == $portVersion
|
||||||
|
lib:libboost_system$secondaryArchSuffix == $portVersion
|
||||||
lib:libboost_thread$secondaryArchSuffix == $portVersion
|
lib:libboost_thread$secondaryArchSuffix == $portVersion
|
||||||
|
lib:libicuuc$secondaryArchSuffix
|
||||||
|
lib:libicui18n$secondaryArchSuffix
|
||||||
|
lib:libicudata$secondaryArchSuffix
|
||||||
"
|
"
|
||||||
|
|
||||||
PROVIDES_math="
|
PROVIDES_math="
|
||||||
@@ -358,6 +377,7 @@ PROVIDES_random="
|
|||||||
|
|
||||||
REQUIRES_random="
|
REQUIRES_random="
|
||||||
haiku$secondaryArchSuffix
|
haiku$secondaryArchSuffix
|
||||||
|
lib:libboost_system$secondaryArchSuffix == $portVersion
|
||||||
"
|
"
|
||||||
|
|
||||||
PROVIDES_regex="
|
PROVIDES_regex="
|
||||||
@@ -1,469 +0,0 @@
|
|||||||
From c0848cd5528c0623d360be34004a411955ce6c98 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Scott McCreary <scottmc2@gmail.com>
|
|
||||||
Date: Sun, 22 Dec 2013 10:01:12 -0800
|
|
||||||
Subject: applying patch boost-1.55.0.patch
|
|
||||||
|
|
||||||
|
|
||||||
diff --git a/boost/config/platform/haiku.hpp b/boost/config/platform/haiku.hpp
|
|
||||||
new file mode 100644
|
|
||||||
index 0000000..1b15c7e
|
|
||||||
--- /dev/null
|
|
||||||
+++ b/boost/config/platform/haiku.hpp
|
|
||||||
@@ -0,0 +1,27 @@
|
|
||||||
+// (C) Copyright John Maddock 2001.
|
|
||||||
+// Use, modification and distribution are subject to the
|
|
||||||
+// Boost Software License, Version 1.0. (See accompanying file
|
|
||||||
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
|
||||||
+
|
|
||||||
+// See http://www.boost.org for most recent version.
|
|
||||||
+
|
|
||||||
+// Haiku specific config options:
|
|
||||||
+
|
|
||||||
+#define BOOST_PLATFORM "Haiku"
|
|
||||||
+
|
|
||||||
+#define BOOST_NO_INTRINSIC_WCHAR_T
|
|
||||||
+#define BOOST_HAS_UNISTD_H
|
|
||||||
+
|
|
||||||
+#define BOOST_HAS_BETHREADS
|
|
||||||
+
|
|
||||||
+#ifndef BOOST_DISABLE_THREADS
|
|
||||||
+# define BOOST_HAS_THREADS
|
|
||||||
+#endif
|
|
||||||
+
|
|
||||||
+//
|
|
||||||
+// thread API's not auto detected:
|
|
||||||
+//
|
|
||||||
+#define BOOST_HAS_GETTIMEOFDAY
|
|
||||||
+
|
|
||||||
+// boilerplate code:
|
|
||||||
+#include <boost/config/posix_features.hpp>
|
|
||||||
diff --git a/boost/config/select_platform_config.hpp b/boost/config/select_platform_config.hpp
|
|
||||||
index 2af61d2..5052d85 100644
|
|
||||||
--- a/boost/config/select_platform_config.hpp
|
|
||||||
+++ b/boost/config/select_platform_config.hpp
|
|
||||||
@@ -41,6 +41,10 @@
|
|
||||||
// win32:
|
|
||||||
# define BOOST_PLATFORM_CONFIG "boost/config/platform/win32.hpp"
|
|
||||||
|
|
||||||
+#elif defined(__HAIKU__)
|
|
||||||
+// Haiku
|
|
||||||
+# define BOOST_PLATFORM_CONFIG "boost/config/platform/haiku.hpp"
|
|
||||||
+
|
|
||||||
#elif defined(__BEOS__)
|
|
||||||
// BeOS
|
|
||||||
# define BOOST_PLATFORM_CONFIG "boost/config/platform/beos.hpp"
|
|
||||||
diff --git a/boost/config/stdlib/libstdcpp3.hpp b/boost/config/stdlib/libstdcpp3.hpp
|
|
||||||
index 976ab76..66bc96d 100644
|
|
||||||
--- a/boost/config/stdlib/libstdcpp3.hpp
|
|
||||||
+++ b/boost/config/stdlib/libstdcpp3.hpp
|
|
||||||
@@ -36,7 +36,8 @@
|
|
||||||
|| defined(_GLIBCXX__PTHREADS) \
|
|
||||||
|| defined(_GLIBCXX_HAS_GTHREADS) \
|
|
||||||
|| defined(_WIN32) \
|
|
||||||
- || defined(_AIX)
|
|
||||||
+ || defined(_AIX) \
|
|
||||||
+ || defined(__HAIKU__)
|
|
||||||
//
|
|
||||||
// If the std lib has thread support turned on, then turn it on in Boost
|
|
||||||
// as well. We do this because some gcc-3.4 std lib headers define _REENTANT
|
|
||||||
diff --git a/boost/thread/detail/platform.hpp b/boost/thread/detail/platform.hpp
|
|
||||||
index 1f33b1a..1b8917c 100644
|
|
||||||
--- a/boost/thread/detail/platform.hpp
|
|
||||||
+++ b/boost/thread/detail/platform.hpp
|
|
||||||
@@ -34,6 +34,8 @@
|
|
||||||
# define BOOST_THREAD_WIN32
|
|
||||||
#elif defined(__BEOS__)
|
|
||||||
# define BOOST_THREAD_BEOS
|
|
||||||
+#elif defined(__HAIKU__)
|
|
||||||
+# define BOOST_THREAD_BEOS
|
|
||||||
#elif defined(macintosh) || defined(__APPLE__) || defined(__APPLE_CC__)
|
|
||||||
# define BOOST_THREAD_MACOS
|
|
||||||
//# define BOOST_THREAD_WAIT_BUG boost::posix_time::microseconds(1000)
|
|
||||||
diff --git a/tools/build/v2/engine/boehm_gc/dyn_load.c b/tools/build/v2/engine/boehm_gc/dyn_load.c
|
|
||||||
index 36968ba..e725bdc 100644
|
|
||||||
--- a/tools/build/v2/engine/boehm_gc/dyn_load.c
|
|
||||||
+++ b/tools/build/v2/engine/boehm_gc/dyn_load.c
|
|
||||||
@@ -64,7 +64,7 @@ static int (*GC_has_static_roots)(const char *, void *, size_t);
|
|
||||||
!defined(AIX) && !defined(SCO_ELF) && !defined(DGUX) && \
|
|
||||||
!(defined(FREEBSD) && defined(__ELF__)) && \
|
|
||||||
!(defined(NETBSD) && defined(__ELF__)) && !defined(HURD) && \
|
|
||||||
- !defined(DARWIN) && !defined(CYGWIN32)
|
|
||||||
+ !defined(DARWIN) && !defined(CYGWIN32) !(defined(HAIKU)
|
|
||||||
--> We only know how to find data segments of dynamic libraries for the
|
|
||||||
--> above. Additional SVR4 variants might not be too
|
|
||||||
--> hard to add.
|
|
||||||
@@ -82,6 +82,10 @@ static int (*GC_has_static_roots)(const char *, void *, size_t);
|
|
||||||
# define ELFSIZE ARCH_ELFSIZE
|
|
||||||
#endif
|
|
||||||
|
|
||||||
+#if defined(HAIKU)
|
|
||||||
+
|
|
||||||
+#endif
|
|
||||||
+
|
|
||||||
#if defined(LINUX) && defined(__ELF__) || defined(SCO_ELF) || \
|
|
||||||
(defined(FREEBSD) && defined(__ELF__)) || defined(DGUX) || \
|
|
||||||
(defined(NETBSD) && defined(__ELF__)) || defined(HURD)
|
|
||||||
@@ -216,7 +220,8 @@ void GC_register_dynamic_libraries()
|
|
||||||
|
|
||||||
#if defined(LINUX) && defined(__ELF__) || defined(SCO_ELF) || \
|
|
||||||
(defined(FREEBSD) && defined(__ELF__)) || defined(DGUX) || \
|
|
||||||
- (defined(NETBSD) && defined(__ELF__)) || defined(HURD)
|
|
||||||
+ (defined(NETBSD) && defined(__ELF__)) || defined(HURD) || \
|
|
||||||
+ defined(HAIKU)
|
|
||||||
|
|
||||||
|
|
||||||
#ifdef USE_PROC_FOR_LIBRARIES
|
|
||||||
diff --git a/tools/build/v2/engine/boehm_gc/include/gc.h b/tools/build/v2/engine/boehm_gc/include/gc.h
|
|
||||||
index cc95088..590a868 100644
|
|
||||||
--- a/tools/build/v2/engine/boehm_gc/include/gc.h
|
|
||||||
+++ b/tools/build/v2/engine/boehm_gc/include/gc.h
|
|
||||||
@@ -494,7 +494,7 @@ GC_API void * GC_malloc_atomic_ignore_off_page(size_t lb);
|
|
||||||
/* of compilers. */
|
|
||||||
/* This may also be desirable if it is possible but expensive to */
|
|
||||||
/* retrieve the call chain. */
|
|
||||||
-#if (defined(__linux__) || defined(__NetBSD__) || defined(__OpenBSD__) \
|
|
||||||
+#if (defined(__linux__) || defined(__NetBSD__) || defined(__OpenBSD__) || defined(__HAIKU__) \
|
|
||||||
|| defined(__FreeBSD__) || defined(__DragonFly__)) & !defined(GC_CAN_SAVE_CALL_STACKS)
|
|
||||||
# define GC_ADD_CALLER
|
|
||||||
# if __GNUC__ >= 3 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 95)
|
|
||||||
diff --git a/tools/build/v2/engine/boehm_gc/include/gc_config_macros.h b/tools/build/v2/engine/boehm_gc/include/gc_config_macros.h
|
|
||||||
index 66abf0b..797eddd 100644
|
|
||||||
--- a/tools/build/v2/engine/boehm_gc/include/gc_config_macros.h
|
|
||||||
+++ b/tools/build/v2/engine/boehm_gc/include/gc_config_macros.h
|
|
||||||
@@ -45,7 +45,8 @@
|
|
||||||
|| defined(GC_AIX_THREADS) \
|
|
||||||
|| defined(GC_LINUX_THREADS) \
|
|
||||||
|| defined(GC_NETBSD_THREADS) \
|
|
||||||
- || defined(GC_GNU_THREADS))
|
|
||||||
+ || defined(GC_GNU_THREADS)) \
|
|
||||||
+ || defined(GC_HAIKU_THREADS)
|
|
||||||
# define _REENTRANT
|
|
||||||
/* Better late than never. This fails if system headers that */
|
|
||||||
/* depend on this were previously included. */
|
|
||||||
@@ -62,6 +63,7 @@
|
|
||||||
# if defined(GC_SOLARIS_THREADS) || defined(GC_FREEBSD_THREADS) || \
|
|
||||||
defined(GC_IRIX_THREADS) || defined(GC_LINUX_THREADS) || \
|
|
||||||
defined(GC_HPUX_THREADS) || defined(GC_OSF1_THREADS) || \
|
|
||||||
+ defined(GC_HAIKU_THREADS) || \
|
|
||||||
defined(GC_DGUX386_THREADS) || defined(GC_DARWIN_THREADS) || \
|
|
||||||
defined(GC_AIX_THREADS) || defined(GC_NETBSD_THREADS) || \
|
|
||||||
(defined(GC_WIN32_THREADS) && defined(__CYGWIN32__)) || \
|
|
||||||
diff --git a/tools/build/v2/engine/boehm_gc/include/private/gcconfig.h b/tools/build/v2/engine/boehm_gc/include/private/gcconfig.h
|
|
||||||
index 20f35bc..7e798a7 100644
|
|
||||||
--- a/tools/build/v2/engine/boehm_gc/include/private/gcconfig.h
|
|
||||||
+++ b/tools/build/v2/engine/boehm_gc/include/private/gcconfig.h
|
|
||||||
@@ -215,6 +215,11 @@
|
|
||||||
# define BEOS
|
|
||||||
# define mach_type_known
|
|
||||||
# endif
|
|
||||||
+# if defined(__HAIKU__) && defined(_X86_)
|
|
||||||
+# define I386
|
|
||||||
+# define HAIKU
|
|
||||||
+# define mach_type_known
|
|
||||||
+# endif
|
|
||||||
# if defined(LINUX) && (defined(i386) || defined(__i386__))
|
|
||||||
# define I386
|
|
||||||
# define mach_type_known
|
|
||||||
@@ -1014,6 +1019,13 @@
|
|
||||||
extern int etext[];
|
|
||||||
# define DATASTART ((ptr_t)((((word) (etext)) + 0xfff) & ~0xfff))
|
|
||||||
# endif
|
|
||||||
+# ifdef HAIKU
|
|
||||||
+# define OS_TYPE "HAIKU"
|
|
||||||
+# include <OS.h>
|
|
||||||
+# define GETPAGESIZE() B_PAGE_SIZE
|
|
||||||
+ extern int etext[];
|
|
||||||
+# define DATASTART ((ptr_t)((((word) (etext)) + 0xfff) & ~0xfff))
|
|
||||||
+# endif
|
|
||||||
# ifdef SOLARIS
|
|
||||||
# define OS_TYPE "SOLARIS"
|
|
||||||
extern int _etext[], _end[];
|
|
||||||
diff --git a/tools/build/v2/engine/boehm_gc/os_dep.c b/tools/build/v2/engine/boehm_gc/os_dep.c
|
|
||||||
index bb8fa08..a7edf72 100644
|
|
||||||
--- a/tools/build/v2/engine/boehm_gc/os_dep.c
|
|
||||||
+++ b/tools/build/v2/engine/boehm_gc/os_dep.c
|
|
||||||
@@ -777,6 +777,16 @@ ptr_t GC_get_main_stack_base(void){
|
|
||||||
# endif /* BEOS */
|
|
||||||
|
|
||||||
|
|
||||||
+# ifdef HAIKU
|
|
||||||
+# include <OS.h>
|
|
||||||
+ptr_t GC_get_main_stack_base(void){
|
|
||||||
+ thread_info th;
|
|
||||||
+ get_thread_info(find_thread(NULL),&th);
|
|
||||||
+ return th.stack_end;
|
|
||||||
+}
|
|
||||||
+# endif /* HAIKU */
|
|
||||||
+
|
|
||||||
+
|
|
||||||
# ifdef OS2
|
|
||||||
|
|
||||||
ptr_t GC_get_main_stack_base(void)
|
|
||||||
@@ -1095,7 +1105,7 @@ ptr_t GC_get_main_stack_base(void)
|
|
||||||
|
|
||||||
#endif /* FREEBSD_STACKBOTTOM */
|
|
||||||
|
|
||||||
-#if !defined(BEOS) && !defined(AMIGA) && !defined(MSWIN32) \
|
|
||||||
+#if !defined(BEOS) && !defined(HAIKU) && !defined(AMIGA) && !defined(MSWIN32) \
|
|
||||||
&& !defined(MSWINCE) && !defined(OS2) && !defined(NOSYS) && !defined(ECOS) \
|
|
||||||
&& !defined(CYGWIN32)
|
|
||||||
|
|
||||||
@@ -1154,7 +1164,7 @@ ptr_t GC_get_main_stack_base(void)
|
|
||||||
# endif /* STACKBOTTOM */
|
|
||||||
}
|
|
||||||
|
|
||||||
-# endif /* ! AMIGA, !OS 2, ! MS Windows, !BEOS, !NOSYS, !ECOS */
|
|
||||||
+# endif /* ! AMIGA, !OS 2, ! MS Windows, !BEOS, !HAIKU, !NOSYS, !ECOS */
|
|
||||||
|
|
||||||
#if defined(GC_LINUX_THREADS) && !defined(HAVE_GET_STACK_BASE)
|
|
||||||
|
|
||||||
diff --git a/tools/build/v2/engine/fileunix.c b/tools/build/v2/engine/fileunix.c
|
|
||||||
index bff3a42..1f60be2 100644
|
|
||||||
--- a/tools/build/v2/engine/fileunix.c
|
|
||||||
+++ b/tools/build/v2/engine/fileunix.c
|
|
||||||
@@ -80,7 +80,10 @@ struct ar_hdr /* archive file member header - printable ascii */
|
|
||||||
};
|
|
||||||
#endif
|
|
||||||
|
|
||||||
-#if defined( OS_QNX ) || defined( OS_BEOS ) || defined( OS_MPEIX )
|
|
||||||
+# if defined( OS_QNX ) || \
|
|
||||||
+ defined( OS_BEOS ) || \
|
|
||||||
+ defined( OS_HAIKU ) || \
|
|
||||||
+ defined( OS_MPEIX )
|
|
||||||
# define NO_AR
|
|
||||||
# define HAVE_AR
|
|
||||||
#endif
|
|
||||||
diff --git a/tools/build/v2/engine/jam.h b/tools/build/v2/engine/jam.h
|
|
||||||
index 86ad0e8..7c0bb69 100644
|
|
||||||
--- a/tools/build/v2/engine/jam.h
|
|
||||||
+++ b/tools/build/v2/engine/jam.h
|
|
||||||
@@ -125,6 +125,11 @@
|
|
||||||
#define OS_BEOS
|
|
||||||
#define NO_VFORK
|
|
||||||
#endif
|
|
||||||
+#ifdef __HAIKU__
|
|
||||||
+ #define unix
|
|
||||||
+ #define OSMINOR "OS=HAIKU"
|
|
||||||
+ #define OS_HAIKU
|
|
||||||
+#endif
|
|
||||||
#ifdef __bsdi__
|
|
||||||
#define OSMINOR "OS=BSDI"
|
|
||||||
#define OS_BSDI
|
|
||||||
diff --git a/tools/build/v2/engine/jambase.c b/tools/build/v2/engine/jambase.c
|
|
||||||
index b15282b..5a127a1 100644
|
|
||||||
--- a/tools/build/v2/engine/jambase.c
|
|
||||||
+++ b/tools/build/v2/engine/jambase.c
|
|
||||||
@@ -548,6 +548,18 @@ char *jambase[] = {
|
|
||||||
"NOARSCAN ?= true ;\n",
|
|
||||||
"STDHDRS ?= /boot/develop/headers/posix ;\n",
|
|
||||||
"}\n",
|
|
||||||
+"else if $(OS) = HAIKU\n",
|
|
||||||
+"{\n",
|
|
||||||
+"BINDIR ?= /boot/common/bin ;\n",
|
|
||||||
+"CC ?= gcc ;\n",
|
|
||||||
+"C++ ?= $(CC) ;\n",
|
|
||||||
+"FORTRAN ?= \"\" ;\n",
|
|
||||||
+"LIBDIR ?= /boot/common/lib ;\n",
|
|
||||||
+"LINK ?= gcc ;\n",
|
|
||||||
+"LINKLIBS ?= -lnetwork ;\n",
|
|
||||||
+"NOARSCAN ?= true ;\n",
|
|
||||||
+"STDHDRS ?= /boot/develop/headers/posix ;\n",
|
|
||||||
+"}\n",
|
|
||||||
"else if $(OS) = BEOS\n",
|
|
||||||
"{\n",
|
|
||||||
"BINDIR ?= /boot/apps ;\n",
|
|
||||||
diff --git a/tools/build/v2/tools/builtin.jam b/tools/build/v2/tools/builtin.jam
|
|
||||||
index 176de13..1c3466f 100644
|
|
||||||
--- a/tools/build/v2/tools/builtin.jam
|
|
||||||
+++ b/tools/build/v2/tools/builtin.jam
|
|
||||||
@@ -41,7 +41,7 @@ import generate ;
|
|
||||||
|
|
||||||
|
|
||||||
.os-names = aix bsd cygwin darwin freebsd hpux iphone linux netbsd openbsd osf
|
|
||||||
- qnx qnxnto sgi solaris unix unixware windows
|
|
||||||
+ qnx qnxnto sgi solaris unix unixware windows haiku
|
|
||||||
elf # Not actually an OS -- used for targeting bare metal where object
|
|
||||||
# format is ELF. This catches both -elf and -eabi gcc targets and well
|
|
||||||
# as other compilers targeting ELF. It is not clear how often we need
|
|
||||||
@@ -76,6 +76,7 @@ local rule default-host-os ( )
|
|
||||||
case COHERENT : host-os = unix ;
|
|
||||||
case DRAGONFLYBSD : host-os = bsd ;
|
|
||||||
case IRIX : host-os = sgi ;
|
|
||||||
+ case HAIKU : host-os = haiku ;
|
|
||||||
case MACOSX : host-os = darwin ;
|
|
||||||
case KFREEBSD : host-os = freebsd ;
|
|
||||||
case LINUX : host-os = linux ;
|
|
||||||
diff --git a/tools/build/v2/tools/builtin.py b/tools/build/v2/tools/builtin.py
|
|
||||||
index 35c1a40..c430fad 100644
|
|
||||||
--- a/tools/build/v2/tools/builtin.py
|
|
||||||
+++ b/tools/build/v2/tools/builtin.py
|
|
||||||
@@ -103,6 +103,7 @@ def default_host_os():
|
|
||||||
elif host_os == 'MACOSX': host_os = 'darwin'
|
|
||||||
elif host_os == 'KFREEBSD': host_os = 'freebsd'
|
|
||||||
elif host_os == 'LINUX': host_os = 'linux'
|
|
||||||
+ elif host_os == 'HAIKU': host_os = 'haiku'
|
|
||||||
else: host_os = 'unix'
|
|
||||||
return host_os.lower()
|
|
||||||
|
|
||||||
diff --git a/tools/build/v2/tools/gcc.jam b/tools/build/v2/tools/gcc.jam
|
|
||||||
index ef90f05..2de76cf 100644
|
|
||||||
--- a/tools/build/v2/tools/gcc.jam
|
|
||||||
+++ b/tools/build/v2/tools/gcc.jam
|
|
||||||
@@ -1029,10 +1029,11 @@ rule setup-threading ( targets * : sources * : properties * )
|
|
||||||
case cygwin : option = -mthreads ;
|
|
||||||
case solaris : option = -pthreads ; libs = rt ;
|
|
||||||
case beos : # No threading options.
|
|
||||||
+ case haiku : option = ;
|
|
||||||
case *bsd : option = -pthread ; # There is no -lrt on BSD.
|
|
||||||
case sgi : # gcc on IRIX does not support multi-threading.
|
|
||||||
case darwin : # No threading options.
|
|
||||||
- case * : option = -pthread ; libs = rt ;
|
|
||||||
+ case * : option = -pthreads ; libs = rt ;
|
|
||||||
}
|
|
||||||
|
|
||||||
if $(option)
|
|
||||||
diff --git a/tools/build/v2/tools/gcc.py b/tools/build/v2/tools/gcc.py
|
|
||||||
index c2f3b02..4f60d22 100644
|
|
||||||
--- a/tools/build/v2/tools/gcc.py
|
|
||||||
+++ b/tools/build/v2/tools/gcc.py
|
|
||||||
@@ -677,6 +677,9 @@ elif bjam.variable('UNIX'):
|
|
||||||
elif host_os_name == 'BeOS':
|
|
||||||
# BeOS has no threading options, don't set anything here.
|
|
||||||
pass
|
|
||||||
+ elif host_os_name == 'Haiku':
|
|
||||||
+ flags('gcc', 'OPTIONS', ['<threading>multi'], ['-lroot'])
|
|
||||||
+ # there is no -lrt on HAIKU
|
|
||||||
elif host_os_name.endswith('BSD'):
|
|
||||||
flags('gcc', 'OPTIONS', ['<threading>multi'], ['-pthread'])
|
|
||||||
# there is no -lrt on BSD
|
|
||||||
diff --git a/tools/build/v2/tools/python.jam b/tools/build/v2/tools/python.jam
|
|
||||||
index d48bb78..070f5d2 100644
|
|
||||||
--- a/tools/build/v2/tools/python.jam
|
|
||||||
+++ b/tools/build/v2/tools/python.jam
|
|
||||||
@@ -639,13 +639,14 @@ local rule system-library-dependencies ( target-os )
|
|
||||||
case qnx* : return ;
|
|
||||||
case darwin : return ;
|
|
||||||
case windows : return ;
|
|
||||||
+ case haiku : return ;
|
|
||||||
|
|
||||||
case hpux : return <library>rt ;
|
|
||||||
case *bsd : return <library>pthread <toolset>gcc:<library>util ;
|
|
||||||
|
|
||||||
case aix : return <library>pthread <library>dl ;
|
|
||||||
|
|
||||||
- case * : return <library>pthread <library>dl
|
|
||||||
+ case * : return ; <library>pthread <library>dl
|
|
||||||
<toolset>gcc:<library>util <toolset-intel:platform>linux:<library>util ;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
--
|
|
||||||
1.8.3.4
|
|
||||||
|
|
||||||
|
|
||||||
From 03631bc8fb6cff21669ca0cb87188c2c3b0d4928 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Scott McCreary <scottmc2@gmail.com>
|
|
||||||
Date: Sun, 22 Dec 2013 10:01:23 -0800
|
|
||||||
Subject: applying patch type_traits.patch
|
|
||||||
|
|
||||||
|
|
||||||
diff --git a/boost/config/platform/haiku.hpp b/boost/config/platform/haiku.hpp
|
|
||||||
index 1b15c7e..899765d 100644
|
|
||||||
--- a/boost/config/platform/haiku.hpp
|
|
||||||
+++ b/boost/config/platform/haiku.hpp
|
|
||||||
@@ -9,18 +9,26 @@
|
|
||||||
|
|
||||||
#define BOOST_PLATFORM "Haiku"
|
|
||||||
|
|
||||||
-#define BOOST_NO_INTRINSIC_WCHAR_T
|
|
||||||
#define BOOST_HAS_UNISTD_H
|
|
||||||
+#define GLIBC_HAVE_LONG_LONG
|
|
||||||
+#define BOOST_HAS_STDINT_H
|
|
||||||
+#define BOOST_HASH_NO_EXTENSIONS
|
|
||||||
|
|
||||||
#define BOOST_HAS_BETHREADS
|
|
||||||
|
|
||||||
#ifndef BOOST_DISABLE_THREADS
|
|
||||||
# define BOOST_HAS_THREADS
|
|
||||||
#endif
|
|
||||||
+#define BOOST_NO_CXX11_HDR_TYPE_TRAITS
|
|
||||||
+#define BOOST_NO_CXX11_ATOMIC_SMART_PTR
|
|
||||||
+#define BOOST_NO_CXX11_STATIC_ASSERT
|
|
||||||
+#define BOOST_NO_CXX11_VARIADIC_MACROS
|
|
||||||
|
|
||||||
//
|
|
||||||
// thread API's not auto detected:
|
|
||||||
//
|
|
||||||
+#define BOOST_HAS_SCHED_YIELD
|
|
||||||
+#define BOOST_HAS_PTHREAD_YIELD
|
|
||||||
#define BOOST_HAS_GETTIMEOFDAY
|
|
||||||
|
|
||||||
// boilerplate code:
|
|
||||||
--
|
|
||||||
1.8.3.4
|
|
||||||
|
|
||||||
|
|
||||||
From f2a0265af90e6c7bac9b7627fd0049f7479e5ab3 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Adrien Destugues <pulkomandy@pulkomandy.tk>
|
|
||||||
Date: Tue, 7 Jan 2014 21:49:28 +0100
|
|
||||||
Subject: We don't have XSI shared memory, so don't try to use it.
|
|
||||||
|
|
||||||
|
|
||||||
diff --git a/boost/interprocess/detail/workaround.hpp b/boost/interprocess/detail/workaround.hpp
|
|
||||||
index 6ce2ea1..3b303eb 100644
|
|
||||||
--- a/boost/interprocess/detail/workaround.hpp
|
|
||||||
+++ b/boost/interprocess/detail/workaround.hpp
|
|
||||||
@@ -73,7 +73,7 @@
|
|
||||||
#endif
|
|
||||||
|
|
||||||
//Check for XSI shared memory objects. They are available in nearly all UNIX platforms
|
|
||||||
- #if !defined(__QNXNTO__)
|
|
||||||
+ #if !defined(__QNXNTO__) && !defined(__HAIKU__)
|
|
||||||
#define BOOST_INTERPROCESS_XSI_SHARED_MEMORY_OBJECTS
|
|
||||||
#endif
|
|
||||||
|
|
||||||
--
|
|
||||||
1.8.3.4
|
|
||||||
|
|
||||||
|
|
||||||
From d94967fa8fdea2842ec02fab90df0ec4efaac685 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Adrien Destugues <pulkomandy@pulkomandy.tk>
|
|
||||||
Date: Thu, 9 Jan 2014 22:40:40 +0100
|
|
||||||
Subject: filesystem: don't crash because of unsupported locale in libstdc++
|
|
||||||
|
|
||||||
See https://svn.boost.org/trac/boost/ticket/4688
|
|
||||||
We do the same as on Mac OS X and assume the filesystem uses utf-8.
|
|
||||||
|
|
||||||
diff --git a/libs/filesystem/src/path.cpp b/libs/filesystem/src/path.cpp
|
|
||||||
index c740dec..3285d39 100644
|
|
||||||
--- a/libs/filesystem/src/path.cpp
|
|
||||||
+++ b/libs/filesystem/src/path.cpp
|
|
||||||
@@ -35,7 +35,7 @@
|
|
||||||
#ifdef BOOST_WINDOWS_API
|
|
||||||
# include "windows_file_codecvt.hpp"
|
|
||||||
# include <windows.h>
|
|
||||||
-#elif defined(macintosh) || defined(__APPLE__) || defined(__APPLE_CC__)
|
|
||||||
+#elif defined(macintosh) || defined(__APPLE__) || defined(__APPLE_CC__) || defined(__HAIKU__)
|
|
||||||
# include <boost/filesystem/detail/utf8_codecvt_facet.hpp>
|
|
||||||
#endif
|
|
||||||
|
|
||||||
@@ -828,7 +828,7 @@ namespace
|
|
||||||
codecvt_facet_ptr(&std::use_facet<std::codecvt<wchar_t, char, std::mbstate_t> >
|
|
||||||
(path_locale));
|
|
||||||
|
|
||||||
-#elif defined(macintosh) || defined(__APPLE__) || defined(__APPLE_CC__)
|
|
||||||
+#elif defined(macintosh) || defined(__APPLE__) || defined(__APPLE_CC__) || defined(__HAIKU__)
|
|
||||||
|
|
||||||
// "All BSD system functions expect their string parameters to be in UTF-8 encoding
|
|
||||||
// and nothing else." See
|
|
||||||
@@ -903,7 +903,7 @@ namespace filesystem
|
|
||||||
const path::codecvt_type& path::codecvt()
|
|
||||||
{
|
|
||||||
# if defined(BOOST_POSIX_API) && \
|
|
||||||
- !(defined(macintosh) || defined(__APPLE__) || defined(__APPLE_CC__))
|
|
||||||
+ !(defined(macintosh) || defined(__APPLE__) || defined(__APPLE_CC__) || defined(__HAIKU__))
|
|
||||||
// A local static initialized by calling path::imbue ensures that std::locale(""),
|
|
||||||
// which may throw, is called only if path_locale and condecvt_facet will actually
|
|
||||||
// be used. Thus misconfigured environmental variables will only cause an
|
|
||||||
--
|
|
||||||
1.8.3.4
|
|
||||||
|
|
||||||
392
dev-libs/boost/patches/boost-1.57.0.patchset
Normal file
392
dev-libs/boost/patches/boost-1.57.0.patchset
Normal file
@@ -0,0 +1,392 @@
|
|||||||
|
From 8fc951456acdcd12315333097338ecd8453df2da Mon Sep 17 00:00:00 2001
|
||||||
|
From: Adrien Destugues <pulkomandy@gmail.com>
|
||||||
|
Date: Sat, 6 Aug 2016 22:27:19 +0200
|
||||||
|
Subject: Import changes from 1.55.0: buildtools
|
||||||
|
|
||||||
|
|
||||||
|
diff --git a/tools/build/src/engine/boehm_gc/dyn_load.c b/tools/build/src/engine/boehm_gc/dyn_load.c
|
||||||
|
index 36968ba..91c0efa 100644
|
||||||
|
--- a/tools/build/src/engine/boehm_gc/dyn_load.c
|
||||||
|
+++ b/tools/build/src/engine/boehm_gc/dyn_load.c
|
||||||
|
@@ -64,7 +64,7 @@ static int (*GC_has_static_roots)(const char *, void *, size_t);
|
||||||
|
!defined(AIX) && !defined(SCO_ELF) && !defined(DGUX) && \
|
||||||
|
!(defined(FREEBSD) && defined(__ELF__)) && \
|
||||||
|
!(defined(NETBSD) && defined(__ELF__)) && !defined(HURD) && \
|
||||||
|
- !defined(DARWIN) && !defined(CYGWIN32)
|
||||||
|
+ !defined(DARWIN) && !defined(CYGWIN32) && !defined(__HAIKU__)
|
||||||
|
--> We only know how to find data segments of dynamic libraries for the
|
||||||
|
--> above. Additional SVR4 variants might not be too
|
||||||
|
--> hard to add.
|
||||||
|
@@ -216,7 +216,7 @@ void GC_register_dynamic_libraries()
|
||||||
|
|
||||||
|
#if defined(LINUX) && defined(__ELF__) || defined(SCO_ELF) || \
|
||||||
|
(defined(FREEBSD) && defined(__ELF__)) || defined(DGUX) || \
|
||||||
|
- (defined(NETBSD) && defined(__ELF__)) || defined(HURD)
|
||||||
|
+ (defined(NETBSD) && defined(__ELF__)) || defined(HURD) || defined(__HAIKU__)
|
||||||
|
|
||||||
|
|
||||||
|
#ifdef USE_PROC_FOR_LIBRARIES
|
||||||
|
diff --git a/tools/build/src/engine/boehm_gc/include/gc.h b/tools/build/src/engine/boehm_gc/include/gc.h
|
||||||
|
index cc95088..590a868 100644
|
||||||
|
--- a/tools/build/src/engine/boehm_gc/include/gc.h
|
||||||
|
+++ b/tools/build/src/engine/boehm_gc/include/gc.h
|
||||||
|
@@ -494,7 +494,7 @@ GC_API void * GC_malloc_atomic_ignore_off_page(size_t lb);
|
||||||
|
/* of compilers. */
|
||||||
|
/* This may also be desirable if it is possible but expensive to */
|
||||||
|
/* retrieve the call chain. */
|
||||||
|
-#if (defined(__linux__) || defined(__NetBSD__) || defined(__OpenBSD__) \
|
||||||
|
+#if (defined(__linux__) || defined(__NetBSD__) || defined(__OpenBSD__) || defined(__HAIKU__) \
|
||||||
|
|| defined(__FreeBSD__) || defined(__DragonFly__)) & !defined(GC_CAN_SAVE_CALL_STACKS)
|
||||||
|
# define GC_ADD_CALLER
|
||||||
|
# if __GNUC__ >= 3 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 95)
|
||||||
|
diff --git a/tools/build/src/engine/boehm_gc/include/gc_config_macros.h b/tools/build/src/engine/boehm_gc/include/gc_config_macros.h
|
||||||
|
index 66abf0b..fb61f26 100644
|
||||||
|
--- a/tools/build/src/engine/boehm_gc/include/gc_config_macros.h
|
||||||
|
+++ b/tools/build/src/engine/boehm_gc/include/gc_config_macros.h
|
||||||
|
@@ -45,6 +45,7 @@
|
||||||
|
|| defined(GC_AIX_THREADS) \
|
||||||
|
|| defined(GC_LINUX_THREADS) \
|
||||||
|
|| defined(GC_NETBSD_THREADS) \
|
||||||
|
+ || defined(GC_HAIKU_THREADS) \
|
||||||
|
|| defined(GC_GNU_THREADS))
|
||||||
|
# define _REENTRANT
|
||||||
|
/* Better late than never. This fails if system headers that */
|
||||||
|
@@ -61,7 +62,7 @@
|
||||||
|
|
||||||
|
# if defined(GC_SOLARIS_THREADS) || defined(GC_FREEBSD_THREADS) || \
|
||||||
|
defined(GC_IRIX_THREADS) || defined(GC_LINUX_THREADS) || \
|
||||||
|
- defined(GC_HPUX_THREADS) || defined(GC_OSF1_THREADS) || \
|
||||||
|
+ defined(GC_HPUX_THREADS) || defined(GC_OSF1_THREADS) || defined(GC_HAIKU_THREADS) || \
|
||||||
|
defined(GC_DGUX386_THREADS) || defined(GC_DARWIN_THREADS) || \
|
||||||
|
defined(GC_AIX_THREADS) || defined(GC_NETBSD_THREADS) || \
|
||||||
|
(defined(GC_WIN32_THREADS) && defined(__CYGWIN32__)) || \
|
||||||
|
diff --git a/tools/build/src/engine/boehm_gc/include/private/gcconfig.h b/tools/build/src/engine/boehm_gc/include/private/gcconfig.h
|
||||||
|
index 20f35bc..7e798a7 100644
|
||||||
|
--- a/tools/build/src/engine/boehm_gc/include/private/gcconfig.h
|
||||||
|
+++ b/tools/build/src/engine/boehm_gc/include/private/gcconfig.h
|
||||||
|
@@ -215,6 +215,11 @@
|
||||||
|
# define BEOS
|
||||||
|
# define mach_type_known
|
||||||
|
# endif
|
||||||
|
+# if defined(__HAIKU__) && defined(_X86_)
|
||||||
|
+# define I386
|
||||||
|
+# define HAIKU
|
||||||
|
+# define mach_type_known
|
||||||
|
+# endif
|
||||||
|
# if defined(LINUX) && (defined(i386) || defined(__i386__))
|
||||||
|
# define I386
|
||||||
|
# define mach_type_known
|
||||||
|
@@ -1014,6 +1019,13 @@
|
||||||
|
extern int etext[];
|
||||||
|
# define DATASTART ((ptr_t)((((word) (etext)) + 0xfff) & ~0xfff))
|
||||||
|
# endif
|
||||||
|
+# ifdef HAIKU
|
||||||
|
+# define OS_TYPE "HAIKU"
|
||||||
|
+# include <OS.h>
|
||||||
|
+# define GETPAGESIZE() B_PAGE_SIZE
|
||||||
|
+ extern int etext[];
|
||||||
|
+# define DATASTART ((ptr_t)((((word) (etext)) + 0xfff) & ~0xfff))
|
||||||
|
+# endif
|
||||||
|
# ifdef SOLARIS
|
||||||
|
# define OS_TYPE "SOLARIS"
|
||||||
|
extern int _etext[], _end[];
|
||||||
|
diff --git a/tools/build/src/engine/boehm_gc/os_dep.c b/tools/build/src/engine/boehm_gc/os_dep.c
|
||||||
|
index bb8fa08..f61858d 100644
|
||||||
|
--- a/tools/build/src/engine/boehm_gc/os_dep.c
|
||||||
|
+++ b/tools/build/src/engine/boehm_gc/os_dep.c
|
||||||
|
@@ -776,6 +776,15 @@ ptr_t GC_get_main_stack_base(void){
|
||||||
|
}
|
||||||
|
# endif /* BEOS */
|
||||||
|
|
||||||
|
+# ifdef HAIKU
|
||||||
|
+# include <OS.h>
|
||||||
|
+ptr_t GC_get_main_stack_base(void){
|
||||||
|
+ thread_info th;
|
||||||
|
+ get_thread_info(find_thread(NULL),&th);
|
||||||
|
+ return th.stack_end;
|
||||||
|
+}
|
||||||
|
+# endif /* HAIKU */
|
||||||
|
+
|
||||||
|
|
||||||
|
# ifdef OS2
|
||||||
|
|
||||||
|
@@ -1095,7 +1104,7 @@ ptr_t GC_get_main_stack_base(void)
|
||||||
|
|
||||||
|
#endif /* FREEBSD_STACKBOTTOM */
|
||||||
|
|
||||||
|
-#if !defined(BEOS) && !defined(AMIGA) && !defined(MSWIN32) \
|
||||||
|
+#if !defined(BEOS) && !defined(__HAIKU__) && !defined(AMIGA) && !defined(MSWIN32) \
|
||||||
|
&& !defined(MSWINCE) && !defined(OS2) && !defined(NOSYS) && !defined(ECOS) \
|
||||||
|
&& !defined(CYGWIN32)
|
||||||
|
|
||||||
|
diff --git a/tools/build/src/engine/fileunix.c b/tools/build/src/engine/fileunix.c
|
||||||
|
index bff3a42..db9dcf9 100644
|
||||||
|
--- a/tools/build/src/engine/fileunix.c
|
||||||
|
+++ b/tools/build/src/engine/fileunix.c
|
||||||
|
@@ -80,7 +80,7 @@ struct ar_hdr /* archive file member header - printable ascii */
|
||||||
|
};
|
||||||
|
#endif
|
||||||
|
|
||||||
|
-#if defined( OS_QNX ) || defined( OS_BEOS ) || defined( OS_MPEIX )
|
||||||
|
+#if defined( OS_QNX ) || defined( OS_BEOS ) || defined( OS_MPEIX ) || defined( OS_HAIKU )
|
||||||
|
# define NO_AR
|
||||||
|
# define HAVE_AR
|
||||||
|
#endif
|
||||||
|
diff --git a/tools/build/src/engine/jam.h b/tools/build/src/engine/jam.h
|
||||||
|
index 497a5bf..b9e7297 100644
|
||||||
|
--- a/tools/build/src/engine/jam.h
|
||||||
|
+++ b/tools/build/src/engine/jam.h
|
||||||
|
@@ -125,6 +125,11 @@
|
||||||
|
#define OS_BEOS
|
||||||
|
#define NO_VFORK
|
||||||
|
#endif
|
||||||
|
+#ifdef __HAIKU__
|
||||||
|
+ #define unix
|
||||||
|
+ #define OSMINOR "OS=HAIKU"
|
||||||
|
+ #define OS_HAIKU
|
||||||
|
+#endif
|
||||||
|
#ifdef __bsdi__
|
||||||
|
#define OSMINOR "OS=BSDI"
|
||||||
|
#define OS_BSDI
|
||||||
|
diff --git a/tools/build/src/engine/jambase.c b/tools/build/src/engine/jambase.c
|
||||||
|
index b15282b..daef19e 100644
|
||||||
|
--- a/tools/build/src/engine/jambase.c
|
||||||
|
+++ b/tools/build/src/engine/jambase.c
|
||||||
|
@@ -548,6 +548,18 @@ char *jambase[] = {
|
||||||
|
"NOARSCAN ?= true ;\n",
|
||||||
|
"STDHDRS ?= /boot/develop/headers/posix ;\n",
|
||||||
|
"}\n",
|
||||||
|
+"else if $(OS) = HAIKU\n",
|
||||||
|
+"{\n",
|
||||||
|
+"BINDIR ?= /boot/system/bin ;\n",
|
||||||
|
+"CC ?= gcc ;\n",
|
||||||
|
+"C++ ?= $(CC) ;\n",
|
||||||
|
+"FORTRAN ?= \"\" ;\n",
|
||||||
|
+"LIBDIR ?= /boot/system/lib ;\n",
|
||||||
|
+"LINK ?= gcc ;\n",
|
||||||
|
+"LINKLIBS ?= -lnetwork ;\n",
|
||||||
|
+"NOARSCAN ?= true ;\n",
|
||||||
|
+"STDHDRS ?= /boot/develop/headers/posix ;\n",
|
||||||
|
+"}\n",
|
||||||
|
"else if $(OS) = BEOS\n",
|
||||||
|
"{\n",
|
||||||
|
"BINDIR ?= /boot/apps ;\n",
|
||||||
|
diff --git a/tools/build/src/tools/builtin.jam b/tools/build/src/tools/builtin.jam
|
||||||
|
index d62680a..4bde8e7 100644
|
||||||
|
--- a/tools/build/src/tools/builtin.jam
|
||||||
|
+++ b/tools/build/src/tools/builtin.jam
|
||||||
|
@@ -40,8 +40,8 @@ import convert ;
|
||||||
|
import generate ;
|
||||||
|
|
||||||
|
|
||||||
|
-.os-names = aix android bsd cygwin darwin freebsd hpux iphone linux netbsd openbsd osf
|
||||||
|
- qnx qnxnto sgi solaris unix unixware windows
|
||||||
|
+.os-names = aix android bsd cygwin darwin freebsd haiku hpux iphone linux netbsd
|
||||||
|
+ openbsd osf qnx qnxnto sgi solaris unix unixware windows
|
||||||
|
elf # Not actually an OS -- used for targeting bare metal where object
|
||||||
|
# format is ELF. This catches both -elf and -eabi gcc targets and well
|
||||||
|
# as other compilers targeting ELF. It is not clear how often we need
|
||||||
|
@@ -76,6 +76,7 @@ local rule default-host-os ( )
|
||||||
|
case COHERENT : host-os = unix ;
|
||||||
|
case DRAGONFLYBSD : host-os = bsd ;
|
||||||
|
case IRIX : host-os = sgi ;
|
||||||
|
+ case HQIKU : host-os = haiku ;
|
||||||
|
case MACOSX : host-os = darwin ;
|
||||||
|
case KFREEBSD : host-os = freebsd ;
|
||||||
|
case LINUX : host-os = linux ;
|
||||||
|
diff --git a/tools/build/src/tools/builtin.py b/tools/build/src/tools/builtin.py
|
||||||
|
index 68ddfed..d0f6649 100644
|
||||||
|
--- a/tools/build/src/tools/builtin.py
|
||||||
|
+++ b/tools/build/src/tools/builtin.py
|
||||||
|
@@ -82,7 +82,7 @@ def variant (name, parents_or_properties, explicit_properties = []):
|
||||||
|
feature.compose ("<variant>" + name, explicit_properties.all())
|
||||||
|
|
||||||
|
__os_names = """
|
||||||
|
- amiga aix bsd cygwin darwin dos emx freebsd hpux iphone linux netbsd
|
||||||
|
+ amiga aix bsd cygwin darwin dos emx freebsd haiku hpux iphone linux netbsd
|
||||||
|
openbsd osf qnx qnxnto sgi solaris sun sunos svr4 sysv ultrix unix unixware
|
||||||
|
vms windows
|
||||||
|
""".split()
|
||||||
|
diff --git a/tools/build/src/tools/gcc.jam b/tools/build/src/tools/gcc.jam
|
||||||
|
index ce9be9d..cce9508 100644
|
||||||
|
--- a/tools/build/src/tools/gcc.jam
|
||||||
|
+++ b/tools/build/src/tools/gcc.jam
|
||||||
|
@@ -1034,6 +1034,7 @@ rule setup-threading ( targets * : sources * : properties * )
|
||||||
|
case cygwin : option = -mthreads ;
|
||||||
|
case solaris : option = -pthreads ; libs = rt ;
|
||||||
|
case beos : # No threading options.
|
||||||
|
+ case haiku : # No threading options.
|
||||||
|
case *bsd : option = -pthread ; # There is no -lrt on BSD.
|
||||||
|
case sgi : # gcc on IRIX does not support multi-threading.
|
||||||
|
case darwin : # No threading options.
|
||||||
|
diff --git a/tools/build/src/tools/gcc.py b/tools/build/src/tools/gcc.py
|
||||||
|
index 97f1e79..1fd0880 100644
|
||||||
|
--- a/tools/build/src/tools/gcc.py
|
||||||
|
+++ b/tools/build/src/tools/gcc.py
|
||||||
|
@@ -686,6 +686,9 @@ elif bjam.variable('UNIX'):
|
||||||
|
elif host_os_name == 'BeOS':
|
||||||
|
# BeOS has no threading options, don't set anything here.
|
||||||
|
pass
|
||||||
|
+ elif host_os_name == 'Haiku':
|
||||||
|
+ # Haiku has no threading options, don't set anything here.
|
||||||
|
+ pass
|
||||||
|
elif host_os_name.endswith('BSD'):
|
||||||
|
flags('gcc', 'OPTIONS', ['<threading>multi'], ['-pthread'])
|
||||||
|
# there is no -lrt on BSD
|
||||||
|
diff --git a/tools/build/src/tools/python.jam b/tools/build/src/tools/python.jam
|
||||||
|
index 783b9ce..1a41a1e 100644
|
||||||
|
--- a/tools/build/src/tools/python.jam
|
||||||
|
+++ b/tools/build/src/tools/python.jam
|
||||||
|
@@ -639,6 +639,7 @@ local rule system-library-dependencies ( target-os )
|
||||||
|
case qnx* : return ;
|
||||||
|
case darwin : return ;
|
||||||
|
case windows : return ;
|
||||||
|
+ case haiku : return ;
|
||||||
|
|
||||||
|
case hpux : return <library>rt ;
|
||||||
|
case *bsd : return <library>pthread <toolset>gcc:<library>util ;
|
||||||
|
--
|
||||||
|
2.7.0
|
||||||
|
|
||||||
|
|
||||||
|
From 7330f29833a6478c960ff9234850e29bfe685f78 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Adrien Destugues <pulkomandy@gmail.com>
|
||||||
|
Date: Sat, 6 Aug 2016 22:27:41 +0200
|
||||||
|
Subject: Import changes from 1.55.0: sourcecode
|
||||||
|
|
||||||
|
|
||||||
|
diff --git a/boost/config/platform/haiku.hpp b/boost/config/platform/haiku.hpp
|
||||||
|
new file mode 100644
|
||||||
|
index 0000000..5994a36
|
||||||
|
--- /dev/null
|
||||||
|
+++ b/boost/config/platform/haiku.hpp
|
||||||
|
@@ -0,0 +1,31 @@
|
||||||
|
+// (C) Copyright John Maddock 2001.
|
||||||
|
+// Use, modification and distribution are subject to the
|
||||||
|
+// Boost Software License, Version 1.0. (See accompanying file
|
||||||
|
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
||||||
|
+
|
||||||
|
+// See http://www.boost.org for most recent version.
|
||||||
|
+
|
||||||
|
+// Haiku specific config options:
|
||||||
|
+
|
||||||
|
+#define BOOST_PLATFORM "Haiku"
|
||||||
|
+
|
||||||
|
+#define BOOST_HAS_UNISTD_H
|
||||||
|
+#define GLIBC_HAVE_LONG_LONG
|
||||||
|
+#define BOOST_HAS_STDINT_H
|
||||||
|
+#define BOOST_HASH_NO_EXTENSIONS
|
||||||
|
+
|
||||||
|
+#define BOOST_HAS_BETHREADS
|
||||||
|
+
|
||||||
|
+#ifndef BOOST_DISABLE_THREADS
|
||||||
|
+# define BOOST_HAS_THREADS
|
||||||
|
+#endif
|
||||||
|
+
|
||||||
|
+//
|
||||||
|
+// thread API's not auto detected:
|
||||||
|
+//
|
||||||
|
+#define BOOST_HAS_GETTIMEOFDAY
|
||||||
|
+#define BOOST_HAS_SCHED_YIELD
|
||||||
|
+#define BOOST_HAS_PTHREAD_YIELD
|
||||||
|
+
|
||||||
|
+// boilerplate code:
|
||||||
|
+#include <boost/config/posix_features.hpp>
|
||||||
|
diff --git a/boost/config/select_platform_config.hpp b/boost/config/select_platform_config.hpp
|
||||||
|
index 2dddc6a..e072c49 100644
|
||||||
|
--- a/boost/config/select_platform_config.hpp
|
||||||
|
+++ b/boost/config/select_platform_config.hpp
|
||||||
|
@@ -41,6 +41,10 @@
|
||||||
|
// win32:
|
||||||
|
# define BOOST_PLATFORM_CONFIG "boost/config/platform/win32.hpp"
|
||||||
|
|
||||||
|
+#elif defined(__HAIKU__)
|
||||||
|
+// BeOS
|
||||||
|
+# define BOOST_PLATFORM_CONFIG "boost/config/platform/haiku.hpp"
|
||||||
|
+
|
||||||
|
#elif defined(__BEOS__)
|
||||||
|
// BeOS
|
||||||
|
# define BOOST_PLATFORM_CONFIG "boost/config/platform/beos.hpp"
|
||||||
|
diff --git a/boost/config/stdlib/libstdcpp3.hpp b/boost/config/stdlib/libstdcpp3.hpp
|
||||||
|
index b26d1ff..416d7e6 100644
|
||||||
|
--- a/boost/config/stdlib/libstdcpp3.hpp
|
||||||
|
+++ b/boost/config/stdlib/libstdcpp3.hpp
|
||||||
|
@@ -36,6 +36,7 @@
|
||||||
|
|| defined(_GLIBCXX__PTHREADS) \
|
||||||
|
|| defined(_GLIBCXX_HAS_GTHREADS) \
|
||||||
|
|| defined(_WIN32) \
|
||||||
|
+ || defined(__HAIKU__) \
|
||||||
|
|| defined(_AIX)
|
||||||
|
//
|
||||||
|
// If the std lib has thread support turned on, then turn it on in Boost
|
||||||
|
diff --git a/boost/thread/detail/platform.hpp b/boost/thread/detail/platform.hpp
|
||||||
|
index 1f33b1a..3670ffa 100644
|
||||||
|
--- a/boost/thread/detail/platform.hpp
|
||||||
|
+++ b/boost/thread/detail/platform.hpp
|
||||||
|
@@ -32,7 +32,7 @@
|
||||||
|
# define BOOST_THREAD_CYGWIN
|
||||||
|
#elif (defined(_WIN32) || defined(__WIN32__) || defined(WIN32)) && !defined(BOOST_DISABLE_WIN32)
|
||||||
|
# define BOOST_THREAD_WIN32
|
||||||
|
-#elif defined(__BEOS__)
|
||||||
|
+#elif defined(__BEOS__) || defined(__HAIKU__)
|
||||||
|
# define BOOST_THREAD_BEOS
|
||||||
|
#elif defined(macintosh) || defined(__APPLE__) || defined(__APPLE_CC__)
|
||||||
|
# define BOOST_THREAD_MACOS
|
||||||
|
--
|
||||||
|
2.7.0
|
||||||
|
|
||||||
|
|
||||||
|
From d0449587d4bfe1e72338afe7df6a002873da2599 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Adrien Destugues <pulkomandy@gmail.com>
|
||||||
|
Date: Sat, 6 Aug 2016 22:30:52 +0200
|
||||||
|
Subject: interprocess: disable XSI shared memory.
|
||||||
|
|
||||||
|
|
||||||
|
diff --git a/boost/interprocess/detail/workaround.hpp b/boost/interprocess/detail/workaround.hpp
|
||||||
|
index d0456b5..9ef1faf 100644
|
||||||
|
--- a/boost/interprocess/detail/workaround.hpp
|
||||||
|
+++ b/boost/interprocess/detail/workaround.hpp
|
||||||
|
@@ -77,7 +77,7 @@
|
||||||
|
#endif
|
||||||
|
|
||||||
|
//Check for XSI shared memory objects. They are available in nearly all UNIX platforms
|
||||||
|
- #if !defined(__QNXNTO__) && !defined(__ANDROID__)
|
||||||
|
+ #if !defined(__QNXNTO__) && !defined(__ANDROID__) && !defined(__HAIKU__)
|
||||||
|
#define BOOST_INTERPROCESS_XSI_SHARED_MEMORY_OBJECTS
|
||||||
|
#endif
|
||||||
|
|
||||||
|
--
|
||||||
|
2.7.0
|
||||||
|
|
||||||
|
|
||||||
|
From d3744cdf7451f46432a494f25ab8b8c461142df5 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Adrien Destugues <pulkomandy@gmail.com>
|
||||||
|
Date: Sat, 6 Aug 2016 22:33:57 +0200
|
||||||
|
Subject: filesystem: Haiku uses UTF-8 for filename like FreeBSD and Apple.
|
||||||
|
|
||||||
|
|
||||||
|
diff --git a/libs/filesystem/src/path.cpp b/libs/filesystem/src/path.cpp
|
||||||
|
index 784e31a..88c06b8 100644
|
||||||
|
--- a/libs/filesystem/src/path.cpp
|
||||||
|
+++ b/libs/filesystem/src/path.cpp
|
||||||
|
@@ -36,7 +36,7 @@
|
||||||
|
# include "windows_file_codecvt.hpp"
|
||||||
|
# include <windows.h>
|
||||||
|
#elif defined(macintosh) || defined(__APPLE__) || defined(__APPLE_CC__) \
|
||||||
|
- || defined(__FreeBSD__) || defined(__OPEN_BSD__)
|
||||||
|
+ || defined(__FreeBSD__) || defined(__OPEN_BSD__) || defined(__HAIKU__)
|
||||||
|
# include <boost/filesystem/detail/utf8_codecvt_facet.hpp>
|
||||||
|
#endif
|
||||||
|
|
||||||
|
@@ -831,7 +831,7 @@ namespace
|
||||||
|
std::locale global_loc = std::locale();
|
||||||
|
return std::locale(global_loc, new windows_file_codecvt);
|
||||||
|
# elif defined(macintosh) || defined(__APPLE__) || defined(__APPLE_CC__) \
|
||||||
|
- || defined(__FreeBSD__) || defined(__OpenBSD__)
|
||||||
|
+ || defined(__FreeBSD__) || defined(__OpenBSD__) || defined(__HAIKU__)
|
||||||
|
// "All BSD system functions expect their string parameters to be in UTF-8 encoding
|
||||||
|
// and nothing else." See
|
||||||
|
// http://developer.apple.com/mac/library/documentation/MacOSX/Conceptual/BPInternational/Articles/FileEncodings.html
|
||||||
|
--
|
||||||
|
2.7.0
|
||||||
|
|
||||||
Reference in New Issue
Block a user