Update VS project files to link win32-pthread.

- I haven't found a good way of including external dependencies to VS projects
  yet. Win32-pthreads is assumed to be found at the same level as kvazaar dir
  and has the files x86/pthreadVC2.lib and x64/pthreadVC2.lib.

- Win32-pthreads also requires the pthreadVC2.dll to be in PATH when running
  the program. Not sure what to do about that yet. We might need an installer
  for windows to handle that.

- Disable openmp as it's no longer used.

- Stop linking Ws2_32.lib as that hasn't been used for ages.
This commit is contained in:
Ari Koivula 2014-05-14 17:50:27 +03:00
parent 8ff9ea0eee
commit 60a0ba4280
4 changed files with 28 additions and 4 deletions

View file

@ -13,12 +13,12 @@
<AssemblerOutput>AssemblyAndSourceCode</AssemblerOutput>
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
<PreprocessorDefinitions>WIN32;WIN64;_CONSOLE;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>$(SolutionDir)..\src;$(SolutionDir)..\src\extras;$(SolutionDir)..\;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<AdditionalIncludeDirectories>$(SolutionDir)..\..\pthreads\include;$(SolutionDir)..\src;$(SolutionDir)..\src\extras;$(SolutionDir)..\;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<DisableSpecificWarnings>4244;4204;4206;4028</DisableSpecificWarnings>
<OpenMPSupport>true</OpenMPSupport>
<OpenMPSupport>false</OpenMPSupport>
</ClCompile>
<Link>
<AdditionalDependencies>Ws2_32.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
<GenerateDebugInformation>true</GenerateDebugInformation>
<SubSystem>Console</SubSystem>
</Link>

View file

@ -75,21 +75,37 @@
<YASM>
<Defines>ARCH_X86_64=1</Defines>
</YASM>
<Lib>
<AdditionalLibraryDirectories>$(SolutionDir)..\..\pthreads\x64</AdditionalLibraryDirectories>
<AdditionalDependencies>pthreadVC2.lib</AdditionalDependencies>
</Lib>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<YASM>
<Defines>ARCH_X86_64=0;PREFIX</Defines>
</YASM>
<Lib>
<AdditionalLibraryDirectories>$(SolutionDir)..\..\pthreads\x86</AdditionalLibraryDirectories>
<AdditionalDependencies>pthreadVC2.lib</AdditionalDependencies>
</Lib>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<YASM>
<Defines>ARCH_X86_64=0;PREFIX</Defines>
</YASM>
<Lib>
<AdditionalLibraryDirectories>$(SolutionDir)..\..\pthreads\x86</AdditionalLibraryDirectories>
<AdditionalDependencies>pthreadVC2.lib</AdditionalDependencies>
</Lib>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<YASM>
<Defines>ARCH_X86_64=1</Defines>
</YASM>
<Lib>
<AdditionalLibraryDirectories>$(SolutionDir)..\..\pthreads\x64</AdditionalLibraryDirectories>
<AdditionalDependencies>pthreadVC2.lib</AdditionalDependencies>
</Lib>
</ItemDefinitionGroup>
<ItemGroup>
<ClCompile Include="..\..\src\bitstream.c" />
@ -110,6 +126,7 @@
<ClCompile Include="..\..\src\search.c" />
<ClCompile Include="..\..\src\strategyselector.c" />
<ClCompile Include="..\..\src\tables.c" />
<ClCompile Include="..\..\src\threadqueue.c" />
<ClCompile Include="..\..\src\transform.c" />
</ItemGroup>
<ItemGroup>
@ -130,6 +147,7 @@
<ClInclude Include="..\..\src\scalinglist.h" />
<ClInclude Include="..\..\src\search.h" />
<ClInclude Include="..\..\src\tables.h" />
<ClInclude Include="..\..\src\threadqueue.h" />
<ClInclude Include="..\..\src\threads.h" />
<ClInclude Include="..\..\src\transform.h" />
<ClInclude Include="..\..\src\x86\cpu.h" />

View file

@ -78,6 +78,9 @@
<ClCompile Include="..\..\src\strategyselector.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\src\threadqueue.c">
<Filter>Source Files</Filter>
</ClCompile>
</ItemGroup>
<ItemGroup>
<ClInclude Include="..\..\src\global.h">
@ -140,6 +143,9 @@
<ClInclude Include="..\..\src\threads.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\src\threadqueue.h">
<Filter>Header Files</Filter>
</ClInclude>
</ItemGroup>
<ItemGroup>
<YASM Include="..\..\src\x86\cpu.asm">

View file

@ -20,9 +20,9 @@
****************************************************************************/
#include <pthread.h>
#include <unistd.h>
#ifdef __GNUC__
#include <unistd.h>
#define ATOMIC_INC(ptr) __sync_add_and_fetch((volatile int32_t*)ptr, 1)
#define ATOMIC_DEC(ptr) __sync_add_and_fetch((volatile int32_t*)ptr, -1)