/* W32 resources for .dll */

#include <winresrc.h>

LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
VS_VERSION_INFO VERSIONINFO
  FILEVERSION 0,9,42,0
  PRODUCTVERSION 0,9,42,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", "0.9.42\0"
            VALUE "FileVersion", "0.9.42\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
