[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