[Spice-devel] [PATCH qxl-wddm-dod 1/1] Configurable version information in binary and INF
Yuri Benditovich
yuri.benditovich at daynix.com
Tue Nov 1 18:03:06 UTC 2016
QQL - yes, seems like typo, will fix it
Updating the version: typically in external configuration, like brew spec
file
0.13 - next version according to latest discussion in [spice-list]
100 - designating win 10.0
6 - just because we do not have anything other clearly defined.
On Tue, Nov 1, 2016 at 6:47 PM, Frediano Ziglio <fziglio at redhat.com> wrote:
> >
> > From: Yuri Benditovich <yuri.benditovich at daynix.com>
> >
> > Version information in INF file is configured by
> > environment variables.
> > The same version information placed in driver binary.
> > To set required version from external build engine,
> > define following environment variables:
> > _VERSION_V1_, _VERSION_V2_, _VERSION_V3_, _VERSION_V4_
> >
>
> Why not VERSION_Vx ? _VERSION_Vx_ should not be used in C99.
>
> > Signed-off-by: Yuri Benditovich <yuri.benditovich at daynix.com>
> > ---
> > qxldod/Version.props | 33 +++++++++++++++++++++++++++++++++
> > qxldod/qxldod.rc | 32 ++++++++++++++++++++++++++++++++
> > qxldod/qxldod.vcxproj | 1 +
> > 3 files changed, 66 insertions(+)
> > create mode 100644 qxldod/Version.props
> >
> > diff --git a/qxldod/Version.props b/qxldod/Version.props
> > new file mode 100644
> > index 0000000..4ea65e9
> > --- /dev/null
> > +++ b/qxldod/Version.props
> > @@ -0,0 +1,33 @@
> > +<!--
> > +***********************************************************
> ************************************
> > +Version.props
> > +Version definitions used by the driver.
> > +***********************************************************
> ************************************
> > +-->
> > +
> > +<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003"
> > TreatAsLocalProperty="Platform">
> > + <PropertyGroup>
> > + <!-- First component of driver version -->
> > + <_VERSION_V1_ Condition="'$(_VERSION_V1_)' == ''">100</_VERSION_V1_>
> > + <!-- Second component of driver version -->
> > + <_VERSION_V2_ Condition="'$(_VERSION_V2_)' == ''">6</_VERSION_V2_>
> > + <!-- Third component of driver version -->
> > + <_VERSION_V3_ Condition="'$(_VERSION_V3_)' == ''">0</_VERSION_V3_>
> > + <!-- Fourth component of driver version -->
> > + <_VERSION_V4_ Condition="'$(_VERSION_V4_)' == ''">13</_VERSION_V4_>
> > +
> > <STAMPINF_VERSION>$(_VERSION_V1_).$(_VERSION_V2_).$(_
> VERSION_V3_).$(_VERSION_V4_)</STAMPINF_VERSION>
> > + </PropertyGroup>
> > +
> > + <!-- Version specs for C preprocessor, resource compiler, and
> stampinf -->
> > + <ItemDefinitionGroup>
> > + <ClCompile>
> > +
> > <PreprocessorDefinitions>_VERSION_V3_=$(_VERSION_V3_);_
> VERSION_V4_=$(_VERSION_V4_);_VERSION_V1_=$(_VERSION_V1_);_
> VERSION_V2_=$(_VERSION_V2_);%(PreprocessorDefinitions)</
> PreprocessorDefinitions>
> > + </ClCompile>
> > + <ResourceCompile>
> > +
> > <PreprocessorDefinitions>_VERSION_V3_=$(_VERSION_V3_);_
> VERSION_V4_=$(_VERSION_V4_);_VERSION_V1_=$(_VERSION_V1_);_
> VERSION_V2_=$(_VERSION_V2_);%(PreprocessorDefinitions)</
> PreprocessorDefinitions>
> > + </ResourceCompile>
> > + <Inf>
> > + <TimeStamp>$(STAMPINF_VERSION)</TimeStamp>
> > + </Inf>
> > + </ItemDefinitionGroup>
> > +</Project>
> > diff --git a/qxldod/qxldod.rc b/qxldod/qxldod.rc
> > index 7d7c326..8a7cafd 100755
> > --- a/qxldod/qxldod.rc
> > +++ b/qxldod/qxldod.rc
> > @@ -2,11 +2,43 @@
> >
> > #include <ntverp.h>
> >
> > +#ifdef VER_PRODUCTBUILD
> > +#undef VER_PRODUCTBUILD
> > +#endif
> > +#ifdef VER_PRODUCTBUILD_QFE
> > +#undef VER_PRODUCTBUILD_QFE
> > +#endif
> > +#ifdef VER_PRODUCTNAME_STR
> > +#undef VER_PRODUCTNAME_STR
> > +#endif
> > +#ifdef VER_PRODUCTMAJORVERSION
> > +#undef VER_PRODUCTMAJORVERSION
> > +#endif
> > +#ifdef VER_PRODUCTMINORVERSION
> > +#undef VER_PRODUCTMINORVERSION
> > +#endif
> > +#ifdef VER_COMPANYNAME_STR
> > +#undef VER_COMPANYNAME_STR
> > +#endif
> > +#ifdef VER_LEGALTRADEMARKS_STR
> > +#undef VER_LEGALTRADEMARKS_STR
> > +#endif
>
> I would just undef them, it's not a problem undefining something not
> defined.
>
> > +
> > +#define VER_COMPANYNAME_STR "Red Hat Inc."
> > +#define VER_LEGALTRADEMARKS_STR ""
> > +#define VER_LEGALCOPYRIGHT_STR "Copyright (C) 2008-2016 Red Hat
> Inc."
> > +
> > +#define VER_PRODUCTMAJORVERSION _VERSION_V1_
> > +#define VER_PRODUCTMINORVERSION _VERSION_V2_
> > +#define VER_PRODUCTBUILD _VERSION_V3_
> > +#define VER_PRODUCTBUILD_QFE _VERSION_V4_
> > +
> > #define VER_FILETYPE VFT_DRV
> > #define VER_FILESUBTYPE VFT2_DRV_DISPLAY
> > #define VER_FILEDESCRIPTION_STR "QQL WDDM DOD"
>
> I think should be QXL (typo ?).
>
> > #define VER_INTERNALNAME_STR "qxlod.sys"
>
> "qxldod.sys" ?
>
> > #define VER_ORIGINALFILENAME_STR "qxldod.sys"
> > +#define VER_PRODUCTNAME_STR VER_FILEDESCRIPTION_STR
> >
> > #define VER_LANGNEUTRAL
> > #include "common.ver"
> > diff --git a/qxldod/qxldod.vcxproj b/qxldod/qxldod.vcxproj
> > index 2c10158..1766a61 100755
> > --- a/qxldod/qxldod.vcxproj
> > +++ b/qxldod/qxldod.vcxproj
> > @@ -44,6 +44,7 @@
> > <DriverType>WDM</DriverType>
> > </PropertyGroup>
> > <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
> > + <Import Project="$(MSBuildProjectDirectory)\Version.props" />
> > <PropertyGroup
> > Condition="'$(Configuration)|$(Platform)'=='Win10Debug|Win32'"
> > Label="Configuration">
> > <TargetVersion>
> > </TargetVersion>
>
> Patch looks good (still to test).
> How do you plan to update the version?
> Why 100.6.0.13 as default?
>
> Frediano
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/spice-devel/attachments/20161101/8a49076d/attachment-0001.html>
More information about the Spice-devel
mailing list