diff --git a/Include/Aurora/Async/Async.hpp b/Include/Aurora/Async/Async.hpp index 505aafd3..f59fd712 100644 --- a/Include/Aurora/Async/Async.hpp +++ b/Include/Aurora/Async/Async.hpp @@ -255,7 +255,7 @@ namespace Aurora::Async std::function callback; std::function shutdown; - BasicWorkStdFunc(std::function &&callback, std::function &&error) : callback(std::move(callback)), shutdown(std::move(shutdown)) + BasicWorkStdFunc(std::function &&callback, std::function &&error) : callback(std::move(callback)), shutdown(std::move(error)) {} BasicWorkStdFunc(std::function &&callback) : callback(std::move(callback)) @@ -516,8 +516,8 @@ namespace Aurora::Async } }; - #define ASYNC_ERROR(exp) if constexpr (std::is_same_v) { SysPushErrorGen(exp); return {}; } else { throw std::string(exp); } - #define ASYNC_FINISH if constexpr (std::is_same_v) { return true; } + #define ASYNC_ERROR(exp) { if constexpr (std::is_same_v) { SysPushErrorGen(exp); return {}; } else { throw std::string(exp); } } + #define ASYNC_FINISH { if constexpr (std::is_same_v) { return true; } } template || std::is_void::value)> static std::function TranslateAsyncFunctionToDispatcherWithThread(WorkerId_t id, std::function func) @@ -587,4 +587,4 @@ namespace Aurora::Async #endif #pragma endregion EASE_OF_READING -} \ No newline at end of file +} diff --git a/Include/Aurora/Data/Data.hpp b/Include/Aurora/Data/Data.hpp index dacc14fc..2ad39c2e 100644 --- a/Include/Aurora/Data/Data.hpp +++ b/Include/Aurora/Data/Data.hpp @@ -121,7 +121,7 @@ namespace Aurora::Data case DataType::kTypeStructInt32: return 4; case DataType::kTypeStructUInt64: return 8; case DataType::kTypeStructInt64: return 8; - default: static_assert(false, "invalid datatype"); + default: return 0;//static_assert(false, "invalid datatype"); } } @@ -146,4 +146,4 @@ namespace Aurora::Data } } #endif -} \ No newline at end of file +} diff --git a/Include/Aurora/Debug/SysErrors.hpp b/Include/Aurora/Debug/SysErrors.hpp index e0cf635a..a6205bf8 100644 --- a/Include/Aurora/Debug/SysErrors.hpp +++ b/Include/Aurora/Debug/SysErrors.hpp @@ -22,8 +22,10 @@ namespace Aurora::Debug #if defined(AURORA_COMPILER_MSVC) #pragma optimize("", off) #define _FREECOMPILER_OPTIMIZE_OFF + #elif defined(AURORA_COMPILER_CLANG) + #define _FREECOMPILER_OPTIMIZE_OFF __attribute__((optnone)) #else - #define _FREECOMPILER_OPTIMIZE_OFF [[gnu::optimize(0)]] + #define _FREECOMPILER_OPTIMIZE_OFF __attribute__((optimize("0"))) #endif static AU_NOINLINE void ErrorMakeNested() _FREECOMPILER_OPTIMIZE_OFF @@ -168,4 +170,4 @@ namespace Aurora::Debug #define SysPushErrorDisconnectedDbg(...) #define SysPushErrorUninitializedDbg(...) -#endif \ No newline at end of file +#endif diff --git a/Include/Aurora/Memory/Heap.hpp b/Include/Aurora/Memory/Heap.hpp index 6e99fd16..1a759e8a 100644 --- a/Include/Aurora/Memory/Heap.hpp +++ b/Include/Aurora/Memory/Heap.hpp @@ -72,13 +72,13 @@ namespace Aurora::Memory template T FRealloc(T in, Types::size_t length) { - return reinterpret_cast(_SRealloc(reinterpret_cast(in), length)); + return reinterpret_cast(_FRealloc(reinterpret_cast(in), length)); } template T FRealloc(T in, Types::size_t length, Types::size_t alloc) { - return reinterpret_cast(_SRealloc(reinterpret_cast(in), length), alloc); + return reinterpret_cast(_FRealloc(reinterpret_cast(in), length), alloc); } template @@ -136,4 +136,4 @@ namespace Aurora::Memory @return a heap backed by allocated memory */ AUKN_SHARED_API(AllocHeap, Heap, AuUInt size); -} \ No newline at end of file +} diff --git a/Include/Aurora/Memory/Memory.hpp b/Include/Aurora/Memory/Memory.hpp index 78ffa98f..00f6e0a6 100644 --- a/Include/Aurora/Memory/Memory.hpp +++ b/Include/Aurora/Memory/Memory.hpp @@ -38,14 +38,14 @@ namespace Aurora::Memory template T ZAlloc(Types::size_t length) { - static_assert(!std::is_class::type>::value, "Do not use heap/kmem apis with classes"); + static_assert(!std::is_class::type>::value, "Do not use heap/kmem apis with classes"); return reinterpret_cast(_ZAlloc(length)); } template T ZAlloc(Types::size_t length, Types::size_t align) { - static_assert(!std::is_class::type>::value, "Do not use heap/kmem apis with classes"); + static_assert(!std::is_class::type>::value, "Do not use heap/kmem apis with classes"); return reinterpret_cast(_ZAlloc(length, align)); } @@ -66,7 +66,7 @@ namespace Aurora::Memory template AuSPtr AllocateFastArray(Types::size_t length, Types::size_t align = sizeof(T)) { - static_assert(!std::is_class::type>::value, "Do not use heap/kmem apis with classes"); + static_assert(!std::is_class::type>::value, "Do not use heap/kmem apis with classes"); return AuSPtr(reinterpret_cast(_FAlloc(length)), [](T *ptr) { _Free(ptr); @@ -102,14 +102,14 @@ namespace Aurora::Memory template T FAlloc(Types::size_t length) { - static_assert(!std::is_class::type>::value, "Do not use heap/kmem apis with classes"); + static_assert(!std::is_class::type>::value, "Do not use heap/kmem apis with classes"); return reinterpret_cast(_FAlloc(length)); } template T FAlloc(Types::size_t length, Types::size_t align) { - static_assert(!std::is_class::type>::value, "Do not use heap/kmem apis with classes"); + static_assert(!std::is_class::type>::value, "Do not use heap/kmem apis with classes"); return reinterpret_cast(_FAlloc(length, align)); } @@ -146,4 +146,4 @@ namespace Aurora::Memory } #include "Array.hpp" -#include "ByteBuffer.hpp" \ No newline at end of file +#include "ByteBuffer.hpp" diff --git a/Include/Aurora/Memory/MemoryView.hpp b/Include/Aurora/Memory/MemoryView.hpp index 0e87ee89..49048c07 100644 --- a/Include/Aurora/Memory/MemoryView.hpp +++ b/Include/Aurora/Memory/MemoryView.hpp @@ -39,7 +39,7 @@ namespace Aurora::Memory MemoryView(T &list) { 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) @@ -173,4 +173,4 @@ namespace Aurora::Memory using MemoryViewStreamRead = MemoryViewStream; using MemoryViewStreamWrite = MemoryViewStream; -} \ No newline at end of file +} diff --git a/Include/Aurora/Time/Clock.hpp b/Include/Aurora/Time/Clock.hpp index 91cd3af3..d3364e71 100644 --- a/Include/Aurora/Time/Clock.hpp +++ b/Include/Aurora/Time/Clock.hpp @@ -29,6 +29,8 @@ namespace Aurora::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 similar to or of std::tm @@ -111,4 +113,4 @@ namespace Aurora::Time Retrieves the freqency of jiffies per second */ AUKN_SYM AuUInt64 ClockJiffies(); -} \ No newline at end of file +} diff --git a/Include/AuroraUtils.hpp b/Include/AuroraUtils.hpp index 11476556..8fabb5a1 100644 --- a/Include/AuroraUtils.hpp +++ b/Include/AuroraUtils.hpp @@ -72,7 +72,7 @@ static inline void __declspec(noreturn) SysPanic(T... args); template static void inline SafeDelete(T *in) { - static_assert(std::is_base_of::type>::value, "Couldn't not safe delete from type T because it is not derived from Z"); + static_assert(std::is_base_of::type>::value, "Couldn't not safe delete from type T because it is not derived from Z"); auto cast = dynamic_cast(in); if (cast == nullptr) { @@ -87,7 +87,7 @@ static void inline SafeDelete(T *in) template static void inline SafeDelete(T *in) { - static_assert(std::is_base_of::type>::value, "Couldn't not safe delete from type T because it is not derived from Z"); + static_assert(std::is_base_of::type>::value, "Couldn't not safe delete from type T because it is not derived from Z"); delete static_cast(in); } diff --git a/Makefile b/Makefile new file mode 100644 index 00000000..602f43ab --- /dev/null +++ b/Makefile @@ -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 \ No newline at end of file diff --git a/Source/Console/ConsoleStd/ConsoleStd.cpp b/Source/Console/ConsoleStd/ConsoleStd.cpp index 39517bc1..9c33636b 100644 --- a/Source/Console/ConsoleStd/ConsoleStd.cpp +++ b/Source/Console/ConsoleStd/ConsoleStd.cpp @@ -112,7 +112,7 @@ namespace Aurora::Console::ConsoleStd { AuString slow; slow.resize(writeLine.size() * 4); - auto len = Locale::Encoding::EncodeUTF8(writeLine, reinterpret_cast(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) { WriteStdOut(slow.data(), len.second); @@ -534,4 +534,4 @@ namespace Aurora::Console::ConsoleStd { } #endif -} \ No newline at end of file +} diff --git a/Source/Crypto/ECC/ECCX25519.cpp b/Source/Crypto/ECC/ECCX25519.cpp index fba431c0..0b28f55c 100644 --- a/Source/Crypto/ECC/ECCX25519.cpp +++ b/Source/Crypto/ECC/ECCX25519.cpp @@ -7,9 +7,9 @@ ***/ #include #include "ECC.hpp" -#include "ECCx25519.hpp" +//#include "ECCx25519.hpp" namespace Aurora::Crypto::ECC { -} \ No newline at end of file +} diff --git a/Source/Debug/Panic.cpp b/Source/Debug/Panic.cpp index 6a13914e..eec377b5 100644 --- a/Source/Debug/Panic.cpp +++ b/Source/Debug/Panic.cpp @@ -8,7 +8,7 @@ #include #include "Debug.hpp" #include "Panic.hpp" -#include +//#include #include namespace Aurora::Debug @@ -26,7 +26,7 @@ namespace Aurora::Debug #elif defined(DEBUG) #if defined(AURORA_COMPILER_MSVC) __debugbreak(); - #elif defined(__has_builtin) && __has_builtin(__builtin_debugtrap)) + #elif (defined(__has_builtin) && __has_builtin(__builtin_debugtrap)) __builtin_debugtrap(); #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? @@ -92,4 +92,4 @@ namespace Aurora::Debug #endif #endif } -} \ No newline at end of file +} diff --git a/Source/HWInfo/CpuInfo.cpp b/Source/HWInfo/CpuInfo.cpp index 4b2f8200..6abf868e 100644 --- a/Source/HWInfo/CpuInfo.cpp +++ b/Source/HWInfo/CpuInfo.cpp @@ -19,6 +19,10 @@ #include #endif +#if defined(AURORA_COMPILER_CLANG) || defined(AURORA_IS_POSIX_DERIVED) + #include +#endif + namespace Aurora::HWInfo { static CpuInfo gCpuInfo; @@ -459,7 +463,7 @@ namespace Aurora::HWInfo gCpuInfo.socket = 1; gCpuInfo.cores = 1; - gCpuInfo.threads = get_nprocs(void); + gCpuInfo.threads = get_nprocs(); #elif defined(AURORA_IS_POSIX_DERIVED) @@ -476,4 +480,4 @@ namespace Aurora::HWInfo SetCpuId(); SetCpuTopology(); } -} \ No newline at end of file +} diff --git a/Source/HWInfo/RamInfo.cpp b/Source/HWInfo/RamInfo.cpp index 98d5331c..64872d93 100644 --- a/Source/HWInfo/RamInfo.cpp +++ b/Source/HWInfo/RamInfo.cpp @@ -19,6 +19,7 @@ #if defined(AURORA_IS_LINUX_DERIVED) #include + #include #endif #if defined(AURORA_IS_MODERNNT_DERIVED) @@ -124,4 +125,4 @@ namespace Aurora::HWInfo { gMemStartup = GetMemStatSystem(); } -} \ No newline at end of file +} diff --git a/Source/IO/FS/FS.Unix.cpp b/Source/IO/FS/FS.Unix.cpp index e3221069..c86a6075 100644 --- a/Source/IO/FS/FS.Unix.cpp +++ b/Source/IO/FS/FS.Unix.cpp @@ -17,9 +17,13 @@ #include #include +#if defined(AURORA_IS_LINUX_DERIVED) + #include +#endif + namespace Aurora::IO::FS { - bool _MkDir(const AuString &str) + bool _MkDir(const AuString &path) { return mkdir(path.c_str(), 0760) == 0; } @@ -34,13 +38,27 @@ namespace Aurora::IO::FS 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); 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 &buffer) { auto file = OpenReadUnique(path); @@ -53,7 +71,20 @@ namespace Aurora::IO::FS 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) @@ -85,7 +116,7 @@ namespace Aurora::IO::FS 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) @@ -110,7 +141,7 @@ namespace Aurora::IO::FS struct stat fileinfo = { 0 }; if (fstat(input, &fileinfo) != 0) { - close(input) + close(input); return false; } @@ -178,7 +209,7 @@ namespace Aurora::IO::FS auto path = NormalizePathRet(pathRel); struct stat s; - auto err = stat(path.c_str(), &s); + auto err = ::stat(path.c_str(), &s); if (err == -1) { @@ -202,9 +233,9 @@ namespace Aurora::IO::FS stat.size = s.st_size; - stat.created = ConvertUnixTimespecToMs(s.st_ctime); - stat.modified = ConvertUnixTimespecToMs(s.st_mtime); - stat.accessed = ConvertUnixTimespecToMs(s.st_atime); + stat.created = Time::CTimeToMS(s.st_ctime); + stat.modified = Time::CTimeToMS(s.st_mtime); + stat.accessed = Time::CTimeToMS(s.st_atime); err = lstat(path.c_str(), &s); if (err != -1) @@ -215,4 +246,4 @@ namespace Aurora::IO::FS return true; } } -#endif \ No newline at end of file +#endif diff --git a/Source/IO/FS/FileStream.Generic.cpp b/Source/IO/FS/FileStream.Generic.cpp index 6f217c12..17c4e937 100644 --- a/Source/IO/FS/FileStream.Generic.cpp +++ b/Source/IO/FS/FileStream.Generic.cpp @@ -40,9 +40,9 @@ namespace Aurora::IO::FS try { #if defined(NO_STD_FS) - stream_.open(RetPathHelper(str), std::ios_base::binary) + stream_.open(NormalizePathRet(str), std::ios_base::binary) #else - stream_.open(std::filesystem::u8path(RetPathHelper(str)), std::ios_base::binary); + stream_.open(std::filesystem::u8path(NormalizePathRet(str)), std::ios_base::binary); #endif } catch (...) @@ -236,4 +236,4 @@ namespace Aurora::IO::FS SafeDelete(that); } } -#endif \ No newline at end of file +#endif diff --git a/Source/IO/FS/FileStream.Unix.cpp b/Source/IO/FS/FileStream.Unix.cpp index 5ffb890d..4150f31b 100644 --- a/Source/IO/FS/FileStream.Unix.cpp +++ b/Source/IO/FS/FileStream.Unix.cpp @@ -30,7 +30,7 @@ namespace Aurora::IO::FS auto ret = lseek(fd, offset, whence); #else #error accient 32-bit posix operating systems require 64-bit file awareness - #end + #endif if (ret < 0) { @@ -147,7 +147,7 @@ namespace Aurora::IO::FS return 0; } - return PosixSetOffset(handle_); + return PosixSetOffset(handle_, offset); } AuUInt64 PosixFileStream::GetLength() @@ -179,7 +179,7 @@ namespace Aurora::IO::FS if (!PosixRead(handle_, &reinterpret_cast(parameters.ptr)[offset], blockSize, &read)) { - SysPushErrorNested("File Error: {}", path); + SysPushErrorNested("File Error: {}", path_); break; } @@ -219,14 +219,14 @@ namespace Aurora::IO::FS if (!PosixWrite(handle_, &reinterpret_cast(parameters.ptr)[offset], blockSize, &written)) { - SysPushErrorNested("File Error: {}", path); + SysPushErrorNested("File Error: {}", path_); return false; } if (written != blockSize) { SysPushErrorIO(); - SysPushErrorNested("File Error: {}", path); + SysPushErrorNested("File Error: {}", path_); break; } @@ -307,4 +307,4 @@ namespace Aurora::IO::FS SafeDelete(that); } } -#endif \ No newline at end of file +#endif diff --git a/Source/IO/FS/FileStream.Unix.hpp b/Source/IO/FS/FileStream.Unix.hpp index 2111d22f..4957b2d5 100644 --- a/Source/IO/FS/FileStream.Unix.hpp +++ b/Source/IO/FS/FileStream.Unix.hpp @@ -11,18 +11,18 @@ namespace Aurora::IO::FS { - class PosixStream : public IFileStream + class PosixFileStream : public IFileStream { public: - ~PosixStream(); + ~PosixFileStream(); void Init(int handle, const AuString &path); AuUInt64 GetOffset() override; bool SetOffset(AuUInt64 offset) override; AuUInt64 GetLength() override; - AuUInt64 Read(void *in, AuUInt64 length) override; - AuUInt64 Write(const void *out, AuUInt64 length) override; + bool Read(const Memory::MemoryViewStreamWrite ¶meters) override; + bool Write(const Memory::MemoryViewStreamRead & parameters) override; void Close() override; void Flush() override; @@ -32,4 +32,4 @@ namespace Aurora::IO::FS AuString path_; }; } -#endif \ No newline at end of file +#endif diff --git a/Source/Locale/Encoding/EncoderNSL.cpp b/Source/Locale/Encoding/EncoderNSL.cpp index 6c2018cf..8bac86dd 100644 --- a/Source/Locale/Encoding/EncoderNSL.cpp +++ b/Source/Locale/Encoding/EncoderNSL.cpp @@ -57,12 +57,20 @@ namespace Aurora::Locale::Encoding 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); + #endif } 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); + #endif } AuStreamReadWrittenPair_t Win32ConvertFromUTF16ToUTF8(const void *in, AuUInt32 inLength, void *utf8, AuUInt32 utf8Len) @@ -144,6 +152,7 @@ namespace Aurora::Locale::Encoding { AuStreamReadWrittenPair_t ret {}; + #if defined(AU_HAS_MSFT_NATIONALLANGSUPPORT) switch (page) { default: @@ -174,6 +183,7 @@ namespace Aurora::Locale::Encoding ret = Win32ConvertFromUTF16ToUTF8(in, length, utf8, utf8Max); break; } + #endif return ret; } @@ -182,6 +192,7 @@ namespace Aurora::Locale::Encoding { AuStreamReadWrittenPair_t ret {}; + #if defined(AU_HAS_MSFT_NATIONALLANGSUPPORT) switch (page) { default: @@ -212,6 +223,7 @@ namespace Aurora::Locale::Encoding ret = Win32ConvertFromUTF16ToUTF8(in, length, utf8, utf8Max); break; } + #endif return ret; } @@ -219,7 +231,8 @@ namespace Aurora::Locale::Encoding AuStreamReadWrittenPair_t Win32UTF8ToCp(ECodePage page, const void *utf8, AuUInt32 utf8Length, void *cp, AuUInt32 cpLen) { AuStreamReadWrittenPair_t ret {}; - + + #if defined(AU_HAS_MSFT_NATIONALLANGSUPPORT) switch (page) { default: @@ -249,6 +262,7 @@ namespace Aurora::Locale::Encoding break; } + #endif return ret; } -} \ No newline at end of file +} diff --git a/Source/Locale/Locale.cpp b/Source/Locale/Locale.cpp index 40179296..d9f83d31 100644 --- a/Source/Locale/Locale.cpp +++ b/Source/Locale/Locale.cpp @@ -5,6 +5,7 @@ Date: 2021-6-11 Author: Reece ***/ +#define I_REALLY_NEED_WIDECHAR_PUBAPI #include #include "Locale.hpp" @@ -222,7 +223,7 @@ namespace Aurora::Locale auto parseTable = ParseLocaleString(locale); AuString *lc; - if ((TryFind(parseTable, '!', lc)) && (lc->size())) + if ((AuTryFind(parseTable, '!', lc)) && (lc->size())) { gLanguageCode = *lc; } @@ -234,7 +235,7 @@ namespace Aurora::Locale } AuString *cc; - if ((TryFind(parseTable, '_', cc)) && (cc->size())) + if ((AuTryFind(parseTable, '_', cc)) && (cc->size())) { gCountryCode = *cc; } @@ -244,7 +245,7 @@ namespace Aurora::Locale } AuString *cs; - if ((TryFind(parseTable, '.', cs)) && (cs->size())) + if ((AuTryFind(parseTable, '.', cs)) && (cs->size())) { gCodeset = *cs; } @@ -361,4 +362,4 @@ namespace Aurora::Locale gLockLocale = true; return LocalizationInfo(gLanguageCode, gCountryCode, gCodeset, gInternalCodePage); } -} \ No newline at end of file +} diff --git a/Source/Locale/Locale.hpp b/Source/Locale/Locale.hpp index 2827f3af..470aa523 100644 --- a/Source/Locale/Locale.hpp +++ b/Source/Locale/Locale.hpp @@ -7,6 +7,8 @@ ***/ #pragma once +#define I_REALLY_NEED_WIDECHAR_PUBAPI + #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 #define AU_HAS_MSFT_NATIONALLANGSUPPORT @@ -54,4 +56,4 @@ namespace Aurora::Locale /// bool DecodeStringToUTF8(AuUInt8 *readWriteHead, int length, AuString &decoded, ECodePage guess = ECodePage::eNotRead); } -#include "Encoding/Encoding.hpp" \ No newline at end of file +#include "Encoding/Encoding.hpp" diff --git a/Source/Processes/Process.Linux.cpp b/Source/Processes/Process.Linux.cpp index 2e417b3f..93cdcfcb 100644 --- a/Source/Processes/Process.Linux.cpp +++ b/Source/Processes/Process.Linux.cpp @@ -10,21 +10,39 @@ #include "Process.Linux.hpp" #include -#include +#include +#include + +#include + +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 { class ProcessImpl : public IProcess { public: - ProcessImpl(AuString cmd, AuList args) : module_(cmd), args_(args); + ProcessImpl(AuString cmd, AuList args); ~ProcessImpl(); void ShutdownPipes(); bool TryKill() override; bool Terminate() override; - Aurora::Threading::IWaitable *AsWaitable() override; + AuSPtr AsWaitable() override; AuSInt GetExitCode() override; @@ -57,7 +75,7 @@ namespace Aurora::Processes { 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->windows_ += arg + " "; @@ -124,7 +142,7 @@ namespace Aurora::Processes return true; } - Aurora::Threading::IWaitable *ProcessImpl::AsWaitable() + AuSPtr ProcessImpl::AsWaitable() { if (!this->thread_) return nullptr; return this->thread_->AsWaitable(); @@ -143,10 +161,13 @@ namespace Aurora::Processes bool ProcessImpl::Read(bool error, void *buffer, AuUInt32 &len) { + len = 0; auto handle = error ? pipeStdErr_[0] : pipeStdOut_[0]; if (handle < 0) return false; - len = read(handle, buffer, len); - return ret; + auto tmp = read(handle, buffer, len); + if (tmp < 0) return false; + len = tmp; + return true; } bool ProcessImpl::Write(const void *buffer, AuUInt32 len) @@ -163,7 +184,7 @@ namespace Aurora::Processes 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_); return false; } @@ -196,7 +217,7 @@ namespace Aurora::Processes pid_t pid; { - Semaphore semaphore; + Threading::Primitives::Semaphore semaphore; pid = fork(); if (pid == 0) { @@ -220,12 +241,12 @@ namespace Aurora::Processes close(std::exchange(pipeStdOut_[1], 0)); } - if (type != ESpawnType::eSpawnSubProcessWorker) + if (type != ESpawnType::eSpawnChildProcessWorker) { 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_); return false; } @@ -235,8 +256,8 @@ namespace Aurora::Processes } else { - this->handle_ = pidfd_open(pid, 0); - semaphore.unlock(); + this->handle_ = sys_pidfd_open(pid, 0); + semaphore.Unlock(); } } @@ -272,4 +293,4 @@ namespace Aurora::Processes { SafeDelete(process); } -} \ No newline at end of file +} diff --git a/Source/RuntimeInternal.hpp b/Source/RuntimeInternal.hpp index 80507038..34dfc1a9 100644 --- a/Source/RuntimeInternal.hpp +++ b/Source/RuntimeInternal.hpp @@ -36,11 +36,16 @@ #define AURORA_HAS_PTHREADS #define _FILE_OFFSET_BITS 64 - #define _LARGEFILE64_SOURCE + #if !defined(_LARGEFILE64_SOURCE) + #define _LARGEFILE64_SOURCE + #endif #include - + #include #include + #include + + #define stricmp strcasecmp #endif #include diff --git a/Source/Threading/Primitives/ConditionVariable.Unix.cpp b/Source/Threading/Primitives/ConditionVariable.Unix.cpp index 1bb5bd08..bc61402e 100644 --- a/Source/Threading/Primitives/ConditionVariable.Unix.cpp +++ b/Source/Threading/Primitives/ConditionVariable.Unix.cpp @@ -7,6 +7,7 @@ ***/ #include #include "ConditionVariable.Generic.hpp" +#include #if !defined(_AURUNTIME_GENERICCV) @@ -30,7 +31,7 @@ namespace Aurora::Threading::Primitives bool ConditionVariableImpl::WaitForSignal(AuUInt32 timeout) { - auto mutex = reinterpret_cast(mutex_->GetOSHandle()); + auto mutex = reinterpret_cast(mutex_->GetOSHandle()); if (timeout == 0) { @@ -42,7 +43,7 @@ namespace Aurora::Threading::Primitives else { struct timespec tspec; - ms2ts(&tspec, timeout); + Time::ms2ts(&tspec, timeout); auto ret = pthread_cond_timedwait(&pthreadCv_, mutex, &tspec); @@ -79,4 +80,4 @@ namespace Aurora::Threading::Primitives } } -#endif \ No newline at end of file +#endif diff --git a/Source/Threading/Primitives/Mutex.Unix.cpp b/Source/Threading/Primitives/Mutex.Unix.cpp index cd21c3b1..e585eced 100644 --- a/Source/Threading/Primitives/Mutex.Unix.cpp +++ b/Source/Threading/Primitives/Mutex.Unix.cpp @@ -60,7 +60,7 @@ namespace Aurora::Threading::Primitives else { struct timespec tspec; - ms2ts(&tspec, timeout); + Time::ms2ts(&tspec, timeout); auto ret = pthread_mutex_timedlock(&value_, &tspec); if (ret != 0) @@ -90,4 +90,4 @@ namespace Aurora::Threading::Primitives } } -#endif \ No newline at end of file +#endif diff --git a/Source/Threading/Primitives/RWLock.cpp b/Source/Threading/Primitives/RWLock.cpp index 648fcad5..cb9c5dd8 100644 --- a/Source/Threading/Primitives/RWLock.cpp +++ b/Source/Threading/Primitives/RWLock.cpp @@ -10,6 +10,45 @@ namespace Aurora::Threading::Primitives { + template + void RWLockAccessView::Unlock() + { + if constexpr (isread) + { + parent_.UnlockRead(); + } + else + { + parent_.UnlockWrite(); + } + } + + template + bool RWLockAccessView::Lock(AuUInt64 timeout) + { + if constexpr (isread) + { + return parent_.LockRead(timeout); + } + else + { + return parent_.LockWrite(timeout); + } + } + + template + bool RWLockAccessView::TryLock() + { + if constexpr (isread) + { + return parent_.TryLockRead(); + } + else + { + return parent_.TryLockWrite(); + } + } + RWLockImpl::RWLockImpl() : read_(*this), write_(*this) { @@ -170,4 +209,4 @@ namespace Aurora::Threading::Primitives { SafeDelete(waitable); } -} \ No newline at end of file +} diff --git a/Source/Threading/Primitives/RWLock.hpp b/Source/Threading/Primitives/RWLock.hpp index 8196dab9..59848859 100644 --- a/Source/Threading/Primitives/RWLock.hpp +++ b/Source/Threading/Primitives/RWLock.hpp @@ -20,29 +20,9 @@ namespace Aurora::Threading::Primitives } - bool Lock(AuUInt64 timeout) override - { - if constexpr (isread) - { - return parent_.LockRead(timeout); - } - else - { - return parent_.LockWrite(timeout); - } - } + bool Lock(AuUInt64 timeout) override; - bool TryLock() override - { - if constexpr (isread) - { - return parent_.TryLockRead(); - } - else - { - return parent_.TryLockWrite(); - } - } + bool TryLock() override; bool HasOSHandle(AuMach &mach) override { @@ -59,17 +39,7 @@ namespace Aurora::Threading::Primitives SysAssert(Lock(0)); } - void Unlock() override - { - if constexpr (isread) - { - parent_.UnlockRead(); - } - else - { - parent_.UnlockWrite(); - } - } + void Unlock() override; private: RWLockImpl &parent_; @@ -105,4 +75,4 @@ namespace Aurora::Threading::Primitives std::atomic state_; std::atomic elevaterPending_; }; -} \ No newline at end of file +} diff --git a/Source/Threading/Primitives/Semaphore.Unix.cpp b/Source/Threading/Primitives/Semaphore.Unix.cpp index 722001cd..7c0662ac 100644 --- a/Source/Threading/Primitives/Semaphore.Unix.cpp +++ b/Source/Threading/Primitives/Semaphore.Unix.cpp @@ -28,7 +28,7 @@ namespace Aurora::Threading::Primitives bool Semaphore::HasOSHandle(AuMach &mach) { - mach = reinterpret_cast(value_); + mach = reinterpret_cast(&value_); return true; } @@ -39,7 +39,7 @@ namespace Aurora::Threading::Primitives bool Semaphore::TryLock() { - return sem_trywait(&_value) == 0; + return sem_trywait(&value_) == 0; } bool Semaphore::Lock(AuUInt64 timeout) @@ -53,7 +53,7 @@ namespace Aurora::Threading::Primitives else { struct timespec tspec; - ms2ts(&tspec, timeout); + Time::ms2ts(&tspec, timeout); auto ret = sem_timedwait(&value_, &tspec); if (ret != 0) @@ -96,4 +96,4 @@ namespace Aurora::Threading::Primitives SafeDelete(waitable); } } -#endif \ No newline at end of file +#endif diff --git a/Source/Threading/Threads/OSThread.cpp b/Source/Threading/Threads/OSThread.cpp index 65e8a71a..699d16d0 100644 --- a/Source/Threading/Threads/OSThread.cpp +++ b/Source/Threading/Threads/OSThread.cpp @@ -401,7 +401,7 @@ namespace Aurora::Threading::Threads #elif defined(AURORA_HAS_PTHREADS) - pthread_setname_np(_handle, name_.c_str()); + pthread_setname_np(handle_, name_.c_str()); #endif } @@ -517,7 +517,7 @@ namespace Aurora::Threading::Threads if (auto tid = unixThreadId_) { - setpriority(PRIO_PROCESS, tid, val); + setpriority(PRIO_PROCESS, tid, *val); } #endif } @@ -620,4 +620,4 @@ namespace Aurora::Threading::Threads } #endif } -} \ No newline at end of file +} diff --git a/Source/Threading/Threads/ThreadHandles.cpp b/Source/Threading/Threads/ThreadHandles.cpp index 3ad9c48e..228e722a 100644 --- a/Source/Threading/Threads/ThreadHandles.cpp +++ b/Source/Threading/Threads/ThreadHandles.cpp @@ -52,10 +52,10 @@ 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; -#elif defined(AURORA_COMPILER_CLANG) || defined(AURORA_COMPILER_GCC) - #define DEFINE_SPEEDY_TLS(type, name) __thread type name __attribute__((tls_model("initial-exec"))); +#elif defined(AURORA_COMPILER_GCC) + #define DEFINE_SPEEDY_TLS(type, name) __thread type name __attribute__((tls_model("initial-exec"))); #else #define DEFINE_SPEEDY_TLS(type, name) static thread_local type name; #endif @@ -111,4 +111,4 @@ namespace Aurora::Threading::Threads { return reinterpret_cast(GetThread()); } -} \ No newline at end of file +} diff --git a/Source/Time/Clock.cpp b/Source/Time/Clock.cpp index 745bbe70..e563c0bd 100644 --- a/Source/Time/Clock.cpp +++ b/Source/Time/Clock.cpp @@ -57,7 +57,7 @@ static inline T DecodeEpoch(T auroraEpoch) template static auto TimeFromDurationSinceEpoch(Duration_t in) { - auto duration = std::chrono::duration_cast(in); + auto duration = std::chrono::duration_cast(in); return std::chrono::time_point(DecodeEpoch(duration)); } @@ -99,6 +99,11 @@ namespace Aurora::Time return std::chrono::duration_cast(NormalizeEpoch(sys_clock::now().time_since_epoch())).count(); } + AUKN_SYM AuInt64 CTimeToMS(time_t time) + { + return std::chrono::duration_cast(NormalizeEpoch(sys_clock::from_time_t(time).time_since_epoch())).count(); + } + AUKN_SYM AuUInt64 CurrentInternalClock() { return high_res_clock::now().time_since_epoch().count(); @@ -194,7 +199,11 @@ namespace Aurora::Time auto timet = MSToCTime(time); if (UTC) { + #if defined(AURORA_COMPILER_MSVC) auto tm = gmtime_s(&ret, &timet); + #else + auto tm = gmtime_r(&timet, &ret); + #endif #if defined(AURORA_COMPILER_MSVC) SysAssert(!tm, "couldn't convert civil time"); #else @@ -211,7 +220,11 @@ namespace Aurora::Time #endif { LogWarn("Couldn't convert local civil time"); + #if defined(AURORA_COMPILER_MSVC) auto tm = gmtime_s(&ret, &timet); + #else + auto tm = gmtime_r(&timet, &ret); + #endif #if defined(AURORA_COMPILER_MSVC) SysAssert(!tm, "couldn't convert civil time"); @@ -247,4 +260,4 @@ namespace Aurora::Time return std::chrono::duration_cast(NormalizeEpoch(std::chrono::system_clock::from_time_t(timet).time_since_epoch())).count(); } -} \ No newline at end of file +}