libmicrohttpd

HTTP/1.x server C library (MHD 1.x, stable)
Log | Files | Refs | Submodules | README | LICENSE

commit f52cd063f107d39fb14e4e3830666051321f403d
parent 7edd1902a3fadbec9045ac481301f92142f44e36
Author: Evgeny Grin (Karlson2k) <k2k@narod.ru>
Date:   Sun,  4 Jan 2015 15:59:53 +0000

[w32] Use .dll resource for VC project

Diffstat:
MMakefile.am | 3++-
Mconfigure.ac | 1+
Msrc/microhttpd/microhttpd_dll_res.rc.in | 4++--
Aw32/VS2013/gen_dll_res.ps1 | 38++++++++++++++++++++++++++++++++++++++
Mw32/VS2013/libmicrohttpd.vcxproj | 45++++++++++++++++++++++++++++++++++++++++++---
Mw32/VS2013/libmicrohttpd.vcxproj.filters | 14++++++++++++++
Aw32/VS2013/microhttpd_dll_res_vc.rc.in | 42++++++++++++++++++++++++++++++++++++++++++
7 files changed, 141 insertions(+), 6 deletions(-)

diff --git a/Makefile.am b/Makefile.am @@ -2,7 +2,8 @@ ACLOCAL_AMFLAGS = -I m4 SUBDIRS = contrib src m4 . EXTRA_DIST = acinclude.m4 libmicrohttpd.pc.in libmicrospdy.pc.in \ w32/VS2013/libmicrohttpd.sln w32/VS2013/libmicrohttpd.vcxproj w32/VS2013/libmicrohttpd.vcxproj.filters \ - w32/VS2013/hellobrowser.vcxproj w32/VS2013/hellobrowser.vcxproj.filters w32/VS2013/MHD_config.h + w32/VS2013/hellobrowser.vcxproj w32/VS2013/hellobrowser.vcxproj.filters w32/VS2013/MHD_config.h \ + w32/VS2013/gen_dll_res.ps1 w32/VS2013/microhttpd_dll_res_vc.rc.in w32/VS2013/microhttpd_dll_res_vc.rc pkgconfigdir = $(libdir)/pkgconfig pkgconfig_DATA = libmicrohttpd.pc libmicrospdy.pc diff --git a/configure.ac b/configure.ac @@ -770,6 +770,7 @@ AC_SUBST(LDFLAGS) AC_CONFIG_FILES([ libmicrohttpd.pc libmicrospdy.pc +w32/VS2013/microhttpd_dll_res_vc.rc Makefile contrib/Makefile doc/Makefile diff --git a/src/microhttpd/microhttpd_dll_res.rc.in b/src/microhttpd/microhttpd_dll_res.rc.in @@ -19,11 +19,11 @@ BEGIN VALUE "ProductName", "GNU libmicrohttpd\0" VALUE "ProductVersion", "@PACKAGE_VERSION@\0" VALUE "FileVersion", "@PACKAGE_VERSION@\0" - VALUE "FileDescription", "GNU libmicrohttpd dll for Windows\0" + VALUE "FileDescription", "GNU libmicrohttpd dll for Windows (GCC build)\0" VALUE "InternalName", "libmicrohttpd\0" VALUE "OriginalFilename", "libmicrohttpd.dll\0" VALUE "CompanyName", "Free Software Foundation\0" - VALUE "LegalCopyright", "Copyright (C) 2007-2014 Christian Grothoff and project contributors\0" + VALUE "LegalCopyright", "Copyright (C) 2007-2015 Christian Grothoff and project contributors\0" VALUE "Comments", "http://www.gnu.org/software/libmicrohttpd/\0" END END diff --git a/w32/VS2013/gen_dll_res.ps1 b/w32/VS2013/gen_dll_res.ps1 @@ -0,0 +1,38 @@ +param ([string]$BasePath = ".\") + +$Host.SetShouldExit(111) # Set non-zero return code until task successfully finished +$ErrorActionPreference = "Stop" # Stop on any error + +Remove-Variable MHD_ver,MHD_ver_major,MHD_ver_minor,MHD_ver_patchlev -ErrorAction:SilentlyContinue + +Write-Output "Processing: ${BasePath}..\..\configure.ac" +foreach($line in Get-Content "${BasePath}..\..\configure.ac") +{ + if ($line -match '^AC_INIT\(\[libmicrohttpd\],\[((\d+).(\d+).(\d+))\]') + { + [string]$MHD_ver = $Matches[1].ToString() + [string]$MHD_ver_major = $Matches[2].ToString() + [string]$MHD_ver_minor = $Matches[3].ToString() + [string]$MHD_ver_patchlev = $Matches[4].ToString() + break + } +} +if ("$MHD_ver" -eq "" -or "$MHD_ver_major" -eq "" -or "$MHD_ver_minor" -eq "" -or "$MHD_ver_patchlev" -eq "") +{ + Throw "Can't find MHD version in ${BasePath}..\..\configure.ac" +} + +Write-Output "Detected MHD version: $MHD_ver" + +Write-Output "Generating ${BasePath}microhttpd_dll_res_vc.rc" +Get-Content "${BasePath}microhttpd_dll_res_vc.rc.in" | ForEach-Object { + $_ -replace '@PACKAGE_VERSION_MAJOR@',"$MHD_ver_major" ` + -replace '@PACKAGE_VERSION_MINOR@', "$MHD_ver_minor" ` + -replace '@PACKAGE_VERSION_SUBMINOR@', "$MHD_ver_patchlev" ` + -replace '@PACKAGE_VERSION@', "$MHD_ver" +} | Out-File -FilePath "${BasePath}microhttpd_dll_res_vc.rc" -Force + +$Host.SetShouldExit(0) # Reset return code + +Write-Output "${BasePath}microhttpd_dll_res_vc.rc was generated " +exit 0 # Exit with success code diff --git a/w32/VS2013/libmicrohttpd.vcxproj b/w32/VS2013/libmicrohttpd.vcxproj @@ -65,6 +65,31 @@ <ClInclude Include="..\..\src\microhttpd\tsearch.h" /> <ClInclude Include="MHD_config.h" /> </ItemGroup> + <ItemGroup> + <ResourceCompile Include="microhttpd_dll_res_vc.rc"> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release-static|Win32'">true</ExcludedFromBuild> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug-static|Win32'">true</ExcludedFromBuild> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release-static|x64'">true</ExcludedFromBuild> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug-static|x64'">true</ExcludedFromBuild> + </ResourceCompile> + </ItemGroup> + <ItemGroup> + <CustomBuild Include="microhttpd_dll_res_vc.rc.in"> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release-static|Win32'">true</ExcludedFromBuild> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug-static|Win32'">true</ExcludedFromBuild> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release-static|x64'">true</ExcludedFromBuild> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug-static|x64'">true</ExcludedFromBuild> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug-dll|Win32'">false</ExcludedFromBuild> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug-dll|x64'">false</ExcludedFromBuild> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release-dll|Win32'">false</ExcludedFromBuild> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release-dll|x64'">false</ExcludedFromBuild> + <FileType>Document</FileType> + <Command>PowerShell.exe -Version 3.0 -NonInteractive -NoProfile -ExecutionPolicy Bypass -File "$(SolutionDir)gen_dll_res.ps1" -BasePath $(SolutionDir)</Command> + <Message>Generating .dll description resource</Message> + <Outputs>$(SolutionDir)microhttpd_dll_res_vc.rc</Outputs> + <AdditionalInputs>$(SolutionDir)gen_dll_res.ps1;$(SolutionDir).\..\..\configure.ac</AdditionalInputs> + </CustomBuild> + </ItemGroup> <PropertyGroup Label="Globals"> <ProjectGuid>{9CFB0342-A9E7-483E-BEE5-A1DE22584C5A}</ProjectGuid> <Keyword>Win32Proj</Keyword> @@ -156,6 +181,7 @@ <OutDir>$(SolutionDir)\Output\</OutDir> <IntDir>$(SolutionDir)$(ProjectName)\$(Configuration)\</IntDir> <TargetName>$(ProjectName)_d</TargetName> + <CustomBuildBeforeTargets>ResourceCompile</CustomBuildBeforeTargets> <CustomBuildAfterTargets>BuildLink</CustomBuildAfterTargets> </PropertyGroup> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug-dll|Win32'"> @@ -163,7 +189,7 @@ <OutDir>$(SolutionDir)\Output\</OutDir> <IntDir>$(SolutionDir)$(ProjectName)\$(Configuration)\</IntDir> <TargetName>$(ProjectName)-dll_d</TargetName> - <CustomBuildAfterTargets>BuildLink</CustomBuildAfterTargets> + <CustomBuildBeforeTargets>ResourceCompile</CustomBuildBeforeTargets> </PropertyGroup> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug-static|x64'"> <TargetName>$(ProjectName)_d</TargetName> @@ -174,10 +200,10 @@ </PropertyGroup> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug-dll|x64'"> <TargetName>$(ProjectName)-dll_d</TargetName> - <CustomBuildAfterTargets>BuildLink</CustomBuildAfterTargets> <IncludePath>$(SolutionDir)..\..\src\include;$(SolutionDir);$(IncludePath)</IncludePath> <IntDir>$(SolutionDir)$(ProjectName)\$(Configuration)\$(Platform)\</IntDir> <OutDir>$(SolutionDir)\Output\$(Platform)\</OutDir> + <CustomBuildBeforeTargets>ResourceCompile</CustomBuildBeforeTargets> </PropertyGroup> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release-static|Win32'"> <OutDir>$(SolutionDir)\Output\</OutDir> @@ -189,9 +215,9 @@ <OutDir>$(SolutionDir)\Output\</OutDir> <IntDir>$(SolutionDir)$(ProjectName)\$(Configuration)\</IntDir> <IncludePath>$(SolutionDir)..\..\src\include;$(SolutionDir);$(IncludePath)</IncludePath> - <CustomBuildAfterTargets>BuildLink</CustomBuildAfterTargets> <PostBuildEventUseInBuild>false</PostBuildEventUseInBuild> <TargetName>$(ProjectName)-dll</TargetName> + <CustomBuildBeforeTargets>ResourceCompile</CustomBuildBeforeTargets> </PropertyGroup> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release-static|x64'"> <IncludePath>$(SolutionDir)..\..\src\include;$(SolutionDir);$(IncludePath)</IncludePath> @@ -206,6 +232,7 @@ <IntDir>$(SolutionDir)$(ProjectName)\$(Configuration)\$(Platform)\</IntDir> <PostBuildEventUseInBuild>false</PostBuildEventUseInBuild> <TargetName>$(ProjectName)-dll</TargetName> + <CustomBuildBeforeTargets>ResourceCompile</CustomBuildBeforeTargets> </PropertyGroup> <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug-static|Win32'"> <ClCompile> @@ -263,6 +290,9 @@ <Outputs>$(OutputPath)microhttpd.h;%(Outputs)</Outputs> <Inputs>$(SolutionDir)\..\..\src\include\microhttpd.h</Inputs> </CustomBuildStep> + <ResourceCompile> + <PreprocessorDefinitions>_DEBUG;_UNICODE;UNICODE;%(PreprocessorDefinitions)</PreprocessorDefinitions> + </ResourceCompile> </ItemDefinitionGroup> <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug-static|x64'"> <ClCompile> @@ -320,6 +350,9 @@ <Outputs>$(OutputPath)microhttpd.h;%(Outputs)</Outputs> <Inputs>$(SolutionDir)\..\..\src\include\microhttpd.h</Inputs> </CustomBuildStep> + <ResourceCompile> + <PreprocessorDefinitions>_DEBUG;_UNICODE;UNICODE;%(PreprocessorDefinitions)</PreprocessorDefinitions> + </ResourceCompile> </ItemDefinitionGroup> <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release-static|Win32'"> <ClCompile> @@ -401,6 +434,9 @@ <Outputs>$(OutputPath)microhttpd.h;%(Outputs)</Outputs> <Inputs>$(SolutionDir)\..\..\src\include\microhttpd.h</Inputs> </CustomBuildStep> + <ResourceCompile> + <PreprocessorDefinitions>NDEBUG;_UNICODE;UNICODE;%(PreprocessorDefinitions)</PreprocessorDefinitions> + </ResourceCompile> </ItemDefinitionGroup> <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release-static|x64'"> <ClCompile> @@ -482,6 +518,9 @@ <Outputs>$(OutputPath)microhttpd.h;%(Outputs)</Outputs> <Inputs>$(SolutionDir)\..\..\src\include\microhttpd.h</Inputs> </CustomBuildStep> + <ResourceCompile> + <PreprocessorDefinitions>NDEBUG;_UNICODE;UNICODE;%(PreprocessorDefinitions)</PreprocessorDefinitions> + </ResourceCompile> </ItemDefinitionGroup> <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> <ImportGroup Label="ExtensionTargets"> diff --git a/w32/VS2013/libmicrohttpd.vcxproj.filters b/w32/VS2013/libmicrohttpd.vcxproj.filters @@ -16,6 +16,10 @@ <Filter Include="Source Files\platform_interface"> <UniqueIdentifier>{af799bf7-9787-4134-8e56-9e5aae50c7e3}</UniqueIdentifier> </Filter> + <Filter Include="Template Files"> + <UniqueIdentifier>{df5ad836-e372-437b-a0e3-299d3675d6b4}</UniqueIdentifier> + <Extensions>in</Extensions> + </Filter> </ItemGroup> <ItemGroup> <ClCompile Include="..\..\src\microhttpd\base64.c"> @@ -102,4 +106,14 @@ <Filter>Header Files</Filter> </ClInclude> </ItemGroup> + <ItemGroup> + <ResourceCompile Include="microhttpd_dll_res_vc.rc"> + <Filter>Resource Files</Filter> + </ResourceCompile> + </ItemGroup> + <ItemGroup> + <CustomBuild Include="microhttpd_dll_res_vc.rc.in"> + <Filter>Template Files</Filter> + </CustomBuild> + </ItemGroup> </Project> \ No newline at end of file diff --git a/w32/VS2013/microhttpd_dll_res_vc.rc.in b/w32/VS2013/microhttpd_dll_res_vc.rc.in @@ -0,0 +1,42 @@ +/* W32 resources for .dll */ + +#include <winresrc.h> + +LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US +VS_VERSION_INFO VERSIONINFO + FILEVERSION @PACKAGE_VERSION_MAJOR@,@PACKAGE_VERSION_MINOR@,@PACKAGE_VERSION_SUBMINOR@,0 + PRODUCTVERSION @PACKAGE_VERSION_MAJOR@,@PACKAGE_VERSION_MINOR@,@PACKAGE_VERSION_SUBMINOR@,0 + FILEFLAGSMASK VS_FFI_FILEFLAGSMASK +#if defined(_DEBUG) + FILEFLAGS VS_FF_DEBUG +#else + FILEFLAGS 0 +#endif + FILEOS VOS_NT_WINDOWS32 + FILETYPE VFT_DLL + FILESUBTYPE VFT2_UNKNOWN +BEGIN + BLOCK "StringFileInfo" + BEGIN + BLOCK "04090000" /* Lang = US English, Charset = ASCII */ + BEGIN + VALUE "ProductName", "GNU libmicrohttpd\0" + VALUE "ProductVersion", "@PACKAGE_VERSION@\0" + VALUE "FileVersion", "@PACKAGE_VERSION@\0" + VALUE "FileDescription", "GNU libmicrohttpd dll for Windows (VC build)\0" + VALUE "InternalName", "libmicrohttpd\0" +#if defined(_DEBUG) + VALUE "OriginalFilename", "libmicrohttpd_d.dll\0" +#else + VALUE "OriginalFilename", "libmicrohttpd.dll\0" +#endif + VALUE "CompanyName", "Free Software Foundation\0" + VALUE "LegalCopyright", "Copyright (C) 2007-2015 Christian Grothoff and project contributors\0" + VALUE "Comments", "http://www.gnu.org/software/libmicrohttpd/\0" + END + END + BLOCK "VarFileInfo" + BEGIN + VALUE "Translation", 0x0409, 0 /* US English, ASCII */ + END +END