On Thu, Mar 03, 2016 at 10:32:04AM +0100, Takashi Iwai wrote: > Can we put this in include/type_compat.h or something like that, and > include it in #else block of #ifdef __linux__? > > As a bonus, the EBADFD definition can also go to there, too. Sure, see attached. Thomas
>From c68bfda4e5198b50b32937de669155afb423d726 Mon Sep 17 00:00:00 2001 From: Thomas Klausner <wiz@xxxxxxxxxx> Date: Wed, 2 Mar 2016 23:11:54 +0100 Subject: [PATCH] Define some types if missing. For portability with non-Linux. Include Linux headers on Linux only. --- include/local.h | 6 ++--- include/type_compat.h | 66 +++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 69 insertions(+), 3 deletions(-) create mode 100644 include/type_compat.h diff --git a/include/local.h b/include/local.h index 28ed106..317f2e3 100644 --- a/include/local.h +++ b/include/local.h @@ -50,11 +50,11 @@ #include <sys/poll.h> #include <sys/types.h> #include <errno.h> +#if defined(__linux__) #include <linux/types.h> #include <linux/ioctl.h> - -#ifndef EBADFD -#define EBADFD EBADF +#else +#include "type_compat.h" #endif #ifdef SUPPORT_RESMGR diff --git a/include/type_compat.h b/include/type_compat.h new file mode 100644 index 0000000..9cc209f --- /dev/null +++ b/include/type_compat.h @@ -0,0 +1,66 @@ +/* + * ALSA lib - compatibility header to be included by local.h + * Copyright (c) 2016 by Thomas Klausner <wiz@xxxxxxxxxx> + * + * + * This library is free software; you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License as + * published by the Free Software Foundation; either version 2.1 of + * the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + */ + +#ifndef __TYPE_COMPAT_H +#define __TYPE_COMPAT_H + +#ifndef EBADFD +#define EBADFD EBADF +#endif + +#ifndef __u16 +#define __u16 uint16_t +#endif +#ifndef __u32 +#define __u32 uint32_t +#endif +#ifndef __u64 +#define __u64 uint64_t +#endif +#ifndef __le16 +#define __le16 uint16_t +#endif +#ifndef __le32 +#define __le32 uint32_t +#endif +#ifndef __le64 +#define __le64 uint64_t +#endif +#ifndef u_int8_t +#define u_int8_t uint8_t +#endif +#ifndef u_int16_t +#define u_int16_t uint16_t +#endif +#ifndef u_int32_t +#define u_int32_t uint32_t +#endif +#ifndef u_int32_t +#define u_int32_t uint64_t +#endif +#ifndef __kernel_pid_t +#define __kernel_pid_t pid_t +#endif +#ifndef __kernel_off_t +#define __kernel_off_t off_t +#endif + +#endif -- 2.7.1
_______________________________________________ Alsa-devel mailing list Alsa-devel@xxxxxxxxxxxxxxxx http://mailman.alsa-project.org/mailman/listinfo/alsa-devel