Changeset 4833


Ignore:
Timestamp:
08/02/12 16:50:21 (11 months ago)
Author:
wisk
Message:

port zzuf to win64 (amd64)

Location:
zzuf/trunk
Files:
8 edited

Legend:

Unmodified
Added
Removed
  • zzuf/trunk/msvc/libzzuf.vcxproj

    r4832 r4833  
    66      <Platform>Win32</Platform> 
    77    </ProjectConfiguration> 
     8    <ProjectConfiguration Include="Debug|x64"> 
     9      <Configuration>Debug</Configuration> 
     10      <Platform>x64</Platform> 
     11    </ProjectConfiguration> 
    812    <ProjectConfiguration Include="Release|Win32"> 
    913      <Configuration>Release</Configuration> 
    1014      <Platform>Win32</Platform> 
     15    </ProjectConfiguration> 
     16    <ProjectConfiguration Include="Release|x64"> 
     17      <Configuration>Release</Configuration> 
     18      <Platform>x64</Platform> 
    1119    </ProjectConfiguration> 
    1220  </ItemGroup> 
     
    2028    <CharacterSet>MultiByte</CharacterSet> 
    2129  </PropertyGroup> 
     30  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration"> 
     31    <ConfigurationType>DynamicLibrary</ConfigurationType> 
     32    <CharacterSet>MultiByte</CharacterSet> 
     33  </PropertyGroup> 
    2234  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration"> 
     35    <ConfigurationType>DynamicLibrary</ConfigurationType> 
     36    <CharacterSet>MultiByte</CharacterSet> 
     37  </PropertyGroup> 
     38  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration"> 
    2339    <ConfigurationType>DynamicLibrary</ConfigurationType> 
    2440    <CharacterSet>MultiByte</CharacterSet> 
     
    3046    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> 
    3147  </ImportGroup> 
     48  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets"> 
     49    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> 
     50  </ImportGroup> 
    3251  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets"> 
     52    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> 
     53  </ImportGroup> 
     54  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets"> 
    3355    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> 
    3456  </ImportGroup> 
     
    3759    <_ProjectFileVersion>10.0.21006.1</_ProjectFileVersion> 
    3860    <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Debug\</OutDir> 
     61    <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Debug\</OutDir> 
    3962    <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Debug\$(ProjectName)\</IntDir> 
     63    <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Debug\$(ProjectName)\</IntDir> 
    4064    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental> 
     65    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</LinkIncremental> 
    4166    <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Release\</OutDir> 
     67    <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Release\</OutDir> 
    4268    <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Release\$(ProjectName)\</IntDir> 
     69    <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Release\$(ProjectName)\</IntDir> 
    4370    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental> 
     71    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental> 
    4472    <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">AllRules.ruleset</CodeAnalysisRuleSet> 
     73    <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">AllRules.ruleset</CodeAnalysisRuleSet> 
    4574    <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" /> 
     75    <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" /> 
    4676    <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" /> 
     77    <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" /> 
    4778    <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">AllRules.ruleset</CodeAnalysisRuleSet> 
     79    <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release|x64'">AllRules.ruleset</CodeAnalysisRuleSet> 
    4880    <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" /> 
     81    <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release|x64'" /> 
    4982    <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" /> 
     83    <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release|x64'" /> 
    5084  </PropertyGroup> 
    5185  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> 
     
    77111    </ResourceCompile> 
    78112  </ItemDefinitionGroup> 
     113  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'"> 
     114    <ClCompile> 
     115      <Optimization>Disabled</Optimization> 
     116      <AdditionalIncludeDirectories>..\msvc;..\src\common;..\src\libzzuf;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> 
     117      <PreprocessorDefinitions>WIN32;_WINDOWS;_DEBUG;LIBZZUF;_USRDLL;%(PreprocessorDefinitions)</PreprocessorDefinitions> 
     118      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks> 
     119      <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary> 
     120      <ObjectFileName>$(IntDir).libs/</ObjectFileName> 
     121      <WarningLevel>Level3</WarningLevel> 
     122      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> 
     123      <CompileAs>CompileAsC</CompileAs> 
     124    </ClCompile> 
     125    <Link> 
     126      <AdditionalDependencies>imagehlp.lib;ws2_32.lib;%(AdditionalDependencies)</AdditionalDependencies> 
     127      <GenerateDebugInformation>true</GenerateDebugInformation> 
     128      <SubSystem>Windows</SubSystem> 
     129    </Link> 
     130    <Midl> 
     131      <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> 
     132      <MkTypLibCompatible>false</MkTypLibCompatible> 
     133    </Midl> 
     134    <ResourceCompile> 
     135      <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> 
     136      <Culture>0x0409</Culture> 
     137    </ResourceCompile> 
     138  </ItemDefinitionGroup> 
    79139  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> 
    80140    <ClCompile> 
     
    94154      <EnableCOMDATFolding>true</EnableCOMDATFolding> 
    95155      <TargetMachine>MachineX86</TargetMachine> 
     156    </Link> 
     157    <Midl> 
     158      <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> 
     159      <MkTypLibCompatible>false</MkTypLibCompatible> 
     160    </Midl> 
     161    <ResourceCompile> 
     162      <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> 
     163      <Culture>0x0409</Culture> 
     164    </ResourceCompile> 
     165  </ItemDefinitionGroup> 
     166  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'"> 
     167    <ClCompile> 
     168      <AdditionalIncludeDirectories>..\msvc;..\src\common;..\src\libzzuf;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> 
     169      <PreprocessorDefinitions>WIN32;_WINDOWS;LIBZZUF;NDEBUG;_USRDLL;%(PreprocessorDefinitions)</PreprocessorDefinitions> 
     170      <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary> 
     171      <ObjectFileName>$(IntDir).libs/</ObjectFileName> 
     172      <WarningLevel>Level3</WarningLevel> 
     173      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> 
     174      <CompileAs>CompileAsC</CompileAs> 
     175    </ClCompile> 
     176    <Link> 
     177      <AdditionalDependencies>imagehlp.lib;ws2_32.lib;%(AdditionalDependencies)</AdditionalDependencies> 
     178      <GenerateDebugInformation>true</GenerateDebugInformation> 
     179      <SubSystem>Windows</SubSystem> 
     180      <OptimizeReferences>true</OptimizeReferences> 
     181      <EnableCOMDATFolding>true</EnableCOMDATFolding> 
    96182    </Link> 
    97183    <Midl> 
     
    125211    <ClCompile Include="..\src\com_regexp.cpp"> 
    126212      <CompileAs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">CompileAsCpp</CompileAs> 
     213      <CompileAs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">CompileAsCpp</CompileAs> 
    127214      <CompileAs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">CompileAsCpp</CompileAs> 
     215      <CompileAs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">CompileAsCpp</CompileAs> 
    128216    </ClCompile> 
    129217    <ClCompile Include="..\src\libzzuf\debug.c" /> 
  • zzuf/trunk/msvc/zzat.vcxproj

    r4813 r4833  
    66      <Platform>Win32</Platform> 
    77    </ProjectConfiguration> 
     8    <ProjectConfiguration Include="Debug|x64"> 
     9      <Configuration>Debug</Configuration> 
     10      <Platform>x64</Platform> 
     11    </ProjectConfiguration> 
    812    <ProjectConfiguration Include="Release|Win32"> 
    913      <Configuration>Release</Configuration> 
    1014      <Platform>Win32</Platform> 
     15    </ProjectConfiguration> 
     16    <ProjectConfiguration Include="Release|x64"> 
     17      <Configuration>Release</Configuration> 
     18      <Platform>x64</Platform> 
    1119    </ProjectConfiguration> 
    1220  </ItemGroup> 
     
    2028    <CharacterSet>MultiByte</CharacterSet> 
    2129  </PropertyGroup> 
     30  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration"> 
     31    <ConfigurationType>Application</ConfigurationType> 
     32    <CharacterSet>MultiByte</CharacterSet> 
     33  </PropertyGroup> 
    2234  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration"> 
     35    <ConfigurationType>Application</ConfigurationType> 
     36    <CharacterSet>MultiByte</CharacterSet> 
     37  </PropertyGroup> 
     38  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration"> 
    2339    <ConfigurationType>Application</ConfigurationType> 
    2440    <CharacterSet>MultiByte</CharacterSet> 
     
    3046    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> 
    3147  </ImportGroup> 
     48  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets"> 
     49    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> 
     50  </ImportGroup> 
    3251  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets"> 
     52    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> 
     53  </ImportGroup> 
     54  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets"> 
    3355    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> 
    3456  </ImportGroup> 
     
    3759    <_ProjectFileVersion>10.0.21006.1</_ProjectFileVersion> 
    3860    <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Debug\</OutDir> 
     61    <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Debug\</OutDir> 
    3962    <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Debug\$(ProjectName)\</IntDir> 
     63    <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Debug\$(ProjectName)\</IntDir> 
    4064    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental> 
     65    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</LinkIncremental> 
    4166    <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Release\</OutDir> 
     67    <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Release\</OutDir> 
    4268    <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Release\$(ProjectName)\</IntDir> 
     69    <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Release\$(ProjectName)\</IntDir> 
    4370    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental> 
     71    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental> 
    4472    <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">AllRules.ruleset</CodeAnalysisRuleSet> 
     73    <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">AllRules.ruleset</CodeAnalysisRuleSet> 
    4574    <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" /> 
     75    <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" /> 
    4676    <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" /> 
     77    <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" /> 
    4778    <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">AllRules.ruleset</CodeAnalysisRuleSet> 
     79    <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release|x64'">AllRules.ruleset</CodeAnalysisRuleSet> 
    4880    <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" /> 
     81    <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release|x64'" /> 
    4982    <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" /> 
     83    <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release|x64'" /> 
    5084  </PropertyGroup> 
    5185  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> 
     
    72106    </Link> 
    73107  </ItemDefinitionGroup> 
     108  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'"> 
     109    <ClCompile> 
     110      <Optimization>Disabled</Optimization> 
     111      <AdditionalIncludeDirectories>..\msvc;..\..\libcaca\caca;..\..\libcaca\caca\win32;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> 
     112      <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions> 
     113      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks> 
     114      <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary> 
     115      <PrecompiledHeader> 
     116      </PrecompiledHeader> 
     117      <WarningLevel>Level3</WarningLevel> 
     118      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> 
     119      <CompileAs>CompileAsC</CompileAs> 
     120    </ClCompile> 
     121    <Link> 
     122      <AdditionalDependencies>ws2_32.lib;..\..\libcaca\win32\Debug\x64\libcaca.lib;%(AdditionalDependencies)</AdditionalDependencies> 
     123      <OutputFile>$(OutDir)zzat.exe</OutputFile> 
     124      <GenerateDebugInformation>true</GenerateDebugInformation> 
     125      <ProgramDatabaseFile>$(OutDir)zzat.pdb</ProgramDatabaseFile> 
     126      <SubSystem>Console</SubSystem> 
     127    </Link> 
     128  </ItemDefinitionGroup> 
    74129  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> 
    75130    <ClCompile> 
     
    93148    </Link> 
    94149  </ItemDefinitionGroup> 
     150  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'"> 
     151    <ClCompile> 
     152      <AdditionalIncludeDirectories>..\msvc;..\..\libcaca\caca;..\..\libcaca\caca\win32;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> 
     153      <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions> 
     154      <RuntimeLibrary>MultiThreaded</RuntimeLibrary> 
     155      <PrecompiledHeader> 
     156      </PrecompiledHeader> 
     157      <WarningLevel>Level3</WarningLevel> 
     158      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> 
     159      <CompileAs>CompileAsC</CompileAs> 
     160    </ClCompile> 
     161    <Link> 
     162      <AdditionalDependencies>ws2_32.lib;..\..\libcaca\win32\Release\x64\libcaca.lib;%(AdditionalDependencies)</AdditionalDependencies> 
     163      <OutputFile>$(OutDir)zzat.exe</OutputFile> 
     164      <GenerateDebugInformation>true</GenerateDebugInformation> 
     165      <SubSystem>Console</SubSystem> 
     166      <OptimizeReferences>true</OptimizeReferences> 
     167      <EnableCOMDATFolding>true</EnableCOMDATFolding> 
     168    </Link> 
     169  </ItemDefinitionGroup> 
    95170  <ItemGroup> 
    96171    <ClCompile Include="..\src\zzat.c"> 
    97172      <ObjectFileName Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(IntDir)%(FileName)1.obj</ObjectFileName> 
     173      <ObjectFileName Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(IntDir)%(FileName)1.obj</ObjectFileName> 
    98174      <ObjectFileName Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(IntDir)%(FileName)1.obj</ObjectFileName> 
     175      <ObjectFileName Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(IntDir)%(FileName)1.obj</ObjectFileName> 
    99176    </ClCompile> 
    100177  </ItemGroup> 
  • zzuf/trunk/msvc/zznop.vcxproj

    r4675 r4833  
    66      <Platform>Win32</Platform> 
    77    </ProjectConfiguration> 
     8    <ProjectConfiguration Include="Debug|x64"> 
     9      <Configuration>Debug</Configuration> 
     10      <Platform>x64</Platform> 
     11    </ProjectConfiguration> 
    812    <ProjectConfiguration Include="Release|Win32"> 
    913      <Configuration>Release</Configuration> 
    1014      <Platform>Win32</Platform> 
     15    </ProjectConfiguration> 
     16    <ProjectConfiguration Include="Release|x64"> 
     17      <Configuration>Release</Configuration> 
     18      <Platform>x64</Platform> 
    1119    </ProjectConfiguration> 
    1220  </ItemGroup> 
     
    2028    <CharacterSet>MultiByte</CharacterSet> 
    2129  </PropertyGroup> 
     30  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration"> 
     31    <ConfigurationType>Application</ConfigurationType> 
     32    <CharacterSet>MultiByte</CharacterSet> 
     33  </PropertyGroup> 
    2234  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration"> 
     35    <ConfigurationType>Application</ConfigurationType> 
     36    <CharacterSet>MultiByte</CharacterSet> 
     37  </PropertyGroup> 
     38  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration"> 
    2339    <ConfigurationType>Application</ConfigurationType> 
    2440    <CharacterSet>MultiByte</CharacterSet> 
     
    3046    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> 
    3147  </ImportGroup> 
     48  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets"> 
     49    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> 
     50  </ImportGroup> 
    3251  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets"> 
     52    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> 
     53  </ImportGroup> 
     54  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets"> 
    3355    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> 
    3456  </ImportGroup> 
     
    3759    <_ProjectFileVersion>10.0.21006.1</_ProjectFileVersion> 
    3860    <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Debug\</OutDir> 
     61    <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Debug\</OutDir> 
    3962    <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Debug\$(ProjectName)\</IntDir> 
     63    <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Debug\$(ProjectName)\</IntDir> 
    4064    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental> 
     65    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</LinkIncremental> 
    4166    <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Release\</OutDir> 
     67    <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Release\</OutDir> 
    4268    <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Release\$(ProjectName)\</IntDir> 
     69    <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Release\$(ProjectName)\</IntDir> 
    4370    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental> 
     71    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental> 
    4472    <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">AllRules.ruleset</CodeAnalysisRuleSet> 
     73    <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">AllRules.ruleset</CodeAnalysisRuleSet> 
    4574    <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" /> 
     75    <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" /> 
    4676    <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" /> 
     77    <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" /> 
    4778    <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">AllRules.ruleset</CodeAnalysisRuleSet> 
     79    <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release|x64'">AllRules.ruleset</CodeAnalysisRuleSet> 
    4880    <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" /> 
     81    <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release|x64'" /> 
    4982    <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" /> 
     83    <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release|x64'" /> 
    5084  </PropertyGroup> 
    5185  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> 
     
    72106    </Link> 
    73107  </ItemDefinitionGroup> 
     108  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'"> 
     109    <ClCompile> 
     110      <Optimization>Disabled</Optimization> 
     111      <AdditionalIncludeDirectories>..\msvc;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> 
     112      <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions> 
     113      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks> 
     114      <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary> 
     115      <PrecompiledHeader> 
     116      </PrecompiledHeader> 
     117      <WarningLevel>Level3</WarningLevel> 
     118      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> 
     119      <CompileAs>CompileAsC</CompileAs> 
     120    </ClCompile> 
     121    <Link> 
     122      <AdditionalDependencies>ws2_32.lib;%(AdditionalDependencies)</AdditionalDependencies> 
     123      <OutputFile>$(OutDir)zznop.exe</OutputFile> 
     124      <GenerateDebugInformation>true</GenerateDebugInformation> 
     125      <ProgramDatabaseFile>$(OutDir)zznop.pdb</ProgramDatabaseFile> 
     126      <SubSystem>Console</SubSystem> 
     127    </Link> 
     128  </ItemDefinitionGroup> 
    74129  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> 
    75130    <ClCompile> 
     
    93148    </Link> 
    94149  </ItemDefinitionGroup> 
     150  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'"> 
     151    <ClCompile> 
     152      <AdditionalIncludeDirectories>..\msvc;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> 
     153      <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions> 
     154      <RuntimeLibrary>MultiThreaded</RuntimeLibrary> 
     155      <PrecompiledHeader> 
     156      </PrecompiledHeader> 
     157      <WarningLevel>Level3</WarningLevel> 
     158      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> 
     159      <CompileAs>CompileAsC</CompileAs> 
     160    </ClCompile> 
     161    <Link> 
     162      <AdditionalDependencies>ws2_32.lib;%(AdditionalDependencies)</AdditionalDependencies> 
     163      <OutputFile>$(OutDir)zznop.exe</OutputFile> 
     164      <GenerateDebugInformation>true</GenerateDebugInformation> 
     165      <SubSystem>Console</SubSystem> 
     166      <OptimizeReferences>true</OptimizeReferences> 
     167      <EnableCOMDATFolding>true</EnableCOMDATFolding> 
     168    </Link> 
     169  </ItemDefinitionGroup> 
    95170  <ItemGroup> 
    96171    <ClCompile Include="..\test\zznop.c"> 
    97172      <ObjectFileName Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(IntDir)%(FileName)1.obj</ObjectFileName> 
     173      <ObjectFileName Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(IntDir)%(FileName)1.obj</ObjectFileName> 
    98174      <ObjectFileName Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(IntDir)%(FileName)1.obj</ObjectFileName> 
     175      <ObjectFileName Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(IntDir)%(FileName)1.obj</ObjectFileName> 
    99176    </ClCompile> 
    100177  </ItemGroup> 
  • zzuf/trunk/msvc/zzuf.sln

    r4729 r4833  
    11 
    22Microsoft Visual Studio Solution File, Format Version 11.00 
    3 # Visual C++ Express 2010 
     3# Visual Studio 2010 
    44Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "zzuf", "zzuf.vcxproj", "{2E5723ED-A886-45A9-AAAC-3D02F2EFC358}" 
    55EndProject 
     
    1313        GlobalSection(SolutionConfigurationPlatforms) = preSolution 
    1414                Debug|Win32 = Debug|Win32 
    15                 Debug|x64 = Debug|x64 
     15                Debug|Win64 = Debug|Win64 
    1616                Release|Win32 = Release|Win32 
    17                 Release|x64 = Release|x64 
     17                Release|Win64 = Release|Win64 
    1818        EndGlobalSection 
    1919        GlobalSection(ProjectConfigurationPlatforms) = postSolution 
    2020                {2E5723ED-A886-45A9-AAAC-3D02F2EFC358}.Debug|Win32.ActiveCfg = Debug|Win32 
    2121                {2E5723ED-A886-45A9-AAAC-3D02F2EFC358}.Debug|Win32.Build.0 = Debug|Win32 
    22                 {2E5723ED-A886-45A9-AAAC-3D02F2EFC358}.Debug|x64.ActiveCfg = Debug|Win32 
    23                 {2E5723ED-A886-45A9-AAAC-3D02F2EFC358}.Debug|x64.Build.0 = Debug|Win32 
     22                {2E5723ED-A886-45A9-AAAC-3D02F2EFC358}.Debug|Win64.ActiveCfg = Debug|x64 
     23                {2E5723ED-A886-45A9-AAAC-3D02F2EFC358}.Debug|Win64.Build.0 = Debug|x64 
    2424                {2E5723ED-A886-45A9-AAAC-3D02F2EFC358}.Release|Win32.ActiveCfg = Release|Win32 
    2525                {2E5723ED-A886-45A9-AAAC-3D02F2EFC358}.Release|Win32.Build.0 = Release|Win32 
    26                 {2E5723ED-A886-45A9-AAAC-3D02F2EFC358}.Release|x64.ActiveCfg = Release|Win32 
    27                 {2E5723ED-A886-45A9-AAAC-3D02F2EFC358}.Release|x64.Build.0 = Release|Win32 
     26                {2E5723ED-A886-45A9-AAAC-3D02F2EFC358}.Release|Win64.ActiveCfg = Release|x64 
     27                {2E5723ED-A886-45A9-AAAC-3D02F2EFC358}.Release|Win64.Build.0 = Release|x64 
    2828                {E658DCE5-E1E5-41C8-910B-1CC2D73C435C}.Debug|Win32.ActiveCfg = Debug|Win32 
    2929                {E658DCE5-E1E5-41C8-910B-1CC2D73C435C}.Debug|Win32.Build.0 = Debug|Win32 
    30                 {E658DCE5-E1E5-41C8-910B-1CC2D73C435C}.Debug|x64.ActiveCfg = Debug|Win32 
    31                 {E658DCE5-E1E5-41C8-910B-1CC2D73C435C}.Debug|x64.Build.0 = Debug|Win32 
     30                {E658DCE5-E1E5-41C8-910B-1CC2D73C435C}.Debug|Win64.ActiveCfg = Debug|x64 
     31                {E658DCE5-E1E5-41C8-910B-1CC2D73C435C}.Debug|Win64.Build.0 = Debug|x64 
    3232                {E658DCE5-E1E5-41C8-910B-1CC2D73C435C}.Release|Win32.ActiveCfg = Release|Win32 
    3333                {E658DCE5-E1E5-41C8-910B-1CC2D73C435C}.Release|Win32.Build.0 = Release|Win32 
    34                 {E658DCE5-E1E5-41C8-910B-1CC2D73C435C}.Release|x64.ActiveCfg = Release|Win32 
    35                 {E658DCE5-E1E5-41C8-910B-1CC2D73C435C}.Release|x64.Build.0 = Release|Win32 
     34                {E658DCE5-E1E5-41C8-910B-1CC2D73C435C}.Release|Win64.ActiveCfg = Release|x64 
     35                {E658DCE5-E1E5-41C8-910B-1CC2D73C435C}.Release|Win64.Build.0 = Release|x64 
    3636                {04486051-18D2-402D-91C0-3E0A8F2FD0D7}.Debug|Win32.ActiveCfg = Debug|Win32 
    3737                {04486051-18D2-402D-91C0-3E0A8F2FD0D7}.Debug|Win32.Build.0 = Debug|Win32 
    38                 {04486051-18D2-402D-91C0-3E0A8F2FD0D7}.Debug|x64.ActiveCfg = Debug|Win32 
    39                 {04486051-18D2-402D-91C0-3E0A8F2FD0D7}.Debug|x64.Build.0 = Debug|Win32 
     38                {04486051-18D2-402D-91C0-3E0A8F2FD0D7}.Debug|Win64.ActiveCfg = Debug|x64 
     39                {04486051-18D2-402D-91C0-3E0A8F2FD0D7}.Debug|Win64.Build.0 = Debug|x64 
    4040                {04486051-18D2-402D-91C0-3E0A8F2FD0D7}.Release|Win32.ActiveCfg = Release|Win32 
    4141                {04486051-18D2-402D-91C0-3E0A8F2FD0D7}.Release|Win32.Build.0 = Release|Win32 
    42                 {04486051-18D2-402D-91C0-3E0A8F2FD0D7}.Release|x64.ActiveCfg = Release|Win32 
    43                 {04486051-18D2-402D-91C0-3E0A8F2FD0D7}.Release|x64.Build.0 = Release|Win32 
     42                {04486051-18D2-402D-91C0-3E0A8F2FD0D7}.Release|Win64.ActiveCfg = Release|x64 
     43                {04486051-18D2-402D-91C0-3E0A8F2FD0D7}.Release|Win64.Build.0 = Release|x64 
    4444                {83987482-7F82-427E-7832-809F80AB809C}.Debug|Win32.ActiveCfg = Debug|Win32 
    4545                {83987482-7F82-427E-7832-809F80AB809C}.Debug|Win32.Build.0 = Debug|Win32 
    46                 {83987482-7F82-427E-7832-809F80AB809C}.Debug|x64.ActiveCfg = Debug|Win32 
    47                 {83987482-7F82-427E-7832-809F80AB809C}.Debug|x64.Build.0 = Debug|Win32 
     46                {83987482-7F82-427E-7832-809F80AB809C}.Debug|Win64.ActiveCfg = Debug|x64 
     47                {83987482-7F82-427E-7832-809F80AB809C}.Debug|Win64.Build.0 = Debug|x64 
    4848                {83987482-7F82-427E-7832-809F80AB809C}.Release|Win32.ActiveCfg = Release|Win32 
    4949                {83987482-7F82-427E-7832-809F80AB809C}.Release|Win32.Build.0 = Release|Win32 
    50                 {83987482-7F82-427E-7832-809F80AB809C}.Release|x64.ActiveCfg = Release|Win32 
    51                 {83987482-7F82-427E-7832-809F80AB809C}.Release|x64.Build.0 = Release|Win32 
     50                {83987482-7F82-427E-7832-809F80AB809C}.Release|Win64.ActiveCfg = Release|x64 
     51                {83987482-7F82-427E-7832-809F80AB809C}.Release|Win64.Build.0 = Release|x64 
    5252        EndGlobalSection 
    5353        GlobalSection(SolutionProperties) = preSolution 
  • zzuf/trunk/msvc/zzuf.vcxproj

    r4832 r4833  
    66      <Platform>Win32</Platform> 
    77    </ProjectConfiguration> 
     8    <ProjectConfiguration Include="Debug|x64"> 
     9      <Configuration>Debug</Configuration> 
     10      <Platform>x64</Platform> 
     11    </ProjectConfiguration> 
    812    <ProjectConfiguration Include="Release|Win32"> 
    913      <Configuration>Release</Configuration> 
    1014      <Platform>Win32</Platform> 
     15    </ProjectConfiguration> 
     16    <ProjectConfiguration Include="Release|x64"> 
     17      <Configuration>Release</Configuration> 
     18      <Platform>x64</Platform> 
    1119    </ProjectConfiguration> 
    1220  </ItemGroup> 
     
    2028    <CharacterSet>MultiByte</CharacterSet> 
    2129  </PropertyGroup> 
     30  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration"> 
     31    <ConfigurationType>Application</ConfigurationType> 
     32    <CharacterSet>MultiByte</CharacterSet> 
     33  </PropertyGroup> 
    2234  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration"> 
     35    <ConfigurationType>Application</ConfigurationType> 
     36    <CharacterSet>MultiByte</CharacterSet> 
     37  </PropertyGroup> 
     38  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration"> 
    2339    <ConfigurationType>Application</ConfigurationType> 
    2440    <CharacterSet>MultiByte</CharacterSet> 
     
    3046    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> 
    3147  </ImportGroup> 
     48  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets"> 
     49    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> 
     50  </ImportGroup> 
    3251  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets"> 
     52    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> 
     53  </ImportGroup> 
     54  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets"> 
    3355    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> 
    3456  </ImportGroup> 
     
    3759    <_ProjectFileVersion>10.0.21006.1</_ProjectFileVersion> 
    3860    <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Debug\</OutDir> 
     61    <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Debug\</OutDir> 
    3962    <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Debug\$(ProjectName)\</IntDir> 
     63    <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Debug\$(ProjectName)\</IntDir> 
    4064    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental> 
     65    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</LinkIncremental> 
    4166    <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Release\</OutDir> 
     67    <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Release\</OutDir> 
    4268    <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Release\$(ProjectName)\</IntDir> 
     69    <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Release\$(ProjectName)\</IntDir> 
    4370    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental> 
     71    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental> 
    4472    <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">AllRules.ruleset</CodeAnalysisRuleSet> 
     73    <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">AllRules.ruleset</CodeAnalysisRuleSet> 
    4574    <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" /> 
     75    <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" /> 
    4676    <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" /> 
     77    <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" /> 
    4778    <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">AllRules.ruleset</CodeAnalysisRuleSet> 
     79    <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release|x64'">AllRules.ruleset</CodeAnalysisRuleSet> 
    4880    <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" /> 
     81    <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release|x64'" /> 
    4982    <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" /> 
     83    <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release|x64'" /> 
    5084  </PropertyGroup> 
    5185  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> 
     
    72106    </Link> 
    73107  </ItemDefinitionGroup> 
     108  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'"> 
     109    <ClCompile> 
     110      <Optimization>Disabled</Optimization> 
     111      <AdditionalIncludeDirectories>..\msvc;..\src\common;..\..\libcaca\caca;..\..\libcaca\caca\win32;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> 
     112      <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions> 
     113      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks> 
     114      <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary> 
     115      <PrecompiledHeader> 
     116      </PrecompiledHeader> 
     117      <WarningLevel>Level3</WarningLevel> 
     118      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> 
     119      <CompileAs>CompileAsC</CompileAs> 
     120    </ClCompile> 
     121    <Link> 
     122      <AdditionalDependencies>ws2_32.lib;..\..\libcaca\win32\Debug\x64\libcaca.lib;%(AdditionalDependencies)</AdditionalDependencies> 
     123      <OutputFile>$(OutDir)zzuf.exe</OutputFile> 
     124      <GenerateDebugInformation>true</GenerateDebugInformation> 
     125      <ProgramDatabaseFile>$(OutDir)zzuf.pdb</ProgramDatabaseFile> 
     126      <SubSystem>Console</SubSystem> 
     127    </Link> 
     128  </ItemDefinitionGroup> 
    74129  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> 
    75130    <ClCompile> 
     
    91146      <EnableCOMDATFolding>true</EnableCOMDATFolding> 
    92147      <TargetMachine>MachineX86</TargetMachine> 
     148    </Link> 
     149  </ItemDefinitionGroup> 
     150  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'"> 
     151    <ClCompile> 
     152      <AdditionalIncludeDirectories>..\msvc;..\src\common;..\..\libcaca\caca;..\..\libcaca\caca\win32;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> 
     153      <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions> 
     154      <RuntimeLibrary>MultiThreaded</RuntimeLibrary> 
     155      <PrecompiledHeader> 
     156      </PrecompiledHeader> 
     157      <WarningLevel>Level3</WarningLevel> 
     158      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> 
     159      <CompileAs>CompileAsC</CompileAs> 
     160    </ClCompile> 
     161    <Link> 
     162      <AdditionalDependencies>ws2_32.lib;..\..\libcaca\win32\Release\x64\libcaca.lib;%(AdditionalDependencies)</AdditionalDependencies> 
     163      <OutputFile>$(OutDir)zzuf.exe</OutputFile> 
     164      <GenerateDebugInformation>true</GenerateDebugInformation> 
     165      <SubSystem>Console</SubSystem> 
     166      <OptimizeReferences>true</OptimizeReferences> 
     167      <EnableCOMDATFolding>true</EnableCOMDATFolding> 
    93168    </Link> 
    94169  </ItemDefinitionGroup> 
     
    113188    <ClCompile Include="..\src\com_regexp.cpp"> 
    114189      <CompileAs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">CompileAsCpp</CompileAs> 
     190      <CompileAs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">CompileAsCpp</CompileAs> 
    115191      <CompileAs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">CompileAsCpp</CompileAs> 
     192      <CompileAs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">CompileAsCpp</CompileAs> 
    116193    </ClCompile> 
    117194    <ClCompile Include="..\src\md5.c" /> 
  • zzuf/trunk/src/libzzuf/sys.c

    r4831 r4833  
    9999#define MK_JMP_JD(dst, src) ((dst) - ((src) + 5)) 
    100100 
     101static int modrm_sib_size(uint8_t* code) 
     102{ 
     103    static uint8_t modrm_size[] = { 0, 1, 4, 0 }; /* [reg ...], [reg ... + sbyte], [reg ... + sdword], reg */ 
     104    uint8_t modrm = *code; 
     105 
     106    if (modrm == 0x05) /* [(rip) + sdword] */ return 1 + 4; 
     107 
     108    /* Does the instruciton have a SIB byte ? */ 
     109    return 1 + (!!(((modrm & 0x7) == 0x4) && ((modrm >> 6) != 0x3))) + modrm_size[modrm >> 6]; 
     110} 
     111 
    101112/* zz_lde is a _very_ simple length disassemble engine. 
    102113 * x64 is not tested and should not work. */ 
    103 static int zz_lde(uint8_t *code, int required_size) 
     114static int zz_lde(uint8_t *code) 
    104115{ 
    105116    int insn_size = 0; 
    106     static uint8_t modrm_size[] = { 0, 1, 4, 0 }; /* [reg ...], [reg ... + sbyte], [reg ... + sdword], reg */ 
    107  
    108     while (insn_size < required_size) 
    109     { 
    110         uint8_t opcd = code[insn_size++]; 
    111  
    112         /* Simple instructions should be placed here */ 
    113         switch (opcd) 
    114         { 
    115         case 0x68: insn_size += 4; continue; /* PUSH Iv */ 
    116         case 0x6a: insn_size += 1; continue; /* PUSH Ib */ 
    117         default: break; 
    118         } 
    119  
    120         /* PUSH/POP rv */ 
    121         if ((opcd & 0xf0) == 0x50) continue; 
    122  
    123         /* MOV Ev, Gv or Gv, Ev */ 
    124         else if (opcd == 0x89 || opcd == 0x8b) 
    125         { 
    126             uint8_t modrm = code[insn_size++]; 
    127  
    128             /* Does the instruciton have a SIB byte ? */ 
    129             if (((modrm & 0x7) == 0x4) && ((modrm >> 6) != 0x3)) 
    130                 insn_size++; 
    131  
    132             insn_size += modrm_size[modrm >> 6]; 
    133  
    134             continue; 
    135         } 
    136  
    137  
    138         /* If we can't disassemble the current instruction, we give up */ 
    139         return -1; 
     117 
     118    uint8_t opcd = code[insn_size++]; 
     119    int imm_size = 4; /* Iv */ 
     120 
     121#ifdef _M_AMD64 
     122    // REX prefix 
     123    if ((opcd & 0xf8) == 0x48) 
     124    { 
     125        imm_size = 8; /* REX.W */ 
     126        opcd = code[insn_size++]; 
     127    } 
     128#endif 
     129 
     130    /* Simple instructions should be placed here */ 
     131    switch (opcd) 
     132    { 
     133    case 0x68: insn_size += 4; break; /* PUSH Iv */ 
     134    case 0x6a: insn_size += 1; break; /* PUSH Ib */ 
     135    default: break; 
     136    } 
     137 
     138    /* PUSH/POP rv */ 
     139    if ((opcd & 0xf0) == 0x50) return insn_size; 
     140 
     141    /* MNEM E?, G? or G?, E? */ 
     142    switch (opcd) 
     143    { 
     144    case 0x89: /* mov Ev, Gv */ 
     145    case 0x8b: /* mov Gv, Ev */ 
     146        insn_size += modrm_sib_size(code + insn_size); 
     147        break; 
     148 
     149    case 0x80: /* Group#1 Eb, Ib */ 
     150    case 0x82: /* Group#1 Eb, Ib */ 
     151    case 0x83: /* Group#1 Ev, Ib */ 
     152        insn_size += (modrm_sib_size(code + insn_size) + 1); 
     153        break; 
     154 
     155    case 0x81: /* Group#1 Ev, Iz */ 
     156        insn_size += (modrm_sib_size(code + insn_size) + 4); 
     157        break; 
     158 
     159    case 0xff: 
     160        if ((code[insn_size] & 0x38) == 0x30) /* PUSH Ev */ 
     161            insn_size += modrm_sib_size(code + insn_size); 
     162        break; 
     163 
     164    default: break; 
    140165    } 
    141166 
    142167    return insn_size; 
     168} 
     169 
     170/* This function returns the required size to insert a patch */ 
     171static int compute_patch_size(uint8_t *code, int required_size) 
     172{ 
     173    int patch_size = 0; 
     174    while (patch_size < required_size) 
     175    { 
     176        int insn_size = zz_lde(code); 
     177        if (insn_size == 0) return -1; 
     178        patch_size += insn_size; 
     179    } 
     180    return patch_size; 
     181} 
     182 
     183static void make_jmp32(uint8_t *src, uint8_t *dst, uint8_t *code) 
     184{ 
     185    *(uint8_t  *)(code + 0) = 0xe9;             /* JMP Jd */ 
     186    *(uint32_t *)(code + 1) = (uint32_t)MK_JMP_JD(dst, src); 
     187} 
     188 
     189static void make_jmp64(uint8_t *dst, uint8_t *code) 
     190{ 
     191    memcpy(code, "\x48\xb8", 2);                /* MOV rAX, Iq */ 
     192    *(uint64_t *)(code + 2) = (uint64_t)dst; 
     193    memcpy(code + 10, "\xff\xe0", 2);           /* JMP rAX */ 
     194} 
     195 
     196/* This function allocates and fills a trampoline for the function pointed by code. It also tries to handle some relocations. */ 
     197static int make_trampoline(uint8_t *code, size_t patch_size, uint8_t **trampoline_buf, size_t *trampoline_size) 
     198{ 
     199    uint8_t *trampoline; 
     200 
     201    *trampoline_buf  = NULL; 
     202    *trampoline_size = 0; 
     203 
     204#ifdef _M_AMD64 
     205    { 
     206        size_t code_offset = 0; 
     207        size_t trampoline_offset = 0; 
     208        const size_t reloc_size  = -7 /* size of mov rax, [rip + ...] */ +10 /* size of mov rax, Iq */; 
     209 
     210        trampoline = malloc(patch_size + reloc_size + 13); /* Worst case */ 
     211        if (trampoline == NULL) return -1; 
     212        memset(trampoline, 0xcc, patch_size + 13); 
     213 
     214        while (code_offset < patch_size) 
     215        { 
     216            int insn_size = zz_lde(code + code_offset); 
     217            if (insn_size == 0) return -1; 
     218 
     219            /* mov rax, [rip + ...] is the signature for stack cookie */ 
     220            if (!memcmp(code + code_offset, "\x48\x8b\x05", 3)) 
     221            { 
     222                uint64_t *cookie_address = (uint64_t *)(code + code_offset + insn_size + *(uint32_t *)(code + code_offset + 3)); 
     223                patch_size              += reloc_size; 
     224 
     225                memcpy(trampoline + trampoline_offset, "\x48\xb8", 2); /* MOV rAX, Iq */ 
     226                *(uint64_t *)(trampoline + trampoline_offset + 2) = *cookie_address; 
     227                trampoline_offset += 10; 
     228            } 
     229            else 
     230            { 
     231                *trampoline_size += insn_size; 
     232                memcpy(trampoline + trampoline_offset, code + code_offset, insn_size); 
     233                trampoline_offset += insn_size; 
     234            } 
     235 
     236            code_offset += insn_size; 
     237        } 
     238 
     239 
     240        /* We can't use make_jmp64 since rAX is used by the __security_cookie */ 
     241        memcpy(trampoline + trampoline_offset, "\x49\xba", 2); /* MOV r10, Iq */ 
     242        *(uint64_t *)(trampoline + trampoline_offset + 2) = (uint64_t)(code + code_offset); 
     243        memcpy(trampoline + trampoline_offset + 10, "\x41\xff\xe2", 3); /* JMP r10 */ 
     244 
     245        *trampoline_buf  = trampoline; 
     246        *trampoline_size = trampoline_offset; 
     247        return 0; 
     248    } 
     249#elif _M_IX86 
     250    trampoline = malloc(patch_size + 5); 
     251    if (trampoline == NULL) return -1; 
     252    memcpy(trampoline, code, patch_size); 
     253    make_jmp32(trampoline + patch_size, code + patch_size, trampoline + patch_size); 
     254 
     255    *trampoline_size = patch_size; 
     256    *trampoline_buf  = trampoline; 
     257    return 0; 
     258#else 
     259#   error Unsupported architecture ! 
     260#endif 
    143261} 
    144262 
     
    149267static int hook_inline(uint8_t *old_api, uint8_t *new_api, uint8_t **trampoline_api) 
    150268{ 
    151     int res             = -1; 
    152     int patch_size      = 0; 
    153     uint8_t *jmp_prolog = NULL; 
    154     uint8_t *trampoline = NULL; 
     269    int res                 = -1; 
     270    int required_size       = 5; 
     271    int patch_size          = 0; 
     272    uint8_t jmp_prolog[12]; 
     273    uint8_t *trampoline     = NULL; 
     274    size_t trampoline_size  = 0; 
    155275    DWORD old_prot; 
    156276 
     277    *trampoline_api = NULL; 
     278 
     279    memset(jmp_prolog, 0xcc, sizeof(jmp_prolog)); 
     280 
     281#ifdef _M_AMD64 
     282    if (new_api - old_api > 0xffffffff) 
     283    { 
     284        required_size = 12; 
     285        make_jmp64(new_api, jmp_prolog); 
     286    } 
     287    else make_jmp32(old_api, new_api, jmp_prolog); 
     288#elif _M_IX86 
     289    make_jmp32(old_api, new_api, jmp_prolog); 
     290#else 
     291#   error Unsupported architecture ! 
     292#endif 
     293 
    157294    /* if we can't get enough byte, we quit */ 
    158     if ((patch_size = zz_lde(old_api, 5)) == -1) 
     295    if ((patch_size = compute_patch_size(old_api, required_size)) == -1) 
    159296        return -1; 
    160297 
    161     if ((jmp_prolog = malloc(patch_size)) == NULL) goto _out; 
    162     memset(jmp_prolog, '\xcc', patch_size); /* We use 0xcc because the code after the jmp should be executed */ 
    163  
    164     *trampoline_api = NULL; 
    165  
    166     jmp_prolog[0] = '\xe9'; /* jmp Jd */ 
    167     *(uint32_t *)(&jmp_prolog[1]) = MK_JMP_JD(new_api, old_api); 
    168  
    169     trampoline = malloc(patch_size + 5); /* size of old byte + sizeof of jmp Jd */ 
    170     memcpy(trampoline, old_api, patch_size); 
    171     *(uint8_t  *)&trampoline[patch_size]     = '\xe9'; /* jmp Jd */ 
    172     *(uint32_t *)&trampoline[patch_size + 1] = MK_JMP_JD(old_api + patch_size, trampoline + patch_size); 
     298    if (make_trampoline(old_api, patch_size, &trampoline, &trampoline_size) < 0) goto _out; 
    173299 
    174300    /* We must make the trampoline executable, this line is required because of DEP */ 
    175301    /* NOTE: We _must_ set the write protection, otherwise the heap allocator will crash ! */ 
    176     if (!VirtualProtect(trampoline, patch_size + 5, PAGE_EXECUTE_READWRITE, &old_prot)) goto _out; 
     302    if (!VirtualProtect(trampoline, trampoline_size, PAGE_EXECUTE_READWRITE, &old_prot)) goto _out; 
    177303 
    178304    /* We patch the targeted API, so we must set it as writable */ 
     
    194320        } 
    195321    } 
    196  
    197     if (jmp_prolog != NULL) free(jmp_prolog); 
    198322 
    199323    return res; 
  • zzuf/trunk/src/myfork.c

    r4832 r4833  
    394394static int dll_inject(PROCESS_INFORMATION *pinfo, char const *lib) 
    395395{ 
    396     int res = -1; 
     396#ifdef  _M_AMD64 
     397#   define InstructionPointer   Rip 
     398#   define StackPointer         Rsp 
     399#   define LoaderRegister       Rcx 
     400#   define LoadLibraryAOffset   0x15 
     401 
     402    /* This payload allows us to load arbitrary module located at the end of this buffer */ 
     403    static uint8_t const ldr[] = 
     404    { 
     405        "\x55"                          /* push rbp              */ 
     406        "\x48\x89\xE5"                  /* mov rbp,rsp           */ 
     407        "\x48\x83\xEC\x20"              /* sub rsp,byte +0x20    */ 
     408        "\x48\x83\xE4\xF0"              /* and rsp,byte -0x10    */ 
     409        "\x48\x8D\x0D\x14\x00\x00\x00"  /* lea rcx,[rel 0x27]    */ 
     410        "\x48\xB8________"              /* mov rax, LoadLibraryA */ 
     411        "\xFF\xD0"                      /* call rax              */ 
     412        "\x48\x85\xC0"                  /* test rax,rax          */ 
     413        "\x75\x01"                      /* jnz 0x25              */ 
     414        "\xCC"                          /* int3                  */ 
     415        "\xC9"                          /* leave                 */ 
     416        "\xC3"                          /* ret                   */ 
     417    }; 
     418 
     419#elif defined (_M_IX86) 
     420#   define InstructionPointer   Eip 
     421#   define StackPointer         Esp 
     422#   define LoaderRegister       Eax /* It seems the Windows loader store the oep as the first param 
     423                                     * but by a side effect it's also contained in eax register */ 
     424#   define ldr                  ldr32 
     425#   define LoadLibraryAOffset   0x04 
    397426 
    398427    /* This payload allows us to load arbitrary module located at the end of this buffer */ 
     
    410439        "\xE8\xED\xFF\xFF\xFF"  /* call dword 0x3       */ 
    411440    }; 
     441#else 
     442#   error Unimplemented architecture ! 
     443#endif 
     444 
     445    int res = -1; 
    412446 
    413447    /* We use this code to make the targeted process waits for us */ 
     
    420454    DWORD pid       = pinfo->dwProcessId; 
    421455    void *rldlib    = NULL; 
    422     DWORD written   = 0; 
     456    SIZE_T written  = 0; 
    423457    DWORD old_prot  = 0; 
    424458 
     
    429463 
    430464    CONTEXT ctxt; 
    431     DWORD oep; /* Original Entry Point */ 
     465    DWORD_PTR oep; /* Original Entry Point */ 
    432466 
    433467    /* Use the main thread to inject our library */ 
     
    436470 
    437471    /* Make the target program waits when it reachs the original entry point, because we can't do many thing from the windows loader */ 
    438     oep = ctxt.Eax; 
     472    oep = ctxt.LoaderRegister; 
    439473    if (!ReadProcessMemory(process, (LPVOID)oep, orig_data, sizeof(orig_data), &written) || written != sizeof(orig_data)) goto _return; /* save original opcode */ 
    440474    if (!WriteProcessMemory(process, (LPVOID)oep, wait, wait_len , &written) || written != wait_len) goto _return;                      /* write jmp short $-1 */ 
     
    443477 
    444478    /* Stop when the program reachs the oep */ 
    445     while (oep != ctxt.Eip) 
     479    while (oep != ctxt.InstructionPointer) 
    446480    { 
    447481        if (!GetThreadContext(thread, &ctxt)) goto _return; 
     
    456490    if ((rpl = VirtualAllocEx(process, NULL, pl_len, MEM_COMMIT, PAGE_EXECUTE_READWRITE)) == NULL) goto _return; 
    457491 
    458     /* Emulate a call to the ldr code, thus the ret instruction from ldr will get eip back to the original entry point */ 
    459     ctxt.Esp -= 4; 
    460     if (!WriteProcessMemory(process, (LPVOID)ctxt.Esp, &oep, sizeof(oep), &written) || written != sizeof(oep)) goto _return; 
    461     ctxt.Eip = (DWORD)rpl; 
     492    /* Emulate a call to the ldr code, thus the ret instruction from ldr will get (e|r)ip back to the original entry point */ 
     493    ctxt.StackPointer -= sizeof(oep); 
     494    if (!WriteProcessMemory(process, (LPVOID)ctxt.StackPointer, &oep, sizeof(oep), &written) || written != sizeof(oep)) goto _return; 
     495    ctxt.InstructionPointer = (DWORD_PTR)rpl; 
    462496    if (!SetThreadContext(thread, &ctxt)) goto _return; 
    463497 
     
    465499    if ((pl = (uint8_t *)malloc(pl_len)) == NULL) goto _return; 
    466500    memcpy(pl, ldr, sizeof(ldr) - 1); 
    467     memcpy(pl + 4, &rldlib, sizeof(rldlib));        /* Write the address of LoadLibraryA         */ 
    468     strcpy((char *)(pl + sizeof(ldr) - 1), lib);    /* Write the first parameter of LoadLibraryA */ 
     501    memcpy(pl + LoadLibraryAOffset, &rldlib, sizeof(rldlib));        /* Write the address of LoadLibraryA         */ 
     502    strcpy((char *)(pl + sizeof(ldr) - 1), lib);                    /* Write the first parameter of LoadLibraryA */ 
    469503 
    470504    if (!WriteProcessMemory(process, rpl, pl, pl_len, &written) || written != pl_len) goto _return; 
     
    482516    /* We must not free remote allocated memory since they will be used after the process will be resumed */ 
    483517    return res; 
     518 
     519#undef InstructionPointer 
     520#undef StackPointer 
     521#undef LoaderRegister 
     522#undef LoadLibraryAOffset 
    484523} 
    485524 
     
    491530    MODULEENTRY32 entry; 
    492531    void *ret = 0; 
    493     DWORD tmp; 
     532    SIZE_T tmp; 
    494533    void *list; 
    495534    int i, k; 
  • zzuf/trunk/src/zzuf.c

    r4832 r4833  
    501501        opts->child = malloc(opts->maxchild * sizeof(struct child)); 
    502502        for(i = 0; i < opts->maxchild; i++) 
     503        { 
    503504            opts->child[i].status = STATUS_FREE; 
     505            memset(opts->child[i].fd, -1, sizeof(opts->child->fd)); 
     506        } 
    504507        opts->nchild = 0; 
    505508 
Note: See TracChangeset for help on using the changeset viewer.