This is the mail archive of the cygwin-developers@sourceware.cygnus.com mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: Good suggestion from the Net...


Chris Faylor <cgf@cygnus.com> writes:
> 
> I'm confused.  How does this differ from mkvers.sh?  What kind of
> version information is being looked for that is not already in
> cygwin1.dll?  Are you talking about adding something in the version
> fields of the DLL itself?

Windows installers and various other tools look inside of the file 
for version resource, and can use that for example not to overwrite 
a newer version and so on.

You can look at the version resource with the explorer as well (except
for the w95 original, which needed a fix): right click on the dll, 
pick properties and then select the version tab (which only exists
if there is a version resource defined).

> FWIW, the command "grep '%% ' cygwin1.dll" should display all sorts of
> interesting stuff.  Adding this to cygcheck is one of those round tuit
> type of things.

Here's my current copy of cygwin_dll.rc (if you want it, I'll post the
makefile additions as well). I'd like to generate it automatically to
include the build date as well, but we can always pass that from the
Makefile as a macro.

=== CUT FROM HERE

  #include <winver.h>
  #include <cygwin/version.h>

  #define STRINGIFY1(x)   #x
  #define STRINGIFY(x)    STRINGIFY1(x)

  #define CYGWIN_VERSION \
    STRINGIFY(CYGWIN_VERSION_DLL_MAJOR) "." \
    STRINGIFY(CYGWIN_VERSION_DLL_MINOR)
  #define CYGWIN_DLL_NAME "cygwin1.dll"

  VS_VERSION_INFO VERSIONINFO
    FILEVERSION    CYGWIN_VERSION_DLL_MAJOR,CYGWIN_VERSION_DLL_MINOR,0,0
    PRODUCTVERSION CYGWIN_VERSION_DLL_MAJOR,CYGWIN_VERSION_DLL_MINOR,0,0
    FILEFLAGSMASK  0x3fL
  #ifdef DEBUGGING
    FILEFLAGS      VS_FF_DEBUG
  #else
    FILEFLAGS      0x0L
  #endif
    FILEOS         VOS__WINDOWS32
    FILETYPE       VFT_DLL
    FILESUBTYPE    0x0L
  BEGIN
    BLOCK "StringFileInfo"
    BEGIN
      BLOCK "040904B0"
      BEGIN
	VALUE "CompanyName", "Cygnus Solutions"
	VALUE "FileDescription", "Cygwin\256 POSIX Emulation DLL"
	VALUE "FileVersion", CYGWIN_VERSION
	VALUE "InternalName", CYGWIN_DLL_NAME
	VALUE "LegalCopyright", "Copyright \251 Cygnus Solutions. 1996-1999"
	VALUE "OriginalFilename", CYGWIN_DLL_NAME
	VALUE "ProductName", "Cygwin"
	VALUE "ProductVersion", CYGWIN_VERSION
      END
    END
    BLOCK "VarFileInfo"
    BEGIN
        VALUE "Translation", 0x409, 1200
    END
  END

======================= END

Regards,
Mumit


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]