2
0

uni_version.h 3.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100
  1. /*
  2. * Copyright 2008-2014 Arsen Chaloyan
  3. *
  4. * Licensed under the Apache License, Version 2.0 (the "License");
  5. * you may not use this file except in compliance with the License.
  6. * You may obtain a copy of the License at
  7. *
  8. * http://www.apache.org/licenses/LICENSE-2.0
  9. *
  10. * Unless required by applicable law or agreed to in writing, software
  11. * distributed under the License is distributed on an "AS IS" BASIS,
  12. * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  13. * See the License for the specific language governing permissions and
  14. * limitations under the License.
  15. *
  16. * $Id: uni_version.h 2139 2014-07-07 05:06:19Z achaloyan@gmail.com $
  17. */
  18. #ifndef UNI_VERSION_H
  19. #define UNI_VERSION_H
  20. /**
  21. * @file uni_version.h
  22. * @brief UniMRCP Version
  23. *
  24. * UniMRCP uses a version numbering scheme derived from the APR project.
  25. *
  26. * <a href="http://apr.apache.org/versioning.html"> APR's Version Numbering </a>
  27. */
  28. /** major version
  29. * Major API changes that could cause compatibility problems for older
  30. * programs such as structure size changes. No binary compatibility is
  31. * possible across a change in the major version.
  32. */
  33. #define UNI_MAJOR_VERSION 1
  34. /** minor version
  35. * Minor API changes that do not cause binary compatibility problems.
  36. * Reset to 0 when upgrading UNI_MAJOR_VERSION.
  37. */
  38. #define UNI_MINOR_VERSION 2
  39. /** patch level
  40. * The Patch Level never includes API changes, simply bug fixes.
  41. * Reset to 0 when upgrading UNI_MINOR_VERSION.
  42. */
  43. #define UNI_PATCH_VERSION 0
  44. /** Check at compile time if the version of UniMRCP is at least a certain level. */
  45. #define UNI_VERSION_AT_LEAST(major,minor,patch) \
  46. (((major) < UNI_MAJOR_VERSION) \
  47. || ((major) == UNI_MAJOR_VERSION && (minor) < UNI_MINOR_VERSION) \
  48. || ((major) == UNI_MAJOR_VERSION && (minor) == UNI_MINOR_VERSION && (patch) <= UNI_PATCH_VERSION))
  49. /** Properly quote a value as a string in the C preprocessor. */
  50. #define UNI_STRINGIFY(n) UNI_STRINGIFY_HELPER(n)
  51. /** Helper macro for UNI_STRINGIFY. */
  52. #define UNI_STRINGIFY_HELPER(n) #n
  53. /** The formatted string of UniMRCP's version. */
  54. #define UNI_VERSION_STRING \
  55. UNI_STRINGIFY(UNI_MAJOR_VERSION) "." \
  56. UNI_STRINGIFY(UNI_MINOR_VERSION) "." \
  57. UNI_STRINGIFY(UNI_PATCH_VERSION)
  58. /** An alternative formatted string of UniMRCP's version
  59. macro for Win32 .rc files using numeric CSV representation. */
  60. #define UNI_VERSION_STRING_CSV UNI_MAJOR_VERSION ##, \
  61. ##UNI_MINOR_VERSION ##, \
  62. ##UNI_PATCH_VERSION
  63. /** The Copyright. */
  64. #define UNI_COPYRIGHT "Copyright 2008-2014 Arsen Chaloyan"
  65. /*
  66. * Use the brief description of the license for Win32 .rc files;
  67. * otherwise, use the full description.
  68. */
  69. #if defined(APSTUDIO_INVOKED) || defined(RC_INVOKED)
  70. /** The License (brief description). */
  71. #define UNI_LICENSE "The Apache License, Version 2.0"
  72. #else
  73. /** The License (full description). */
  74. #define UNI_LICENSE \
  75. " * Licensed under the Apache License, Version 2.0 (the ""License"");\n" \
  76. " * you may not use this file except in compliance with the License.\n" \
  77. " * You may obtain a copy of the License at\n" \
  78. " * \n" \
  79. " * http://www.apache.org/licenses/LICENSE-2.0 \n" \
  80. " * \n" \
  81. " * Unless required by applicable law or agreed to in writing, software\n" \
  82. " * distributed under the License is distributed on an ""AS IS"" BASIS,\n" \
  83. " * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n" \
  84. " * See the License for the specific language governing permissions and\n" \
  85. " * limitations under the License.\n"
  86. #endif /* APSTUDIO_INVOKED || RC_INVOKED */
  87. #endif /* UNI_VERSION_H */