MacOS build fixes

pull/1374/head
Jon Beniston 2022-08-04 15:13:25 +01:00
rodzic 84daf16a4b
commit 23c65fc8f3
4 zmienionych plików z 25 dodań i 3 usunięć

Wyświetl plik

@ -8,6 +8,7 @@
#include <algorithm> #include <algorithm>
#include <array> #include <array>
#include <cstdint> #include <cstdint>
#include <cmath>
#include <cstddef> #include <cstddef>
#include <type_traits> #include <type_traits>
#include <tuple> #include <tuple>

Wyświetl plik

@ -397,9 +397,11 @@ void DATVDemodSink::CleanUpDATVFramework()
delete (leansdr::s2_fecdec<bool, leansdr::hard_sb>*) r_fecdec; delete (leansdr::s2_fecdec<bool, leansdr::hard_sb>*) r_fecdec;
} }
#if 0
if (r_fecdecsoft != nullptr) { if (r_fecdecsoft != nullptr) {
delete (leansdr::s2_fecdec_soft<leansdr::llr_t,leansdr::llr_sb>*) r_fecdecsoft; delete (leansdr::s2_fecdec_soft<leansdr::llr_t,leansdr::llr_sb>*) r_fecdecsoft;
} }
#endif
if (r_fecdechelper != nullptr) { if (r_fecdechelper != nullptr) {
delete (leansdr::s2_fecdec_helper<leansdr::llr_t,leansdr::llr_sb>*) r_fecdechelper; delete (leansdr::s2_fecdec_helper<leansdr::llr_t,leansdr::llr_sb>*) r_fecdechelper;

Wyświetl plik

@ -18,17 +18,22 @@ namespace ldpctool {
class LDPCUtil class LDPCUtil
{ {
public: public:
#ifndef _MSC_VER #if defined(__APPLE__)
// Recent versions of MacOS support aligned_alloc, but Mojave doesn't
static void *aligned_malloc(size_t alignment, size_t size) static void *aligned_malloc(size_t alignment, size_t size)
{ {
return aligned_alloc(alignment, size); void *p = nullptr;
posix_memalign(&p, alignment, size);
return p;
} }
static void aligned_free(void *mem) static void aligned_free(void *mem)
{ {
free(mem); free(mem);
} }
#else #elif defined(_MSC_VER)
static void *aligned_malloc(size_t alignment, size_t size) static void *aligned_malloc(size_t alignment, size_t size)
{ {
return _aligned_malloc(size, alignment); return _aligned_malloc(size, alignment);
@ -38,6 +43,16 @@ public:
{ {
_aligned_free(mem); _aligned_free(mem);
} }
#else
static void *aligned_malloc(size_t alignment, size_t size)
{
return aligned_alloc(alignment, size);
}
static void aligned_free(void *mem)
{
free(mem);
}
#endif #endif
}; };

Wyświetl plik

@ -3046,6 +3046,8 @@ struct s2_fecdec : runnable
pipewriter<int> *bitcount, *errcount; pipewriter<int> *bitcount, *errcount;
}; // s2_fecdec }; // s2_fecdec
#ifdef LINUX
// Soft LDPC decoder // Soft LDPC decoder
// Internally implemented LDPC tool. Replaces external LDPC decoder // Internally implemented LDPC tool. Replaces external LDPC decoder
@ -3195,6 +3197,8 @@ private:
s2_bbscrambling bbscrambling; s2_bbscrambling bbscrambling;
}; // s2_fecdec_soft }; // s2_fecdec_soft
#endif
// External LDPC decoder // External LDPC decoder
// Spawns a user-specified command, FEC frames on stdin/stdout. // Spawns a user-specified command, FEC frames on stdin/stdout.
template <typename T, int _SIZE> template <typename T, int _SIZE>