Changeset 4833 for zzuf


Ignore:
Timestamp:
Aug 2, 2012, 4:50:21 PM (7 years 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.