boost, first cleanup (#7954)

This commit is contained in:
Schrijvers Luc
2023-03-12 20:50:10 +01:00
committed by GitHub
parent 7cca4a236e
commit 6f167ca1a2
6 changed files with 0 additions and 1610 deletions

View File

@@ -1,476 +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="http://sourceforge.net/projects/boost/files/boost/$portVersion/boost_1_57_0.tar.bz2"
CHECKSUM_SHA256="910c8c022a33ccec7f088bd65d4f14b466588dda94ba2124e78b8c57db264967"
REVISION="3"
LICENSE="Boost v1.0"
COPYRIGHT="1998-2014 Beman Dawes, David Abrahams, Rene Rivera, et al."
ARCHITECTURES="?all !x86_gcc2 x86"
SECONDARY_ARCHITECTURES="x86"
SOURCE_DIR="boost_1_57_0"
PATCHES="boost-1.57.0.patchset"
PROVIDES="
boost$secondaryArchSuffix = $portVersion
"
REQUIRES="
haiku$secondaryArchSuffix
boost_atomic$secondaryArchSuffix == $portVersion
boost_chrono$secondaryArchSuffix == $portVersion
boost_container$secondaryArchSuffix == $portVersion
boost_context$secondaryArchSuffix == $portVersion
boost_coroutine$secondaryArchSuffix == $portVersion
boost_date_time$secondaryArchSuffix == $portVersion
boost_filesystem$secondaryArchSuffix == $portVersion
boost_graph$secondaryArchSuffix == $portVersion
boost_iostreams$secondaryArchSuffix == $portVersion
boost_locale$secondaryArchSuffix == $portVersion
boost_log$secondaryArchSuffix == $portVersion
boost_math$secondaryArchSuffix == $portVersion
boost_program_options$secondaryArchSuffix == $portVersion
boost_random$secondaryArchSuffix == $portVersion
boost_regex$secondaryArchSuffix == $portVersion
boost_serialization$secondaryArchSuffix == $portVersion
boost_signals$secondaryArchSuffix == $portVersion
boost_system$secondaryArchSuffix == $portVersion
boost_test$secondaryArchSuffix == $portVersion
boost_thread$secondaryArchSuffix == $portVersion
boost_timer$secondaryArchSuffix == $portVersion
boost_unit_test_framework$secondaryArchSuffix == $portVersion
boost_wave$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
"
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_c99l \
libboost_math_tr1 libboost_math_tr1f libboost_math_tr1l \
libboost_program_options libboost_random libboost_regex \
libboost_serialization libboost_signals libboost_system \
libboost_thread libboost_timer libboost_unit_test_framework \
libboost_wave libboost_wserialization libboost_prg_exec_monitor \
libboost_exception libboost_graph libboost_test_exec_monitor
packageEntries devel $developDir
packageEntries atomic $libDir/libboost_atomic*
packageEntries chrono $libDir/libboost_chrono*
packageEntries container $libDir/libboost_container*
packageEntries context $libDir/libboost_context*
packageEntries coroutine $libDir/libboost_coroutine*
packageEntries date_time $libDir/libboost_date_time*
# packageEntries exception $libDir/libboost_exception*
packageEntries filesystem $libDir/libboost_filesystem*
packageEntries graph $libDir/libboost_graph*
packageEntries iostreams $libDir/libboost_iostreams*
packageEntries locale $libDir/libboost_locale*
packageEntries log $libDir/libboost_log*
packageEntries math $libDir/libboost_math*
packageEntries program_options $libDir/libboost_program_options*
packageEntries random $libDir/libboost_random*
packageEntries regex $libDir/libboost_regex*
packageEntries serialization $libDir/libboost_serialization* $libDir/libboost_wserialization*
packageEntries signals $libDir/libboost_signals*
packageEntries system $libDir/libboost_system*
packageEntries test $libDir/libboost_prg_exec_monitor*
packageEntries thread $libDir/libboost_thread*
packageEntries timer $libDir/libboost_timer*
packageEntries unit_test_framework $libDir/libboost_unit_test_framework*
packageEntries wave $libDir/libboost_wave*
}
TEST()
{
cd status
../bjam $jobArgs
}
PROVIDES_devel="
boost${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_c99l$secondaryArchSuffix = $portVersion
devel:libboost_math_tr1$secondaryArchSuffix = $portVersion
devel:libboost_math_tr1f$secondaryArchSuffix = $portVersion
devel:libboost_math_tr1l$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_system$secondaryArchSuffix = $portVersion
devel:libboost_test_exec_monitor$secondaryArchSuffix = $portVersion
devel:libboost_thread$secondaryArchSuffix = $portVersion
devel:libboost_timer$secondaryArchSuffix = $portVersion
devel:libboost_unit_test_framework$secondaryArchSuffix = $portVersion
devel:libboost_wave$secondaryArchSuffix = $portVersion
devel:libboost_wserialization$secondaryArchSuffix = $portVersion
"
REQUIRES_devel="
haiku$secondaryArchSuffix
boost$secondaryArchSuffix == $portVersion
boost_atomic$secondaryArchSuffix == $portVersion
boost_chrono$secondaryArchSuffix == $portVersion
boost_container$secondaryArchSuffix == $portVersion
boost_context$secondaryArchSuffix == $portVersion
boost_coroutine$secondaryArchSuffix == $portVersion
boost_date_time$secondaryArchSuffix == $portVersion
# boost_exception$secondaryArchSuffix == $portVersion
boost_filesystem$secondaryArchSuffix == $portVersion
boost_graph$secondaryArchSuffix == $portVersion
boost_iostreams$secondaryArchSuffix == $portVersion
boost_locale$secondaryArchSuffix == $portVersion
boost_log$secondaryArchSuffix == $portVersion
boost_math$secondaryArchSuffix == $portVersion
boost_program_options$secondaryArchSuffix == $portVersion
boost_random$secondaryArchSuffix == $portVersion
boost_regex$secondaryArchSuffix == $portVersion
boost_serialization$secondaryArchSuffix == $portVersion
boost_signals$secondaryArchSuffix == $portVersion
boost_system$secondaryArchSuffix == $portVersion
boost_test$secondaryArchSuffix == $portVersion
boost_thread$secondaryArchSuffix == $portVersion
boost_timer$secondaryArchSuffix == $portVersion
boost_unit_test_framework$secondaryArchSuffix == $portVersion
boost_wave$secondaryArchSuffix == $portVersion
"
PROVIDES_atomic="
boost_atomic$secondaryArchSuffix = $portVersion
lib:libboost_atomic$secondaryArchSuffix = $portVersion
"
REQUIRES_atomic="
haiku$secondaryArchSuffix
"
PROVIDES_chrono="
boost_chrono$secondaryArchSuffix = $portVersion
lib:libboost_chrono$secondaryArchSuffix = $portVersion
"
REQUIRES_chrono="
haiku$secondaryArchSuffix
lib:libboost_system$secondaryArchSuffix == $portVersion
"
PROVIDES_container="
boost_container$secondaryArchSuffix = $portVersion
lib:libboost_container$secondaryArchSuffix = $portVersion
"
REQUIRES_container="
haiku$secondaryArchSuffix
"
PROVIDES_context="
boost_context$secondaryArchSuffix = $portVersion
lib:libboost_context$secondaryArchSuffix = $portVersion
"
REQUIRES_context="
haiku$secondaryArchSuffix
"
PROVIDES_coroutine="
boost_coroutine$secondaryArchSuffix = $portVersion
lib:libboost_coroutine$secondaryArchSuffix = $portVersion
"
REQUIRES_coroutine="
haiku$secondaryArchSuffix
lib:libboost_chrono$secondaryArchSuffix == $portVersion
lib:libboost_context$secondaryArchSuffix == $portVersion
lib:libboost_system$secondaryArchSuffix == $portVersion
lib:libboost_thread$secondaryArchSuffix == $portVersion
"
PROVIDES_date_time="
boost_date_time$secondaryArchSuffix = $portVersion
lib:libboost_date_time$secondaryArchSuffix = $portVersion
"
REQUIRES_date_time="
haiku$secondaryArchSuffix
"
#PROVIDES_exception="
# boost_exception$secondaryArchSuffix = $portVersion
# lib:libboost_exception$secondaryArchSuffix = $portVersion
# "
#REQUIRES_exception="
# haiku$secondaryArchSuffix
# "
PROVIDES_filesystem="
boost_filesystem$secondaryArchSuffix = $portVersion
lib:libboost_filesystem$secondaryArchSuffix = $portVersion
"
REQUIRES_filesystem="
haiku$secondaryArchSuffix
lib:libboost_system$secondaryArchSuffix == $portVersion
lib:libz$secondaryArchSuffix
lib:libbz2$secondaryArchSuffix
"
PROVIDES_graph="
boost_graph$secondaryArchSuffix = $portVersion
lib:libboost_graph$secondaryArchSuffix = $portVersion
"
REQUIRES_graph="
haiku$secondaryArchSuffix
lib:libboost_regex$secondaryArchSuffix == $portVersion
lib:libicuuc$secondaryArchSuffix
lib:libicui18n$secondaryArchSuffix
lib:libicudata$secondaryArchSuffix
"
PROVIDES_iostreams="
boost_iostreams$secondaryArchSuffix = $portVersion
lib:libboost_iostreams$secondaryArchSuffix = $portVersion
"
REQUIRES_iostreams="
haiku$secondaryArchSuffix
lib:libz$secondaryArchSuffix
lib:libbz2$secondaryArchSuffix
"
PROVIDES_locale="
boost_locale$secondaryArchSuffix = $portVersion
lib:libboost_locale$secondaryArchSuffix = $portVersion
"
REQUIRES_locale="
haiku$secondaryArchSuffix
lib:libboost_chrono$secondaryArchSuffix == $portVersion
lib:libboost_system$secondaryArchSuffix == $portVersion
lib:libboost_thread$secondaryArchSuffix == $portVersion
lib:libicuuc$secondaryArchSuffix
lib:libicui18n$secondaryArchSuffix
lib:libicudata$secondaryArchSuffix
"
PROVIDES_log="
boost_log$secondaryArchSuffix = $portVersion
lib:libboost_log$secondaryArchSuffix = $portVersion
lib:libboost_log_setup$secondaryArchSuffix = $portVersion
"
REQUIRES_log="
haiku$secondaryArchSuffix
lib:libboost_chrono$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:libicuuc$secondaryArchSuffix
lib:libicui18n$secondaryArchSuffix
lib:libicudata$secondaryArchSuffix
"
PROVIDES_math="
boost_math$secondaryArchSuffix = $portVersion
lib:libboost_math_c99$secondaryArchSuffix = $portVersion
lib:libboost_math_c99f$secondaryArchSuffix = $portVersion
lib:libboost_math_c99l$secondaryArchSuffix = $portVersion
lib:libboost_math_tr1$secondaryArchSuffix = $portVersion
lib:libboost_math_tr1f$secondaryArchSuffix = $portVersion
lib:libboost_math_tr1l$secondaryArchSuffix = $portVersion
"
REQUIRES_math="
haiku$secondaryArchSuffix
"
PROVIDES_program_options="
boost_program_options$secondaryArchSuffix = $portVersion
lib:libboost_program_options$secondaryArchSuffix = $portVersion
"
REQUIRES_program_options="
haiku$secondaryArchSuffix
"
PROVIDES_random="
boost_random$secondaryArchSuffix = $portVersion
lib:libboost_random$secondaryArchSuffix = $portVersion
"
REQUIRES_random="
haiku$secondaryArchSuffix
lib:libboost_system$secondaryArchSuffix == $portVersion
"
PROVIDES_regex="
boost_regex$secondaryArchSuffix = $portVersion
lib:libboost_regex$secondaryArchSuffix = $portVersion
"
REQUIRES_regex="
haiku$secondaryArchSuffix
lib:libicuuc$secondaryArchSuffix
lib:libicui18n$secondaryArchSuffix
lib:libicudata$secondaryArchSuffix
"
PROVIDES_serialization="
boost_serialization$secondaryArchSuffix = $portVersion
lib:libboost_serialization$secondaryArchSuffix = $portVersion
lib:libboost_wserialization$secondaryArchSuffix = $portVersion
"
REQUIRES_serialization="
haiku$secondaryArchSuffix
"
PROVIDES_signals="
boost_signals$secondaryArchSuffix = $portVersion
lib:libboost_signals$secondaryArchSuffix = $portVersion
"
REQUIRES_signals="
haiku$secondaryArchSuffix
"
PROVIDES_system="
boost_system$secondaryArchSuffix = $portVersion
lib:libboost_system$secondaryArchSuffix = $portVersion
"
REQUIRES_system="
haiku$secondaryArchSuffix
"
PROVIDES_test="
boost_test$secondaryArchSuffix = $portVersion
lib:libboost_prg_exec_monitor$secondaryArchSuffix = $portVersion
# lib:libboost_test_exec_monitor$secondaryArchSuffix = $portVersion
"
REQUIRES_test="
haiku$secondaryArchSuffix
"
PROVIDES_thread="
boost_thread$secondaryArchSuffix = $portVersion
lib:libboost_thread$secondaryArchSuffix = $portVersion
"
REQUIRES_thread="
haiku$secondaryArchSuffix
lib:libboost_system$secondaryArchSuffix == $portVersion
"
PROVIDES_timer="
boost_timer$secondaryArchSuffix = $portVersion
lib:libboost_timer$secondaryArchSuffix = $portVersion
"
REQUIRES_timer="
haiku$secondaryArchSuffix
lib:libboost_chrono$secondaryArchSuffix == $portVersion
lib:libboost_system$secondaryArchSuffix == $portVersion
"
PROVIDES_unit_test_framework="
boost_unit_test_framework$secondaryArchSuffix = $portVersion
lib:libboost_unit_test_framework$secondaryArchSuffix = $portVersion
"
REQUIRES_unit_test_framework="
haiku$secondaryArchSuffix
"
PROVIDES_wave="
boost_wave$secondaryArchSuffix = $portVersion
lib:libboost_wave$secondaryArchSuffix = $portVersion
"
REQUIRES_wave="
haiku$secondaryArchSuffix
lib:libboost_chrono$secondaryArchSuffix == $portVersion
lib:libboost_date_time$secondaryArchSuffix == $portVersion
lib:libboost_filesystem$secondaryArchSuffix == $portVersion
lib:libboost_system$secondaryArchSuffix == $portVersion
lib:libboost_thread$secondaryArchSuffix == $portVersion
"

View File

@@ -1,174 +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-2014 Beman Dawes, David Abrahams, Rene Rivera, et al."
LICENSE="Boost v1.0"
REVISION="4"
SOURCE_URI="https://sourceforge.net/projects/boost/files/boost/1.63.0/boost_1_63_0.tar.bz2"
CHECKSUM_SHA256="beae2529f759f6b3bf3f4969a19c2e9d6f0c503edcb2de4a61d1428519fcb3b0"
SOURCE_DIR="boost_1_63_0"
PATCHES="boost-$portVersion.patchset"
ARCHITECTURES="all !x86_gcc2"
SECONDARY_ARCHITECTURES="?x86"
libVersion="$portVersion compat >= 1.63.0"
PROVIDES="
boost163$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_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="
boost163${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_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="
boost163$secondaryArchSuffix == $portVersion
haiku$secondaryArchSuffix
"
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_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,174 +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="3"
SOURCE_URI="https://sourceforge.net/projects/boost/files/boost/1.64.0/boost_1_64_0.tar.bz2"
CHECKSUM_SHA256="7bcc5caace97baa948931d712ea5f37038dbb1c5d89b43ad4def4ed7cb683332"
SOURCE_DIR="boost_1_64_0"
PATCHES="boost-$portVersion.patchset"
ARCHITECTURES="all !x86_gcc2"
SECONDARY_ARCHITECTURES="?x86"
libVersion="$portVersion compat >= 1.64.0"
PROVIDES="
boost164$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_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="
boost164${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_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="
boost164$secondaryArchSuffix == $portVersion
haiku$secondaryArchSuffix
"
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_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,392 +0,0 @@
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..1934f85 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 HAIKU : 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

View File

@@ -1,197 +0,0 @@
From 9b385153b69a2e76bf8e678ab2ecd0554cb794d0 Mon Sep 17 00:00:00 2001
From: Adrien Destugues <pulkomandy@gmail.com>
Date: Sat, 6 Aug 2016 22:27:19 +0200
Subject: [PATCH 1/3] Import changes from 1.55.0: buildtools
---
tools/build/src/engine/boehm_gc/include/gc_config_macros.h | 2 +-
tools/build/src/engine/boehm_gc/include/private/gcconfig.h | 13 +++++++++++++
tools/build/src/engine/boehm_gc/os_dep.c | 11 ++++++++++-
tools/build/src/engine/jam.h | 5 +++++
tools/build/src/engine/jambase.c | 12 ++++++++++++
tools/build/src/tools/builtin.py | 2 +-
6 files changed, 42 insertions(+), 3 deletions(-)
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 ec56fe2..4ed4935 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.7.4
From 4590512a658de907d6c9e85da35a285fbfa12b54 Mon Sep 17 00:00:00 2001
From: Adrien Destugues <pulkomandy@gmail.com>
Date: Sat, 6 Aug 2016 22:27:41 +0200
Subject: [PATCH 2/3] Import changes from 1.55.0: sourcecode
---
boost/thread/detail/platform.hpp | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
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.4
From 48e79f3fd52d96c0527e376d1261d10d79942706 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?J=C3=A9r=C3=B4me=20Duval?= <jerome.duval@gmail.com>
Date: Sat, 31 Dec 2016 11:23:58 +0100
Subject: [PATCH 3/3] replace wait4 by waitpid for Haiku
---
tools/build/src/engine/execunix.c | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/tools/build/src/engine/execunix.c b/tools/build/src/engine/execunix.c
index 21a223d..c6ec622 100644
--- a/tools/build/src/engine/execunix.c
+++ b/tools/build/src/engine/execunix.c
@@ -515,7 +515,11 @@ void exec_wait()
close_streams( i, ERR );
/* Reap the child and release resources. */
+#ifdef __HAIKU__
+ while ( ( pid = waitpid( cmdtab[ i ].pid, &status, 0 ) ) == -1 )
+#else
while ( ( pid = wait4( cmdtab[ i ].pid, &status, 0, &cmd_usage ) ) == -1 )
+#endif
if ( errno != EINTR )
break;
if ( pid != cmdtab[ i ].pid )
--
2.7.4

View File

@@ -1,197 +0,0 @@
From 9b385153b69a2e76bf8e678ab2ecd0554cb794d0 Mon Sep 17 00:00:00 2001
From: Adrien Destugues <pulkomandy@gmail.com>
Date: Sat, 6 Aug 2016 22:27:19 +0200
Subject: [PATCH 1/3] Import changes from 1.55.0: buildtools
---
tools/build/src/engine/boehm_gc/include/gc_config_macros.h | 2 +-
tools/build/src/engine/boehm_gc/include/private/gcconfig.h | 13 +++++++++++++
tools/build/src/engine/boehm_gc/os_dep.c | 11 ++++++++++-
tools/build/src/engine/jam.h | 5 +++++
tools/build/src/engine/jambase.c | 12 ++++++++++++
tools/build/src/tools/builtin.py | 2 +-
6 files changed, 42 insertions(+), 3 deletions(-)
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 ec56fe2..4ed4935 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.7.4
From 4590512a658de907d6c9e85da35a285fbfa12b54 Mon Sep 17 00:00:00 2001
From: Adrien Destugues <pulkomandy@gmail.com>
Date: Sat, 6 Aug 2016 22:27:41 +0200
Subject: [PATCH 2/3] Import changes from 1.55.0: sourcecode
---
boost/thread/detail/platform.hpp | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
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.4
From 48e79f3fd52d96c0527e376d1261d10d79942706 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?J=C3=A9r=C3=B4me=20Duval?= <jerome.duval@gmail.com>
Date: Sat, 31 Dec 2016 11:23:58 +0100
Subject: [PATCH 3/3] replace wait4 by waitpid for Haiku
---
tools/build/src/engine/execunix.c | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/tools/build/src/engine/execunix.c b/tools/build/src/engine/execunix.c
index 21a223d..c6ec622 100644
--- a/tools/build/src/engine/execunix.c
+++ b/tools/build/src/engine/execunix.c
@@ -515,7 +515,11 @@ void exec_wait()
close_streams( i, ERR );
/* Reap the child and release resources. */
+#ifdef __HAIKU__
+ while ( ( pid = waitpid( cmdtab[ i ].pid, &status, 0 ) ) == -1 )
+#else
while ( ( pid = wait4( cmdtab[ i ].pid, &status, 0, &cmd_usage ) ) == -1 )
+#endif
if ( errno != EINTR )
break;
if ( pid != cmdtab[ i ].pid )
--
2.7.4