OpenRCT2 / openrct2-dependencies-android

3 stars 4 forks source link

SDL2 doesn't compile on mips64 and arm64 #4

Closed marijnvdwerf closed 8 years ago

marijnvdwerf commented 8 years ago
[1/118] Building C object CMakeFiles/SDL2.dir/src/SDL.c.o
[2/118] Building C object CMakeFiles/SDL2.dir/src/SDL_assert.c.o
[3/118] Building C object CMakeFiles/SDL2.dir/src/SDL_error.c.o
[4/118] Building C object CMakeFiles/SDL2.dir/src/SDL_hints.c.o
[5/118] Building C object CMakeFiles/SDL2.dir/src/SDL_log.c.o
[6/118] Building C object CMakeFiles/SDL2.dir/src/atomic/SDL_atomic.c.o
FAILED: /usr/local/opt/android-sdk/ndk-bundle/toolchains/mips64el-linux-android-4.9/prebuilt/darwin-x86_64/bin/mips64el-linux-android-gcc  --sysroot=/usr/local/opt/android-sdk/ndk-bundle/platforms/android-21/arch-mips64 -DSDL2_EXPORTS -DUSING_GENERATED_CONFIG_H -Iinclude -I/Users/marijn/deps/build/mips64/build/sdl/src/sdl_ext/include -g -DANDROID -ffunction-sections -funwind-tables -fstack-protector-strong -no-canonical-prefixes -Wa,--noexecstack -Wformat -Werror=format-security -g -DANDROID -ffunction-sections -funwind-tables -fstack-protector-strong -no-canonical-prefixes -Wa,--noexecstack -Wformat -Werror=format-security  -std=c99 -DGL_GLEXT_PROTOTYPES -D_REENTRANT -mfpmath=387 -Wshadow -fvisibility=hidden -Wdeclaration-after-statement -Werror=declaration-after-statement -Wall  -O2 -DNDEBUG -O2 -DNDEBUG  -fPIC -MD -MT CMakeFiles/SDL2.dir/src/SDL.c.o -MF CMakeFiles/SDL2.dir/src/SDL.c.o.d -o CMakeFiles/SDL2.dir/src/SDL.c.o   -c /Users/marijn/deps/build/mips64/build/sdl/src/sdl_ext/src/SDL.c
mips64el-linux-android-gcc: error: unrecognized command line option '-mfpmath=387'
FAILED: /usr/local/opt/android-sdk/ndk-bundle/toolchains/mips64el-linux-android-4.9/prebuilt/darwin-x86_64/bin/mips64el-linux-android-gcc  --sysroot=/usr/local/opt/android-sdk/ndk-bundle/platforms/android-21/arch-mips64 -DSDL2_EXPORTS -DUSING_GENERATED_CONFIG_H -Iinclude -I/Users/marijn/deps/build/mips64/build/sdl/src/sdl_ext/include -g -DANDROID -ffunction-sections -funwind-tables -fstack-protector-strong -no-canonical-prefixes -Wa,--noexecstack -Wformat -Werror=format-security -g -DANDROID -ffunction-sections -funwind-tables -fstack-protector-strong -no-canonical-prefixes -Wa,--noexecstack -Wformat -Werror=format-security  -std=c99 -DGL_GLEXT_PROTOTYPES -D_REENTRANT -mfpmath=387 -Wshadow -fvisibility=hidden -Wdeclaration-after-statement -Werror=declaration-after-statement -Wall  -O2 -DNDEBUG -O2 -DNDEBUG  -fPIC -MD -MT CMakeFiles/SDL2.dir/src/SDL_assert.c.o -MF CMakeFiles/SDL2.dir/src/SDL_assert.c.o.d -o CMakeFiles/SDL2.dir/src/SDL_assert.c.o   -c /Users/marijn/deps/build/mips64/build/sdl/src/sdl_ext/src/SDL_assert.c
mips64el-linux-android-gcc: error: unrecognized command line option '-mfpmath=387'
FAILED: /usr/local/opt/android-sdk/ndk-bundle/toolchains/mips64el-linux-android-4.9/prebuilt/darwin-x86_64/bin/mips64el-linux-android-gcc  --sysroot=/usr/local/opt/android-sdk/ndk-bundle/platforms/android-21/arch-mips64 -DSDL2_EXPORTS -DUSING_GENERATED_CONFIG_H -Iinclude -I/Users/marijn/deps/build/mips64/build/sdl/src/sdl_ext/include -g -DANDROID -ffunction-sections -funwind-tables -fstack-protector-strong -no-canonical-prefixes -Wa,--noexecstack -Wformat -Werror=format-security -g -DANDROID -ffunction-sections -funwind-tables -fstack-protector-strong -no-canonical-prefixes -Wa,--noexecstack -Wformat -Werror=format-security  -std=c99 -DGL_GLEXT_PROTOTYPES -D_REENTRANT -mfpmath=387 -Wshadow -fvisibility=hidden -Wdeclaration-after-statement -Werror=declaration-after-statement -Wall  -O2 -DNDEBUG -O2 -DNDEBUG  -fPIC -MD -MT CMakeFiles/SDL2.dir/src/SDL_error.c.o -MF CMakeFiles/SDL2.dir/src/SDL_error.c.o.d -o CMakeFiles/SDL2.dir/src/SDL_error.c.o   -c /Users/marijn/deps/build/mips64/build/sdl/src/sdl_ext/src/SDL_error.c
mips64el-linux-android-gcc: error: unrecognized command line option '-mfpmath=387'
FAILED: /usr/local/opt/android-sdk/ndk-bundle/toolchains/mips64el-linux-android-4.9/prebuilt/darwin-x86_64/bin/mips64el-linux-android-gcc  --sysroot=/usr/local/opt/android-sdk/ndk-bundle/platforms/android-21/arch-mips64 -DSDL2_EXPORTS -DUSING_GENERATED_CONFIG_H -Iinclude -I/Users/marijn/deps/build/mips64/build/sdl/src/sdl_ext/include -g -DANDROID -ffunction-sections -funwind-tables -fstack-protector-strong -no-canonical-prefixes -Wa,--noexecstack -Wformat -Werror=format-security -g -DANDROID -ffunction-sections -funwind-tables -fstack-protector-strong -no-canonical-prefixes -Wa,--noexecstack -Wformat -Werror=format-security  -std=c99 -DGL_GLEXT_PROTOTYPES -D_REENTRANT -mfpmath=387 -Wshadow -fvisibility=hidden -Wdeclaration-after-statement -Werror=declaration-after-statement -Wall  -O2 -DNDEBUG -O2 -DNDEBUG  -fPIC -MD -MT CMakeFiles/SDL2.dir/src/SDL_hints.c.o -MF CMakeFiles/SDL2.dir/src/SDL_hints.c.o.d -o CMakeFiles/SDL2.dir/src/SDL_hints.c.o   -c /Users/marijn/deps/build/mips64/build/sdl/src/sdl_ext/src/SDL_hints.c
mips64el-linux-android-gcc: error: unrecognized command line option '-mfpmath=387'
FAILED: /usr/local/opt/android-sdk/ndk-bundle/toolchains/mips64el-linux-android-4.9/prebuilt/darwin-x86_64/bin/mips64el-linux-android-gcc  --sysroot=/usr/local/opt/android-sdk/ndk-bundle/platforms/android-21/arch-mips64 -DSDL2_EXPORTS -DUSING_GENERATED_CONFIG_H -Iinclude -I/Users/marijn/deps/build/mips64/build/sdl/src/sdl_ext/include -g -DANDROID -ffunction-sections -funwind-tables -fstack-protector-strong -no-canonical-prefixes -Wa,--noexecstack -Wformat -Werror=format-security -g -DANDROID -ffunction-sections -funwind-tables -fstack-protector-strong -no-canonical-prefixes -Wa,--noexecstack -Wformat -Werror=format-security  -std=c99 -DGL_GLEXT_PROTOTYPES -D_REENTRANT -mfpmath=387 -Wshadow -fvisibility=hidden -Wdeclaration-after-statement -Werror=declaration-after-statement -Wall  -O2 -DNDEBUG -O2 -DNDEBUG  -fPIC -MD -MT CMakeFiles/SDL2.dir/src/SDL_log.c.o -MF CMakeFiles/SDL2.dir/src/SDL_log.c.o.d -o CMakeFiles/SDL2.dir/src/SDL_log.c.o   -c /Users/marijn/deps/build/mips64/build/sdl/src/sdl_ext/src/SDL_log.c
mips64el-linux-android-gcc: error: unrecognized command line option '-mfpmath=387'
FAILED: /usr/local/opt/android-sdk/ndk-bundle/toolchains/mips64el-linux-android-4.9/prebuilt/darwin-x86_64/bin/mips64el-linux-android-gcc  --sysroot=/usr/local/opt/android-sdk/ndk-bundle/platforms/android-21/arch-mips64 -DSDL2_EXPORTS -DUSING_GENERATED_CONFIG_H -Iinclude -I/Users/marijn/deps/build/mips64/build/sdl/src/sdl_ext/include -g -DANDROID -ffunction-sections -funwind-tables -fstack-protector-strong -no-canonical-prefixes -Wa,--noexecstack -Wformat -Werror=format-security -g -DANDROID -ffunction-sections -funwind-tables -fstack-protector-strong -no-canonical-prefixes -Wa,--noexecstack -Wformat -Werror=format-security  -std=c99 -DGL_GLEXT_PROTOTYPES -D_REENTRANT -mfpmath=387 -Wshadow -fvisibility=hidden -Wdeclaration-after-statement -Werror=declaration-after-statement -Wall  -O2 -DNDEBUG -O2 -DNDEBUG  -fPIC -MD -MT CMakeFiles/SDL2.dir/src/atomic/SDL_atomic.c.o -MF CMakeFiles/SDL2.dir/src/atomic/SDL_atomic.c.o.d -o CMakeFiles/SDL2.dir/src/atomic/SDL_atomic.c.o   -c /Users/marijn/deps/build/mips64/build/sdl/src/sdl_ext/src/atomic/SDL_atomic.c
mips64el-linux-android-gcc: error: unrecognized command line option '-mfpmath=387'
ninja: build stopped: subcommand failed.
marijnvdwerf commented 8 years ago
[1/118] Building C object CMakeFiles/SDL2.dir/src/SDL.c.o
[2/118] Building C object CMakeFiles/SDL2.dir/src/SDL_assert.c.o
[3/118] Building C object CMakeFiles/SDL2.dir/src/SDL_error.c.o
[4/118] Building C object CMakeFiles/SDL2.dir/src/SDL_hints.c.o
[5/118] Building C object CMakeFiles/SDL2.dir/src/SDL_log.c.o
[6/118] Building C object CMakeFiles/SDL2.dir/src/atomic/SDL_atomic.c.o
FAILED: /usr/local/opt/android-sdk/ndk-bundle/toolchains/aarch64-linux-android-4.9/prebuilt/darwin-x86_64/bin/aarch64-linux-android-gcc  --sysroot=/usr/local/opt/android-sdk/ndk-bundle/platforms/android-21/arch-arm64 -DSDL2_EXPORTS -DUSING_GENERATED_CONFIG_H -Iinclude -I/Users/marijn/deps/build/arm64-v8a/build/sdl/src/sdl_ext/include -g -DANDROID -ffunction-sections -funwind-tables -fstack-protector-strong -no-canonical-prefixes -Wa,--noexecstack -Wformat -Werror=format-security -g -DANDROID -ffunction-sections -funwind-tables -fstack-protector-strong -no-canonical-prefixes -Wa,--noexecstack -Wformat -Werror=format-security  -std=gnu99 -DGL_GLEXT_PROTOTYPES -D_REENTRANT -mfpmath=387 -Wshadow -fvisibility=hidden -Wdeclaration-after-statement -Werror=declaration-after-statement -Wall  -O2 -DNDEBUG -O2 -DNDEBUG  -fPIC -MD -MT CMakeFiles/SDL2.dir/src/SDL.c.o -MF CMakeFiles/SDL2.dir/src/SDL.c.o.d -o CMakeFiles/SDL2.dir/src/SDL.c.o   -c /Users/marijn/deps/build/arm64-v8a/build/sdl/src/sdl_ext/src/SDL.c
aarch64-linux-android-gcc: error: unrecognized command line option '-mfpmath=387'
FAILED: /usr/local/opt/android-sdk/ndk-bundle/toolchains/aarch64-linux-android-4.9/prebuilt/darwin-x86_64/bin/aarch64-linux-android-gcc  --sysroot=/usr/local/opt/android-sdk/ndk-bundle/platforms/android-21/arch-arm64 -DSDL2_EXPORTS -DUSING_GENERATED_CONFIG_H -Iinclude -I/Users/marijn/deps/build/arm64-v8a/build/sdl/src/sdl_ext/include -g -DANDROID -ffunction-sections -funwind-tables -fstack-protector-strong -no-canonical-prefixes -Wa,--noexecstack -Wformat -Werror=format-security -g -DANDROID -ffunction-sections -funwind-tables -fstack-protector-strong -no-canonical-prefixes -Wa,--noexecstack -Wformat -Werror=format-security  -std=gnu99 -DGL_GLEXT_PROTOTYPES -D_REENTRANT -mfpmath=387 -Wshadow -fvisibility=hidden -Wdeclaration-after-statement -Werror=declaration-after-statement -Wall  -O2 -DNDEBUG -O2 -DNDEBUG  -fPIC -MD -MT CMakeFiles/SDL2.dir/src/SDL_assert.c.o -MF CMakeFiles/SDL2.dir/src/SDL_assert.c.o.d -o CMakeFiles/SDL2.dir/src/SDL_assert.c.o   -c /Users/marijn/deps/build/arm64-v8a/build/sdl/src/sdl_ext/src/SDL_assert.c
aarch64-linux-android-gcc: error: unrecognized command line option '-mfpmath=387'
FAILED: /usr/local/opt/android-sdk/ndk-bundle/toolchains/aarch64-linux-android-4.9/prebuilt/darwin-x86_64/bin/aarch64-linux-android-gcc  --sysroot=/usr/local/opt/android-sdk/ndk-bundle/platforms/android-21/arch-arm64 -DSDL2_EXPORTS -DUSING_GENERATED_CONFIG_H -Iinclude -I/Users/marijn/deps/build/arm64-v8a/build/sdl/src/sdl_ext/include -g -DANDROID -ffunction-sections -funwind-tables -fstack-protector-strong -no-canonical-prefixes -Wa,--noexecstack -Wformat -Werror=format-security -g -DANDROID -ffunction-sections -funwind-tables -fstack-protector-strong -no-canonical-prefixes -Wa,--noexecstack -Wformat -Werror=format-security  -std=gnu99 -DGL_GLEXT_PROTOTYPES -D_REENTRANT -mfpmath=387 -Wshadow -fvisibility=hidden -Wdeclaration-after-statement -Werror=declaration-after-statement -Wall  -O2 -DNDEBUG -O2 -DNDEBUG  -fPIC -MD -MT CMakeFiles/SDL2.dir/src/SDL_error.c.o -MF CMakeFiles/SDL2.dir/src/SDL_error.c.o.d -o CMakeFiles/SDL2.dir/src/SDL_error.c.o   -c /Users/marijn/deps/build/arm64-v8a/build/sdl/src/sdl_ext/src/SDL_error.c
aarch64-linux-android-gcc: error: unrecognized command line option '-mfpmath=387'
FAILED: /usr/local/opt/android-sdk/ndk-bundle/toolchains/aarch64-linux-android-4.9/prebuilt/darwin-x86_64/bin/aarch64-linux-android-gcc  --sysroot=/usr/local/opt/android-sdk/ndk-bundle/platforms/android-21/arch-arm64 -DSDL2_EXPORTS -DUSING_GENERATED_CONFIG_H -Iinclude -I/Users/marijn/deps/build/arm64-v8a/build/sdl/src/sdl_ext/include -g -DANDROID -ffunction-sections -funwind-tables -fstack-protector-strong -no-canonical-prefixes -Wa,--noexecstack -Wformat -Werror=format-security -g -DANDROID -ffunction-sections -funwind-tables -fstack-protector-strong -no-canonical-prefixes -Wa,--noexecstack -Wformat -Werror=format-security  -std=gnu99 -DGL_GLEXT_PROTOTYPES -D_REENTRANT -mfpmath=387 -Wshadow -fvisibility=hidden -Wdeclaration-after-statement -Werror=declaration-after-statement -Wall  -O2 -DNDEBUG -O2 -DNDEBUG  -fPIC -MD -MT CMakeFiles/SDL2.dir/src/SDL_hints.c.o -MF CMakeFiles/SDL2.dir/src/SDL_hints.c.o.d -o CMakeFiles/SDL2.dir/src/SDL_hints.c.o   -c /Users/marijn/deps/build/arm64-v8a/build/sdl/src/sdl_ext/src/SDL_hints.c
aarch64-linux-android-gcc: error: unrecognized command line option '-mfpmath=387'
FAILED: /usr/local/opt/android-sdk/ndk-bundle/toolchains/aarch64-linux-android-4.9/prebuilt/darwin-x86_64/bin/aarch64-linux-android-gcc  --sysroot=/usr/local/opt/android-sdk/ndk-bundle/platforms/android-21/arch-arm64 -DSDL2_EXPORTS -DUSING_GENERATED_CONFIG_H -Iinclude -I/Users/marijn/deps/build/arm64-v8a/build/sdl/src/sdl_ext/include -g -DANDROID -ffunction-sections -funwind-tables -fstack-protector-strong -no-canonical-prefixes -Wa,--noexecstack -Wformat -Werror=format-security -g -DANDROID -ffunction-sections -funwind-tables -fstack-protector-strong -no-canonical-prefixes -Wa,--noexecstack -Wformat -Werror=format-security  -std=gnu99 -DGL_GLEXT_PROTOTYPES -D_REENTRANT -mfpmath=387 -Wshadow -fvisibility=hidden -Wdeclaration-after-statement -Werror=declaration-after-statement -Wall  -O2 -DNDEBUG -O2 -DNDEBUG  -fPIC -MD -MT CMakeFiles/SDL2.dir/src/SDL_log.c.o -MF CMakeFiles/SDL2.dir/src/SDL_log.c.o.d -o CMakeFiles/SDL2.dir/src/SDL_log.c.o   -c /Users/marijn/deps/build/arm64-v8a/build/sdl/src/sdl_ext/src/SDL_log.c
aarch64-linux-android-gcc: error: unrecognized command line option '-mfpmath=387'
FAILED: /usr/local/opt/android-sdk/ndk-bundle/toolchains/aarch64-linux-android-4.9/prebuilt/darwin-x86_64/bin/aarch64-linux-android-gcc  --sysroot=/usr/local/opt/android-sdk/ndk-bundle/platforms/android-21/arch-arm64 -DSDL2_EXPORTS -DUSING_GENERATED_CONFIG_H -Iinclude -I/Users/marijn/deps/build/arm64-v8a/build/sdl/src/sdl_ext/include -g -DANDROID -ffunction-sections -funwind-tables -fstack-protector-strong -no-canonical-prefixes -Wa,--noexecstack -Wformat -Werror=format-security -g -DANDROID -ffunction-sections -funwind-tables -fstack-protector-strong -no-canonical-prefixes -Wa,--noexecstack -Wformat -Werror=format-security  -std=gnu99 -DGL_GLEXT_PROTOTYPES -D_REENTRANT -mfpmath=387 -Wshadow -fvisibility=hidden -Wdeclaration-after-statement -Werror=declaration-after-statement -Wall  -O2 -DNDEBUG -O2 -DNDEBUG  -fPIC -MD -MT CMakeFiles/SDL2.dir/src/atomic/SDL_atomic.c.o -MF CMakeFiles/SDL2.dir/src/atomic/SDL_atomic.c.o.d -o CMakeFiles/SDL2.dir/src/atomic/SDL_atomic.c.o   -c /Users/marijn/deps/build/arm64-v8a/build/sdl/src/sdl_ext/src/atomic/SDL_atomic.c
aarch64-linux-android-gcc: error: unrecognized command line option '-mfpmath=387'
ninja: build stopped: subcommand failed.
marijnvdwerf commented 8 years ago

I'm guessing this check should use HAVE_SSE and HAVE_SSE2? https://github.com/spurious/SDL-mirror/blob/master/CMakeLists.txt#L519

LRFLEW commented 8 years ago

I'm not sure that's the case. From what I'm seeing, SSE and SSE2 are options (ex. --enable-sse like thing), whereas HAVE_SSE and HAVE_SSE2 are compiler checks. It's likely that it's correctly checking to see if SSE is requested, but for some reason SSE is being requested for this build. Is there a -msse" or `-msse2" flag being passed to the compiler (It shouldn't for these architectures) (see the lines above the ones you linked)?

EDIT: Nevermind. I looked closer at the code. It checks to see if SSE/SSE2 is requested, but then only adds the flag if HAVE_SSE/HAVE_SSE2 is available. The check should be more like if((SSE AND HAVE_SSE) OR (SSE2 AND HAVE_SSE2))

marijnvdwerf commented 8 years ago

Fixed it by using https://bugzilla.libsdl.org/attachment.cgi?id=2383&action=diff