[*] Succesfully built on Linux for the first time in a very long time
This commit is contained in:
parent
540c5826d8
commit
97d6c96712
@ -255,7 +255,7 @@ namespace Aurora::Async
|
|||||||
std::function<void()> callback;
|
std::function<void()> callback;
|
||||||
std::function<void()> shutdown;
|
std::function<void()> shutdown;
|
||||||
|
|
||||||
BasicWorkStdFunc(std::function<void()> &&callback, std::function<void()> &&error) : callback(std::move(callback)), shutdown(std::move(shutdown))
|
BasicWorkStdFunc(std::function<void()> &&callback, std::function<void()> &&error) : callback(std::move(callback)), shutdown(std::move(error))
|
||||||
{}
|
{}
|
||||||
|
|
||||||
BasicWorkStdFunc(std::function<void()> &&callback) : callback(std::move(callback))
|
BasicWorkStdFunc(std::function<void()> &&callback) : callback(std::move(callback))
|
||||||
@ -516,8 +516,8 @@ namespace Aurora::Async
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
#define ASYNC_ERROR(exp) if constexpr (std::is_same_v<T, bool>) { SysPushErrorGen(exp); return {}; } else { throw std::string(exp); }
|
#define ASYNC_ERROR(exp) { if constexpr (std::is_same_v<T, bool>) { SysPushErrorGen(exp); return {}; } else { throw std::string(exp); } }
|
||||||
#define ASYNC_FINISH if constexpr (std::is_same_v<T, bool>) { return true; }
|
#define ASYNC_FINISH { if constexpr (std::is_same_v<T, bool>) { return true; } }
|
||||||
|
|
||||||
template<typename T = void, typename... Args, AU_TEMPLATE_ENABLE_WHEN(std::is_same_v<T, bool> || std::is_void<T>::value)>
|
template<typename T = void, typename... Args, AU_TEMPLATE_ENABLE_WHEN(std::is_same_v<T, bool> || std::is_void<T>::value)>
|
||||||
static std::function<T(Args&&...)> TranslateAsyncFunctionToDispatcherWithThread(WorkerId_t id, std::function<void(Args...)> func)
|
static std::function<T(Args&&...)> TranslateAsyncFunctionToDispatcherWithThread(WorkerId_t id, std::function<void(Args...)> func)
|
||||||
|
@ -121,7 +121,7 @@ namespace Aurora::Data
|
|||||||
case DataType::kTypeStructInt32: return 4;
|
case DataType::kTypeStructInt32: return 4;
|
||||||
case DataType::kTypeStructUInt64: return 8;
|
case DataType::kTypeStructUInt64: return 8;
|
||||||
case DataType::kTypeStructInt64: return 8;
|
case DataType::kTypeStructInt64: return 8;
|
||||||
default: static_assert(false, "invalid datatype");
|
default: return 0;//static_assert(false, "invalid datatype");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -22,8 +22,10 @@ namespace Aurora::Debug
|
|||||||
#if defined(AURORA_COMPILER_MSVC)
|
#if defined(AURORA_COMPILER_MSVC)
|
||||||
#pragma optimize("", off)
|
#pragma optimize("", off)
|
||||||
#define _FREECOMPILER_OPTIMIZE_OFF
|
#define _FREECOMPILER_OPTIMIZE_OFF
|
||||||
|
#elif defined(AURORA_COMPILER_CLANG)
|
||||||
|
#define _FREECOMPILER_OPTIMIZE_OFF __attribute__((optnone))
|
||||||
#else
|
#else
|
||||||
#define _FREECOMPILER_OPTIMIZE_OFF [[gnu::optimize(0)]]
|
#define _FREECOMPILER_OPTIMIZE_OFF __attribute__((optimize("0")))
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
static AU_NOINLINE void ErrorMakeNested() _FREECOMPILER_OPTIMIZE_OFF
|
static AU_NOINLINE void ErrorMakeNested() _FREECOMPILER_OPTIMIZE_OFF
|
||||||
|
@ -72,13 +72,13 @@ namespace Aurora::Memory
|
|||||||
template<typename T>
|
template<typename T>
|
||||||
T FRealloc(T in, Types::size_t length)
|
T FRealloc(T in, Types::size_t length)
|
||||||
{
|
{
|
||||||
return reinterpret_cast<T>(_SRealloc(reinterpret_cast<void *>(in), length));
|
return reinterpret_cast<T>(_FRealloc(reinterpret_cast<void *>(in), length));
|
||||||
}
|
}
|
||||||
|
|
||||||
template<typename T>
|
template<typename T>
|
||||||
T FRealloc(T in, Types::size_t length, Types::size_t alloc)
|
T FRealloc(T in, Types::size_t length, Types::size_t alloc)
|
||||||
{
|
{
|
||||||
return reinterpret_cast<T>(_SRealloc(reinterpret_cast<void *>(in), length), alloc);
|
return reinterpret_cast<T>(_FRealloc(reinterpret_cast<void *>(in), length), alloc);
|
||||||
}
|
}
|
||||||
|
|
||||||
template<typename T>
|
template<typename T>
|
||||||
|
@ -38,14 +38,14 @@ namespace Aurora::Memory
|
|||||||
template<typename T>
|
template<typename T>
|
||||||
T ZAlloc(Types::size_t length)
|
T ZAlloc(Types::size_t length)
|
||||||
{
|
{
|
||||||
static_assert(!std::is_class<std::remove_pointer<T>::type>::value, "Do not use heap/kmem apis with classes");
|
static_assert(!std::is_class<typename std::remove_pointer<T>::type>::value, "Do not use heap/kmem apis with classes");
|
||||||
return reinterpret_cast<T>(_ZAlloc(length));
|
return reinterpret_cast<T>(_ZAlloc(length));
|
||||||
}
|
}
|
||||||
|
|
||||||
template<typename T>
|
template<typename T>
|
||||||
T ZAlloc(Types::size_t length, Types::size_t align)
|
T ZAlloc(Types::size_t length, Types::size_t align)
|
||||||
{
|
{
|
||||||
static_assert(!std::is_class<std::remove_pointer<T>::type>::value, "Do not use heap/kmem apis with classes");
|
static_assert(!std::is_class<typename std::remove_pointer<T>::type>::value, "Do not use heap/kmem apis with classes");
|
||||||
return reinterpret_cast<T>(_ZAlloc(length, align));
|
return reinterpret_cast<T>(_ZAlloc(length, align));
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -66,7 +66,7 @@ namespace Aurora::Memory
|
|||||||
template<typename T>
|
template<typename T>
|
||||||
AuSPtr<T> AllocateFastArray(Types::size_t length, Types::size_t align = sizeof(T))
|
AuSPtr<T> AllocateFastArray(Types::size_t length, Types::size_t align = sizeof(T))
|
||||||
{
|
{
|
||||||
static_assert(!std::is_class<std::remove_pointer<T>::type>::value, "Do not use heap/kmem apis with classes");
|
static_assert(!std::is_class<typename std::remove_pointer<T>::type>::value, "Do not use heap/kmem apis with classes");
|
||||||
return AuSPtr<T>(reinterpret_cast<T *>(_FAlloc(length)), [](T *ptr)
|
return AuSPtr<T>(reinterpret_cast<T *>(_FAlloc(length)), [](T *ptr)
|
||||||
{
|
{
|
||||||
_Free(ptr);
|
_Free(ptr);
|
||||||
@ -102,14 +102,14 @@ namespace Aurora::Memory
|
|||||||
template<typename T>
|
template<typename T>
|
||||||
T FAlloc(Types::size_t length)
|
T FAlloc(Types::size_t length)
|
||||||
{
|
{
|
||||||
static_assert(!std::is_class<std::remove_pointer<T>::type>::value, "Do not use heap/kmem apis with classes");
|
static_assert(!std::is_class<typename std::remove_pointer<T>::type>::value, "Do not use heap/kmem apis with classes");
|
||||||
return reinterpret_cast<T>(_FAlloc(length));
|
return reinterpret_cast<T>(_FAlloc(length));
|
||||||
}
|
}
|
||||||
|
|
||||||
template<typename T>
|
template<typename T>
|
||||||
T FAlloc(Types::size_t length, Types::size_t align)
|
T FAlloc(Types::size_t length, Types::size_t align)
|
||||||
{
|
{
|
||||||
static_assert(!std::is_class<std::remove_pointer<T>::type>::value, "Do not use heap/kmem apis with classes");
|
static_assert(!std::is_class<typename std::remove_pointer<T>::type>::value, "Do not use heap/kmem apis with classes");
|
||||||
return reinterpret_cast<T>(_FAlloc(length, align));
|
return reinterpret_cast<T>(_FAlloc(length, align));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -39,7 +39,7 @@ namespace Aurora::Memory
|
|||||||
MemoryView(T &list)
|
MemoryView(T &list)
|
||||||
{
|
{
|
||||||
this->ptr = list.data();
|
this->ptr = list.data();
|
||||||
this->length = list.size() * sizeof(T::value_type);
|
this->length = list.size() * sizeof(typename T::value_type);
|
||||||
}
|
}
|
||||||
|
|
||||||
MemoryView(const AuString &str)
|
MemoryView(const AuString &str)
|
||||||
|
@ -29,6 +29,8 @@ namespace Aurora::Time
|
|||||||
*/
|
*/
|
||||||
AUKN_SYM time_t MSToCTime(AuInt64 time);
|
AUKN_SYM time_t MSToCTime(AuInt64 time);
|
||||||
|
|
||||||
|
AUKN_SYM AuInt64 CTimeToMS(time_t time);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
Converts milliseconds from the Aurora epoch to a civil timestamp structure
|
Converts milliseconds from the Aurora epoch to a civil timestamp structure
|
||||||
similar to or of std::tm
|
similar to or of std::tm
|
||||||
|
@ -72,7 +72,7 @@ static inline void __declspec(noreturn) SysPanic(T... args);
|
|||||||
template<typename Z, typename T>
|
template<typename Z, typename T>
|
||||||
static void inline SafeDelete(T *in)
|
static void inline SafeDelete(T *in)
|
||||||
{
|
{
|
||||||
static_assert(std::is_base_of<T, std::remove_pointer<Z>::type>::value, "Couldn't not safe delete from type T because it is not derived from Z");
|
static_assert(std::is_base_of<T, typename std::remove_pointer<Z>::type>::value, "Couldn't not safe delete from type T because it is not derived from Z");
|
||||||
auto cast = dynamic_cast<Z>(in);
|
auto cast = dynamic_cast<Z>(in);
|
||||||
if (cast == nullptr)
|
if (cast == nullptr)
|
||||||
{
|
{
|
||||||
@ -87,7 +87,7 @@ static void inline SafeDelete(T *in)
|
|||||||
template<typename Z, typename T>
|
template<typename Z, typename T>
|
||||||
static void inline SafeDelete(T *in)
|
static void inline SafeDelete(T *in)
|
||||||
{
|
{
|
||||||
static_assert(std::is_base_of<T, std::remove_pointer<Z>::type>::value, "Couldn't not safe delete from type T because it is not derived from Z");
|
static_assert(std::is_base_of<T, typename std::remove_pointer<Z>::type>::value, "Couldn't not safe delete from type T because it is not derived from Z");
|
||||||
delete static_cast<Z>(in);
|
delete static_cast<Z>(in);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
771
Makefile
Normal file
771
Makefile
Normal file
@ -0,0 +1,771 @@
|
|||||||
|
# Alternative GNU Make project makefile autogenerated by Premake
|
||||||
|
|
||||||
|
ifndef config
|
||||||
|
config=debug_x86_64
|
||||||
|
endif
|
||||||
|
|
||||||
|
ifndef verbose
|
||||||
|
SILENT = @
|
||||||
|
endif
|
||||||
|
|
||||||
|
.PHONY: clean prebuild
|
||||||
|
|
||||||
|
SHELLTYPE := posix
|
||||||
|
ifeq (.exe,$(findstring .exe,$(ComSpec)))
|
||||||
|
SHELLTYPE := msdos
|
||||||
|
endif
|
||||||
|
|
||||||
|
# Configurations
|
||||||
|
# #############################################
|
||||||
|
|
||||||
|
INCLUDES += -I../../Include -I. -ISource -IInclude -I../../Vendor/mimalloc/include -I../../Vendor/stduuid/include -I../../Vendor/fmt/include -I../../Vendor/nlohmannjson/single_include -I../../Vendor/bzip2 -I../../Vendor/libtomcrypt/src/headers -I../../Vendor/o1heap -I../../Vendor/zstd/lib -I../../Vendor/zlib -I../../Vendor/lz4/lib -I../../Vendor/mbedtls/include
|
||||||
|
FORCE_INCLUDE +=
|
||||||
|
ALL_CPPFLAGS += $(CPPFLAGS) -MMD -MP $(DEFINES) $(INCLUDES)
|
||||||
|
ALL_RESFLAGS += $(RESFLAGS) $(DEFINES) $(INCLUDES)
|
||||||
|
LINKCMD = $(CXX) -o "$@" $(OBJECTS) $(RESOURCES) $(ALL_LDFLAGS) $(LIBS)
|
||||||
|
define PREBUILDCMDS
|
||||||
|
endef
|
||||||
|
define PRELINKCMDS
|
||||||
|
endef
|
||||||
|
|
||||||
|
ifeq ($(config),debug_x86_64)
|
||||||
|
ifeq ($(origin CC), default)
|
||||||
|
CC = clang
|
||||||
|
endif
|
||||||
|
ifeq ($(origin CXX), default)
|
||||||
|
CXX = clang++
|
||||||
|
endif
|
||||||
|
ifeq ($(origin AR), default)
|
||||||
|
AR = ar
|
||||||
|
endif
|
||||||
|
TARGETDIR = ../../Build_CompilerWorkingDirectory/Bin/Debug
|
||||||
|
TARGET = $(TARGETDIR)/AuroraRuntime.debug.linux.x86_64.so
|
||||||
|
OBJDIR = ../../Build_CompilerWorkingDirectory/AuroraRuntime/x86_64/Debug
|
||||||
|
DEFINES += -DDEBUG -D_AU_HAS_ATOMIC_INTRINS -D_ITERATOR_DEBUG_LEVEL=0 -D_LINUX_AURORA_PREPROCESSOR -D_AUHAS_MIMALLOC=1 -D_AUHAS_UUID=1 -DFMT_HEADER_ONLY -D_AUHAS_FMT=1 -D_AUHAS_JSON=1 -DBZ_NOEXPORT -D_AUHAS_BZIP2=1 -D_AUHAS_LTC=1 -DUSE_LTM -DLTC_NO_PROTOTYPES -D_AUHAS_LIBTOMCRYPT=1 -D_AUHAS_O1HEAP=1 -DZSTD_MULTITHREAD -D_AUHAS_ZSTD=1 -D_AUHAS_ZLIB=1 -DLZ4_STATIC_LINKING_ONLY -D_AUHAS_LZ4=1 -D_AUHAS_MBEDTLS=1 -DAURORA_ENGINE_KERNEL -DAURORA_ENGINE_KERNEL_EXPORT
|
||||||
|
ALL_CFLAGS += $(CFLAGS) $(ALL_CPPFLAGS) -m64 -fPIC -g -Wno-unused-result -Wno-unused-value -Wno-unknown-warning-option -fms-extensions
|
||||||
|
ALL_CXXFLAGS += $(CXXFLAGS) $(ALL_CPPFLAGS) -m64 -fPIC -g -std=c++20 -fvisibility=hidden -Wno-unused-result -Wno-unused-value -Wno-unknown-warning-option -fms-extensions
|
||||||
|
LIBS += ../../Build_CompilerWorkingDirectory/Bin/Debug/mimalloc.a ../../Build_CompilerWorkingDirectory/Bin/Debug/bzip2.a ../../Build_CompilerWorkingDirectory/Bin/Debug/ltc.a ../../Build_CompilerWorkingDirectory/Bin/Debug/ltm.a ../../Build_CompilerWorkingDirectory/Bin/Debug/o1heap.a ../../Build_CompilerWorkingDirectory/Bin/Debug/zstd.a ../../Build_CompilerWorkingDirectory/Bin/Debug/zlib.a ../../Build_CompilerWorkingDirectory/Bin/Debug/lz4.a ../../Build_CompilerWorkingDirectory/Bin/Debug/mbedtls.a
|
||||||
|
LDDEPS += ../../Build_CompilerWorkingDirectory/Bin/Debug/mimalloc.a ../../Build_CompilerWorkingDirectory/Bin/Debug/bzip2.a ../../Build_CompilerWorkingDirectory/Bin/Debug/ltc.a ../../Build_CompilerWorkingDirectory/Bin/Debug/ltm.a ../../Build_CompilerWorkingDirectory/Bin/Debug/o1heap.a ../../Build_CompilerWorkingDirectory/Bin/Debug/zstd.a ../../Build_CompilerWorkingDirectory/Bin/Debug/zlib.a ../../Build_CompilerWorkingDirectory/Bin/Debug/lz4.a ../../Build_CompilerWorkingDirectory/Bin/Debug/mbedtls.a
|
||||||
|
ALL_LDFLAGS += $(LDFLAGS) -L/usr/lib64 -m64 -shared -Wl,-soname=AuroraRuntime.debug.linux.x86_64.so
|
||||||
|
define POSTBUILDCMDS
|
||||||
|
@echo Running postbuild commands
|
||||||
|
mkdir -p "/home/reece/source/AuroraSmallExample/Build_Develop/"
|
||||||
|
cp -rf "../../Build_CompilerWorkingDirectory/Bin/Debug/libAuroraRuntime.debug.linux.x86_64.so" "/home/reece/source/AuroraSmallExample/Build_Develop/libAuroraRuntime.debug.linux.x86_64.so"
|
||||||
|
endef
|
||||||
|
|
||||||
|
else ifeq ($(config),release_x86_64)
|
||||||
|
ifeq ($(origin CC), default)
|
||||||
|
CC = clang
|
||||||
|
endif
|
||||||
|
ifeq ($(origin CXX), default)
|
||||||
|
CXX = clang++
|
||||||
|
endif
|
||||||
|
ifeq ($(origin AR), default)
|
||||||
|
AR = ar
|
||||||
|
endif
|
||||||
|
TARGETDIR = ../../Build_CompilerWorkingDirectory/Bin/Release
|
||||||
|
TARGET = $(TARGETDIR)/AuroraRuntime.release.linux.x86_64.so
|
||||||
|
OBJDIR = ../../Build_CompilerWorkingDirectory/AuroraRuntime/x86_64/Release
|
||||||
|
DEFINES += -DNDEBUG -DSTAGING -D_AU_HAS_ATOMIC_INTRINS -D_ITERATOR_DEBUG_LEVEL=0 -D_LINUX_AURORA_PREPROCESSOR -D_AUHAS_MIMALLOC=1 -D_AUHAS_UUID=1 -DFMT_HEADER_ONLY -D_AUHAS_FMT=1 -D_AUHAS_JSON=1 -DBZ_NOEXPORT -D_AUHAS_BZIP2=1 -D_AUHAS_LTC=1 -DUSE_LTM -DLTC_NO_PROTOTYPES -D_AUHAS_LIBTOMCRYPT=1 -D_AUHAS_O1HEAP=1 -DZSTD_MULTITHREAD -D_AUHAS_ZSTD=1 -D_AUHAS_ZLIB=1 -DLZ4_STATIC_LINKING_ONLY -D_AUHAS_LZ4=1 -D_AUHAS_MBEDTLS=1 -DAURORA_ENGINE_KERNEL -DAURORA_ENGINE_KERNEL_EXPORT
|
||||||
|
ALL_CFLAGS += $(CFLAGS) $(ALL_CPPFLAGS) -m64 -O3 -fPIC -g -Wno-unused-result -Wno-unused-value -Wno-unknown-warning-option -fms-extensions
|
||||||
|
ALL_CXXFLAGS += $(CXXFLAGS) $(ALL_CPPFLAGS) -m64 -O3 -fPIC -g -std=c++20 -fvisibility=hidden -Wno-unused-result -Wno-unused-value -Wno-unknown-warning-option -fms-extensions
|
||||||
|
LIBS += ../../Build_CompilerWorkingDirectory/Bin/Release/mimalloc.a ../../Build_CompilerWorkingDirectory/Bin/Release/bzip2.a ../../Build_CompilerWorkingDirectory/Bin/Release/ltc.a ../../Build_CompilerWorkingDirectory/Bin/Release/ltm.a ../../Build_CompilerWorkingDirectory/Bin/Release/o1heap.a ../../Build_CompilerWorkingDirectory/Bin/Release/zstd.a ../../Build_CompilerWorkingDirectory/Bin/Release/zlib.a ../../Build_CompilerWorkingDirectory/Bin/Release/lz4.a ../../Build_CompilerWorkingDirectory/Bin/Release/mbedtls.a
|
||||||
|
LDDEPS += ../../Build_CompilerWorkingDirectory/Bin/Release/mimalloc.a ../../Build_CompilerWorkingDirectory/Bin/Release/bzip2.a ../../Build_CompilerWorkingDirectory/Bin/Release/ltc.a ../../Build_CompilerWorkingDirectory/Bin/Release/ltm.a ../../Build_CompilerWorkingDirectory/Bin/Release/o1heap.a ../../Build_CompilerWorkingDirectory/Bin/Release/zstd.a ../../Build_CompilerWorkingDirectory/Bin/Release/zlib.a ../../Build_CompilerWorkingDirectory/Bin/Release/lz4.a ../../Build_CompilerWorkingDirectory/Bin/Release/mbedtls.a
|
||||||
|
ALL_LDFLAGS += $(LDFLAGS) -L/usr/lib64 -m64 -shared -Wl,-soname=AuroraRuntime.release.linux.x86_64.so
|
||||||
|
define POSTBUILDCMDS
|
||||||
|
@echo Running postbuild commands
|
||||||
|
mkdir -p "/home/reece/source/AuroraSmallExample/Build_Stage/"
|
||||||
|
cp -rf "../../Build_CompilerWorkingDirectory/Bin/Release/libAuroraRuntime.release.linux.x86_64.so" "/home/reece/source/AuroraSmallExample/Build_Stage/libAuroraRuntime.release.linux.x86_64.so"
|
||||||
|
endef
|
||||||
|
|
||||||
|
else ifeq ($(config),ship_x86_64)
|
||||||
|
ifeq ($(origin CC), default)
|
||||||
|
CC = clang
|
||||||
|
endif
|
||||||
|
ifeq ($(origin CXX), default)
|
||||||
|
CXX = clang++
|
||||||
|
endif
|
||||||
|
ifeq ($(origin AR), default)
|
||||||
|
AR = llvm-ar
|
||||||
|
endif
|
||||||
|
TARGETDIR = ../../Build_CompilerWorkingDirectory/Bin/Ship
|
||||||
|
TARGET = $(TARGETDIR)/AuroraRuntime.ship.linux.x86_64.so
|
||||||
|
OBJDIR = ../../Build_CompilerWorkingDirectory/AuroraRuntime/x86_64/Ship
|
||||||
|
DEFINES += -DNDEBUG -DSHIP -D_AU_HAS_ATOMIC_INTRINS -D_ITERATOR_DEBUG_LEVEL=0 -D_LINUX_AURORA_PREPROCESSOR -D_AUHAS_MIMALLOC=1 -D_AUHAS_UUID=1 -DFMT_HEADER_ONLY -D_AUHAS_FMT=1 -D_AUHAS_JSON=1 -DBZ_NOEXPORT -D_AUHAS_BZIP2=1 -D_AUHAS_LTC=1 -DUSE_LTM -DLTC_NO_PROTOTYPES -D_AUHAS_LIBTOMCRYPT=1 -D_AUHAS_O1HEAP=1 -DZSTD_MULTITHREAD -D_AUHAS_ZSTD=1 -D_AUHAS_ZLIB=1 -DLZ4_STATIC_LINKING_ONLY -D_AUHAS_LZ4=1 -D_AUHAS_MBEDTLS=1 -DAURORA_ENGINE_KERNEL -DAURORA_ENGINE_KERNEL_EXPORT
|
||||||
|
ALL_CFLAGS += $(CFLAGS) $(ALL_CPPFLAGS) -m64 -flto -O3 -fPIC -g -Wno-unused-result -Wno-unused-value -Wno-unknown-warning-option -fms-extensions
|
||||||
|
ALL_CXXFLAGS += $(CXXFLAGS) $(ALL_CPPFLAGS) -m64 -flto -O3 -fPIC -g -std=c++20 -fvisibility=hidden -Wno-unused-result -Wno-unused-value -Wno-unknown-warning-option -fms-extensions
|
||||||
|
LIBS += ../../Build_CompilerWorkingDirectory/Bin/Ship/mimalloc.a ../../Build_CompilerWorkingDirectory/Bin/Ship/bzip2.a ../../Build_CompilerWorkingDirectory/Bin/Ship/ltc.a ../../Build_CompilerWorkingDirectory/Bin/Ship/ltm.a ../../Build_CompilerWorkingDirectory/Bin/Ship/o1heap.a ../../Build_CompilerWorkingDirectory/Bin/Ship/zstd.a ../../Build_CompilerWorkingDirectory/Bin/Ship/zlib.a ../../Build_CompilerWorkingDirectory/Bin/Ship/lz4.a ../../Build_CompilerWorkingDirectory/Bin/Ship/mbedtls.a
|
||||||
|
LDDEPS += ../../Build_CompilerWorkingDirectory/Bin/Ship/mimalloc.a ../../Build_CompilerWorkingDirectory/Bin/Ship/bzip2.a ../../Build_CompilerWorkingDirectory/Bin/Ship/ltc.a ../../Build_CompilerWorkingDirectory/Bin/Ship/ltm.a ../../Build_CompilerWorkingDirectory/Bin/Ship/o1heap.a ../../Build_CompilerWorkingDirectory/Bin/Ship/zstd.a ../../Build_CompilerWorkingDirectory/Bin/Ship/zlib.a ../../Build_CompilerWorkingDirectory/Bin/Ship/lz4.a ../../Build_CompilerWorkingDirectory/Bin/Ship/mbedtls.a
|
||||||
|
ALL_LDFLAGS += $(LDFLAGS) -L/usr/lib64 -m64 -flto -shared -Wl,-soname=AuroraRuntime.ship.linux.x86_64.so
|
||||||
|
define POSTBUILDCMDS
|
||||||
|
@echo Running postbuild commands
|
||||||
|
mkdir -p "/home/reece/source/AuroraSmallExample/Build_Ship/"
|
||||||
|
cp -rf "../../Build_CompilerWorkingDirectory/Bin/Ship/libAuroraRuntime.ship.linux.x86_64.so" "/home/reece/source/AuroraSmallExample/Build_Ship/libAuroraRuntime.ship.linux.x86_64.so"
|
||||||
|
endef
|
||||||
|
|
||||||
|
endif
|
||||||
|
|
||||||
|
# Per File Configurations
|
||||||
|
# #############################################
|
||||||
|
|
||||||
|
PERFILE_FLAGS_0 = $(ALL_CXXFLAGS) -stdlib=libc++
|
||||||
|
|
||||||
|
# File sets
|
||||||
|
# #############################################
|
||||||
|
|
||||||
|
GENERATED :=
|
||||||
|
OBJECTS :=
|
||||||
|
|
||||||
|
GENERATED += $(OBJDIR)/Aes.o
|
||||||
|
GENERATED += $(OBJDIR)/Alloc.o
|
||||||
|
GENERATED += $(OBJDIR)/Async.Linux.o
|
||||||
|
GENERATED += $(OBJDIR)/Async.Unix.o
|
||||||
|
GENERATED += $(OBJDIR)/Async.o
|
||||||
|
GENERATED += $(OBJDIR)/AsyncApp.o
|
||||||
|
GENERATED += $(OBJDIR)/Base32.o
|
||||||
|
GENERATED += $(OBJDIR)/Base64.o
|
||||||
|
GENERATED += $(OBJDIR)/BlackBoxSerial.o
|
||||||
|
GENERATED += $(OBJDIR)/BlackBoxWriter.o
|
||||||
|
GENERATED += $(OBJDIR)/BlockCompressor.o
|
||||||
|
GENERATED += $(OBJDIR)/BlockDecompressor.o
|
||||||
|
GENERATED += $(OBJDIR)/ByteBuffer.o
|
||||||
|
GENERATED += $(OBJDIR)/CA.o
|
||||||
|
GENERATED += $(OBJDIR)/Clock.o
|
||||||
|
GENERATED += $(OBJDIR)/Commands.o
|
||||||
|
GENERATED += $(OBJDIR)/CommonDigests.o
|
||||||
|
GENERATED += $(OBJDIR)/Compression.o
|
||||||
|
GENERATED += $(OBJDIR)/ConditionEx.o
|
||||||
|
GENERATED += $(OBJDIR)/ConditionMutex.Generic.o
|
||||||
|
GENERATED += $(OBJDIR)/ConditionMutex.Unix.o
|
||||||
|
GENERATED += $(OBJDIR)/ConditionVariable.Generic.o
|
||||||
|
GENERATED += $(OBJDIR)/ConditionVariable.Unix.o
|
||||||
|
GENERATED += $(OBJDIR)/Console.o
|
||||||
|
GENERATED += $(OBJDIR)/ConsoleFIO.o
|
||||||
|
GENERATED += $(OBJDIR)/ConsoleMessage.o
|
||||||
|
GENERATED += $(OBJDIR)/ConsoleStd.o
|
||||||
|
GENERATED += $(OBJDIR)/ConsoleWxWidgets.o
|
||||||
|
GENERATED += $(OBJDIR)/ConvertInternal.o
|
||||||
|
GENERATED += $(OBJDIR)/CpuInfo.o
|
||||||
|
GENERATED += $(OBJDIR)/CriticalSection.o
|
||||||
|
GENERATED += $(OBJDIR)/Crypto.o
|
||||||
|
GENERATED += $(OBJDIR)/Crypto1.o
|
||||||
|
GENERATED += $(OBJDIR)/Debug.o
|
||||||
|
GENERATED += $(OBJDIR)/DefaultHeap.o
|
||||||
|
GENERATED += $(OBJDIR)/ECC.o
|
||||||
|
GENERATED += $(OBJDIR)/ECCCurves.o
|
||||||
|
GENERATED += $(OBJDIR)/ECCGeneric.o
|
||||||
|
GENERATED += $(OBJDIR)/ECCX25519.o
|
||||||
|
GENERATED += $(OBJDIR)/ECCx25519Utils.o
|
||||||
|
GENERATED += $(OBJDIR)/EncoderAdapter.o
|
||||||
|
GENERATED += $(OBJDIR)/EncoderIConv.o
|
||||||
|
GENERATED += $(OBJDIR)/EncoderNSL.o
|
||||||
|
GENERATED += $(OBJDIR)/Encoding.o
|
||||||
|
GENERATED += $(OBJDIR)/ExceptionWatcher.Linux.o
|
||||||
|
GENERATED += $(OBJDIR)/FS.Generic.o
|
||||||
|
GENERATED += $(OBJDIR)/FS.Unix.o
|
||||||
|
GENERATED += $(OBJDIR)/FS.o
|
||||||
|
GENERATED += $(OBJDIR)/FileStream.Generic.o
|
||||||
|
GENERATED += $(OBJDIR)/FileStream.Unix.o
|
||||||
|
GENERATED += $(OBJDIR)/FileWriter.o
|
||||||
|
GENERATED += $(OBJDIR)/Flusher.o
|
||||||
|
GENERATED += $(OBJDIR)/GenericWaitable.o
|
||||||
|
GENERATED += $(OBJDIR)/HWInfo.o
|
||||||
|
GENERATED += $(OBJDIR)/HashStream.o
|
||||||
|
GENERATED += $(OBJDIR)/Hashing.o
|
||||||
|
GENERATED += $(OBJDIR)/Heap.o
|
||||||
|
GENERATED += $(OBJDIR)/Hex.o
|
||||||
|
GENERATED += $(OBJDIR)/Hooks.o
|
||||||
|
GENERATED += $(OBJDIR)/LSCondition.o
|
||||||
|
GENERATED += $(OBJDIR)/LSHandle.o
|
||||||
|
GENERATED += $(OBJDIR)/LSMutex.Generic.o
|
||||||
|
GENERATED += $(OBJDIR)/LSMutex.Linux.o
|
||||||
|
GENERATED += $(OBJDIR)/LSSemaphore.Generic.o
|
||||||
|
GENERATED += $(OBJDIR)/LSSemaphore.Linux.o
|
||||||
|
GENERATED += $(OBJDIR)/LSTimer.Generic.o
|
||||||
|
GENERATED += $(OBJDIR)/LSTimer.Linux.o
|
||||||
|
GENERATED += $(OBJDIR)/LTC.o
|
||||||
|
GENERATED += $(OBJDIR)/LTCEccEx.o
|
||||||
|
GENERATED += $(OBJDIR)/LTCExport.o
|
||||||
|
GENERATED += $(OBJDIR)/LTCImportEx.o
|
||||||
|
GENERATED += $(OBJDIR)/LTM.o
|
||||||
|
GENERATED += $(OBJDIR)/LZMA.o
|
||||||
|
GENERATED += $(OBJDIR)/LibCurl.o
|
||||||
|
GENERATED += $(OBJDIR)/Locale.o
|
||||||
|
GENERATED += $(OBJDIR)/Loop.Unix.o
|
||||||
|
GENERATED += $(OBJDIR)/Loop.o
|
||||||
|
GENERATED += $(OBJDIR)/MBedTLS.o
|
||||||
|
GENERATED += $(OBJDIR)/Memory.o
|
||||||
|
GENERATED += $(OBJDIR)/Mutex.Generic.o
|
||||||
|
GENERATED += $(OBJDIR)/Mutex.Unix.o
|
||||||
|
GENERATED += $(OBJDIR)/Net.o
|
||||||
|
GENERATED += $(OBJDIR)/OSThread.o
|
||||||
|
GENERATED += $(OBJDIR)/Open.Linux.o
|
||||||
|
GENERATED += $(OBJDIR)/PEM.o
|
||||||
|
GENERATED += $(OBJDIR)/Panic.o
|
||||||
|
GENERATED += $(OBJDIR)/Parser.o
|
||||||
|
GENERATED += $(OBJDIR)/Paths.o
|
||||||
|
GENERATED += $(OBJDIR)/PrivateECCImpl.o
|
||||||
|
GENERATED += $(OBJDIR)/Process.Linux.o
|
||||||
|
GENERATED += $(OBJDIR)/Process.o
|
||||||
|
GENERATED += $(OBJDIR)/ProcessMap.Linux.o
|
||||||
|
GENERATED += $(OBJDIR)/Processes.o
|
||||||
|
GENERATED += $(OBJDIR)/PublicECCImpl.o
|
||||||
|
GENERATED += $(OBJDIR)/RNG.o
|
||||||
|
GENERATED += $(OBJDIR)/RSAPrivate.o
|
||||||
|
GENERATED += $(OBJDIR)/RSAPublic.o
|
||||||
|
GENERATED += $(OBJDIR)/RWLock.o
|
||||||
|
GENERATED += $(OBJDIR)/RamInfo.o
|
||||||
|
GENERATED += $(OBJDIR)/RandomDevice.o
|
||||||
|
GENERATED += $(OBJDIR)/Registry.o
|
||||||
|
GENERATED += $(OBJDIR)/Resources.o
|
||||||
|
GENERATED += $(OBJDIR)/Schedular.o
|
||||||
|
GENERATED += $(OBJDIR)/Semaphore.Generic.o
|
||||||
|
GENERATED += $(OBJDIR)/Semaphore.Unix.o
|
||||||
|
GENERATED += $(OBJDIR)/Sleep.o
|
||||||
|
GENERATED += $(OBJDIR)/SpinLock.o
|
||||||
|
GENERATED += $(OBJDIR)/StreamCompression.o
|
||||||
|
GENERATED += $(OBJDIR)/TLSView.o
|
||||||
|
GENERATED += $(OBJDIR)/Telemetry.o
|
||||||
|
GENERATED += $(OBJDIR)/ThreadHandles.o
|
||||||
|
GENERATED += $(OBJDIR)/Threads.o
|
||||||
|
GENERATED += $(OBJDIR)/WELL.o
|
||||||
|
GENERATED += $(OBJDIR)/WaitFor.o
|
||||||
|
GENERATED += $(OBJDIR)/WorkItem.o
|
||||||
|
GENERATED += $(OBJDIR)/mtwister.o
|
||||||
|
GENERATED += $(OBJDIR)/x509.o
|
||||||
|
OBJECTS += $(OBJDIR)/Aes.o
|
||||||
|
OBJECTS += $(OBJDIR)/Alloc.o
|
||||||
|
OBJECTS += $(OBJDIR)/Async.Linux.o
|
||||||
|
OBJECTS += $(OBJDIR)/Async.Unix.o
|
||||||
|
OBJECTS += $(OBJDIR)/Async.o
|
||||||
|
OBJECTS += $(OBJDIR)/AsyncApp.o
|
||||||
|
OBJECTS += $(OBJDIR)/Base32.o
|
||||||
|
OBJECTS += $(OBJDIR)/Base64.o
|
||||||
|
OBJECTS += $(OBJDIR)/BlackBoxSerial.o
|
||||||
|
OBJECTS += $(OBJDIR)/BlackBoxWriter.o
|
||||||
|
OBJECTS += $(OBJDIR)/BlockCompressor.o
|
||||||
|
OBJECTS += $(OBJDIR)/BlockDecompressor.o
|
||||||
|
OBJECTS += $(OBJDIR)/ByteBuffer.o
|
||||||
|
OBJECTS += $(OBJDIR)/CA.o
|
||||||
|
OBJECTS += $(OBJDIR)/Clock.o
|
||||||
|
OBJECTS += $(OBJDIR)/Commands.o
|
||||||
|
OBJECTS += $(OBJDIR)/CommonDigests.o
|
||||||
|
OBJECTS += $(OBJDIR)/Compression.o
|
||||||
|
OBJECTS += $(OBJDIR)/ConditionEx.o
|
||||||
|
OBJECTS += $(OBJDIR)/ConditionMutex.Generic.o
|
||||||
|
OBJECTS += $(OBJDIR)/ConditionMutex.Unix.o
|
||||||
|
OBJECTS += $(OBJDIR)/ConditionVariable.Generic.o
|
||||||
|
OBJECTS += $(OBJDIR)/ConditionVariable.Unix.o
|
||||||
|
OBJECTS += $(OBJDIR)/Console.o
|
||||||
|
OBJECTS += $(OBJDIR)/ConsoleFIO.o
|
||||||
|
OBJECTS += $(OBJDIR)/ConsoleMessage.o
|
||||||
|
OBJECTS += $(OBJDIR)/ConsoleStd.o
|
||||||
|
OBJECTS += $(OBJDIR)/ConsoleWxWidgets.o
|
||||||
|
OBJECTS += $(OBJDIR)/ConvertInternal.o
|
||||||
|
OBJECTS += $(OBJDIR)/CpuInfo.o
|
||||||
|
OBJECTS += $(OBJDIR)/CriticalSection.o
|
||||||
|
OBJECTS += $(OBJDIR)/Crypto.o
|
||||||
|
OBJECTS += $(OBJDIR)/Crypto1.o
|
||||||
|
OBJECTS += $(OBJDIR)/Debug.o
|
||||||
|
OBJECTS += $(OBJDIR)/DefaultHeap.o
|
||||||
|
OBJECTS += $(OBJDIR)/ECC.o
|
||||||
|
OBJECTS += $(OBJDIR)/ECCCurves.o
|
||||||
|
OBJECTS += $(OBJDIR)/ECCGeneric.o
|
||||||
|
OBJECTS += $(OBJDIR)/ECCX25519.o
|
||||||
|
OBJECTS += $(OBJDIR)/ECCx25519Utils.o
|
||||||
|
OBJECTS += $(OBJDIR)/EncoderAdapter.o
|
||||||
|
OBJECTS += $(OBJDIR)/EncoderIConv.o
|
||||||
|
OBJECTS += $(OBJDIR)/EncoderNSL.o
|
||||||
|
OBJECTS += $(OBJDIR)/Encoding.o
|
||||||
|
OBJECTS += $(OBJDIR)/ExceptionWatcher.Linux.o
|
||||||
|
OBJECTS += $(OBJDIR)/FS.Generic.o
|
||||||
|
OBJECTS += $(OBJDIR)/FS.Unix.o
|
||||||
|
OBJECTS += $(OBJDIR)/FS.o
|
||||||
|
OBJECTS += $(OBJDIR)/FileStream.Generic.o
|
||||||
|
OBJECTS += $(OBJDIR)/FileStream.Unix.o
|
||||||
|
OBJECTS += $(OBJDIR)/FileWriter.o
|
||||||
|
OBJECTS += $(OBJDIR)/Flusher.o
|
||||||
|
OBJECTS += $(OBJDIR)/GenericWaitable.o
|
||||||
|
OBJECTS += $(OBJDIR)/HWInfo.o
|
||||||
|
OBJECTS += $(OBJDIR)/HashStream.o
|
||||||
|
OBJECTS += $(OBJDIR)/Hashing.o
|
||||||
|
OBJECTS += $(OBJDIR)/Heap.o
|
||||||
|
OBJECTS += $(OBJDIR)/Hex.o
|
||||||
|
OBJECTS += $(OBJDIR)/Hooks.o
|
||||||
|
OBJECTS += $(OBJDIR)/LSCondition.o
|
||||||
|
OBJECTS += $(OBJDIR)/LSHandle.o
|
||||||
|
OBJECTS += $(OBJDIR)/LSMutex.Generic.o
|
||||||
|
OBJECTS += $(OBJDIR)/LSMutex.Linux.o
|
||||||
|
OBJECTS += $(OBJDIR)/LSSemaphore.Generic.o
|
||||||
|
OBJECTS += $(OBJDIR)/LSSemaphore.Linux.o
|
||||||
|
OBJECTS += $(OBJDIR)/LSTimer.Generic.o
|
||||||
|
OBJECTS += $(OBJDIR)/LSTimer.Linux.o
|
||||||
|
OBJECTS += $(OBJDIR)/LTC.o
|
||||||
|
OBJECTS += $(OBJDIR)/LTCEccEx.o
|
||||||
|
OBJECTS += $(OBJDIR)/LTCExport.o
|
||||||
|
OBJECTS += $(OBJDIR)/LTCImportEx.o
|
||||||
|
OBJECTS += $(OBJDIR)/LTM.o
|
||||||
|
OBJECTS += $(OBJDIR)/LZMA.o
|
||||||
|
OBJECTS += $(OBJDIR)/LibCurl.o
|
||||||
|
OBJECTS += $(OBJDIR)/Locale.o
|
||||||
|
OBJECTS += $(OBJDIR)/Loop.Unix.o
|
||||||
|
OBJECTS += $(OBJDIR)/Loop.o
|
||||||
|
OBJECTS += $(OBJDIR)/MBedTLS.o
|
||||||
|
OBJECTS += $(OBJDIR)/Memory.o
|
||||||
|
OBJECTS += $(OBJDIR)/Mutex.Generic.o
|
||||||
|
OBJECTS += $(OBJDIR)/Mutex.Unix.o
|
||||||
|
OBJECTS += $(OBJDIR)/Net.o
|
||||||
|
OBJECTS += $(OBJDIR)/OSThread.o
|
||||||
|
OBJECTS += $(OBJDIR)/Open.Linux.o
|
||||||
|
OBJECTS += $(OBJDIR)/PEM.o
|
||||||
|
OBJECTS += $(OBJDIR)/Panic.o
|
||||||
|
OBJECTS += $(OBJDIR)/Parser.o
|
||||||
|
OBJECTS += $(OBJDIR)/Paths.o
|
||||||
|
OBJECTS += $(OBJDIR)/PrivateECCImpl.o
|
||||||
|
OBJECTS += $(OBJDIR)/Process.Linux.o
|
||||||
|
OBJECTS += $(OBJDIR)/Process.o
|
||||||
|
OBJECTS += $(OBJDIR)/ProcessMap.Linux.o
|
||||||
|
OBJECTS += $(OBJDIR)/Processes.o
|
||||||
|
OBJECTS += $(OBJDIR)/PublicECCImpl.o
|
||||||
|
OBJECTS += $(OBJDIR)/RNG.o
|
||||||
|
OBJECTS += $(OBJDIR)/RSAPrivate.o
|
||||||
|
OBJECTS += $(OBJDIR)/RSAPublic.o
|
||||||
|
OBJECTS += $(OBJDIR)/RWLock.o
|
||||||
|
OBJECTS += $(OBJDIR)/RamInfo.o
|
||||||
|
OBJECTS += $(OBJDIR)/RandomDevice.o
|
||||||
|
OBJECTS += $(OBJDIR)/Registry.o
|
||||||
|
OBJECTS += $(OBJDIR)/Resources.o
|
||||||
|
OBJECTS += $(OBJDIR)/Schedular.o
|
||||||
|
OBJECTS += $(OBJDIR)/Semaphore.Generic.o
|
||||||
|
OBJECTS += $(OBJDIR)/Semaphore.Unix.o
|
||||||
|
OBJECTS += $(OBJDIR)/Sleep.o
|
||||||
|
OBJECTS += $(OBJDIR)/SpinLock.o
|
||||||
|
OBJECTS += $(OBJDIR)/StreamCompression.o
|
||||||
|
OBJECTS += $(OBJDIR)/TLSView.o
|
||||||
|
OBJECTS += $(OBJDIR)/Telemetry.o
|
||||||
|
OBJECTS += $(OBJDIR)/ThreadHandles.o
|
||||||
|
OBJECTS += $(OBJDIR)/Threads.o
|
||||||
|
OBJECTS += $(OBJDIR)/WELL.o
|
||||||
|
OBJECTS += $(OBJDIR)/WaitFor.o
|
||||||
|
OBJECTS += $(OBJDIR)/WorkItem.o
|
||||||
|
OBJECTS += $(OBJDIR)/mtwister.o
|
||||||
|
OBJECTS += $(OBJDIR)/x509.o
|
||||||
|
|
||||||
|
# Rules
|
||||||
|
# #############################################
|
||||||
|
|
||||||
|
all: $(TARGET)
|
||||||
|
@:
|
||||||
|
|
||||||
|
$(TARGET): $(GENERATED) $(OBJECTS) $(LDDEPS) | $(TARGETDIR)
|
||||||
|
$(PRELINKCMDS)
|
||||||
|
@echo Linking AuroraRuntime
|
||||||
|
$(SILENT) $(LINKCMD)
|
||||||
|
$(POSTBUILDCMDS)
|
||||||
|
|
||||||
|
$(TARGETDIR):
|
||||||
|
@echo Creating $(TARGETDIR)
|
||||||
|
ifeq (posix,$(SHELLTYPE))
|
||||||
|
$(SILENT) mkdir -p $(TARGETDIR)
|
||||||
|
else
|
||||||
|
$(SILENT) mkdir $(subst /,\\,$(TARGETDIR))
|
||||||
|
endif
|
||||||
|
|
||||||
|
$(OBJDIR):
|
||||||
|
@echo Creating $(OBJDIR)
|
||||||
|
ifeq (posix,$(SHELLTYPE))
|
||||||
|
$(SILENT) mkdir -p $(OBJDIR)
|
||||||
|
else
|
||||||
|
$(SILENT) mkdir $(subst /,\\,$(OBJDIR))
|
||||||
|
endif
|
||||||
|
|
||||||
|
clean:
|
||||||
|
@echo Cleaning AuroraRuntime
|
||||||
|
ifeq (posix,$(SHELLTYPE))
|
||||||
|
$(SILENT) rm -f $(TARGET)
|
||||||
|
$(SILENT) rm -rf $(GENERATED)
|
||||||
|
$(SILENT) rm -rf $(OBJDIR)
|
||||||
|
else
|
||||||
|
$(SILENT) if exist $(subst /,\\,$(TARGET)) del $(subst /,\\,$(TARGET))
|
||||||
|
$(SILENT) if exist $(subst /,\\,$(GENERATED)) rmdir /s /q $(subst /,\\,$(GENERATED))
|
||||||
|
$(SILENT) if exist $(subst /,\\,$(OBJDIR)) rmdir /s /q $(subst /,\\,$(OBJDIR))
|
||||||
|
endif
|
||||||
|
|
||||||
|
prebuild: | $(OBJDIR)
|
||||||
|
$(PREBUILDCMDS)
|
||||||
|
|
||||||
|
ifneq (,$(PCH))
|
||||||
|
$(OBJECTS): $(GCH) | $(PCH_PLACEHOLDER)
|
||||||
|
$(GCH): $(PCH) | prebuild
|
||||||
|
@echo $(notdir $<)
|
||||||
|
$(SILENT) $(CXX) -x c++-header $(ALL_CXXFLAGS) -o "$@" -MF "$(@:%.gch=%.d)" -c "$<"
|
||||||
|
$(PCH_PLACEHOLDER): $(GCH) | $(OBJDIR)
|
||||||
|
ifeq (posix,$(SHELLTYPE))
|
||||||
|
$(SILENT) touch "$@"
|
||||||
|
else
|
||||||
|
$(SILENT) echo $null >> "$@"
|
||||||
|
endif
|
||||||
|
else
|
||||||
|
$(OBJECTS): | prebuild
|
||||||
|
endif
|
||||||
|
|
||||||
|
|
||||||
|
# File Rules
|
||||||
|
# #############################################
|
||||||
|
|
||||||
|
$(OBJDIR)/Alloc.o: Source/Alloc.cpp
|
||||||
|
@echo $(notdir $<)
|
||||||
|
$(SILENT) $(CXX) $(PERFILE_FLAGS_0) $(FORCE_INCLUDE) -o "$@" -MF "$(@:%.o=%.d)" -c "$<"
|
||||||
|
$(OBJDIR)/Async.o: Source/Async/Async.cpp
|
||||||
|
@echo $(notdir $<)
|
||||||
|
$(SILENT) $(CXX) $(PERFILE_FLAGS_0) $(FORCE_INCLUDE) -o "$@" -MF "$(@:%.o=%.d)" -c "$<"
|
||||||
|
$(OBJDIR)/AsyncApp.o: Source/Async/AsyncApp.cpp
|
||||||
|
@echo $(notdir $<)
|
||||||
|
$(SILENT) $(CXX) $(PERFILE_FLAGS_0) $(FORCE_INCLUDE) -o "$@" -MF "$(@:%.o=%.d)" -c "$<"
|
||||||
|
$(OBJDIR)/Schedular.o: Source/Async/Schedular.cpp
|
||||||
|
@echo $(notdir $<)
|
||||||
|
$(SILENT) $(CXX) $(PERFILE_FLAGS_0) $(FORCE_INCLUDE) -o "$@" -MF "$(@:%.o=%.d)" -c "$<"
|
||||||
|
$(OBJDIR)/WorkItem.o: Source/Async/WorkItem.cpp
|
||||||
|
@echo $(notdir $<)
|
||||||
|
$(SILENT) $(CXX) $(PERFILE_FLAGS_0) $(FORCE_INCLUDE) -o "$@" -MF "$(@:%.o=%.d)" -c "$<"
|
||||||
|
$(OBJDIR)/BlockCompressor.o: Source/Compression/BlockCompressor.cpp
|
||||||
|
@echo $(notdir $<)
|
||||||
|
$(SILENT) $(CXX) $(PERFILE_FLAGS_0) $(FORCE_INCLUDE) -o "$@" -MF "$(@:%.o=%.d)" -c "$<"
|
||||||
|
$(OBJDIR)/BlockDecompressor.o: Source/Compression/BlockDecompressor.cpp
|
||||||
|
@echo $(notdir $<)
|
||||||
|
$(SILENT) $(CXX) $(PERFILE_FLAGS_0) $(FORCE_INCLUDE) -o "$@" -MF "$(@:%.o=%.d)" -c "$<"
|
||||||
|
$(OBJDIR)/Compression.o: Source/Compression/Compression.cpp
|
||||||
|
@echo $(notdir $<)
|
||||||
|
$(SILENT) $(CXX) $(PERFILE_FLAGS_0) $(FORCE_INCLUDE) -o "$@" -MF "$(@:%.o=%.d)" -c "$<"
|
||||||
|
$(OBJDIR)/StreamCompression.o: Source/Compression/StreamCompression.cpp
|
||||||
|
@echo $(notdir $<)
|
||||||
|
$(SILENT) $(CXX) $(PERFILE_FLAGS_0) $(FORCE_INCLUDE) -o "$@" -MF "$(@:%.o=%.d)" -c "$<"
|
||||||
|
$(OBJDIR)/Commands.o: Source/Console/Commands/Commands.cpp
|
||||||
|
@echo $(notdir $<)
|
||||||
|
$(SILENT) $(CXX) $(PERFILE_FLAGS_0) $(FORCE_INCLUDE) -o "$@" -MF "$(@:%.o=%.d)" -c "$<"
|
||||||
|
$(OBJDIR)/Console.o: Source/Console/Console.cpp
|
||||||
|
@echo $(notdir $<)
|
||||||
|
$(SILENT) $(CXX) $(PERFILE_FLAGS_0) $(FORCE_INCLUDE) -o "$@" -MF "$(@:%.o=%.d)" -c "$<"
|
||||||
|
$(OBJDIR)/ConsoleFIO.o: Source/Console/ConsoleFIO/ConsoleFIO.cpp
|
||||||
|
@echo $(notdir $<)
|
||||||
|
$(SILENT) $(CXX) $(PERFILE_FLAGS_0) $(FORCE_INCLUDE) -o "$@" -MF "$(@:%.o=%.d)" -c "$<"
|
||||||
|
$(OBJDIR)/ConsoleMessage.o: Source/Console/ConsoleMessage.cpp
|
||||||
|
@echo $(notdir $<)
|
||||||
|
$(SILENT) $(CXX) $(PERFILE_FLAGS_0) $(FORCE_INCLUDE) -o "$@" -MF "$(@:%.o=%.d)" -c "$<"
|
||||||
|
$(OBJDIR)/ConsoleStd.o: Source/Console/ConsoleStd/ConsoleStd.cpp
|
||||||
|
@echo $(notdir $<)
|
||||||
|
$(SILENT) $(CXX) $(PERFILE_FLAGS_0) $(FORCE_INCLUDE) -o "$@" -MF "$(@:%.o=%.d)" -c "$<"
|
||||||
|
$(OBJDIR)/ConsoleWxWidgets.o: Source/Console/ConsoleWxWidgets/ConsoleWxWidgets.cpp
|
||||||
|
@echo $(notdir $<)
|
||||||
|
$(SILENT) $(CXX) $(PERFILE_FLAGS_0) $(FORCE_INCLUDE) -o "$@" -MF "$(@:%.o=%.d)" -c "$<"
|
||||||
|
$(OBJDIR)/Flusher.o: Source/Console/Flusher.cpp
|
||||||
|
@echo $(notdir $<)
|
||||||
|
$(SILENT) $(CXX) $(PERFILE_FLAGS_0) $(FORCE_INCLUDE) -o "$@" -MF "$(@:%.o=%.d)" -c "$<"
|
||||||
|
$(OBJDIR)/Hooks.o: Source/Console/Hooks/Hooks.cpp
|
||||||
|
@echo $(notdir $<)
|
||||||
|
$(SILENT) $(CXX) $(PERFILE_FLAGS_0) $(FORCE_INCLUDE) -o "$@" -MF "$(@:%.o=%.d)" -c "$<"
|
||||||
|
$(OBJDIR)/Crypto.o: Source/Crypto.cpp
|
||||||
|
@echo $(notdir $<)
|
||||||
|
$(SILENT) $(CXX) $(PERFILE_FLAGS_0) $(FORCE_INCLUDE) -o "$@" -MF "$(@:%.o=%.d)" -c "$<"
|
||||||
|
$(OBJDIR)/Aes.o: Source/Crypto/AES/Aes.cpp
|
||||||
|
@echo $(notdir $<)
|
||||||
|
$(SILENT) $(CXX) $(PERFILE_FLAGS_0) $(FORCE_INCLUDE) -o "$@" -MF "$(@:%.o=%.d)" -c "$<"
|
||||||
|
$(OBJDIR)/CA.o: Source/Crypto/CA/CA.cpp
|
||||||
|
@echo $(notdir $<)
|
||||||
|
$(SILENT) $(CXX) $(PERFILE_FLAGS_0) $(FORCE_INCLUDE) -o "$@" -MF "$(@:%.o=%.d)" -c "$<"
|
||||||
|
$(OBJDIR)/Crypto1.o: Source/Crypto/Crypto.cpp
|
||||||
|
@echo $(notdir $<)
|
||||||
|
$(SILENT) $(CXX) $(PERFILE_FLAGS_0) $(FORCE_INCLUDE) -o "$@" -MF "$(@:%.o=%.d)" -c "$<"
|
||||||
|
$(OBJDIR)/ECC.o: Source/Crypto/ECC/ECC.cpp
|
||||||
|
@echo $(notdir $<)
|
||||||
|
$(SILENT) $(CXX) $(PERFILE_FLAGS_0) $(FORCE_INCLUDE) -o "$@" -MF "$(@:%.o=%.d)" -c "$<"
|
||||||
|
$(OBJDIR)/ECCCurves.o: Source/Crypto/ECC/ECCCurves.cpp
|
||||||
|
@echo $(notdir $<)
|
||||||
|
$(SILENT) $(CXX) $(PERFILE_FLAGS_0) $(FORCE_INCLUDE) -o "$@" -MF "$(@:%.o=%.d)" -c "$<"
|
||||||
|
$(OBJDIR)/ECCGeneric.o: Source/Crypto/ECC/ECCGeneric.cpp
|
||||||
|
@echo $(notdir $<)
|
||||||
|
$(SILENT) $(CXX) $(PERFILE_FLAGS_0) $(FORCE_INCLUDE) -o "$@" -MF "$(@:%.o=%.d)" -c "$<"
|
||||||
|
$(OBJDIR)/ECCX25519.o: Source/Crypto/ECC/ECCX25519.cpp
|
||||||
|
@echo $(notdir $<)
|
||||||
|
$(SILENT) $(CXX) $(PERFILE_FLAGS_0) $(FORCE_INCLUDE) -o "$@" -MF "$(@:%.o=%.d)" -c "$<"
|
||||||
|
$(OBJDIR)/ECCx25519Utils.o: Source/Crypto/ECC/ECCx25519Utils.cpp
|
||||||
|
@echo $(notdir $<)
|
||||||
|
$(SILENT) $(CXX) $(PERFILE_FLAGS_0) $(FORCE_INCLUDE) -o "$@" -MF "$(@:%.o=%.d)" -c "$<"
|
||||||
|
$(OBJDIR)/PrivateECCImpl.o: Source/Crypto/ECC/PrivateECCImpl.cpp
|
||||||
|
@echo $(notdir $<)
|
||||||
|
$(SILENT) $(CXX) $(PERFILE_FLAGS_0) $(FORCE_INCLUDE) -o "$@" -MF "$(@:%.o=%.d)" -c "$<"
|
||||||
|
$(OBJDIR)/PublicECCImpl.o: Source/Crypto/ECC/PublicECCImpl.cpp
|
||||||
|
@echo $(notdir $<)
|
||||||
|
$(SILENT) $(CXX) $(PERFILE_FLAGS_0) $(FORCE_INCLUDE) -o "$@" -MF "$(@:%.o=%.d)" -c "$<"
|
||||||
|
$(OBJDIR)/PEM.o: Source/Crypto/PEM/PEM.cpp
|
||||||
|
@echo $(notdir $<)
|
||||||
|
$(SILENT) $(CXX) $(PERFILE_FLAGS_0) $(FORCE_INCLUDE) -o "$@" -MF "$(@:%.o=%.d)" -c "$<"
|
||||||
|
$(OBJDIR)/RSAPrivate.o: Source/Crypto/RSA/RSAPrivate.cpp
|
||||||
|
@echo $(notdir $<)
|
||||||
|
$(SILENT) $(CXX) $(PERFILE_FLAGS_0) $(FORCE_INCLUDE) -o "$@" -MF "$(@:%.o=%.d)" -c "$<"
|
||||||
|
$(OBJDIR)/RSAPublic.o: Source/Crypto/RSA/RSAPublic.cpp
|
||||||
|
@echo $(notdir $<)
|
||||||
|
$(SILENT) $(CXX) $(PERFILE_FLAGS_0) $(FORCE_INCLUDE) -o "$@" -MF "$(@:%.o=%.d)" -c "$<"
|
||||||
|
$(OBJDIR)/x509.o: Source/Crypto/X509/x509.cpp
|
||||||
|
@echo $(notdir $<)
|
||||||
|
$(SILENT) $(CXX) $(PERFILE_FLAGS_0) $(FORCE_INCLUDE) -o "$@" -MF "$(@:%.o=%.d)" -c "$<"
|
||||||
|
$(OBJDIR)/Debug.o: Source/Debug/Debug.cpp
|
||||||
|
@echo $(notdir $<)
|
||||||
|
$(SILENT) $(CXX) $(PERFILE_FLAGS_0) $(FORCE_INCLUDE) -o "$@" -MF "$(@:%.o=%.d)" -c "$<"
|
||||||
|
$(OBJDIR)/ExceptionWatcher.Linux.o: Source/Debug/ExceptionWatcher.Linux.cpp
|
||||||
|
@echo $(notdir $<)
|
||||||
|
$(SILENT) $(CXX) $(PERFILE_FLAGS_0) $(FORCE_INCLUDE) -o "$@" -MF "$(@:%.o=%.d)" -c "$<"
|
||||||
|
$(OBJDIR)/Panic.o: Source/Debug/Panic.cpp
|
||||||
|
@echo $(notdir $<)
|
||||||
|
$(SILENT) $(CXX) $(PERFILE_FLAGS_0) $(FORCE_INCLUDE) -o "$@" -MF "$(@:%.o=%.d)" -c "$<"
|
||||||
|
$(OBJDIR)/LibCurl.o: Source/Extensions/CURL/LibCurl.cpp
|
||||||
|
@echo $(notdir $<)
|
||||||
|
$(SILENT) $(CXX) $(PERFILE_FLAGS_0) $(FORCE_INCLUDE) -o "$@" -MF "$(@:%.o=%.d)" -c "$<"
|
||||||
|
$(OBJDIR)/LTC.o: Source/Extensions/LTC/LTC.cpp
|
||||||
|
@echo $(notdir $<)
|
||||||
|
$(SILENT) $(CXX) $(PERFILE_FLAGS_0) $(FORCE_INCLUDE) -o "$@" -MF "$(@:%.o=%.d)" -c "$<"
|
||||||
|
$(OBJDIR)/LTCEccEx.o: Source/Extensions/LTC/LTCEccEx.c
|
||||||
|
@echo $(notdir $<)
|
||||||
|
$(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -MF "$(@:%.o=%.d)" -c "$<"
|
||||||
|
$(OBJDIR)/LTCExport.o: Source/Extensions/LTC/LTCExport.c
|
||||||
|
@echo $(notdir $<)
|
||||||
|
$(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -MF "$(@:%.o=%.d)" -c "$<"
|
||||||
|
$(OBJDIR)/LTCImportEx.o: Source/Extensions/LTC/LTCImportEx.c
|
||||||
|
@echo $(notdir $<)
|
||||||
|
$(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -MF "$(@:%.o=%.d)" -c "$<"
|
||||||
|
$(OBJDIR)/LTM.o: Source/Extensions/LTM/LTM.cpp
|
||||||
|
@echo $(notdir $<)
|
||||||
|
$(SILENT) $(CXX) $(PERFILE_FLAGS_0) $(FORCE_INCLUDE) -o "$@" -MF "$(@:%.o=%.d)" -c "$<"
|
||||||
|
$(OBJDIR)/LZMA.o: Source/Extensions/LZMA/LZMA.cpp
|
||||||
|
@echo $(notdir $<)
|
||||||
|
$(SILENT) $(CXX) $(PERFILE_FLAGS_0) $(FORCE_INCLUDE) -o "$@" -MF "$(@:%.o=%.d)" -c "$<"
|
||||||
|
$(OBJDIR)/MBedTLS.o: Source/Extensions/MBedTls/MBedTLS.cpp
|
||||||
|
@echo $(notdir $<)
|
||||||
|
$(SILENT) $(CXX) $(PERFILE_FLAGS_0) $(FORCE_INCLUDE) -o "$@" -MF "$(@:%.o=%.d)" -c "$<"
|
||||||
|
$(OBJDIR)/CpuInfo.o: Source/HWInfo/CpuInfo.cpp
|
||||||
|
@echo $(notdir $<)
|
||||||
|
$(SILENT) $(CXX) $(PERFILE_FLAGS_0) $(FORCE_INCLUDE) -o "$@" -MF "$(@:%.o=%.d)" -c "$<"
|
||||||
|
$(OBJDIR)/HWInfo.o: Source/HWInfo/HWInfo.cpp
|
||||||
|
@echo $(notdir $<)
|
||||||
|
$(SILENT) $(CXX) $(PERFILE_FLAGS_0) $(FORCE_INCLUDE) -o "$@" -MF "$(@:%.o=%.d)" -c "$<"
|
||||||
|
$(OBJDIR)/RamInfo.o: Source/HWInfo/RamInfo.cpp
|
||||||
|
@echo $(notdir $<)
|
||||||
|
$(SILENT) $(CXX) $(PERFILE_FLAGS_0) $(FORCE_INCLUDE) -o "$@" -MF "$(@:%.o=%.d)" -c "$<"
|
||||||
|
$(OBJDIR)/CommonDigests.o: Source/Hashing/CommonDigests.cpp
|
||||||
|
@echo $(notdir $<)
|
||||||
|
$(SILENT) $(CXX) $(PERFILE_FLAGS_0) $(FORCE_INCLUDE) -o "$@" -MF "$(@:%.o=%.d)" -c "$<"
|
||||||
|
$(OBJDIR)/HashStream.o: Source/Hashing/HashStream.cpp
|
||||||
|
@echo $(notdir $<)
|
||||||
|
$(SILENT) $(CXX) $(PERFILE_FLAGS_0) $(FORCE_INCLUDE) -o "$@" -MF "$(@:%.o=%.d)" -c "$<"
|
||||||
|
$(OBJDIR)/Hashing.o: Source/Hashing/Hashing.cpp
|
||||||
|
@echo $(notdir $<)
|
||||||
|
$(SILENT) $(CXX) $(PERFILE_FLAGS_0) $(FORCE_INCLUDE) -o "$@" -MF "$(@:%.o=%.d)" -c "$<"
|
||||||
|
$(OBJDIR)/Async.Linux.o: Source/IO/FS/Async.Linux.cpp
|
||||||
|
@echo $(notdir $<)
|
||||||
|
$(SILENT) $(CXX) $(PERFILE_FLAGS_0) $(FORCE_INCLUDE) -o "$@" -MF "$(@:%.o=%.d)" -c "$<"
|
||||||
|
$(OBJDIR)/Async.Unix.o: Source/IO/FS/Async.Unix.cpp
|
||||||
|
@echo $(notdir $<)
|
||||||
|
$(SILENT) $(CXX) $(PERFILE_FLAGS_0) $(FORCE_INCLUDE) -o "$@" -MF "$(@:%.o=%.d)" -c "$<"
|
||||||
|
$(OBJDIR)/FS.Generic.o: Source/IO/FS/FS.Generic.cpp
|
||||||
|
@echo $(notdir $<)
|
||||||
|
$(SILENT) $(CXX) $(PERFILE_FLAGS_0) $(FORCE_INCLUDE) -o "$@" -MF "$(@:%.o=%.d)" -c "$<"
|
||||||
|
$(OBJDIR)/FS.Unix.o: Source/IO/FS/FS.Unix.cpp
|
||||||
|
@echo $(notdir $<)
|
||||||
|
$(SILENT) $(CXX) $(PERFILE_FLAGS_0) $(FORCE_INCLUDE) -o "$@" -MF "$(@:%.o=%.d)" -c "$<"
|
||||||
|
$(OBJDIR)/FS.o: Source/IO/FS/FS.cpp
|
||||||
|
@echo $(notdir $<)
|
||||||
|
$(SILENT) $(CXX) $(PERFILE_FLAGS_0) $(FORCE_INCLUDE) -o "$@" -MF "$(@:%.o=%.d)" -c "$<"
|
||||||
|
$(OBJDIR)/FileStream.Generic.o: Source/IO/FS/FileStream.Generic.cpp
|
||||||
|
@echo $(notdir $<)
|
||||||
|
$(SILENT) $(CXX) $(PERFILE_FLAGS_0) $(FORCE_INCLUDE) -o "$@" -MF "$(@:%.o=%.d)" -c "$<"
|
||||||
|
$(OBJDIR)/FileStream.Unix.o: Source/IO/FS/FileStream.Unix.cpp
|
||||||
|
@echo $(notdir $<)
|
||||||
|
$(SILENT) $(CXX) $(PERFILE_FLAGS_0) $(FORCE_INCLUDE) -o "$@" -MF "$(@:%.o=%.d)" -c "$<"
|
||||||
|
$(OBJDIR)/Resources.o: Source/IO/FS/Resources.cpp
|
||||||
|
@echo $(notdir $<)
|
||||||
|
$(SILENT) $(CXX) $(PERFILE_FLAGS_0) $(FORCE_INCLUDE) -o "$@" -MF "$(@:%.o=%.d)" -c "$<"
|
||||||
|
$(OBJDIR)/Net.o: Source/IO/Net/Net.cpp
|
||||||
|
@echo $(notdir $<)
|
||||||
|
$(SILENT) $(CXX) $(PERFILE_FLAGS_0) $(FORCE_INCLUDE) -o "$@" -MF "$(@:%.o=%.d)" -c "$<"
|
||||||
|
$(OBJDIR)/ConvertInternal.o: Source/Locale/Encoding/ConvertInternal.cpp
|
||||||
|
@echo $(notdir $<)
|
||||||
|
$(SILENT) $(CXX) $(PERFILE_FLAGS_0) $(FORCE_INCLUDE) -o "$@" -MF "$(@:%.o=%.d)" -c "$<"
|
||||||
|
$(OBJDIR)/EncoderAdapter.o: Source/Locale/Encoding/EncoderAdapter.cpp
|
||||||
|
@echo $(notdir $<)
|
||||||
|
$(SILENT) $(CXX) $(PERFILE_FLAGS_0) $(FORCE_INCLUDE) -o "$@" -MF "$(@:%.o=%.d)" -c "$<"
|
||||||
|
$(OBJDIR)/EncoderIConv.o: Source/Locale/Encoding/EncoderIConv.cpp
|
||||||
|
@echo $(notdir $<)
|
||||||
|
$(SILENT) $(CXX) $(PERFILE_FLAGS_0) $(FORCE_INCLUDE) -o "$@" -MF "$(@:%.o=%.d)" -c "$<"
|
||||||
|
$(OBJDIR)/EncoderNSL.o: Source/Locale/Encoding/EncoderNSL.cpp
|
||||||
|
@echo $(notdir $<)
|
||||||
|
$(SILENT) $(CXX) $(PERFILE_FLAGS_0) $(FORCE_INCLUDE) -o "$@" -MF "$(@:%.o=%.d)" -c "$<"
|
||||||
|
$(OBJDIR)/Encoding.o: Source/Locale/Encoding/Encoding.cpp
|
||||||
|
@echo $(notdir $<)
|
||||||
|
$(SILENT) $(CXX) $(PERFILE_FLAGS_0) $(FORCE_INCLUDE) -o "$@" -MF "$(@:%.o=%.d)" -c "$<"
|
||||||
|
$(OBJDIR)/Locale.o: Source/Locale/Locale.cpp
|
||||||
|
@echo $(notdir $<)
|
||||||
|
$(SILENT) $(CXX) $(PERFILE_FLAGS_0) $(FORCE_INCLUDE) -o "$@" -MF "$(@:%.o=%.d)" -c "$<"
|
||||||
|
$(OBJDIR)/GenericWaitable.o: Source/Loop/GenericWaitable.cpp
|
||||||
|
@echo $(notdir $<)
|
||||||
|
$(SILENT) $(CXX) $(PERFILE_FLAGS_0) $(FORCE_INCLUDE) -o "$@" -MF "$(@:%.o=%.d)" -c "$<"
|
||||||
|
$(OBJDIR)/LSCondition.o: Source/Loop/LSCondition.cpp
|
||||||
|
@echo $(notdir $<)
|
||||||
|
$(SILENT) $(CXX) $(PERFILE_FLAGS_0) $(FORCE_INCLUDE) -o "$@" -MF "$(@:%.o=%.d)" -c "$<"
|
||||||
|
$(OBJDIR)/LSHandle.o: Source/Loop/LSHandle.cpp
|
||||||
|
@echo $(notdir $<)
|
||||||
|
$(SILENT) $(CXX) $(PERFILE_FLAGS_0) $(FORCE_INCLUDE) -o "$@" -MF "$(@:%.o=%.d)" -c "$<"
|
||||||
|
$(OBJDIR)/LSMutex.Generic.o: Source/Loop/LSMutex.Generic.cpp
|
||||||
|
@echo $(notdir $<)
|
||||||
|
$(SILENT) $(CXX) $(PERFILE_FLAGS_0) $(FORCE_INCLUDE) -o "$@" -MF "$(@:%.o=%.d)" -c "$<"
|
||||||
|
$(OBJDIR)/LSMutex.Linux.o: Source/Loop/LSMutex.Linux.cpp
|
||||||
|
@echo $(notdir $<)
|
||||||
|
$(SILENT) $(CXX) $(PERFILE_FLAGS_0) $(FORCE_INCLUDE) -o "$@" -MF "$(@:%.o=%.d)" -c "$<"
|
||||||
|
$(OBJDIR)/LSSemaphore.Generic.o: Source/Loop/LSSemaphore.Generic.cpp
|
||||||
|
@echo $(notdir $<)
|
||||||
|
$(SILENT) $(CXX) $(PERFILE_FLAGS_0) $(FORCE_INCLUDE) -o "$@" -MF "$(@:%.o=%.d)" -c "$<"
|
||||||
|
$(OBJDIR)/LSSemaphore.Linux.o: Source/Loop/LSSemaphore.Linux.cpp
|
||||||
|
@echo $(notdir $<)
|
||||||
|
$(SILENT) $(CXX) $(PERFILE_FLAGS_0) $(FORCE_INCLUDE) -o "$@" -MF "$(@:%.o=%.d)" -c "$<"
|
||||||
|
$(OBJDIR)/LSTimer.Generic.o: Source/Loop/LSTimer.Generic.cpp
|
||||||
|
@echo $(notdir $<)
|
||||||
|
$(SILENT) $(CXX) $(PERFILE_FLAGS_0) $(FORCE_INCLUDE) -o "$@" -MF "$(@:%.o=%.d)" -c "$<"
|
||||||
|
$(OBJDIR)/LSTimer.Linux.o: Source/Loop/LSTimer.Linux.cpp
|
||||||
|
@echo $(notdir $<)
|
||||||
|
$(SILENT) $(CXX) $(PERFILE_FLAGS_0) $(FORCE_INCLUDE) -o "$@" -MF "$(@:%.o=%.d)" -c "$<"
|
||||||
|
$(OBJDIR)/Loop.Unix.o: Source/Loop/Loop.Unix.cpp
|
||||||
|
@echo $(notdir $<)
|
||||||
|
$(SILENT) $(CXX) $(PERFILE_FLAGS_0) $(FORCE_INCLUDE) -o "$@" -MF "$(@:%.o=%.d)" -c "$<"
|
||||||
|
$(OBJDIR)/Loop.o: Source/Loop/Loop.cpp
|
||||||
|
@echo $(notdir $<)
|
||||||
|
$(SILENT) $(CXX) $(PERFILE_FLAGS_0) $(FORCE_INCLUDE) -o "$@" -MF "$(@:%.o=%.d)" -c "$<"
|
||||||
|
$(OBJDIR)/ByteBuffer.o: Source/Memory/ByteBuffer.cpp
|
||||||
|
@echo $(notdir $<)
|
||||||
|
$(SILENT) $(CXX) $(PERFILE_FLAGS_0) $(FORCE_INCLUDE) -o "$@" -MF "$(@:%.o=%.d)" -c "$<"
|
||||||
|
$(OBJDIR)/DefaultHeap.o: Source/Memory/DefaultHeap.cpp
|
||||||
|
@echo $(notdir $<)
|
||||||
|
$(SILENT) $(CXX) $(PERFILE_FLAGS_0) $(FORCE_INCLUDE) -o "$@" -MF "$(@:%.o=%.d)" -c "$<"
|
||||||
|
$(OBJDIR)/Heap.o: Source/Memory/Heap.cpp
|
||||||
|
@echo $(notdir $<)
|
||||||
|
$(SILENT) $(CXX) $(PERFILE_FLAGS_0) $(FORCE_INCLUDE) -o "$@" -MF "$(@:%.o=%.d)" -c "$<"
|
||||||
|
$(OBJDIR)/Memory.o: Source/Memory/Memory.cpp
|
||||||
|
@echo $(notdir $<)
|
||||||
|
$(SILENT) $(CXX) $(PERFILE_FLAGS_0) $(FORCE_INCLUDE) -o "$@" -MF "$(@:%.o=%.d)" -c "$<"
|
||||||
|
$(OBJDIR)/Base32.o: Source/Parse/Base32.cpp
|
||||||
|
@echo $(notdir $<)
|
||||||
|
$(SILENT) $(CXX) $(PERFILE_FLAGS_0) $(FORCE_INCLUDE) -o "$@" -MF "$(@:%.o=%.d)" -c "$<"
|
||||||
|
$(OBJDIR)/Base64.o: Source/Parse/Base64.cpp
|
||||||
|
@echo $(notdir $<)
|
||||||
|
$(SILENT) $(CXX) $(PERFILE_FLAGS_0) $(FORCE_INCLUDE) -o "$@" -MF "$(@:%.o=%.d)" -c "$<"
|
||||||
|
$(OBJDIR)/Hex.o: Source/Parse/Hex.cpp
|
||||||
|
@echo $(notdir $<)
|
||||||
|
$(SILENT) $(CXX) $(PERFILE_FLAGS_0) $(FORCE_INCLUDE) -o "$@" -MF "$(@:%.o=%.d)" -c "$<"
|
||||||
|
$(OBJDIR)/Parser.o: Source/Parse/Parser.cpp
|
||||||
|
@echo $(notdir $<)
|
||||||
|
$(SILENT) $(CXX) $(PERFILE_FLAGS_0) $(FORCE_INCLUDE) -o "$@" -MF "$(@:%.o=%.d)" -c "$<"
|
||||||
|
$(OBJDIR)/Paths.o: Source/Process/Paths.cpp
|
||||||
|
@echo $(notdir $<)
|
||||||
|
$(SILENT) $(CXX) $(PERFILE_FLAGS_0) $(FORCE_INCLUDE) -o "$@" -MF "$(@:%.o=%.d)" -c "$<"
|
||||||
|
$(OBJDIR)/Process.o: Source/Process/Process.cpp
|
||||||
|
@echo $(notdir $<)
|
||||||
|
$(SILENT) $(CXX) $(PERFILE_FLAGS_0) $(FORCE_INCLUDE) -o "$@" -MF "$(@:%.o=%.d)" -c "$<"
|
||||||
|
$(OBJDIR)/ProcessMap.Linux.o: Source/Process/ProcessMap.Linux.cpp
|
||||||
|
@echo $(notdir $<)
|
||||||
|
$(SILENT) $(CXX) $(PERFILE_FLAGS_0) $(FORCE_INCLUDE) -o "$@" -MF "$(@:%.o=%.d)" -c "$<"
|
||||||
|
$(OBJDIR)/Open.Linux.o: Source/Processes/Open.Linux.cpp
|
||||||
|
@echo $(notdir $<)
|
||||||
|
$(SILENT) $(CXX) $(PERFILE_FLAGS_0) $(FORCE_INCLUDE) -o "$@" -MF "$(@:%.o=%.d)" -c "$<"
|
||||||
|
$(OBJDIR)/Process.Linux.o: Source/Processes/Process.Linux.cpp
|
||||||
|
@echo $(notdir $<)
|
||||||
|
$(SILENT) $(CXX) $(PERFILE_FLAGS_0) $(FORCE_INCLUDE) -o "$@" -MF "$(@:%.o=%.d)" -c "$<"
|
||||||
|
$(OBJDIR)/Processes.o: Source/Processes/Processes.cpp
|
||||||
|
@echo $(notdir $<)
|
||||||
|
$(SILENT) $(CXX) $(PERFILE_FLAGS_0) $(FORCE_INCLUDE) -o "$@" -MF "$(@:%.o=%.d)" -c "$<"
|
||||||
|
$(OBJDIR)/RNG.o: Source/RNG/RNG.cpp
|
||||||
|
@echo $(notdir $<)
|
||||||
|
$(SILENT) $(CXX) $(PERFILE_FLAGS_0) $(FORCE_INCLUDE) -o "$@" -MF "$(@:%.o=%.d)" -c "$<"
|
||||||
|
$(OBJDIR)/RandomDevice.o: Source/RNG/RandomDevice.cpp
|
||||||
|
@echo $(notdir $<)
|
||||||
|
$(SILENT) $(CXX) $(PERFILE_FLAGS_0) $(FORCE_INCLUDE) -o "$@" -MF "$(@:%.o=%.d)" -c "$<"
|
||||||
|
$(OBJDIR)/WELL.o: Source/RNG/WELL.cpp
|
||||||
|
@echo $(notdir $<)
|
||||||
|
$(SILENT) $(CXX) $(PERFILE_FLAGS_0) $(FORCE_INCLUDE) -o "$@" -MF "$(@:%.o=%.d)" -c "$<"
|
||||||
|
$(OBJDIR)/mtwister.o: Source/RNG/mtwister.cpp
|
||||||
|
@echo $(notdir $<)
|
||||||
|
$(SILENT) $(CXX) $(PERFILE_FLAGS_0) $(FORCE_INCLUDE) -o "$@" -MF "$(@:%.o=%.d)" -c "$<"
|
||||||
|
$(OBJDIR)/Registry.o: Source/Registry/Registry.cpp
|
||||||
|
@echo $(notdir $<)
|
||||||
|
$(SILENT) $(CXX) $(PERFILE_FLAGS_0) $(FORCE_INCLUDE) -o "$@" -MF "$(@:%.o=%.d)" -c "$<"
|
||||||
|
$(OBJDIR)/BlackBoxSerial.o: Source/Telemetry/BlackBoxSerial.cpp
|
||||||
|
@echo $(notdir $<)
|
||||||
|
$(SILENT) $(CXX) $(PERFILE_FLAGS_0) $(FORCE_INCLUDE) -o "$@" -MF "$(@:%.o=%.d)" -c "$<"
|
||||||
|
$(OBJDIR)/BlackBoxWriter.o: Source/Telemetry/BlackBoxWriter.cpp
|
||||||
|
@echo $(notdir $<)
|
||||||
|
$(SILENT) $(CXX) $(PERFILE_FLAGS_0) $(FORCE_INCLUDE) -o "$@" -MF "$(@:%.o=%.d)" -c "$<"
|
||||||
|
$(OBJDIR)/FileWriter.o: Source/Telemetry/FileWriter.cpp
|
||||||
|
@echo $(notdir $<)
|
||||||
|
$(SILENT) $(CXX) $(PERFILE_FLAGS_0) $(FORCE_INCLUDE) -o "$@" -MF "$(@:%.o=%.d)" -c "$<"
|
||||||
|
$(OBJDIR)/Telemetry.o: Source/Telemetry/Telemetry.cpp
|
||||||
|
@echo $(notdir $<)
|
||||||
|
$(SILENT) $(CXX) $(PERFILE_FLAGS_0) $(FORCE_INCLUDE) -o "$@" -MF "$(@:%.o=%.d)" -c "$<"
|
||||||
|
$(OBJDIR)/ConditionEx.o: Source/Threading/Primitives/ConditionEx.cpp
|
||||||
|
@echo $(notdir $<)
|
||||||
|
$(SILENT) $(CXX) $(PERFILE_FLAGS_0) $(FORCE_INCLUDE) -o "$@" -MF "$(@:%.o=%.d)" -c "$<"
|
||||||
|
$(OBJDIR)/ConditionMutex.Generic.o: Source/Threading/Primitives/ConditionMutex.Generic.cpp
|
||||||
|
@echo $(notdir $<)
|
||||||
|
$(SILENT) $(CXX) $(PERFILE_FLAGS_0) $(FORCE_INCLUDE) -o "$@" -MF "$(@:%.o=%.d)" -c "$<"
|
||||||
|
$(OBJDIR)/ConditionMutex.Unix.o: Source/Threading/Primitives/ConditionMutex.Unix.cpp
|
||||||
|
@echo $(notdir $<)
|
||||||
|
$(SILENT) $(CXX) $(PERFILE_FLAGS_0) $(FORCE_INCLUDE) -o "$@" -MF "$(@:%.o=%.d)" -c "$<"
|
||||||
|
$(OBJDIR)/ConditionVariable.Generic.o: Source/Threading/Primitives/ConditionVariable.Generic.cpp
|
||||||
|
@echo $(notdir $<)
|
||||||
|
$(SILENT) $(CXX) $(PERFILE_FLAGS_0) $(FORCE_INCLUDE) -o "$@" -MF "$(@:%.o=%.d)" -c "$<"
|
||||||
|
$(OBJDIR)/ConditionVariable.Unix.o: Source/Threading/Primitives/ConditionVariable.Unix.cpp
|
||||||
|
@echo $(notdir $<)
|
||||||
|
$(SILENT) $(CXX) $(PERFILE_FLAGS_0) $(FORCE_INCLUDE) -o "$@" -MF "$(@:%.o=%.d)" -c "$<"
|
||||||
|
$(OBJDIR)/CriticalSection.o: Source/Threading/Primitives/CriticalSection.cpp
|
||||||
|
@echo $(notdir $<)
|
||||||
|
$(SILENT) $(CXX) $(PERFILE_FLAGS_0) $(FORCE_INCLUDE) -o "$@" -MF "$(@:%.o=%.d)" -c "$<"
|
||||||
|
$(OBJDIR)/Mutex.Generic.o: Source/Threading/Primitives/Mutex.Generic.cpp
|
||||||
|
@echo $(notdir $<)
|
||||||
|
$(SILENT) $(CXX) $(PERFILE_FLAGS_0) $(FORCE_INCLUDE) -o "$@" -MF "$(@:%.o=%.d)" -c "$<"
|
||||||
|
$(OBJDIR)/Mutex.Unix.o: Source/Threading/Primitives/Mutex.Unix.cpp
|
||||||
|
@echo $(notdir $<)
|
||||||
|
$(SILENT) $(CXX) $(PERFILE_FLAGS_0) $(FORCE_INCLUDE) -o "$@" -MF "$(@:%.o=%.d)" -c "$<"
|
||||||
|
$(OBJDIR)/RWLock.o: Source/Threading/Primitives/RWLock.cpp
|
||||||
|
@echo $(notdir $<)
|
||||||
|
$(SILENT) $(CXX) $(PERFILE_FLAGS_0) $(FORCE_INCLUDE) -o "$@" -MF "$(@:%.o=%.d)" -c "$<"
|
||||||
|
$(OBJDIR)/Semaphore.Generic.o: Source/Threading/Primitives/Semaphore.Generic.cpp
|
||||||
|
@echo $(notdir $<)
|
||||||
|
$(SILENT) $(CXX) $(PERFILE_FLAGS_0) $(FORCE_INCLUDE) -o "$@" -MF "$(@:%.o=%.d)" -c "$<"
|
||||||
|
$(OBJDIR)/Semaphore.Unix.o: Source/Threading/Primitives/Semaphore.Unix.cpp
|
||||||
|
@echo $(notdir $<)
|
||||||
|
$(SILENT) $(CXX) $(PERFILE_FLAGS_0) $(FORCE_INCLUDE) -o "$@" -MF "$(@:%.o=%.d)" -c "$<"
|
||||||
|
$(OBJDIR)/SpinLock.o: Source/Threading/Primitives/SpinLock.cpp
|
||||||
|
@echo $(notdir $<)
|
||||||
|
$(SILENT) $(CXX) $(PERFILE_FLAGS_0) $(FORCE_INCLUDE) -o "$@" -MF "$(@:%.o=%.d)" -c "$<"
|
||||||
|
$(OBJDIR)/Sleep.o: Source/Threading/Sleep.cpp
|
||||||
|
@echo $(notdir $<)
|
||||||
|
$(SILENT) $(CXX) $(PERFILE_FLAGS_0) $(FORCE_INCLUDE) -o "$@" -MF "$(@:%.o=%.d)" -c "$<"
|
||||||
|
$(OBJDIR)/OSThread.o: Source/Threading/Threads/OSThread.cpp
|
||||||
|
@echo $(notdir $<)
|
||||||
|
$(SILENT) $(CXX) $(PERFILE_FLAGS_0) $(FORCE_INCLUDE) -o "$@" -MF "$(@:%.o=%.d)" -c "$<"
|
||||||
|
$(OBJDIR)/TLSView.o: Source/Threading/Threads/TLSView.cpp
|
||||||
|
@echo $(notdir $<)
|
||||||
|
$(SILENT) $(CXX) $(PERFILE_FLAGS_0) $(FORCE_INCLUDE) -o "$@" -MF "$(@:%.o=%.d)" -c "$<"
|
||||||
|
$(OBJDIR)/ThreadHandles.o: Source/Threading/Threads/ThreadHandles.cpp
|
||||||
|
@echo $(notdir $<)
|
||||||
|
$(SILENT) $(CXX) $(PERFILE_FLAGS_0) $(FORCE_INCLUDE) -o "$@" -MF "$(@:%.o=%.d)" -c "$<"
|
||||||
|
$(OBJDIR)/Threads.o: Source/Threading/Threads/Threads.cpp
|
||||||
|
@echo $(notdir $<)
|
||||||
|
$(SILENT) $(CXX) $(PERFILE_FLAGS_0) $(FORCE_INCLUDE) -o "$@" -MF "$(@:%.o=%.d)" -c "$<"
|
||||||
|
$(OBJDIR)/WaitFor.o: Source/Threading/WaitFor.cpp
|
||||||
|
@echo $(notdir $<)
|
||||||
|
$(SILENT) $(CXX) $(PERFILE_FLAGS_0) $(FORCE_INCLUDE) -o "$@" -MF "$(@:%.o=%.d)" -c "$<"
|
||||||
|
$(OBJDIR)/Clock.o: Source/Time/Clock.cpp
|
||||||
|
@echo $(notdir $<)
|
||||||
|
$(SILENT) $(CXX) $(PERFILE_FLAGS_0) $(FORCE_INCLUDE) -o "$@" -MF "$(@:%.o=%.d)" -c "$<"
|
||||||
|
|
||||||
|
-include $(OBJECTS:%.o=%.d)
|
||||||
|
ifneq (,$(PCH))
|
||||||
|
-include $(PCH_PLACEHOLDER).d
|
||||||
|
endif
|
@ -112,7 +112,7 @@ namespace Aurora::Console::ConsoleStd
|
|||||||
{
|
{
|
||||||
AuString slow;
|
AuString slow;
|
||||||
slow.resize(writeLine.size() * 4);
|
slow.resize(writeLine.size() * 4);
|
||||||
auto len = Locale::Encoding::EncodeUTF8(writeLine, reinterpret_cast<AuUInt8 *>(slow.data()), slow.size(), Locale::ECodePage::eSysUnk);
|
auto len = Locale::Encoding::EncodeUTF8(writeLine, Aurora::Memory::MemoryViewWrite {slow.data(), slow.size()}, Locale::ECodePage::eSysUnk);
|
||||||
if (len.first != 0)
|
if (len.first != 0)
|
||||||
{
|
{
|
||||||
WriteStdOut(slow.data(), len.second);
|
WriteStdOut(slow.data(), len.second);
|
||||||
|
@ -7,7 +7,7 @@
|
|||||||
***/
|
***/
|
||||||
#include <Source/RuntimeInternal.hpp>
|
#include <Source/RuntimeInternal.hpp>
|
||||||
#include "ECC.hpp"
|
#include "ECC.hpp"
|
||||||
#include "ECCx25519.hpp"
|
//#include "ECCx25519.hpp"
|
||||||
|
|
||||||
namespace Aurora::Crypto::ECC
|
namespace Aurora::Crypto::ECC
|
||||||
{
|
{
|
||||||
|
@ -8,7 +8,7 @@
|
|||||||
#include <Source/RuntimeInternal.hpp>
|
#include <Source/RuntimeInternal.hpp>
|
||||||
#include "Debug.hpp"
|
#include "Debug.hpp"
|
||||||
#include "Panic.hpp"
|
#include "Panic.hpp"
|
||||||
#include <intrin.h>
|
//#include <intrin.h>
|
||||||
#include <Source/Console/ConsoleFIO/ConsoleFIO.hpp>
|
#include <Source/Console/ConsoleFIO/ConsoleFIO.hpp>
|
||||||
|
|
||||||
namespace Aurora::Debug
|
namespace Aurora::Debug
|
||||||
@ -26,7 +26,7 @@ namespace Aurora::Debug
|
|||||||
#elif defined(DEBUG)
|
#elif defined(DEBUG)
|
||||||
#if defined(AURORA_COMPILER_MSVC)
|
#if defined(AURORA_COMPILER_MSVC)
|
||||||
__debugbreak();
|
__debugbreak();
|
||||||
#elif defined(__has_builtin) && __has_builtin(__builtin_debugtrap))
|
#elif (defined(__has_builtin) && __has_builtin(__builtin_debugtrap))
|
||||||
__builtin_debugtrap();
|
__builtin_debugtrap();
|
||||||
#elif defined(AURORA_COMPILER_GCC) || defined(AURORA_COMPILER_CLANG)
|
#elif defined(AURORA_COMPILER_GCC) || defined(AURORA_COMPILER_CLANG)
|
||||||
// GCC is a terrible compiler, msvc is annoying at best, and LLVM + cpp frontend seems great, whats new?
|
// GCC is a terrible compiler, msvc is annoying at best, and LLVM + cpp frontend seems great, whats new?
|
||||||
|
@ -19,6 +19,10 @@
|
|||||||
#include <sys/sysinfo.h>
|
#include <sys/sysinfo.h>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#if defined(AURORA_COMPILER_CLANG) || defined(AURORA_IS_POSIX_DERIVED)
|
||||||
|
#include <cpuid.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
namespace Aurora::HWInfo
|
namespace Aurora::HWInfo
|
||||||
{
|
{
|
||||||
static CpuInfo gCpuInfo;
|
static CpuInfo gCpuInfo;
|
||||||
@ -459,7 +463,7 @@ namespace Aurora::HWInfo
|
|||||||
|
|
||||||
gCpuInfo.socket = 1;
|
gCpuInfo.socket = 1;
|
||||||
gCpuInfo.cores = 1;
|
gCpuInfo.cores = 1;
|
||||||
gCpuInfo.threads = get_nprocs(void);
|
gCpuInfo.threads = get_nprocs();
|
||||||
|
|
||||||
#elif defined(AURORA_IS_POSIX_DERIVED)
|
#elif defined(AURORA_IS_POSIX_DERIVED)
|
||||||
|
|
||||||
|
@ -19,6 +19,7 @@
|
|||||||
|
|
||||||
#if defined(AURORA_IS_LINUX_DERIVED)
|
#if defined(AURORA_IS_LINUX_DERIVED)
|
||||||
#include <sys/sysinfo.h>
|
#include <sys/sysinfo.h>
|
||||||
|
#include <sys/resource.h>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if defined(AURORA_IS_MODERNNT_DERIVED)
|
#if defined(AURORA_IS_MODERNNT_DERIVED)
|
||||||
|
@ -17,9 +17,13 @@
|
|||||||
#include <unistd.h>
|
#include <unistd.h>
|
||||||
#include <fcntl.h>
|
#include <fcntl.h>
|
||||||
|
|
||||||
|
#if defined(AURORA_IS_LINUX_DERIVED)
|
||||||
|
#include <sys/sendfile.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
namespace Aurora::IO::FS
|
namespace Aurora::IO::FS
|
||||||
{
|
{
|
||||||
bool _MkDir(const AuString &str)
|
bool _MkDir(const AuString &path)
|
||||||
{
|
{
|
||||||
return mkdir(path.c_str(), 0760) == 0;
|
return mkdir(path.c_str(), 0760) == 0;
|
||||||
}
|
}
|
||||||
@ -34,11 +38,25 @@ namespace Aurora::IO::FS
|
|||||||
return IterateDirEntriesSTL(string, false, dirs);
|
return IterateDirEntriesSTL(string, false, dirs);
|
||||||
}
|
}
|
||||||
|
|
||||||
AUKN_SYM bool WriteFile(const AuString &path, const void *data, size_t length)
|
AUKN_SYM bool WriteFile(const AuString &path, const void *data, AuUInt length)
|
||||||
{
|
{
|
||||||
auto file = OpenWriteUnique(path);
|
auto file = OpenWriteUnique(path);
|
||||||
SysCheckReturn(file, false);
|
SysCheckReturn(file, false);
|
||||||
return file->Read(data, length) == length;
|
|
||||||
|
AuUInt written = length;
|
||||||
|
if (!file->Write(Memory::MemoryViewStreamRead(data, written)))
|
||||||
|
{
|
||||||
|
SysPushErrorMem();
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (written != length)
|
||||||
|
{
|
||||||
|
SysPushErrorIO();
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
AUKN_SYM bool ReadFile(const AuString &path, AuList<uint8_t> &buffer)
|
AUKN_SYM bool ReadFile(const AuString &path, AuList<uint8_t> &buffer)
|
||||||
@ -53,7 +71,20 @@ namespace Aurora::IO::FS
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
return file->Read(buffer.data(), buffer.size()) == buffer.size();
|
AuUInt read;
|
||||||
|
if (!file->Read(Memory::MemoryViewStreamWrite {buffer, read}))
|
||||||
|
{
|
||||||
|
SysPushErrorIO();
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (read != buffer.size())
|
||||||
|
{
|
||||||
|
SysPushErrorIO();
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
static bool UnixExists(const AuString &path, bool dir)
|
static bool UnixExists(const AuString &path, bool dir)
|
||||||
@ -85,7 +116,7 @@ namespace Aurora::IO::FS
|
|||||||
|
|
||||||
AUKN_SYM bool Remove(const AuString &path)
|
AUKN_SYM bool Remove(const AuString &path)
|
||||||
{
|
{
|
||||||
return remove(RetPathHelper(path).c_str()) != -1;
|
return remove(NormalizePathRet(path).c_str()) != -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
AUKN_SYM bool Relink(const AuString &src, const AuString &dest)
|
AUKN_SYM bool Relink(const AuString &src, const AuString &dest)
|
||||||
@ -110,7 +141,7 @@ namespace Aurora::IO::FS
|
|||||||
struct stat fileinfo = { 0 };
|
struct stat fileinfo = { 0 };
|
||||||
if (fstat(input, &fileinfo) != 0)
|
if (fstat(input, &fileinfo) != 0)
|
||||||
{
|
{
|
||||||
close(input)
|
close(input);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -178,7 +209,7 @@ namespace Aurora::IO::FS
|
|||||||
auto path = NormalizePathRet(pathRel);
|
auto path = NormalizePathRet(pathRel);
|
||||||
|
|
||||||
struct stat s;
|
struct stat s;
|
||||||
auto err = stat(path.c_str(), &s);
|
auto err = ::stat(path.c_str(), &s);
|
||||||
|
|
||||||
if (err == -1)
|
if (err == -1)
|
||||||
{
|
{
|
||||||
@ -202,9 +233,9 @@ namespace Aurora::IO::FS
|
|||||||
|
|
||||||
stat.size = s.st_size;
|
stat.size = s.st_size;
|
||||||
|
|
||||||
stat.created = ConvertUnixTimespecToMs(s.st_ctime);
|
stat.created = Time::CTimeToMS(s.st_ctime);
|
||||||
stat.modified = ConvertUnixTimespecToMs(s.st_mtime);
|
stat.modified = Time::CTimeToMS(s.st_mtime);
|
||||||
stat.accessed = ConvertUnixTimespecToMs(s.st_atime);
|
stat.accessed = Time::CTimeToMS(s.st_atime);
|
||||||
|
|
||||||
err = lstat(path.c_str(), &s);
|
err = lstat(path.c_str(), &s);
|
||||||
if (err != -1)
|
if (err != -1)
|
||||||
|
@ -40,9 +40,9 @@ namespace Aurora::IO::FS
|
|||||||
try
|
try
|
||||||
{
|
{
|
||||||
#if defined(NO_STD_FS)
|
#if defined(NO_STD_FS)
|
||||||
stream_.open(RetPathHelper(str), std::ios_base::binary)
|
stream_.open(NormalizePathRet(str), std::ios_base::binary)
|
||||||
#else
|
#else
|
||||||
stream_.open(std::filesystem::u8path(RetPathHelper(str)), std::ios_base::binary);
|
stream_.open(std::filesystem::u8path(NormalizePathRet(str)), std::ios_base::binary);
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
catch (...)
|
catch (...)
|
||||||
|
@ -30,7 +30,7 @@ namespace Aurora::IO::FS
|
|||||||
auto ret = lseek(fd, offset, whence);
|
auto ret = lseek(fd, offset, whence);
|
||||||
#else
|
#else
|
||||||
#error accient 32-bit posix operating systems require 64-bit file awareness
|
#error accient 32-bit posix operating systems require 64-bit file awareness
|
||||||
#end
|
#endif
|
||||||
|
|
||||||
if (ret < 0)
|
if (ret < 0)
|
||||||
{
|
{
|
||||||
@ -147,7 +147,7 @@ namespace Aurora::IO::FS
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
return PosixSetOffset(handle_);
|
return PosixSetOffset(handle_, offset);
|
||||||
}
|
}
|
||||||
|
|
||||||
AuUInt64 PosixFileStream::GetLength()
|
AuUInt64 PosixFileStream::GetLength()
|
||||||
@ -179,7 +179,7 @@ namespace Aurora::IO::FS
|
|||||||
|
|
||||||
if (!PosixRead(handle_, &reinterpret_cast<char *>(parameters.ptr)[offset], blockSize, &read))
|
if (!PosixRead(handle_, &reinterpret_cast<char *>(parameters.ptr)[offset], blockSize, &read))
|
||||||
{
|
{
|
||||||
SysPushErrorNested("File Error: {}", path);
|
SysPushErrorNested("File Error: {}", path_);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -219,14 +219,14 @@ namespace Aurora::IO::FS
|
|||||||
|
|
||||||
if (!PosixWrite(handle_, &reinterpret_cast<const char *>(parameters.ptr)[offset], blockSize, &written))
|
if (!PosixWrite(handle_, &reinterpret_cast<const char *>(parameters.ptr)[offset], blockSize, &written))
|
||||||
{
|
{
|
||||||
SysPushErrorNested("File Error: {}", path);
|
SysPushErrorNested("File Error: {}", path_);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (written != blockSize)
|
if (written != blockSize)
|
||||||
{
|
{
|
||||||
SysPushErrorIO();
|
SysPushErrorIO();
|
||||||
SysPushErrorNested("File Error: {}", path);
|
SysPushErrorNested("File Error: {}", path_);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -11,18 +11,18 @@
|
|||||||
|
|
||||||
namespace Aurora::IO::FS
|
namespace Aurora::IO::FS
|
||||||
{
|
{
|
||||||
class PosixStream : public IFileStream
|
class PosixFileStream : public IFileStream
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
~PosixStream();
|
~PosixFileStream();
|
||||||
|
|
||||||
void Init(int handle, const AuString &path);
|
void Init(int handle, const AuString &path);
|
||||||
|
|
||||||
AuUInt64 GetOffset() override;
|
AuUInt64 GetOffset() override;
|
||||||
bool SetOffset(AuUInt64 offset) override;
|
bool SetOffset(AuUInt64 offset) override;
|
||||||
AuUInt64 GetLength() override;
|
AuUInt64 GetLength() override;
|
||||||
AuUInt64 Read(void *in, AuUInt64 length) override;
|
bool Read(const Memory::MemoryViewStreamWrite ¶meters) override;
|
||||||
AuUInt64 Write(const void *out, AuUInt64 length) override;
|
bool Write(const Memory::MemoryViewStreamRead & parameters) override;
|
||||||
void Close() override;
|
void Close() override;
|
||||||
void Flush() override;
|
void Flush() override;
|
||||||
|
|
||||||
|
@ -57,12 +57,20 @@ namespace Aurora::Locale::Encoding
|
|||||||
|
|
||||||
AuStreamReadWrittenPair_t Win32ConvertFromCPToUTF8(AuUInt32 cp, const void *in, AuUInt length, void *utf8, AuUInt32 utf8Len)
|
AuStreamReadWrittenPair_t Win32ConvertFromCPToUTF8(AuUInt32 cp, const void *in, AuUInt length, void *utf8, AuUInt32 utf8Len)
|
||||||
{
|
{
|
||||||
|
#if !defined(AU_HAS_MSFT_NATIONALLANGSUPPORT)
|
||||||
|
return {};
|
||||||
|
#else
|
||||||
return Win32ConvertCpAToCPB(cp, CP_UTF8, in, length, utf8, utf8Len);
|
return Win32ConvertCpAToCPB(cp, CP_UTF8, in, length, utf8, utf8Len);
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
AuStreamReadWrittenPair_t Win32ConvertFromUTF8ToCp(AuUInt32 cp, const void *utf8, AuUInt utf8Length, void *cpBlob, AuUInt32 cpLen)
|
AuStreamReadWrittenPair_t Win32ConvertFromUTF8ToCp(AuUInt32 cp, const void *utf8, AuUInt utf8Length, void *cpBlob, AuUInt32 cpLen)
|
||||||
{
|
{
|
||||||
|
#if !defined(AU_HAS_MSFT_NATIONALLANGSUPPORT)
|
||||||
|
return {};
|
||||||
|
#else
|
||||||
return Win32ConvertCpAToCPB(CP_UTF8, cp, utf8, utf8Length, cpBlob, cpLen);
|
return Win32ConvertCpAToCPB(CP_UTF8, cp, utf8, utf8Length, cpBlob, cpLen);
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
AuStreamReadWrittenPair_t Win32ConvertFromUTF16ToUTF8(const void *in, AuUInt32 inLength, void *utf8, AuUInt32 utf8Len)
|
AuStreamReadWrittenPair_t Win32ConvertFromUTF16ToUTF8(const void *in, AuUInt32 inLength, void *utf8, AuUInt32 utf8Len)
|
||||||
@ -144,6 +152,7 @@ namespace Aurora::Locale::Encoding
|
|||||||
{
|
{
|
||||||
AuStreamReadWrittenPair_t ret {};
|
AuStreamReadWrittenPair_t ret {};
|
||||||
|
|
||||||
|
#if defined(AU_HAS_MSFT_NATIONALLANGSUPPORT)
|
||||||
switch (page)
|
switch (page)
|
||||||
{
|
{
|
||||||
default:
|
default:
|
||||||
@ -174,6 +183,7 @@ namespace Aurora::Locale::Encoding
|
|||||||
ret = Win32ConvertFromUTF16ToUTF8(in, length, utf8, utf8Max);
|
ret = Win32ConvertFromUTF16ToUTF8(in, length, utf8, utf8Max);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
@ -182,6 +192,7 @@ namespace Aurora::Locale::Encoding
|
|||||||
{
|
{
|
||||||
AuStreamReadWrittenPair_t ret {};
|
AuStreamReadWrittenPair_t ret {};
|
||||||
|
|
||||||
|
#if defined(AU_HAS_MSFT_NATIONALLANGSUPPORT)
|
||||||
switch (page)
|
switch (page)
|
||||||
{
|
{
|
||||||
default:
|
default:
|
||||||
@ -212,6 +223,7 @@ namespace Aurora::Locale::Encoding
|
|||||||
ret = Win32ConvertFromUTF16ToUTF8(in, length, utf8, utf8Max);
|
ret = Win32ConvertFromUTF16ToUTF8(in, length, utf8, utf8Max);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
@ -220,6 +232,7 @@ namespace Aurora::Locale::Encoding
|
|||||||
{
|
{
|
||||||
AuStreamReadWrittenPair_t ret {};
|
AuStreamReadWrittenPair_t ret {};
|
||||||
|
|
||||||
|
#if defined(AU_HAS_MSFT_NATIONALLANGSUPPORT)
|
||||||
switch (page)
|
switch (page)
|
||||||
{
|
{
|
||||||
default:
|
default:
|
||||||
@ -249,6 +262,7 @@ namespace Aurora::Locale::Encoding
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#endif
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -5,6 +5,7 @@
|
|||||||
Date: 2021-6-11
|
Date: 2021-6-11
|
||||||
Author: Reece
|
Author: Reece
|
||||||
***/
|
***/
|
||||||
|
#define I_REALLY_NEED_WIDECHAR_PUBAPI
|
||||||
#include <Source/RuntimeInternal.hpp>
|
#include <Source/RuntimeInternal.hpp>
|
||||||
#include "Locale.hpp"
|
#include "Locale.hpp"
|
||||||
|
|
||||||
@ -222,7 +223,7 @@ namespace Aurora::Locale
|
|||||||
auto parseTable = ParseLocaleString(locale);
|
auto parseTable = ParseLocaleString(locale);
|
||||||
|
|
||||||
AuString *lc;
|
AuString *lc;
|
||||||
if ((TryFind(parseTable, '!', lc)) && (lc->size()))
|
if ((AuTryFind(parseTable, '!', lc)) && (lc->size()))
|
||||||
{
|
{
|
||||||
gLanguageCode = *lc;
|
gLanguageCode = *lc;
|
||||||
}
|
}
|
||||||
@ -234,7 +235,7 @@ namespace Aurora::Locale
|
|||||||
}
|
}
|
||||||
|
|
||||||
AuString *cc;
|
AuString *cc;
|
||||||
if ((TryFind(parseTable, '_', cc)) && (cc->size()))
|
if ((AuTryFind(parseTable, '_', cc)) && (cc->size()))
|
||||||
{
|
{
|
||||||
gCountryCode = *cc;
|
gCountryCode = *cc;
|
||||||
}
|
}
|
||||||
@ -244,7 +245,7 @@ namespace Aurora::Locale
|
|||||||
}
|
}
|
||||||
|
|
||||||
AuString *cs;
|
AuString *cs;
|
||||||
if ((TryFind(parseTable, '.', cs)) && (cs->size()))
|
if ((AuTryFind(parseTable, '.', cs)) && (cs->size()))
|
||||||
{
|
{
|
||||||
gCodeset = *cs;
|
gCodeset = *cs;
|
||||||
}
|
}
|
||||||
|
@ -7,6 +7,8 @@
|
|||||||
***/
|
***/
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
|
#define I_REALLY_NEED_WIDECHAR_PUBAPI
|
||||||
|
|
||||||
#if defined (VENDOR_GENERIC_MICROSOFT) || defined(VENDOR_CONSOLE_MICROSOFT)
|
#if defined (VENDOR_GENERIC_MICROSOFT) || defined(VENDOR_CONSOLE_MICROSOFT)
|
||||||
// https://docs.microsoft.com/en-us/gaming/gdk/_content/gc/system/overviews/localization/supported_nls_apis
|
// https://docs.microsoft.com/en-us/gaming/gdk/_content/gc/system/overviews/localization/supported_nls_apis
|
||||||
#define AU_HAS_MSFT_NATIONALLANGSUPPORT
|
#define AU_HAS_MSFT_NATIONALLANGSUPPORT
|
||||||
|
@ -11,20 +11,38 @@
|
|||||||
|
|
||||||
#include <unistd.h>
|
#include <unistd.h>
|
||||||
#include <sys/syscall.h>
|
#include <sys/syscall.h>
|
||||||
|
#include <sys/types.h>
|
||||||
|
|
||||||
|
#include <Source/Threading/Primitives/Semaphore.Unix.hpp>
|
||||||
|
|
||||||
|
static inline int sys_pidfd_send_signal(int pidfd, int sig, siginfo_t *info,
|
||||||
|
unsigned int flags)
|
||||||
|
{
|
||||||
|
return syscall(__NR_pidfd_send_signal, pidfd, sig, info, flags);
|
||||||
|
}
|
||||||
|
|
||||||
|
static inline int sys_pidfd_open(pid_t pid, unsigned int flags)
|
||||||
|
{
|
||||||
|
return syscall(__NR_pidfd_open, pid, flags);
|
||||||
|
}
|
||||||
|
|
||||||
|
#ifndef P_PIDFD
|
||||||
|
#define P_PIDFD 3
|
||||||
|
#endif
|
||||||
|
|
||||||
namespace Aurora::Processes
|
namespace Aurora::Processes
|
||||||
{
|
{
|
||||||
class ProcessImpl : public IProcess
|
class ProcessImpl : public IProcess
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
ProcessImpl(AuString cmd, AuList<AuString> args) : module_(cmd), args_(args);
|
ProcessImpl(AuString cmd, AuList<AuString> args);
|
||||||
~ProcessImpl();
|
~ProcessImpl();
|
||||||
|
|
||||||
void ShutdownPipes();
|
void ShutdownPipes();
|
||||||
|
|
||||||
bool TryKill() override;
|
bool TryKill() override;
|
||||||
bool Terminate() override;
|
bool Terminate() override;
|
||||||
Aurora::Threading::IWaitable *AsWaitable() override;
|
AuSPtr<Aurora::Threading::IWaitable> AsWaitable() override;
|
||||||
|
|
||||||
AuSInt GetExitCode() override;
|
AuSInt GetExitCode() override;
|
||||||
|
|
||||||
@ -57,7 +75,7 @@ namespace Aurora::Processes
|
|||||||
{
|
{
|
||||||
this->args_.insert(this->args_.begin(), cmd);
|
this->args_.insert(this->args_.begin(), cmd);
|
||||||
|
|
||||||
for (const auto &arg : this->args_)
|
for (auto &arg : this->args_)
|
||||||
{
|
{
|
||||||
this->cargs_.push_back(arg.c_str());
|
this->cargs_.push_back(arg.c_str());
|
||||||
this->windows_ += arg + " ";
|
this->windows_ += arg + " ";
|
||||||
@ -124,7 +142,7 @@ namespace Aurora::Processes
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
Aurora::Threading::IWaitable *ProcessImpl::AsWaitable()
|
AuSPtr<Aurora::Threading::IWaitable> ProcessImpl::AsWaitable()
|
||||||
{
|
{
|
||||||
if (!this->thread_) return nullptr;
|
if (!this->thread_) return nullptr;
|
||||||
return this->thread_->AsWaitable();
|
return this->thread_->AsWaitable();
|
||||||
@ -143,10 +161,13 @@ namespace Aurora::Processes
|
|||||||
|
|
||||||
bool ProcessImpl::Read(bool error, void *buffer, AuUInt32 &len)
|
bool ProcessImpl::Read(bool error, void *buffer, AuUInt32 &len)
|
||||||
{
|
{
|
||||||
|
len = 0;
|
||||||
auto handle = error ? pipeStdErr_[0] : pipeStdOut_[0];
|
auto handle = error ? pipeStdErr_[0] : pipeStdOut_[0];
|
||||||
if (handle < 0) return false;
|
if (handle < 0) return false;
|
||||||
len = read(handle, buffer, len);
|
auto tmp = read(handle, buffer, len);
|
||||||
return ret;
|
if (tmp < 0) return false;
|
||||||
|
len = tmp;
|
||||||
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool ProcessImpl::Write(const void *buffer, AuUInt32 len)
|
bool ProcessImpl::Write(const void *buffer, AuUInt32 len)
|
||||||
@ -163,7 +184,7 @@ namespace Aurora::Processes
|
|||||||
|
|
||||||
if (type == ESpawnType::eSpawnAtomicOvermap)
|
if (type == ESpawnType::eSpawnAtomicOvermap)
|
||||||
{
|
{
|
||||||
execv(this->module_.c_str(), this->cargs_.data());
|
execv(this->module_.c_str(), (char *const *)this->cargs_.data()); // https://pubs.opengroup.org/onlinepubs/9699919799/functions/exec.html
|
||||||
SysPushErrorGen("execv didn't overwrite the process map, given {} ({})", this->module_, this->windows_);
|
SysPushErrorGen("execv didn't overwrite the process map, given {} ({})", this->module_, this->windows_);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
@ -196,7 +217,7 @@ namespace Aurora::Processes
|
|||||||
|
|
||||||
pid_t pid;
|
pid_t pid;
|
||||||
{
|
{
|
||||||
Semaphore semaphore;
|
Threading::Primitives::Semaphore semaphore;
|
||||||
pid = fork();
|
pid = fork();
|
||||||
if (pid == 0)
|
if (pid == 0)
|
||||||
{
|
{
|
||||||
@ -220,12 +241,12 @@ namespace Aurora::Processes
|
|||||||
close(std::exchange(pipeStdOut_[1], 0));
|
close(std::exchange(pipeStdOut_[1], 0));
|
||||||
}
|
}
|
||||||
|
|
||||||
if (type != ESpawnType::eSpawnSubProcessWorker)
|
if (type != ESpawnType::eSpawnChildProcessWorker)
|
||||||
{
|
{
|
||||||
setsid();
|
setsid();
|
||||||
}
|
}
|
||||||
|
|
||||||
execv(this->module_.c_str(), this->cargs_.data());
|
execv(this->module_.c_str(), (char * const *)this->cargs_.data()); // https://pubs.opengroup.org/onlinepubs/9699919799/functions/exec.html
|
||||||
SysPushErrorGen("execv didn't overwrite the process map, given {} ({})", this->module_, this->windows_);
|
SysPushErrorGen("execv didn't overwrite the process map, given {} ({})", this->module_, this->windows_);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
@ -235,8 +256,8 @@ namespace Aurora::Processes
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
this->handle_ = pidfd_open(pid, 0);
|
this->handle_ = sys_pidfd_open(pid, 0);
|
||||||
semaphore.unlock();
|
semaphore.Unlock();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -36,11 +36,16 @@
|
|||||||
#define AURORA_HAS_PTHREADS
|
#define AURORA_HAS_PTHREADS
|
||||||
|
|
||||||
#define _FILE_OFFSET_BITS 64
|
#define _FILE_OFFSET_BITS 64
|
||||||
|
#if !defined(_LARGEFILE64_SOURCE)
|
||||||
#define _LARGEFILE64_SOURCE
|
#define _LARGEFILE64_SOURCE
|
||||||
|
#endif
|
||||||
|
|
||||||
#include <pthread.h>
|
#include <pthread.h>
|
||||||
|
#include <signal.h>
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
|
#include <unistd.h>
|
||||||
|
|
||||||
|
#define stricmp strcasecmp
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#include <AuroraRuntime.hpp>
|
#include <AuroraRuntime.hpp>
|
||||||
|
@ -7,6 +7,7 @@
|
|||||||
***/
|
***/
|
||||||
#include <Source/RuntimeInternal.hpp>
|
#include <Source/RuntimeInternal.hpp>
|
||||||
#include "ConditionVariable.Generic.hpp"
|
#include "ConditionVariable.Generic.hpp"
|
||||||
|
#include <Source/Time/Time.hpp>
|
||||||
|
|
||||||
#if !defined(_AURUNTIME_GENERICCV)
|
#if !defined(_AURUNTIME_GENERICCV)
|
||||||
|
|
||||||
@ -30,7 +31,7 @@ namespace Aurora::Threading::Primitives
|
|||||||
|
|
||||||
bool ConditionVariableImpl::WaitForSignal(AuUInt32 timeout)
|
bool ConditionVariableImpl::WaitForSignal(AuUInt32 timeout)
|
||||||
{
|
{
|
||||||
auto mutex = reinterpret_cast<pthread_mutex_t>(mutex_->GetOSHandle());
|
auto mutex = reinterpret_cast<pthread_mutex_t*>(mutex_->GetOSHandle());
|
||||||
|
|
||||||
if (timeout == 0)
|
if (timeout == 0)
|
||||||
{
|
{
|
||||||
@ -42,7 +43,7 @@ namespace Aurora::Threading::Primitives
|
|||||||
else
|
else
|
||||||
{
|
{
|
||||||
struct timespec tspec;
|
struct timespec tspec;
|
||||||
ms2ts(&tspec, timeout);
|
Time::ms2ts(&tspec, timeout);
|
||||||
|
|
||||||
auto ret = pthread_cond_timedwait(&pthreadCv_, mutex, &tspec);
|
auto ret = pthread_cond_timedwait(&pthreadCv_, mutex, &tspec);
|
||||||
|
|
||||||
|
@ -60,7 +60,7 @@ namespace Aurora::Threading::Primitives
|
|||||||
else
|
else
|
||||||
{
|
{
|
||||||
struct timespec tspec;
|
struct timespec tspec;
|
||||||
ms2ts(&tspec, timeout);
|
Time::ms2ts(&tspec, timeout);
|
||||||
|
|
||||||
auto ret = pthread_mutex_timedlock(&value_, &tspec);
|
auto ret = pthread_mutex_timedlock(&value_, &tspec);
|
||||||
if (ret != 0)
|
if (ret != 0)
|
||||||
|
@ -10,6 +10,45 @@
|
|||||||
|
|
||||||
namespace Aurora::Threading::Primitives
|
namespace Aurora::Threading::Primitives
|
||||||
{
|
{
|
||||||
|
template<bool isread>
|
||||||
|
void RWLockAccessView<isread>::Unlock()
|
||||||
|
{
|
||||||
|
if constexpr (isread)
|
||||||
|
{
|
||||||
|
parent_.UnlockRead();
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
parent_.UnlockWrite();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
template<bool isread>
|
||||||
|
bool RWLockAccessView<isread>::Lock(AuUInt64 timeout)
|
||||||
|
{
|
||||||
|
if constexpr (isread)
|
||||||
|
{
|
||||||
|
return parent_.LockRead(timeout);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
return parent_.LockWrite(timeout);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
template<bool isread>
|
||||||
|
bool RWLockAccessView<isread>::TryLock()
|
||||||
|
{
|
||||||
|
if constexpr (isread)
|
||||||
|
{
|
||||||
|
return parent_.TryLockRead();
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
return parent_.TryLockWrite();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
RWLockImpl::RWLockImpl() : read_(*this), write_(*this)
|
RWLockImpl::RWLockImpl() : read_(*this), write_(*this)
|
||||||
{
|
{
|
||||||
|
|
||||||
|
@ -20,29 +20,9 @@ namespace Aurora::Threading::Primitives
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
bool Lock(AuUInt64 timeout) override
|
bool Lock(AuUInt64 timeout) override;
|
||||||
{
|
|
||||||
if constexpr (isread)
|
|
||||||
{
|
|
||||||
return parent_.LockRead(timeout);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
return parent_.LockWrite(timeout);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
bool TryLock() override
|
bool TryLock() override;
|
||||||
{
|
|
||||||
if constexpr (isread)
|
|
||||||
{
|
|
||||||
return parent_.TryLockRead();
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
return parent_.TryLockWrite();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
bool HasOSHandle(AuMach &mach) override
|
bool HasOSHandle(AuMach &mach) override
|
||||||
{
|
{
|
||||||
@ -59,17 +39,7 @@ namespace Aurora::Threading::Primitives
|
|||||||
SysAssert(Lock(0));
|
SysAssert(Lock(0));
|
||||||
}
|
}
|
||||||
|
|
||||||
void Unlock() override
|
void Unlock() override;
|
||||||
{
|
|
||||||
if constexpr (isread)
|
|
||||||
{
|
|
||||||
parent_.UnlockRead();
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
parent_.UnlockWrite();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
private:
|
private:
|
||||||
RWLockImpl &parent_;
|
RWLockImpl &parent_;
|
||||||
|
@ -28,7 +28,7 @@ namespace Aurora::Threading::Primitives
|
|||||||
|
|
||||||
bool Semaphore::HasOSHandle(AuMach &mach)
|
bool Semaphore::HasOSHandle(AuMach &mach)
|
||||||
{
|
{
|
||||||
mach = reinterpret_cast<AuMach>(value_);
|
mach = reinterpret_cast<AuMach>(&value_);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -39,7 +39,7 @@ namespace Aurora::Threading::Primitives
|
|||||||
|
|
||||||
bool Semaphore::TryLock()
|
bool Semaphore::TryLock()
|
||||||
{
|
{
|
||||||
return sem_trywait(&_value) == 0;
|
return sem_trywait(&value_) == 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool Semaphore::Lock(AuUInt64 timeout)
|
bool Semaphore::Lock(AuUInt64 timeout)
|
||||||
@ -53,7 +53,7 @@ namespace Aurora::Threading::Primitives
|
|||||||
else
|
else
|
||||||
{
|
{
|
||||||
struct timespec tspec;
|
struct timespec tspec;
|
||||||
ms2ts(&tspec, timeout);
|
Time::ms2ts(&tspec, timeout);
|
||||||
|
|
||||||
auto ret = sem_timedwait(&value_, &tspec);
|
auto ret = sem_timedwait(&value_, &tspec);
|
||||||
if (ret != 0)
|
if (ret != 0)
|
||||||
|
@ -401,7 +401,7 @@ namespace Aurora::Threading::Threads
|
|||||||
|
|
||||||
#elif defined(AURORA_HAS_PTHREADS)
|
#elif defined(AURORA_HAS_PTHREADS)
|
||||||
|
|
||||||
pthread_setname_np(_handle, name_.c_str());
|
pthread_setname_np(handle_, name_.c_str());
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
@ -517,7 +517,7 @@ namespace Aurora::Threading::Threads
|
|||||||
|
|
||||||
if (auto tid = unixThreadId_)
|
if (auto tid = unixThreadId_)
|
||||||
{
|
{
|
||||||
setpriority(PRIO_PROCESS, tid, val);
|
setpriority(PRIO_PROCESS, tid, *val);
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
@ -52,9 +52,9 @@ namespace Aurora::Threading::Threads
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
#if defined(AURORA_COMPILER_MSVC)
|
#if defined(AURORA_COMPILER_MSVC) || defined(AURORA_COMPILER_CLANG)
|
||||||
#define DEFINE_SPEEDY_TLS(type, name) static thread_local type name;
|
#define DEFINE_SPEEDY_TLS(type, name) static thread_local type name;
|
||||||
#elif defined(AURORA_COMPILER_CLANG) || defined(AURORA_COMPILER_GCC)
|
#elif defined(AURORA_COMPILER_GCC)
|
||||||
#define DEFINE_SPEEDY_TLS(type, name) __thread type name __attribute__((tls_model("initial-exec")));
|
#define DEFINE_SPEEDY_TLS(type, name) __thread type name __attribute__((tls_model("initial-exec")));
|
||||||
#else
|
#else
|
||||||
#define DEFINE_SPEEDY_TLS(type, name) static thread_local type name;
|
#define DEFINE_SPEEDY_TLS(type, name) static thread_local type name;
|
||||||
|
@ -57,7 +57,7 @@ static inline T DecodeEpoch(T auroraEpoch)
|
|||||||
template<typename Clock_t, typename Duration_t>
|
template<typename Clock_t, typename Duration_t>
|
||||||
static auto TimeFromDurationSinceEpoch(Duration_t in)
|
static auto TimeFromDurationSinceEpoch(Duration_t in)
|
||||||
{
|
{
|
||||||
auto duration = std::chrono::duration_cast<Clock_t::duration>(in);
|
auto duration = std::chrono::duration_cast<typename Clock_t::duration>(in);
|
||||||
return std::chrono::time_point<Clock_t>(DecodeEpoch(duration));
|
return std::chrono::time_point<Clock_t>(DecodeEpoch(duration));
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -99,6 +99,11 @@ namespace Aurora::Time
|
|||||||
return std::chrono::duration_cast<std::chrono::nanoseconds>(NormalizeEpoch(sys_clock::now().time_since_epoch())).count();
|
return std::chrono::duration_cast<std::chrono::nanoseconds>(NormalizeEpoch(sys_clock::now().time_since_epoch())).count();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
AUKN_SYM AuInt64 CTimeToMS(time_t time)
|
||||||
|
{
|
||||||
|
return std::chrono::duration_cast<std::chrono::milliseconds>(NormalizeEpoch(sys_clock::from_time_t(time).time_since_epoch())).count();
|
||||||
|
}
|
||||||
|
|
||||||
AUKN_SYM AuUInt64 CurrentInternalClock()
|
AUKN_SYM AuUInt64 CurrentInternalClock()
|
||||||
{
|
{
|
||||||
return high_res_clock::now().time_since_epoch().count();
|
return high_res_clock::now().time_since_epoch().count();
|
||||||
@ -194,7 +199,11 @@ namespace Aurora::Time
|
|||||||
auto timet = MSToCTime(time);
|
auto timet = MSToCTime(time);
|
||||||
if (UTC)
|
if (UTC)
|
||||||
{
|
{
|
||||||
|
#if defined(AURORA_COMPILER_MSVC)
|
||||||
auto tm = gmtime_s(&ret, &timet);
|
auto tm = gmtime_s(&ret, &timet);
|
||||||
|
#else
|
||||||
|
auto tm = gmtime_r(&timet, &ret);
|
||||||
|
#endif
|
||||||
#if defined(AURORA_COMPILER_MSVC)
|
#if defined(AURORA_COMPILER_MSVC)
|
||||||
SysAssert(!tm, "couldn't convert civil time");
|
SysAssert(!tm, "couldn't convert civil time");
|
||||||
#else
|
#else
|
||||||
@ -211,7 +220,11 @@ namespace Aurora::Time
|
|||||||
#endif
|
#endif
|
||||||
{
|
{
|
||||||
LogWarn("Couldn't convert local civil time");
|
LogWarn("Couldn't convert local civil time");
|
||||||
|
#if defined(AURORA_COMPILER_MSVC)
|
||||||
auto tm = gmtime_s(&ret, &timet);
|
auto tm = gmtime_s(&ret, &timet);
|
||||||
|
#else
|
||||||
|
auto tm = gmtime_r(&timet, &ret);
|
||||||
|
#endif
|
||||||
|
|
||||||
#if defined(AURORA_COMPILER_MSVC)
|
#if defined(AURORA_COMPILER_MSVC)
|
||||||
SysAssert(!tm, "couldn't convert civil time");
|
SysAssert(!tm, "couldn't convert civil time");
|
||||||
|
Loading…
Reference in New Issue
Block a user