| From 30c712c5f14306460c44bea70e24419db9d44f8c Mon Sep 17 00:00:00 2001 |
| From: Nick Patavalis <npat@efault.net> |
| Date: Thu, 12 Apr 2018 15:16:04 +0300 |
| Subject: [PATCH] Compile with libc's without cispeed / cospeed |
| |
| Some libc implementations (e.g. musl) do not define the cispeed and |
| cospeed struct termios fields. So we have to check the |
| _HAVE_STRUCT_TERMIOS_C_ISPEED and _HAVE_STRUCT_TERMIOS_C_OSPEED |
| macros. If not defined, we disable custom baudrate support. |
| |
| [baruch: backported from upstream master to 3.1] |
| Signed-off-by: Baruch Siach <baruch@tkos.co.il> |
| --- |
| Upstream status: commit 1acf1ddabaf3 |
| |
| custbaud.h | 10 +++++++++- |
| 1 file changed, 9 insertions(+), 1 deletion(-) |
| |
| diff --git a/custbaud.h b/custbaud.h |
| index 48151a4a4e84..ae4ae8daf49e 100644 |
| --- a/custbaud.h |
| +++ b/custbaud.h |
| @@ -26,6 +26,8 @@ |
| #ifndef CUSTBAUD_H |
| #define CUSTBAUD_H |
| |
| +#include <termios.h> |
| + |
| #ifndef NO_CUSTOM_BAUD |
| |
| #if defined (__linux__) |
| @@ -33,7 +35,13 @@ |
| /* Enable by-default for kernels > 2.6.0 on x86 and x86_64 only */ |
| #include <linux/version.h> |
| #if LINUX_VERSION_CODE > KERNEL_VERSION(2,6,0) |
| -#if defined (__i386__) || defined (__x86_64__) || defined (USE_CUSTOM_BAUD) |
| +/* Some libc implementations (e.g. musl) do not define the cispeed and |
| + cospeed struct termios fields. We do not support custom baudrates |
| + on them. */ |
| +#if ( (defined (__i386__) || defined (__x86_64__)) \ |
| + && defined (_HAVE_STRUCT_TERMIOS_C_ISPEED) \ |
| + && defined (_HAVE_STRUCT_TERMIOS_C_OSPEED) ) \ |
| + || defined (USE_CUSTOM_BAUD) |
| #ifndef USE_CUSTOM_BAUD |
| #define USE_CUSTOM_BAUD |
| #endif |
| -- |
| 2.16.3 |
| |