0
0
Fork 0
haikuports/dev-util/cmake/patches/cmake-3.21.3.patchset

250 lines
7.7 KiB
Plaintext

From 1b3e721bb854f2a0e4083ced3b2654f1f66a2cbd Mon Sep 17 00:00:00 2001
From: Jerome Duval <jerome.duval@gmail.com>
Date: Sat, 21 Nov 2015 22:02:38 +0000
Subject: Haiku provides elf.h now.
diff --git a/Source/cmELF.cxx b/Source/cmELF.cxx
index 9a474e3..d55b856 100644
--- a/Source/cmELF.cxx
+++ b/Source/cmELF.cxx
@@ -20,17 +20,18 @@
// Include the ELF format information system header.
#if defined(__OpenBSD__)
# include <elf_abi.h>
-#elif defined(__HAIKU__)
-# include <elf32.h>
-# include <elf64.h>
-using Elf32_Ehdr = struct Elf32_Ehdr;
-using Elf32_Shdr = struct Elf32_Shdr;
-using Elf32_Sym = struct Elf32_Sym;
-using Elf32_Rel = struct Elf32_Rel;
-using Elf32_Rela = struct Elf32_Rela;
+#else
+# include <elf.h>
+# ifndef ELFMAG0
# define ELFMAG0 0x7F
+# endif
+# ifndef ELFMAG1
# define ELFMAG1 'E'
+# endif
+# ifndef ELFMAG2
# define ELFMAG2 'L'
+# endif
+# ifndef ELFMAG3
# define ELFMAG3 'F'
# define ET_NONE 0
# define ET_REL 1
@@ -42,6 +43,7 @@ using Elf32_Rela = struct Elf32_Rela;
# define EM_PPC 20
#else
# include <elf.h>
+# endif
#endif
#if defined(__sun)
# include <sys/link.h> // For dynamic section information
--
2.30.2
From 1dc5dfcefd65f3a35b2c12aeb53cb0b9e970aefa Mon Sep 17 00:00:00 2001
From: Adrien Destugues <pulkomandy@pulkomandy.tk>
Date: Sat, 24 Mar 2018 14:19:43 +0100
Subject: Fix search path for Lua headers.
diff --git a/Modules/FindLua51.cmake b/Modules/FindLua51.cmake
index 283a3eb..8fd73f2 100644
--- a/Modules/FindLua51.cmake
+++ b/Modules/FindLua51.cmake
@@ -38,7 +38,7 @@ locations other than lua/
find_path(LUA_INCLUDE_DIR lua.h
HINTS
ENV LUA_DIR
- PATH_SUFFIXES include/lua51 include/lua5.1 include/lua-5.1 include/lua include
+ PATH_SUFFIXES include/lua51 include/lua5.1 include/lua-5.1 include/lua include lua5.1
PATHS
~/Library/Frameworks
/Library/Frameworks
--
2.30.2
From 6147f7c4ec0414755a214b51d33a197f399007eb Mon Sep 17 00:00:00 2001
From: Jerome Duval <jerome.duval@gmail.com>
Date: Sat, 7 Sep 2019 17:29:56 +0200
Subject: links against libnetwork
diff --git a/bootstrap b/bootstrap
index dc5ed0b..0fceaa8 100755
--- a/bootstrap
+++ b/bootstrap
@@ -1702,6 +1702,9 @@ else
uv_c_flags="${uv_c_flags} -D_XOPEN_SOURCE=700"
libs="${libs} -lsocket"
;;
+ *Haiku*)
+ libs="${libs} -lnetwork"
+ ;;
esac
fi
if test "x${bootstrap_system_libuv}" = "x"; then
--
2.30.2
From 70c110f38cbc585bf57e9528e8b3bcffa01f93ed Mon Sep 17 00:00:00 2001
From: Jerome Duval <jerome.duval@gmail.com>
Date: Sat, 7 Sep 2019 23:46:47 +0200
Subject: bootstrap uses cmlibuv
diff --git a/Utilities/cmlibuv/src/unix/core.c b/Utilities/cmlibuv/src/unix/core.c
index e6d61ee..9d9bba9 100644
--- a/Utilities/cmlibuv/src/unix/core.c
+++ b/Utilities/cmlibuv/src/unix/core.c
@@ -1423,7 +1423,9 @@ int uv_os_getpriority(uv_pid_t pid, int* priority) {
return UV_EINVAL;
errno = 0;
+#ifndef __HAIKU__
r = getpriority(PRIO_PROCESS, (int) pid);
+#endif
if (r == -1 && errno != 0)
return UV__ERR(errno);
@@ -1437,8 +1439,10 @@ int uv_os_setpriority(uv_pid_t pid, int priority) {
if (priority < UV_PRIORITY_HIGHEST || priority > UV_PRIORITY_LOW)
return UV_EINVAL;
+#ifndef __HAIKU__
if (setpriority(PRIO_PROCESS, (int) pid, priority) != 0)
return UV__ERR(errno);
+#endif
return 0;
}
--
2.30.2
From e54ae0dfc52e15d6f39f0bfff5c3281c24676f4e Mon Sep 17 00:00:00 2001
From: Jerome Duval <jerome.duval@gmail.com>
Date: Sat, 21 Sep 2019 15:30:44 +0200
Subject: also detect secondary arch with clang.
diff --git a/Modules/Platform/Haiku.cmake b/Modules/Platform/Haiku.cmake
index b8e3ba6..08b11a4 100644
--- a/Modules/Platform/Haiku.cmake
+++ b/Modules/Platform/Haiku.cmake
@@ -38,6 +38,10 @@ execute_process(
string(REGEX MATCH "libraries: =?([^\n]*:)?/boot/system/develop/lib/([^/]*)/?(:?\n+)" _dummy "${_HAIKU_SEARCH_DIRS}\n")
set(CMAKE_HAIKU_SECONDARY_ARCH "${CMAKE_MATCH_2}")
+if(NOT CMAKE_HAIKU_SECONDARY_ARCH)
+ string(REGEX MATCH "libraries: =?([^\n]*:)?/system/lib/([^/]*)/?(:?\n+)" _dummy "${_HAIKU_SEARCH_DIRS}\n")
+ set(CMAKE_HAIKU_SECONDARY_ARCH "${CMAKE_MATCH_2}")
+endif()
if(NOT CMAKE_HAIKU_SECONDARY_ARCH)
set(CMAKE_HAIKU_SECONDARY_ARCH_SUBDIR "")
--
2.30.2
From 12a3896bb9dbd39eb0f49e5ad2a4ab6e8dca096f Mon Sep 17 00:00:00 2001
From: Augustin Cavalier <waddlesplash@gmail.com>
Date: Fri, 21 Feb 2020 15:38:39 -0500
Subject: Modules/Haiku: Set CMAKE_SYSTEM_FRAMEWORK_PATH.
diff --git a/Modules/Platform/Haiku.cmake b/Modules/Platform/Haiku.cmake
index 08b11a4..9a8ae60 100644
--- a/Modules/Platform/Haiku.cmake
+++ b/Modules/Platform/Haiku.cmake
@@ -124,6 +124,9 @@ LIST(APPEND CMAKE_PLATFORM_IMPLICIT_LINK_DIRECTORIES
LIST(APPEND CMAKE_SYSTEM_LIBRARY_PATH ${CMAKE_HAIKU_DEVELOP_LIB_DIRECTORIES})
+# This is needed for find_package to search develop/lib/cmake/.
+list(APPEND CMAKE_SYSTEM_FRAMEWORK_PATH /boot/system/develop /boot/system/non-packaged/develop)
+
if(CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT)
set(CMAKE_INSTALL_PREFIX "/boot/system" CACHE PATH
"Install path prefix, prepended onto install directories." FORCE)
--
2.30.2
From 7ad86704b376309a990b43273cb9170215d2b1b8 Mon Sep 17 00:00:00 2001
From: Jerome Duval <jerome.duval@gmail.com>
Date: Thu, 15 Apr 2021 21:09:12 +0200
Subject: disable dependency tracking for older GNU compilers
diff --git a/Modules/Compiler/GNU.cmake b/Modules/Compiler/GNU.cmake
index 928e726..87d0167 100644
--- a/Modules/Compiler/GNU.cmake
+++ b/Modules/Compiler/GNU.cmake
@@ -48,7 +48,9 @@ macro(__compiler_gnu lang)
# distcc does not transform -o to -MT when invoking the preprocessor
# internally, as it ought to. Work around this bug by setting -MT here
# even though it isn't strictly necessary.
- set(CMAKE_DEPFILE_FLAGS_${lang} "-MD -MT <DEP_TARGET> -MF <DEP_FILE>")
+ if(NOT CMAKE_${lang}_COMPILER_ID STREQUAL "GNU" OR NOT CMAKE_${lang}_COMPILER_VERSION VERSION_LESS 4.0)
+ set(CMAKE_DEPFILE_FLAGS_${lang} "-MD -MT <DEP_TARGET> -MF <DEP_FILE>")
+ endif()
endif()
# Initial configuration flags.
--
2.30.2
From 3d806e79d74e07bf8208b4e2f650b757edf9c18e Mon Sep 17 00:00:00 2001
From: Jerome Duval <jerome.duval@gmail.com>
Date: Wed, 20 Oct 2021 14:28:22 +0200
Subject: Haiku: fix install dirs, let FindPackage search in data/
diff --git a/Source/CMakeInstallDestinations.cmake b/Source/CMakeInstallDestinations.cmake
index e82bec3..7e5f577 100644
--- a/Source/CMakeInstallDestinations.cmake
+++ b/Source/CMakeInstallDestinations.cmake
@@ -1,11 +1,11 @@
# Keep formatting here consistent with bootstrap script expectations.
-if(BEOS)
+if(BEOS OR HAIKU)
set(CMAKE_BIN_DIR_DEFAULT "bin") # HAIKU
- set(CMAKE_DATA_DIR_DEFAULT "share/cmake-${CMake_VERSION_MAJOR}.${CMake_VERSION_MINOR}") # HAIKU
+ set(CMAKE_DATA_DIR_DEFAULT "data/cmake-${CMake_VERSION_MAJOR}.${CMake_VERSION_MINOR}") # HAIKU
set(CMAKE_DOC_DIR_DEFAULT "documentation/doc/cmake-${CMake_VERSION_MAJOR}.${CMake_VERSION_MINOR}") # HAIKU
set(CMAKE_INFO_DIR_DEFAULT "documentation/info") # HAIKU
set(CMAKE_MAN_DIR_DEFAULT "documentation/man") # HAIKU
- set(CMAKE_XDGDATA_DIR_DEFAULT "share") # HAIKU
+ set(CMAKE_XDGDATA_DIR_DEFAULT "data") # HAIKU
elseif(CYGWIN)
set(CMAKE_BIN_DIR_DEFAULT "bin") # CYGWIN
set(CMAKE_DATA_DIR_DEFAULT "share/cmake-${CMake_VERSION}") # CYGWIN
diff --git a/Source/cmFindPackageCommand.cxx b/Source/cmFindPackageCommand.cxx
index fba736e..c437582 100644
--- a/Source/cmFindPackageCommand.cxx
+++ b/Source/cmFindPackageCommand.cxx
@@ -2317,7 +2317,11 @@ bool cmFindPackageCommand::SearchPrefix(std::string const& prefix_in)
common.emplace_back("libx32");
}
common.emplace_back("lib");
+#ifdef __HAIKU__
+ common.emplace_back("data");
+#else
common.emplace_back("share");
+#endif
// PREFIX/(lib/ARCH|lib*|share)/cmake/(Foo|foo|FOO).*/
{
--
2.30.2