More on licensing.

git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@13807 27425a3e-05d8-49a3-a47f-9c15f0e5edd8
This commit is contained in:
Giovanni Di Sirio 2020-08-10 12:03:52 +00:00
parent 1776899465
commit b2290c2e13
3 changed files with 26 additions and 14 deletions

View File

@ -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. */
/*===========================================================================*/

View File

@ -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
/* 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"
#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_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

View File

@ -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. */