From ad2039597fba6b988133983d24a62d6acf85ca51 Mon Sep 17 00:00:00 2001 From: WillForan Date: Wed, 29 Oct 2025 15:36:58 -0400 Subject: [PATCH] WIP: comiples on linux --- xid_device_driver/CedrusAssert.h | 17 ++++++++++++++--- xid_device_driver/Connection.cpp | 4 ++++ xid_device_driver/Connection.h | 4 ++++ xid_device_driver/ResponseManager.cpp | 4 ++++ xid_device_driver/XIDDevice.cpp | 4 ++++ xid_device_driver/XIDDeviceScanner.cpp | 5 +++++ xid_device_driver/XidDriverImpExpDefs.h | 3 +++ 7 files changed, 38 insertions(+), 3 deletions(-) diff --git a/xid_device_driver/CedrusAssert.h b/xid_device_driver/CedrusAssert.h index 4277b23..d8d0f2a 100644 --- a/xid_device_driver/CedrusAssert.h +++ b/xid_device_driver/CedrusAssert.h @@ -14,6 +14,11 @@ # define _putenv putenv #endif // defined(__APPLE__) +#if defined(__linux__) +# include +# define _putenv putenv +#endif // defined(__linux__) + namespace Cedrus { // break into the debugger @@ -23,9 +28,11 @@ namespace Cedrus DebugBreak(); #elif defined(__APPLE__) raise(SIGTRAP); + #elif defined(__linux__) + raise(SIGTRAP); #else - // TODO - #endif // Win/Apple + // TODO (TODONE now that linux is included?) + #endif // Win/Apple/linux } inline void OptionToContinue @@ -274,7 +281,11 @@ namespace Cedrus Cedrus::Ced_Fail_Mac( msg, __FILE__, __LINE__, __func__ ) -#else +# elif defined(__linux__) +# define CEDRUS_DISABLE_ASSERT 1 // UGLY HACK! TODO fix for linux +# define CEDRUS_ASSERT(cond, msg) +# define CEDRUS_FAIL(msg) +#else // TODO #endif // Win/Apple diff --git a/xid_device_driver/Connection.cpp b/xid_device_driver/Connection.cpp index e8030f9..538e7db 100644 --- a/xid_device_driver/Connection.cpp +++ b/xid_device_driver/Connection.cpp @@ -35,6 +35,10 @@ #include "constants.h" +#if defined(__linux__) +#include +#endif + Cedrus::Connection::Connection( const DWORD location, DWORD port_speed, diff --git a/xid_device_driver/Connection.h b/xid_device_driver/Connection.h index 0d0b090..27a5ecf 100644 --- a/xid_device_driver/Connection.h +++ b/xid_device_driver/Connection.h @@ -40,6 +40,10 @@ # include # define SLEEP_FUNC Sleep # define SLEEP_INC 1 +#elif defined(__linux__) +# include +# define SLEEP_FUNC usleep +# define SLEEP_INC 1000 #endif #include diff --git a/xid_device_driver/ResponseManager.cpp b/xid_device_driver/ResponseManager.cpp index f744d62..29be01d 100644 --- a/xid_device_driver/ResponseManager.cpp +++ b/xid_device_driver/ResponseManager.cpp @@ -6,6 +6,10 @@ #include "DeviceConfig.h" #include "constants.h" +#if defined(__linux__) +#include +#endif + Cedrus::ResponseManager::ResponseManager(std::shared_ptr devConfig ) : m_BytesInBuffer(0), m_XIDPacketIndex(INVALID_PACKET_INDEX), diff --git a/xid_device_driver/XIDDevice.cpp b/xid_device_driver/XIDDevice.cpp index 34ee640..0e0bcb4 100644 --- a/xid_device_driver/XIDDevice.cpp +++ b/xid_device_driver/XIDDevice.cpp @@ -44,6 +44,10 @@ #include #include +#if defined(__linux__) +#include +#endif + Cedrus::XIDDevice::XIDDevice(std::shared_ptr xidCon, std::shared_ptr devConfig) : m_linesState(0), diff --git a/xid_device_driver/XIDDeviceScanner.cpp b/xid_device_driver/XIDDeviceScanner.cpp index 957197b..61bcd9e 100644 --- a/xid_device_driver/XIDDeviceScanner.cpp +++ b/xid_device_driver/XIDDeviceScanner.cpp @@ -36,6 +36,11 @@ #include "XIDDevice.h" +#if defined(__linux__) +#include +#endif + + std::shared_ptr CreateDevice ( const int productID, // d2 value diff --git a/xid_device_driver/XidDriverImpExpDefs.h b/xid_device_driver/XidDriverImpExpDefs.h index 234de3a..dc7d8a4 100644 --- a/xid_device_driver/XidDriverImpExpDefs.h +++ b/xid_device_driver/XidDriverImpExpDefs.h @@ -6,6 +6,9 @@ #elif defined(_WIN32) # define CEDEXP __declspec(dllexport) # define CEDIMP __declspec(dllimport) +#elif defined(__linux__) +# define CEDEXP __attribute__ ((visibility("default"))) +# define CEDIMP __attribute__ ((visibility("default"))) #endif #define CEDRUS_XIDDRIVER_IMPORTEXPORT CEDEXP