From 8c9de74638a65418e56022bb4b388ccd29693a09 Mon Sep 17 00:00:00 2001 From: twinaphex Date: Sat, 13 Jul 2013 03:48:02 +0200 Subject: [PATCH] Add config params for hard float/soft float --- Makefile | 4 ++++ qb/config.libs.sh | 20 ++++++++++++++++---- qb/config.params.sh | 2 ++ 3 files changed, 22 insertions(+), 4 deletions(-) diff --git a/Makefile b/Makefile index 9d9f825d08..80aad3fa87 100644 --- a/Makefile +++ b/Makefile @@ -140,6 +140,10 @@ ifeq ($(HAVE_ROAR), 1) DEFINES += $(ROAR_CFLAGS) endif +ifeq ($(HAVE_HARD_FLOAT), 1) + DEFINES += -mfloat-abi=hard +endif + ifeq ($(HAVE_AL), 1) OBJ += audio/openal.o ifeq ($(OSX),1) diff --git a/qb/config.libs.sh b/qb/config.libs.sh index 57eb0bc74a..37828765f0 100644 --- a/qb/config.libs.sh +++ b/qb/config.libs.sh @@ -33,10 +33,22 @@ if [ "$HAVE_VIDEOCORE" = 'yes' ]; then EXTRA_GL_LIBS="-lGLESv2 -lbcm_host -lvcos -lvchiq_arm" fi +if [ "$HAVE_FLOATHARD" = "yes" ]; then + CFLAGS="$CFLAGS -mfloat-abi=hard" + CXXFLAGS="$CFLAGS -mfloat-abi=hard" + ASFLAGS="$CFLAGS -mfloat-abi=hard" +fi + +if [ "$HAVE_FLOATSOFTFP" = "yes" ]; then + CFLAGS="$CFLAGS -mfloat-abi=softfp" + CXXFLAGS="$CFLAGS -mfloat-abi=softfp" + ASFLAGS="$CFLAGS -mfloat-abi=softfp" +fi + if [ "$HAVE_NEON" = "yes" ]; then - CFLAGS="$CFLAGS -mfpu=neon -mfloat-abi=hard" - CXXFLAGS="$CXXFLAGS -mfpu=neon -mfloat-abi=hard" - ASFLAGS="$ASFLAGS -mfpu=neon -mfloat-abi=hard" + CFLAGS="$CFLAGS -mfpu=neon" + CXXFLAGS="$CXXFLAGS -mfpu=neon" + ASFLAGS="$ASFLAGS -mfpu=neon" fi if [ "$HAVE_SSE" = "yes" ]; then @@ -224,6 +236,6 @@ add_define_make OS "$OS" # Creates config.mk and config.h. add_define_make GLOBAL_CONFIG_DIR "$GLOBAL_CONFIG_DIR" -VARS="RGUI ALSA OSS OSS_BSD OSS_LIB AL RSOUND ROAR JACK COREAUDIO PULSE SDL OPENGL GLES VG EGL KMS GBM DRM DYLIB GETOPT_LONG THREADS CG LIBXML2 SDL_IMAGE ZLIB DYNAMIC FFMPEG AVCODEC AVFORMAT AVUTIL SWSCALE FREETYPE XVIDEO X11 XEXT XF86VM XINERAMA NETPLAY NETWORK_CMD STDIN_CMD COMMAND SOCKET_LEGACY FBO STRL PYTHON FFMPEG_ALLOC_CONTEXT3 FFMPEG_AVCODEC_OPEN2 FFMPEG_AVIO_OPEN FFMPEG_AVFORMAT_WRITE_HEADER FFMPEG_AVFORMAT_NEW_STREAM FFMPEG_AVCODEC_ENCODE_AUDIO2 FFMPEG_AVCODEC_ENCODE_VIDEO2 BSV_MOVIE VIDEOCORE NEON" +VARS="RGUI ALSA OSS OSS_BSD OSS_LIB AL RSOUND ROAR JACK COREAUDIO PULSE SDL OPENGL GLES VG EGL KMS GBM DRM DYLIB GETOPT_LONG THREADS CG LIBXML2 SDL_IMAGE ZLIB DYNAMIC FFMPEG AVCODEC AVFORMAT AVUTIL SWSCALE FREETYPE XVIDEO X11 XEXT XF86VM XINERAMA NETPLAY NETWORK_CMD STDIN_CMD COMMAND SOCKET_LEGACY FBO STRL PYTHON FFMPEG_ALLOC_CONTEXT3 FFMPEG_AVCODEC_OPEN2 FFMPEG_AVIO_OPEN FFMPEG_AVFORMAT_WRITE_HEADER FFMPEG_AVFORMAT_NEW_STREAM FFMPEG_AVCODEC_ENCODE_AUDIO2 FFMPEG_AVCODEC_ENCODE_VIDEO2 BSV_MOVIE VIDEOCORE NEON FLOATHARD FLOATSOFTFP" create_config_make config.mk $VARS create_config_header config.h $VARS diff --git a/qb/config.params.sh b/qb/config.params.sh index 3ac1576b84..cd7b02bb4b 100644 --- a/qb/config.params.sh +++ b/qb/config.params.sh @@ -33,3 +33,5 @@ HAVE_PYTHON=auto # Enable Python 3 support for shaders HAVE_BSV_MOVIE=yes # Disable BSV movie support HAVE_NEON=no # Forcefully enable ARM NEON optimizations (hardfloat) HAVE_SSE=no # Forcefully enable x86 SSE optimizations (SSE, SSE2) +HAVE_FLOATHARD=no # Setup hard float ABI (for ARM) +HAVE_FLOATSOFTFP=no # Setup softfloat ABI (for ARM)