boost, cleanup old, revbump other to use icu74 (#10086)

This commit is contained in:
Schrijvers Luc
2024-02-09 09:03:45 +00:00
committed by GitHub
parent 3f77945c9a
commit bda0fe3d35
7 changed files with 18 additions and 775 deletions

View File

@@ -6,7 +6,7 @@ expressions, and unit testing. It contains over eighty individual libraries."
HOMEPAGE="https://www.boost.org/"
SOURCE_URI="https://boostorg.jfrog.io/artifactory/main/release/$portVersion/source/boost_${portVersion//./_}.tar.bz2"
CHECKSUM_SHA256="6478edfe2f3305127cffe8caf73ea0176c53769f4bf1585be237eb30798c3b8e"
REVISION="1"
REVISION="2"
LICENSE="Boost v1.0"
COPYRIGHT="1993-2002 Christopher Seiwald and Perforce Software, Inc.
1998-2018 Beman Dawes
@@ -134,9 +134,9 @@ BUILD_REQUIRES="
haiku${secondaryArchSuffix}_devel
devel:libbz2$secondaryArchSuffix
devel:libiconv$secondaryArchSuffix
devel:libicudata$secondaryArchSuffix >= 73
devel:libicui18n$secondaryArchSuffix >= 73
devel:libicuuc$secondaryArchSuffix >= 73
devel:libicudata$secondaryArchSuffix >= 74
devel:libicui18n$secondaryArchSuffix >= 74
devel:libicuuc$secondaryArchSuffix >= 74
devel:liblzma$secondaryArchSuffix
devel:libz$secondaryArchSuffix
devel:libzstd$secondaryArchSuffix

View File

@@ -1,179 +0,0 @@
SUMMARY="A set of libraries for the C++ programming language"
DESCRIPTION="
Boost is a set of libraries for the C++ programming language that provide \
support for tasks and structures such as linear algebra, pseudorandom number \
generation, multithreading, image processing, regular expressions, and unit \
testing. It contains over eighty individual libraries.
"
HOMEPAGE="https://www.boost.org/"
COPYRIGHT="1998-2017 Beman Dawes, David Abrahams, Rene Rivera, et al."
LICENSE="Boost v1.0"
REVISION="5"
SOURCE_URI="https://dl.bintray.com/boostorg/release/$portVersion/source/boost_${portVersion//./_}.tar.bz2"
CHECKSUM_SHA256="9807a5d16566c57fd74fb522764e0b134a8bbe6b6e8967b83afefd30dcd3be81"
SOURCE_DIR="boost_${portVersion//./_}"
PATCHES="boost-$portVersion.patchset"
ARCHITECTURES="?all !x86_gcc2"
SECONDARY_ARCHITECTURES="?x86"
libVersion="$portVersion compat >= 1.65.0"
PROVIDES="
boost165$secondaryArchSuffix = $portVersion
lib:libboost_atomic$secondaryArchSuffix = $libVersion
lib:libboost_chrono$secondaryArchSuffix = $libVersion
lib:libboost_container$secondaryArchSuffix = $libVersion
lib:libboost_context$secondaryArchSuffix = $libVersion
lib:libboost_coroutine$secondaryArchSuffix = $libVersion
lib:libboost_date_time$secondaryArchSuffix = $libVersion
lib:libboost_filesystem$secondaryArchSuffix = $libVersion
lib:libboost_graph$secondaryArchSuffix = $libVersion
lib:libboost_iostreams$secondaryArchSuffix = $libVersion
lib:libboost_locale$secondaryArchSuffix = $libVersion
lib:libboost_log$secondaryArchSuffix = $libVersion
lib:libboost_log_setup$secondaryArchSuffix = $libVersion
lib:libboost_math_c99$secondaryArchSuffix = $libVersion
lib:libboost_math_c99f$secondaryArchSuffix = $libVersion
lib:libboost_math_tr1$secondaryArchSuffix = $libVersion
lib:libboost_math_tr1f$secondaryArchSuffix = $libVersion
lib:libboost_prg_exec_monitor$secondaryArchSuffix = $libVersion
lib:libboost_program_options$secondaryArchSuffix = $libVersion
lib:libboost_random$secondaryArchSuffix = $libVersion
lib:libboost_regex$secondaryArchSuffix = $libVersion
lib:libboost_serialization$secondaryArchSuffix = $libVersion
lib:libboost_signals$secondaryArchSuffix = $libVersion
lib:libboost_stacktrace_basic$secondaryArchSuffix = $libVersion
lib:libboost_stacktrace_noop$secondaryArchSuffix = $libVersion
lib:libboost_system$secondaryArchSuffix = $libVersion
lib:libboost_thread$secondaryArchSuffix = $libVersion
lib:libboost_timer$secondaryArchSuffix = $libVersion
lib:libboost_type_erasure$secondaryArchSuffix = $libVersion
lib:libboost_unit_test_framework$secondaryArchSuffix = $libVersion
lib:libboost_wave$secondaryArchSuffix = $libVersion
lib:libboost_wserialization$secondaryArchSuffix = $libVersion
"
REQUIRES="
haiku$secondaryArchSuffix
lib:libbz2$secondaryArchSuffix
lib:libicudata$secondaryArchSuffix
lib:libicui18n$secondaryArchSuffix
lib:libicuuc$secondaryArchSuffix
lib:libz$secondaryArchSuffix
"
PROVIDES_devel="
boost165${secondaryArchSuffix}_devel = $portVersion
devel:libboost_atomic$secondaryArchSuffix = $portVersion
devel:libboost_chrono$secondaryArchSuffix = $portVersion
devel:libboost_container$secondaryArchSuffix = $portVersion
devel:libboost_context$secondaryArchSuffix = $portVersion
devel:libboost_coroutine$secondaryArchSuffix = $portVersion
devel:libboost_date_time$secondaryArchSuffix = $portVersion
devel:libboost_exception$secondaryArchSuffix = $portVersion
devel:libboost_filesystem$secondaryArchSuffix = $portVersion
devel:libboost_graph$secondaryArchSuffix = $portVersion
devel:libboost_iostreams$secondaryArchSuffix = $portVersion
devel:libboost_locale$secondaryArchSuffix = $portVersion
devel:libboost_log$secondaryArchSuffix = $portVersion
devel:libboost_log_setup$secondaryArchSuffix = $portVersion
devel:libboost_math_c99$secondaryArchSuffix = $portVersion
devel:libboost_math_c99f$secondaryArchSuffix = $portVersion
devel:libboost_math_tr1$secondaryArchSuffix = $portVersion
devel:libboost_math_tr1f$secondaryArchSuffix = $portVersion
devel:libboost_prg_exec_monitor$secondaryArchSuffix = $portVersion
devel:libboost_program_options$secondaryArchSuffix = $portVersion
devel:libboost_random$secondaryArchSuffix = $portVersion
devel:libboost_regex$secondaryArchSuffix = $portVersion
devel:libboost_serialization$secondaryArchSuffix = $portVersion
devel:libboost_signals$secondaryArchSuffix = $portVersion
devel:libboost_stacktrace_basic$secondaryArchSuffix = $portVersion
devel:libboost_stacktrace_noop$secondaryArchSuffix = $portVersion
devel:libboost_system$secondaryArchSuffix = $portVersion
devel:libboost_test_exec_monitor$secondaryArchSuffix = $portVersion
devel:libboost_thread$secondaryArchSuffix = $portVersion
devel:libboost_timer$secondaryArchSuffix = $portVersion
devel:libboost_type_erasure$secondaryArchSuffix = $portVersion
devel:libboost_unit_test_framework$secondaryArchSuffix = $portVersion
devel:libboost_wave$secondaryArchSuffix = $portVersion
devel:libboost_wserialization$secondaryArchSuffix = $portVersion
"
REQUIRES_devel="
boost165$secondaryArchSuffix == $portVersion
haiku$secondaryArchSuffix >= r1~alpha4_pm_hrev51470
"
BUILD_REQUIRES="
haiku${secondaryArchSuffix}_devel
devel:libbz2$secondaryArchSuffix
devel:libicudata$secondaryArchSuffix
devel:libicui18n$secondaryArchSuffix
devel:libicuuc$secondaryArchSuffix
devel:libz$secondaryArchSuffix
"
BUILD_PREREQUIRES="
cmd:gcc$secondaryArchSuffix
cmd:ld$secondaryArchSuffix
cmd:sed
cmd:which
"
BUILD()
{
./bootstrap.sh \
--prefix=$prefix \
--exec-prefix=$binDir \
--libdir=$libDir \
--includedir=$includeDir
./b2 -q $jobArgs \
--without-mpi \
--enable-threads=posix \
--enable-thread-local-alloc \
--enable-parallel-mark \
inlining=on \
threading=multi \
variant=release \
link=static,shared \
runtime-link=shared \
--without-python
}
INSTALL()
{
./b2 -q $jobArgs \
--without-mpi \
--enable-threads=posix \
--enable-thread-local-alloc \
--enable-parallel-mark \
inlining=on \
threading=multi \
variant=release \
link=static,shared \
runtime-link=shared \
--without-python \
install
prepareInstalledDevelLibs libboost_atomic libboost_chrono \
libboost_container libboost_context libboost_coroutine \
libboost_date_time libboost_filesystem libboost_iostreams \
libboost_locale libboost_log libboost_log_setup \
libboost_math_c99 libboost_math_c99f \
libboost_math_tr1 libboost_math_tr1f \
libboost_program_options libboost_random libboost_regex \
libboost_serialization libboost_signals libboost_stacktrace_basic \
libboost_stacktrace_noop libboost_system \
libboost_thread libboost_timer libboost_type_erasure \
libboost_unit_test_framework \
libboost_wave libboost_wserialization \
libboost_exception libboost_graph \
libboost_prg_exec_monitor libboost_test_exec_monitor
packageEntries devel $developDir
}
TEST()
{
cd status
../bjam $jobArgs
}

View File

@@ -1,176 +0,0 @@
SUMMARY="A set of libraries for the C++ programming language"
DESCRIPTION="
Boost is a set of libraries for the C++ programming language that provide \
support for tasks and structures such as linear algebra, pseudorandom number \
generation, multithreading, image processing, regular expressions, and unit \
testing. It contains over eighty individual libraries.
"
HOMEPAGE="https://www.boost.org/"
SOURCE_URI="https://dl.bintray.com/boostorg/release/$portVersion/source/boost_${portVersion//./_}.tar.bz2"
CHECKSUM_SHA256="5721818253e6a0989583192f96782c4a98eb6204965316df9f5ad75819225ca9"
REVISION="4"
LICENSE="Boost v1.0"
COPYRIGHT="1998-2017 Beman Dawes, David Abrahams, Rene Rivera, et al."
SOURCE_DIR="boost_${portVersion//./_}"
PATCHES="boost-$portVersion.patchset"
ARCHITECTURES="?all !x86_gcc2"
SECONDARY_ARCHITECTURES="?x86"
libVersion="$portVersion compat >= 1.66.0"
PROVIDES="
boost166$secondaryArchSuffix = $portVersion
lib:libboost_atomic$secondaryArchSuffix = $libVersion
lib:libboost_chrono$secondaryArchSuffix = $libVersion
lib:libboost_container$secondaryArchSuffix = $libVersion
lib:libboost_context$secondaryArchSuffix = $libVersion
lib:libboost_coroutine$secondaryArchSuffix = $libVersion
lib:libboost_date_time$secondaryArchSuffix = $libVersion
lib:libboost_filesystem$secondaryArchSuffix = $libVersion
lib:libboost_graph$secondaryArchSuffix = $libVersion
lib:libboost_iostreams$secondaryArchSuffix = $libVersion
lib:libboost_locale$secondaryArchSuffix = $libVersion
lib:libboost_log$secondaryArchSuffix = $libVersion
lib:libboost_log_setup$secondaryArchSuffix = $libVersion
lib:libboost_math_c99$secondaryArchSuffix = $libVersion
lib:libboost_math_c99f$secondaryArchSuffix = $libVersion
lib:libboost_math_tr1$secondaryArchSuffix = $libVersion
lib:libboost_math_tr1f$secondaryArchSuffix = $libVersion
lib:libboost_prg_exec_monitor$secondaryArchSuffix = $libVersion
lib:libboost_program_options$secondaryArchSuffix = $libVersion
lib:libboost_random$secondaryArchSuffix = $libVersion
lib:libboost_regex$secondaryArchSuffix = $libVersion
lib:libboost_serialization$secondaryArchSuffix = $libVersion
lib:libboost_signals$secondaryArchSuffix = $libVersion
lib:libboost_stacktrace_basic$secondaryArchSuffix = $libVersion
lib:libboost_stacktrace_noop$secondaryArchSuffix = $libVersion
lib:libboost_system$secondaryArchSuffix = $libVersion
lib:libboost_thread$secondaryArchSuffix = $libVersion
lib:libboost_timer$secondaryArchSuffix = $libVersion
lib:libboost_type_erasure$secondaryArchSuffix = $libVersion
lib:libboost_unit_test_framework$secondaryArchSuffix = $libVersion
lib:libboost_wave$secondaryArchSuffix = $libVersion
lib:libboost_wserialization$secondaryArchSuffix = $libVersion
"
REQUIRES="
haiku$secondaryArchSuffix
lib:libbz2$secondaryArchSuffix
lib:libicuuc$secondaryArchSuffix
lib:libicui18n$secondaryArchSuffix
lib:libicudata$secondaryArchSuffix
lib:libz$secondaryArchSuffix
"
# List of devel entries matching an actual library (for use in prepareInstalledDevelLibs)
# Boost also provides header-only libraries (because templates)
devel_libs="
devel:libboost_atomic$secondaryArchSuffix = $portVersion
devel:libboost_chrono$secondaryArchSuffix = $portVersion
devel:libboost_container$secondaryArchSuffix = $portVersion
devel:libboost_context$secondaryArchSuffix = $portVersion
devel:libboost_coroutine$secondaryArchSuffix = $portVersion
devel:libboost_date_time$secondaryArchSuffix = $portVersion
devel:libboost_exception$secondaryArchSuffix = $portVersion
devel:libboost_filesystem$secondaryArchSuffix = $portVersion
devel:libboost_graph$secondaryArchSuffix = $portVersion
devel:libboost_iostreams$secondaryArchSuffix = $portVersion
devel:libboost_locale$secondaryArchSuffix = $portVersion
devel:libboost_log$secondaryArchSuffix = $portVersion
devel:libboost_log_setup$secondaryArchSuffix = $portVersion
devel:libboost_math_c99$secondaryArchSuffix = $portVersion
devel:libboost_math_c99f$secondaryArchSuffix = $portVersion
devel:libboost_math_tr1$secondaryArchSuffix = $portVersion
devel:libboost_math_tr1f$secondaryArchSuffix = $portVersion
devel:libboost_prg_exec_monitor$secondaryArchSuffix = $portVersion
devel:libboost_program_options$secondaryArchSuffix = $portVersion
devel:libboost_random$secondaryArchSuffix = $portVersion
devel:libboost_regex$secondaryArchSuffix = $portVersion
devel:libboost_serialization$secondaryArchSuffix = $portVersion
devel:libboost_signals$secondaryArchSuffix = $portVersion
devel:libboost_stacktrace_basic$secondaryArchSuffix = $portVersion
devel:libboost_stacktrace_noop$secondaryArchSuffix = $portVersion
devel:libboost_system$secondaryArchSuffix = $portVersion
devel:libboost_test_exec_monitor$secondaryArchSuffix = $portVersion
devel:libboost_thread$secondaryArchSuffix = $portVersion
devel:libboost_timer$secondaryArchSuffix = $portVersion
devel:libboost_type_erasure$secondaryArchSuffix = $portVersion
devel:libboost_unit_test_framework$secondaryArchSuffix = $portVersion
devel:libboost_wave$secondaryArchSuffix = $portVersion
devel:libboost_wserialization$secondaryArchSuffix = $portVersion
"
PROVIDES_devel="
boost166${secondaryArchSuffix}_devel = $portVersion
$devel_libs
devel:libboost_config$secondaryArchSuffix = $portVersion
"
REQUIRES_devel="
haiku$secondaryArchSuffix >= r1~alpha4_pm_hrev51470
boost166$secondaryArchSuffix == $portVersion
"
BUILD_REQUIRES="
haiku${secondaryArchSuffix}_devel
devel:libbz2$secondaryArchSuffix
devel:libz$secondaryArchSuffix
devel:libicuuc$secondaryArchSuffix
devel:libicui18n$secondaryArchSuffix
devel:libicudata$secondaryArchSuffix
"
BUILD_PREREQUIRES="
cmd:gcc$secondaryArchSuffix
cmd:ld$secondaryArchSuffix
cmd:sed
cmd:which
"
BUILD()
{
./bootstrap.sh \
--prefix=$prefix \
--exec-prefix=$binDir \
--libdir=$libDir \
--includedir=$includeDir
./b2 -q $jobArgs \
--without-mpi \
--enable-threads=posix \
--enable-thread-local-alloc \
--enable-parallel-mark \
inlining=on \
threading=multi \
variant=release \
link=static,shared \
runtime-link=shared \
--without-python
}
INSTALL()
{
./b2 -q $jobArgs \
--without-mpi \
--enable-threads=posix \
--enable-thread-local-alloc \
--enable-parallel-mark \
inlining=on \
threading=multi \
variant=release \
link=static,shared \
runtime-link=shared \
--without-python \
install
prepareInstalledDevelLibs `echo "$devel_libs" | sed -n \
-e "s/devel:\(.*\)$secondaryArchSuffix =.*/\1/p"`
packageEntries devel $developDir
}
TEST()
{
cd status
../bjam $jobArgs
}

View File

@@ -6,7 +6,7 @@ expressions, and unit testing. It contains over eighty individual libraries."
HOMEPAGE="https://www.boost.org/"
SOURCE_URI="https://boostorg.jfrog.io/artifactory/main/release/$portVersion/source/boost_${portVersion//./_}.tar.bz2"
CHECKSUM_SHA256="8f32d4617390d1c2d16f26a27ab60d97807b35440d45891fa340fc2648b04406"
REVISION="5"
REVISION="6"
LICENSE="Boost v1.0"
COPYRIGHT="1998-2018 Beman Dawes, David Abrahams, Rene Rivera, et al."
SOURCE_DIR="boost_${portVersion//./_}"
@@ -54,9 +54,9 @@ PROVIDES="
REQUIRES="
haiku$secondaryArchSuffix
lib:libbz2$secondaryArchSuffix
lib:libicudata$secondaryArchSuffix >= 66
lib:libicui18n$secondaryArchSuffix >= 66
lib:libicuuc$secondaryArchSuffix >= 66
lib:libicudata$secondaryArchSuffix
lib:libicui18n$secondaryArchSuffix
lib:libicuuc$secondaryArchSuffix
lib:libz$secondaryArchSuffix
"
@@ -111,9 +111,9 @@ REQUIRES_devel="
BUILD_REQUIRES="
haiku${secondaryArchSuffix}_devel >= r1~alpha4_pm_hrev51470
devel:libbz2$secondaryArchSuffix
devel:libicudata$secondaryArchSuffix >= 66
devel:libicui18n$secondaryArchSuffix >= 66
devel:libicuuc$secondaryArchSuffix >= 66
devel:libicudata$secondaryArchSuffix >= 74
devel:libicui18n$secondaryArchSuffix >= 74
devel:libicuuc$secondaryArchSuffix >= 74
devel:libz$secondaryArchSuffix
"

View File

@@ -6,7 +6,7 @@ expressions, and unit testing. It contains over eighty individual libraries."
HOMEPAGE="https://www.boost.org/"
SOURCE_URI="https://boostorg.jfrog.io/artifactory/main/release/$portVersion/source/boost_${portVersion//./_}.tar.bz2"
CHECKSUM_SHA256="430ae8354789de4fd19ee52f3b1f739e1fba576f0aded0897c3c2bc00fb38778"
REVISION="8"
REVISION="9"
LICENSE="Boost v1.0"
COPYRIGHT="1998-2018 Beman Dawes, David Abrahams, Rene Rivera, et al."
SOURCE_DIR="boost_${portVersion//./_}"
@@ -55,9 +55,9 @@ REQUIRES="
haiku$secondaryArchSuffix
lib:libbz2$secondaryArchSuffix
lib:libiconv$secondaryArchSuffix
lib:libicudata$secondaryArchSuffix >= 66
lib:libicui18n$secondaryArchSuffix >= 66
lib:libicuuc$secondaryArchSuffix >= 66
lib:libicudata$secondaryArchSuffix
lib:libicui18n$secondaryArchSuffix
lib:libicuuc$secondaryArchSuffix
lib:libz$secondaryArchSuffix
"
@@ -115,9 +115,9 @@ BUILD_REQUIRES="
haiku${secondaryArchSuffix}_devel >= r1~alpha4_pm_hrev51470
devel:libbz2$secondaryArchSuffix
devel:libiconv$secondaryArchSuffix
devel:libicudata$secondaryArchSuffix >= 66
devel:libicui18n$secondaryArchSuffix >= 66
devel:libicuuc$secondaryArchSuffix >= 66
devel:libicudata$secondaryArchSuffix >= 74
devel:libicui18n$secondaryArchSuffix >= 74
devel:libicuuc$secondaryArchSuffix >= 74
devel:libz$secondaryArchSuffix
"

View File

@@ -1,201 +0,0 @@
From 847dbc2803cdf64610ed4cdf36574a07aef374b5 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/include/gc_config_macros.h b/tools/build/src/engine/boehm_gc/include/gc_config_macros.h
index 762162a..723b4c3 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
@@ -62,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 61cf9eac..427a9be 100644
--- a/tools/build/src/engine/boehm_gc/include/private/gcconfig.h
+++ b/tools/build/src/engine/boehm_gc/include/private/gcconfig.h
@@ -219,6 +219,12 @@
# define I386
# define HAIKU
# define mach_type_known
+# endif
+# if defined(__HAIKU__) && defined(__x86_64__)
+# define X86_64
+# define HAIKU
+# define mach_type_known
+# endif
# if defined(LINUX) && (defined(i386) || defined(__i386__))
# define I386
# define mach_type_known
@@ -1025,6 +1031,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 2dd087f..8be17f8 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 HAIKU
# include <OS.h>
@@ -1106,7 +1115,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) && !defined(HAIKU)
diff --git a/tools/build/src/engine/jam.h b/tools/build/src/engine/jam.h
index a6abf41..b774a59 100644
--- a/tools/build/src/engine/jam.h
+++ b/tools/build/src/engine/jam.h
@@ -162,6 +162,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 80a7e12..93f05e5 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.py b/tools/build/src/tools/builtin.py
index ee6474b..d2bc86d 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 appletv bsd cygwin darwin dos emx freebsd hpux iphone linux netbsd
+ amiga aix appletv 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()
--
2.14.2
From 3ce44dbce12c8c8ccaaf544ec28aeed1255b854e 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/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.14.2
From 4622b1ba7c6141478a00aec5d529d148e9832305 Mon Sep 17 00:00:00 2001
From: Jerome Duval <jerome.duval@gmail.com>
Date: Sat, 14 Oct 2017 11:47:09 +0200
Subject: Haiku needs bsd and _BSD_SOURCE.
diff --git a/tools/build/src/engine/build.jam b/tools/build/src/engine/build.jam
index e711c08..f81e349 100644
--- a/tools/build/src/engine/build.jam
+++ b/tools/build/src/engine/build.jam
@@ -583,6 +583,11 @@ if $(OS) = VMS
{
--defs += VMS ;
}
+if $(OS) = HAIKU
+{
+ --defs += _BSD_SOURCE ;
+ --libs += -lbsd ;
+}
--defs += YYSTACKSIZE=5000 ;
if $(with-python)
diff --git a/tools/build/src/engine/build.sh b/tools/build/src/engine/build.sh
index 1d0dcc8..30d74f1 100755
--- a/tools/build/src/engine/build.sh
+++ b/tools/build/src/engine/build.sh
@@ -148,6 +148,13 @@ case $BOOST_JAM_TOOLSET in
BOOST_JAM_OS="NT"
;;
+ *haiku*)
+ BOOST_JAM_CC=cc
+ BOOST_JAM_OPT_JAM="$BOOST_JAM_OPT_JAM -D_BSD_SOURCE -lbsd"
+ BOOST_JAM_OPT_MKJAMBASE="$BOOST_JAM_OPT_MKJAMBASE -D_BSD_SOURCE -lbsd"
+ BOOST_JAM_OPT_YYACC="$BOOST_JAM_OPT_YYACC -D_BSD_SOURCE -lbsd"
+ ;;
+
*)
BOOST_JAM_CC=gcc
esac
--
2.14.2

