aboutsummaryrefslogtreecommitdiff
path: root/externals
diff options
context:
space:
mode:
authorlizzie <lizzie@eden-emu.dev>2025-07-23 10:00:29 +0200
committercrueter <crueter@eden-emu.dev>2025-07-23 10:00:29 +0200
commite1763a726ed43df366a5ee65803bdacb0e5bb28e (patch)
tree725721a2c0a0cdd67e1df2aec31edddafb57be89 /externals
parent23c77a0d4f884057abff59f4df4b0e9ceb508136 (diff)
[build, cmake] port to solaris (#96)
Co-authored-by: crueter <crueter@eden-emu.dev> Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/96 Co-authored-by: lizzie <lizzie@eden-emu.dev> Co-committed-by: lizzie <lizzie@eden-emu.dev>
Diffstat (limited to 'externals')
-rw-r--r--externals/dynarmic/src/dynarmic/backend/exception_handler_posix.cpp13
-rw-r--r--externals/nx_tzdb/tzdb_to_nx/externals/tz/CMakeLists.txt4
-rw-r--r--externals/nx_tzdb/tzdb_to_nx/src/tzdb2nx/main.cpp9
-rw-r--r--externals/nx_tzdb/tzdb_to_nx/src/tzdb2nx/tzif.cpp37
-rw-r--r--externals/nx_tzdb/tzdb_to_nx/src/tzdb2nx/tzif.h39
-rw-r--r--externals/renderdoc/renderdoc_app.h11
6 files changed, 64 insertions, 49 deletions
diff --git a/externals/dynarmic/src/dynarmic/backend/exception_handler_posix.cpp b/externals/dynarmic/src/dynarmic/backend/exception_handler_posix.cpp
index 2d6d6ea6d8..8a523267e5 100644
--- a/externals/dynarmic/src/dynarmic/backend/exception_handler_posix.cpp
+++ b/externals/dynarmic/src/dynarmic/backend/exception_handler_posix.cpp
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: Copyright 2025 Eden Emulator Project
+// SPDX-License-Identifier: GPL-3.0-or-later
+
/* This file is part of the dynarmic project.
* Copyright (c) 2019 MerryMage
* SPDX-License-Identifier: 0BSD
@@ -13,6 +16,9 @@
# ifndef __OpenBSD__
# include <ucontext.h>
# endif
+# ifdef __sun__
+# include <sys/regset.h>
+# endif
#endif
#include <cstring>
@@ -145,9 +151,9 @@ void SigHandler::SigAction(int sig, siginfo_t* info, void* raw_context) {
#ifndef MCL_ARCHITECTURE_RISCV
ucontext_t* ucontext = reinterpret_cast<ucontext_t*>(raw_context);
-# ifndef __OpenBSD__
+#ifndef __OpenBSD__
auto& mctx = ucontext->uc_mcontext;
-# endif
+#endif
#endif
#if defined(MCL_ARCHITECTURE_X86_64)
@@ -167,6 +173,9 @@ void SigHandler::SigAction(int sig, siginfo_t* info, void* raw_context) {
# elif defined(__OpenBSD__)
# define CTX_RIP (ucontext->sc_rip)
# define CTX_RSP (ucontext->sc_rsp)
+# elif defined(__sun__)
+# define CTX_RIP (mctx.gregs[REG_RIP])
+# define CTX_RSP (mctx.gregs[REG_RSP])
# else
# error "Unknown platform"
# endif
diff --git a/externals/nx_tzdb/tzdb_to_nx/externals/tz/CMakeLists.txt b/externals/nx_tzdb/tzdb_to_nx/externals/tz/CMakeLists.txt
index 948fe69a23..2312b34dd6 100644
--- a/externals/nx_tzdb/tzdb_to_nx/externals/tz/CMakeLists.txt
+++ b/externals/nx_tzdb/tzdb_to_nx/externals/tz/CMakeLists.txt
@@ -24,8 +24,8 @@ if (NOT EXISTS "${TZ_DIR}" OR NOT EXISTS "${TZIF_LIST_FILE}")
# separate directory before building.
execute_process(
COMMAND
- ${GIT_PROGRAM} clone --depth 1 "file://${TZ_SOURCE_DIR}" "${TZ_TMP_SOURCE_DIR}"
- COMMAND_ERROR_IS_FATAL ANY
+ ${GIT_PROGRAM} clone --depth=1 "file://${TZ_SOURCE_DIR}" "${TZ_TMP_SOURCE_DIR}"
+ # No need to be fatal, on SunOS this works fine - COMMAND_ERROR_IS_FATAL ANY
)
if (APPLE)
diff --git a/externals/nx_tzdb/tzdb_to_nx/src/tzdb2nx/main.cpp b/externals/nx_tzdb/tzdb_to_nx/src/tzdb2nx/main.cpp
index c1825970ac..12c12ac268 100644
--- a/externals/nx_tzdb/tzdb_to_nx/src/tzdb2nx/main.cpp
+++ b/externals/nx_tzdb/tzdb_to_nx/src/tzdb2nx/main.cpp
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: Copyright 2025 Eden Emulator Project
+// SPDX-License-Identifier: GPL-3.0-or-later
+
#include "tzif.h"
#include <array>
#include <cerrno>
@@ -7,7 +10,7 @@
#include <getopt.h>
#include <poll.h>
#include <sys/stat.h>
-#include <sys/types.h>
+#include <cstdint>
#include <unistd.h>
constexpr std::size_t ten_megabytes{(1 << 20) * 10};
@@ -92,7 +95,7 @@ int main(int argc, char *argv[]) {
}
}
- u_int8_t *buf = new u_int8_t[filesize];
+ std::uint8_t *buf = new std::uint8_t[filesize];
filesize = read(f, buf, filesize);
if (filesize == static_cast<std::size_t>(-1)) {
@@ -124,7 +127,7 @@ int main(int argc, char *argv[]) {
delete[] buf;
- std::vector<u_int8_t> output_buffer;
+ std::vector<std::uint8_t> output_buffer;
tzif_data->ReformatNintendo(output_buffer);
filename = "(stdout)";
diff --git a/externals/nx_tzdb/tzdb_to_nx/src/tzdb2nx/tzif.cpp b/externals/nx_tzdb/tzdb_to_nx/src/tzdb2nx/tzif.cpp
index 4d2b842741..476afcbc8e 100644
--- a/externals/nx_tzdb/tzdb_to_nx/src/tzdb2nx/tzif.cpp
+++ b/externals/nx_tzdb/tzdb_to_nx/src/tzdb2nx/tzif.cpp
@@ -1,14 +1,17 @@
+// SPDX-FileCopyrightText: Copyright 2025 Eden Emulator Project
+// SPDX-License-Identifier: GPL-3.0-or-later
+
#include "tzif.h"
#include <cstdint>
#include <cstring>
#include <memory>
-#include <sys/types.h>
+#include <cstdint>
namespace Tzif {
-static std::size_t SkipToVersion2(const u_int8_t *data, std::size_t size) {
+static std::size_t SkipToVersion2(const std::uint8_t *data, std::size_t size) {
char magic[5];
- const u_int8_t *p{data};
+ const std::uint8_t *p{data};
std::memcpy(magic, data, 4);
magic[4] = '\0';
@@ -28,15 +31,15 @@ static std::size_t SkipToVersion2(const u_int8_t *data, std::size_t size) {
}
template <typename Type> constexpr static void SwapEndianess(Type *value) {
- u_int8_t *data = reinterpret_cast<u_int8_t *>(value);
+ std::uint8_t *data = reinterpret_cast<std::uint8_t *>(value);
union {
- u_int8_t data[sizeof(Type)];
+ std::uint8_t data[sizeof(Type)];
Type value;
} temp;
- for (u_int32_t i = 0; i < sizeof(Type); i++) {
- u_int32_t alt_index = sizeof(Type) - i - 1;
+ for (std::uint32_t i = 0; i < sizeof(Type); i++) {
+ std::uint32_t alt_index = sizeof(Type) - i - 1;
temp.data[alt_index] = data[i];
}
@@ -52,13 +55,13 @@ static void FlipHeader(Header &header) {
SwapEndianess(&header.charcnt);
}
-std::unique_ptr<DataImpl> ReadData(const u_int8_t *data, std::size_t size) {
+std::unique_ptr<DataImpl> ReadData(const std::uint8_t *data, std::size_t size) {
const std::size_t v2_offset = SkipToVersion2(data, size);
if (v2_offset == static_cast<std::size_t>(-1)) {
return nullptr;
}
- const u_int8_t *p = data + v2_offset;
+ const std::uint8_t *p = data + v2_offset;
Header header;
std::memcpy(&header, p, sizeof(header));
@@ -67,10 +70,10 @@ std::unique_ptr<DataImpl> ReadData(const u_int8_t *data, std::size_t size) {
FlipHeader(header);
const std::size_t data_block_length =
- header.timecnt * sizeof(int64_t) + header.timecnt * sizeof(u_int8_t) +
+ header.timecnt * sizeof(int64_t) + header.timecnt * sizeof(std::uint8_t) +
header.typecnt * sizeof(TimeTypeRecord) +
- header.charcnt * sizeof(int8_t) + header.isstdcnt * sizeof(u_int8_t) +
- header.isutcnt * sizeof(u_int8_t);
+ header.charcnt * sizeof(int8_t) + header.isstdcnt * sizeof(std::uint8_t) +
+ header.isutcnt * sizeof(std::uint8_t);
if (v2_offset + data_block_length + sizeof(Header) > size) {
return nullptr;
@@ -81,7 +84,7 @@ std::unique_ptr<DataImpl> ReadData(const u_int8_t *data, std::size_t size) {
const auto copy =
[]<typename Type>(std::unique_ptr<Type[]> &array, int length,
- const u_int8_t *const &ptr) -> const u_int8_t * {
+ const std::uint8_t *const &ptr) -> const std::uint8_t * {
const std::size_t region_length = length * sizeof(Type);
array = std::make_unique<Type[]>(length);
std::memcpy(array.get(), ptr, region_length);
@@ -110,16 +113,16 @@ std::unique_ptr<DataImpl> ReadData(const u_int8_t *data, std::size_t size) {
return impl;
}
-static void PushToBuffer(std::vector<u_int8_t> &buffer, const void *data,
+static void PushToBuffer(std::vector<std::uint8_t> &buffer, const void *data,
std::size_t size) {
- const u_int8_t *p{reinterpret_cast<const u_int8_t *>(data)};
+ const std::uint8_t *p{reinterpret_cast<const std::uint8_t *>(data)};
for (std::size_t i = 0; i < size; i++) {
buffer.push_back(*p);
p++;
}
}
-void DataImpl::ReformatNintendo(std::vector<u_int8_t> &buffer) const {
+void DataImpl::ReformatNintendo(std::vector<std::uint8_t> &buffer) const {
buffer.clear();
Header header_copy{header};
@@ -131,7 +134,7 @@ void DataImpl::ReformatNintendo(std::vector<u_int8_t> &buffer) const {
PushToBuffer(buffer, transition_times.get(),
header.timecnt * sizeof(int64_t));
PushToBuffer(buffer, transition_types.get(),
- header.timecnt * sizeof(u_int8_t));
+ header.timecnt * sizeof(std::uint8_t));
PushToBuffer(buffer, local_time_type_records.get(),
header.typecnt * sizeof(TimeTypeRecord));
PushToBuffer(buffer, time_zone_designations.get(),
diff --git a/externals/nx_tzdb/tzdb_to_nx/src/tzdb2nx/tzif.h b/externals/nx_tzdb/tzdb_to_nx/src/tzdb2nx/tzif.h
index 62ff3afe15..a6eb32a896 100644
--- a/externals/nx_tzdb/tzdb_to_nx/src/tzdb2nx/tzif.h
+++ b/externals/nx_tzdb/tzdb_to_nx/src/tzdb2nx/tzif.h
@@ -1,22 +1,25 @@
+// SPDX-FileCopyrightText: Copyright 2025 Eden Emulator Project
+// SPDX-License-Identifier: GPL-3.0-or-later
+
#pragma once
#include <array>
#include <memory>
-#include <sys/types.h>
+#include <cstdint>
#include <vector>
namespace Tzif {
typedef struct {
char magic[4];
- u_int8_t version;
- u_int8_t reserved[15];
- u_int32_t isutcnt;
- u_int32_t isstdcnt;
- u_int32_t leapcnt;
- u_int32_t timecnt;
- u_int32_t typecnt;
- u_int32_t charcnt;
+ std::uint8_t version;
+ std::uint8_t reserved[15];
+ std::uint32_t isutcnt;
+ std::uint32_t isstdcnt;
+ std::uint32_t leapcnt;
+ std::uint32_t timecnt;
+ std::uint32_t typecnt;
+ std::uint32_t charcnt;
} Header;
static_assert(sizeof(Header) == 0x2c);
@@ -34,9 +37,9 @@ public:
#pragma pack(push, 1)
typedef struct {
- u_int32_t utoff;
- u_int8_t dst;
- u_int8_t idx;
+ std::uint32_t utoff;
+ std::uint8_t dst;
+ std::uint8_t idx;
} TimeTypeRecord;
#pragma pack(pop)
static_assert(sizeof(TimeTypeRecord) == 0x6);
@@ -46,7 +49,7 @@ public:
explicit Data() = default;
virtual ~Data() = default;
- virtual void ReformatNintendo(std::vector<u_int8_t> &buffer) const = 0;
+ virtual void ReformatNintendo(std::vector<std::uint8_t> &buffer) const = 0;
};
class DataImpl : public Data {
@@ -54,19 +57,19 @@ public:
explicit DataImpl() = default;
~DataImpl() override = default;
- void ReformatNintendo(std::vector<u_int8_t> &buffer) const override;
+ void ReformatNintendo(std::vector<std::uint8_t> &buffer) const override;
Header header;
Footer footer;
std::unique_ptr<int64_t[]> transition_times;
- std::unique_ptr<u_int8_t[]> transition_types;
+ std::unique_ptr<std::uint8_t[]> transition_types;
std::unique_ptr<TimeTypeRecord[]> local_time_type_records;
std::unique_ptr<int8_t[]> time_zone_designations;
- std::unique_ptr<u_int8_t[]> standard_indicators;
- std::unique_ptr<u_int8_t[]> ut_indicators;
+ std::unique_ptr<std::uint8_t[]> standard_indicators;
+ std::unique_ptr<std::uint8_t[]> ut_indicators;
};
-std::unique_ptr<DataImpl> ReadData(const u_int8_t *data, std::size_t size);
+std::unique_ptr<DataImpl> ReadData(const std::uint8_t *data, std::size_t size);
} // namespace Tzif
diff --git a/externals/renderdoc/renderdoc_app.h b/externals/renderdoc/renderdoc_app.h
index 84ff62b5db..f4eb12526e 100644
--- a/externals/renderdoc/renderdoc_app.h
+++ b/externals/renderdoc/renderdoc_app.h
@@ -1,3 +1,6 @@
+// SPDX-FileCopyrightText: Copyright 2025 Eden Emulator Project
+// SPDX-License-Identifier: GPL-3.0-or-later
+
// SPDX-FileCopyrightText: Baldur Karlsson
// SPDX-License-Identifier: MIT
@@ -38,14 +41,8 @@
#if defined(WIN32) || defined(__WIN32__) || defined(_WIN32) || defined(_MSC_VER)
#define RENDERDOC_CC __cdecl
-#elif defined(__linux__)
-#define RENDERDOC_CC
-#elif defined(__APPLE__)
-#define RENDERDOC_CC
-#elif defined(__FreeBSD__)
-#define RENDERDOC_CC
#else
-#error "Unknown platform"
+#define RENDERDOC_CC
#endif
#ifdef __cplusplus