aboutsummaryrefslogtreecommitdiffstats
path: root/host
diff options
context:
space:
mode:
authorNicholas Corgan <nick.corgan@ettus.com>2014-03-20 10:16:55 -0700
committerNicholas Corgan <nick.corgan@ettus.com>2014-03-27 07:45:16 -0700
commitf08e50934505c5a42a2f3dcf5a65052db07674dc (patch)
tree226bd233b1abfdebf1244e8bd0004d402a596d44 /host
parentea8890d52c011fa161e17129268bd369628eb603 (diff)
downloaduhd-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.h12
-rw-r--r--host/lib/transport/nirio/CMakeLists.txt10
-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