| bat: Avoid local signal.h file |
| |
| Patch backported from upstream: |
| |
| http://git.alsa-project.org/?p=alsa-utils.git;a=commit;h=3bf8e79c3bfee3ca14277aad3d9c406dfc053bbf |
| |
| Signed-off-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com> |
| |
| From 3bf8e79c3bfee3ca14277aad3d9c406dfc053bbf Mon Sep 17 00:00:00 2001 |
| From: Takashi Iwai <tiwai@suse.de> |
| Date: Mon, 9 Nov 2015 14:04:11 +0100 |
| Subject: [PATCH 1/2] bat: Avoid local signal.h file |
| |
| The local header file named as "signal.h" causes mysterious compile |
| error when built with an old glibc. |
| signal.h:27: error: conflicting types for 'sin_generator_init' |
| ./signal.h:27: error: previous declaration of 'sin_generator_init' was here |
| signal.h:28: error: conflicting types for 'sin_generator_next_sample' |
| ./signal.h:28: error: previous declaration of 'sin_generator_next_sample' was here |
| .... |
| |
| This turned out to be the conflict of signal.h; namely, pthread.h that |
| is included before our local signal.h also includes "pthread.h". |
| Since our local "signal.h" has a higher priority, it gets loaded |
| instead of the expected pthread's one. Then we load it again, and it |
| screws up. |
| |
| Although it's basically a bug of pthread, it's anyway not good to have |
| a header file conflicting with the standard header file. So, let's |
| name it more explicitly as specific to BAT, bat-signal.h, for avoiding |
| such a conflict. |
| |
| Signed-off-by: Takashi Iwai <tiwai@suse.de> |
| --- |
| bat/Makefile.am | 2 +- |
| bat/alsa.c | 2 +- |
| bat/bat-signal.h | 30 ++++++++++++++++++++++++++++++ |
| bat/signal.h | 30 ------------------------------ |
| 4 files changed, 32 insertions(+), 32 deletions(-) |
| create mode 100644 bat/bat-signal.h |
| delete mode 100644 bat/signal.h |
| |
| diff --git a/bat/Makefile.am b/bat/Makefile.am |
| index 842ae6b..f0dc5ab 100644 |
| --- a/bat/Makefile.am |
| +++ b/bat/Makefile.am |
| @@ -13,7 +13,7 @@ bat_SOURCES = \ |
| |
| noinst_HEADERS = \ |
| common.h \ |
| - signal.h \ |
| + bat-signal.h \ |
| alsa.h \ |
| convert.h \ |
| analyze.h |
| diff --git a/bat/alsa.c b/bat/alsa.c |
| index 582c604..d31a633 100644 |
| --- a/bat/alsa.c |
| +++ b/bat/alsa.c |
| @@ -27,7 +27,7 @@ |
| |
| #include "common.h" |
| #include "alsa.h" |
| -#include "signal.h" |
| +#include "bat-signal.h" |
| |
| struct pcm_container { |
| snd_pcm_t *handle; |
| diff --git a/bat/bat-signal.h b/bat/bat-signal.h |
| new file mode 100644 |
| index 0000000..a295517 |
| --- /dev/null |
| +++ b/bat/bat-signal.h |
| @@ -0,0 +1,30 @@ |
| +/* |
| + * Copyright (C) 2015 Caleb Crome |
| + * Copyright (C) 2013-2015 Intel Corporation |
| + * |
| + * 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 |
| + * the Free Software Foundation; either version 2 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 General Public License for more details. |
| + * |
| + */ |
| + |
| +/* |
| + * Here's a generic sine wave generator that will work indefinitely |
| + * for any frequency. |
| + * |
| + * Note: the state & phasor are stored as doubles (and updated as |
| + * doubles) because after a million samples the magnitude drifts a |
| + * bit. If we really need floats, it can be done with periodic |
| + * renormalization of the state_real+state_imag magnitudes. |
| + */ |
| + |
| +int sin_generator_init(struct sin_generator *, float, float, float); |
| +float sin_generator_next_sample(struct sin_generator *); |
| +void sin_generator_vfill(struct sin_generator *, float *, int); |
| +int generate_sine_wave(struct bat *, int, void *); |
| diff --git a/bat/signal.h b/bat/signal.h |
| deleted file mode 100644 |
| index a295517..0000000 |
| --- a/bat/signal.h |
| +++ /dev/null |
| @@ -1,30 +0,0 @@ |
| -/* |
| - * Copyright (C) 2015 Caleb Crome |
| - * Copyright (C) 2013-2015 Intel Corporation |
| - * |
| - * 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 |
| - * the Free Software Foundation; either version 2 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 General Public License for more details. |
| - * |
| - */ |
| - |
| -/* |
| - * Here's a generic sine wave generator that will work indefinitely |
| - * for any frequency. |
| - * |
| - * Note: the state & phasor are stored as doubles (and updated as |
| - * doubles) because after a million samples the magnitude drifts a |
| - * bit. If we really need floats, it can be done with periodic |
| - * renormalization of the state_real+state_imag magnitudes. |
| - */ |
| - |
| -int sin_generator_init(struct sin_generator *, float, float, float); |
| -float sin_generator_next_sample(struct sin_generator *); |
| -void sin_generator_vfill(struct sin_generator *, float *, int); |
| -int generate_sine_wave(struct bat *, int, void *); |
| -- |
| 2.4.10 |
| |