diff options
Diffstat (limited to 'backends')
-rw-r--r-- | backends/Makefile | 5 | ||||
-rw-r--r-- | backends/artnet.c | 2 | ||||
-rw-r--r-- | backends/sacn.c | 2 | ||||
-rw-r--r-- | backends/visca.c | 16 |
4 files changed, 18 insertions, 7 deletions
diff --git a/backends/Makefile b/backends/Makefile index be870d6..35782ab 100644 --- a/backends/Makefile +++ b/backends/Makefile @@ -60,7 +60,10 @@ openpixelcontrol.dll: ADDITIONAL_OBJS += $(BACKEND_LIB) openpixelcontrol.dll: LDLIBS += -lws2_32 maweb.so: ADDITIONAL_OBJS += $(BACKEND_LIB) -maweb.so: LDLIBS = $(shell pkg-config --libs openssl || echo "-DBUILD_ERROR=\"Missing pkg-config data for openssl\"") +# On OSX, the system provides libressl but no pkg-config data. +# Brew provides OpenSSL v1.1, but with a mangled path and no clear way to find it +# Give up and just default to -lcrypto for the time being... +maweb.so: LDLIBS = $(shell pkg-config --libs openssl || echo "-lcrypto") maweb.dll: ADDITIONAL_OBJS += $(BACKEND_LIB) maweb.dll: LDLIBS += -lws2_32 maweb.dll: CFLAGS += -DMAWEB_NO_LIBSSL diff --git a/backends/artnet.c b/backends/artnet.c index dae9ba3..7c5f7e0 100644 --- a/backends/artnet.c +++ b/backends/artnet.c @@ -429,7 +429,7 @@ static int artnet_handle(size_t num, managed_fd* fds){ LOG("Failed to process frame"); } else if(!inst && global_cfg.detect > 1){ - LOGPF("Received data for unconfigured universe %d (net %d) on descriptor %" PRIsize_t, frame->universe, frame->net, (((uint64_t) fds[u].impl) & 0xFF)); + LOGPF("Received data for unconfigured universe %d (net %d) on descriptor %" PRIu64, frame->universe, frame->net, (((uint64_t) fds[u].impl) & 0xFF)); } } } diff --git a/backends/sacn.c b/backends/sacn.c index e395ae2..5c5b81d 100644 --- a/backends/sacn.c +++ b/backends/sacn.c @@ -613,7 +613,7 @@ static int sacn_handle(size_t num, managed_fd* fds){ } else if(!inst && global_cfg.detect > 1){ //this will only happen with unicast input - LOGPF("Received data for unconfigured universe %d on descriptor %" PRIsize_t, be16toh(data->universe), ((uint64_t) fds[u].impl) & 0xFFFF); + LOGPF("Received data for unconfigured universe %d on descriptor %" PRIu64, be16toh(data->universe), ((uint64_t) fds[u].impl) & 0xFFFF); } } } diff --git a/backends/visca.c b/backends/visca.c index a36b139..6ae14d9 100644 --- a/backends/visca.c +++ b/backends/visca.c @@ -4,9 +4,12 @@ #include <string.h> #include <math.h> -#ifndef _WIN32 +#ifdef __linux__ #include <sys/ioctl.h> #include <asm/termbits.h> +#elif __APPLE__ + #include <sys/ioctl.h> + #include <IOKit/serial/ioss.h> #endif #include "visca.h" @@ -89,9 +92,6 @@ static int ptz_configure_instance(instance* inst, char* option, char* value){ LOG("Direct device connections are not possible on Windows"); return 1; #else - - struct termios2 device_config; - options = strchr(value, ' '); if(options){ //terminate port name @@ -108,6 +108,8 @@ static int ptz_configure_instance(instance* inst, char* option, char* value){ //configure baudrate if(options){ + #ifdef __linux__ + struct termios2 device_config; //get current port config if(ioctl(data->fd, TCGETS2, &device_config)){ LOGPF("Failed to get port configuration data for %s: %s", value, strerror(errno)); @@ -123,6 +125,12 @@ static int ptz_configure_instance(instance* inst, char* option, char* value){ if(ioctl(data->fd, TCSETS2, &device_config)){ LOGPF("Failed to set port configuration data for %s: %s", value, strerror(errno)); } + #elif __APPLE__ + speed_t speed = strtoul(options, NULL, 10); + if(ioctl(data->fd, IOSSIOSPEED, &speed)){ + LOGPF("Failed to set port configuration data for %s: %s", value, strerror(errno)); + } + #endif } return 0; #endif |