config.h.cmake 4.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160
  1. /*
  2. * Copyright Institute of Communication and Computer Systems (ICCS)
  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. */
  17. /**
  18. * @file dmmlib/config.h
  19. * @author Ioannis Koutras (joko@microlab.ntua.gr)
  20. * @date December 2012
  21. * @brief Macro defines for dmmlib.
  22. *
  23. * Warning: This is an automatically-generated file, you have to configure,
  24. * compile and install dmmlib again in order to change the following macros.
  25. */
  26. #ifndef DMM_CONFIG_H
  27. #define DMM_CONFIG_H
  28. /* Version Numbers */
  29. /**
  30. * @brief The main version of dmmlib
  31. *
  32. * This version is checked at library initialization time. A major version match
  33. * is required in order to properly setup the runtime communication, otherwise
  34. * the library initilization shall fail.
  35. */
  36. #define DMMLIB_VERSION_MAJOR @APPLICATION_VERSION_MAJOR@
  37. /**
  38. * @brief The revision version of dmmlib
  39. *
  40. * The minor version is increased at each internal library update which does not
  41. * cause any backward incompatibility.
  42. */
  43. #define DMMLIB_VERSION_MINOR @APPLICATION_VERSION_MINOR@
  44. /* General Settings */
  45. /** Support for freelist-organized raw blocks */
  46. #cmakedefine FL_RB_ONLY
  47. /** Support for bitmap-organized raw blocks */
  48. #cmakedefine BITMAP_RB_ONLY
  49. /** Default raw block size */
  50. #cmakedefine SYS_ALLOC_SIZE @SYS_ALLOC_SIZE@
  51. /** Support for locks */
  52. #cmakedefine HAVE_LOCKS
  53. /** Use a trylock on malloc() */
  54. #cmakedefine TRYLOCK_ON_MALLOC
  55. /* Free-list Settings */
  56. #ifdef FL_RB_ONLY
  57. /* Fitting Policies */
  58. /** Support for best-fit policy */
  59. #cmakedefine BEST_FIT
  60. /** Support for exact-fit policy */
  61. #cmakedefine EXACT_FIT
  62. /** Support for first-fit policy */
  63. #cmakedefine FIRST_FIT
  64. /** Support for good-fit policy */
  65. #cmakedefine GOOD_FIT
  66. /** Good-fit percentage */
  67. #cmakedefine GOOD_FIT_PERCENTAGE @GOOD_FIT_PERCENTAGE@
  68. /* Ordering Policies */
  69. /** Support for address-ordering */
  70. #cmakedefine ADDRESS_ORDERED
  71. /** Support for FIFO-ordering */
  72. #cmakedefine FIFO_ORDERED
  73. /** Support for LIFO-ordering */
  74. #cmakedefine LIFO_ORDERED
  75. /** Support for size-ordering */
  76. #cmakedefine SIZE_ORDERED
  77. /* Coalescing Settings */
  78. /** Support of coalescing of fixed size */
  79. #cmakedefine COALESCING_FIXED
  80. /** Support of coalescing of variable size */
  81. #cmakedefine COALESCING_VARIABLE
  82. /** Default maximum coalescing size */
  83. #cmakedefine MAX_COAL_SIZE @MAX_COAL_SIZE@
  84. /* Splitting Settings */
  85. /** Support of splitting of fixed size */
  86. #cmakedefine SPLITTING_FIXED
  87. /** Support of splitting of variable size */
  88. #cmakedefine SPLITTING_VARIABLE
  89. /** Default minimum splitting size */
  90. #cmakedefine MIN_SPLIT_SIZE @MIN_SPLIT_SIZE@
  91. /** Support to coalesce after splitting */
  92. #cmakedefine COALESCE_AFTER_SPLIT
  93. #endif /* FL_RB_ONLY */
  94. /* Bitmap Settings */
  95. #ifdef BITMAP_RB_ONLY
  96. /** How many bytes per cell should be used */
  97. #cmakedefine BITMAP_RESOLUTION @BITMAP_RESOLUTION@
  98. #endif /* BITMAP_RB_ONLY */
  99. /** Keep track of the requested size */
  100. #cmakedefine REQUEST_SIZE_INFO
  101. /** Support for statistics per raw block */
  102. #cmakedefine WITH_RAWBLOCK_STATS
  103. /** Support for global statistics */
  104. #cmakedefine WITH_ALLOCATOR_STATS
  105. /** Support for knobs */
  106. #cmakedefine WITH_KNOBS
  107. /** Support for debugging functions */
  108. #cmakedefine WITH_DEBUG
  109. /** Support for memory trace */
  110. #cmakedefine WITH_MEM_TRACE
  111. /** Support for statistics trace */
  112. #cmakedefine WITH_STATS_TRACE
  113. /** Support for realloc() calls */
  114. #cmakedefine WITH_REALLOC
  115. /** Support to parse dmmlib environment variables */
  116. #cmakedefine PARSE_ENV
  117. /** Support for memalign() calls */
  118. #cmakedefine WITH_MEMALIGN
  119. /** Make raw block requests for sizes that are multiple of the pagesize */
  120. #cmakedefine PAGESIZE_ALIGN
  121. /** System pagesize */
  122. #cmakedefine SYS_PAGESIZE @SYS_PAGESIZE@
  123. /** Data alignment */
  124. #cmakedefine DMM_DATA_ALIGNMENT @DMM_DATA_ALIGNMENT@
  125. #endif /* DMM_CONFIG_H */