Skip to content

Commit 5c83e40

Browse files
Add support for building on Windows.
1 parent 6d51ee2 commit 5c83e40

File tree

5 files changed

+353
-0
lines changed

5 files changed

+353
-0
lines changed

.gitignore

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,8 @@
11
.vscode/*
22
!.vscode/cpp.code-snippets
3+
.vs/
4+
x64/
5+
*.vcxproj.user
36

47
*.o
58
*.so

install.bat

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
@ECHO OFF
2+
3+
SET configuration=%1
4+
IF "%configuration%"=="" SET configuration=Debug
5+
6+
copy .\x64\%configuration%\pg_diffix.dll %PGROOT%\lib\
7+
IF %errorlevel% NEQ 0 EXIT /b %errorlevel%
8+
9+
copy .\*.sql %PGROOT%\share\extension\
10+
IF %errorlevel% NEQ 0 EXIT /b %errorlevel%
11+
12+
copy .\pg_diffix.control %PGROOT%\share\extension\
13+
IF %errorlevel% NEQ 0 EXIT /b %errorlevel%

pg_diffix.sln

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
2+
Microsoft Visual Studio Solution File, Format Version 12.00
3+
# Visual Studio Version 17
4+
VisualStudioVersion = 17.3.32901.215
5+
MinimumVisualStudioVersion = 10.0.40219.1
6+
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "pg_diffix", "pg_diffix.vcxproj", "{38363B61-2A14-4350-8136-168F8FC02737}"
7+
EndProject
8+
Global
9+
GlobalSection(SolutionConfigurationPlatforms) = preSolution
10+
Debug|x64 = Debug|x64
11+
Release|x64 = Release|x64
12+
EndGlobalSection
13+
GlobalSection(ProjectConfigurationPlatforms) = postSolution
14+
{38363B61-2A14-4350-8136-168F8FC02737}.Debug|x64.ActiveCfg = Debug|x64
15+
{38363B61-2A14-4350-8136-168F8FC02737}.Debug|x64.Build.0 = Debug|x64
16+
{38363B61-2A14-4350-8136-168F8FC02737}.Release|x64.ActiveCfg = Release|x64
17+
{38363B61-2A14-4350-8136-168F8FC02737}.Release|x64.Build.0 = Release|x64
18+
EndGlobalSection
19+
GlobalSection(SolutionProperties) = preSolution
20+
HideSolutionNode = FALSE
21+
EndGlobalSection
22+
GlobalSection(ExtensibilityGlobals) = postSolution
23+
SolutionGuid = {6C82DEF7-361D-41EF-AB43-6AABA3D85D9C}
24+
EndGlobalSection
25+
EndGlobal

pg_diffix.vcxproj

Lines changed: 144 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,144 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
3+
<ItemGroup Label="ProjectConfigurations">
4+
<ProjectConfiguration Include="Debug|x64">
5+
<Configuration>Debug</Configuration>
6+
<Platform>x64</Platform>
7+
</ProjectConfiguration>
8+
<ProjectConfiguration Include="Release|x64">
9+
<Configuration>Release</Configuration>
10+
<Platform>x64</Platform>
11+
</ProjectConfiguration>
12+
</ItemGroup>
13+
<ItemGroup>
14+
<ClInclude Include="pg_diffix\aggregation\aid.h" />
15+
<ClInclude Include="pg_diffix\aggregation\aid_tracker.h" />
16+
<ClInclude Include="pg_diffix\aggregation\bucket_scan.h" />
17+
<ClInclude Include="pg_diffix\aggregation\common.h" />
18+
<ClInclude Include="pg_diffix\aggregation\contribution_tracker.h" />
19+
<ClInclude Include="pg_diffix\aggregation\count.h" />
20+
<ClInclude Include="pg_diffix\aggregation\led.h" />
21+
<ClInclude Include="pg_diffix\aggregation\noise.h" />
22+
<ClInclude Include="pg_diffix\aggregation\star_bucket.h" />
23+
<ClInclude Include="pg_diffix\aggregation\summable.h" />
24+
<ClInclude Include="pg_diffix\auth.h" />
25+
<ClInclude Include="pg_diffix\config.h" />
26+
<ClInclude Include="pg_diffix\hooks.h" />
27+
<ClInclude Include="pg_diffix\node_funcs.h" />
28+
<ClInclude Include="pg_diffix\oid_cache.h" />
29+
<ClInclude Include="pg_diffix\query\allowed_objects.h" />
30+
<ClInclude Include="pg_diffix\query\anonymization.h" />
31+
<ClInclude Include="pg_diffix\query\relation.h" />
32+
<ClInclude Include="pg_diffix\query\validation.h" />
33+
<ClInclude Include="pg_diffix\utils.h" />
34+
</ItemGroup>
35+
<ItemGroup>
36+
<ClCompile Include="src\aggregation\aid.c" />
37+
<ClCompile Include="src\aggregation\aid_tracker.c" />
38+
<ClCompile Include="src\aggregation\bucket_scan.c" />
39+
<ClCompile Include="src\aggregation\common.c" />
40+
<ClCompile Include="src\aggregation\contribution_tracker.c" />
41+
<ClCompile Include="src\aggregation\count.c" />
42+
<ClCompile Include="src\aggregation\count_distinct.c" />
43+
<ClCompile Include="src\aggregation\count_histogram.c" />
44+
<ClCompile Include="src\aggregation\led.c" />
45+
<ClCompile Include="src\aggregation\low_count.c" />
46+
<ClCompile Include="src\aggregation\noise.c" />
47+
<ClCompile Include="src\aggregation\star_bucket.c" />
48+
<ClCompile Include="src\aggregation\sum.c" />
49+
<ClCompile Include="src\aggregation\summable.c" />
50+
<ClCompile Include="src\auth.c" />
51+
<ClCompile Include="src\config.c" />
52+
<ClCompile Include="src\hooks.c" />
53+
<ClCompile Include="src\node_funcs.c" />
54+
<ClCompile Include="src\oid_cache.c" />
55+
<ClCompile Include="src\pg_diffix.c" />
56+
<ClCompile Include="src\query\allowed_objects.c" />
57+
<ClCompile Include="src\query\anonymization.c" />
58+
<ClCompile Include="src\query\relation.c" />
59+
<ClCompile Include="src\query\validation.c" />
60+
<ClCompile Include="src\utils.c" />
61+
</ItemGroup>
62+
<PropertyGroup Label="Globals">
63+
<VCProjectVersion>16.0</VCProjectVersion>
64+
<Keyword>Win32Proj</Keyword>
65+
<ProjectGuid>{38363b61-2a14-4350-8136-168f8fc02737}</ProjectGuid>
66+
<RootNamespace>pgdiffix</RootNamespace>
67+
<WindowsTargetPlatformVersion>10.0</WindowsTargetPlatformVersion>
68+
</PropertyGroup>
69+
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
70+
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
71+
<ConfigurationType>DynamicLibrary</ConfigurationType>
72+
<UseDebugLibraries>true</UseDebugLibraries>
73+
<PlatformToolset>v143</PlatformToolset>
74+
<CharacterSet>Unicode</CharacterSet>
75+
</PropertyGroup>
76+
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
77+
<ConfigurationType>DynamicLibrary</ConfigurationType>
78+
<UseDebugLibraries>false</UseDebugLibraries>
79+
<PlatformToolset>v143</PlatformToolset>
80+
<WholeProgramOptimization>true</WholeProgramOptimization>
81+
<CharacterSet>Unicode</CharacterSet>
82+
</PropertyGroup>
83+
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
84+
<ImportGroup Label="ExtensionSettings">
85+
</ImportGroup>
86+
<ImportGroup Label="Shared">
87+
</ImportGroup>
88+
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
89+
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
90+
</ImportGroup>
91+
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
92+
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
93+
</ImportGroup>
94+
<PropertyGroup Label="UserMacros" />
95+
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
96+
<GenerateManifest>false</GenerateManifest>
97+
</PropertyGroup>
98+
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
99+
<GenerateManifest>false</GenerateManifest>
100+
</PropertyGroup>
101+
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
102+
<ClCompile>
103+
<WarningLevel>Level3</WarningLevel>
104+
<SDLCheck>true</SDLCheck>
105+
<PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
106+
<ConformanceMode>true</ConformanceMode>
107+
<AdditionalIncludeDirectories>$(SolutionDir);$(PGROOT)\include\server\port\win32_msvc;$(PGROOT)\include\server\port\win32;$(PGROOT)\include\server;$(PGROOT)\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
108+
<ExceptionHandling>false</ExceptionHandling>
109+
<CompileAs>CompileAsC</CompileAs>
110+
<DisableSpecificWarnings>4244;4715</DisableSpecificWarnings>
111+
</ClCompile>
112+
<Link>
113+
<SubSystem>Console</SubSystem>
114+
<GenerateDebugInformation>true</GenerateDebugInformation>
115+
<AdditionalLibraryDirectories>$(PGROOT)\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
116+
<AdditionalDependencies>postgres.lib;%(AdditionalDependencies)</AdditionalDependencies>
117+
</Link>
118+
</ItemDefinitionGroup>
119+
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
120+
<ClCompile>
121+
<WarningLevel>Level3</WarningLevel>
122+
<FunctionLevelLinking>true</FunctionLevelLinking>
123+
<IntrinsicFunctions>true</IntrinsicFunctions>
124+
<SDLCheck>true</SDLCheck>
125+
<PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
126+
<ConformanceMode>true</ConformanceMode>
127+
<AdditionalIncludeDirectories>$(SolutionDir);$(PGROOT)\include\server\port\win32_msvc;$(PGROOT)\include\server\port\win32;$(PGROOT)\include\server;$(PGROOT)\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
128+
<ExceptionHandling>false</ExceptionHandling>
129+
<CompileAs>CompileAsC</CompileAs>
130+
<DisableSpecificWarnings>4244;4715</DisableSpecificWarnings>
131+
</ClCompile>
132+
<Link>
133+
<SubSystem>Console</SubSystem>
134+
<EnableCOMDATFolding>true</EnableCOMDATFolding>
135+
<OptimizeReferences>true</OptimizeReferences>
136+
<GenerateDebugInformation>true</GenerateDebugInformation>
137+
<AdditionalLibraryDirectories>$(PGROOT)\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
138+
<AdditionalDependencies>postgres.lib;%(AdditionalDependencies)</AdditionalDependencies>
139+
</Link>
140+
</ItemDefinitionGroup>
141+
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
142+
<ImportGroup Label="ExtensionTargets">
143+
</ImportGroup>
144+
</Project>

pg_diffix.vcxproj.filters

Lines changed: 168 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,168 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
3+
<ItemGroup>
4+
<Filter Include="Source Files">
5+
<UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
6+
<Extensions>cpp;c;cc;cxx;c++;cppm;ixx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
7+
</Filter>
8+
<Filter Include="Header Files">
9+
<UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
10+
<Extensions>h;hh;hpp;hxx;h++;hm;inl;inc;ipp;xsd</Extensions>
11+
</Filter>
12+
<Filter Include="Resource Files">
13+
<UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
14+
<Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms</Extensions>
15+
</Filter>
16+
<Filter Include="Header Files\query">
17+
<UniqueIdentifier>{1f33f952-5c47-43f9-98e6-f8ca6ee226ae}</UniqueIdentifier>
18+
</Filter>
19+
<Filter Include="Header Files\aggregation">
20+
<UniqueIdentifier>{bb88c063-db7c-485c-92f2-9bf38a9b9187}</UniqueIdentifier>
21+
</Filter>
22+
<Filter Include="Source Files\query">
23+
<UniqueIdentifier>{08af81e9-a83c-4de1-b9c4-42c62ab0741d}</UniqueIdentifier>
24+
</Filter>
25+
<Filter Include="Source Files\aggregation">
26+
<UniqueIdentifier>{2556eca5-607c-4266-a670-f48a603bd517}</UniqueIdentifier>
27+
</Filter>
28+
</ItemGroup>
29+
<ItemGroup>
30+
<ClInclude Include="pg_diffix\auth.h">
31+
<Filter>Header Files</Filter>
32+
</ClInclude>
33+
<ClInclude Include="pg_diffix\config.h">
34+
<Filter>Header Files</Filter>
35+
</ClInclude>
36+
<ClInclude Include="pg_diffix\hooks.h">
37+
<Filter>Header Files</Filter>
38+
</ClInclude>
39+
<ClInclude Include="pg_diffix\node_funcs.h">
40+
<Filter>Header Files</Filter>
41+
</ClInclude>
42+
<ClInclude Include="pg_diffix\oid_cache.h">
43+
<Filter>Header Files</Filter>
44+
</ClInclude>
45+
<ClInclude Include="pg_diffix\utils.h">
46+
<Filter>Header Files</Filter>
47+
</ClInclude>
48+
<ClInclude Include="pg_diffix\query\allowed_objects.h">
49+
<Filter>Header Files\query</Filter>
50+
</ClInclude>
51+
<ClInclude Include="pg_diffix\query\anonymization.h">
52+
<Filter>Header Files\query</Filter>
53+
</ClInclude>
54+
<ClInclude Include="pg_diffix\query\relation.h">
55+
<Filter>Header Files\query</Filter>
56+
</ClInclude>
57+
<ClInclude Include="pg_diffix\query\validation.h">
58+
<Filter>Header Files\query</Filter>
59+
</ClInclude>
60+
<ClInclude Include="pg_diffix\aggregation\aid.h">
61+
<Filter>Header Files\aggregation</Filter>
62+
</ClInclude>
63+
<ClInclude Include="pg_diffix\aggregation\aid_tracker.h">
64+
<Filter>Header Files\aggregation</Filter>
65+
</ClInclude>
66+
<ClInclude Include="pg_diffix\aggregation\bucket_scan.h">
67+
<Filter>Header Files\aggregation</Filter>
68+
</ClInclude>
69+
<ClInclude Include="pg_diffix\aggregation\common.h">
70+
<Filter>Header Files\aggregation</Filter>
71+
</ClInclude>
72+
<ClInclude Include="pg_diffix\aggregation\contribution_tracker.h">
73+
<Filter>Header Files\aggregation</Filter>
74+
</ClInclude>
75+
<ClInclude Include="pg_diffix\aggregation\count.h">
76+
<Filter>Header Files\aggregation</Filter>
77+
</ClInclude>
78+
<ClInclude Include="pg_diffix\aggregation\led.h">
79+
<Filter>Header Files\aggregation</Filter>
80+
</ClInclude>
81+
<ClInclude Include="pg_diffix\aggregation\noise.h">
82+
<Filter>Header Files\aggregation</Filter>
83+
</ClInclude>
84+
<ClInclude Include="pg_diffix\aggregation\star_bucket.h">
85+
<Filter>Header Files\aggregation</Filter>
86+
</ClInclude>
87+
<ClInclude Include="pg_diffix\aggregation\summable.h">
88+
<Filter>Header Files\aggregation</Filter>
89+
</ClInclude>
90+
</ItemGroup>
91+
<ItemGroup>
92+
<ClCompile Include="src\auth.c">
93+
<Filter>Source Files</Filter>
94+
</ClCompile>
95+
<ClCompile Include="src\config.c">
96+
<Filter>Source Files</Filter>
97+
</ClCompile>
98+
<ClCompile Include="src\hooks.c">
99+
<Filter>Source Files</Filter>
100+
</ClCompile>
101+
<ClCompile Include="src\node_funcs.c">
102+
<Filter>Source Files</Filter>
103+
</ClCompile>
104+
<ClCompile Include="src\oid_cache.c">
105+
<Filter>Source Files</Filter>
106+
</ClCompile>
107+
<ClCompile Include="src\pg_diffix.c">
108+
<Filter>Source Files</Filter>
109+
</ClCompile>
110+
<ClCompile Include="src\utils.c">
111+
<Filter>Source Files</Filter>
112+
</ClCompile>
113+
<ClCompile Include="src\query\allowed_objects.c">
114+
<Filter>Source Files\query</Filter>
115+
</ClCompile>
116+
<ClCompile Include="src\query\anonymization.c">
117+
<Filter>Source Files\query</Filter>
118+
</ClCompile>
119+
<ClCompile Include="src\query\relation.c">
120+
<Filter>Source Files\query</Filter>
121+
</ClCompile>
122+
<ClCompile Include="src\query\validation.c">
123+
<Filter>Source Files\query</Filter>
124+
</ClCompile>
125+
<ClCompile Include="src\aggregation\aid.c">
126+
<Filter>Source Files\aggregation</Filter>
127+
</ClCompile>
128+
<ClCompile Include="src\aggregation\aid_tracker.c">
129+
<Filter>Source Files\aggregation</Filter>
130+
</ClCompile>
131+
<ClCompile Include="src\aggregation\bucket_scan.c">
132+
<Filter>Source Files\aggregation</Filter>
133+
</ClCompile>
134+
<ClCompile Include="src\aggregation\common.c">
135+
<Filter>Source Files\aggregation</Filter>
136+
</ClCompile>
137+
<ClCompile Include="src\aggregation\contribution_tracker.c">
138+
<Filter>Source Files\aggregation</Filter>
139+
</ClCompile>
140+
<ClCompile Include="src\aggregation\count.c">
141+
<Filter>Source Files\aggregation</Filter>
142+
</ClCompile>
143+
<ClCompile Include="src\aggregation\count_distinct.c">
144+
<Filter>Source Files\aggregation</Filter>
145+
</ClCompile>
146+
<ClCompile Include="src\aggregation\count_histogram.c">
147+
<Filter>Source Files\aggregation</Filter>
148+
</ClCompile>
149+
<ClCompile Include="src\aggregation\led.c">
150+
<Filter>Source Files\aggregation</Filter>
151+
</ClCompile>
152+
<ClCompile Include="src\aggregation\low_count.c">
153+
<Filter>Source Files\aggregation</Filter>
154+
</ClCompile>
155+
<ClCompile Include="src\aggregation\noise.c">
156+
<Filter>Source Files\aggregation</Filter>
157+
</ClCompile>
158+
<ClCompile Include="src\aggregation\star_bucket.c">
159+
<Filter>Source Files\aggregation</Filter>
160+
</ClCompile>
161+
<ClCompile Include="src\aggregation\sum.c">
162+
<Filter>Source Files\aggregation</Filter>
163+
</ClCompile>
164+
<ClCompile Include="src\aggregation\summable.c">
165+
<Filter>Source Files\aggregation</Filter>
166+
</ClCompile>
167+
</ItemGroup>
168+
</Project>

0 commit comments

Comments
 (0)