diff --git a/3rdparty/bzip2.cmake b/3rdparty/bzip2.cmake index b0f612c..f8ce6b6 100644 --- a/3rdparty/bzip2.cmake +++ b/3rdparty/bzip2.cmake @@ -17,28 +17,28 @@ message(STATUS "BZIP2 VERSION: ${BZ_VERSION}") # Do not disable assertions based on CMAKE_BUILD_TYPE. foreach(_build_type Release MinSizeRel RelWithDebInfo) - foreach(_lang C) - string(TOUPPER CMAKE_${_lang}_FLAGS_${_build_type} _var) - string(REGEX REPLACE "(^|)[/-]D *NDEBUG($|)" " " ${_var} "${${_var}}") - endforeach() + foreach(_lang C) + string(TOUPPER CMAKE_${_lang}_FLAGS_${_build_type} _var) + string(REGEX REPLACE "(^|)[/-]D *NDEBUG($|)" " " ${_var} "${${_var}}") + endforeach() endforeach() # Support the latest c++ standard available. include(ExtractValidFlags) if(NOT CMAKE_BUILD_TYPE AND NOT CMAKE_CONFIGURATION_TYPES) - set(CMAKE_BUILD_TYPE RelWithDebInfo CACHE STRING "Choose the build type" FORCE) + set(CMAKE_BUILD_TYPE RelWithDebInfo CACHE STRING "Choose the build type" FORCE) - # Include "None" as option to disable any additional (optimization) flags, - # relying on just CMAKE_C_FLAGS and CMAKE_CXX_FLAGS (which are empty by - # default). These strings are presented in cmake-gui. - set_property(CACHE CMAKE_BUILD_TYPE PROPERTY STRINGS - None Debug Release MinSizeRel RelWithDebInfo) + # Include "None" as option to disable any additional (optimization) flags, + # relying on just CMAKE_C_FLAGS and CMAKE_CXX_FLAGS (which are empty by + # default). These strings are presented in cmake-gui. + set_property(CACHE CMAKE_BUILD_TYPE PROPERTY STRINGS + None Debug Release MinSizeRel RelWithDebInfo) endif() # Always use '-fPIC'/'-fPIE' option, except when using MingW to compile for WoA. if(NOT "${CMAKE_C_PLATFORM_ID}" MATCHES "MinGW" OR (NOT "${CMAKE_SYSTEM_PROCESSOR}" MATCHES "aarch64" AND NOT "${CMAKE_SYSTEM_PROCESSOR}" MATCHES "arm")) - set(CMAKE_POSITION_INDEPENDENT_CODE ON) + set(CMAKE_POSITION_INDEPENDENT_CODE ON) endif() # Checks for header files. @@ -60,13 +60,13 @@ include(CheckTypeSize) # Checks for typedefs, structures, and compiler characteristics. # AC_TYPE_SIZE_T if(NOT "${CMAKE_C_PLATFORM_ID}" MATCHES "MinGW" OR (NOT ${CMAKE_SYSTEM_PROCESSOR} MATCHES "arm" AND NOT ${CMAKE_SYSTEM_PROCESSOR} MATCHES "aarch64")) - check_type_size("ssize_t" SIZEOF_SSIZE_T) + check_type_size("ssize_t" SIZEOF_SSIZE_T) endif() if(NOT SIZEOF_SSIZE_T) - # ssize_t is a signed type in POSIX storing at least -1. - # Set it to "int" to match the behavior of AC_TYPE_SSIZE_T (autotools). - set(ssize_t int) + # ssize_t is a signed type in POSIX storing at least -1. + # Set it to "int" to match the behavior of AC_TYPE_SSIZE_T (autotools). + set(ssize_t int) endif() include(CheckStructHasMember) @@ -82,11 +82,11 @@ include(CheckSymbolExists) # XXX does this correctly detect initgroups (un)availability on cygwin? check_symbol_exists(initgroups grp.h HAVE_DECL_INITGROUPS) if(NOT HAVE_DECL_INITGROUPS AND HAVE_UNISTD_H) - # FreeBSD declares initgroups() in unistd.h - check_symbol_exists(initgroups unistd.h HAVE_DECL_INITGROUPS2) - if(HAVE_DECL_INITGROUPS2) - set(HAVE_DECL_INITGROUPS 1) - endif() + # FreeBSD declares initgroups() in unistd.h + check_symbol_exists(initgroups unistd.h HAVE_DECL_INITGROUPS2) + if(HAVE_DECL_INITGROUPS2) + set(HAVE_DECL_INITGROUPS 1) + endif() endif() # The build targets. diff --git a/3rdparty/flac.cmake b/3rdparty/flac.cmake index 9d42a8b..422f405 100644 --- a/3rdparty/flac.cmake +++ b/3rdparty/flac.cmake @@ -51,13 +51,13 @@ check_include_file("arm_neon.h" FLAC__HAS_NEONINTRIN) check_include_file("semaphore.h" HAVE_SEMAPHORE_H) if(NOT HAVE_STDINT_H OR NOT HAVE_STDBOOL_H) - message(SEND_ERROR "Header stdint.h and/or stdbool.h not found") + message(SEND_ERROR "Header stdint.h and/or stdbool.h not found") endif() if(MSVC) - check_include_file("intrin.h" FLAC__HAS_X86INTRIN) + check_include_file("intrin.h" FLAC__HAS_X86INTRIN) else() - check_include_file("x86intrin.h" FLAC__HAS_X86INTRIN) + check_include_file("x86intrin.h" FLAC__HAS_X86INTRIN) endif() check_function_exists(fseeko HAVE_FSEEKO) @@ -66,14 +66,14 @@ check_c_source_compiles("int main() { return __builtin_bswap16 (0) ; }" HAVE_BSW check_c_source_compiles("int main() { return __builtin_bswap32 (0) ; }" HAVE_BSWAP32) if(NOT "${CMAKE_C_PLATFORM_ID}" MATCHES "MinGW" OR (NOT ${CMAKE_SYSTEM_PROCESSOR} MATCHES "arm" AND NOT ${CMAKE_SYSTEM_PROCESSOR} MATCHES "aarch64")) - test_big_endian(CPU_IS_BIG_ENDIAN) + test_big_endian(CPU_IS_BIG_ENDIAN) endif() check_c_compiler_flag(-mstackrealign HAVE_STACKREALIGN_FLAG) if(CMAKE_SYSTEM_PROCESSOR STREQUAL "i686" AND HAVE_STACKREALIGN_FLAG) - add_compile_options(-mstackrealign) - add_compile_options($<$,$>:-mstackrealign>) + add_compile_options(-mstackrealign) + add_compile_options($<$,$>:-mstackrealign>) endif() include_directories("3rdparty/flac/include") @@ -82,9 +82,9 @@ include_directories("${CMAKE_CURRENT_BINARY_DIR}/3rdparty/flac") add_definitions(-DHAVE_CONFIG_H) if(MSVC) - add_definitions( - -D_CRT_SECURE_NO_WARNINGS - -D_USE_MATH_DEFINES) + add_definitions( + -D_CRT_SECURE_NO_WARNINGS + -D_USE_MATH_DEFINES) endif() option(WITH_ASM "Use any assembly optimization routines" ON) @@ -101,36 +101,36 @@ include(CheckA64NEON) check_cpu_arch_x64(FLAC__CPU_X86_64) if(NOT FLAC__CPU_X86_64) - check_cpu_arch_x86(FLAC__CPU_IA32) + check_cpu_arch_x86(FLAC__CPU_IA32) endif() if(FLAC__CPU_X86_64 OR FLAC__CPU_IA32) - set(FLAC__ALIGN_MALLOC_DATA 1) - option(WITH_AVX "Enable AVX, AVX2 optimizations (with runtime detection, resulting binary does not require AVX2, so only necessary when a compiler doesn't know about AVX)" ON) - if(WITH_AVX AND MSVC) - set_source_files_properties(fixed_intrin_avx2.c lpc_intrin_avx2.c stream_encoder_intrin_avx2.c PROPERTIES COMPILE_FLAGS /arch:AVX2) - set_source_files_properties(lpc_intrin_fma.c PROPERTIES COMPILE_FLAGS "/arch:AVX2 /fp:fast") - endif() - if(WITH_AVX AND (CMAKE_C_COMPILER_ID MATCHES "Clang")) - set_source_files_properties(lpc_intrin_fma.c PROPERTIES COMPILE_FLAGS "-ffast-math") - endif() + set(FLAC__ALIGN_MALLOC_DATA 1) + option(WITH_AVX "Enable AVX, AVX2 optimizations (with runtime detection, resulting binary does not require AVX2, so only necessary when a compiler doesn't know about AVX)" ON) + if(WITH_AVX AND MSVC) + set_source_files_properties(fixed_intrin_avx2.c lpc_intrin_avx2.c stream_encoder_intrin_avx2.c PROPERTIES COMPILE_FLAGS /arch:AVX2) + set_source_files_properties(lpc_intrin_fma.c PROPERTIES COMPILE_FLAGS "/arch:AVX2 /fp:fast") + endif() + if(WITH_AVX AND (CMAKE_C_COMPILER_ID MATCHES "Clang")) + set_source_files_properties(lpc_intrin_fma.c PROPERTIES COMPILE_FLAGS "-ffast-math") + endif() else() - if(FLAC__CPU_ARM64) - check_a64neon(FLAC__HAS_A64NEONINTRIN) - endif() + if(FLAC__CPU_ARM64) + check_a64neon(FLAC__HAS_A64NEONINTRIN) + endif() endif() if(NOT WITH_ASM) - add_definitions(-DFLAC__NO_ASM) + add_definitions(-DFLAC__NO_ASM) endif() if(HAVE_SEMAPHORE_H) - set(CMAKE_THREAD_PREFER_PTHREAD TRUE) - set(THREADS_PREFER_PTHREAD_FLAG TRUE) - find_package(Threads) - if(CMAKE_USE_PTHREADS_INIT) - set(HAVE_PTHREAD 1) - endif() + set(CMAKE_THREAD_PREFER_PTHREAD TRUE) + set(THREADS_PREFER_PTHREAD_FLAG TRUE) + find_package(Threads) + if(CMAKE_USE_PTHREADS_INIT) + set(HAVE_PTHREAD 1) + endif() endif() include_directories("3rdparty/flac/src/libFLAC/include") @@ -177,13 +177,13 @@ target_compile_definitions("Aaru.Compression.Native" PUBLIC FLAC__NO_FILEIO) # Disable fortify source when not-release or when cross-building with MingW for WoA if(CMAKE_BUILD_TYPE STREQUAL Debug OR CMAKE_BUILD_TYPE STREQUAL RelWithDebInfo OR "${CMAKE_C_PLATFORM_ID}" MATCHES "MinGW") - set(DODEFINE_FORTIFY_SOURCE 0) + set(DODEFINE_FORTIFY_SOURCE 0) endif() set_property(TARGET "Aaru.Compression.Native" PROPERTY C_VISIBILITY_PRESET hidden) if(ARCHITECTURE_IS_64BIT) - set(ENABLE_64_BIT_WORDS 1) + set(ENABLE_64_BIT_WORDS 1) endif() configure_file(3rdparty/flac/config.cmake.h.in 3rdparty/flac/config.h) diff --git a/3rdparty/lzfse.cmake b/3rdparty/lzfse.cmake index a1f1779..03dd6fc 100644 --- a/3rdparty/lzfse.cmake +++ b/3rdparty/lzfse.cmake @@ -8,28 +8,28 @@ include(CheckCCompilerFlag) # set it to OFF in your project before you add_subdirectory(lzfse). get_directory_property(LZFSE_PARENT_DIRECTORY PARENT_DIRECTORY) if("${LZFSE_BUNDLE_MODE}" STREQUAL "") - # Bundled mode hasn't been set one way or the other, set the default - # depending on whether or not we are the top-level project. - if(LZFSE_PARENT_DIRECTORY) - set(LZFSE_BUNDLE_MODE ON) - else() - set(LZFSE_BUNDLE_MODE OFF) - endif(LZFSE_PARENT_DIRECTORY) + # Bundled mode hasn't been set one way or the other, set the default + # depending on whether or not we are the top-level project. + if(LZFSE_PARENT_DIRECTORY) + set(LZFSE_BUNDLE_MODE ON) + else() + set(LZFSE_BUNDLE_MODE OFF) + endif(LZFSE_PARENT_DIRECTORY) endif() mark_as_advanced(LZFSE_BUNDLE_MODE) if(CMAKE_VERSION VERSION_GREATER 3.2) - cmake_policy(SET CMP0063 NEW) + cmake_policy(SET CMP0063 NEW) endif() if(CMAKE_VERSION VERSION_GREATER 3.9) - cmake_policy(SET CMP0069 NEW) + cmake_policy(SET CMP0069 NEW) endif() if(ENABLE_SANITIZER) - set(CMAKE_C_FLAGS " ${CMAKE_C_FLAGS} -fsanitize=${ENABLE_SANITIZER}") - set(CMAKE_CXX_FLAGS " ${CMAKE_CXX_FLAGS} -fsanitize=${ENABLE_SANITIZER}") - set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -fsanitize=${ENABLE_SANITIZER}") + set(CMAKE_C_FLAGS " ${CMAKE_C_FLAGS} -fsanitize=${ENABLE_SANITIZER}") + set(CMAKE_CXX_FLAGS " ${CMAKE_CXX_FLAGS} -fsanitize=${ENABLE_SANITIZER}") + set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -fsanitize=${ENABLE_SANITIZER}") endif() set(LZFSE_SOURCES @@ -47,5 +47,5 @@ target_sources("Aaru.Compression.Native" PRIVATE ${LZFSE_SOURCES}) if(NOT AARU_MUSL AND (NOT ${CMAKE_SYSTEM_PROCESSOR} MATCHES "arm")) - set_property(TARGET "Aaru.Compression.Native" PROPERTY INTERPROCEDURAL_OPTIMIZATION TRUE) + set_property(TARGET "Aaru.Compression.Native" PROPERTY INTERPROCEDURAL_OPTIMIZATION TRUE) endif() \ No newline at end of file diff --git a/3rdparty/lzma.cmake b/3rdparty/lzma.cmake index 04a6a2a..4efcd26 100644 --- a/3rdparty/lzma.cmake +++ b/3rdparty/lzma.cmake @@ -11,29 +11,29 @@ target_compile_definitions("Aaru.Compression.Native" PUBLIC _7ZIP_ST) # All assembly for x86 and x64 disabled because it uses a custom, non GAS, non MASM, assembler if(${CMAKE_SYSTEM_PROCESSOR} MATCHES "x86_64" OR ${CMAKE_SYSTEM_PROCESSOR} MATCHES "AMD64") - set(IS_X64 1) - target_compile_definitions("Aaru.Compression.Native" PUBLIC IS_X64) + set(IS_X64 1) + target_compile_definitions("Aaru.Compression.Native" PUBLIC IS_X64) - # if(NOT "${CMAKE_C_COMPILER_ID}" MATCHES "AppleClang") - # set(USE_ASM 1) - # endif() + # if(NOT "${CMAKE_C_COMPILER_ID}" MATCHES "AppleClang") + # set(USE_ASM 1) + # endif() elseif(${CMAKE_SYSTEM_PROCESSOR} MATCHES "i686") - set(IS_X86 1) - target_compile_definitions("Aaru.Compression.Native" PUBLIC IS_X86) - # set(USE_ASM 1) + set(IS_X86 1) + target_compile_definitions("Aaru.Compression.Native" PUBLIC IS_X86) + # set(USE_ASM 1) elseif(${CMAKE_SYSTEM_PROCESSOR} MATCHES "aarch64") - set(IS_ARM64 1) - target_compile_definitions("Aaru.Compression.Native" PUBLIC IS_ARM64) - set(USE_ASM 1) + set(IS_ARM64 1) + target_compile_definitions("Aaru.Compression.Native" PUBLIC IS_ARM64) + set(USE_ASM 1) endif() if("${CMAKE_C_COMPILER_ID}" MATCHES "AppleClang" OR "${CMAKE_C_COMPILER_ID}" MATCHES "Clang") - set(USE_CLANG 1) - target_compile_definitions("Aaru.Compression.Native" PUBLIC USE_CLANG) + set(USE_CLANG 1) + target_compile_definitions("Aaru.Compression.Native" PUBLIC USE_CLANG) endif() if(DEFINED AARU_MUSL) - target_compile_definitions("Aaru.Compression.Native" PUBLIC Z7_AFFINITY_DISABLE) + target_compile_definitions("Aaru.Compression.Native" PUBLIC Z7_AFFINITY_DISABLE) endif() #target_compile_options(lzma PUBLIC -Wall) @@ -43,10 +43,10 @@ target_compile_definitions("Aaru.Compression.Native" PUBLIC $<$:-elf64>) + target_compile_options("Aaru.Compression.Native" PUBLIC $<$:-elf64>) else() - target_compile_options("Aaru.Compression.Native" PUBLIC $<$:-elf>) - target_compile_definitions("Aaru.Compression.Native" PUBLIC $<$:-DABI_CDECL>) + target_compile_options("Aaru.Compression.Native" PUBLIC $<$:-elf>) + target_compile_definitions("Aaru.Compression.Native" PUBLIC $<$:-DABI_CDECL>) endif() #target_sources("Aaru.Compression.Native" PRIVATE ${LZMA_C_DIRECTORY}/7zAlloc.c) @@ -104,9 +104,9 @@ target_sources("Aaru.Compression.Native" PRIVATE ${LZMA_C_DIRECTORY}/LzmaLib.c) #target_sources("Aaru.Compression.Native" PRIVATE ${LZMA_ASM_DIRECTORY}/x86/7zCrcOpt.asm) if(USE_ASM) - if(${CMAKE_SYSTEM_PROCESSOR} MATCHES "x86_64" OR ${CMAKE_SYSTEM_PROCESSOR} MATCHES "i686" OR ${CMAKE_SYSTEM_PROCESSOR} MATCHES "AMD64") - set(USE_X86_ASM 1) - endif() + if(${CMAKE_SYSTEM_PROCESSOR} MATCHES "x86_64" OR ${CMAKE_SYSTEM_PROCESSOR} MATCHES "i686" OR ${CMAKE_SYSTEM_PROCESSOR} MATCHES "AMD64") + set(USE_X86_ASM 1) + endif() endif() #if(USE_X86_ASM) @@ -124,21 +124,21 @@ endif() #endif() if(USE_LZMA_DEC_ASM) - if(${CMAKE_SYSTEM_PROCESSOR} MATCHES "x86_64" OR ${CMAKE_SYSTEM_PROCESSOR} MATCHES "AMD64") - target_sources("Aaru.Compression.Native" PRIVATE ${LZMA_ASM_DIRECTORY}/x86/LzFindOpt.asm) - target_sources("Aaru.Compression.Native" PRIVATE ${LZMA_ASM_DIRECTORY}/x86/LzmaDecOpt.asm) - endif() + if(${CMAKE_SYSTEM_PROCESSOR} MATCHES "x86_64" OR ${CMAKE_SYSTEM_PROCESSOR} MATCHES "AMD64") + target_sources("Aaru.Compression.Native" PRIVATE ${LZMA_ASM_DIRECTORY}/x86/LzFindOpt.asm) + target_sources("Aaru.Compression.Native" PRIVATE ${LZMA_ASM_DIRECTORY}/x86/LzmaDecOpt.asm) + endif() - if(${CMAKE_SYSTEM_PROCESSOR} MATCHES "aarch64") - target_sources("Aaru.Compression.Native" PRIVATE ${LZMA_ASM_DIRECTORY}/arm64/LzmaDecOpt.S) - # target_sources("Aaru.Compression.Native" PRIVATE ${LZMA_ASM_DIRECTORY}/arm64/7zAsm.S) - endif() + if(${CMAKE_SYSTEM_PROCESSOR} MATCHES "aarch64") + target_sources("Aaru.Compression.Native" PRIVATE ${LZMA_ASM_DIRECTORY}/arm64/LzmaDecOpt.S) + # target_sources("Aaru.Compression.Native" PRIVATE ${LZMA_ASM_DIRECTORY}/arm64/7zAsm.S) + endif() - target_sources("Aaru.Compression.Native" PRIVATE ${LZMA_C_DIRECTORY}/LzFindOpt.c) - target_sources("Aaru.Compression.Native" PRIVATE ${LZMA_C_DIRECTORY}/LzmaDec.c) + target_sources("Aaru.Compression.Native" PRIVATE ${LZMA_C_DIRECTORY}/LzFindOpt.c) + target_sources("Aaru.Compression.Native" PRIVATE ${LZMA_C_DIRECTORY}/LzmaDec.c) else() - target_sources("Aaru.Compression.Native" PRIVATE ${LZMA_C_DIRECTORY}/LzFindOpt.c) - target_sources("Aaru.Compression.Native" PRIVATE ${LZMA_C_DIRECTORY}/LzmaDec.c) + target_sources("Aaru.Compression.Native" PRIVATE ${LZMA_C_DIRECTORY}/LzFindOpt.c) + target_sources("Aaru.Compression.Native" PRIVATE ${LZMA_C_DIRECTORY}/LzmaDec.c) endif() #target_sources("Aaru.Compression.Native" PRIVATE ${LZMA_C_DIRECTORY}/XzDec.c) diff --git a/3rdparty/zstd.cmake b/3rdparty/zstd.cmake index 217bd35..27ca9e3 100644 --- a/3rdparty/zstd.cmake +++ b/3rdparty/zstd.cmake @@ -14,12 +14,12 @@ cmake_minimum_required(VERSION 3.5 FATAL_ERROR) set(ZSTD_MAX_VALIDATED_CMAKE_MAJOR_VERSION "3") set(ZSTD_MAX_VALIDATED_CMAKE_MINOR_VERSION "13") #Policies never changed at PATCH level if("${CMAKE_MAJOR_VERSION}" LESS 3) - set(ZSTD_CMAKE_POLICY_VERSION "${CMAKE_VERSION}") + set(ZSTD_CMAKE_POLICY_VERSION "${CMAKE_VERSION}") elseif("${ZSTD_MAX_VALIDATED_CMAKE_MAJOR_VERSION}" EQUAL "${CMAKE_MAJOR_VERSION}" AND "${ZSTD_MAX_VALIDATED_CMAKE_MINOR_VERSION}" GREATER "${CMAKE_MINOR_VERSION}") - set(ZSTD_CMAKE_POLICY_VERSION "${CMAKE_VERSION}") + set(ZSTD_CMAKE_POLICY_VERSION "${CMAKE_VERSION}") else() - set(ZSTD_CMAKE_POLICY_VERSION "${ZSTD_MAX_VALIDATED_CMAKE_MAJOR_VERSION}.${ZSTD_MAX_VALIDATED_CMAKE_MINOR_VERSION}.0") + set(ZSTD_CMAKE_POLICY_VERSION "${ZSTD_MAX_VALIDATED_CMAKE_MAJOR_VERSION}.${ZSTD_MAX_VALIDATED_CMAKE_MINOR_VERSION}.0") endif() cmake_policy(VERSION ${ZSTD_CMAKE_POLICY_VERSION}) @@ -32,22 +32,22 @@ include(GetZstdLibraryVersion) getzstdlibraryversion(${LIBRARY_DIR}/zstd.h zstd_VERSION_MAJOR zstd_VERSION_MINOR zstd_VERSION_PATCH) if(CMAKE_MAJOR_VERSION LESS 3) - ## Provide cmake 3+ behavior for older versions of cmake - project(zstd) - set(PROJECT_VERSION_MAJOR ${zstd_VERSION_MAJOR}) - set(PROJECT_VERSION_MINOR ${zstd_VERSION_MINOR}) - set(PROJECT_VERSION_PATCH ${zstd_VERSION_PATCH}) - set(PROJECT_VERSION "${zstd_VERSION_MAJOR}.${zstd_VERSION_MINOR}.${zstd_VERSION_PATCH}") - enable_language(C) # Main library is in C - enable_language(ASM) # And ASM - enable_language(CXX) # Testing contributed code also utilizes CXX + ## Provide cmake 3+ behavior for older versions of cmake + project(zstd) + set(PROJECT_VERSION_MAJOR ${zstd_VERSION_MAJOR}) + set(PROJECT_VERSION_MINOR ${zstd_VERSION_MINOR}) + set(PROJECT_VERSION_PATCH ${zstd_VERSION_PATCH}) + set(PROJECT_VERSION "${zstd_VERSION_MAJOR}.${zstd_VERSION_MINOR}.${zstd_VERSION_PATCH}") + enable_language(C) # Main library is in C + enable_language(ASM) # And ASM + enable_language(CXX) # Testing contributed code also utilizes CXX else() - project(zstd - VERSION "${zstd_VERSION_MAJOR}.${zstd_VERSION_MINOR}.${zstd_VERSION_PATCH}" - LANGUAGES C # Main library is in C - ASM # And ASM - CXX # Testing contributed code also utilizes CXX - ) + project(zstd + VERSION "${zstd_VERSION_MAJOR}.${zstd_VERSION_MINOR}.${zstd_VERSION_PATCH}" + LANGUAGES C # Main library is in C + ASM # And ASM + CXX # Testing contributed code also utilizes CXX + ) endif() message(STATUS "ZSTD VERSION: ${zstd_VERSION}") @@ -56,10 +56,10 @@ set(zstd_DESCRIPTION "Zstandard is a real-time compression algorithm, providing # Set a default build type if none was specified if(NOT CMAKE_BUILD_TYPE AND NOT CMAKE_CONFIGURATION_TYPES) - message(STATUS "Setting build type to 'Release' as none was specified.") - set(CMAKE_BUILD_TYPE Release CACHE STRING "Choose the type of build." FORCE) - # Set the possible values of build type for cmake-gui - set_property(CACHE CMAKE_BUILD_TYPE PROPERTY STRINGS "Debug" "Release" "MinSizeRel" "RelWithDebInfo") + message(STATUS "Setting build type to 'Release' as none was specified.") + set(CMAKE_BUILD_TYPE Release CACHE STRING "Choose the type of build." FORCE) + # Set the possible values of build type for cmake-gui + set_property(CACHE CMAKE_BUILD_TYPE PROPERTY STRINGS "Debug" "Release" "MinSizeRel" "RelWithDebInfo") endif() #----------------------------------------------------------------------------- @@ -70,83 +70,83 @@ include(CheckCXXCompilerFlag) include(CheckCCompilerFlag) function(enablecompilerflag _flag _C _CXX) - string(REGEX REPLACE "\\+" "PLUS" varname "${_flag}") - string(REGEX REPLACE "[^A-Za-z0-9]+" "_" varname "${varname}") - string(REGEX REPLACE "^_+" "" varname "${varname}") - string(TOUPPER "${varname}" varname) - if(_C) - check_c_compiler_flag(${_flag} C_FLAG_${varname}) - if(C_FLAG_${varname}) - set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${_flag}" PARENT_SCOPE) - endif() + string(REGEX REPLACE "\\+" "PLUS" varname "${_flag}") + string(REGEX REPLACE "[^A-Za-z0-9]+" "_" varname "${varname}") + string(REGEX REPLACE "^_+" "" varname "${varname}") + string(TOUPPER "${varname}" varname) + if(_C) + check_c_compiler_flag(${_flag} C_FLAG_${varname}) + if(C_FLAG_${varname}) + set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${_flag}" PARENT_SCOPE) endif() - if(_CXX) - check_cxx_compiler_flag(${_flag} CXX_FLAG_${varname}) - if(CXX_FLAG_${varname}) - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${_flag}" PARENT_SCOPE) - endif() + endif() + if(_CXX) + check_cxx_compiler_flag(${_flag} CXX_FLAG_${varname}) + if(CXX_FLAG_${varname}) + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${_flag}" PARENT_SCOPE) endif() + endif() endfunction() macro(add_zstd_compilation_flags) - if(CMAKE_CXX_COMPILER_ID MATCHES "GNU|Clang" OR MINGW) #Not only UNIX but also WIN32 for MinGW - #Set c++11 by default - enablecompilerflag("-std=c++11" false true) - #Set c99 by default - enablecompilerflag("-std=c99" true false) - # if (CMAKE_CXX_COMPILER_ID MATCHES "Clang" AND MSVC) - # # clang-cl normally maps -Wall to -Weverything. - # EnableCompilerFlag("/clang:-Wall" true true) - # else () - # EnableCompilerFlag("-Wall" true true) - # endif () - # EnableCompilerFlag("-Wextra" true true) - # EnableCompilerFlag("-Wundef" true true) - # EnableCompilerFlag("-Wshadow" true true) - # EnableCompilerFlag("-Wcast-align" true true) - # EnableCompilerFlag("-Wcast-qual" true true) - # EnableCompilerFlag("-Wstrict-prototypes" true false) - # Enable asserts in Debug mode - if(CMAKE_BUILD_TYPE MATCHES "Debug") - enablecompilerflag("-DDEBUGLEVEL=1" true true) - endif() - elseif(MSVC) # Add specific compilation flags for Windows Visual + if(CMAKE_CXX_COMPILER_ID MATCHES "GNU|Clang" OR MINGW) #Not only UNIX but also WIN32 for MinGW + #Set c++11 by default + enablecompilerflag("-std=c++11" false true) + #Set c99 by default + enablecompilerflag("-std=c99" true false) + # if (CMAKE_CXX_COMPILER_ID MATCHES "Clang" AND MSVC) + # # clang-cl normally maps -Wall to -Weverything. + # EnableCompilerFlag("/clang:-Wall" true true) + # else () + # EnableCompilerFlag("-Wall" true true) + # endif () + # EnableCompilerFlag("-Wextra" true true) + # EnableCompilerFlag("-Wundef" true true) + # EnableCompilerFlag("-Wshadow" true true) + # EnableCompilerFlag("-Wcast-align" true true) + # EnableCompilerFlag("-Wcast-qual" true true) + # EnableCompilerFlag("-Wstrict-prototypes" true false) + # Enable asserts in Debug mode + if(CMAKE_BUILD_TYPE MATCHES "Debug") + enablecompilerflag("-DDEBUGLEVEL=1" true true) + endif() + elseif(MSVC) # Add specific compilation flags for Windows Visual - set(ACTIVATE_MULTITHREADED_COMPILATION "ON" CACHE BOOL "activate multi-threaded compilation (/MP flag)") - if(CMAKE_GENERATOR MATCHES "Visual Studio" AND ACTIVATE_MULTITHREADED_COMPILATION) - enablecompilerflag("/MP" true true) - endif() - - # UNICODE SUPPORT - enablecompilerflag("/D_UNICODE" true true) - enablecompilerflag("/DUNICODE" true true) - # Enable asserts in Debug mode - if(CMAKE_BUILD_TYPE MATCHES "Debug") - enablecompilerflag("/DDEBUGLEVEL=1" true true) - endif() + set(ACTIVATE_MULTITHREADED_COMPILATION "ON" CACHE BOOL "activate multi-threaded compilation (/MP flag)") + if(CMAKE_GENERATOR MATCHES "Visual Studio" AND ACTIVATE_MULTITHREADED_COMPILATION) + enablecompilerflag("/MP" true true) endif() - # Remove duplicates compilation flags + # UNICODE SUPPORT + enablecompilerflag("/D_UNICODE" true true) + enablecompilerflag("/DUNICODE" true true) + # Enable asserts in Debug mode + if(CMAKE_BUILD_TYPE MATCHES "Debug") + enablecompilerflag("/DDEBUGLEVEL=1" true true) + endif() + endif() + + # Remove duplicates compilation flags + foreach(flag_var CMAKE_C_FLAGS CMAKE_C_FLAGS_DEBUG CMAKE_C_FLAGS_RELEASE + CMAKE_C_FLAGS_MINSIZEREL CMAKE_C_FLAGS_RELWITHDEBINFO + CMAKE_CXX_FLAGS CMAKE_CXX_FLAGS_DEBUG CMAKE_CXX_FLAGS_RELEASE + CMAKE_CXX_FLAGS_MINSIZEREL CMAKE_CXX_FLAGS_RELWITHDEBINFO) + if(${flag_var}) + separate_arguments(${flag_var}) + string(REPLACE ";" " " ${flag_var} "${${flag_var}}") + endif() + endforeach() + + if(MSVC AND ZSTD_USE_STATIC_RUNTIME) foreach(flag_var CMAKE_C_FLAGS CMAKE_C_FLAGS_DEBUG CMAKE_C_FLAGS_RELEASE CMAKE_C_FLAGS_MINSIZEREL CMAKE_C_FLAGS_RELWITHDEBINFO CMAKE_CXX_FLAGS CMAKE_CXX_FLAGS_DEBUG CMAKE_CXX_FLAGS_RELEASE CMAKE_CXX_FLAGS_MINSIZEREL CMAKE_CXX_FLAGS_RELWITHDEBINFO) - if(${flag_var}) - separate_arguments(${flag_var}) - string(REPLACE ";" " " ${flag_var} "${${flag_var}}") - endif() + if(${flag_var}) + string(REGEX REPLACE "/MD" "/MT" ${flag_var} "${${flag_var}}") + endif() endforeach() - - if(MSVC AND ZSTD_USE_STATIC_RUNTIME) - foreach(flag_var CMAKE_C_FLAGS CMAKE_C_FLAGS_DEBUG CMAKE_C_FLAGS_RELEASE - CMAKE_C_FLAGS_MINSIZEREL CMAKE_C_FLAGS_RELWITHDEBINFO - CMAKE_CXX_FLAGS CMAKE_CXX_FLAGS_DEBUG CMAKE_CXX_FLAGS_RELEASE - CMAKE_CXX_FLAGS_MINSIZEREL CMAKE_CXX_FLAGS_RELWITHDEBINFO) - if(${flag_var}) - string(REGEX REPLACE "/MD" "/MT" ${flag_var} "${${flag_var}}") - endif() - endforeach() - endif() + endif() endmacro() @@ -170,31 +170,31 @@ add_definitions(-DXXH_NAMESPACE=ZSTD_) option(ZSTD_LEGACY_SUPPORT "LEGACY SUPPORT" OFF) if(ZSTD_LEGACY_SUPPORT) - message(STATUS "ZSTD_LEGACY_SUPPORT defined!") - add_definitions(-DZSTD_LEGACY_SUPPORT=5) + message(STATUS "ZSTD_LEGACY_SUPPORT defined!") + add_definitions(-DZSTD_LEGACY_SUPPORT=5) else() - message(STATUS "ZSTD_LEGACY_SUPPORT not defined!") - add_definitions(-DZSTD_LEGACY_SUPPORT=0) + message(STATUS "ZSTD_LEGACY_SUPPORT not defined!") + add_definitions(-DZSTD_LEGACY_SUPPORT=0) endif() # Multi-threading support if(ANDROID) - option(ZSTD_MULTITHREAD_SUPPORT "MULTITHREADING SUPPORT" OFF) + option(ZSTD_MULTITHREAD_SUPPORT "MULTITHREADING SUPPORT" OFF) else() - option(ZSTD_MULTITHREAD_SUPPORT "MULTITHREADING SUPPORT" ON) + option(ZSTD_MULTITHREAD_SUPPORT "MULTITHREADING SUPPORT" ON) endif() #----------------------------------------------------------------------------- # External dependencies #----------------------------------------------------------------------------- if(ZSTD_MULTITHREAD_SUPPORT AND UNIX) - set(THREADS_PREFER_PTHREAD_FLAG ON) - find_package(Threads REQUIRED) - if(CMAKE_USE_PTHREADS_INIT) - set(THREADS_LIBS "${CMAKE_THREAD_LIBS_INIT}") - else() - message(SEND_ERROR "ZSTD currently does not support thread libraries other than pthreads") - endif() + set(THREADS_PREFER_PTHREAD_FLAG ON) + find_package(Threads REQUIRED) + if(CMAKE_USE_PTHREADS_INIT) + set(THREADS_LIBS "${CMAKE_THREAD_LIBS_INIT}") + else() + message(SEND_ERROR "ZSTD currently does not support thread libraries other than pthreads") + endif() endif() project(libzstd C) @@ -230,32 +230,32 @@ set(Headers ${DictBuilderHeaders}) if(ZSTD_LEGACY_SUPPORT) - set(LIBRARY_LEGACY_DIR ${LIBRARY_DIR}/legacy) - include_directories(${LIBRARY_LEGACY_DIR}) + set(LIBRARY_LEGACY_DIR ${LIBRARY_DIR}/legacy) + include_directories(${LIBRARY_LEGACY_DIR}) - set(Sources ${Sources} - ${LIBRARY_LEGACY_DIR}/zstd_v01.c - ${LIBRARY_LEGACY_DIR}/zstd_v02.c - ${LIBRARY_LEGACY_DIR}/zstd_v03.c - ${LIBRARY_LEGACY_DIR}/zstd_v04.c - ${LIBRARY_LEGACY_DIR}/zstd_v05.c - ${LIBRARY_LEGACY_DIR}/zstd_v06.c - ${LIBRARY_LEGACY_DIR}/zstd_v07.c) + set(Sources ${Sources} + ${LIBRARY_LEGACY_DIR}/zstd_v01.c + ${LIBRARY_LEGACY_DIR}/zstd_v02.c + ${LIBRARY_LEGACY_DIR}/zstd_v03.c + ${LIBRARY_LEGACY_DIR}/zstd_v04.c + ${LIBRARY_LEGACY_DIR}/zstd_v05.c + ${LIBRARY_LEGACY_DIR}/zstd_v06.c + ${LIBRARY_LEGACY_DIR}/zstd_v07.c) - set(Headers ${Headers} - ${LIBRARY_LEGACY_DIR}/zstd_legacy.h - ${LIBRARY_LEGACY_DIR}/zstd_v01.h - ${LIBRARY_LEGACY_DIR}/zstd_v02.h - ${LIBRARY_LEGACY_DIR}/zstd_v03.h - ${LIBRARY_LEGACY_DIR}/zstd_v04.h - ${LIBRARY_LEGACY_DIR}/zstd_v05.h - ${LIBRARY_LEGACY_DIR}/zstd_v06.h - ${LIBRARY_LEGACY_DIR}/zstd_v07.h) + set(Headers ${Headers} + ${LIBRARY_LEGACY_DIR}/zstd_legacy.h + ${LIBRARY_LEGACY_DIR}/zstd_v01.h + ${LIBRARY_LEGACY_DIR}/zstd_v02.h + ${LIBRARY_LEGACY_DIR}/zstd_v03.h + ${LIBRARY_LEGACY_DIR}/zstd_v04.h + ${LIBRARY_LEGACY_DIR}/zstd_v05.h + ${LIBRARY_LEGACY_DIR}/zstd_v06.h + ${LIBRARY_LEGACY_DIR}/zstd_v07.h) endif() if(MSVC) - set(MSVC_RESOURCE_DIR ${ZSTD_SOURCE_DIR}/build/VS2010/libzstd-dll) - set(PlatformDependResources ${MSVC_RESOURCE_DIR}/libzstd-dll.rc) + set(MSVC_RESOURCE_DIR ${ZSTD_SOURCE_DIR}/build/VS2010/libzstd-dll) + set(PlatformDependResources ${MSVC_RESOURCE_DIR}/libzstd-dll.rc) endif() # Explicitly set the language to C for all files, including ASM files. @@ -270,23 +270,23 @@ set(library_targets) add_library(libzstd_static STATIC ${Sources} ${Headers}) list(APPEND library_targets libzstd_static) if(ZSTD_MULTITHREAD_SUPPORT) - set_property(TARGET libzstd_static APPEND PROPERTY COMPILE_DEFINITIONS "ZSTD_MULTITHREAD") - if(UNIX) - target_link_libraries(libzstd_static ${THREADS_LIBS}) - endif() + set_property(TARGET libzstd_static APPEND PROPERTY COMPILE_DEFINITIONS "ZSTD_MULTITHREAD") + if(UNIX) + target_link_libraries(libzstd_static ${THREADS_LIBS}) + endif() endif() #endif () # Add specific compile definitions for MSVC project if(MSVC) - set_property(TARGET libzstd_static APPEND PROPERTY COMPILE_DEFINITIONS "ZSTD_HEAPMODE=0;_CRT_SECURE_NO_WARNINGS") + set_property(TARGET libzstd_static APPEND PROPERTY COMPILE_DEFINITIONS "ZSTD_HEAPMODE=0;_CRT_SECURE_NO_WARNINGS") endif() # With MSVC static library needs to be renamed to avoid conflict with import library if(MSVC) - set(STATIC_LIBRARY_BASE_NAME zstd_static) + set(STATIC_LIBRARY_BASE_NAME zstd_static) else() - set(STATIC_LIBRARY_BASE_NAME zstd) + set(STATIC_LIBRARY_BASE_NAME zstd) endif() # Define static and shared library names @@ -298,5 +298,5 @@ set_target_properties( #endif () if(NOT "${CMAKE_C_PLATFORM_ID}" MATCHES "MinGW" OR (NOT ${CMAKE_SYSTEM_PROCESSOR} MATCHES "arm" AND NOT ${CMAKE_SYSTEM_PROCESSOR} MATCHES "aarch64")) - set_property(TARGET libzstd_static PROPERTY POSITION_INDEPENDENT_CODE ON) + set_property(TARGET libzstd_static PROPERTY POSITION_INDEPENDENT_CODE ON) endif() diff --git a/CMakeLists.txt b/CMakeLists.txt index 352cc4c..86a0561 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -17,48 +17,48 @@ cmake_minimum_required(VERSION 3.15) # License along with this library; if not, see . if(APPLE) - # Too early cmake has not yet set it - if((NOT DEFINED CMAKE_SYSTEM_PROCESSOR) AND (NOT DEFINED AARU_MACOS_TARGET_ARCH)) - execute_process(COMMAND uname -m OUTPUT_VARIABLE AARU_MACOS_TARGET_ARCH OUTPUT_STRIP_TRAILING_WHITESPACE) - endif() + # Too early cmake has not yet set it + if((NOT DEFINED CMAKE_SYSTEM_PROCESSOR) AND (NOT DEFINED AARU_MACOS_TARGET_ARCH)) + execute_process(COMMAND uname -m OUTPUT_VARIABLE AARU_MACOS_TARGET_ARCH OUTPUT_STRIP_TRAILING_WHITESPACE) + endif() - if(NOT DEFINED AARU_MACOS_TARGET_ARCH) - if(${CMAKE_SYSTEM_PROCESSOR} MATCHES "x86_64") - set(CMAKE_OSX_ARCHITECTURES "x86_64" CACHE STRING "Build architectures for macOS" FORCE) - elseif(${CMAKE_SYSTEM_PROCESSOR} MATCHES "arm64") - set(CMAKE_OSX_ARCHITECTURES "arm64" CACHE STRING "Build architectures for macOS" FORCE) - else() - message(FATAL_ERROR "Unknown system processor ${CMAKE_SYSTEM_PROCESSOR} for macOS") - endif() - elseif(AARU_MACOS_TARGET_ARCH STREQUAL "x86_64") - set(CMAKE_OSX_ARCHITECTURES "x86_64" CACHE STRING "Build architectures for macOS" FORCE) - elseif(AARU_MACOS_TARGET_ARCH STREQUAL "arm64") - set(CMAKE_OSX_ARCHITECTURES "arm64" CACHE STRING "Build architectures for macOS" FORCE) + if(NOT DEFINED AARU_MACOS_TARGET_ARCH) + if(${CMAKE_SYSTEM_PROCESSOR} MATCHES "x86_64") + set(CMAKE_OSX_ARCHITECTURES "x86_64" CACHE STRING "Build architectures for macOS" FORCE) + elseif(${CMAKE_SYSTEM_PROCESSOR} MATCHES "arm64") + set(CMAKE_OSX_ARCHITECTURES "arm64" CACHE STRING "Build architectures for macOS" FORCE) else() - message(FATAL_ERROR "Unknown Aaru target architecture ${AARU_MACOS_TARGET_ARCH} for macOS") + message(FATAL_ERROR "Unknown system processor ${CMAKE_SYSTEM_PROCESSOR} for macOS") endif() + elseif(AARU_MACOS_TARGET_ARCH STREQUAL "x86_64") + set(CMAKE_OSX_ARCHITECTURES "x86_64" CACHE STRING "Build architectures for macOS" FORCE) + elseif(AARU_MACOS_TARGET_ARCH STREQUAL "arm64") + set(CMAKE_OSX_ARCHITECTURES "arm64" CACHE STRING "Build architectures for macOS" FORCE) + else() + message(FATAL_ERROR "Unknown Aaru target architecture ${AARU_MACOS_TARGET_ARCH} for macOS") + endif() - set(CMAKE_OSX_DEPLOYMENT_TARGET "10.15" CACHE STRING "Minimum OS X deployment version") + set(CMAKE_OSX_DEPLOYMENT_TARGET "10.15" CACHE STRING "Minimum OS X deployment version") endif(APPLE) project("Aaru.Compression.Native" C) if("${CMAKE_C_COMPILER_ID}" MATCHES "MSVC" AND "${CMAKE_C_COMPILER_ARCHITECTURE_ID}" MATCHES "ARMV7") - set(CMAKE_C_STANDARD 11) + set(CMAKE_C_STANDARD 11) else() - set(CMAKE_C_STANDARD 99) + set(CMAKE_C_STANDARD 99) endif() if("${CMAKE_C_PLATFORM_ID}" MATCHES "MinGW") - if("${CMAKE_SYSTEM_PROCESSOR}" MATCHES "aarch64" OR "${CMAKE_SYSTEM_PROCESSOR}" MATCHES "arm") - set(WIN32 TRUE) - endif() + if("${CMAKE_SYSTEM_PROCESSOR}" MATCHES "aarch64" OR "${CMAKE_SYSTEM_PROCESSOR}" MATCHES "arm") + set(WIN32 TRUE) + endif() - add_link_options(-static-libgcc) + add_link_options(-static-libgcc) endif() if(DEFINED AARU_MACOS_TARGET_ARCH) - message("Requested target architecture: ${AARU_MACOS_TARGET_ARCH}") + message("Requested target architecture: ${AARU_MACOS_TARGET_ARCH}") endif() message("Detected system processor: ${CMAKE_SYSTEM_PROCESSOR}") message("Detected vs platform name: ${CMAKE_C_COMPILER_ARCHITECTURE_ID}") @@ -69,61 +69,61 @@ message("Size of (void*): ${CMAKE_SIZEOF_VOID_P}") # Check if target is 64-bit if("${CMAKE_SIZEOF_VOID_P}" MATCHES "8" OR "${CMAKE_C_COMPILER_ARCHITECTURE_ID}" MATCHES "x64" OR "${CMAKE_SYSTEM_PROCESSOR}" MATCHES "x86_64" OR "${CMAKE_SYSTEM_PROCESSOR}" MATCHES "AMD64" OR "${CMAKE_SYSTEM_PROCESSOR}" MATCHES "aarch64") - set(ARCHITECTURE_IS_64BIT TRUE) + set(ARCHITECTURE_IS_64BIT TRUE) endif() if("${CMAKE_BUILD_TYPE}" MATCHES "Release" OR "${CMAKE_BUILD_TYPE}" MATCHES "RelWithDebInfo" OR "${CMAKE_BUILD_TYPE}" MATCHES "MinSizeRel") - if("${CMAKE_BUILD_TYPE}" MATCHES "Release") - add_compile_definitions(NDEBUG) + if("${CMAKE_BUILD_TYPE}" MATCHES "Release") + add_compile_definitions(NDEBUG) + endif() + + if("${CMAKE_C_COMPILER_ID}" MATCHES "MSVC") + add_compile_options("/O2 /Ob2 /Oi /Ot /Oy /Og /fp:fast") + if(${CMAKE_C_COMPILER_ARCHITECTURE_ID} MATCHES "X86") + add_compile_options("/arch:SSE2") + elseif(${CMAKE_C_COMPILER_ARCHITECTURE_ID} MATCHES "ARM") + add_compile_options("/arch:VFPv4") + endif() + else() + add_compile_options(-ffast-math -Ofast) + + if("${CMAKE_C_COMPILER_ID}" MATCHES "AppleClang") + if(${AARU_MACOS_TARGET_ARCH} MATCHES "x86_64") + add_compile_options(-march=ivybridge -mtune=westmere -msse4.2) + elseif(${AARU_MACOS_TARGET_ARCH} MATCHES "arm64") + add_compile_options(-mcpu=apple-m1 -mtune=apple-m1) + endif() endif() - if("${CMAKE_C_COMPILER_ID}" MATCHES "MSVC") - add_compile_options("/O2 /Ob2 /Oi /Ot /Oy /Og /fp:fast") - if(${CMAKE_C_COMPILER_ARCHITECTURE_ID} MATCHES "X86") - add_compile_options("/arch:SSE2") - elseif(${CMAKE_C_COMPILER_ARCHITECTURE_ID} MATCHES "ARM") - add_compile_options("/arch:VFPv4") - endif() - else() - add_compile_options(-ffast-math -Ofast) + if(${CMAKE_SYSTEM_PROCESSOR} MATCHES "x86_64" OR ${CMAKE_SYSTEM_PROCESSOR} MATCHES "i686" OR ${CMAKE_SYSTEM_PROCESSOR} MATCHES "AMD64") + if(NOT "${CMAKE_C_COMPILER_ID}" MATCHES "AppleClang") + add_compile_options(-march=westmere -mtune=skylake -mfpmath=sse) + add_compile_options(-msse4.2) + endif() - if("${CMAKE_C_COMPILER_ID}" MATCHES "AppleClang") - if(${AARU_MACOS_TARGET_ARCH} MATCHES "x86_64") - add_compile_options(-march=ivybridge -mtune=westmere -msse4.2) - elseif(${AARU_MACOS_TARGET_ARCH} MATCHES "arm64") - add_compile_options(-mcpu=apple-m1 -mtune=apple-m1) - endif() - endif() + if(NOT "${CMAKE_C_PLATFORM_ID}" MATCHES "MinGW") + add_compile_options(-flto) + endif() + elseif(${CMAKE_SYSTEM_PROCESSOR} MATCHES "aarch64") + if(NOT "${CMAKE_C_COMPILER_ID}" MATCHES "AppleClang") + add_compile_options(-mtune=cortex-a53) + endif() - if(${CMAKE_SYSTEM_PROCESSOR} MATCHES "x86_64" OR ${CMAKE_SYSTEM_PROCESSOR} MATCHES "i686" OR ${CMAKE_SYSTEM_PROCESSOR} MATCHES "AMD64") - if(NOT "${CMAKE_C_COMPILER_ID}" MATCHES "AppleClang") - add_compile_options(-march=westmere -mtune=skylake -mfpmath=sse) - add_compile_options(-msse4.2) - endif() - - if(NOT "${CMAKE_C_PLATFORM_ID}" MATCHES "MinGW") - add_compile_options(-flto) - endif() - elseif(${CMAKE_SYSTEM_PROCESSOR} MATCHES "aarch64") - if(NOT "${CMAKE_C_COMPILER_ID}" MATCHES "AppleClang") - add_compile_options(-mtune=cortex-a53) - endif() - - if(NOT "${CMAKE_C_PLATFORM_ID}" MATCHES "MinGW") - add_compile_options(-flto) - endif() - elseif(${CMAKE_SYSTEM_PROCESSOR} MATCHES "armv7l" OR ${CMAKE_SYSTEM_PROCESSOR} MATCHES "arm" AND NOT "${CMAKE_C_COMPILER_ID}" MATCHES "AppleClang") - if("${CMAKE_C_COMPILER_ID}" MATCHES "Clang") - add_compile_options(-mtune=cortex-a53 -mcpu=cortex-a7) - else() - add_compile_options(-mtune=cortex-a53 -march=armv7-a+neon-vfpv4) - endif() - elseif(${CMAKE_SYSTEM_PROCESSOR} MATCHES "mips") - if(NOT "${CMAKE_C_PLATFORM_ID}" MATCHES "MinGW") - add_compile_options(-flto) - endif() - endif() + if(NOT "${CMAKE_C_PLATFORM_ID}" MATCHES "MinGW") + add_compile_options(-flto) + endif() + elseif(${CMAKE_SYSTEM_PROCESSOR} MATCHES "armv7l" OR ${CMAKE_SYSTEM_PROCESSOR} MATCHES "arm" AND NOT "${CMAKE_C_COMPILER_ID}" MATCHES "AppleClang") + if("${CMAKE_C_COMPILER_ID}" MATCHES "Clang") + add_compile_options(-mtune=cortex-a53 -mcpu=cortex-a7) + else() + add_compile_options(-mtune=cortex-a53 -march=armv7-a+neon-vfpv4) + endif() + elseif(${CMAKE_SYSTEM_PROCESSOR} MATCHES "mips") + if(NOT "${CMAKE_C_PLATFORM_ID}" MATCHES "MinGW") + add_compile_options(-flto) + endif() endif() + endif() endif() add_subdirectory(3rdparty) @@ -137,22 +137,22 @@ include(3rdparty/lzip.cmake) include(3rdparty/lzma.cmake) macro(target_link_libraries_whole_archive target) - if("${CMAKE_C_COMPILER_ID}" MATCHES "MSVC") - foreach(arg IN LISTS ARGN) - set_target_properties( - ${target} PROPERTIES LINK_FLAGS "/WHOLEARCHIVE:${lib}" - ) - endforeach() + if("${CMAKE_C_COMPILER_ID}" MATCHES "MSVC") + foreach(arg IN LISTS ARGN) + set_target_properties( + ${target} PROPERTIES LINK_FLAGS "/WHOLEARCHIVE:${lib}" + ) + endforeach() + else() + if("${CMAKE_C_COMPILER_ID}" MATCHES "AppleClang") + set(LINK_FLAGS "-Wl,-all_load") + set(UNDO_FLAGS "-Wl") else() - if("${CMAKE_C_COMPILER_ID}" MATCHES "AppleClang") - set(LINK_FLAGS "-Wl,-all_load") - set(UNDO_FLAGS "-Wl") - else() - set(LINK_FLAGS "-Wl,--whole-archive") - set(UNDO_FLAGS "-Wl,--no-whole-archive") - endif() - target_link_libraries(${target} ${LINK_FLAGS} ${ARGN} ${UNDO_FLAGS}) + set(LINK_FLAGS "-Wl,--whole-archive") + set(UNDO_FLAGS "-Wl,--no-whole-archive") endif() + target_link_libraries(${target} ${LINK_FLAGS} ${ARGN} ${UNDO_FLAGS}) + endif() endmacro() target_link_libraries_whole_archive("Aaru.Compression.Native" libzstd_static m) @@ -160,22 +160,22 @@ target_link_libraries_whole_archive("Aaru.Compression.Native" libzstd_static m) check_include_file("semaphore.h" HAVE_SEMAPHORE_H) if(HAVE_SEMAPHORE_H) - set(CMAKE_THREAD_PREFER_PTHREAD TRUE) - set(THREADS_PREFER_PTHREAD_FLAG TRUE) - find_package(Threads) - if(CMAKE_USE_PTHREADS_INIT) - set(HAVE_PTHREAD 1) - endif() + set(CMAKE_THREAD_PREFER_PTHREAD TRUE) + set(THREADS_PREFER_PTHREAD_FLAG TRUE) + find_package(Threads) + if(CMAKE_USE_PTHREADS_INIT) + set(HAVE_PTHREAD 1) + endif() endif() if(HAVE_PTHREAD) - target_link_libraries_whole_archive("Aaru.Compression.Native" Threads::Threads) + target_link_libraries_whole_archive("Aaru.Compression.Native" Threads::Threads) endif() if(NOT "${CMAKE_C_PLATFORM_ID}" MATCHES "MinGW" OR (NOT ${CMAKE_SYSTEM_PROCESSOR} MATCHES "arm" AND NOT ${CMAKE_SYSTEM_PROCESSOR} MATCHES "aarch64")) - set_property(TARGET "Aaru.Compression.Native" PROPERTY POSITION_INDEPENDENT_CODE TRUE) + set_property(TARGET "Aaru.Compression.Native" PROPERTY POSITION_INDEPENDENT_CODE TRUE) else() - set_property(TARGET "Aaru.Compression.Native" PROPERTY POSITION_INDEPENDENT_CODE FALSE) + set_property(TARGET "Aaru.Compression.Native" PROPERTY POSITION_INDEPENDENT_CODE FALSE) endif() add_subdirectory(tests) diff --git a/README.md b/README.md index 1806dfb..7e92fb7 100644 --- a/README.md +++ b/README.md @@ -4,11 +4,14 @@ This repository contains the Aaru.Compression.Native library for [Aaru](https:// The purpose of this library is to provide compression and de-compression algorithms for Aaru. -No archiver processing code should fall here, those go in [Aaru.Compression](https://github.com/aaru-dps/Aaru/tree/devel/Aaru.Compression). +No archiver processing code should fall here, those go +in [Aaru.Compression](https://github.com/aaru-dps/Aaru/tree/devel/Aaru.Compression). -To build you just need Docker on Linux and run `build.sh`, that will generate a NuGet package for use with Aaru.Compression. +To build you just need Docker on Linux and run `build.sh`, that will generate a NuGet package for use with +Aaru.Compression. Currently implemented algorithms are: + - Apple Data Compression (RLE with sliding dictionary created for Apple Disk Copy's NDIF) - Apple RLE (Run Length Encoding created for Apple DART) - [BZIP2](https://gitlab.com/bzip2/bzip2.git) diff --git a/adc.c b/adc.c index 459ef7e..121bb7b 100644 --- a/adc.c +++ b/adc.c @@ -19,10 +19,14 @@ FORCE_INLINE int GetChunkSize(uint8_t byt) { switch(GetChunkType(byt)) { - case ADC_PLAIN: return (byt & 0x7F) + 1; - case ADC_TWO_BYTE: return ((byt & 0x3F) >> 2) + 3; - case ADC_THREE_BYTE: return (byt & 0x3F) + 4; - default: return -1; + case ADC_PLAIN: + return (byt & 0x7F) + 1; + case ADC_TWO_BYTE: + return ((byt & 0x3F) >> 2) + 3; + case ADC_THREE_BYTE: + return (byt & 0x3F) + 4; + default: + return -1; } } @@ -30,17 +34,19 @@ FORCE_INLINE int GetOffset(uint8_t chunk[]) { switch(GetChunkType(chunk[0])) { - case ADC_PLAIN: return 0; - case ADC_TWO_BYTE: return ((chunk[0] & 0x03) << 8) + chunk[1]; - case ADC_THREE_BYTE: return (chunk[1] << 8) + chunk[2]; - default: return -1; + case ADC_PLAIN: + return 0; + case ADC_TWO_BYTE: + return ((chunk[0] & 0x03) << 8) + chunk[1]; + case ADC_THREE_BYTE: + return (chunk[1] << 8) + chunk[2]; + default: + return -1; } } -AARU_EXPORT int32_t AARU_CALL AARU_adc_decode_buffer(uint8_t* dst_buffer, - int32_t dst_size, - const uint8_t* src_buffer, - int32_t src_size) +AARU_EXPORT int32_t AARU_CALL AARU_adc_decode_buffer(uint8_t *dst_buffer, int32_t dst_size, const uint8_t *src_buffer, + int32_t src_size) { int inputPosition = 0; int chunkSize; diff --git a/adc.h b/adc.h index 2e10efd..81227ef 100644 --- a/adc.h +++ b/adc.h @@ -5,8 +5,8 @@ #ifndef AARU_COMPRESSION_NATIVE__ADC_H_ #define AARU_COMPRESSION_NATIVE__ADC_H_ -#define ADC_PLAIN 1 -#define ADC_TWO_BYTE 2 +#define ADC_PLAIN 1 +#define ADC_TWO_BYTE 2 #define ADC_THREE_BYTE 3 -#endif // AARU_COMPRESSION_NATIVE__ADC_H_ +#endif // AARU_COMPRESSION_NATIVE__ADC_H_ diff --git a/apple_rle.c b/apple_rle.c index fc19709..b3f1d76 100644 --- a/apple_rle.c +++ b/apple_rle.c @@ -24,15 +24,13 @@ #include "library.h" #include "apple_rle.h" -AARU_EXPORT int32_t AARU_CALL AARU_apple_rle_decode_buffer(uint8_t* dst_buffer, - int32_t dst_size, - const uint8_t* src_buffer, - int32_t src_size) +AARU_EXPORT int32_t AARU_CALL AARU_apple_rle_decode_buffer(uint8_t *dst_buffer, int32_t dst_size, + const uint8_t *src_buffer, int32_t src_size) { static int32_t count = 0; - static bool nextA = true; // true if A, false if B + static bool nextA = true; // true if A, false if B static uint8_t repeatedByteA = 0, repeatedByteB = 0; - static bool repeatMode = false; // true if we're repeating, false if we're just copying + static bool repeatMode = false; // true if we're repeating, false if we're just copying int32_t in_pos = 0, out_pos = 0; while(in_pos <= src_size && out_pos <= dst_size) diff --git a/apple_rle.h b/apple_rle.h index b081f37..f229e27 100644 --- a/apple_rle.h +++ b/apple_rle.h @@ -21,4 +21,4 @@ #define DART_CHUNK 20960 -#endif // AARU_CHECKSUMS_NATIVE__APPLE_RLE_H_ +#endif // AARU_CHECKSUMS_NATIVE__APPLE_RLE_H_ diff --git a/flac.c b/flac.c index 8638f56..eb069d1 100644 --- a/flac.c +++ b/flac.c @@ -12,23 +12,21 @@ #include "3rdparty/flac/include/FLAC/stream_encoder.h" #include "flac.h" -static FLAC__StreamDecoderReadStatus - read_callback(const FLAC__StreamDecoder* decoder, FLAC__byte buffer[], size_t* bytes, void* client_data); -static FLAC__StreamDecoderWriteStatus write_callback(const FLAC__StreamDecoder* decoder, - const FLAC__Frame* frame, - const FLAC__int32* const buffer[], - void* client_data); -static void - error_callback(const FLAC__StreamDecoder* decoder, FLAC__StreamDecoderErrorStatus status, void* client_data); +static FLAC__StreamDecoderReadStatus read_callback(const FLAC__StreamDecoder *decoder, FLAC__byte buffer[], + size_t *bytes, void *client_data); -AARU_EXPORT size_t AARU_CALL AARU_flac_decode_redbook_buffer(uint8_t* dst_buffer, - size_t dst_size, - const uint8_t* src_buffer, - size_t src_size) +static FLAC__StreamDecoderWriteStatus write_callback(const FLAC__StreamDecoder *decoder, const FLAC__Frame *frame, + const FLAC__int32 const *buffer[], void *client_data); + +static void error_callback(const FLAC__StreamDecoder *decoder, FLAC__StreamDecoderErrorStatus status, + void *client_data); + +AARU_EXPORT size_t AARU_CALL AARU_flac_decode_redbook_buffer(uint8_t *dst_buffer, size_t dst_size, + const uint8_t *src_buffer, size_t src_size) { - FLAC__StreamDecoder* decoder; + FLAC__StreamDecoder *decoder; FLAC__StreamDecoderInitStatus init_status; - aaru_flac_ctx* ctx = (aaru_flac_ctx*)malloc(sizeof(aaru_flac_ctx)); + aaru_flac_ctx *ctx = (aaru_flac_ctx *)malloc(sizeof(aaru_flac_ctx)); size_t ret_size; memset(ctx, 0, sizeof(aaru_flac_ctx)); @@ -51,8 +49,8 @@ AARU_EXPORT size_t AARU_CALL AARU_flac_decode_redbook_buffer(uint8_t* dst_ FLAC__stream_decoder_set_md5_checking(decoder, false); - init_status = FLAC__stream_decoder_init_stream( - decoder, read_callback, NULL, NULL, NULL, NULL, write_callback, NULL, error_callback, ctx); + init_status = FLAC__stream_decoder_init_stream(decoder, read_callback, NULL, NULL, NULL, NULL, write_callback, NULL, + error_callback, ctx); if(init_status != FLAC__STREAM_DECODER_INIT_STATUS_OK) { @@ -72,10 +70,10 @@ AARU_EXPORT size_t AARU_CALL AARU_flac_decode_redbook_buffer(uint8_t* dst_ return ret_size; } -static FLAC__StreamDecoderReadStatus - read_callback(const FLAC__StreamDecoder* decoder, FLAC__byte buffer[], size_t* bytes, void* client_data) +static FLAC__StreamDecoderReadStatus read_callback(const FLAC__StreamDecoder *decoder, FLAC__byte buffer[], + size_t *bytes, void *client_data) { - aaru_flac_ctx* ctx = (aaru_flac_ctx*)client_data; + aaru_flac_ctx *ctx = (aaru_flac_ctx *)client_data; if(ctx->src_len - ctx->src_pos < *bytes) *bytes = ctx->src_len - ctx->src_pos; @@ -87,14 +85,12 @@ static FLAC__StreamDecoderReadStatus return FLAC__STREAM_DECODER_READ_STATUS_CONTINUE; } -static FLAC__StreamDecoderWriteStatus write_callback(const FLAC__StreamDecoder* decoder, - const FLAC__Frame* frame, - const FLAC__int32* const buffer[], - void* client_data) +static FLAC__StreamDecoderWriteStatus write_callback(const FLAC__StreamDecoder *decoder, const FLAC__Frame *frame, + const FLAC__int32 const *buffer[], void *client_data) { - aaru_flac_ctx* ctx = (aaru_flac_ctx*)client_data; + aaru_flac_ctx *ctx = (aaru_flac_ctx *)client_data; size_t i; - uint16_t* buffer16 = (uint16_t*)(ctx->dst_buffer + ctx->dst_pos); + uint16_t *buffer16 = (uint16_t *)(ctx->dst_buffer + ctx->dst_pos); // Why FLAC does not interleave the channels as PCM do, oh the mistery, we could use memcpy instead of looping for(i = 0; i < frame->header.blocksize && ctx->dst_pos < ctx->dst_len; i++) @@ -119,47 +115,34 @@ static FLAC__StreamDecoderWriteStatus write_callback(const FLAC__StreamDecoder* return FLAC__STREAM_DECODER_WRITE_STATUS_CONTINUE; } -static void error_callback(const FLAC__StreamDecoder* decoder, FLAC__StreamDecoderErrorStatus status, void* client_data) +static void error_callback(const FLAC__StreamDecoder *decoder, FLAC__StreamDecoderErrorStatus status, void *client_data) { - aaru_flac_ctx* ctx = (aaru_flac_ctx*)client_data; + aaru_flac_ctx *ctx = (aaru_flac_ctx *)client_data; fprintf(stderr, "Got error callback: %s\n", FLAC__StreamDecoderErrorStatusString[status]); ctx->error = 1; } -static FLAC__StreamEncoderWriteStatus encoder_write_callback(const FLAC__StreamEncoder* encoder, - const FLAC__byte buffer[], - size_t bytes, - uint32_t samples, - uint32_t current_frame, - void* client_data); +static FLAC__StreamEncoderWriteStatus encoder_write_callback(const FLAC__StreamEncoder *encoder, + const FLAC__byte buffer[], size_t bytes, uint32_t samples, + uint32_t current_frame, void *client_data); -AARU_EXPORT size_t AARU_CALL AARU_flac_encode_redbook_buffer(uint8_t* dst_buffer, - size_t dst_size, - const uint8_t* src_buffer, - size_t src_size, - uint32_t blocksize, - int32_t do_mid_side_stereo, - int32_t loose_mid_side_stereo, - const char* apodization, - uint32_t max_lpc_order, - uint32_t qlp_coeff_precision, - int32_t do_qlp_coeff_prec_search, - int32_t do_exhaustive_model_search, - uint32_t min_residual_partition_order, - uint32_t max_residual_partition_order, - const char* application_id, - uint32_t application_id_len) +AARU_EXPORT size_t AARU_CALL AARU_flac_encode_redbook_buffer( + uint8_t *dst_buffer, size_t dst_size, const uint8_t *src_buffer, size_t src_size, uint32_t blocksize, + int32_t do_mid_side_stereo, int32_t loose_mid_side_stereo, const char *apodization, uint32_t max_lpc_order, + uint32_t qlp_coeff_precision, int32_t do_qlp_coeff_prec_search, int32_t do_exhaustive_model_search, + uint32_t min_residual_partition_order, uint32_t max_residual_partition_order, const char *application_id, + uint32_t application_id_len) { - FLAC__StreamEncoder* encoder; - aaru_flac_ctx* ctx = (aaru_flac_ctx*)malloc(sizeof(aaru_flac_ctx)); + FLAC__StreamEncoder *encoder; + aaru_flac_ctx *ctx = (aaru_flac_ctx *)malloc(sizeof(aaru_flac_ctx)); FLAC__StreamEncoderInitStatus init_status; size_t ret_size; - FLAC__int32* pcm; + FLAC__int32 *pcm; int i; - int16_t* buffer16 = (int16_t*)src_buffer; - FLAC__StreamMetadata* metadata[1]; + int16_t *buffer16 = (int16_t *)src_buffer; + FLAC__StreamMetadata *metadata[1]; memset(ctx, 0, sizeof(aaru_flac_ctx)); @@ -213,8 +196,8 @@ AARU_EXPORT size_t AARU_CALL AARU_flac_encode_redbook_buffer(uint8_t* dst_ if(application_id_len > 0 && application_id != NULL) if((metadata[0] = FLAC__metadata_object_new(FLAC__METADATA_TYPE_APPLICATION)) != NULL) - FLAC__metadata_object_application_set_data( - metadata[0], (unsigned char*)application_id, application_id_len, true); + FLAC__metadata_object_application_set_data(metadata[0], (unsigned char *)application_id, application_id_len, + true); FLAC__stream_encoder_set_metadata(encoder, metadata, 1); @@ -245,14 +228,11 @@ AARU_EXPORT size_t AARU_CALL AARU_flac_encode_redbook_buffer(uint8_t* dst_ return ret_size; } -static FLAC__StreamEncoderWriteStatus encoder_write_callback(const FLAC__StreamEncoder* encoder, - const FLAC__byte buffer[], - size_t bytes, - uint32_t samples, - uint32_t current_frame, - void* client_data) +static FLAC__StreamEncoderWriteStatus encoder_write_callback(const FLAC__StreamEncoder *encoder, + const FLAC__byte buffer[], size_t bytes, uint32_t samples, + uint32_t current_frame, void *client_data) { - aaru_flac_ctx* ctx = (aaru_flac_ctx*)client_data; + aaru_flac_ctx *ctx = (aaru_flac_ctx *)client_data; if(bytes > ctx->dst_len - ctx->dst_pos) bytes = ctx->dst_len - ctx->dst_pos; diff --git a/flac.h b/flac.h index a8d25c4..c34091c 100644 --- a/flac.h +++ b/flac.h @@ -7,13 +7,13 @@ typedef struct { - const uint8_t* src_buffer; + const uint8_t *src_buffer; size_t src_len; size_t src_pos; - uint8_t* dst_buffer; + uint8_t *dst_buffer; size_t dst_len; size_t dst_pos; uint8_t error; } aaru_flac_ctx; -#endif // AARU_COMPRESSION_NATIVE__FLAC_H_ +#endif // AARU_COMPRESSION_NATIVE__FLAC_H_ diff --git a/library.c b/library.c index 48386af..427b190 100644 --- a/library.c +++ b/library.c @@ -25,86 +25,59 @@ #include "3rdparty/lzma/C/LzmaLib.h" #include "3rdparty/zstd/lib/zstd.h" -AARU_EXPORT int32_t AARU_CALL AARU_bzip2_decode_buffer(uint8_t* dst_buffer, - uint32_t* dst_size, - const uint8_t* src_buffer, - uint32_t src_size) +AARU_EXPORT int32_t AARU_CALL AARU_bzip2_decode_buffer(uint8_t *dst_buffer, uint32_t *dst_size, + const uint8_t *src_buffer, uint32_t src_size) { - return BZ2_bzBuffToBuffDecompress((char*)dst_buffer, dst_size, (char*)src_buffer, src_size, 0, 0); + return BZ2_bzBuffToBuffDecompress((char *)dst_buffer, dst_size, (char *)src_buffer, src_size, 0, 0); } -AARU_EXPORT int32_t AARU_CALL AARU_bzip2_encode_buffer(uint8_t* dst_buffer, - uint32_t* dst_size, - const uint8_t* src_buffer, - uint32_t src_size, - int32_t blockSize100k) +AARU_EXPORT int32_t AARU_CALL AARU_bzip2_encode_buffer(uint8_t *dst_buffer, uint32_t *dst_size, + const uint8_t *src_buffer, uint32_t src_size, + int32_t blockSize100k) { - return BZ2_bzBuffToBuffCompress((char*)dst_buffer, dst_size, (char*)src_buffer, src_size, blockSize100k, 0, 0); + return BZ2_bzBuffToBuffCompress((char *)dst_buffer, dst_size, (char *)src_buffer, src_size, blockSize100k, 0, 0); } -AARU_EXPORT size_t AARU_CALL AARU_lzfse_decode_buffer(uint8_t* dst_buffer, - size_t dst_size, - const uint8_t* src_buffer, - size_t src_size, - void* scratch_buffer) +AARU_EXPORT size_t AARU_CALL AARU_lzfse_decode_buffer(uint8_t *dst_buffer, size_t dst_size, const uint8_t *src_buffer, + size_t src_size, void *scratch_buffer) { return lzfse_decode_buffer(dst_buffer, dst_size, src_buffer, src_size, scratch_buffer); } -AARU_EXPORT size_t AARU_CALL AARU_lzfse_encode_buffer(uint8_t* dst_buffer, - size_t dst_size, - const uint8_t* src_buffer, - size_t src_size, - void* scratch_buffer) + +AARU_EXPORT size_t AARU_CALL AARU_lzfse_encode_buffer(uint8_t *dst_buffer, size_t dst_size, const uint8_t *src_buffer, + size_t src_size, void *scratch_buffer) { return lzfse_encode_buffer(dst_buffer, dst_size, src_buffer, src_size, scratch_buffer); } -AARU_EXPORT int32_t AARU_CALL AARU_lzma_decode_buffer(uint8_t* dst_buffer, - size_t* dst_size, - const uint8_t* src_buffer, - size_t* srcLen, - const uint8_t* props, - size_t propsSize) +AARU_EXPORT int32_t AARU_CALL AARU_lzma_decode_buffer(uint8_t *dst_buffer, size_t *dst_size, const uint8_t *src_buffer, + size_t *srcLen, const uint8_t *props, size_t propsSize) { return LzmaUncompress(dst_buffer, dst_size, src_buffer, srcLen, props, propsSize); } -AARU_EXPORT int32_t AARU_CALL AARU_lzma_encode_buffer(uint8_t* dst_buffer, - size_t* dst_size, - const uint8_t* src_buffer, - size_t srcLen, - uint8_t* outProps, - size_t* outPropsSize, - int32_t level, - uint32_t dictSize, - int32_t lc, - int32_t lp, - int32_t pb, - int32_t fb, - int32_t numThreads) +AARU_EXPORT int32_t AARU_CALL AARU_lzma_encode_buffer(uint8_t *dst_buffer, size_t *dst_size, const uint8_t *src_buffer, + size_t srcLen, uint8_t *outProps, size_t *outPropsSize, + int32_t level, uint32_t dictSize, int32_t lc, int32_t lp, + int32_t pb, int32_t fb, int32_t numThreads) { - return LzmaCompress( - dst_buffer, dst_size, src_buffer, srcLen, outProps, outPropsSize, level, dictSize, lc, lp, pb, fb, numThreads); + return LzmaCompress(dst_buffer, dst_size, src_buffer, srcLen, outProps, outPropsSize, level, dictSize, lc, lp, pb, + fb, numThreads); } -AARU_EXPORT size_t AARU_CALL AARU_zstd_decode_buffer(void* dst_buffer, - size_t dst_size, - const void* src_buffer, - size_t src_size) +AARU_EXPORT size_t AARU_CALL AARU_zstd_decode_buffer(void *dst_buffer, size_t dst_size, const void *src_buffer, + size_t src_size) { return ZSTD_decompress(dst_buffer, dst_size, src_buffer, src_size); } -AARU_EXPORT size_t AARU_CALL AARU_zstd_encode_buffer(void* dst_buffer, - size_t dst_size, - const void* src_buffer, - size_t src_size, - int32_t compressionLevel) +AARU_EXPORT size_t AARU_CALL AARU_zstd_encode_buffer(void *dst_buffer, size_t dst_size, const void *src_buffer, + size_t src_size, int32_t compressionLevel) { return ZSTD_compress(dst_buffer, dst_size, src_buffer, src_size, compressionLevel); } // This is required if BZ_NO_STDIO -void bz_internal_error ( int errcode ) { } +void bz_internal_error(int errcode) {} AARU_EXPORT uint64_t AARU_CALL AARU_get_acn_version() { return AARU_CHECKUMS_NATIVE_VERSION; } \ No newline at end of file diff --git a/library.h b/library.h index e54325b..0ce0880 100644 --- a/library.h +++ b/library.h @@ -26,7 +26,7 @@ #endif #if defined(_WIN32) -#define AARU_CALL __stdcall +#define AARU_CALL __stdcall #define AARU_EXPORT EXTERNC __declspec(dllexport) #define AARU_LOCAL #ifndef PATH_MAX @@ -36,11 +36,11 @@ #define AARU_CALL #if defined(__APPLE__) #define AARU_EXPORT EXTERNC __attribute__((visibility("default"))) -#define AARU_LOCAL __attribute__((visibility("hidden"))) +#define AARU_LOCAL __attribute__((visibility("hidden"))) #else #if __GNUC__ >= 4 #define AARU_EXPORT EXTERNC __attribute__((visibility("default"))) -#define AARU_LOCAL __attribute__((visibility("hidden"))) +#define AARU_LOCAL __attribute__((visibility("hidden"))) #else #define AARU_EXPORT EXTERNC #define AARU_LOCAL @@ -54,107 +54,58 @@ #define FORCE_INLINE static inline __attribute__((always_inline)) #endif -AARU_EXPORT int32_t AARU_CALL AARU_adc_decode_buffer(uint8_t* dst_buffer, - int32_t dst_size, - const uint8_t* src_buffer, - int32_t src_size); +AARU_EXPORT int32_t AARU_CALL AARU_adc_decode_buffer(uint8_t *dst_buffer, int32_t dst_size, const uint8_t *src_buffer, + int32_t src_size); -AARU_EXPORT int32_t AARU_CALL AARU_apple_rle_decode_buffer(uint8_t* dst_buffer, - int32_t dst_size, - const uint8_t* src_buffer, - int32_t src_size); +AARU_EXPORT int32_t AARU_CALL AARU_apple_rle_decode_buffer(uint8_t *dst_buffer, int32_t dst_size, + const uint8_t *src_buffer, int32_t src_size); -AARU_EXPORT size_t AARU_CALL AARU_flac_decode_redbook_buffer(uint8_t* dst_buffer, - size_t dst_size, - const uint8_t* src_buffer, - size_t src_size); +AARU_EXPORT size_t AARU_CALL AARU_flac_decode_redbook_buffer(uint8_t *dst_buffer, size_t dst_size, + const uint8_t *src_buffer, size_t src_size); -AARU_EXPORT size_t AARU_CALL AARU_flac_encode_redbook_buffer(uint8_t* dst_buffer, - size_t dst_size, - const uint8_t* src_buffer, - size_t src_size, - uint32_t blocksize, - int32_t do_mid_side_stereo, - int32_t loose_mid_side_stereo, - const char* apodization, - uint32_t max_lpc_order, - uint32_t qlp_coeff_precision, - int32_t do_qlp_coeff_prec_search, - int32_t do_exhaustive_model_search, - uint32_t min_residual_partition_order, - uint32_t max_residual_partition_order, - const char* application_id, - uint32_t application_id_len); +AARU_EXPORT size_t AARU_CALL AARU_flac_encode_redbook_buffer( + uint8_t *dst_buffer, size_t dst_size, const uint8_t *src_buffer, size_t src_size, uint32_t blocksize, + int32_t do_mid_side_stereo, int32_t loose_mid_side_stereo, const char *apodization, uint32_t max_lpc_order, + uint32_t qlp_coeff_precision, int32_t do_qlp_coeff_prec_search, int32_t do_exhaustive_model_search, + uint32_t min_residual_partition_order, uint32_t max_residual_partition_order, const char *application_id, + uint32_t application_id_len); -AARU_EXPORT int32_t AARU_CALL AARU_lzip_decode_buffer(uint8_t* dst_buffer, - int32_t dst_size, - const uint8_t* src_buffer, - int32_t src_size); +AARU_EXPORT int32_t AARU_CALL AARU_lzip_decode_buffer(uint8_t *dst_buffer, int32_t dst_size, const uint8_t *src_buffer, + int32_t src_size); -AARU_EXPORT int32_t AARU_CALL AARU_lzip_encode_buffer(uint8_t* dst_buffer, - int32_t dst_size, - const uint8_t* src_buffer, - int32_t src_size, - int32_t dictionary_size, - int32_t match_len_limit); +AARU_EXPORT int32_t AARU_CALL AARU_lzip_encode_buffer(uint8_t *dst_buffer, int32_t dst_size, const uint8_t *src_buffer, + int32_t src_size, int32_t dictionary_size, + int32_t match_len_limit); -AARU_EXPORT int32_t AARU_CALL AARU_bzip2_decode_buffer(uint8_t* dst_buffer, - uint32_t* dst_size, - const uint8_t* src_buffer, - uint32_t src_size); +AARU_EXPORT int32_t AARU_CALL AARU_bzip2_decode_buffer(uint8_t *dst_buffer, uint32_t *dst_size, + const uint8_t *src_buffer, uint32_t src_size); -AARU_EXPORT int32_t AARU_CALL AARU_bzip2_encode_buffer(uint8_t* dst_buffer, - uint32_t* dst_size, - const uint8_t* src_buffer, - uint32_t src_size, - int32_t blockSize100k); +AARU_EXPORT int32_t AARU_CALL AARU_bzip2_encode_buffer(uint8_t *dst_buffer, uint32_t *dst_size, + const uint8_t *src_buffer, uint32_t src_size, + int32_t blockSize100k); -AARU_EXPORT size_t AARU_CALL AARU_lzfse_decode_buffer(uint8_t* dst_buffer, - size_t dst_size, - const uint8_t* src_buffer, - size_t src_size, - void* scratch_buffer); +AARU_EXPORT size_t AARU_CALL AARU_lzfse_decode_buffer(uint8_t *dst_buffer, size_t dst_size, const uint8_t *src_buffer, + size_t src_size, void *scratch_buffer); -AARU_EXPORT size_t AARU_CALL AARU_lzfse_encode_buffer(uint8_t* dst_buffer, - size_t dst_size, - const uint8_t* src_buffer, - size_t src_size, - void* scratch_buffer); +AARU_EXPORT size_t AARU_CALL AARU_lzfse_encode_buffer(uint8_t *dst_buffer, size_t dst_size, const uint8_t *src_buffer, + size_t src_size, void *scratch_buffer); -AARU_EXPORT int32_t AARU_CALL AARU_lzma_decode_buffer(uint8_t* dst_buffer, - size_t* dst_size, - const uint8_t* src_buffer, - size_t* src_size, - const uint8_t* props, - size_t propsSize); +AARU_EXPORT int32_t AARU_CALL AARU_lzma_decode_buffer(uint8_t *dst_buffer, size_t *dst_size, const uint8_t *src_buffer, + size_t *src_size, const uint8_t *props, size_t propsSize); -AARU_EXPORT int32_t AARU_CALL AARU_lzma_encode_buffer(uint8_t* dst_buffer, - size_t* dst_size, - const uint8_t* src_buffer, - size_t src_size, - uint8_t* outProps, - size_t* outPropsSize, - int32_t level, - uint32_t dictSize, - int32_t lc, - int32_t lp, - int32_t pb, - int32_t fb, - int32_t numThreads); +AARU_EXPORT int32_t AARU_CALL AARU_lzma_encode_buffer(uint8_t *dst_buffer, size_t *dst_size, const uint8_t *src_buffer, + size_t src_size, uint8_t *outProps, size_t *outPropsSize, + int32_t level, uint32_t dictSize, int32_t lc, int32_t lp, + int32_t pb, int32_t fb, int32_t numThreads); -AARU_EXPORT size_t AARU_CALL AARU_zstd_decode_buffer(void* dst_buffer, - size_t dst_size, - const void* src_buffer, - size_t src_size); +AARU_EXPORT size_t AARU_CALL AARU_zstd_decode_buffer(void *dst_buffer, size_t dst_size, const void *src_buffer, + size_t src_size); -AARU_EXPORT size_t AARU_CALL AARU_zstd_encode_buffer(void* dst_buffer, - size_t dst_size, - const void* src_buffer, - size_t src_size, - int32_t compressionLevel); +AARU_EXPORT size_t AARU_CALL AARU_zstd_encode_buffer(void *dst_buffer, size_t dst_size, const void *src_buffer, + size_t src_size, int32_t compressionLevel); #define AARU_CHECKUMS_NATIVE_VERSION 0x06000089 AARU_EXPORT uint64_t AARU_CALL AARU_get_acn_version(); -#endif // AARU_COMPRESSION_NATIVE_LIBRARY_H +#endif // AARU_COMPRESSION_NATIVE_LIBRARY_H diff --git a/lzip.c b/lzip.c index 26c095f..adb4c05 100644 --- a/lzip.c +++ b/lzip.c @@ -23,13 +23,11 @@ #include "library.h" #include "3rdparty/lzlib/lzlib.h" -AARU_EXPORT int32_t AARU_CALL AARU_lzip_decode_buffer(uint8_t* dst_buffer, - int32_t dst_size, - const uint8_t* src_buffer, - int32_t src_size) +AARU_EXPORT int32_t AARU_CALL AARU_lzip_decode_buffer(uint8_t *dst_buffer, int32_t dst_size, const uint8_t *src_buffer, + int32_t src_size) { int max_in_size; - void* ctx; + void *ctx; enum LZ_Errno lz_err; int32_t in_pos = 0, out_pos = 0, in_size; int rd; @@ -83,15 +81,12 @@ AARU_EXPORT int32_t AARU_CALL AARU_lzip_decode_buffer(uint8_t* dst_buffer, return out_pos; } -AARU_EXPORT int32_t AARU_CALL AARU_lzip_encode_buffer(uint8_t* dst_buffer, - int32_t dst_size, - const uint8_t* src_buffer, - int32_t src_size, - int32_t dictionary_size, - int32_t match_len_limit) +AARU_EXPORT int32_t AARU_CALL AARU_lzip_encode_buffer(uint8_t *dst_buffer, int32_t dst_size, const uint8_t *src_buffer, + int32_t src_size, int32_t dictionary_size, + int32_t match_len_limit) { int max_in_size; - void* ctx; + void *ctx; enum LZ_Errno lz_err; int32_t in_pos = 0, out_pos = 0, in_size; int rd; diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt index 309e19c..689cd7c 100644 --- a/tests/CMakeLists.txt +++ b/tests/CMakeLists.txt @@ -1,5 +1,5 @@ if("${CMAKE_C_PLATFORM_ID}" MATCHES "MinGW" OR "${AARU_BUILD_PACKAGE}" MATCHES 1) - return() + return() endif() # 'Google_test' is the subproject name diff --git a/tests/adc.cpp b/tests/adc.cpp index 4e7ee12..1df332b 100644 --- a/tests/adc.cpp +++ b/tests/adc.cpp @@ -20,25 +20,25 @@ #include #include -#include "../adc.h" #include "../library.h" +#include "../adc.h" #include "crc32.h" #include "gtest/gtest.h" #define EXPECTED_CRC32 0x5a5a7388 -static const uint8_t* buffer; +static const uint8_t *buffer; class adcFixture : public ::testing::Test { - public: +public: adcFixture() { // initialization; // can also be done in SetUp() } - protected: +protected: void SetUp() { char path[PATH_MAX]; @@ -47,13 +47,13 @@ class adcFixture : public ::testing::Test getcwd(path, PATH_MAX); snprintf(filename, PATH_MAX, "%s/data/adc.bin", path); - FILE* file = fopen(filename, "rb"); - buffer = (const uint8_t*)malloc(34367); - fread((void*)buffer, 1, 34367, file); + FILE *file = fopen(filename, "rb"); + buffer = (const uint8_t *)malloc(34367); + fread((void *)buffer, 1, 34367, file); fclose(file); } - void TearDown() { free((void*)buffer); } + void TearDown() { free((void *)buffer); } ~adcFixture() { @@ -65,7 +65,7 @@ class adcFixture : public ::testing::Test TEST_F(adcFixture, adc) { - auto* outBuf = (uint8_t*)malloc(327680); + auto *outBuf = (uint8_t *)malloc(327680); auto decoded = AARU_adc_decode_buffer(outBuf, 327680, buffer, 34367); diff --git a/tests/apple_rle.cpp b/tests/apple_rle.cpp index 46f145b..52113a7 100644 --- a/tests/apple_rle.cpp +++ b/tests/apple_rle.cpp @@ -20,25 +20,25 @@ #include #include -#include "../apple_rle.h" #include "../library.h" +#include "../apple_rle.h" #include "crc32.h" #include "gtest/gtest.h" #define EXPECTED_CRC32 0x3525ef06 -static const uint8_t* buffer; +static const uint8_t *buffer; class apple_rleFixture : public ::testing::Test { - public: +public: apple_rleFixture() { // initialization; // can also be done in SetUp() } - protected: +protected: void SetUp() { char path[PATH_MAX]; @@ -47,13 +47,13 @@ class apple_rleFixture : public ::testing::Test getcwd(path, PATH_MAX); snprintf(filename, PATH_MAX, "%s/data/apple_rle.bin", path); - FILE* file = fopen(filename, "rb"); - buffer = (const uint8_t*)malloc(1102); - fread((void*)buffer, 1, 1102, file); + FILE *file = fopen(filename, "rb"); + buffer = (const uint8_t *)malloc(1102); + fread((void *)buffer, 1, 1102, file); fclose(file); } - void TearDown() { free((void*)buffer); } + void TearDown() { free((void *)buffer); } ~apple_rleFixture() { @@ -65,7 +65,7 @@ class apple_rleFixture : public ::testing::Test TEST_F(apple_rleFixture, apple_rle) { - auto* outBuf = (uint8_t*)malloc(32768); + auto *outBuf = (uint8_t *)malloc(32768); auto decoded = AARU_apple_rle_decode_buffer(outBuf, 32768, buffer, 1102); diff --git a/tests/bzip2.cpp b/tests/bzip2.cpp index a6235b0..18e810a 100644 --- a/tests/bzip2.cpp +++ b/tests/bzip2.cpp @@ -26,18 +26,18 @@ #define EXPECTED_CRC32 0xc64059c0 -static const uint8_t* buffer; +static const uint8_t *buffer; class bzip2Fixture : public ::testing::Test { - public: +public: bzip2Fixture() { // initialization; // can also be done in SetUp() } - protected: +protected: void SetUp() { char path[PATH_MAX]; @@ -46,13 +46,13 @@ class bzip2Fixture : public ::testing::Test getcwd(path, PATH_MAX); snprintf(filename, PATH_MAX, "%s/data/bzip2.bz2", path); - FILE* file = fopen(filename, "rb"); - buffer = (const uint8_t*)malloc(1053934); - fread((void*)buffer, 1, 1053934, file); + FILE *file = fopen(filename, "rb"); + buffer = (const uint8_t *)malloc(1053934); + fread((void *)buffer, 1, 1053934, file); fclose(file); } - void TearDown() { free((void*)buffer); } + void TearDown() { free((void *)buffer); } ~bzip2Fixture() { @@ -65,7 +65,7 @@ class bzip2Fixture : public ::testing::Test TEST_F(bzip2Fixture, bzip2) { uint real_size = 1048576; - auto* outBuf = (uint8_t*)malloc(1048576); + auto *outBuf = (uint8_t *)malloc(1048576); auto bz_err = AARU_bzip2_decode_buffer(outBuf, &real_size, buffer, 1053934); @@ -87,24 +87,24 @@ TEST_F(bzip2Fixture, bzip2Compress) uint decmp_len = original_len; char path[PATH_MAX]; char filename[PATH_MAX * 2]; - FILE* file; + FILE *file; uint32_t original_crc, decmp_crc; int bz_err; - const uint8_t* original; - uint8_t* cmp_buffer; - uint8_t* decmp_buffer; + const uint8_t *original; + uint8_t *cmp_buffer; + uint8_t *decmp_buffer; // Allocate buffers - original = (const uint8_t*)malloc(original_len); - cmp_buffer = (uint8_t*)malloc(cmp_len); - decmp_buffer = (uint8_t*)malloc(decmp_len); + original = (const uint8_t *)malloc(original_len); + cmp_buffer = (uint8_t *)malloc(cmp_len); + decmp_buffer = (uint8_t *)malloc(decmp_len); // Read the file getcwd(path, PATH_MAX); snprintf(filename, PATH_MAX, "%s/data/data.bin", path); file = fopen(filename, "rb"); - fread((void*)original, 1, original_len, file); + fread((void *)original, 1, original_len, file); fclose(file); // Calculate the CRC @@ -125,7 +125,7 @@ TEST_F(bzip2Fixture, bzip2Compress) decmp_crc = crc32_data(decmp_buffer, decmp_len); // Free buffers - free((void*)original); + free((void *)original); free(cmp_buffer); free(decmp_buffer); diff --git a/tests/crc32.c b/tests/crc32.c index aad3ddb..743dfc8 100644 --- a/tests/crc32.c +++ b/tests/crc32.c @@ -19,37 +19,38 @@ extern "C" { #endif + #include #define CRC32_ISO_POLY 0xEDB88320 #define CRC32_ISO_SEED 0xFFFFFFFF -uint32_t crc32_data(const uint8_t *data, uint32_t len) -{ - uint32_t localHashInt = CRC32_ISO_SEED; - uint32_t localTable[256]; - int i, j; - - for(i = 0; i < 256; i++) + uint32_t crc32_data(const uint8_t *data, uint32_t len) { - uint32_t entry = (uint32_t)i; + uint32_t localHashInt = CRC32_ISO_SEED; + uint32_t localTable[256]; + int i, j; - for(j = 0; j < 8; j++) - if((entry & 1) == 1) - entry = (entry >> 1) ^ CRC32_ISO_POLY; - else - entry >>= 1; + for(i = 0; i < 256; i++) + { + uint32_t entry = (uint32_t)i; - localTable[i] = entry; + for(j = 0; j < 8; j++) + if((entry & 1) == 1) + entry = (entry >> 1) ^ CRC32_ISO_POLY; + else + entry >>= 1; + + localTable[i] = entry; + } + + for(i = 0; i < len; i++) localHashInt = (localHashInt >> 8) ^ localTable[data[i] ^ (localHashInt & 0xff)]; + + localHashInt ^= CRC32_ISO_SEED; + + return localHashInt; } - for(i = 0; i < len; i++) - localHashInt = (localHashInt >> 8) ^ localTable[data[i] ^ (localHashInt & 0xff)]; - - localHashInt ^= CRC32_ISO_SEED; - - return localHashInt; -} #ifdef __cplusplus } #endif \ No newline at end of file diff --git a/tests/crc32.h b/tests/crc32.h index 82c9770..6c35a5c 100644 --- a/tests/crc32.h +++ b/tests/crc32.h @@ -23,8 +23,9 @@ extern "C" { #endif - uint32_t crc32_data(const uint8_t* data, uint32_t len); + uint32_t crc32_data(const uint8_t *data, uint32_t len); + #ifdef __cplusplus } #endif -#endif // AARU_CHECKSUMS_NATIVE_TESTS_CRC32_H_ +#endif // AARU_CHECKSUMS_NATIVE_TESTS_CRC32_H_ diff --git a/tests/flac.cpp b/tests/flac.cpp index c8be704..89bb8b0 100644 --- a/tests/flac.cpp +++ b/tests/flac.cpp @@ -20,25 +20,25 @@ #include #include -#include "../flac.h" #include "../library.h" +#include "../flac.h" #include "crc32.h" #include "gtest/gtest.h" #define EXPECTED_CRC32 0xdfbc99bb -static const uint8_t* buffer; +static const uint8_t *buffer; class flacFixture : public ::testing::Test { - public: +public: flacFixture() { // initialization; // can also be done in SetUp() } - protected: +protected: void SetUp() { char path[PATH_MAX]; @@ -47,13 +47,13 @@ class flacFixture : public ::testing::Test getcwd(path, PATH_MAX); snprintf(filename, PATH_MAX, "%s/data/flac.flac", path); - FILE* file = fopen(filename, "rb"); - buffer = (const uint8_t*)malloc(6534197); - fread((void*)buffer, 1, 6534197, file); + FILE *file = fopen(filename, "rb"); + buffer = (const uint8_t *)malloc(6534197); + fread((void *)buffer, 1, 6534197, file); fclose(file); } - void TearDown() { free((void*)buffer); } + void TearDown() { free((void *)buffer); } ~flacFixture() { @@ -65,7 +65,7 @@ class flacFixture : public ::testing::Test TEST_F(flacFixture, flac) { - auto* outBuf = (uint8_t*)malloc(9633792); + auto *outBuf = (uint8_t *)malloc(9633792); auto decoded = AARU_flac_decode_redbook_buffer(outBuf, 9633792, buffer, 6534197); @@ -85,46 +85,33 @@ TEST_F(flacFixture, flacCompress) uint decmp_len = original_len; char path[PATH_MAX]; char filename[PATH_MAX * 2]; - FILE* file; + FILE *file; uint32_t original_crc, decmp_crc; - const uint8_t* original; - uint8_t* cmp_buffer; - uint8_t* decmp_buffer; + const uint8_t *original; + uint8_t *cmp_buffer; + uint8_t *decmp_buffer; size_t newSize; // Allocate buffers - original = (const uint8_t*)malloc(original_len); - cmp_buffer = (uint8_t*)malloc(cmp_len); - decmp_buffer = (uint8_t*)malloc(decmp_len); + original = (const uint8_t *)malloc(original_len); + cmp_buffer = (uint8_t *)malloc(cmp_len); + decmp_buffer = (uint8_t *)malloc(decmp_len); // Read the file getcwd(path, PATH_MAX); snprintf(filename, PATH_MAX, "%s/data/audio.bin", path); file = fopen(filename, "rb"); - fread((void*)original, 1, original_len, file); + fread((void *)original, 1, original_len, file); fclose(file); // Calculate the CRC original_crc = crc32_data(original, original_len); // Compress - newSize = AARU_flac_encode_redbook_buffer(cmp_buffer, - cmp_len, - original, - original_len, - 4608, - 1, - 0, - "partial_tukey(0/1.0/1.0)", - 12, - 0, - 1, - false, - 0, - 8, - "Aaru.Compression.Native.Tests", - strlen("Aaru.Compression.Native.Tests")); + newSize = AARU_flac_encode_redbook_buffer(cmp_buffer, cmp_len, original, original_len, 4608, 1, 0, + "partial_tukey(0/1.0/1.0)", 12, 0, 1, false, 0, 8, + "Aaru.Compression.Native.Tests", strlen("Aaru.Compression.Native.Tests")); cmp_len = newSize; // Decompress @@ -136,7 +123,7 @@ TEST_F(flacFixture, flacCompress) decmp_crc = crc32_data(decmp_buffer, decmp_len); // Free buffers - free((void*)original); + free((void *)original); free(cmp_buffer); free(decmp_buffer); diff --git a/tests/lzfse.cpp b/tests/lzfse.cpp index 2ce041c..00d10dd 100644 --- a/tests/lzfse.cpp +++ b/tests/lzfse.cpp @@ -26,18 +26,18 @@ #define EXPECTED_CRC32 0xc64059c0 -static const uint8_t* buffer; +static const uint8_t *buffer; class lzfseFixture : public ::testing::Test { - public: +public: lzfseFixture() { // initialization; // can also be done in SetUp() } - protected: +protected: void SetUp() { char path[PATH_MAX]; @@ -46,13 +46,13 @@ class lzfseFixture : public ::testing::Test getcwd(path, PATH_MAX); snprintf(filename, PATH_MAX, "%s/data/lzfse.bin", path); - FILE* file = fopen(filename, "rb"); - buffer = (const uint8_t*)malloc(1059299); - fread((void*)buffer, 1, 1059299, file); + FILE *file = fopen(filename, "rb"); + buffer = (const uint8_t *)malloc(1059299); + fread((void *)buffer, 1, 1059299, file); fclose(file); } - void TearDown() { free((void*)buffer); } + void TearDown() { free((void *)buffer); } ~lzfseFixture() { @@ -64,7 +64,7 @@ class lzfseFixture : public ::testing::Test TEST_F(lzfseFixture, lzfse) { - auto* outBuf = (uint8_t*)malloc(1048576); + auto *outBuf = (uint8_t *)malloc(1048576); auto decoded = AARU_lzfse_decode_buffer(outBuf, 1048576, buffer, 1059299, nullptr); @@ -84,24 +84,24 @@ TEST_F(lzfseFixture, lzfseCompress) uint decmp_len = original_len; char path[PATH_MAX]; char filename[PATH_MAX * 2]; - FILE* file; + FILE *file; uint32_t original_crc, decmp_crc; - const uint8_t* original; - uint8_t* cmp_buffer; - uint8_t* decmp_buffer; + const uint8_t *original; + uint8_t *cmp_buffer; + uint8_t *decmp_buffer; size_t newSize; // Allocate buffers - original = (const uint8_t*)malloc(original_len); - cmp_buffer = (uint8_t*)malloc(cmp_len); - decmp_buffer = (uint8_t*)malloc(decmp_len); + original = (const uint8_t *)malloc(original_len); + cmp_buffer = (uint8_t *)malloc(cmp_len); + decmp_buffer = (uint8_t *)malloc(decmp_len); // Read the file getcwd(path, PATH_MAX); snprintf(filename, PATH_MAX, "%s/data/data.bin", path); file = fopen(filename, "rb"); - fread((void*)original, 1, original_len, file); + fread((void *)original, 1, original_len, file); fclose(file); // Calculate the CRC @@ -120,7 +120,7 @@ TEST_F(lzfseFixture, lzfseCompress) decmp_crc = crc32_data(decmp_buffer, decmp_len); // Free buffers - free((void*)original); + free((void *)original); free(cmp_buffer); free(decmp_buffer); diff --git a/tests/lzip.cpp b/tests/lzip.cpp index d98628d..aa52144 100644 --- a/tests/lzip.cpp +++ b/tests/lzip.cpp @@ -26,18 +26,18 @@ #define EXPECTED_CRC32 0xc64059c0 -static const uint8_t* buffer; +static const uint8_t *buffer; class lzipFixture : public ::testing::Test { - public: +public: lzipFixture() { // initialization; // can also be done in SetUp() } - protected: +protected: void SetUp() { char path[PATH_MAX]; @@ -46,13 +46,13 @@ class lzipFixture : public ::testing::Test getcwd(path, PATH_MAX); snprintf(filename, PATH_MAX, "%s/data/lzip.lz", path); - FILE* file = fopen(filename, "rb"); - buffer = (const uint8_t*)malloc(1062874); - fread((void*)buffer, 1, 1062874, file); + FILE *file = fopen(filename, "rb"); + buffer = (const uint8_t *)malloc(1062874); + fread((void *)buffer, 1, 1062874, file); fclose(file); } - void TearDown() { free((void*)buffer); } + void TearDown() { free((void *)buffer); } ~lzipFixture() { @@ -64,7 +64,7 @@ class lzipFixture : public ::testing::Test TEST_F(lzipFixture, lzip) { - auto* outBuf = (uint8_t*)malloc(1048576); + auto *outBuf = (uint8_t *)malloc(1048576); auto decoded = AARU_lzip_decode_buffer(outBuf, 1048576, buffer, 1062874); @@ -84,24 +84,24 @@ TEST_F(lzipFixture, lzipCompress) int32_t decmp_len = original_len; char path[PATH_MAX]; char filename[PATH_MAX * 2]; - FILE* file; + FILE *file; uint32_t original_crc, decmp_crc; - const uint8_t* original; - uint8_t* cmp_buffer; - uint8_t* decmp_buffer; + const uint8_t *original; + uint8_t *cmp_buffer; + uint8_t *decmp_buffer; int32_t newSize; // Allocate buffers - original = (const uint8_t*)malloc(original_len); - cmp_buffer = (uint8_t*)malloc(cmp_len); - decmp_buffer = (uint8_t*)malloc(decmp_len); + original = (const uint8_t *)malloc(original_len); + cmp_buffer = (uint8_t *)malloc(cmp_len); + decmp_buffer = (uint8_t *)malloc(decmp_len); // Read the file getcwd(path, PATH_MAX); snprintf(filename, PATH_MAX, "%s/data/data.bin", path); file = fopen(filename, "rb"); - fread((void*)original, 1, original_len, file); + fread((void *)original, 1, original_len, file); fclose(file); // Calculate the CRC @@ -120,7 +120,7 @@ TEST_F(lzipFixture, lzipCompress) decmp_crc = crc32_data(decmp_buffer, decmp_len); // Free buffers - free((void*)original); + free((void *)original); free(cmp_buffer); free(decmp_buffer); diff --git a/tests/lzma.cpp b/tests/lzma.cpp index a231584..f0cf543 100644 --- a/tests/lzma.cpp +++ b/tests/lzma.cpp @@ -26,18 +26,18 @@ #define EXPECTED_CRC32 0x954bf76e -static const uint8_t* buffer; +static const uint8_t *buffer; class lzmaFixture : public ::testing::Test { - public: +public: lzmaFixture() { // initialization; // can also be done in SetUp() } - protected: +protected: void SetUp() { char path[PATH_MAX]; @@ -46,13 +46,13 @@ class lzmaFixture : public ::testing::Test getcwd(path, PATH_MAX); snprintf(filename, PATH_MAX, "%s/data/lzma.bin", path); - FILE* file = fopen(filename, "rb"); - buffer = (const uint8_t*)malloc(1200275); - fread((void*)buffer, 1, 1200275, file); + FILE *file = fopen(filename, "rb"); + buffer = (const uint8_t *)malloc(1200275); + fread((void *)buffer, 1, 1200275, file); fclose(file); } - void TearDown() { free((void*)buffer); } + void TearDown() { free((void *)buffer); } ~lzmaFixture() { @@ -67,7 +67,7 @@ TEST_F(lzmaFixture, lzma) uint8_t params[] = {0x5D, 0x00, 0x00, 0x00, 0x02}; size_t destLen = 8388608; size_t srcLen = 1200275; - auto* outBuf = (uint8_t*)malloc(8388608); + auto *outBuf = (uint8_t *)malloc(8388608); auto err = AARU_lzma_decode_buffer(outBuf, &destLen, buffer, &srcLen, params, 5); @@ -88,34 +88,34 @@ TEST_F(lzmaFixture, lzmaCompress) size_t decmp_len = original_len; char path[PATH_MAX]; char filename[PATH_MAX * 2]; - FILE* file; + FILE *file; uint32_t original_crc, decmp_crc; - const uint8_t* original; - uint8_t* cmp_buffer; - uint8_t* decmp_buffer; + const uint8_t *original; + uint8_t *cmp_buffer; + uint8_t *decmp_buffer; int err; uint8_t props[5]; size_t props_len = 5; // Allocate buffers - original = (const uint8_t*)malloc(original_len); - cmp_buffer = (uint8_t*)malloc(cmp_len); - decmp_buffer = (uint8_t*)malloc(decmp_len); + original = (const uint8_t *)malloc(original_len); + cmp_buffer = (uint8_t *)malloc(cmp_len); + decmp_buffer = (uint8_t *)malloc(decmp_len); // Read the file getcwd(path, PATH_MAX); snprintf(filename, PATH_MAX, "%s/data/data.bin", path); file = fopen(filename, "rb"); - fread((void*)original, 1, original_len, file); + fread((void *)original, 1, original_len, file); fclose(file); // Calculate the CRC original_crc = crc32_data(original, original_len); // Compress - err = AARU_lzma_encode_buffer( - cmp_buffer, &cmp_len, original, original_len, props, &props_len, 9, 1048576, 3, 0, 2, 273, 2); + err = AARU_lzma_encode_buffer(cmp_buffer, &cmp_len, original, original_len, props, &props_len, 9, 1048576, 3, 0, 2, + 273, 2); EXPECT_EQ(err, 0); // Decompress @@ -127,7 +127,7 @@ TEST_F(lzmaFixture, lzmaCompress) decmp_crc = crc32_data(decmp_buffer, decmp_len); // Free buffers - free((void*)original); + free((void *)original); free(cmp_buffer); free(decmp_buffer); diff --git a/tests/zstd.cpp b/tests/zstd.cpp index 2c77847..ac762a0 100644 --- a/tests/zstd.cpp +++ b/tests/zstd.cpp @@ -26,18 +26,18 @@ #define EXPECTED_CRC32 0xc64059c0 -static const uint8_t* buffer; +static const uint8_t *buffer; class zstdFixture : public ::testing::Test { - public: +public: zstdFixture() { // initialization; // can also be done in SetUp() } - protected: +protected: void SetUp() { char path[PATH_MAX]; @@ -46,13 +46,13 @@ class zstdFixture : public ::testing::Test getcwd(path, PATH_MAX); snprintf(filename, PATH_MAX, "%s/data/zstd.zst", path); - FILE* file = fopen(filename, "rb"); - buffer = (const uint8_t*)malloc(1048613); - fread((void*)buffer, 1, 1048613, file); + FILE *file = fopen(filename, "rb"); + buffer = (const uint8_t *)malloc(1048613); + fread((void *)buffer, 1, 1048613, file); fclose(file); } - void TearDown() { free((void*)buffer); } + void TearDown() { free((void *)buffer); } ~zstdFixture() { @@ -64,7 +64,7 @@ class zstdFixture : public ::testing::Test TEST_F(zstdFixture, zstd) { - auto* outBuf = (uint8_t*)malloc(1048576); + auto *outBuf = (uint8_t *)malloc(1048576); auto decoded = AARU_zstd_decode_buffer(outBuf, 1048576, buffer, 1048613); @@ -84,24 +84,24 @@ TEST_F(zstdFixture, zstdCompress) uint decmp_len = original_len; char path[PATH_MAX]; char filename[PATH_MAX * 2]; - FILE* file; + FILE *file; uint32_t original_crc, decmp_crc; - const uint8_t* original; - uint8_t* cmp_buffer; - uint8_t* decmp_buffer; + const uint8_t *original; + uint8_t *cmp_buffer; + uint8_t *decmp_buffer; size_t newSize; // Allocate buffers - original = (const uint8_t*)malloc(original_len); - cmp_buffer = (uint8_t*)malloc(cmp_len); - decmp_buffer = (uint8_t*)malloc(decmp_len); + original = (const uint8_t *)malloc(original_len); + cmp_buffer = (uint8_t *)malloc(cmp_len); + decmp_buffer = (uint8_t *)malloc(decmp_len); // Read the file getcwd(path, PATH_MAX); snprintf(filename, PATH_MAX, "%s/data/data.bin", path); file = fopen(filename, "rb"); - fread((void*)original, 1, original_len, file); + fread((void *)original, 1, original_len, file); fclose(file); // Calculate the CRC @@ -120,7 +120,7 @@ TEST_F(zstdFixture, zstdCompress) decmp_crc = crc32_data(decmp_buffer, decmp_len); // Free buffers - free((void*)original); + free((void *)original); free(cmp_buffer); free(decmp_buffer);