mirror of
https://github.com/winfsp/winfsp.git
synced 2025-04-25 18:02:24 -05:00
Turns out that the linker automatically creates .LIB and .EXP files for all targets that export symbols (e.g. via __declspec(dllexport)). The FSD now exports symbols for use by other kernel drivers; this resulted in files like winfsp-x64.lib and winfsp-x64.exp to be inadvertently created. Unfortunately this clashed with the files with the same name created from building the DLL. Since we only want the .LIB and .EXP files produced from the DLL, we rename the .LIB and .EXP files produced from the FSD to a name that does not clash. There does not seem to be any way to instruct the linker to completely turn off .LIB and .EXP file generation for targets that export symbols.
284 lines
16 KiB
XML
284 lines
16 KiB
XML
<?xml version="1.0" encoding="utf-8"?>
|
|
<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
|
<Import Project="version.properties" />
|
|
<ItemGroup Label="ProjectConfigurations">
|
|
<ProjectConfiguration Include="Debug|Win32">
|
|
<Configuration>Debug</Configuration>
|
|
<Platform>Win32</Platform>
|
|
</ProjectConfiguration>
|
|
<ProjectConfiguration Include="Release|Win32">
|
|
<Configuration>Release</Configuration>
|
|
<Platform>Win32</Platform>
|
|
</ProjectConfiguration>
|
|
<ProjectConfiguration Include="Debug|x64">
|
|
<Configuration>Debug</Configuration>
|
|
<Platform>x64</Platform>
|
|
</ProjectConfiguration>
|
|
<ProjectConfiguration Include="Release|x64">
|
|
<Configuration>Release</Configuration>
|
|
<Platform>x64</Platform>
|
|
</ProjectConfiguration>
|
|
</ItemGroup>
|
|
<PropertyGroup Label="Globals">
|
|
<ProjectGuid>{C85C26BA-8C22-4D30-83DA-46C3548E6332}</ProjectGuid>
|
|
<TemplateGuid>{dd38f7fc-d7bd-488b-9242-7d8754cde80d}</TemplateGuid>
|
|
<TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
|
|
<MinimumVisualStudioVersion>12.0</MinimumVisualStudioVersion>
|
|
<Configuration>Debug</Configuration>
|
|
<Platform Condition="'$(Platform)' == ''">Win32</Platform>
|
|
<RootNamespace>winfsp</RootNamespace>
|
|
<WindowsTargetPlatformVersion>$(LatestTargetPlatformVersion)</WindowsTargetPlatformVersion>
|
|
<ProjectName>winfsp.sys</ProjectName>
|
|
</PropertyGroup>
|
|
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
|
|
<TargetVersion>Windows10</TargetVersion>
|
|
<UseDebugLibraries>true</UseDebugLibraries>
|
|
<KernelBufferOverflowLib>$(DDK_LIB_PATH)\BufferOverflowK.lib</KernelBufferOverflowLib>
|
|
<PlatformToolset>WindowsKernelModeDriver10.0</PlatformToolset>
|
|
<ConfigurationType>Driver</ConfigurationType>
|
|
<DriverType>WDM</DriverType>
|
|
</PropertyGroup>
|
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
|
|
<TargetVersion>Windows10</TargetVersion>
|
|
<UseDebugLibraries>false</UseDebugLibraries>
|
|
<KernelBufferOverflowLib>$(DDK_LIB_PATH)\BufferOverflowK.lib</KernelBufferOverflowLib>
|
|
<PlatformToolset>WindowsKernelModeDriver10.0</PlatformToolset>
|
|
<ConfigurationType>Driver</ConfigurationType>
|
|
<DriverType>WDM</DriverType>
|
|
</PropertyGroup>
|
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
|
|
<TargetVersion>Windows10</TargetVersion>
|
|
<UseDebugLibraries>true</UseDebugLibraries>
|
|
<KernelBufferOverflowLib>$(DDK_LIB_PATH)\BufferOverflowK.lib</KernelBufferOverflowLib>
|
|
<PlatformToolset>WindowsKernelModeDriver10.0</PlatformToolset>
|
|
<ConfigurationType>Driver</ConfigurationType>
|
|
<DriverType>WDM</DriverType>
|
|
</PropertyGroup>
|
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
|
|
<TargetVersion>Windows10</TargetVersion>
|
|
<UseDebugLibraries>false</UseDebugLibraries>
|
|
<KernelBufferOverflowLib>$(DDK_LIB_PATH)\BufferOverflowK.lib</KernelBufferOverflowLib>
|
|
<PlatformToolset>WindowsKernelModeDriver10.0</PlatformToolset>
|
|
<ConfigurationType>Driver</ConfigurationType>
|
|
<DriverType>WDM</DriverType>
|
|
</PropertyGroup>
|
|
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
|
<ImportGroup Label="ExtensionSettings">
|
|
</ImportGroup>
|
|
<ImportGroup Label="PropertySheets">
|
|
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
|
</ImportGroup>
|
|
<PropertyGroup Label="UserMacros" />
|
|
<PropertyGroup />
|
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
|
<DebuggerFlavor>DbgengKernelDebugger</DebuggerFlavor>
|
|
<OutDir>$(SolutionDir)build\$(Configuration)\</OutDir>
|
|
<IntDir>$(SolutionDir)build\$(ProjectName).build\$(Configuration)\$(PlatformTarget)\</IntDir>
|
|
<TargetName>$(MyProductFileName)-$(PlatformTarget)</TargetName>
|
|
<EnableInf2cat>false</EnableInf2cat>
|
|
</PropertyGroup>
|
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
|
<DebuggerFlavor>DbgengKernelDebugger</DebuggerFlavor>
|
|
<OutDir>$(SolutionDir)build\$(Configuration)\</OutDir>
|
|
<IntDir>$(SolutionDir)build\$(ProjectName).build\$(Configuration)\$(PlatformTarget)\</IntDir>
|
|
<TargetName>$(MyProductFileName)-$(PlatformTarget)</TargetName>
|
|
<EnableInf2cat>false</EnableInf2cat>
|
|
</PropertyGroup>
|
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
|
<DebuggerFlavor>DbgengKernelDebugger</DebuggerFlavor>
|
|
<OutDir>$(SolutionDir)build\$(Configuration)\</OutDir>
|
|
<IntDir>$(SolutionDir)build\$(ProjectName).build\$(Configuration)\$(PlatformTarget)\</IntDir>
|
|
<TargetName>$(MyProductFileName)-$(PlatformTarget)</TargetName>
|
|
<EnableInf2cat>false</EnableInf2cat>
|
|
</PropertyGroup>
|
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
|
<DebuggerFlavor>DbgengKernelDebugger</DebuggerFlavor>
|
|
<OutDir>$(SolutionDir)build\$(Configuration)\</OutDir>
|
|
<IntDir>$(SolutionDir)build\$(ProjectName).build\$(Configuration)\$(PlatformTarget)\</IntDir>
|
|
<TargetName>$(MyProductFileName)-$(PlatformTarget)</TargetName>
|
|
<EnableInf2cat>false</EnableInf2cat>
|
|
</PropertyGroup>
|
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
|
<ClCompile>
|
|
<AdditionalIncludeDirectories>..\..\src;..\..\opt\fsext\inc;..\..\inc;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
|
<PreprocessorDefinitions> _X86_=1;i386=1;STD_CALL;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
</ClCompile>
|
|
<Link>
|
|
<AdditionalDependencies>cng.lib;wdmsec.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
|
<GenerateMapFile>true</GenerateMapFile>
|
|
<ProgramDatabaseFile>$(OutDir)$(TargetFileName).pdb</ProgramDatabaseFile>
|
|
<MapFileName>$(OutDir)$(TargetFileName).map</MapFileName>
|
|
<StripPrivateSymbols>$(OutDir)$(TargetFileName).public.pdb</StripPrivateSymbols>
|
|
<ImportLibrary>$(OutDir)$(TargetName)$(TargetExt).lib</ImportLibrary>
|
|
</Link>
|
|
</ItemDefinitionGroup>
|
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
|
<ClCompile>
|
|
<AdditionalIncludeDirectories>..\..\src;..\..\opt\fsext\inc;..\..\inc;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
|
<PreprocessorDefinitions> _X86_=1;i386=1;STD_CALL;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
</ClCompile>
|
|
<Link>
|
|
<AdditionalDependencies>cng.lib;wdmsec.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
|
<GenerateMapFile>true</GenerateMapFile>
|
|
<ProgramDatabaseFile>$(OutDir)$(TargetFileName).pdb</ProgramDatabaseFile>
|
|
<MapFileName>$(OutDir)$(TargetFileName).map</MapFileName>
|
|
<StripPrivateSymbols>$(OutDir)$(TargetFileName).public.pdb</StripPrivateSymbols>
|
|
<AdditionalOptions>/PDBALTPATH:$(TargetFileName).pdb %(AdditionalOptions)</AdditionalOptions>
|
|
<ImportLibrary>$(OutDir)$(TargetName)$(TargetExt).lib</ImportLibrary>
|
|
</Link>
|
|
</ItemDefinitionGroup>
|
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
|
<ClCompile>
|
|
<AdditionalIncludeDirectories>..\..\src;..\..\opt\fsext\inc;..\..\inc;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
|
<PreprocessorDefinitions> _WIN64;_AMD64_;AMD64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
</ClCompile>
|
|
<Link>
|
|
<AdditionalDependencies>cng.lib;wdmsec.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
|
<GenerateMapFile>true</GenerateMapFile>
|
|
<ProgramDatabaseFile>$(OutDir)$(TargetFileName).pdb</ProgramDatabaseFile>
|
|
<MapFileName>$(OutDir)$(TargetFileName).map</MapFileName>
|
|
<StripPrivateSymbols>$(OutDir)$(TargetFileName).public.pdb</StripPrivateSymbols>
|
|
<ImportLibrary>$(OutDir)$(TargetName)$(TargetExt).lib</ImportLibrary>
|
|
</Link>
|
|
</ItemDefinitionGroup>
|
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
|
<ClCompile>
|
|
<AdditionalIncludeDirectories>..\..\src;..\..\opt\fsext\inc;..\..\inc;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
|
<PreprocessorDefinitions> _WIN64;_AMD64_;AMD64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
</ClCompile>
|
|
<Link>
|
|
<AdditionalDependencies>cng.lib;wdmsec.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
|
<GenerateMapFile>true</GenerateMapFile>
|
|
<ProgramDatabaseFile>$(OutDir)$(TargetFileName).pdb</ProgramDatabaseFile>
|
|
<MapFileName>$(OutDir)$(TargetFileName).map</MapFileName>
|
|
<StripPrivateSymbols>$(OutDir)$(TargetFileName).public.pdb</StripPrivateSymbols>
|
|
<AdditionalOptions>/PDBALTPATH:$(TargetFileName).pdb %(AdditionalOptions)</AdditionalOptions>
|
|
<ImportLibrary>$(OutDir)$(TargetName)$(TargetExt).lib</ImportLibrary>
|
|
</Link>
|
|
</ItemDefinitionGroup>
|
|
<ItemGroup>
|
|
<FilesToPackage Include="$(TargetPath)" />
|
|
</ItemGroup>
|
|
<ItemGroup>
|
|
<ClCompile Include="..\..\src\shared\ku\posix.c" />
|
|
<ClCompile Include="..\..\src\shared\ku\uuid5.c" />
|
|
<ClCompile Include="..\..\src\sys\cleanup.c" />
|
|
<ClCompile Include="..\..\src\sys\close.c" />
|
|
<ClCompile Include="..\..\src\sys\create.c" />
|
|
<ClCompile Include="..\..\src\sys\debug.c" />
|
|
<ClCompile Include="..\..\src\sys\devctl.c" />
|
|
<ClCompile Include="..\..\src\sys\device.c" />
|
|
<ClCompile Include="..\..\src\sys\dirctl.c" />
|
|
<ClCompile Include="..\..\src\sys\driver.c" />
|
|
<ClCompile Include="..\..\src\sys\ea.c" />
|
|
<ClCompile Include="..\..\src\sys\callbacks.c" />
|
|
<ClCompile Include="..\..\src\sys\file.c" />
|
|
<ClCompile Include="..\..\src\sys\fileinfo.c" />
|
|
<ClCompile Include="..\..\src\sys\flush.c" />
|
|
<ClCompile Include="..\..\src\sys\fsctl.c" />
|
|
<ClCompile Include="..\..\src\sys\fsext.c" />
|
|
<ClCompile Include="..\..\src\sys\iop.c" />
|
|
<ClCompile Include="..\..\src\sys\ioq.c" />
|
|
<ClCompile Include="..\..\src\sys\lockctl.c" />
|
|
<ClCompile Include="..\..\src\sys\meta.c" />
|
|
<ClCompile Include="..\..\src\sys\mountdev.c" />
|
|
<ClCompile Include="..\..\src\sys\mup.c" />
|
|
<ClCompile Include="..\..\src\sys\name.c" />
|
|
<ClCompile Include="..\..\src\sys\psbuffer.c" />
|
|
<ClCompile Include="..\..\src\sys\read.c" />
|
|
<ClCompile Include="..\..\src\sys\security.c" />
|
|
<ClCompile Include="..\..\src\sys\shutdown.c" />
|
|
<ClCompile Include="..\..\src\sys\silo.c" />
|
|
<ClCompile Include="..\..\src\sys\statistics.c" />
|
|
<ClCompile Include="..\..\src\sys\trace.c" />
|
|
<ClCompile Include="..\..\src\sys\util.c" />
|
|
<ClCompile Include="..\..\src\sys\volinfo.c" />
|
|
<ClCompile Include="..\..\src\sys\volume.c" />
|
|
<ClCompile Include="..\..\src\sys\wq.c" />
|
|
<ClCompile Include="..\..\src\sys\write.c" />
|
|
</ItemGroup>
|
|
<ItemGroup>
|
|
<ClInclude Include="..\..\inc\winfsp\fsctl.h" />
|
|
<ClInclude Include="..\..\opt\fsext\inc\winfsp\fsext.h" />
|
|
<ClInclude Include="..\..\src\shared\ku\config.h" />
|
|
<ClInclude Include="..\..\src\shared\ku\library.h" />
|
|
<ClInclude Include="..\..\src\sys\driver.h" />
|
|
</ItemGroup>
|
|
<ItemGroup>
|
|
<ResourceCompile Include="..\..\src\sys\version.rc">
|
|
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">_X86_=1;i386=1;STD_CALL;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">_X86_=1;i386=1;STD_CALL;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">_WIN64;_AMD64_=1;AMD64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|x64'">_WIN64;_AMD64_=1;AMD64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
</ResourceCompile>
|
|
</ItemGroup>
|
|
<ItemGroup>
|
|
<CustomBuild Include="..\..\src\sys\driver.inf.in">
|
|
<FileType>Document</FileType>
|
|
<Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">set DriverFile=$(TargetFileName)
|
|
set Provider="$(MyCompanyName)"
|
|
set CatalogFile=driver-$(PlatformTarget).cat
|
|
|
|
setlocal EnableDelayedExpansion
|
|
if exist $(OutDir)driver-$(PlatformTarget).inf del $(OutDir)driver-$(PlatformTarget).inf
|
|
for /f "delims=" %%l in (%(FullPath)) do (
|
|
set line=%%l
|
|
echo !line! >>$(OutDir)driver-$(PlatformTarget).inf
|
|
)
|
|
|
|
stampinf -d * -v $(MyVersion) -f $(OutDir)driver-$(PlatformTarget).inf</Command>
|
|
<LinkObjects Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">false</LinkObjects>
|
|
<Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">set DriverFile=$(TargetFileName)
|
|
set Provider="$(MyCompanyName)"
|
|
set CatalogFile=driver-$(PlatformTarget).cat
|
|
|
|
setlocal EnableDelayedExpansion
|
|
if exist $(OutDir)driver-$(PlatformTarget).inf del $(OutDir)driver-$(PlatformTarget).inf
|
|
for /f "delims=" %%l in (%(FullPath)) do (
|
|
set line=%%l
|
|
echo !line! >>$(OutDir)driver-$(PlatformTarget).inf
|
|
)
|
|
|
|
stampinf -d * -v $(MyVersion) -f $(OutDir)driver-$(PlatformTarget).inf</Command>
|
|
<LinkObjects Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkObjects>
|
|
<Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">set DriverFile=$(TargetFileName)
|
|
set Provider="$(MyCompanyName)"
|
|
set CatalogFile=driver-$(PlatformTarget).cat
|
|
|
|
setlocal EnableDelayedExpansion
|
|
if exist $(OutDir)driver-$(PlatformTarget).inf del $(OutDir)driver-$(PlatformTarget).inf
|
|
for /f "delims=" %%l in (%(FullPath)) do (
|
|
set line=%%l
|
|
echo !line! >>$(OutDir)driver-$(PlatformTarget).inf
|
|
)
|
|
|
|
stampinf -d * -v $(MyVersion) -f $(OutDir)driver-$(PlatformTarget).inf</Command>
|
|
<LinkObjects Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">false</LinkObjects>
|
|
<Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">set DriverFile=$(TargetFileName)
|
|
set Provider="$(MyCompanyName)"
|
|
set CatalogFile=driver-$(PlatformTarget).cat
|
|
|
|
setlocal EnableDelayedExpansion
|
|
if exist $(OutDir)driver-$(PlatformTarget).inf del $(OutDir)driver-$(PlatformTarget).inf
|
|
for /f "delims=" %%l in (%(FullPath)) do (
|
|
set line=%%l
|
|
echo !line! >>$(OutDir)driver-$(PlatformTarget).inf
|
|
)
|
|
|
|
stampinf -d * -v $(MyVersion) -f $(OutDir)driver-$(PlatformTarget).inf</Command>
|
|
<LinkObjects Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkObjects>
|
|
<Message Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Writing driver-$(PlatformTarget).inf</Message>
|
|
<Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(OutDir)driver-$(PlatformTarget).inf</Outputs>
|
|
<Message Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Writing driver-$(PlatformTarget).inf</Message>
|
|
<Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(OutDir)driver-$(PlatformTarget).inf</Outputs>
|
|
<Message Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Writing driver-$(PlatformTarget).inf</Message>
|
|
<Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(OutDir)driver-$(PlatformTarget).inf</Outputs>
|
|
<Message Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Writing driver-$(PlatformTarget).inf</Message>
|
|
<Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(OutDir)driver-$(PlatformTarget).inf</Outputs>
|
|
</CustomBuild>
|
|
</ItemGroup>
|
|
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
|
<ImportGroup Label="ExtensionTargets">
|
|
</ImportGroup>
|
|
</Project> |