ports: Add boost port
This commit is contained in:
parent
e05a735589
commit
9e500dc387
|
|
@ -0,0 +1,25 @@
|
|||
#!/bin/bash ../install.sh
|
||||
|
||||
NAME='boost'
|
||||
VERSION='1.89.0'
|
||||
DOWNLOAD_URL="https://archives.boost.io/release/$VERSION/source/boost_${VERSION//./_}.tar.gz#9de758db755e8330a01d995b0a24d09798048400ac25c03fc5ea9be364b13c93"
|
||||
TAR_CONTENT="boost_${VERSION//./_}"
|
||||
DEPENDENCIES=('zlib' 'zstd' 'libiconv')
|
||||
|
||||
configure() {
|
||||
# stacktrace fails on multiple definition of __cxa_allocate_exception because our libstdc++ is static
|
||||
./bootstrap.sh \
|
||||
--prefix="$BANAN_SYSROOT/usr" \
|
||||
--without-icu \
|
||||
--without-libraries='python,stacktrace' \
|
||||
|| exit 1
|
||||
echo "using gcc : : $CXX ;" > user-config.jam
|
||||
}
|
||||
|
||||
build() {
|
||||
./b2 --user-config=user-config.jam toolset=gcc target-os=banan_os || exit 1
|
||||
}
|
||||
|
||||
install() {
|
||||
./b2 --user-config=user-config.jam toolset=gcc target-os=banan_os install || exit 1
|
||||
}
|
||||
|
|
@ -0,0 +1,115 @@
|
|||
diff -ruN boost_1_89_0/boost/config/detail/select_platform_config.hpp boost_1_89_0-banan_os/boost/config/detail/select_platform_config.hpp
|
||||
--- boost_1_89_0/boost/config/detail/select_platform_config.hpp 2025-08-06 21:49:08.000000000 +0300
|
||||
+++ boost_1_89_0-banan_os/boost/config/detail/select_platform_config.hpp 2025-10-29 21:16:39.964658105 +0200
|
||||
@@ -93,6 +93,10 @@
|
||||
// Web assembly:
|
||||
# define BOOST_PLATFORM_CONFIG "boost/config/platform/wasm.hpp"
|
||||
|
||||
+#elif defined (__banan_os__)
|
||||
+// banan-os:
|
||||
+# define BOOST_PLATFORM_CONFIG "boost/config/platform/banan-os.hpp"
|
||||
+
|
||||
#else
|
||||
|
||||
# if defined(unix) \
|
||||
@@ -139,6 +143,7 @@
|
||||
# include "boost/config/platform/symbian.hpp"
|
||||
# include "boost/config/platform/cray.hpp"
|
||||
# include "boost/config/platform/vms.hpp"
|
||||
+# include "boost/config/platform/banan-os.hpp"
|
||||
# include <boost/config/detail/posix_features.hpp>
|
||||
|
||||
|
||||
diff -ruN boost_1_89_0/boost/config/platform/banan-os.hpp boost_1_89_0-banan_os/boost/config/platform/banan-os.hpp
|
||||
--- boost_1_89_0/boost/config/platform/banan-os.hpp 1970-01-01 02:00:00.000000000 +0200
|
||||
+++ boost_1_89_0-banan_os/boost/config/platform/banan-os.hpp 2025-10-29 21:21:58.791813238 +0200
|
||||
@@ -0,0 +1,29 @@
|
||||
+// (C) Copyright Oskari Alaranta 2025.
|
||||
+// 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.
|
||||
+
|
||||
+// banan-os specific config options:
|
||||
+
|
||||
+#define BOOST_PLATFORM "banan-os"
|
||||
+
|
||||
+#define BOOST_HAS_UNISTD_H
|
||||
+#define BOOST_HAS_STDINT_H
|
||||
+
|
||||
+#ifndef BOOST_DISABLE_THREADS
|
||||
+# define BOOST_HAS_THREADS
|
||||
+#endif
|
||||
+
|
||||
+//
|
||||
+// thread API's not auto detected:
|
||||
+//
|
||||
+#define BOOST_HAS_SCHED_YIELD
|
||||
+#define BOOST_HAS_GETTIMEOFDAY
|
||||
+
|
||||
+// boilerplate code:
|
||||
+#include <boost/config/detail/posix_features.hpp>
|
||||
+
|
||||
+
|
||||
+
|
||||
diff -ruN boost_1_89_0/tools/build/src/tools/features/os-feature.jam boost_1_89_0-banan_os/tools/build/src/tools/features/os-feature.jam
|
||||
--- boost_1_89_0/tools/build/src/tools/features/os-feature.jam 2025-08-06 21:49:15.000000000 +0300
|
||||
+++ boost_1_89_0-banan_os/tools/build/src/tools/features/os-feature.jam 2025-10-29 21:14:14.978467634 +0200
|
||||
@@ -11,7 +11,7 @@
|
||||
none
|
||||
aix android appletv bsd cygwin darwin freebsd haiku hpux iphone linux
|
||||
netbsd openbsd osf qnx qnxnto sgi solaris unix unixware windows vms vxworks
|
||||
- freertos
|
||||
+ freertos banan_os
|
||||
|
||||
# Not actually an OS -- used for targeting bare metal where object
|
||||
# format is ELF. This catches both -elf and -eabi gcc targets as well
|
||||
@@ -80,7 +80,7 @@
|
||||
*Allowed values:* `aix`, `android`, `appletv`, `bsd`, `cygwin`, `darwin`,
|
||||
`freebsd`, `haiku`, `hpux`, `iphone`, `linux`, `netbsd`, `openbsd`, `osf`,
|
||||
`qnx`, `qnxnto`, `sgi`, `solaris`, `unix`, `unixware`, `windows`, `vms`,
|
||||
-`vxworks`, `freertos`.
|
||||
+`vxworks`, `freertos`, `banan_os`.
|
||||
+
|
||||
Specifies the operating system for which the code is to be generated. The
|
||||
compiler you used should be the compiler for that operating system. This option
|
||||
diff -ruN boost_1_89_0/tools/build/src/tools/gcc.jam boost_1_89_0-banan_os/tools/build/src/tools/gcc.jam
|
||||
--- boost_1_89_0/tools/build/src/tools/gcc.jam 2025-08-06 21:49:15.000000000 +0300
|
||||
+++ boost_1_89_0-banan_os/tools/build/src/tools/gcc.jam 2025-10-29 21:12:59.730889504 +0200
|
||||
@@ -204,6 +204,7 @@
|
||||
case *linux* : target-os ?= linux ;
|
||||
case *aix* : target-os ?= aix ;
|
||||
case *hpux* : target-os ?= hpux ;
|
||||
+ case *banan_os* : target-os ?= banan_os ;
|
||||
# TODO: finish this list.
|
||||
}
|
||||
}
|
||||
@@ -406,6 +407,7 @@
|
||||
threading-flags <target-os>cygwin/<threadapi>pthread : -pthread ;
|
||||
threading-flags <target-os>solaris : -pthreads : rt ;
|
||||
threading-flags <target-os>qnx : -pthread ;
|
||||
+ threading-flags <target-os>banan_os : -pthread ;
|
||||
|
||||
local bsd = [ MATCH ^(.*bsd)$ : $(all-os) ] ;
|
||||
threading-flags <target-os>$(bsd) : -pthread ;
|
||||
@@ -413,7 +415,7 @@
|
||||
# iOS doesn't need pthread flag according to the https://developer.apple.com/library/archive/documentation/System/Conceptual/ManPages_iPhoneOS/man3/pthread.3.html
|
||||
# The default system libraries include pthread functions. No additional libraries or CFLAGS are necessary to use this API.
|
||||
local no-threading = android beos haiku sgi darwin vxworks iphone appletv ;
|
||||
- local threading-generic-os = [ set.difference $(all-os) : $(no-threading) $(bsd) windows cygwin solaris qnx ] ;
|
||||
+ local threading-generic-os = [ set.difference $(all-os) : $(no-threading) $(bsd) windows cygwin solaris qnx banan_os ] ;
|
||||
threading-flags <target-os>$(threading-generic-os) : -pthread : rt ;
|
||||
}
|
||||
|
||||
diff -ruN boost_1_89_0/tools/build/src/tools/python.jam boost_1_89_0-banan_os/tools/build/src/tools/python.jam
|
||||
--- boost_1_89_0/tools/build/src/tools/python.jam 2025-08-06 21:49:15.000000000 +0300
|
||||
+++ boost_1_89_0-banan_os/tools/build/src/tools/python.jam 2025-10-29 21:09:10.276185725 +0200
|
||||
@@ -667,6 +667,7 @@
|
||||
case darwin : return ;
|
||||
case windows : return ;
|
||||
case haiku : return ;
|
||||
+ case banan_os : return ;
|
||||
|
||||
case hpux : return <library>rt ;
|
||||
case *bsd : return <library>pthread <toolset>gcc:<library>util ;
|
||||
Loading…
Reference in New Issue