Skip to content

Commit

Permalink
Trying to get the MSVC solution running
Browse files Browse the repository at this point in the history
- inttypes.h is used by liblzma, had to use msinttypes from
code.google.com/p/msinttypes
- There seem to be massive problems with the "inline" keyword
  • Loading branch information
schnaader committed Jul 2, 2016
1 parent 5e54296 commit a75dc54
Show file tree
Hide file tree
Showing 6 changed files with 1,123 additions and 1 deletion.
5 changes: 4 additions & 1 deletion contrib/liblzma/common/sysdefs_schnaader.h
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,11 @@

#define SCHNAADER_SYSDEFS_H


#ifdef _MSC_VER
#include "inttypes.h"
#else
#include <inttypes.h>
#endif

#define MYTHREAD_WIN95

Expand Down
145 changes: 145 additions & 0 deletions vs2012/Precomp/Precomp.vcxproj
Original file line number Diff line number Diff line change
Expand Up @@ -19,11 +19,13 @@
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v110</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v110</PlatformToolset>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
Expand All @@ -50,6 +52,7 @@
<WarningLevel>Level3</WarningLevel>
<Optimization>Disabled</Optimization>
<PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions);BUILD_LIB</PreprocessorDefinitions>
<AdditionalOptions>/I..\..\contrib\liblzma\api /I..\..\contrib\liblzma\check\ /I..\..\contrib\liblzma\common\ /I..\..\contrib\liblzma\delta\ /I..\..\contrib\liblzma\lz\ /I..\..\contrib\liblzma\lzma\ /I..\..\contrib\liblzma\rangecoder\ /I..\..\contrib\liblzma\simple\ /Imsinttypes\ %(AdditionalOptions)</AdditionalOptions>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
Expand All @@ -65,6 +68,7 @@
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;BUILD_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalOptions>/I..\..\contrib\liblzma\api /I..\..\contrib\liblzma\check\ /I..\..\contrib\liblzma\common\ /I..\..\contrib\liblzma\delta\ /I..\..\contrib\liblzma\lz\ /I..\..\contrib\liblzma\lzma\ /I..\..\contrib\liblzma\rangecoder\ /I..\..\contrib\liblzma\simple\ /Imsinttypes\ %(AdditionalOptions)</AdditionalOptions>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
Expand All @@ -85,6 +89,78 @@
<ClCompile Include="..\..\contrib\giflib\egif_lib_gcc.c" />
<ClCompile Include="..\..\contrib\giflib\gifalloc.c" />
<ClCompile Include="..\..\contrib\giflib\gif_err.c" />
<ClCompile Include="..\..\contrib\liblzma\check\check.c" />
<ClCompile Include="..\..\contrib\liblzma\check\crc32_table.c" />
<ClCompile Include="..\..\contrib\liblzma\check\crc64_table.c" />
<ClCompile Include="..\..\contrib\liblzma\check\sha256.c" />
<ClCompile Include="..\..\contrib\liblzma\common\alone_decoder.c" />
<ClCompile Include="..\..\contrib\liblzma\common\alone_encoder.c" />
<ClCompile Include="..\..\contrib\liblzma\common\auto_decoder.c" />
<ClCompile Include="..\..\contrib\liblzma\common\block_buffer_decoder.c" />
<ClCompile Include="..\..\contrib\liblzma\common\block_buffer_encoder.c" />
<ClCompile Include="..\..\contrib\liblzma\common\block_decoder.c" />
<ClCompile Include="..\..\contrib\liblzma\common\block_encoder.c" />
<ClCompile Include="..\..\contrib\liblzma\common\block_header_decoder.c" />
<ClCompile Include="..\..\contrib\liblzma\common\block_header_encoder.c" />
<ClCompile Include="..\..\contrib\liblzma\common\block_util.c" />
<ClCompile Include="..\..\contrib\liblzma\common\common.c" />
<ClCompile Include="..\..\contrib\liblzma\common\easy_buffer_encoder.c" />
<ClCompile Include="..\..\contrib\liblzma\common\easy_decoder_memusage.c" />
<ClCompile Include="..\..\contrib\liblzma\common\easy_encoder.c" />
<ClCompile Include="..\..\contrib\liblzma\common\easy_encoder_memusage.c" />
<ClCompile Include="..\..\contrib\liblzma\common\easy_preset.c" />
<ClCompile Include="..\..\contrib\liblzma\common\filter_buffer_decoder.c" />
<ClCompile Include="..\..\contrib\liblzma\common\filter_buffer_encoder.c" />
<ClCompile Include="..\..\contrib\liblzma\common\filter_common.c" />
<ClCompile Include="..\..\contrib\liblzma\common\filter_decoder.c" />
<ClCompile Include="..\..\contrib\liblzma\common\filter_encoder.c" />
<ClCompile Include="..\..\contrib\liblzma\common\filter_flags_decoder.c" />
<ClCompile Include="..\..\contrib\liblzma\common\filter_flags_encoder.c" />
<ClCompile Include="..\..\contrib\liblzma\common\hardware_cputhreads.c" />
<ClCompile Include="..\..\contrib\liblzma\common\hardware_physmem.c" />
<ClCompile Include="..\..\contrib\liblzma\common\index.c" />
<ClCompile Include="..\..\contrib\liblzma\common\index_decoder.c" />
<ClCompile Include="..\..\contrib\liblzma\common\index_encoder.c" />
<ClCompile Include="..\..\contrib\liblzma\common\index_hash.c" />
<ClCompile Include="..\..\contrib\liblzma\common\outqueue.c" />
<ClCompile Include="..\..\contrib\liblzma\common\stream_buffer_decoder.c" />
<ClCompile Include="..\..\contrib\liblzma\common\stream_buffer_encoder.c" />
<ClCompile Include="..\..\contrib\liblzma\common\stream_decoder.c" />
<ClCompile Include="..\..\contrib\liblzma\common\stream_encoder.c" />
<ClCompile Include="..\..\contrib\liblzma\common\stream_encoder_mt.c" />
<ClCompile Include="..\..\contrib\liblzma\common\stream_flags_common.c" />
<ClCompile Include="..\..\contrib\liblzma\common\stream_flags_decoder.c" />
<ClCompile Include="..\..\contrib\liblzma\common\stream_flags_encoder.c" />
<ClCompile Include="..\..\contrib\liblzma\common\tuklib_cpucores.c" />
<ClCompile Include="..\..\contrib\liblzma\common\tuklib_physmem.c" />
<ClCompile Include="..\..\contrib\liblzma\common\vli_decoder.c" />
<ClCompile Include="..\..\contrib\liblzma\common\vli_encoder.c" />
<ClCompile Include="..\..\contrib\liblzma\common\vli_size.c" />
<ClCompile Include="..\..\contrib\liblzma\compress_easy_mt.cpp" />
<ClCompile Include="..\..\contrib\liblzma\delta\delta_common.c" />
<ClCompile Include="..\..\contrib\liblzma\delta\delta_decoder.c" />
<ClCompile Include="..\..\contrib\liblzma\delta\delta_encoder.c" />
<ClCompile Include="..\..\contrib\liblzma\lzma\fastpos_table.c" />
<ClCompile Include="..\..\contrib\liblzma\lzma\lzma2_decoder.c" />
<ClCompile Include="..\..\contrib\liblzma\lzma\lzma2_encoder.c" />
<ClCompile Include="..\..\contrib\liblzma\lzma\lzma_decoder.c" />
<ClCompile Include="..\..\contrib\liblzma\lzma\lzma_encoder.c" />
<ClCompile Include="..\..\contrib\liblzma\lzma\lzma_encoder_optimum_fast.c" />
<ClCompile Include="..\..\contrib\liblzma\lzma\lzma_encoder_optimum_normal.c" />
<ClCompile Include="..\..\contrib\liblzma\lzma\lzma_encoder_presets.c" />
<ClCompile Include="..\..\contrib\liblzma\lz\lz_decoder.c" />
<ClCompile Include="..\..\contrib\liblzma\lz\lz_encoder.c" />
<ClCompile Include="..\..\contrib\liblzma\lz\lz_encoder_mf.c" />
<ClCompile Include="..\..\contrib\liblzma\rangecoder\price_table.c" />
<ClCompile Include="..\..\contrib\liblzma\simple\arm.c" />
<ClCompile Include="..\..\contrib\liblzma\simple\armthumb.c" />
<ClCompile Include="..\..\contrib\liblzma\simple\ia64.c" />
<ClCompile Include="..\..\contrib\liblzma\simple\powerpc.c" />
<ClCompile Include="..\..\contrib\liblzma\simple\simple_coder.c" />
<ClCompile Include="..\..\contrib\liblzma\simple\simple_decoder.c" />
<ClCompile Include="..\..\contrib\liblzma\simple\simple_encoder.c" />
<ClCompile Include="..\..\contrib\liblzma\simple\sparc.c" />
<ClCompile Include="..\..\contrib\liblzma\simple\x86.c" />
<ClCompile Include="..\..\contrib\packjpg\aricoder.cpp" />
<ClCompile Include="..\..\contrib\packjpg\bitops.cpp" />
<ClCompile Include="..\..\contrib\packjpg\packjpg.cpp" />
Expand All @@ -105,6 +181,69 @@
<ClInclude Include="..\..\contrib\bzip2\bzlib_private.h" />
<ClInclude Include="..\..\contrib\giflib\gif_lib.h" />
<ClInclude Include="..\..\contrib\giflib\gif_lib_private.h" />
<ClInclude Include="..\..\contrib\liblzma\api\lzma.h" />
<ClInclude Include="..\..\contrib\liblzma\api\lzma\base.h" />
<ClInclude Include="..\..\contrib\liblzma\api\lzma\bcj.h" />
<ClInclude Include="..\..\contrib\liblzma\api\lzma\block.h" />
<ClInclude Include="..\..\contrib\liblzma\api\lzma\check.h" />
<ClInclude Include="..\..\contrib\liblzma\api\lzma\container.h" />
<ClInclude Include="..\..\contrib\liblzma\api\lzma\delta.h" />
<ClInclude Include="..\..\contrib\liblzma\api\lzma\filter.h" />
<ClInclude Include="..\..\contrib\liblzma\api\lzma\hardware.h" />
<ClInclude Include="..\..\contrib\liblzma\api\lzma\index.h" />
<ClInclude Include="..\..\contrib\liblzma\api\lzma\index_hash.h" />
<ClInclude Include="..\..\contrib\liblzma\api\lzma\lzma12.h" />
<ClInclude Include="..\..\contrib\liblzma\api\lzma\stream_flags.h" />
<ClInclude Include="..\..\contrib\liblzma\api\lzma\version.h" />
<ClInclude Include="..\..\contrib\liblzma\api\lzma\vli.h" />
<ClInclude Include="..\..\contrib\liblzma\check\check.h" />
<ClInclude Include="..\..\contrib\liblzma\check\crc_macros.h" />
<ClInclude Include="..\..\contrib\liblzma\common\alone_decoder.h" />
<ClInclude Include="..\..\contrib\liblzma\common\block_buffer_encoder.h" />
<ClInclude Include="..\..\contrib\liblzma\common\block_decoder.h" />
<ClInclude Include="..\..\contrib\liblzma\common\block_encoder.h" />
<ClInclude Include="..\..\contrib\liblzma\common\common.h" />
<ClInclude Include="..\..\contrib\liblzma\common\easy_preset.h" />
<ClInclude Include="..\..\contrib\liblzma\common\filter_common.h" />
<ClInclude Include="..\..\contrib\liblzma\common\filter_decoder.h" />
<ClInclude Include="..\..\contrib\liblzma\common\filter_encoder.h" />
<ClInclude Include="..\..\contrib\liblzma\common\index.h" />
<ClInclude Include="..\..\contrib\liblzma\common\index_encoder.h" />
<ClInclude Include="..\..\contrib\liblzma\common\memcmplen.h" />
<ClInclude Include="..\..\contrib\liblzma\common\mythread.h" />
<ClInclude Include="..\..\contrib\liblzma\common\outqueue.h" />
<ClInclude Include="..\..\contrib\liblzma\common\stream_decoder.h" />
<ClInclude Include="..\..\contrib\liblzma\common\stream_flags_common.h" />
<ClInclude Include="..\..\contrib\liblzma\common\sysdefs.h" />
<ClInclude Include="..\..\contrib\liblzma\common\sysdefs_schnaader.h" />
<ClInclude Include="..\..\contrib\liblzma\common\tuklib_common.h" />
<ClInclude Include="..\..\contrib\liblzma\common\tuklib_config.h" />
<ClInclude Include="..\..\contrib\liblzma\common\tuklib_cpucores.h" />
<ClInclude Include="..\..\contrib\liblzma\common\tuklib_integer.h" />
<ClInclude Include="..\..\contrib\liblzma\common\tuklib_physmem.h" />
<ClInclude Include="..\..\contrib\liblzma\delta\delta_common.h" />
<ClInclude Include="..\..\contrib\liblzma\delta\delta_decoder.h" />
<ClInclude Include="..\..\contrib\liblzma\delta\delta_encoder.h" />
<ClInclude Include="..\..\contrib\liblzma\delta\delta_private.h" />
<ClInclude Include="..\..\contrib\liblzma\lzma\fastpos.h" />
<ClInclude Include="..\..\contrib\liblzma\lzma\lzma2_decoder.h" />
<ClInclude Include="..\..\contrib\liblzma\lzma\lzma2_encoder.h" />
<ClInclude Include="..\..\contrib\liblzma\lzma\lzma_common.h" />
<ClInclude Include="..\..\contrib\liblzma\lzma\lzma_decoder.h" />
<ClInclude Include="..\..\contrib\liblzma\lzma\lzma_encoder.h" />
<ClInclude Include="..\..\contrib\liblzma\lzma\lzma_encoder_private.h" />
<ClInclude Include="..\..\contrib\liblzma\lz\lz_decoder.h" />
<ClInclude Include="..\..\contrib\liblzma\lz\lz_encoder.h" />
<ClInclude Include="..\..\contrib\liblzma\lz\lz_encoder_hash.h" />
<ClInclude Include="..\..\contrib\liblzma\lz\lz_encoder_hash_table.h" />
<ClInclude Include="..\..\contrib\liblzma\rangecoder\price.h" />
<ClInclude Include="..\..\contrib\liblzma\rangecoder\range_common.h" />
<ClInclude Include="..\..\contrib\liblzma\rangecoder\range_decoder.h" />
<ClInclude Include="..\..\contrib\liblzma\rangecoder\range_encoder.h" />
<ClInclude Include="..\..\contrib\liblzma\simple\simple_coder.h" />
<ClInclude Include="..\..\contrib\liblzma\simple\simple_decoder.h" />
<ClInclude Include="..\..\contrib\liblzma\simple\simple_encoder.h" />
<ClInclude Include="..\..\contrib\liblzma\simple\simple_private.h" />
<ClInclude Include="..\..\contrib\packjpg\aricoder.h" />
<ClInclude Include="..\..\contrib\packjpg\bitops.h" />
<ClInclude Include="..\..\contrib\packjpg\dct8x8.h" />
Expand All @@ -125,6 +264,12 @@
<ClInclude Include="..\..\contrib\zlib\zconf.h" />
<ClInclude Include="..\..\contrib\zlib\zlib.h" />
<ClInclude Include="..\..\contrib\zlib\zutil.h" />
<ClInclude Include="msinttypes\inttypes.h" />
<ClInclude Include="msinttypes\stdint.h" />
</ItemGroup>
<ItemGroup>
<None Include="..\..\contrib\liblzma\check\crc32_x86.S" />
<None Include="..\..\contrib\liblzma\check\crc64_x86.S" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
Expand Down
Loading

2 comments on commit a75dc54

@sftt
Copy link
Owner

@sftt sftt commented on a75dc54 Jul 3, 2016

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

liblzma seems to require MSVC 2013 for the C99 support

Microsoft Visual Studio 2013 update 2 or later (MSVC for short):
See windows/INSTALL-MSVC.txt for more information.

ShiftMediaProject/liblzma@9800174

Building XZ Utils with Microsoft Visual Studio

Introduction

MSVC 2013 update 2 and later have enough C99 support to build liblzma from XZ Utils 5.2.0 and later without modifications.
Older MSVC versions would require a large number of changes to the XZ Utils code and thus the old MSVC versions aren't supported.

@sftt
Copy link
Owner

@sftt sftt commented on a75dc54 Jul 3, 2016

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@schnaader and the multi-version support (no vs2008 for the different filename extension)
ShiftMediaProject/liblzma@a210a42

Both 2013 and 2015 are supported in the same project. The available version will be detected by the project.

Please sign in to comment.