From eeade4ccca4d46177772447e18a5e7055ec3093e Mon Sep 17 00:00:00 2001 From: Vadim Zeitlin Date: Fri, 23 Jul 2004 10:38:25 +0000 Subject: [PATCH] added wxSUBRELEAS_NUMBER and macro to check for it git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@28420 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- docs/latex/wx/function.tex | 24 +++++++++++++++++++----- include/wx/version.h | 15 ++++++++++++--- 2 files changed, 31 insertions(+), 8 deletions(-) diff --git a/docs/latex/wx/function.tex b/docs/latex/wx/function.tex index 8a74f3974e..5d553b30d0 100644 --- a/docs/latex/wx/function.tex +++ b/docs/latex/wx/function.tex @@ -38,6 +38,7 @@ the corresponding topic. \helpref{wxCHECK\_MSG}{wxcheckmsg}\\ \helpref{wxCHECK\_RET}{wxcheckret}\\ \helpref{wxCHECK\_VERSION}{wxcheckversion}\\ +\helpref{wxCHECK\_VERSION\_FULL}{wxcheckversionfull}\\ \helpref{wxCHECK\_W32API\_VERSION}{wxcheckw32apiversion}\\ \helpref{wxClientDisplayRect}{wxclientdisplayrect}\\ \helpref{wxClipboardOpen}{functionwxclipboardopen}\\ @@ -253,6 +254,8 @@ The following constants are defined in wxWidgets: \item {\tt wxMAJOR\_VERSION} is the major version of wxWidgets \item {\tt wxMINOR\_VERSION} is the minor version of wxWidgets \item {\tt wxRELEASE\_NUMBER} is the release number +\item {\tt wxSUBRELEASE\_NUMBER} is the subrelease number which is $0$ for all +official releases \end{itemize} For example, the values or these constants for wxWidgets 2.1.15 are 2, 1 and @@ -263,11 +266,23 @@ the full wxWidgets version and {\tt wxVERSION\_NUMBER} is a combination of the three version numbers above: for 2.1.15, it is 2115 and it is 2200 for wxWidgets 2.2. +The subrelease number is only used for the sources in between official releases +and so normally is not useful. + \wxheading{Include files} or +\membersection{wxCHECK\_GCC\_VERSION}\label{wxcheckgccversion} + +\func{bool}{wxCHECK\_GCC\_VERSION}{\param{}{major, minor, release}} + +Returns $1$ if the compiler being used to compile the code is GNU C++ +compiler (g++) version major.minor.release or greater. Otherwise, and also if +the compiler is not GNU C++ at all, returns $0$. + + \membersection{wxCHECK\_VERSION}\label{wxcheckversion} \func{bool}{wxCHECK\_VERSION}{\param{}{major, minor, release}} @@ -291,13 +306,12 @@ the following can be done: \end{verbatim} -\membersection{wxCHECK\_GCC\_VERSION}\label{wxcheckgccversion} +\membersection{wxCHECK\_VERSION\_FULL}\label{wxcheckversionfull} -\func{bool}{wxCHECK\_GCC\_VERSION}{\param{}{major, minor, release}} +\func{bool}{wxCHECK\_VERSION\_FULL}{\param{}{major, minor, release, subrel}} -Returns $1$ if the compiler being used to compile the code is GNU C++ -compiler (g++) version major.minor.release or greater. Otherwise, and also if -the compiler is not GNU C++ at all, returns $0$. +Same as \helpref{wxCHECK\_VERSION}{wxcheckversion} but also checks that +\texttt{wxSUBRELEASE\_NUMBER} is at least \arg{subrel}. \membersection{wxCHECK\_W32API\_VERSION}\label{wxcheckw32apiversion} diff --git a/include/wx/version.h b/include/wx/version.h index 046280bb18..16c3af33fe 100644 --- a/include/wx/version.h +++ b/include/wx/version.h @@ -19,9 +19,10 @@ /* NB: this file is parsed by Perl code in tmake templates in distrib/msw/tmake */ /* so don't change its format too much or they could break */ -#define wxMAJOR_VERSION 2 -#define wxMINOR_VERSION 5 -#define wxRELEASE_NUMBER 2 +#define wxMAJOR_VERSION 2 +#define wxMINOR_VERSION 5 +#define wxRELEASE_NUMBER 2 +#define wxSUBRELEASE_NUMBER 1 #define wxVERSION_STRING _T("wxWidgets 2.5.2") /* nothing to update below this line when updating the version */ @@ -48,5 +49,13 @@ (wxMAJOR_VERSION == (major) && wxMINOR_VERSION > (minor)) || \ (wxMAJOR_VERSION == (major) && wxMINOR_VERSION == (minor) && wxRELEASE_NUMBER >= (release))) +/* the same but check the subrelease also */ +#define wxCHECK_VERSION_FULL(major,minor,release,subrel) \ + wxCHECK_VERSION(major, minor, release) && \ + ((major) != wxMAJOR_VERSION || \ + (minor) != wxMINOR_VERSION || \ + (release) != wxRELEASE_NUMBER || \ + (subrel) >= wxSUBRELEASE_NUMBER) + #endif /* _WX_VERSION_H_ */ -- 2.45.2