diff options
author | Nicholas Corgan <nick.corgan@ettus.com> | 2014-03-20 10:16:55 -0700 |
---|---|---|
committer | Nicholas Corgan <nick.corgan@ettus.com> | 2014-03-27 07:45:16 -0700 |
commit | f08e50934505c5a42a2f3dcf5a65052db07674dc (patch) | |
tree | 226bd233b1abfdebf1244e8bd0004d402a596d44 /host | |
parent | ea8890d52c011fa161e17129268bd369628eb603 (diff) | |
download | uhd-f08e50934505c5a42a2f3dcf5a65052db07674dc.tar.gz uhd-f08e50934505c5a42a2f3dcf5a65052db07674dc.tar.bz2 uhd-f08e50934505c5a42a2f3dcf5a65052db07674dc.zip |
nirio: improved dealing with unsupported OS's
* Instead of specifically checking for Apple, default to unsupported iface file if unsupported OS is detected
* Don't error out if we can't catch a specific unsupported OS, just use barebones "unsupported" structs
Diffstat (limited to 'host')
-rw-r--r-- | host/include/uhd/transport/nirio/nirio_driver_iface.h | 12 | ||||
-rw-r--r-- | host/lib/transport/nirio/CMakeLists.txt | 10 | ||||
-rw-r--r-- | host/lib/transport/nirio/nirio_driver_iface_unsupported.cpp (renamed from host/lib/transport/nirio/nirio_driver_iface_macos.cpp) | 0 |
3 files changed, 8 insertions, 14 deletions
diff --git a/host/include/uhd/transport/nirio/nirio_driver_iface.h b/host/include/uhd/transport/nirio/nirio_driver_iface.h index 46a1146de..5b430b43d 100644 --- a/host/include/uhd/transport/nirio/nirio_driver_iface.h +++ b/host/include/uhd/transport/nirio/nirio_driver_iface.h @@ -1,5 +1,5 @@ // -// Copyright 2013 Ettus Research LLC +// Copyright 2013-2014 Ettus Research LLC // // This program is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by @@ -28,7 +28,7 @@ #pragma warning(disable:4201) // nonstandard extension used : nameless struct/union #include <WinIoCtl.h> #pragma warning(default:4201) -#elif defined(UHD_PLATFORM_MACOS) || defined(UHD_PLATFORM_BSD) +#elif !defined(UHD_PLATFORM_LINUX) #include <IOKit/IOKitLib.h> #endif @@ -445,10 +445,8 @@ static inline void init_syncop_out_params(nirio_syncop_out_params_t& param, void typedef int rio_dev_handle_t; #elif defined(UHD_PLATFORM_WIN32) typedef HANDLE rio_dev_handle_t; -#elif defined(UHD_PLATFORM_MACOS) || defined(UHD_PLATFORM_BSD) - typedef io_connect_t rio_dev_handle_t; #else - #error OS not supported by nirio_driver_iface. + typedef io_connect_t rio_dev_handle_t; #endif static const rio_dev_handle_t INVALID_RIO_HANDLE = ((rio_dev_handle_t)-1); @@ -492,15 +490,13 @@ static const rio_dev_handle_t INVALID_RIO_HANDLE = ((rio_dev_handle_t)-1); bool is_null() { return addr == NULL; } }; -#elif defined(UHD_PLATFORM_MACOS) || defined(UHD_PLATFORM_BSD) +#else struct rio_mmap_t { rio_mmap_t() : addr(NULL) {} void *addr; bool is_null() { return addr == NULL; } }; -#else - #error OS not supported by nirio_driver_iface. #endif nirio_status rio_open( diff --git a/host/lib/transport/nirio/CMakeLists.txt b/host/lib/transport/nirio/CMakeLists.txt index 6a33da6c5..5f12e91df 100644 --- a/host/lib/transport/nirio/CMakeLists.txt +++ b/host/lib/transport/nirio/CMakeLists.txt @@ -39,10 +39,8 @@ LIBUHD_APPEND_SOURCES( IF(WIN32) LIBUHD_APPEND_SOURCES(${CMAKE_CURRENT_SOURCE_DIR}/nirio_driver_iface_win.cpp) -ELSE(WIN32) - IF(APPLE) - LIBUHD_APPEND_SOURCES(${CMAKE_CURRENT_SOURCE_DIR}/nirio_driver_iface_macos.cpp) - ELSE(APPLE) - LIBUHD_APPEND_SOURCES(${CMAKE_CURRENT_SOURCE_DIR}/nirio_driver_iface_linux.cpp) - ENDIF(APPLE) +ELSEIF(${CMAKE_SYSTEM_NAME} STREQUAL "Linux") #Built-in variable encompasses all UNIX-like systems + LIBUHD_APPEND_SOURCES(${CMAKE_CURRENT_SOURCE_DIR}/nirio_driver_iface_linux.cpp) +ELSE() + LIBUHD_APPEND_SOURCES(${CMAKE_CURRENT_SOURCE_DIR}/nirio_driver_iface_unsupported.cpp) ENDIF(WIN32) diff --git a/host/lib/transport/nirio/nirio_driver_iface_macos.cpp b/host/lib/transport/nirio/nirio_driver_iface_unsupported.cpp index 1a1142525..1a1142525 100644 --- a/host/lib/transport/nirio/nirio_driver_iface_macos.cpp +++ b/host/lib/transport/nirio/nirio_driver_iface_unsupported.cpp |