From ef8d764aa67a235bac2037eeabf6ff06881a98b1 Mon Sep 17 00:00:00 2001 From: Paul Hollinsky Date: Thu, 20 Sep 2018 14:40:24 -0400 Subject: [PATCH] Move platforms around, most of POSIX will be common implementation --- CMakeLists.txt | 2 +- platform/include/devices.h | 4 ++-- platform/include/dynamiclib.h | 4 ++-- platform/include/ftdi.h | 4 ++-- platform/include/pcap.h | 4 ++-- platform/include/stm32.h | 4 ++-- platform/posix/darwin/include/dynamiclib.h | 6 ++++++ platform/{linux => posix}/ftdi.cpp | 1 - platform/{linux => posix}/include/devices.h | 4 ++-- platform/{linux => posix}/include/dynamiclib.h | 11 ++++++++--- platform/{linux => posix}/include/ftdi.h | 4 ++-- platform/{linux => posix}/include/stm32.h | 4 ++-- platform/posix/linux/include/dynamiclib.h | 6 ++++++ platform/{linux => posix}/stm32.cpp | 0 platform/windows/include/dynamiclib.h | 4 ++-- platform/windows/include/registry.h | 4 ++-- platform/windows/include/vcp.h | 4 ++-- 17 files changed, 43 insertions(+), 27 deletions(-) create mode 100644 platform/posix/darwin/include/dynamiclib.h rename platform/{linux => posix}/ftdi.cpp (98%) rename platform/{linux => posix}/include/devices.h (91%) rename platform/{linux => posix}/include/dynamiclib.h (61%) rename platform/{linux => posix}/include/ftdi.h (95%) rename platform/{linux => posix}/include/stm32.h (90%) create mode 100644 platform/posix/linux/include/dynamiclib.h rename platform/{linux => posix}/stm32.cpp (100%) diff --git a/CMakeLists.txt b/CMakeLists.txt index 01e6467..4a8f2a0 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -34,7 +34,7 @@ if(WIN32) file(GLOB PLATFORM_SRC_INTERNAL ${CMAKE_SOURCE_DIR}/platform/windows/internal/*.cpp) set(PLATFORM_SRC ${PLATFORM_SRC_EXTERNAL} ${PLATFORM_SRC_INTERNAL}) else() - file(GLOB PLATFORM_SRC ${CMAKE_SOURCE_DIR}/platform/linux/*.cpp) + file(GLOB PLATFORM_SRC ${CMAKE_SOURCE_DIR}/platform/posix/*.cpp) endif() set(COMMON_SRC diff --git a/platform/include/devices.h b/platform/include/devices.h index 839066e..2a2fdaa 100644 --- a/platform/include/devices.h +++ b/platform/include/devices.h @@ -3,8 +3,8 @@ #if defined _WIN32 #include "platform/windows/include/devices.h" -#elif defined __linux__ -#include "platform/linux/include/devices.h" +#elif defined (__unix__) || (defined (__APPLE__) && defined (__MACH__)) +#include "platform/posix/include/devices.h" #else #error "This platform is not supported by the devices driver, please add a definition!" #endif diff --git a/platform/include/dynamiclib.h b/platform/include/dynamiclib.h index 4152230..1b20292 100644 --- a/platform/include/dynamiclib.h +++ b/platform/include/dynamiclib.h @@ -3,8 +3,8 @@ #if defined _WIN32 #include "platform/windows/include/dynamiclib.h" -#elif defined __linux__ -#include "platform/linux/include/dynamiclib.h" +#elif defined (__unix__) || (defined (__APPLE__) && defined (__MACH__)) +#include "platform/posix/include/dynamiclib.h" #else #warning "This platform is not supported by the dynamic library driver" #endif diff --git a/platform/include/ftdi.h b/platform/include/ftdi.h index b35d465..b4e999a 100644 --- a/platform/include/ftdi.h +++ b/platform/include/ftdi.h @@ -5,8 +5,8 @@ #if defined _WIN32 #include "platform/windows/include/ftdi.h" -#elif defined __linux__ -#include "platform/linux/include/ftdi.h" +#elif defined (__unix__) || (defined (__APPLE__) && defined (__MACH__)) +#include "platform/posix/include/ftdi.h" #else #warning "This platform is not supported by the FTDI driver" #endif diff --git a/platform/include/pcap.h b/platform/include/pcap.h index 664737d..dbe6c5c 100644 --- a/platform/include/pcap.h +++ b/platform/include/pcap.h @@ -3,8 +3,8 @@ #if defined _WIN32 #include "platform/windows/include/pcap.h" -// #elif defined __linux__ -// #include "platform/linux/include/ftdi.h" +// #elif defined (__unix__) || (defined (__APPLE__) && defined (__MACH__)) +// #include "platform/posix/include/ftdi.h" #else #warning "This platform is not supported by the PCAP driver" #endif diff --git a/platform/include/stm32.h b/platform/include/stm32.h index ef2ecc1..767adcf 100644 --- a/platform/include/stm32.h +++ b/platform/include/stm32.h @@ -5,8 +5,8 @@ #if defined _WIN32 #include "platform/windows/include/stm32.h" -#elif defined __linux__ -#include "platform/linux/include/stm32.h" +#elif defined (__unix__) || (defined (__APPLE__) && defined (__MACH__)) +#include "platform/posix/include/stm32.h" #else #warning "This platform is not supported by the STM32 driver" #endif diff --git a/platform/posix/darwin/include/dynamiclib.h b/platform/posix/darwin/include/dynamiclib.h new file mode 100644 index 0000000..27756df --- /dev/null +++ b/platform/posix/darwin/include/dynamiclib.h @@ -0,0 +1,6 @@ +#ifndef __DYNAMICLIB_DARWIN_H_ +#define __DYNAMICLIB_DARWIN_H_ + +#define icsneoDynamicLibraryLoad() dlopen("/home/paulywog/Code/icsneonext/build/libicsneoc.dylib", RTLD_LAZY) + +#endif \ No newline at end of file diff --git a/platform/linux/ftdi.cpp b/platform/posix/ftdi.cpp similarity index 98% rename from platform/linux/ftdi.cpp rename to platform/posix/ftdi.cpp index ec4ae2e..7239567 100644 --- a/platform/linux/ftdi.cpp +++ b/platform/posix/ftdi.cpp @@ -1,4 +1,3 @@ -#include "platform/linux/include/ftdi.h" #include "platform/include/ftdi.h" #include #include diff --git a/platform/linux/include/devices.h b/platform/posix/include/devices.h similarity index 91% rename from platform/linux/include/devices.h rename to platform/posix/include/devices.h index fd5ebea..a8fc3b6 100644 --- a/platform/linux/include/devices.h +++ b/platform/posix/include/devices.h @@ -1,5 +1,5 @@ -#ifndef __DEVICES_LINUX_H_ -#define __DEVICES_LINUX_H_ +#ifndef __DEVICES_POSIX_H_ +#define __DEVICES_POSIX_H_ #include "device/neoobd2pro/include/neoobd2pro.h" #include "device/neovifire/include/neovifire.h" diff --git a/platform/linux/include/dynamiclib.h b/platform/posix/include/dynamiclib.h similarity index 61% rename from platform/linux/include/dynamiclib.h rename to platform/posix/include/dynamiclib.h index 5a0e6ee..709ea84 100644 --- a/platform/linux/include/dynamiclib.h +++ b/platform/posix/include/dynamiclib.h @@ -1,8 +1,14 @@ -#ifndef __DYNAMICLIB_H_LINUX_ -#define __DYNAMICLIB_H_LINUX_ +#ifndef __DYNAMICLIB_POSIX_H_ +#define __DYNAMICLIB_POSIX_H_ #include +#ifdef __APPLE__ +#include "platform/posix/darwin/include/dynamiclib.h" +#else +#include "platform/posix/linux/include/dynamiclib.h" +#endif + // Nothing special is needed to export #define DLLExport @@ -12,7 +18,6 @@ #define ICSNEO_DESTRUCTOR // #endif -#define icsneoDynamicLibraryLoad() dlopen("/media/paulywog/Windows 10/Users/phollinsky/Code/icsneonext/build/libicsneoc.so", RTLD_LAZY) #define icsneoDynamicLibraryGetFunction(handle, func) dlsym(handle, func) #define icsneoDynamicLibraryClose(handle) (dlclose(handle) == 0) diff --git a/platform/linux/include/ftdi.h b/platform/posix/include/ftdi.h similarity index 95% rename from platform/linux/include/ftdi.h rename to platform/posix/include/ftdi.h index 6f52cd1..1757098 100644 --- a/platform/linux/include/ftdi.h +++ b/platform/posix/include/ftdi.h @@ -1,5 +1,5 @@ -#ifndef __FTDI_H_LINUX_ -#define __FTDI_H_LINUX_ +#ifndef __FTDI_POSIX_H_ +#define __FTDI_POSIX_H_ #include #include diff --git a/platform/linux/include/stm32.h b/platform/posix/include/stm32.h similarity index 90% rename from platform/linux/include/stm32.h rename to platform/posix/include/stm32.h index 9b1e64b..e986614 100644 --- a/platform/linux/include/stm32.h +++ b/platform/posix/include/stm32.h @@ -1,5 +1,5 @@ -#ifndef __STM32_LINUX_H_ -#define __STM32_LINUX_H_ +#ifndef __STM32_POSIX_H_ +#define __STM32_POSIX_H_ #include "communication/include/icommunication.h" #include "device/include/neodevice.h" diff --git a/platform/posix/linux/include/dynamiclib.h b/platform/posix/linux/include/dynamiclib.h new file mode 100644 index 0000000..6626a97 --- /dev/null +++ b/platform/posix/linux/include/dynamiclib.h @@ -0,0 +1,6 @@ +#ifndef __DYNAMICLIB_LINUX_H_ +#define __DYNAMICLIB_LINUX_H_ + +#define icsneoDynamicLibraryLoad() dlopen("/home/paulywog/Code/icsneonext/build/libicsneoc.so", RTLD_LAZY) + +#endif \ No newline at end of file diff --git a/platform/linux/stm32.cpp b/platform/posix/stm32.cpp similarity index 100% rename from platform/linux/stm32.cpp rename to platform/posix/stm32.cpp diff --git a/platform/windows/include/dynamiclib.h b/platform/windows/include/dynamiclib.h index 6f38c7d..ff0c301 100644 --- a/platform/windows/include/dynamiclib.h +++ b/platform/windows/include/dynamiclib.h @@ -1,5 +1,5 @@ -#ifndef __DYNAMICLIB_H_WINDOWS_ -#define __DYNAMICLIB_H_WINDOWS_ +#ifndef __DYNAMICLIB_WINDOWS_H_ +#define __DYNAMICLIB_WINDOWS_H_ #include diff --git a/platform/windows/include/registry.h b/platform/windows/include/registry.h index c4159cf..7e342f4 100644 --- a/platform/windows/include/registry.h +++ b/platform/windows/include/registry.h @@ -1,5 +1,5 @@ -#ifndef __REGISTRY_H_WINDOWS_ -#define __REGISTRY_H_WINDOWS_ +#ifndef __REGISTRY_WINDOWS_H_ +#define __REGISTRY_WINDOWS_H_ #include #include diff --git a/platform/windows/include/vcp.h b/platform/windows/include/vcp.h index df4a237..213c72c 100644 --- a/platform/windows/include/vcp.h +++ b/platform/windows/include/vcp.h @@ -1,5 +1,5 @@ -#ifndef __VCP_H_WINDOWS_ -#define __VCP_H_WINDOWS_ +#ifndef __VCP_WINDOWS_H_ +#define __VCP_WINDOWS_H_ #include #include