aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--difftool/compare_files.c2
-rw-r--r--difftool/sqfsdiff.h5
-rw-r--r--difftool/sqfsdiff.vcxproj188
-rw-r--r--difftool/sqfsdiff.vcxproj.filters44
-rw-r--r--mkfs/gensquashfs.vcxproj181
-rw-r--r--mkfs/gensquashfs.vcxproj.filters32
-rw-r--r--mkfs/mkfs.h8
-rw-r--r--squashfs-tools-ng.sln50
-rw-r--r--tar/sqfs2tar.c3
-rw-r--r--tar/sqfs2tar.vcxproj180
-rw-r--r--tar/sqfs2tar.vcxproj.filters14
-rw-r--r--tar/tar2sqfs.c5
-rw-r--r--tar/tar2sqfs.vcxproj180
-rw-r--r--tar/tar2sqfs.vcxproj.filters14
-rw-r--r--unpack/rdsquashfs.h6
-rw-r--r--unpack/rdsquashfs.vcxproj187
-rw-r--r--unpack/rdsquashfs.vcxproj.filters41
17 files changed, 1135 insertions, 5 deletions
diff --git a/difftool/compare_files.c b/difftool/compare_files.c
index 51b66bb..b25172a 100644
--- a/difftool/compare_files.c
+++ b/difftool/compare_files.c
@@ -13,7 +13,7 @@ static int read_blob(const char *prefix, const char *path,
sqfs_data_reader_t *rd, const sqfs_inode_generic_t *inode,
void *buffer, sqfs_u64 offset, size_t size)
{
- ssize_t ret;
+ sqfs_s32 ret;
ret = sqfs_data_reader_read(rd, inode, offset, buffer, size);
ret = (ret < 0 || (size_t)ret < size) ? -1 : 0;
diff --git a/difftool/sqfsdiff.h b/difftool/sqfsdiff.h
index 94fce93..7f552e9 100644
--- a/difftool/sqfsdiff.h
+++ b/difftool/sqfsdiff.h
@@ -12,10 +12,13 @@
#include "fstree.h"
#include <stdlib.h>
-#include <getopt.h>
#include <string.h>
#include <errno.h>
+#ifdef HAVE_GETOPT_LONG
+#include <getopt.h>
+#endif
+
#define MAX_WINDOW_SIZE (1024 * 1024 * 4)
typedef struct {
diff --git a/difftool/sqfsdiff.vcxproj b/difftool/sqfsdiff.vcxproj
new file mode 100644
index 0000000..5e7d404
--- /dev/null
+++ b/difftool/sqfsdiff.vcxproj
@@ -0,0 +1,188 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <ItemGroup Label="ProjectConfigurations">
+ <ProjectConfiguration Include="Debug|Win32">
+ <Configuration>Debug</Configuration>
+ <Platform>Win32</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Release|Win32">
+ <Configuration>Release</Configuration>
+ <Platform>Win32</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Debug|x64">
+ <Configuration>Debug</Configuration>
+ <Platform>x64</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Release|x64">
+ <Configuration>Release</Configuration>
+ <Platform>x64</Platform>
+ </ProjectConfiguration>
+ </ItemGroup>
+ <PropertyGroup Label="Globals">
+ <VCProjectVersion>16.0</VCProjectVersion>
+ <ProjectGuid>{7D66EBA3-5EDE-45EB-ADCA-8424C4026CA7}</ProjectGuid>
+ <RootNamespace>sqfsdiff</RootNamespace>
+ <WindowsTargetPlatformVersion>10.0</WindowsTargetPlatformVersion>
+ </PropertyGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ <UseDebugLibraries>true</UseDebugLibraries>
+ <PlatformToolset>v142</PlatformToolset>
+ <CharacterSet>Unicode</CharacterSet>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ <UseDebugLibraries>false</UseDebugLibraries>
+ <PlatformToolset>v142</PlatformToolset>
+ <WholeProgramOptimization>true</WholeProgramOptimization>
+ <CharacterSet>Unicode</CharacterSet>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ <UseDebugLibraries>true</UseDebugLibraries>
+ <PlatformToolset>v142</PlatformToolset>
+ <CharacterSet>Unicode</CharacterSet>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ <UseDebugLibraries>false</UseDebugLibraries>
+ <PlatformToolset>v142</PlatformToolset>
+ <WholeProgramOptimization>true</WholeProgramOptimization>
+ <CharacterSet>Unicode</CharacterSet>
+ </PropertyGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+ <ImportGroup Label="ExtensionSettings">
+ </ImportGroup>
+ <ImportGroup Label="Shared">
+ </ImportGroup>
+ <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
+ <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
+ <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
+ <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
+ <PropertyGroup Label="UserMacros" />
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+ <LinkIncremental>false</LinkIncremental>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+ <LinkIncremental>true</LinkIncremental>
+ <OutDir>$(SolutionDir)$(Platform)\$(Configuration)\</OutDir>
+ <IntDir>$(Platform)\$(Configuration)\</IntDir>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+ <LinkIncremental>true</LinkIncremental>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+ <LinkIncremental>false</LinkIncremental>
+ <OutDir>$(SolutionDir)$(Platform)\$(Configuration)\</OutDir>
+ <IntDir>$(Platform)\$(Configuration)\</IntDir>
+ </PropertyGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+ <ClCompile>
+ <WarningLevel>Level3</WarningLevel>
+ <FunctionLevelLinking>true</FunctionLevelLinking>
+ <IntrinsicFunctions>true</IntrinsicFunctions>
+ <SDLCheck>true</SDLCheck>
+ <PreprocessorDefinitions>NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <ConformanceMode>true</ConformanceMode>
+ <AdditionalIncludeDirectories> $(SolutionDir)\include\win32;$(SolutionDir)\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ </ClCompile>
+ <Link>
+ <SubSystem>Console</SubSystem>
+ <EnableCOMDATFolding>true</EnableCOMDATFolding>
+ <OptimizeReferences>true</OptimizeReferences>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ <AdditionalDependencies>$(TargetDir)\squashfs.lib;$(TargetDir)\libcompat.lib;$(TargetDir)\libcommon.lib;$(TargetDir)\libfstree.lib;$(TargetDir)\libtar.lib;$(TargetDir)\libutil.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+ <ClCompile>
+ <WarningLevel>Level3</WarningLevel>
+ <SDLCheck>true</SDLCheck>
+ <PreprocessorDefinitions>_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <ConformanceMode>true</ConformanceMode>
+ <AdditionalIncludeDirectories> $(SolutionDir)\include\win32;$(SolutionDir)\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ </ClCompile>
+ <Link>
+ <SubSystem>Console</SubSystem>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ <AdditionalDependencies>$(TargetDir)\squashfs.lib;$(TargetDir)\libcompat.lib;$(TargetDir)\libcommon.lib;$(TargetDir)\libfstree.lib;$(TargetDir)\libtar.lib;$(TargetDir)\libutil.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+ <ClCompile>
+ <WarningLevel>Level3</WarningLevel>
+ <SDLCheck>true</SDLCheck>
+ <PreprocessorDefinitions>_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <ConformanceMode>true</ConformanceMode>
+ <AdditionalIncludeDirectories> $(SolutionDir)\include\win32;$(SolutionDir)\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ </ClCompile>
+ <Link>
+ <SubSystem>Console</SubSystem>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ <AdditionalDependencies>$(TargetDir)\squashfs.lib;$(TargetDir)\libcompat.lib;$(TargetDir)\libcommon.lib;$(TargetDir)\libfstree.lib;$(TargetDir)\libtar.lib;$(TargetDir)\libutil.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+ <ClCompile>
+ <WarningLevel>Level3</WarningLevel>
+ <FunctionLevelLinking>true</FunctionLevelLinking>
+ <IntrinsicFunctions>true</IntrinsicFunctions>
+ <SDLCheck>true</SDLCheck>
+ <PreprocessorDefinitions>NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <ConformanceMode>true</ConformanceMode>
+ <AdditionalIncludeDirectories> $(SolutionDir)\include\win32;$(SolutionDir)\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ </ClCompile>
+ <Link>
+ <SubSystem>Console</SubSystem>
+ <EnableCOMDATFolding>true</EnableCOMDATFolding>
+ <OptimizeReferences>true</OptimizeReferences>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ <AdditionalDependencies>$(TargetDir)\squashfs.lib;$(TargetDir)\libcompat.lib;$(TargetDir)\libcommon.lib;$(TargetDir)\libfstree.lib;$(TargetDir)\libtar.lib;$(TargetDir)\libutil.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemGroup>
+ <ClCompile Include="compare_dir.c" />
+ <ClCompile Include="compare_files.c" />
+ <ClCompile Include="extract.c" />
+ <ClCompile Include="node_compare.c" />
+ <ClCompile Include="options.c" />
+ <ClCompile Include="sqfsdiff.c" />
+ <ClCompile Include="super.c" />
+ <ClCompile Include="util.c" />
+ </ItemGroup>
+ <ItemGroup>
+ <ClInclude Include="sqfsdiff.h" />
+ </ItemGroup>
+ <ItemGroup>
+ <ProjectReference Include="..\lib\common\libcommon.vcxproj">
+ <Project>{4af21b3a-e7a0-48e6-951c-ca442410231f}</Project>
+ </ProjectReference>
+ <ProjectReference Include="..\lib\compat\libcompat.vcxproj">
+ <Project>{45dec8f7-f154-4c3e-b616-a21fb3ca8cc2}</Project>
+ </ProjectReference>
+ <ProjectReference Include="..\lib\fstree\libfstree.vcxproj">
+ <Project>{4aa93963-2bc8-48fa-80b8-776b1f80bba5}</Project>
+ </ProjectReference>
+ <ProjectReference Include="..\lib\sqfs\libsqfs.vcxproj">
+ <Project>{7f732a8e-22a5-4dc1-b8db-7091d37be502}</Project>
+ </ProjectReference>
+ <ProjectReference Include="..\lib\tar\libtar.vcxproj">
+ <Project>{73712684-0f79-4ef6-950c-943c0456ff05}</Project>
+ </ProjectReference>
+ <ProjectReference Include="..\lib\util\libutil.vcxproj">
+ <Project>{e25396a6-af76-4695-ba23-01d88009b7ec}</Project>
+ </ProjectReference>
+ </ItemGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
+ <ImportGroup Label="ExtensionTargets">
+ </ImportGroup>
+</Project> \ No newline at end of file
diff --git a/difftool/sqfsdiff.vcxproj.filters b/difftool/sqfsdiff.vcxproj.filters
new file mode 100644
index 0000000..18cc471
--- /dev/null
+++ b/difftool/sqfsdiff.vcxproj.filters
@@ -0,0 +1,44 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <ItemGroup>
+ <Filter Include="Headers">
+ <UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
+ <Extensions>h;hh;hpp;hxx;h++;hm;inl;inc;ipp;xsd</Extensions>
+ </Filter>
+ <Filter Include="Source">
+ <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
+ <Extensions>cpp;c;cc;cxx;c++;def;odl;idl;hpj;bat;asm;asmx</Extensions>
+ </Filter>
+ </ItemGroup>
+ <ItemGroup>
+ <ClCompile Include="options.c">
+ <Filter>Source</Filter>
+ </ClCompile>
+ <ClCompile Include="sqfsdiff.c">
+ <Filter>Source</Filter>
+ </ClCompile>
+ <ClCompile Include="super.c">
+ <Filter>Source</Filter>
+ </ClCompile>
+ <ClCompile Include="util.c">
+ <Filter>Source</Filter>
+ </ClCompile>
+ <ClCompile Include="compare_dir.c">
+ <Filter>Source</Filter>
+ </ClCompile>
+ <ClCompile Include="compare_files.c">
+ <Filter>Source</Filter>
+ </ClCompile>
+ <ClCompile Include="extract.c">
+ <Filter>Source</Filter>
+ </ClCompile>
+ <ClCompile Include="node_compare.c">
+ <Filter>Source</Filter>
+ </ClCompile>
+ </ItemGroup>
+ <ItemGroup>
+ <ClInclude Include="sqfsdiff.h">
+ <Filter>Headers</Filter>
+ </ClInclude>
+ </ItemGroup>
+</Project> \ No newline at end of file
diff --git a/mkfs/gensquashfs.vcxproj b/mkfs/gensquashfs.vcxproj
new file mode 100644
index 0000000..ab72df8
--- /dev/null
+++ b/mkfs/gensquashfs.vcxproj
@@ -0,0 +1,181 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <ItemGroup Label="ProjectConfigurations">
+ <ProjectConfiguration Include="Debug|Win32">
+ <Configuration>Debug</Configuration>
+ <Platform>Win32</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Release|Win32">
+ <Configuration>Release</Configuration>
+ <Platform>Win32</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Debug|x64">
+ <Configuration>Debug</Configuration>
+ <Platform>x64</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Release|x64">
+ <Configuration>Release</Configuration>
+ <Platform>x64</Platform>
+ </ProjectConfiguration>
+ </ItemGroup>
+ <PropertyGroup Label="Globals">
+ <VCProjectVersion>16.0</VCProjectVersion>
+ <ProjectGuid>{5DD8D757-AE1F-4633-869A-4C3B83DBA2A7}</ProjectGuid>
+ <RootNamespace>gensquashfs</RootNamespace>
+ <WindowsTargetPlatformVersion>10.0</WindowsTargetPlatformVersion>
+ </PropertyGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ <UseDebugLibraries>true</UseDebugLibraries>
+ <PlatformToolset>v142</PlatformToolset>
+ <CharacterSet>Unicode</CharacterSet>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ <UseDebugLibraries>false</UseDebugLibraries>
+ <PlatformToolset>v142</PlatformToolset>
+ <WholeProgramOptimization>true</WholeProgramOptimization>
+ <CharacterSet>Unicode</CharacterSet>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ <UseDebugLibraries>true</UseDebugLibraries>
+ <PlatformToolset>v142</PlatformToolset>
+ <CharacterSet>Unicode</CharacterSet>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ <UseDebugLibraries>false</UseDebugLibraries>
+ <PlatformToolset>v142</PlatformToolset>
+ <WholeProgramOptimization>true</WholeProgramOptimization>
+ <CharacterSet>Unicode</CharacterSet>
+ </PropertyGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+ <ImportGroup Label="ExtensionSettings">
+ </ImportGroup>
+ <ImportGroup Label="Shared">
+ </ImportGroup>
+ <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
+ <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
+ <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
+ <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
+ <PropertyGroup Label="UserMacros" />
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+ <LinkIncremental>false</LinkIncremental>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+ <LinkIncremental>true</LinkIncremental>
+ <OutDir>$(SolutionDir)$(Platform)\$(Configuration)\</OutDir>
+ <IntDir>$(Platform)\$(Configuration)\</IntDir>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+ <LinkIncremental>true</LinkIncremental>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+ <LinkIncremental>false</LinkIncremental>
+ <OutDir>$(SolutionDir)$(Platform)\$(Configuration)\</OutDir>
+ <IntDir>$(Platform)\$(Configuration)\</IntDir>
+ </PropertyGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+ <ClCompile>
+ <WarningLevel>Level3</WarningLevel>
+ <FunctionLevelLinking>true</FunctionLevelLinking>
+ <IntrinsicFunctions>true</IntrinsicFunctions>
+ <SDLCheck>true</SDLCheck>
+ <PreprocessorDefinitions>NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <ConformanceMode>true</ConformanceMode>
+ <AdditionalIncludeDirectories>$(SolutionDir)\include\win32;$(SolutionDir)\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ </ClCompile>
+ <Link>
+ <SubSystem>Console</SubSystem>
+ <EnableCOMDATFolding>true</EnableCOMDATFolding>
+ <OptimizeReferences>true</OptimizeReferences>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ <AdditionalDependencies>$(TargetDir)\squashfs.lib;$(TargetDir)\libcompat.lib;$(TargetDir)\libcommon.lib;$(TargetDir)\libfstree.lib;$(TargetDir)\libtar.lib;$(TargetDir)\libutil.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+ <ClCompile>
+ <WarningLevel>Level3</WarningLevel>
+ <SDLCheck>true</SDLCheck>
+ <PreprocessorDefinitions>_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <ConformanceMode>true</ConformanceMode>
+ <AdditionalIncludeDirectories>$(SolutionDir)\include\win32;$(SolutionDir)\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ </ClCompile>
+ <Link>
+ <SubSystem>Console</SubSystem>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ <AdditionalDependencies>$(TargetDir)\squashfs.lib;$(TargetDir)\libcompat.lib;$(TargetDir)\libcommon.lib;$(TargetDir)\libfstree.lib;$(TargetDir)\libtar.lib;$(TargetDir)\libutil.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+ <ClCompile>
+ <WarningLevel>Level3</WarningLevel>
+ <SDLCheck>true</SDLCheck>
+ <PreprocessorDefinitions>_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <ConformanceMode>true</ConformanceMode>
+ <AdditionalIncludeDirectories>$(SolutionDir)\include\win32;$(SolutionDir)\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ </ClCompile>
+ <Link>
+ <SubSystem>Console</SubSystem>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ <AdditionalDependencies>$(TargetDir)\squashfs.lib;$(TargetDir)\libcompat.lib;$(TargetDir)\libcommon.lib;$(TargetDir)\libfstree.lib;$(TargetDir)\libtar.lib;$(TargetDir)\libutil.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+ <ClCompile>
+ <WarningLevel>Level3</WarningLevel>
+ <FunctionLevelLinking>true</FunctionLevelLinking>
+ <IntrinsicFunctions>true</IntrinsicFunctions>
+ <SDLCheck>true</SDLCheck>
+ <PreprocessorDefinitions>NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <ConformanceMode>true</ConformanceMode>
+ <AdditionalIncludeDirectories>$(SolutionDir)\include\win32;$(SolutionDir)\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ </ClCompile>
+ <Link>
+ <SubSystem>Console</SubSystem>
+ <EnableCOMDATFolding>true</EnableCOMDATFolding>
+ <OptimizeReferences>true</OptimizeReferences>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ <AdditionalDependencies>$(TargetDir)\squashfs.lib;$(TargetDir)\libcompat.lib;$(TargetDir)\libcommon.lib;$(TargetDir)\libfstree.lib;$(TargetDir)\libtar.lib;$(TargetDir)\libutil.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemGroup>
+ <ProjectReference Include="..\lib\common\libcommon.vcxproj">
+ <Project>{4af21b3a-e7a0-48e6-951c-ca442410231f}</Project>
+ </ProjectReference>
+ <ProjectReference Include="..\lib\compat\libcompat.vcxproj">
+ <Project>{45dec8f7-f154-4c3e-b616-a21fb3ca8cc2}</Project>
+ </ProjectReference>
+ <ProjectReference Include="..\lib\fstree\libfstree.vcxproj">
+ <Project>{4aa93963-2bc8-48fa-80b8-776b1f80bba5}</Project>
+ </ProjectReference>
+ <ProjectReference Include="..\lib\sqfs\libsqfs.vcxproj">
+ <Project>{7f732a8e-22a5-4dc1-b8db-7091d37be502}</Project>
+ </ProjectReference>
+ <ProjectReference Include="..\lib\tar\libtar.vcxproj">
+ <Project>{73712684-0f79-4ef6-950c-943c0456ff05}</Project>
+ </ProjectReference>
+ </ItemGroup>
+ <ItemGroup>
+ <ClCompile Include="dirscan.c" />
+ <ClCompile Include="mkfs.c" />
+ <ClCompile Include="options.c" />
+ <ClCompile Include="selinux.c" />
+ </ItemGroup>
+ <ItemGroup>
+ <ClInclude Include="mkfs.h" />
+ </ItemGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
+ <ImportGroup Label="ExtensionTargets">
+ </ImportGroup>
+</Project> \ No newline at end of file
diff --git a/mkfs/gensquashfs.vcxproj.filters b/mkfs/gensquashfs.vcxproj.filters
new file mode 100644
index 0000000..52637be
--- /dev/null
+++ b/mkfs/gensquashfs.vcxproj.filters
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <ItemGroup>
+ <Filter Include="Headers">
+ <UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
+ <Extensions>h;hh;hpp;hxx;h++;hm;inl;inc;ipp;xsd</Extensions>
+ </Filter>
+ <Filter Include="Source">
+ <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
+ <Extensions>cpp;c;cc;cxx;c++;def;odl;idl;hpj;bat;asm;asmx</Extensions>
+ </Filter>
+ </ItemGroup>
+ <ItemGroup>
+ <ClCompile Include="options.c">
+ <Filter>Source</Filter>
+ </ClCompile>
+ <ClCompile Include="selinux.c">
+ <Filter>Source</Filter>
+ </ClCompile>
+ <ClCompile Include="dirscan.c">
+ <Filter>Source</Filter>
+ </ClCompile>
+ <ClCompile Include="mkfs.c">
+ <Filter>Source</Filter>
+ </ClCompile>
+ </ItemGroup>
+ <ItemGroup>
+ <ClInclude Include="mkfs.h">
+ <Filter>Headers</Filter>
+ </ClInclude>
+ </ItemGroup>
+</Project> \ No newline at end of file
diff --git a/mkfs/mkfs.h b/mkfs/mkfs.h
index 1b767aa..fecbf8e 100644
--- a/mkfs/mkfs.h
+++ b/mkfs/mkfs.h
@@ -29,16 +29,22 @@
#include <selinux/label.h>
#endif
+#ifdef HAVE_GETOPT_LONG
#include <getopt.h>
+#endif
+
#include <assert.h>
#include <stdlib.h>
#include <string.h>
#include <limits.h>
-#include <dirent.h>
#include <stdio.h>
#include <errno.h>
#include <ctype.h>
+#if !defined(_WIN32) && !defined(__WINDOWS__)
+#include <dirent.h>
+#endif
+
typedef struct {
sqfs_writer_cfg_t cfg;
unsigned int dirscan_flags;
diff --git a/squashfs-tools-ng.sln b/squashfs-tools-ng.sln
index 00c31ac..f002677 100644
--- a/squashfs-tools-ng.sln
+++ b/squashfs-tools-ng.sln
@@ -15,6 +15,16 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libtar", "lib\tar\libtar.vc
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libutil", "lib\util\libutil.vcxproj", "{E25396A6-AF76-4695-BA23-01D88009B7EC}"
EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "tar2sqfs", "tar\tar2sqfs.vcxproj", "{F2E6ECA9-8426-4363-8C5C-E6CDF76E8ABB}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "sqfs2tar", "tar\sqfs2tar.vcxproj", "{A998B239-A942-4586-B486-C62C1E467C21}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "rdsquashfs", "unpack\rdsquashfs.vcxproj", "{4D16D3A6-1BC9-456B-A207-C53DF5B92057}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gensquashfs", "mkfs\gensquashfs.vcxproj", "{5DD8D757-AE1F-4633-869A-4C3B83DBA2A7}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "sqfsdiff", "difftool\sqfsdiff.vcxproj", "{7D66EBA3-5EDE-45EB-ADCA-8424C4026CA7}"
+EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|x64 = Debug|x64
@@ -71,6 +81,46 @@ Global
{E25396A6-AF76-4695-BA23-01D88009B7EC}.Release|x64.Build.0 = Release|x64
{E25396A6-AF76-4695-BA23-01D88009B7EC}.Release|x86.ActiveCfg = Release|Win32
{E25396A6-AF76-4695-BA23-01D88009B7EC}.Release|x86.Build.0 = Release|Win32
+ {F2E6ECA9-8426-4363-8C5C-E6CDF76E8ABB}.Debug|x64.ActiveCfg = Debug|x64
+ {F2E6ECA9-8426-4363-8C5C-E6CDF76E8ABB}.Debug|x64.Build.0 = Debug|x64
+ {F2E6ECA9-8426-4363-8C5C-E6CDF76E8ABB}.Debug|x86.ActiveCfg = Debug|Win32
+ {F2E6ECA9-8426-4363-8C5C-E6CDF76E8ABB}.Debug|x86.Build.0 = Debug|Win32
+ {F2E6ECA9-8426-4363-8C5C-E6CDF76E8ABB}.Release|x64.ActiveCfg = Release|x64
+ {F2E6ECA9-8426-4363-8C5C-E6CDF76E8ABB}.Release|x64.Build.0 = Release|x64
+ {F2E6ECA9-8426-4363-8C5C-E6CDF76E8ABB}.Release|x86.ActiveCfg = Release|Win32
+ {F2E6ECA9-8426-4363-8C5C-E6CDF76E8ABB}.Release|x86.Build.0 = Release|Win32
+ {A998B239-A942-4586-B486-C62C1E467C21}.Debug|x64.ActiveCfg = Debug|x64
+ {A998B239-A942-4586-B486-C62C1E467C21}.Debug|x64.Build.0 = Debug|x64
+ {A998B239-A942-4586-B486-C62C1E467C21}.Debug|x86.ActiveCfg = Debug|Win32
+ {A998B239-A942-4586-B486-C62C1E467C21}.Debug|x86.Build.0 = Debug|Win32
+ {A998B239-A942-4586-B486-C62C1E467C21}.Release|x64.ActiveCfg = Release|x64
+ {A998B239-A942-4586-B486-C62C1E467C21}.Release|x64.Build.0 = Release|x64
+ {A998B239-A942-4586-B486-C62C1E467C21}.Release|x86.ActiveCfg = Release|Win32
+ {A998B239-A942-4586-B486-C62C1E467C21}.Release|x86.Build.0 = Release|Win32
+ {4D16D3A6-1BC9-456B-A207-C53DF5B92057}.Debug|x64.ActiveCfg = Debug|x64
+ {4D16D3A6-1BC9-456B-A207-C53DF5B92057}.Debug|x64.Build.0 = Debug|x64
+ {4D16D3A6-1BC9-456B-A207-C53DF5B92057}.Debug|x86.ActiveCfg = Debug|Win32
+ {4D16D3A6-1BC9-456B-A207-C53DF5B92057}.Debug|x86.Build.0 = Debug|Win32
+ {4D16D3A6-1BC9-456B-A207-C53DF5B92057}.Release|x64.ActiveCfg = Release|x64
+ {4D16D3A6-1BC9-456B-A207-C53DF5B92057}.Release|x64.Build.0 = Release|x64
+ {4D16D3A6-1BC9-456B-A207-C53DF5B92057}.Release|x86.ActiveCfg = Release|Win32
+ {4D16D3A6-1BC9-456B-A207-C53DF5B92057}.Release|x86.Build.0 = Release|Win32
+ {5DD8D757-AE1F-4633-869A-4C3B83DBA2A7}.Debug|x64.ActiveCfg = Debug|x64
+ {5DD8D757-AE1F-4633-869A-4C3B83DBA2A7}.Debug|x64.Build.0 = Debug|x64
+ {5DD8D757-AE1F-4633-869A-4C3B83DBA2A7}.Debug|x86.ActiveCfg = Debug|Win32
+ {5DD8D757-AE1F-4633-869A-4C3B83DBA2A7}.Debug|x86.Build.0 = Debug|Win32
+ {5DD8D757-AE1F-4633-869A-4C3B83DBA2A7}.Release|x64.ActiveCfg = Release|x64
+ {5DD8D757-AE1F-4633-869A-4C3B83DBA2A7}.Release|x64.Build.0 = Release|x64
+ {5DD8D757-AE1F-4633-869A-4C3B83DBA2A7}.Release|x86.ActiveCfg = Release|Win32
+ {5DD8D757-AE1F-4633-869A-4C3B83DBA2A7}.Release|x86.Build.0 = Release|Win32
+ {7D66EBA3-5EDE-45EB-ADCA-8424C4026CA7}.Debug|x64.ActiveCfg = Debug|x64
+ {7D66EBA3-5EDE-45EB-ADCA-8424C4026CA7}.Debug|x64.Build.0 = Debug|x64
+ {7D66EBA3-5EDE-45EB-ADCA-8424C4026CA7}.Debug|x86.ActiveCfg = Debug|Win32
+ {7D66EBA3-5EDE-45EB-ADCA-8424C4026CA7}.Debug|x86.Build.0 = Debug|Win32
+ {7D66EBA3-5EDE-45EB-ADCA-8424C4026CA7}.Release|x64.ActiveCfg = Release|x64
+ {7D66EBA3-5EDE-45EB-ADCA-8424C4026CA7}.Release|x64.Build.0 = Release|x64
+ {7D66EBA3-5EDE-45EB-ADCA-8424C4026CA7}.Release|x86.ActiveCfg = Release|Win32
+ {7D66EBA3-5EDE-45EB-ADCA-8424C4026CA7}.Release|x86.Build.0 = Release|Win32
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
diff --git a/tar/sqfs2tar.c b/tar/sqfs2tar.c
index b21570a..a05369f 100644
--- a/tar/sqfs2tar.c
+++ b/tar/sqfs2tar.c
@@ -8,7 +8,10 @@
#include "common.h"
#include "tar.h"
+#ifdef HAVE_GETOPT_LONG
#include <getopt.h>
+#endif
+
#include <string.h>
#include <stdlib.h>
#include <assert.h>
diff --git a/tar/sqfs2tar.vcxproj b/tar/sqfs2tar.vcxproj
new file mode 100644
index 0000000..3bea040
--- /dev/null
+++ b/tar/sqfs2tar.vcxproj
@@ -0,0 +1,180 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <ItemGroup Label="ProjectConfigurations">
+ <ProjectConfiguration Include="Debug|Win32">
+ <Configuration>Debug</Configuration>
+ <Platform>Win32</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Release|Win32">
+ <Configuration>Release</Configuration>
+ <Platform>Win32</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Debug|x64">
+ <Configuration>Debug</Configuration>
+ <Platform>x64</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Release|x64">
+ <Configuration>Release</Configuration>
+ <Platform>x64</Platform>
+ </ProjectConfiguration>
+ </ItemGroup>
+ <PropertyGroup Label="Globals">
+ <VCProjectVersion>16.0</VCProjectVersion>
+ <ProjectGuid>{A998B239-A942-4586-B486-C62C1E467C21}</ProjectGuid>
+ <RootNamespace>sqfs2tar</RootNamespace>
+ <WindowsTargetPlatformVersion>10.0</WindowsTargetPlatformVersion>
+ </PropertyGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ <UseDebugLibraries>true</UseDebugLibraries>
+ <PlatformToolset>v142</PlatformToolset>
+ <CharacterSet>Unicode</CharacterSet>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ <UseDebugLibraries>false</UseDebugLibraries>
+ <PlatformToolset>v142</PlatformToolset>
+ <WholeProgramOptimization>true</WholeProgramOptimization>
+ <CharacterSet>Unicode</CharacterSet>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ <UseDebugLibraries>true</UseDebugLibraries>
+ <PlatformToolset>v142</PlatformToolset>
+ <CharacterSet>Unicode</CharacterSet>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ <UseDebugLibraries>false</UseDebugLibraries>
+ <PlatformToolset>v142</PlatformToolset>
+ <WholeProgramOptimization>true</WholeProgramOptimization>
+ <CharacterSet>Unicode</CharacterSet>
+ </PropertyGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+ <ImportGroup Label="ExtensionSettings">
+ </ImportGroup>
+ <ImportGroup Label="Shared">
+ </ImportGroup>
+ <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
+ <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
+ <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
+ <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
+ <PropertyGroup Label="UserMacros" />
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+ <LinkIncremental>false</LinkIncremental>
+ <OutDir>$(SolutionDir)$(Platform)\$(Configuration)\</OutDir>
+ <IntDir>$(Platform)\$(Configuration)\$(ProjectName)\</IntDir>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+ <LinkIncremental>true</LinkIncremental>
+ <OutDir>$(SolutionDir)$(Platform)\$(Configuration)\</OutDir>
+ <IntDir>$(Platform)\$(Configuration)\$(ProjectName)\</IntDir>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+ <LinkIncremental>true</LinkIncremental>
+ <IntDir>$(Platform)\$(Configuration)\$(ProjectName)\</IntDir>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+ <LinkIncremental>false</LinkIncremental>
+ <IntDir>$(Platform)\$(Configuration)\$(ProjectName)\</IntDir>
+ </PropertyGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+ <ClCompile>
+ <WarningLevel>Level3</WarningLevel>
+ <FunctionLevelLinking>true</FunctionLevelLinking>
+ <IntrinsicFunctions>true</IntrinsicFunctions>
+ <SDLCheck>true</SDLCheck>
+ <PreprocessorDefinitions>NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <ConformanceMode>true</ConformanceMode>
+ <AdditionalIncludeDirectories>$(SolutionDir)\include\win32;$(SolutionDir)\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ </ClCompile>
+ <Link>
+ <SubSystem>Console</SubSystem>
+ <EnableCOMDATFolding>true</EnableCOMDATFolding>
+ <OptimizeReferences>true</OptimizeReferences>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ <AdditionalDependencies>$(TargetDir)\squashfs.lib;$(TargetDir)\libcompat.lib;$(TargetDir)\libcommon.lib;$(TargetDir)\libfstree.lib;$(TargetDir)\libtar.lib;$(TargetDir)\libutil.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+ <ClCompile>
+ <WarningLevel>Level3</WarningLevel>
+ <SDLCheck>true</SDLCheck>
+ <PreprocessorDefinitions>_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <ConformanceMode>true</ConformanceMode>
+ <AdditionalIncludeDirectories>$(SolutionDir)\include\win32;$(SolutionDir)\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ </ClCompile>
+ <Link>
+ <SubSystem>Console</SubSystem>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ <AdditionalDependencies>$(TargetDir)\squashfs.lib;$(TargetDir)\libcompat.lib;$(TargetDir)\libcommon.lib;$(TargetDir)\libfstree.lib;$(TargetDir)\libtar.lib;$(TargetDir)\libutil.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+ <ClCompile>
+ <WarningLevel>Level3</WarningLevel>
+ <SDLCheck>true</SDLCheck>
+ <PreprocessorDefinitions>_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <ConformanceMode>true</ConformanceMode>
+ <AdditionalIncludeDirectories>$(SolutionDir)\include\win32;$(SolutionDir)\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ </ClCompile>
+ <Link>
+ <SubSystem>Console</SubSystem>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ <AdditionalDependencies>$(TargetDir)\squashfs.lib;$(TargetDir)\libcompat.lib;$(TargetDir)\libcommon.lib;$(TargetDir)\libfstree.lib;$(TargetDir)\libtar.lib;$(TargetDir)\libutil.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+ <ClCompile>
+ <WarningLevel>Level3</WarningLevel>
+ <FunctionLevelLinking>true</FunctionLevelLinking>
+ <IntrinsicFunctions>true</IntrinsicFunctions>
+ <SDLCheck>true</SDLCheck>
+ <PreprocessorDefinitions>NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <ConformanceMode>true</ConformanceMode>
+ <AdditionalIncludeDirectories>$(SolutionDir)\include\win32;$(SolutionDir)\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ </ClCompile>
+ <Link>
+ <SubSystem>Console</SubSystem>
+ <EnableCOMDATFolding>true</EnableCOMDATFolding>
+ <OptimizeReferences>true</OptimizeReferences>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ <AdditionalDependencies>$(TargetDir)\squashfs.lib;$(TargetDir)\libcompat.lib;$(TargetDir)\libcommon.lib;$(TargetDir)\libfstree.lib;$(TargetDir)\libtar.lib;$(TargetDir)\libutil.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemGroup>
+ <ClCompile Include="sqfs2tar.c" />
+ </ItemGroup>
+ <ItemGroup>
+ <ProjectReference Include="..\lib\common\libcommon.vcxproj">
+ <Project>{4af21b3a-e7a0-48e6-951c-ca442410231f}</Project>
+ </ProjectReference>
+ <ProjectReference Include="..\lib\compat\libcompat.vcxproj">
+ <Project>{45dec8f7-f154-4c3e-b616-a21fb3ca8cc2}</Project>
+ </ProjectReference>
+ <ProjectReference Include="..\lib\fstree\libfstree.vcxproj">
+ <Project>{4aa93963-2bc8-48fa-80b8-776b1f80bba5}</Project>
+ </ProjectReference>
+ <ProjectReference Include="..\lib\sqfs\libsqfs.vcxproj">
+ <Project>{7f732a8e-22a5-4dc1-b8db-7091d37be502}</Project>
+ </ProjectReference>
+ <ProjectReference Include="..\lib\tar\libtar.vcxproj">
+ <Project>{73712684-0f79-4ef6-950c-943c0456ff05}</Project>
+ </ProjectReference>
+ <ProjectReference Include="..\lib\util\libutil.vcxproj">
+ <Project>{e25396a6-af76-4695-ba23-01d88009b7ec}</Project>
+ </ProjectReference>
+ </ItemGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
+ <ImportGroup Label="ExtensionTargets">
+ </ImportGroup>
+</Project> \ No newline at end of file
diff --git a/tar/sqfs2tar.vcxproj.filters b/tar/sqfs2tar.vcxproj.filters
new file mode 100644
index 0000000..c65756b
--- /dev/null
+++ b/tar/sqfs2tar.vcxproj.filters
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <ItemGroup>
+ <Filter Include="Source">
+ <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
+ <Extensions>cpp;c;cc;cxx;c++;def;odl;idl;hpj;bat;asm;asmx</Extensions>
+ </Filter>
+ </ItemGroup>
+ <ItemGroup>
+ <ClCompile Include="sqfs2tar.c">
+ <Filter>Source</Filter>
+ </ClCompile>
+ </ItemGroup>
+</Project> \ No newline at end of file
diff --git a/tar/tar2sqfs.c b/tar/tar2sqfs.c
index 6186930..d730af6 100644
--- a/tar/tar2sqfs.c
+++ b/tar/tar2sqfs.c
@@ -10,7 +10,6 @@
#include "tar.h"
#include <stdlib.h>
-#include <getopt.h>
#include <string.h>
#include <stdio.h>
#include <fcntl.h>
@@ -19,6 +18,10 @@
#include <io.h>
#endif
+#ifdef HAVE_GETOPT_LONG
+#include <getopt.h>
+#endif
+
static struct option long_opts[] = {
{ "root-becomes", required_argument, NULL, 'r' },
{ "compressor", required_argument, NULL, 'c' },
diff --git a/tar/tar2sqfs.vcxproj b/tar/tar2sqfs.vcxproj
new file mode 100644
index 0000000..9f80e1c
--- /dev/null
+++ b/tar/tar2sqfs.vcxproj
@@ -0,0 +1,180 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <ItemGroup Label="ProjectConfigurations">
+ <ProjectConfiguration Include="Debug|Win32">
+ <Configuration>Debug</Configuration>
+ <Platform>Win32</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Release|Win32">
+ <Configuration>Release</Configuration>
+ <Platform>Win32</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Debug|x64">
+ <Configuration>Debug</Configuration>
+ <Platform>x64</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Release|x64">
+ <Configuration>Release</Configuration>
+ <Platform>x64</Platform>
+ </ProjectConfiguration>
+ </ItemGroup>
+ <PropertyGroup Label="Globals">
+ <VCProjectVersion>16.0</VCProjectVersion>
+ <ProjectGuid>{F2E6ECA9-8426-4363-8C5C-E6CDF76E8ABB}</ProjectGuid>
+ <RootNamespace>tar2sqfs</RootNamespace>
+ <WindowsTargetPlatformVersion>10.0</WindowsTargetPlatformVersion>
+ </PropertyGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ <UseDebugLibraries>true</UseDebugLibraries>
+ <PlatformToolset>v142</PlatformToolset>
+ <CharacterSet>Unicode</CharacterSet>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ <UseDebugLibraries>false</UseDebugLibraries>
+ <PlatformToolset>v142</PlatformToolset>
+ <WholeProgramOptimization>true</WholeProgramOptimization>
+ <CharacterSet>Unicode</CharacterSet>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ <UseDebugLibraries>true</UseDebugLibraries>
+ <PlatformToolset>v142</PlatformToolset>
+ <CharacterSet>Unicode</CharacterSet>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ <UseDebugLibraries>false</UseDebugLibraries>
+ <PlatformToolset>v142</PlatformToolset>
+ <WholeProgramOptimization>true</WholeProgramOptimization>
+ <CharacterSet>Unicode</CharacterSet>
+ </PropertyGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+ <ImportGroup Label="ExtensionSettings">
+ </ImportGroup>
+ <ImportGroup Label="Shared">
+ </ImportGroup>
+ <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
+ <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
+ <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
+ <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
+ <PropertyGroup Label="UserMacros" />
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+ <LinkIncremental>true</LinkIncremental>
+ <IntDir>$(Platform)\$(Configuration)\$(ProjectName)\</IntDir>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+ <LinkIncremental>true</LinkIncremental>
+ <OutDir>$(SolutionDir)$(Platform)\$(Configuration)\</OutDir>
+ <IntDir>$(Platform)\$(Configuration)\$(ProjectName)\</IntDir>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+ <LinkIncremental>false</LinkIncremental>
+ <OutDir>$(SolutionDir)$(Platform)\$(Configuration)\</OutDir>
+ <IntDir>$(Platform)\$(Configuration)\$(ProjectName)\</IntDir>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+ <LinkIncremental>false</LinkIncremental>
+ <IntDir>$(Platform)\$(Configuration)\$(ProjectName)\</IntDir>
+ </PropertyGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+ <ClCompile>
+ <WarningLevel>Level3</WarningLevel>
+ <SDLCheck>true</SDLCheck>
+ <PreprocessorDefinitions>_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <ConformanceMode>true</ConformanceMode>
+ <AdditionalIncludeDirectories>$(SolutionDir)\include\win32;$(SolutionDir)\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ </ClCompile>
+ <Link>
+ <SubSystem>Console</SubSystem>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ <AdditionalDependencies>$(TargetDir)\squashfs.lib;$(TargetDir)\libcompat.lib;$(TargetDir)\libcommon.lib;$(TargetDir)\libfstree.lib;$(TargetDir)\libtar.lib;$(TargetDir)\libutil.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+ <ClCompile>
+ <WarningLevel>Level3</WarningLevel>
+ <SDLCheck>true</SDLCheck>
+ <PreprocessorDefinitions>_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <ConformanceMode>true</ConformanceMode>
+ <AdditionalIncludeDirectories>$(SolutionDir)\include\win32;$(SolutionDir)\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ </ClCompile>
+ <Link>
+ <SubSystem>Console</SubSystem>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ <AdditionalDependencies>$(TargetDir)\squashfs.lib;$(TargetDir)\libcompat.lib;$(TargetDir)\libcommon.lib;$(TargetDir)\libfstree.lib;$(TargetDir)\libtar.lib;$(TargetDir)\libutil.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+ <ClCompile>
+ <WarningLevel>Level3</WarningLevel>
+ <FunctionLevelLinking>true</FunctionLevelLinking>
+ <IntrinsicFunctions>true</IntrinsicFunctions>
+ <SDLCheck>true</SDLCheck>
+ <PreprocessorDefinitions>NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <ConformanceMode>true</ConformanceMode>
+ <AdditionalIncludeDirectories>$(SolutionDir)\include\win32;$(SolutionDir)\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ </ClCompile>
+ <Link>
+ <SubSystem>Console</SubSystem>
+ <EnableCOMDATFolding>true</EnableCOMDATFolding>
+ <OptimizeReferences>true</OptimizeReferences>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ <AdditionalDependencies>$(TargetDir)\squashfs.lib;$(TargetDir)\libcompat.lib;$(TargetDir)\libcommon.lib;$(TargetDir)\libfstree.lib;$(TargetDir)\libtar.lib;$(TargetDir)\libutil.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+ <ClCompile>
+ <WarningLevel>Level3</WarningLevel>
+ <FunctionLevelLinking>true</FunctionLevelLinking>
+ <IntrinsicFunctions>true</IntrinsicFunctions>
+ <SDLCheck>true</SDLCheck>
+ <PreprocessorDefinitions>NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <ConformanceMode>true</ConformanceMode>
+ <AdditionalIncludeDirectories>$(SolutionDir)\include\win32;$(SolutionDir)\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ </ClCompile>
+ <Link>
+ <SubSystem>Console</SubSystem>
+ <EnableCOMDATFolding>true</EnableCOMDATFolding>
+ <OptimizeReferences>true</OptimizeReferences>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ <AdditionalDependencies>$(TargetDir)\squashfs.lib;$(TargetDir)\libcompat.lib;$(TargetDir)\libcommon.lib;$(TargetDir)\libfstree.lib;$(TargetDir)\libtar.lib;$(TargetDir)\libutil.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemGroup>
+ <ClCompile Include="tar2sqfs.c" />
+ </ItemGroup>
+ <ItemGroup>
+ <ProjectReference Include="..\lib\common\libcommon.vcxproj">
+ <Project>{4af21b3a-e7a0-48e6-951c-ca442410231f}</Project>
+ </ProjectReference>
+ <ProjectReference Include="..\lib\compat\libcompat.vcxproj">
+ <Project>{45dec8f7-f154-4c3e-b616-a21fb3ca8cc2}</Project>
+ </ProjectReference>
+ <ProjectReference Include="..\lib\fstree\libfstree.vcxproj">
+ <Project>{4aa93963-2bc8-48fa-80b8-776b1f80bba5}</Project>
+ </ProjectReference>
+ <ProjectReference Include="..\lib\sqfs\libsqfs.vcxproj">
+ <Project>{7f732a8e-22a5-4dc1-b8db-7091d37be502}</Project>
+ </ProjectReference>
+ <ProjectReference Include="..\lib\tar\libtar.vcxproj">
+ <Project>{73712684-0f79-4ef6-950c-943c0456ff05}</Project>
+ </ProjectReference>
+ <ProjectReference Include="..\lib\util\libutil.vcxproj">
+ <Project>{e25396a6-af76-4695-ba23-01d88009b7ec}</Project>
+ </ProjectReference>
+ </ItemGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
+ <ImportGroup Label="ExtensionTargets">
+ </ImportGroup>
+</Project> \ No newline at end of file
diff --git a/tar/tar2sqfs.vcxproj.filters b/tar/tar2sqfs.vcxproj.filters
new file mode 100644
index 0000000..bba854a
--- /dev/null
+++ b/tar/tar2sqfs.vcxproj.filters
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <ItemGroup>
+ <Filter Include="Source">
+ <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
+ <Extensions>cpp;c;cc;cxx;c++;def;odl;idl;hpj;bat;asm;asmx</Extensions>
+ </Filter>
+ </ItemGroup>
+ <ItemGroup>
+ <ClCompile Include="tar2sqfs.c">
+ <Filter>Source</Filter>
+ </ClCompile>
+ </ItemGroup>
+</Project> \ No newline at end of file
diff --git a/unpack/rdsquashfs.h b/unpack/rdsquashfs.h
index 17c0a85..bf3e4c6 100644
--- a/unpack/rdsquashfs.h
+++ b/unpack/rdsquashfs.h
@@ -23,9 +23,13 @@
setxattr(path, name, value, size, 0, flags | XATTR_NOFOLLOW)
#endif
#endif
+
+#ifdef HAVE_GETOPT_LONG
+#include <getopt.h>
+#endif
+
#include <string.h>
#include <stdlib.h>
-#include <getopt.h>
#include <assert.h>
#include <ctype.h>
#include <errno.h>
diff --git a/unpack/rdsquashfs.vcxproj b/unpack/rdsquashfs.vcxproj
new file mode 100644
index 0000000..1305ce4
--- /dev/null
+++ b/unpack/rdsquashfs.vcxproj
@@ -0,0 +1,187 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <ItemGroup Label="ProjectConfigurations">
+ <ProjectConfiguration Include="Debug|Win32">
+ <Configuration>Debug</Configuration>
+ <Platform>Win32</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Release|Win32">
+ <Configuration>Release</Configuration>
+ <Platform>Win32</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Debug|x64">
+ <Configuration>Debug</Configuration>
+ <Platform>x64</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Release|x64">
+ <Configuration>Release</Configuration>
+ <Platform>x64</Platform>
+ </ProjectConfiguration>
+ </ItemGroup>
+ <PropertyGroup Label="Globals">
+ <VCProjectVersion>16.0</VCProjectVersion>
+ <ProjectGuid>{4D16D3A6-1BC9-456B-A207-C53DF5B92057}</ProjectGuid>
+ <RootNamespace>rdsquashfs</RootNamespace>
+ <WindowsTargetPlatformVersion>10.0</WindowsTargetPlatformVersion>
+ </PropertyGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ <UseDebugLibraries>true</UseDebugLibraries>
+ <PlatformToolset>v142</PlatformToolset>
+ <CharacterSet>Unicode</CharacterSet>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ <UseDebugLibraries>false</UseDebugLibraries>
+ <PlatformToolset>v142</PlatformToolset>
+ <WholeProgramOptimization>true</WholeProgramOptimization>
+ <CharacterSet>Unicode</CharacterSet>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ <UseDebugLibraries>true</UseDebugLibraries>
+ <PlatformToolset>v142</PlatformToolset>
+ <CharacterSet>Unicode</CharacterSet>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ <UseDebugLibraries>false</UseDebugLibraries>
+ <PlatformToolset>v142</PlatformToolset>
+ <WholeProgramOptimization>true</WholeProgramOptimization>
+ <CharacterSet>Unicode</CharacterSet>
+ </PropertyGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+ <ImportGroup Label="ExtensionSettings">
+ </ImportGroup>
+ <ImportGroup Label="Shared">
+ </ImportGroup>
+ <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
+ <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
+ <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
+ <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
+ <PropertyGroup Label="UserMacros" />
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+ <LinkIncremental>false</LinkIncremental>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+ <LinkIncremental>true</LinkIncremental>
+ <OutDir>$(SolutionDir)$(Platform)\$(Configuration)\</OutDir>
+ <IntDir>$(Platform)\$(Configuration)\</IntDir>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+ <LinkIncremental>true</LinkIncremental>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+ <LinkIncremental>false</LinkIncremental>
+ <OutDir>$(SolutionDir)$(Platform)\$(Configuration)\</OutDir>
+ <IntDir>$(Platform)\$(Configuration)\</IntDir>
+ </PropertyGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+ <ClCompile>
+ <WarningLevel>Level3</WarningLevel>
+ <FunctionLevelLinking>true</FunctionLevelLinking>
+ <IntrinsicFunctions>true</IntrinsicFunctions>
+ <SDLCheck>true</SDLCheck>
+ <PreprocessorDefinitions>NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <ConformanceMode>true</ConformanceMode>
+ <AdditionalIncludeDirectories>$(SolutionDir)\include\win32;$(SolutionDir)\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ </ClCompile>
+ <Link>
+ <SubSystem>Console</SubSystem>
+ <EnableCOMDATFolding>true</EnableCOMDATFolding>
+ <OptimizeReferences>true</OptimizeReferences>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ <AdditionalDependencies>$(TargetDir)\squashfs.lib;$(TargetDir)\libcompat.lib;$(TargetDir)\libcommon.lib;$(TargetDir)\libfstree.lib;$(TargetDir)\libtar.lib;$(TargetDir)\libutil.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+ <ClCompile>
+ <WarningLevel>Level3</WarningLevel>
+ <SDLCheck>true</SDLCheck>
+ <PreprocessorDefinitions>_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <ConformanceMode>true</ConformanceMode>
+ <AdditionalIncludeDirectories>$(SolutionDir)\include\win32;$(SolutionDir)\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ </ClCompile>
+ <Link>
+ <SubSystem>Console</SubSystem>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ <AdditionalDependencies>$(TargetDir)\squashfs.lib;$(TargetDir)\libcompat.lib;$(TargetDir)\libcommon.lib;$(TargetDir)\libfstree.lib;$(TargetDir)\libtar.lib;$(TargetDir)\libutil.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+ <ClCompile>
+ <WarningLevel>Level3</WarningLevel>
+ <SDLCheck>true</SDLCheck>
+ <PreprocessorDefinitions>_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <ConformanceMode>true</ConformanceMode>
+ <AdditionalIncludeDirectories>$(SolutionDir)\include\win32;$(SolutionDir)\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ </ClCompile>
+ <Link>
+ <SubSystem>Console</SubSystem>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ <AdditionalDependencies>$(TargetDir)\squashfs.lib;$(TargetDir)\libcompat.lib;$(TargetDir)\libcommon.lib;$(TargetDir)\libfstree.lib;$(TargetDir)\libtar.lib;$(TargetDir)\libutil.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+ <ClCompile>
+ <WarningLevel>Level3</WarningLevel>
+ <FunctionLevelLinking>true</FunctionLevelLinking>
+ <IntrinsicFunctions>true</IntrinsicFunctions>
+ <SDLCheck>true</SDLCheck>
+ <PreprocessorDefinitions>NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <ConformanceMode>true</ConformanceMode>
+ <AdditionalIncludeDirectories>$(SolutionDir)\include\win32;$(SolutionDir)\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ </ClCompile>
+ <Link>
+ <SubSystem>Console</SubSystem>
+ <EnableCOMDATFolding>true</EnableCOMDATFolding>
+ <OptimizeReferences>true</OptimizeReferences>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ <AdditionalDependencies>$(TargetDir)\squashfs.lib;$(TargetDir)\libcompat.lib;$(TargetDir)\libcommon.lib;$(TargetDir)\libfstree.lib;$(TargetDir)\libtar.lib;$(TargetDir)\libutil.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemGroup>
+ <ClCompile Include="describe.c" />
+ <ClCompile Include="dump_xattrs.c" />
+ <ClCompile Include="fill_files.c" />
+ <ClCompile Include="list_files.c" />
+ <ClCompile Include="options.c" />
+ <ClCompile Include="rdsquashfs.c" />
+ <ClCompile Include="restore_fstree.c" />
+ </ItemGroup>
+ <ItemGroup>
+ <ClInclude Include="rdsquashfs.h" />
+ </ItemGroup>
+ <ItemGroup>
+ <ProjectReference Include="..\lib\common\libcommon.vcxproj">
+ <Project>{4af21b3a-e7a0-48e6-951c-ca442410231f}</Project>
+ </ProjectReference>
+ <ProjectReference Include="..\lib\compat\libcompat.vcxproj">
+ <Project>{45dec8f7-f154-4c3e-b616-a21fb3ca8cc2}</Project>
+ </ProjectReference>
+ <ProjectReference Include="..\lib\fstree\libfstree.vcxproj">
+ <Project>{4aa93963-2bc8-48fa-80b8-776b1f80bba5}</Project>
+ </ProjectReference>
+ <ProjectReference Include="..\lib\sqfs\libsqfs.vcxproj">
+ <Project>{7f732a8e-22a5-4dc1-b8db-7091d37be502}</Project>
+ </ProjectReference>
+ <ProjectReference Include="..\lib\tar\libtar.vcxproj">
+ <Project>{73712684-0f79-4ef6-950c-943c0456ff05}</Project>
+ </ProjectReference>
+ <ProjectReference Include="..\lib\util\libutil.vcxproj">
+ <Project>{e25396a6-af76-4695-ba23-01d88009b7ec}</Project>
+ </ProjectReference>
+ </ItemGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
+ <ImportGroup Label="ExtensionTargets">
+ </ImportGroup>
+</Project> \ No newline at end of file
diff --git a/unpack/rdsquashfs.vcxproj.filters b/unpack/rdsquashfs.vcxproj.filters
new file mode 100644
index 0000000..7351d07
--- /dev/null
+++ b/unpack/rdsquashfs.vcxproj.filters
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <ItemGroup>
+ <Filter Include="Headers">
+ <UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
+ <Extensions>h;hh;hpp;hxx;h++;hm;inl;inc;ipp;xsd</Extensions>
+ </Filter>
+ <Filter Include="Source">
+ <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
+ <Extensions>cpp;c;cc;cxx;c++;def;odl;idl;hpj;bat;asm;asmx</Extensions>
+ </Filter>
+ </ItemGroup>
+ <ItemGroup>
+ <ClCompile Include="fill_files.c">
+ <Filter>Source</Filter>
+ </ClCompile>
+ <ClCompile Include="list_files.c">
+ <Filter>Source</Filter>
+ </ClCompile>
+ <ClCompile Include="options.c">
+ <Filter>Source</Filter>
+ </ClCompile>
+ <ClCompile Include="rdsquashfs.c">
+ <Filter>Source</Filter>
+ </ClCompile>
+ <ClCompile Include="restore_fstree.c">
+ <Filter>Source</Filter>
+ </ClCompile>
+ <ClCompile Include="describe.c">
+ <Filter>Source</Filter>
+ </ClCompile>
+ <ClCompile Include="dump_xattrs.c">
+ <Filter>Source</Filter>
+ </ClCompile>
+ </ItemGroup>
+ <ItemGroup>
+ <ClInclude Include="rdsquashfs.h">
+ <Filter>Headers</Filter>
+ </ClInclude>
+ </ItemGroup>
+</Project> \ No newline at end of file