[pulseaudio-discuss] [PATCH] Fix #defines for Debian GNU/kFreeBSD
David Henningsson
david.henningsson at canonical.com
Mon Dec 1 03:13:45 PST 2014
Pushed now, and thanks for looking after kFreeBSD! :-)
On 2014-11-29 20:54, Felipe Sateler wrote:
> Because debian does not run with the freebsd libc, but rather uses the
> GNU one, it chose to not define __FreeBSD__, but rather __FreeBSD_kernel__.
> Use the alternative when the functionality tested is for kernel
> features, and keep the __FreeBSD__ one when using freebsd libc
> headers.
>
> If this patch is applied, debian could drop all the current patches when
> importing 6.0 :)
>
> ---
> src/pulsecore/atomic.h | 2 +-
> src/pulsecore/sconv_sse.c | 4 ++--
> src/pulsecore/svolume_mmx.c | 8 ++++----
> src/pulsecore/svolume_sse.c | 8 ++++----
> src/tests/once-test.c | 6 ++++--
> src/tests/rtstutter.c | 6 ++++--
> 6 files changed, 19 insertions(+), 15 deletions(-)
>
> diff --git a/src/pulsecore/atomic.h b/src/pulsecore/atomic.h
> index 419783d..bcc0bb3 100644
> --- a/src/pulsecore/atomic.h
> +++ b/src/pulsecore/atomic.h
> @@ -180,7 +180,7 @@ static inline bool pa_atomic_ptr_cmpxchg(pa_atomic_ptr_t *a, void *old_p, void*
> return r == old_p;
> }
>
> -#elif defined(__FreeBSD__)
> +#elif defined(__FreeBSD__) || defined(__FreeBSD_kernel__)
>
> #include <sys/cdefs.h>
> #include <sys/types.h>
> diff --git a/src/pulsecore/sconv_sse.c b/src/pulsecore/sconv_sse.c
> index 9cfb9d9..ab2e9f4 100644
> --- a/src/pulsecore/sconv_sse.c
> +++ b/src/pulsecore/sconv_sse.c
> @@ -33,7 +33,7 @@
> #include "cpu-x86.h"
> #include "sconv.h"
>
> -#if (!defined(__APPLE__) && !defined(__FreeBSD__) && defined (__i386__)) || defined (__amd64__)
> +#if (!defined(__APPLE__) && !defined(__FreeBSD__) && !defined(__FreeBSD_kernel__) && defined (__i386__)) || defined (__amd64__)
>
> static const PA_DECLARE_ALIGNED (16, float, scale[4]) = { 0x8000, 0x8000, 0x8000, 0x8000 };
>
> @@ -163,7 +163,7 @@ static void pa_sconv_s16le_from_f32ne_sse2(unsigned n, const float *a, int16_t *
> #endif /* defined (__i386__) || defined (__amd64__) */
>
> void pa_convert_func_init_sse(pa_cpu_x86_flag_t flags) {
> -#if (!defined(__APPLE__) && !defined(__FreeBSD__) && defined (__i386__)) || defined (__amd64__)
> +#if (!defined(__APPLE__) && !defined(__FreeBSD__) && !defined(__FreeBSD_kernel__) && defined (__i386__)) || defined (__amd64__)
>
> if (flags & PA_CPU_X86_SSE2) {
> pa_log_info("Initialising SSE2 optimized conversions.");
> diff --git a/src/pulsecore/svolume_mmx.c b/src/pulsecore/svolume_mmx.c
> index 279af8a..411e62c 100644
> --- a/src/pulsecore/svolume_mmx.c
> +++ b/src/pulsecore/svolume_mmx.c
> @@ -34,7 +34,7 @@
>
> #include "sample-util.h"
>
> -#if (!defined(__FreeBSD__) && defined (__i386__)) || defined (__amd64__)
> +#if (!defined(__FreeBSD__) && !defined(__FreeBSD_kernel__) && defined (__i386__)) || defined (__amd64__)
> /* in s: 2 int16_t samples
> * in v: 2 int32_t volumes, fixed point 16:16
> * out s: contains scaled and clamped int16_t samples.
> @@ -240,15 +240,15 @@ static void pa_volume_s16re_mmx(int16_t *samples, const int32_t *volumes, unsign
> );
> }
>
> -#endif /* (!defined(__FreeBSD__) && defined (__i386__)) || defined (__amd64__) */
> +#endif /* (!defined(__FreeBSD__) && !defined(__FreeBSD_kernel__) && defined (__i386__)) || defined (__amd64__) */
>
> void pa_volume_func_init_mmx(pa_cpu_x86_flag_t flags) {
> -#if (!defined(__FreeBSD__) && defined (__i386__)) || defined (__amd64__)
> +#if (!defined(__FreeBSD__) && !defined(__FreeBSD_kernel__) && defined (__i386__)) || defined (__amd64__)
> if ((flags & PA_CPU_X86_MMX) && (flags & PA_CPU_X86_CMOV)) {
> pa_log_info("Initialising MMX optimized volume functions.");
>
> pa_set_volume_func(PA_SAMPLE_S16NE, (pa_do_volume_func_t) pa_volume_s16ne_mmx);
> pa_set_volume_func(PA_SAMPLE_S16RE, (pa_do_volume_func_t) pa_volume_s16re_mmx);
> }
> -#endif /* (!defined(__FreeBSD__) && defined (__i386__)) || defined (__amd64__) */
> +#endif /* (!defined(__FreeBSD__) && !defined(__FreeBSD_kernel__) && defined (__i386__)) || defined (__amd64__) */
> }
> diff --git a/src/pulsecore/svolume_sse.c b/src/pulsecore/svolume_sse.c
> index eafa92c..abd8fa5 100644
> --- a/src/pulsecore/svolume_sse.c
> +++ b/src/pulsecore/svolume_sse.c
> @@ -34,7 +34,7 @@
>
> #include "sample-util.h"
>
> -#if (!defined(__FreeBSD__) && defined (__i386__)) || defined (__amd64__)
> +#if (!defined(__FreeBSD__) && !defined(__FreeBSD_kernel__) && defined (__i386__)) || defined (__amd64__)
>
> #define VOLUME_32x16(s,v) /* .. | vh | vl | */ \
> " pxor %%xmm4, %%xmm4 \n\t" /* .. | 0 | 0 | */ \
> @@ -251,15 +251,15 @@ static void pa_volume_s16re_sse2(int16_t *samples, const int32_t *volumes, unsig
> );
> }
>
> -#endif /* (!defined(__FreeBSD__) && defined (__i386__)) || defined (__amd64__) */
> +#endif /* (!defined(__FreeBSD__) && !defined(__FreeBSD_kernel__) && defined (__i386__)) || defined (__amd64__) */
>
> void pa_volume_func_init_sse(pa_cpu_x86_flag_t flags) {
> -#if (!defined(__FreeBSD__) && defined (__i386__)) || defined (__amd64__)
> +#if (!defined(__FreeBSD__) && !defined(__FreeBSD_kernel__) && defined (__i386__)) || defined (__amd64__)
> if (flags & PA_CPU_X86_SSE2) {
> pa_log_info("Initialising SSE2 optimized volume functions.");
>
> pa_set_volume_func(PA_SAMPLE_S16NE, (pa_do_volume_func_t) pa_volume_s16ne_sse2);
> pa_set_volume_func(PA_SAMPLE_S16RE, (pa_do_volume_func_t) pa_volume_s16re_sse2);
> }
> -#endif /* (!defined(__FreeBSD__) && defined (__i386__)) || defined (__amd64__) */
> +#endif /* (!defined(__FreeBSD__) && !defined(__FreeBSD_kernel__) && defined (__i386__)) || defined (__amd64__) */
> }
> diff --git a/src/tests/once-test.c b/src/tests/once-test.c
> index 8b0009a..5744eca 100644
> --- a/src/tests/once-test.c
> +++ b/src/tests/once-test.c
> @@ -24,8 +24,10 @@
> #ifdef HAVE_PTHREAD
> #include <pthread.h>
> #ifdef HAVE_PTHREAD_SETAFFINITY_NP
> -#if defined(__FreeBSD__)
> +#if defined(__FreeBSD__) || defined(__FreeBSD_kernel__)
> +#ifdef __FreeBSD__
> #include <pthread_np.h>
> +#endif
> #include <sys/param.h>
> #include <sys/cpuset.h>
> #endif
> @@ -63,7 +65,7 @@ static void thread_func(void *data) {
>
> #ifdef HAVE_PTHREAD_SETAFFINITY_NP
> static pa_atomic_t i_cpu = PA_ATOMIC_INIT(0);
> -#ifdef __FreeBSD__
> +#if defined(__FreeBSD__) || defined(__FreeBSD_kernel__)
> cpuset_t mask;
> #else
> cpu_set_t mask;
> diff --git a/src/tests/rtstutter.c b/src/tests/rtstutter.c
> index ed567c1..8096ada 100644
> --- a/src/tests/rtstutter.c
> +++ b/src/tests/rtstutter.c
> @@ -31,8 +31,10 @@
> #ifdef HAVE_PTHREAD
> #include <pthread.h>
> #ifdef HAVE_PTHREAD_SETAFFINITY_NP
> -#if defined(__FreeBSD__)
> +#if defined(__FreeBSD__) || defined(__FreeBSD_kernel__)
> +#ifdef __FreeBSD__
> #include <pthread_np.h>
> +#endif
> #include <sys/param.h>
> #include <sys/cpuset.h>
> #endif
> @@ -61,7 +63,7 @@ static void work(void *p) {
>
> #ifdef HAVE_PTHREAD_SETAFFINITY_NP
> {
> -#ifdef __FreeBSD__
> +#if defined(__FreeBSD__) || defined(__FreeBSD_kernel__)
> cpuset_t mask;
> #else
> cpu_set_t mask;
>
--
David Henningsson, Canonical Ltd.
https://launchpad.net/~diwic
More information about the pulseaudio-discuss
mailing list