Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
boost: add recipe for version 1.63.0.
* single runtime package.
- Loading branch information
Showing
2 changed files
with
370 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,173 @@ | ||
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="http://www.boost.org/" | ||
SOURCE_URI="https://sourceforge.net/projects/boost/files/boost/1.63.0/boost_1_63_0.tar.bz2" | ||
CHECKSUM_SHA256="beae2529f759f6b3bf3f4969a19c2e9d6f0c503edcb2de4a61d1428519fcb3b0" | ||
REVISION="1" | ||
LICENSE="Boost v1.0" | ||
COPYRIGHT="1998-2014 Beman Dawes, David Abrahams, Rene Rivera, et al." | ||
SOURCE_DIR="boost_1_63_0" | ||
PATCHES="boost-$portVersion.patchset" | ||
|
||
ARCHITECTURES="!x86_gcc2 ?x86 x86_64" | ||
SECONDARY_ARCHITECTURES="?x86" | ||
|
||
PROVIDES=" | ||
boost163$secondaryArchSuffix = $portVersion | ||
lib:libboost_atomic$secondaryArchSuffix = $portVersion | ||
lib:libboost_chrono$secondaryArchSuffix = $portVersion | ||
lib:libboost_container$secondaryArchSuffix = $portVersion | ||
lib:libboost_context$secondaryArchSuffix = $portVersion | ||
lib:libboost_coroutine$secondaryArchSuffix = $portVersion | ||
lib:libboost_date_time$secondaryArchSuffix = $portVersion | ||
lib:libboost_filesystem$secondaryArchSuffix = $portVersion | ||
lib:libboost_graph$secondaryArchSuffix = $portVersion | ||
lib:libboost_iostreams$secondaryArchSuffix = $portVersion | ||
lib:libboost_locale$secondaryArchSuffix = $portVersion | ||
lib:libboost_log$secondaryArchSuffix = $portVersion | ||
lib:libboost_log_setup$secondaryArchSuffix = $portVersion | ||
lib:libboost_math_c99$secondaryArchSuffix = $portVersion | ||
lib:libboost_math_c99f$secondaryArchSuffix = $portVersion | ||
lib:libboost_math_tr1$secondaryArchSuffix = $portVersion | ||
lib:libboost_math_tr1f$secondaryArchSuffix = $portVersion | ||
lib:libboost_program_options$secondaryArchSuffix = $portVersion | ||
lib:libboost_random$secondaryArchSuffix = $portVersion | ||
lib:libboost_regex$secondaryArchSuffix = $portVersion | ||
lib:libboost_serialization$secondaryArchSuffix = $portVersion | ||
lib:libboost_wserialization$secondaryArchSuffix = $portVersion | ||
lib:libboost_signals$secondaryArchSuffix = $portVersion | ||
lib:libboost_system$secondaryArchSuffix = $portVersion | ||
lib:libboost_prg_exec_monitor$secondaryArchSuffix = $portVersion | ||
lib:libboost_thread$secondaryArchSuffix = $portVersion | ||
lib:libboost_timer$secondaryArchSuffix = $portVersion | ||
lib:libboost_type_erasure$secondaryArchSuffix = $portVersion | ||
lib:libboost_unit_test_framework$secondaryArchSuffix = $portVersion | ||
lib:libboost_wave$secondaryArchSuffix = $portVersion | ||
" | ||
REQUIRES=" | ||
haiku$secondaryArchSuffix | ||
lib:libbz2$secondaryArchSuffix | ||
lib:libicuuc$secondaryArchSuffix | ||
lib:libicui18n$secondaryArchSuffix | ||
lib:libicudata$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=" | ||
haiku$secondaryArchSuffix | ||
boost163$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 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 | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,197 @@ | ||
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 | ||
|