From f30ae986e19931fc21cc7b33bc30714ea9588ff1 Mon Sep 17 00:00:00 2001 From: Wohlstand Date: Tue, 31 Oct 2023 05:57:54 +0300 Subject: [PATCH] Fixed build --- .appveyor.yml | 4 ++-- CMakeLists.txt | 22 ++++++++++++---------- cmake/DownloadAudioCodecs.cmake | 4 +--- src/codecs/music_drmp3.cmake | 5 +++++ 4 files changed, 20 insertions(+), 15 deletions(-) diff --git a/.appveyor.yml b/.appveyor.yml index 59b0625..27b7602 100644 --- a/.appveyor.yml +++ b/.appveyor.yml @@ -11,7 +11,7 @@ environment: GENERATOR: "MinGW Makefiles" PLATFORM: Win32-VB6-Binding IS_VB6_BINDING: YES - EXTRA_CMAKE_FLAGS: "-DMIXERX_ENABLE_GPL=ON -DBUILD_AS_VB6_BINDING=ON -DAUDIOCODECS_DISABLE_SIMD=ON -DAUDIO_CODECS_BUILD_LOCAL_SDL2_SHARED=OFF -DAUDIO_CODECS_BUILD_LOCAL_SDL2=ON" + EXTRA_CMAKE_FLAGS: "-DMIXERX_ENABLE_GPL=ON -DBUILD_AS_VB6_BINDING=ON -DMIXERX_DISABLE_SIMD=ON -DAUDIO_CODECS_BUILD_LOCAL_SDL2_SHARED=OFF -DAUDIO_CODECS_BUILD_LOCAL_SDL2=ON" APPVEYOR_BUILD_WORKER_IMAGE: "Visual Studio 2019" - NAME: MinGW-w64-i686-VB6-SDL.2.0.22-MinSizeRel @@ -21,7 +21,7 @@ environment: GENERATOR: "MinGW Makefiles" PLATFORM: Win32-VB6-Binding-SDL-2.0.22 IS_VB6_BINDING: YES - EXTRA_CMAKE_FLAGS: "-DMIXERX_ENABLE_GPL=ON -DBUILD_AS_VB6_BINDING=ON -DAUDIOCODECS_DISABLE_SIMD=ON -DAUDIO_CODECS_BUILD_LOCAL_SDL2_SHARED=OFF -DAUDIO_CODECS_SDL2_GIT_BRANCH=237348c -DWITH_SDL2_WASAPI=OFF" + EXTRA_CMAKE_FLAGS: "-DMIXERX_ENABLE_GPL=ON -DBUILD_AS_VB6_BINDING=ON -DMIXERX_DISABLE_SIMD=ON -DAUDIO_CODECS_BUILD_LOCAL_SDL2_SHARED=OFF -DAUDIO_CODECS_SDL2_GIT_BRANCH=237348c -DWITH_SDL2_WASAPI=OFF" APPVEYOR_BUILD_WORKER_IMAGE: "Visual Studio 2019" # - NAME: MinGW-w64-i686-VB6-SDL.2.0.8-MinSizeRel diff --git a/CMakeLists.txt b/CMakeLists.txt index 3222442..88b9031 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -58,6 +58,8 @@ set(AUDIO_CODECS_INSTALL_PATH "" CACHE PATH "Path to installed AudioCodecs prefi option(MIXERX_ENABLE_LGPL "Enable components with LGPL license" OFF) option(MIXERX_ENABLE_GPL "Enable using of components with GPL and LGPL licenses" OFF) +option(MIXERX_DISABLE_SIMD "Disable any SIMD optimizations as possible" OFF) + option(ENABLE_ADDRESS_SANITIZER "Enable the Address Sanitizer GCC feature" OFF) set(MIXERX_ZLIB TRUE) @@ -112,6 +114,16 @@ if(MSVC) mixer_add_opt_flag("/utf-8" MSVC_UTF8) endif() +if(MIXERX_DISABLE_SIMD) + mixer_add_opt_flag("-mno-sse2" NO_SSE2) + mixer_add_opt_flag("-mno-sse3" NO_SSE3) + mixer_add_opt_flag("-mno-ssse3" NO_SSSE3) + mixer_add_opt_flag("-mno-sse4.1" NO_SSE41) + mixer_add_opt_flag("-mno-sse4.2" NO_SSE42) + mixer_add_opt_flag("-mno-avx" NO_AVX) + mixer_add_opt_flag("-mno-avx2" NO_AVX2) + mixer_add_opt_flag("-mno-avx512f" NO_AVX512F) +endif() # ================= Audio Codecs ======================= @@ -264,16 +276,6 @@ if(WIN32 AND NOT EMSCRIPTEN) list(APPEND SDLMixerX_LINK_LIBS stdc++ gcc pthread) unset(STDCPP_NEEDED) # stdc++ has been handled, no need to link it twice endif() - - mixer_add_opt_flag("-mno-sse" NO_SSE) - mixer_add_opt_flag("-mno-sse2" NO_SSE2) - mixer_add_opt_flag("-mno-sse3" NO_SSE3) - mixer_add_opt_flag("-mno-ssse3" NO_SSSE3) - mixer_add_opt_flag("-mno-sse4.1" NO_SSE41) - mixer_add_opt_flag("-mno-sse4.2" NO_SSE42) - mixer_add_opt_flag("-mno-avx" NO_AVX) - mixer_add_opt_flag("-mno-avx2" NO_AVX2) - mixer_add_opt_flag("-mno-avx512f" NO_AVX512F) endif() endif() diff --git a/cmake/DownloadAudioCodecs.cmake b/cmake/DownloadAudioCodecs.cmake index 96a62e8..86403ca 100644 --- a/cmake/DownloadAudioCodecs.cmake +++ b/cmake/DownloadAudioCodecs.cmake @@ -71,8 +71,6 @@ option(AUDIOCODECS_BUILD_OPNMIDI "Build libOPNMIDI at AudioCodecs" ON) option(AUDIOCODECS_BUILD_EDMIDI "Build libEDMIDI at AudioCodecs" ON) option(AUDIOCODECS_BUILD_WAVPACK "Build WAVPACK at AudioCodecs" ON) -option(AUDIOCODECS_DISABLE_SIMD "Disable any SIMD optimizations as possible in AudioCodecs" OFF) - option(AUDIO_CODECS_BUILD_LOCAL_SDL2_SHARED "Build shared version of SDL2 from local AudioCodecs' copy" ON) ExternalProject_Add( @@ -89,7 +87,7 @@ ExternalProject_Add( "-DDOWNLOAD_SDL2_DEPENDENCY=${AUDIO_CODECS_DOWNLOAD_SDL}" "-DUSE_LOCAL_SDL2=${AUDIO_CODECS_BUILD_LOCAL_SDL2}" "-DBUILD_SDL2_SHARED=${AUDIO_CODECS_BUILD_LOCAL_SDL2_SHARED}" - "-DDISABLE_SIMD=${AUDIOCODECS_DISABLE_SIMD}" + "-DDISABLE_SIMD=${MIXERX_DISABLE_SIMD}" ${SDL2_WASAPI_FLAG} ${SDL2_TAGS} ${ADLMIDI_FLAGS} diff --git a/src/codecs/music_drmp3.cmake b/src/codecs/music_drmp3.cmake index e31846e..11b3491 100644 --- a/src/codecs/music_drmp3.cmake +++ b/src/codecs/music_drmp3.cmake @@ -7,6 +7,11 @@ if(USE_MP3_DRMP3 OR USE_MP3_MINIMP3) message("== using DRMP3 (public domain or MIT-0) ==") setLicense(LICENSE_PUBLICDOMAIN) list(APPEND SDL_MIXER_DEFINITIONS -DMUSIC_MP3_DRMP3) + + if(MIXERX_DISABLE_SIMD) + list(APPEND SDL_MIXER_DEFINITIONS -DDR_MP3_NO_SIMD=1) + endif() + list(APPEND SDLMixerX_SOURCES ${CMAKE_CURRENT_LIST_DIR}/music_drmp3.c ${CMAKE_CURRENT_LIST_DIR}/music_drmp3.h