From b2290c2e13d77e5c9235dda964984ab5225f4c0e Mon Sep 17 00:00:00 2001 From: Giovanni Di Sirio Date: Mon, 10 Aug 2020 12:03:52 +0000 Subject: [PATCH] More on licensing. git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@13807 27425a3e-05d8-49a3-a47f-9c15f0e5edd8 --- os/license/chcustomer.h | 9 ++++++++- os/license/chlicense.h | 29 +++++++++++++++++------------ os/license/chversion.h | 2 +- 3 files changed, 26 insertions(+), 14 deletions(-) diff --git a/os/license/chcustomer.h b/os/license/chcustomer.h index 01f381ac7..f6b948086 100644 --- a/os/license/chcustomer.h +++ b/os/license/chcustomer.h @@ -48,7 +48,7 @@ /** * @brief End-Of-Support date (yyyymm). */ -#define CH_CUSTOMER_LICENSE_EOS 209912 +#define CH_CUSTOMER_LICENSE_EOS_DATE 209912 /** * @brief Licensed branch year. @@ -98,6 +98,13 @@ /* Derived constants and error checks. */ /*===========================================================================*/ +/** + * @brief Licensed version date in numeric form (yyyymm). + */ +#define CH_CUSTOMER_LICENSE_VERSION_DATE \ + (((CH_CUSTOMER_LICENSE_VERSION_YEAR + 2000) * 100) + \ + CH_CUSTOMER_LICENSE_VERSION_MONTH) + /*===========================================================================*/ /* Module data structures and types. */ /*===========================================================================*/ diff --git a/os/license/chlicense.h b/os/license/chlicense.h index 8cc9f5031..9e13db8b1 100644 --- a/os/license/chlicense.h +++ b/os/license/chlicense.h @@ -135,8 +135,8 @@ #error "CH_CUSTOMER_ID_CODE not defined in chcustomer.h" #endif -#if !defined(CH_CUSTOMER_LICENSE_EOS) -#error "CH_CUSTOMER_LICENSE_EOS not defined in chcustomer.h" +#if !defined(CH_CUSTOMER_LICENSE_EOS_DATE) +#error "CH_CUSTOMER_LICENSE_EOS_DATE not defined in chcustomer.h" #endif #if !defined(CH_CUSTOMER_LICENSE_VERSION_YEAR) @@ -147,13 +147,17 @@ #error "CH_CUSTOMER_LICENSE_VERSION_MONTH not defined in chcustomer.h" #endif +#if !defined(CH_CUSTOMER_LICENSE_VERSION_DATE) +#error "CH_CUSTOMER_LICENSE_VERSION_DATE not defined in chcustomer.h" +#endif + #if !defined(CH_LICENSE) #error "CH_LICENSE not defined in chcustomer.h" #endif -#if (CH_CUSTOMER_LICENSE_EOS < 201201) || \ - (CH_CUSTOMER_LICENSE_EOS > 209912) -#error "invalid CH_CUSTOMER_LICENSE_EOS value in chcustomer.h" +#if (CH_CUSTOMER_LICENSE_EOS_DATE < 201201) || \ + (CH_CUSTOMER_LICENSE_EOS_DATE > 209912) +#error "invalid CH_CUSTOMER_LICENSE_EOS_DATE value in chcustomer.h" #endif #if (CH_CUSTOMER_LICENSE_VERSION_YEAR < 12) || \ @@ -166,17 +170,18 @@ #error "invalid CH_CUSTOMER_LICENSE_VERSION_MONTH value in chcustomer.h" #endif +#if (CH_CUSTOMER_LICENSE_VERSION_DATE < 201201) || \ + (CH_CUSTOMER_LICENSE_VERSION_DATE > 209912) + #error "invalid CH_CUSTOMER_LICENSE_VERSION_DATE value in chversion.h" +#endif + /* Checks on licensed versions.*/ -#if (CH_VERSION_YEAR > CH_CUSTOMER_LICENSE_VERSION_YEAR ) - #error "ChibiOS version unsupported by this license" -#elif (CH_VERSION_YEAR == CH_CUSTOMER_LICENSE_VERSION_YEAR) - #if (CH_VERSION_MONTH > CH_CUSTOMER_LICENSE_VERSION_MONTH) - #error "ChibiOS version unsupported by this license" - #endif +#if CH_VERSION_DATE > CH_CUSTOMER_LICENSE_VERSION_DATE +#error "this ChibiOS version is newer than your license, see chcustomer.h" #endif /* Checks on end-of-support date.*/ -#if CH_VERSION_DATE > CH_CUSTOMER_LICENSE_EOS +#if CH_VERSION_DATE > CH_CUSTOMER_LICENSE_EOS_DATE #error "this ChibiOS version is beyond your End-Of-Support date, see chcustomer.h" #endif diff --git a/os/license/chversion.h b/os/license/chversion.h index 35cb6f957..086ae2692 100644 --- a/os/license/chversion.h +++ b/os/license/chversion.h @@ -86,7 +86,7 @@ * @brief Current version date in numeric form (yyyymm). */ #define CH_VERSION_DATE \ - (((CH_VERSION_YEAR + 2000) * 100) + CH_CUSTOMER_LICENSE_VERSION_MONTH) + (((CH_VERSION_YEAR + 2000) * 100) + CH_VERSION_MONTH) /*===========================================================================*/ /* Module data structures and types. */