Bug 23677

Summary: build pixman-arm-simd.c always when pixman-arm-neon.c is being built
Product: pixman Reporter: Adrian Bunk <bunk>
Component: pixmanAssignee: Søren Sandmann Pedersen <soren.sandmann>
Status: RESOLVED FIXED QA Contact: Søren Sandmann Pedersen <soren.sandmann>
Severity: normal    
Priority: medium CC: siarhei.siamashka
Version: 0.1.3Keywords: patch
Hardware: Other   
OS: All   
Whiteboard:
i915 platform: i915 features:
Attachments: patch to fix the problem

Description Adrian Bunk 2009-09-03 03:29:36 UTC
Created attachment 29166 [details] [review]
patch to fix the problem

SIMD=n, NEON=y resulted in a build error due to pixman-arm-neon.c
calling _pixman_implementation_create_arm_simd().

Let pixman-arm-simd.c be basically empty when SIMD is disabled and
NEON is enabled.

That's a general problem, but hits especially when building
Thumb-2 code.
Comment 1 Siarhei Siamashka 2009-09-03 10:37:28 UTC
Ugh, this looks way too complex for what it does.

If keeping a fallback to ARMv6 code has to be preserved no matter what, maybe just an '#ifdef USE_ARM_SIMD' in pixman-arm-neon.c could do this in a much cleaner way?
Comment 2 Siarhei Siamashka 2009-09-06 14:30:50 UTC
I applied the following patch after all: http://bugs.freedesktop.org/attachment.cgi?id=29109
The end result is the same and thumb-2 build problem is fixed.

Not building 'pixman-arm-simd.c' source file when 'arm-simd' is disabled by configure is not a problem as such. Quite the contrary, compiling an empty file with a stub function is not a very good looking workaround.
Comment 3 Adrian Bunk 2009-09-07 01:17:40 UTC
(In reply to comment #2)
> I applied the following patch after all:
> http://bugs.freedesktop.org/attachment.cgi?id=29109
> The end result is the same and thumb-2 build problem is fixed.
> 
> Not building 'pixman-arm-simd.c' source file when 'arm-simd' is disabled by
> configure is not a problem as such.
>...

After reading _pixman_choose_implementation() I agree with you.

Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.