View File

@@ -1,201 +0,0 @@
From 847dbc2803cdf64610ed4cdf36574a07aef374b5 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/include/gc_config_macros.h b/tools/build/src/engine/boehm_gc/include/gc_config_macros.h
index 762162a..723b4c3 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
@@ -62,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 61cf9eac..427a9be 100644
--- a/tools/build/src/engine/boehm_gc/include/private/gcconfig.h
+++ b/tools/build/src/engine/boehm_gc/include/private/gcconfig.h
@@ -219,6 +219,12 @@
# define I386
# define HAIKU
# define mach_type_known
+# endif
+# if defined(__HAIKU__) && defined(__x86_64__)
+# define X86_64
+# define HAIKU
+# define mach_type_known
+# endif
# if defined(LINUX) && (defined(i386) || defined(__i386__))
# define I386
# define mach_type_known
@@ -1025,6 +1031,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 2dd087f..8be17f8 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 HAIKU
# include <OS.h>
@@ -1106,7 +1115,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) && !defined(HAIKU)
diff --git a/tools/build/src/engine/jam.h b/tools/build/src/engine/jam.h
index a6abf41..b774a59 100644
--- a/tools/build/src/engine/jam.h
+++ b/tools/build/src/engine/jam.h
@@ -162,6 +162,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 80a7e12..93f05e5 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.py b/tools/build/src/tools/builtin.py
index ee6474b..d2bc86d 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 appletv bsd cygwin darwin dos emx freebsd hpux iphone linux netbsd
+ amiga aix appletv 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()
--
2.14.2
From 3ce44dbce12c8c8ccaaf544ec28aeed1255b854e 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/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.14.2
From 4622b1ba7c6141478a00aec5d529d148e9832305 Mon Sep 17 00:00:00 2001
From: Jerome Duval <jerome.duval@gmail.com>
Date: Sat, 14 Oct 2017 11:47:09 +0200
Subject: Haiku needs bsd and _BSD_SOURCE.
diff --git a/tools/build/src/engine/build.jam b/tools/build/src/engine/build.jam
index e711c08..f81e349 100644
--- a/tools/build/src/engine/build.jam
+++ b/tools/build/src/engine/build.jam
@@ -583,6 +583,11 @@ if $(OS) = VMS
{
--defs += VMS ;
}
+if $(OS) = HAIKU
+{
+ --defs += _BSD_SOURCE ;
+ --libs += -lbsd ;
+}
--defs += YYSTACKSIZE=5000 ;
if $(with-python)
diff --git a/tools/build/src/engine/build.sh b/tools/build/src/engine/build.sh
index 1d0dcc8..30d74f1 100755
--- a/tools/build/src/engine/build.sh
+++ b/tools/build/src/engine/build.sh
@@ -148,6 +148,13 @@ case $BOOST_JAM_TOOLSET in
BOOST_JAM_OS="NT"
;;
+ *haiku*)
+ BOOST_JAM_CC=cc
+ BOOST_JAM_OPT_JAM="$BOOST_JAM_OPT_JAM -D_BSD_SOURCE -lbsd"
+ BOOST_JAM_OPT_MKJAMBASE="$BOOST_JAM_OPT_MKJAMBASE -D_BSD_SOURCE -lbsd"
+ BOOST_JAM_OPT_YYACC="$BOOST_JAM_OPT_YYACC -D_BSD_SOURCE -lbsd"
+ ;;
+
*)
BOOST_JAM_CC=gcc
esac
--
2.14.2