mirror of
https://github.com/yann64/haikuports.git
synced 2026-04-09 05:10:05 +02:00
349 lines
11 KiB
Plaintext
349 lines
11 KiB
Plaintext
From 0fd4eaceb0dba6c882823eeea88f5978a08b2970 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/jam.h b/tools/build/src/engine/jam.h
|
|
index fb6e5da..f78bbe7 100644
|
|
--- a/tools/build/src/engine/jam.h
|
|
+++ b/tools/build/src/engine/jam.h
|
|
@@ -161,6 +161,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
|
|
--
|
|
2.51.0
|
|
|
|
|
|
From 7cc1b2eb3ed55037e7b099a0979d3d42da89e79c 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 172a601..c706e40 100644
|
|
--- a/boost/thread/detail/platform.hpp
|
|
+++ b/boost/thread/detail/platform.hpp
|
|
@@ -34,7 +34,7 @@
|
|
#if ! defined BOOST_THREAD_WIN32
|
|
# define BOOST_THREAD_WIN32
|
|
#endif
|
|
-#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.51.0
|
|
|
|
|
|
From cc676f73db63241cf6e3c37379e043f3897a746a 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.sh b/tools/build/src/engine/build.sh
|
|
index 65a366a..1b0c014 100755
|
|
--- a/tools/build/src/engine/build.sh
|
|
+++ b/tools/build/src/engine/build.sh
|
|
@@ -316,6 +316,22 @@ case "${B2_TOOLSET}" in
|
|
CXX_VERSION_OPT=${CXX_VERSION_OPT:---version}
|
|
B2_CXXFLAGS_RELEASE="-O2 -s"
|
|
B2_CXXFLAGS_DEBUG="-O0 -g"
|
|
+
|
|
+ CXX=${CXX:=g++}
|
|
+ # Check whether it's MinGW GCC, which has Windows headers and none of POSIX ones.
|
|
+ machine=$(${CXX} -dumpmachine 2>/dev/null)
|
|
+ if [ $? -ne 0 ]; then
|
|
+ echo "B2_TOOLSET is gcc, but the 'gcc' command cannot be executed."
|
|
+ echo "Make sure 'gcc' is in PATH, or use a different toolset."
|
|
+ exit 1
|
|
+ fi
|
|
+ case $machine in
|
|
+ *haiku*)
|
|
+ B2_CXX="${CXX} -x c++ -std=c++17"
|
|
+ B2_CXXFLAGS_RELEASE="-O2 -s -D_DEFAULT_SOURCE -lbsd"
|
|
+ B2_CXXFLAGS_DEBUG="-O0 -g"
|
|
+ ;;
|
|
+ esac
|
|
;;
|
|
|
|
intel-*)
|
|
--
|
|
2.51.0
|
|
|
|
|
|
From 79a33b50a20f37f589a4904df6d383cf7aef537f Mon Sep 17 00:00:00 2001
|
|
From: Begasus <begasus@gmail.com>
|
|
Date: Fri, 25 Aug 2023 10:15:17 +0200
|
|
Subject: Add auto_index binary to tools
|
|
|
|
|
|
diff --git a/tools/Jamfile.v2 b/tools/Jamfile.v2
|
|
index e1391c7..a580eb1 100644
|
|
--- a/tools/Jamfile.v2
|
|
+++ b/tools/Jamfile.v2
|
|
@@ -18,6 +18,7 @@ project
|
|
;
|
|
|
|
TOOLS =
|
|
+ auto_index/build//auto_index
|
|
bcp//bcp
|
|
inspect/build//inspect
|
|
quickbook//quickbook
|
|
--
|
|
2.51.0
|
|
|
|
|
|
From 62f687589bef14530e794eeed96b5498902ae0f4 Mon Sep 17 00:00:00 2001
|
|
From: Begasus <begasus@gmail.com>
|
|
Date: Sun, 27 Aug 2023 19:13:24 +0200
|
|
Subject: Fix missing functions to build libboost_locale
|
|
|
|
|
|
diff --git a/boost/config/platform/haiku.hpp b/boost/config/platform/haiku.hpp
|
|
index 04244c5..e22ac4f 100644
|
|
--- a/boost/config/platform/haiku.hpp
|
|
+++ b/boost/config/platform/haiku.hpp
|
|
@@ -16,11 +16,6 @@
|
|
# define BOOST_HAS_THREADS
|
|
#endif
|
|
|
|
-#define BOOST_NO_CXX11_HDR_TYPE_TRAITS
|
|
-#define BOOST_NO_CXX11_ATOMIC_SMART_PTR
|
|
-#define BOOST_NO_CXX11_STATIC_ASSERT
|
|
-#define BOOST_NO_CXX11_VARIADIC_MACROS
|
|
-
|
|
//
|
|
// thread API's not auto detected:
|
|
//
|
|
--
|
|
2.51.0
|
|
|
|
|
|
From d8fb33d96633e943dbe31c13c191d77112e568b7 Mon Sep 17 00:00:00 2001
|
|
From: Begasus <begasus@gmail.com>
|
|
Date: Mon, 28 Aug 2023 18:08:06 +0200
|
|
Subject: Fix building the tests
|
|
|
|
|
|
diff --git a/libs/predef/test/build.jam b/libs/predef/test/build.jam
|
|
index d67d932..6406018 100644
|
|
--- a/libs/predef/test/build.jam
|
|
+++ b/libs/predef/test/build.jam
|
|
@@ -12,7 +12,7 @@ project
|
|
: requirements
|
|
# Add explicit dependency since we don't have header scanner for
|
|
# .m and .mm files.
|
|
- <dependency>../include/boost/predef.h
|
|
+ <dependency>$(BOOST_ROOT)/boost/predef.h
|
|
;
|
|
|
|
using testing ;
|
|
--
|
|
2.51.0
|
|
|
|
|
|
From 19493386d8f7ca4bf9adf33481f8b35a29e72e5f Mon Sep 17 00:00:00 2001
|
|
From: PulkoMandy <pulkomandy@pulkomandy.tk>
|
|
Date: Fri, 13 Jan 2023 21:26:43 +0100
|
|
Subject: Haiku currently doesn't have cfsetspeed
|
|
|
|
|
|
diff --git a/boost/asio/impl/serial_port_base.ipp b/boost/asio/impl/serial_port_base.ipp
|
|
index e6a275d..7866eec 100644
|
|
--- a/boost/asio/impl/serial_port_base.ipp
|
|
+++ b/boost/asio/impl/serial_port_base.ipp
|
|
@@ -114,7 +114,8 @@ BOOST_ASIO_SYNC_OP_VOID serial_port_base::baud_rate::store(
|
|
ec = boost::asio::error::invalid_argument;
|
|
BOOST_ASIO_SYNC_OP_VOID_RETURN(ec);
|
|
}
|
|
-# if defined(_BSD_SOURCE) || defined(_DEFAULT_SOURCE)
|
|
+# if defined(_BSD_SOURCE) || defined(_DEFAULT_SOURCE) && !defined(__HAIKU__)
|
|
+// TODO re-enable this for Haiku once cfsetspeed is implemented (#18220)
|
|
::cfsetspeed(&storage, baud);
|
|
# else
|
|
::cfsetispeed(&storage, baud);
|
|
--
|
|
2.51.0
|
|
|
|
|
|
From 1d5d30221298951b386a06a8613fb7382b832768 Mon Sep 17 00:00:00 2001
|
|
From: Schrijvers Luc <begasus@gmail.com>
|
|
Date: Sat, 6 Jul 2024 17:27:48 +0200
|
|
Subject: build fix for sourcetrail
|
|
|
|
|
|
diff --git a/boost/process/v1/detail/posix/is_running.hpp b/boost/process/v1/detail/posix/is_running.hpp
|
|
index 133ad9c..89e1f30 100644
|
|
--- a/boost/process/v1/detail/posix/is_running.hpp
|
|
+++ b/boost/process/v1/detail/posix/is_running.hpp
|
|
@@ -17,10 +17,12 @@ namespace boost { namespace process { BOOST_PROCESS_V1_INLINE namespace v1 { nam
|
|
// This bit arrangement of status codes is not guaranteed by POSIX, but (according to comments in
|
|
// the glibc <bits/waitstatus.h> header) is the same across systems in practice.
|
|
constexpr int still_active = 0x017f;
|
|
+#if !defined(__HAIKU__)
|
|
static_assert(WIFSTOPPED(still_active), "Expected still_active to indicate WIFSTOPPED");
|
|
static_assert(!WIFEXITED(still_active), "Expected still_active to not indicate WIFEXITED");
|
|
static_assert(!WIFSIGNALED(still_active), "Expected still_active to not indicate WIFSIGNALED");
|
|
static_assert(!WIFCONTINUED(still_active), "Expected still_active to not indicate WIFCONTINUED");
|
|
+#endif
|
|
|
|
inline bool is_running(int code)
|
|
{
|
|
diff --git a/boost/process/v2/exit_code.hpp b/boost/process/v2/exit_code.hpp
|
|
index 24e51fa..2836d9d 100644
|
|
--- a/boost/process/v2/exit_code.hpp
|
|
+++ b/boost/process/v2/exit_code.hpp
|
|
@@ -73,10 +73,12 @@ typedef int native_exit_code_type;
|
|
namespace detail
|
|
{
|
|
constexpr native_exit_code_type still_active = 0x17f;
|
|
-static_assert(WIFSTOPPED(still_active), "Expected still_active to indicate WIFSTOPPED");
|
|
-static_assert(!WIFEXITED(still_active), "Expected still_active to not indicate WIFEXITED");
|
|
-static_assert(!WIFSIGNALED(still_active), "Expected still_active to not indicate WIFSIGNALED");
|
|
-static_assert(!WIFCONTINUED(still_active), "Expected still_active to not indicate WIFCONTINUED");
|
|
+#if !defined(__HAIKU__)
|
|
+ static_assert(WIFSTOPPED(still_active), "Expected still_active to indicate WIFSTOPPED");
|
|
+ static_assert(!WIFEXITED(still_active), "Expected still_active to not indicate WIFEXITED");
|
|
+ static_assert(!WIFSIGNALED(still_active), "Expected still_active to not indicate WIFSIGNALED");
|
|
+ static_assert(!WIFCONTINUED(still_active), "Expected still_active to not indicate WIFCONTINUED");
|
|
+#endif
|
|
}
|
|
|
|
inline bool process_is_running(int code)
|
|
@@ -132,4 +134,4 @@ inline error_code check_exit_code(
|
|
|
|
BOOST_PROCESS_V2_END_NAMESPACE
|
|
|
|
-#endif //BOOST_PROCESS_V2_EXIT_CODE_HPP
|
|
\ No newline at end of file
|
|
+#endif //BOOST_PROCESS_V2_EXIT_CODE_HPP
|
|
--
|
|
2.51.0
|
|
|
|
|
|
From 5aeb246b1b2b08fcf36eb5126345046de61d9595 Mon Sep 17 00:00:00 2001
|
|
From: Oscar Lesta <oscar.lesta@gmail.com>
|
|
Date: Fri, 20 Dec 2024 22:32:12 -0300
|
|
Subject: Fix build issue related to dirent->d_name[].
|
|
|
|
|
|
diff --git a/libs/filesystem/src/directory.cpp b/libs/filesystem/src/directory.cpp
|
|
index 8ea0a59..d5250ec 100644
|
|
--- a/libs/filesystem/src/directory.cpp
|
|
+++ b/libs/filesystem/src/directory.cpp
|
|
@@ -310,8 +310,13 @@ inline std::size_t get_path_max()
|
|
#endif
|
|
}
|
|
|
|
+#ifdef __HAIKU__
|
|
+ if ((max + 1) < NAME_MAX)
|
|
+ max = NAME_MAX - 1;
|
|
+#else
|
|
if ((max + 1) < sizeof(dirent().d_name))
|
|
max = sizeof(dirent().d_name) - 1;
|
|
+#endif
|
|
|
|
return max;
|
|
}
|
|
@@ -473,7 +478,11 @@ system::error_code dir_itr_create(boost::intrusive_ptr< detail::dir_itr_imp >& i
|
|
// buffer that is enough for PATH_MAX as the directory name. Still, this doesn't guarantee there won't be
|
|
// a buffer overrun. The readdir_r API is fundamentally flawed and we should avoid it as much as possible
|
|
// in favor of readdir.
|
|
+#ifdef __HAIKU__
|
|
+ extra_size = (NAME_MAX) + path_max() + 1u; // + 1 for "\0"
|
|
+#else
|
|
extra_size = (sizeof(dirent) - sizeof(dirent().d_name)) + path_max() + 1u; // + 1 for "\0"
|
|
+#endif
|
|
}
|
|
}
|
|
#endif // defined(BOOST_FILESYSTEM_USE_READDIR_R)
|
|
--
|
|
2.51.0
|
|
|
|
|
|
From cad861806c4c72707ac57f6f0cb004a57f5d7138 Mon Sep 17 00:00:00 2001
|
|
From: Luc Schrijvers <begasus@gmail.com>
|
|
Date: Fri, 4 Apr 2025 11:14:17 +0200
|
|
Subject: No wordexpr.h on Haiku
|
|
|
|
|
|
diff --git a/libs/process/src/shell.cpp b/libs/process/src/shell.cpp
|
|
index bf4bbfd..d7315d0 100644
|
|
--- a/libs/process/src/shell.cpp
|
|
+++ b/libs/process/src/shell.cpp
|
|
@@ -19,7 +19,7 @@
|
|
#if defined(BOOST_PROCESS_V2_WINDOWS)
|
|
#include <windows.h>
|
|
#include <shellapi.h>
|
|
-#elif !defined(__OpenBSD__) && !defined(__ANDROID__)
|
|
+#elif !defined(__OpenBSD__) && !defined(__ANDROID__) && !defined(__HAIKU__)
|
|
#include <wordexp.h>
|
|
#endif
|
|
|
|
@@ -30,7 +30,7 @@ BOOST_PROCESS_V2_DECL const error_category& get_shell_category()
|
|
{
|
|
return system_category();
|
|
}
|
|
-#elif !defined(__OpenBSD__) && !defined(__ANDROID__)
|
|
+#elif !defined(__OpenBSD__) && !defined(__ANDROID__) && !defined(__HAIKU__)
|
|
|
|
struct shell_category_t final : public error_category
|
|
{
|
|
@@ -99,7 +99,7 @@ auto shell::args() const-> args_type
|
|
return input_.c_str();
|
|
}
|
|
|
|
-#elif !defined(__OpenBSD__) && !defined(__ANDROID__)
|
|
+#elif !defined(__OpenBSD__) && !defined(__ANDROID__) && !defined(__HAIKU__)
|
|
|
|
void shell::parse_()
|
|
{
|
|
--
|
|
2.51.0
|
|
|
|
|
|
From 558aeda7399581e45f5545ba8dfd9c6d7986df56 Mon Sep 17 00:00:00 2001
|
|
From: Luc Schrijvers <begasus@gmail.com>
|
|
Date: Fri, 4 Apr 2025 12:20:08 +0200
|
|
Subject: Fixes for boost_process
|
|
|
|
|
|
diff --git a/libs/process/src/ext/cmd.cpp b/libs/process/src/ext/cmd.cpp
|
|
index 463e9ed..7ecf9e7 100644
|
|
--- a/libs/process/src/ext/cmd.cpp
|
|
+++ b/libs/process/src/ext/cmd.cpp
|
|
@@ -31,7 +31,7 @@
|
|
#endif
|
|
#endif
|
|
|
|
-#if (defined(__linux__) || defined(__ANDROID__) || defined(__gnu_hurd__))
|
|
+#if (defined(__linux__) || defined(__ANDROID__) || defined(__gnu_hurd__) || defined(__HAIKU__))
|
|
#include <cstdio>
|
|
#endif
|
|
|
|
@@ -211,7 +211,7 @@ shell cmd(boost::process::v2::pid_type pid, error_code & ec)
|
|
return make_cmd_shell_::make(std::move(procargs), argc, argv.release(), fr_func);
|
|
}
|
|
|
|
-#elif (defined(__linux__) || defined(__ANDROID__) || defined(__gnu_hurd__))
|
|
+#elif (defined(__linux__) || defined(__ANDROID__) || defined(__gnu_hurd__) || defined(__HAIKU__))
|
|
|
|
shell cmd(boost::process::v2::pid_type pid, error_code & ec)
|
|
{
|
|
--
|
|
2.51.0
|
|
|