fix sdl2 build on arm

classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

fix sdl2 build on arm

Jonathan Gray-11
Disable simd/neon on arm to fix build.  clang builtin assembler
can't handle pixman-arm-simd-asm.S

http://build-failures.rhaalovely.net/arm/2020-04-11/devel/sdl2.log

fix ifdef test while here

SDL2-2.0.12/src/joystick/SDL_gamecontroller.c:742:7: warning: extra tokens at end of #else directive [-Wextra-tokens]
#else if(__MACOSX__) || (__OpenBSD__)

Index: Makefile
===================================================================
RCS file: /cvs/ports/devel/sdl2/Makefile,v
retrieving revision 1.30
diff -u -p -r1.30 Makefile
--- Makefile 1 Apr 2020 20:43:08 -0000 1.30
+++ Makefile 23 May 2020 11:18:50 -0000
@@ -54,6 +54,11 @@ CONFIGURE_ENV+= ac_cv_lib_usb_hid_init=n
 CONFIGURE_ARGS+= --disable-atomic
 .endif
 
+# clang can't handle simd asm
+.if ${MACHINE_ARCH} == "arm"
+CONFIGURE_ARGS+= --disable-arm-simd
+.endif
+
 # tests in test subdir, but interactive and not hooked up to build
 NO_TEST= Yes
 
Index: patches/patch-src_joystick_SDL_gamecontroller_c
===================================================================
RCS file: /cvs/ports/devel/sdl2/patches/patch-src_joystick_SDL_gamecontroller_c,v
retrieving revision 1.5
diff -u -p -r1.5 patch-src_joystick_SDL_gamecontroller_c
--- patches/patch-src_joystick_SDL_gamecontroller_c 1 Apr 2020 20:43:08 -0000 1.5
+++ patches/patch-src_joystick_SDL_gamecontroller_c 23 May 2020 11:18:50 -0000
@@ -16,7 +16,7 @@ Index: src/joystick/SDL_gamecontroller.c
              SDL_memcpy(&pchGUID[0], "03000000", 8);
          }
 -#elif __MACOSX__
-+#else if(__MACOSX__) || (__OpenBSD__)
++#elif defined(__MACOSX__) || defined(__OpenBSD__)
          if (SDL_strlen(pchGUID) == 32 &&
              SDL_memcmp(&pchGUID[4], "000000000000", 12) == 0 &&
              SDL_memcmp(&pchGUID[20], "000000000000", 12) == 0) {

Reply | Threaded
Open this post in threaded view
|

Re: fix sdl2 build on arm

Thomas Frohwein-2
On Sat, May 23, 2020 at 09:33:30PM +1000, Jonathan Gray wrote:
> Disable simd/neon on arm to fix build.  clang builtin assembler
> can't handle pixman-arm-simd-asm.S
>
> http://build-failures.rhaalovely.net/arm/2020-04-11/devel/sdl2.log
>
> fix ifdef test while here
>
> SDL2-2.0.12/src/joystick/SDL_gamecontroller.c:742:7: warning: extra tokens at end of #else directive [-Wextra-tokens]
> #else if(__MACOSX__) || (__OpenBSD__)

I don't have a machine to test arm, but looks good to me. Thanks for finding the elif issue.

>
> Index: Makefile
> ===================================================================
> RCS file: /cvs/ports/devel/sdl2/Makefile,v
> retrieving revision 1.30
> diff -u -p -r1.30 Makefile
> --- Makefile 1 Apr 2020 20:43:08 -0000 1.30
> +++ Makefile 23 May 2020 11:18:50 -0000
> @@ -54,6 +54,11 @@ CONFIGURE_ENV+= ac_cv_lib_usb_hid_init=n
>  CONFIGURE_ARGS+= --disable-atomic
>  .endif
>  
> +# clang can't handle simd asm
> +.if ${MACHINE_ARCH} == "arm"
> +CONFIGURE_ARGS+= --disable-arm-simd
> +.endif
> +
>  # tests in test subdir, but interactive and not hooked up to build
>  NO_TEST= Yes
>  
> Index: patches/patch-src_joystick_SDL_gamecontroller_c
> ===================================================================
> RCS file: /cvs/ports/devel/sdl2/patches/patch-src_joystick_SDL_gamecontroller_c,v
> retrieving revision 1.5
> diff -u -p -r1.5 patch-src_joystick_SDL_gamecontroller_c
> --- patches/patch-src_joystick_SDL_gamecontroller_c 1 Apr 2020 20:43:08 -0000 1.5
> +++ patches/patch-src_joystick_SDL_gamecontroller_c 23 May 2020 11:18:50 -0000
> @@ -16,7 +16,7 @@ Index: src/joystick/SDL_gamecontroller.c
>               SDL_memcpy(&pchGUID[0], "03000000", 8);
>           }
>  -#elif __MACOSX__
> -+#else if(__MACOSX__) || (__OpenBSD__)
> ++#elif defined(__MACOSX__) || defined(__OpenBSD__)
>           if (SDL_strlen(pchGUID) == 32 &&
>               SDL_memcmp(&pchGUID[4], "000000000000", 12) == 0 &&
>               SDL_memcmp(&pchGUID[20], "000000000000", 12) == 0) {