compiletools 8.2.0__tar.gz → 8.2.2__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (429) hide show
  1. {compiletools-8.2.0 → compiletools-8.2.2}/PKG-INFO +3 -3
  2. {compiletools-8.2.0 → compiletools-8.2.2}/pyproject.toml +3 -3
  3. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/README.cleanup-remote-locks.rst +1 -1
  4. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/README.create-documentation.rst +1 -1
  5. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/README.ct-backends.rst +1 -1
  6. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/README.ct-build-dynamic-library.rst +1 -1
  7. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/README.ct-build-static-library.rst +1 -1
  8. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/README.ct-build.rst +1 -1
  9. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/README.ct-cake.rst +1 -1
  10. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/README.ct-cleanup-locks.rst +1 -1
  11. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/README.ct-commandline.rst +1 -1
  12. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/README.ct-compilation-database.rst +1 -1
  13. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/README.ct-config.rst +1 -1
  14. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/README.ct-cppdeps.rst +1 -1
  15. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/README.ct-create-makefile.rst +1 -1
  16. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/README.ct-doc.rst +1 -1
  17. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/README.ct-filelist.rst +1 -1
  18. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/README.ct-findtargets.rst +1 -1
  19. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/README.ct-git-sha-report.rst +1 -1
  20. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/README.ct-gitroot.rst +1 -1
  21. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/README.ct-headertree.rst +1 -1
  22. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/README.ct-jobs.rst +1 -1
  23. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/README.ct-list-backends.rst +1 -1
  24. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/README.ct-list-variants.rst +1 -1
  25. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/README.ct-lock-helper.rst +1 -1
  26. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/README.ct-magicflags.rst +1 -1
  27. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/README.ct-release.rst +1 -1
  28. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/README.ct-timing-report.rst +1 -1
  29. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/README.ct-trim-cache.rst +1 -1
  30. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/README.ct-watch-build.rst +1 -1
  31. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/README.profile-ct-cake-worktree.rst +1 -1
  32. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/apptools.py +9 -15
  33. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/build_backend.py +25 -15
  34. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/build_context.py +0 -1
  35. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/cake.py +43 -5
  36. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/file_analyzer.py +278 -452
  37. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/filelist.py +17 -8
  38. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/findtargets.py +11 -5
  39. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/listvariants.py +11 -6
  40. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/locking.py +26 -23
  41. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/preprocessor.py +8 -7
  42. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/simple_preprocessor.py +3 -5
  43. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/test_cake.py +80 -0
  44. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/test_ct_lock_helper.py +4 -2
  45. compiletools-8.2.2/src/compiletools/test_file_analyzer.py +560 -0
  46. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/test_locking.py +28 -12
  47. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/test_makefile.py +4 -2
  48. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/test_multiuser_cache.py +2 -0
  49. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/test_preprocessor.py +2 -2
  50. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/test_timing_report.py +62 -1
  51. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/testhelper.py +5 -0
  52. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/timing_report.py +26 -8
  53. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/trim_cache.py +82 -54
  54. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/utils.py +3 -6
  55. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/version.py +1 -1
  56. compiletools-8.2.0/src/compiletools/test_file_analyzer.py +0 -1092
  57. {compiletools-8.2.0 → compiletools-8.2.2}/scripts/create-documentation +0 -0
  58. {compiletools-8.2.0 → compiletools-8.2.2}/scripts/ct-build +0 -0
  59. {compiletools-8.2.0 → compiletools-8.2.2}/scripts/ct-build-dynamic-library +0 -0
  60. {compiletools-8.2.0 → compiletools-8.2.2}/scripts/ct-build-static-library +0 -0
  61. {compiletools-8.2.0 → compiletools-8.2.2}/scripts/ct-release +0 -0
  62. {compiletools-8.2.0 → compiletools-8.2.2}/scripts/ct-watch-build +0 -0
  63. {compiletools-8.2.0 → compiletools-8.2.2}/scripts/profile-ct +0 -0
  64. {compiletools-8.2.0 → compiletools-8.2.2}/scripts/profile-ct-cake-modes +0 -0
  65. {compiletools-8.2.0 → compiletools-8.2.2}/scripts/profile-ct-cake-worktree +0 -0
  66. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/__init__.py +0 -0
  67. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/bazel_backend.py +0 -0
  68. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/build_graph.py +0 -0
  69. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/build_timer.py +0 -0
  70. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/cleanup_locks.py +0 -0
  71. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/cleanup_locks_main.py +0 -0
  72. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/cmake_backend.py +0 -0
  73. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/compilation_database.py +0 -0
  74. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/compiler_macros.py +0 -0
  75. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/config.py +0 -0
  76. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/configutils.py +0 -0
  77. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/conftest.py +0 -0
  78. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/cppdeps.py +0 -0
  79. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/ct.conf.d/blank.conf +0 -0
  80. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/ct.conf.d/blank.release.conf +0 -0
  81. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/ct.conf.d/clang.debug.conf +0 -0
  82. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/ct.conf.d/clang.release.conf +0 -0
  83. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/ct.conf.d/ct.conf +0 -0
  84. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/ct.conf.d/gcc.debug.conf +0 -0
  85. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/ct.conf.d/gcc.release.conf +0 -0
  86. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/ct_lock_helper.py +0 -0
  87. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/doc.py +0 -0
  88. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/filesystem_utils.py +0 -0
  89. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/git_sha_report.py +0 -0
  90. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/git_utils.py +0 -0
  91. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/global_hash_registry.py +0 -0
  92. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/headerdeps.py +0 -0
  93. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/headertree.py +0 -0
  94. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/hunter.py +0 -0
  95. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/jobs.py +0 -0
  96. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/listbackends.py +0 -0
  97. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/lock_utils.py +0 -0
  98. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/magicflags.py +0 -0
  99. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/makefile_backend.py +0 -0
  100. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/namer.py +0 -0
  101. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/ninja_backend.py +0 -0
  102. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/preprocessing_cache.py +0 -0
  103. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/samples/calculator/add.C +0 -0
  104. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/samples/calculator/add.H +0 -0
  105. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/samples/calculator/calculator.cpp +0 -0
  106. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/samples/calculator/calculator.h +0 -0
  107. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/samples/calculator/main.cpp +0 -0
  108. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/samples/computed_include/default_extra.h +0 -0
  109. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/samples/computed_include/linux_extra.h +0 -0
  110. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/samples/computed_include/main.cpp +0 -0
  111. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/samples/computed_include/windows_extra.h +0 -0
  112. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/samples/conditional_includes/linux_header.h +0 -0
  113. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/samples/conditional_includes/main.cpp +0 -0
  114. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/samples/conditional_includes/windows_header.h +0 -0
  115. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/samples/cppflags_macros/aarch64_feature.hpp +0 -0
  116. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/samples/cppflags_macros/advanced_feature.hpp +0 -0
  117. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/samples/cppflags_macros/advanced_preprocessor_header.hpp +0 -0
  118. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/samples/cppflags_macros/advanced_preprocessor_test.cpp +0 -0
  119. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/samples/cppflags_macros/alt_form_feature.hpp +0 -0
  120. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/samples/cppflags_macros/arm_feature.hpp +0 -0
  121. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/samples/cppflags_macros/armcc_feature.hpp +0 -0
  122. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/samples/cppflags_macros/avx2_optimization.hpp +0 -0
  123. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/samples/cppflags_macros/basic_feature.hpp +0 -0
  124. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/samples/cppflags_macros/cache_profiler.hpp +0 -0
  125. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/samples/cppflags_macros/certificate_validation.hpp +0 -0
  126. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/samples/cppflags_macros/cflags_feature.hpp +0 -0
  127. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/samples/cppflags_macros/clang_feature.hpp +0 -0
  128. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/samples/cppflags_macros/combined_features.hpp +0 -0
  129. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/samples/cppflags_macros/compiler_builtin_header.hpp +0 -0
  130. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/samples/cppflags_macros/compiler_builtin_test.cpp +0 -0
  131. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/samples/cppflags_macros/conditional_header.hpp +0 -0
  132. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/samples/cppflags_macros/cppflags_feature.hpp +0 -0
  133. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/samples/cppflags_macros/cpu_profiler.hpp +0 -0
  134. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/samples/cppflags_macros/custom_allocator.hpp +0 -0
  135. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/samples/cppflags_macros/cxxflags_feature.hpp +0 -0
  136. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/samples/cppflags_macros/default_feature.hpp +0 -0
  137. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/samples/cppflags_macros/detailed_profiler.hpp +0 -0
  138. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/samples/cppflags_macros/elif_header.hpp +0 -0
  139. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/samples/cppflags_macros/elif_test.cpp +0 -0
  140. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/samples/cppflags_macros/emscripten_feature.hpp +0 -0
  141. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/samples/cppflags_macros/expert_feature.hpp +0 -0
  142. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/samples/cppflags_macros/expert_mode_base.hpp +0 -0
  143. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/samples/cppflags_macros/fma_optimization.hpp +0 -0
  144. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/samples/cppflags_macros/gcc_feature.hpp +0 -0
  145. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/samples/cppflags_macros/high_optimization.hpp +0 -0
  146. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/samples/cppflags_macros/intel_feature.hpp +0 -0
  147. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/samples/cppflags_macros/leak_detector.hpp +0 -0
  148. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/samples/cppflags_macros/linux_advanced.hpp +0 -0
  149. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/samples/cppflags_macros/linux_epoll_threading.hpp +0 -0
  150. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/samples/cppflags_macros/linux_feature.hpp +0 -0
  151. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/samples/cppflags_macros/main.cpp +0 -0
  152. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/samples/cppflags_macros/memory_profiler.hpp +0 -0
  153. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/samples/cppflags_macros/memory_tracker.hpp +0 -0
  154. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/samples/cppflags_macros/msvc_feature.hpp +0 -0
  155. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/samples/cppflags_macros/multi_flag_header.hpp +0 -0
  156. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/samples/cppflags_macros/multi_flag_test.cpp +0 -0
  157. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/samples/cppflags_macros/nested_macros_header.hpp +0 -0
  158. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/samples/cppflags_macros/nested_macros_test.cpp +0 -0
  159. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/samples/cppflags_macros/networking_base.hpp +0 -0
  160. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/samples/cppflags_macros/numa_threading.hpp +0 -0
  161. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/samples/cppflags_macros/partial_features.hpp +0 -0
  162. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/samples/cppflags_macros/profiling_base.hpp +0 -0
  163. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/samples/cppflags_macros/riscv_feature.hpp +0 -0
  164. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/samples/cppflags_macros/simd_optimization.hpp +0 -0
  165. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/samples/cppflags_macros/ssl_networking.hpp +0 -0
  166. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/samples/cppflags_macros/stack_tracer.hpp +0 -0
  167. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/samples/cppflags_macros/strict_cert_validation.hpp +0 -0
  168. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/samples/cppflags_macros/tcc_feature.hpp +0 -0
  169. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/samples/cppflags_macros/temp_defined.hpp +0 -0
  170. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/samples/cppflags_macros/temp_still_defined.hpp +0 -0
  171. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/samples/cppflags_macros/version1_feature.hpp +0 -0
  172. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/samples/cppflags_macros/version2_feature.hpp +0 -0
  173. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/samples/cppflags_macros/version3_feature.hpp +0 -0
  174. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/samples/cppflags_macros/version_205_plus.hpp +0 -0
  175. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/samples/cppflags_macros/version_ge_2_feature.hpp +0 -0
  176. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/samples/cppflags_macros/windows_advanced.hpp +0 -0
  177. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/samples/cppflags_macros/windows_iocp.hpp +0 -0
  178. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/samples/cppflags_macros/windows_iocp_threading.hpp +0 -0
  179. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/samples/cppflags_macros/x86_64_feature.hpp +0 -0
  180. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/samples/cross_platform/cross_platform.cpp +0 -0
  181. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/samples/cross_platform/cross_platform.hpp +0 -0
  182. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/samples/cross_platform/cross_platform_lin.cpp +0 -0
  183. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/samples/cross_platform/cross_platform_win.cpp +0 -0
  184. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/samples/cross_platform/test_source.cpp +0 -0
  185. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/samples/cycle/cycle_a.hpp +0 -0
  186. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/samples/cycle/cycle_b.hpp +0 -0
  187. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/samples/cycle/cycle_c.hpp +0 -0
  188. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/samples/dottypaths/d1/d1.cpp +0 -0
  189. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/samples/dottypaths/d1/d1.hpp +0 -0
  190. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/samples/dottypaths/d2/d2.cpp +0 -0
  191. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/samples/dottypaths/d2/d2.hpp +0 -0
  192. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/samples/dottypaths/dottypaths.cpp +0 -0
  193. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/samples/duplicate_flags/main.cpp +0 -0
  194. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/samples/empty_macro_bug/README.md +0 -0
  195. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/samples/empty_macro_bug/libs/base.hpp +0 -0
  196. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/samples/empty_macro_bug/libs/conditional.hpp +0 -0
  197. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/samples/empty_macro_bug/libs/dependency.hpp +0 -0
  198. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/samples/empty_macro_bug/libs/main.cpp +0 -0
  199. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/samples/factory/a_widget.cpp +0 -0
  200. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/samples/factory/a_widget.hpp +0 -0
  201. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/samples/factory/red_herring_c_style_2.hpp +0 -0
  202. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/samples/factory/test_factory.cpp +0 -0
  203. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/samples/factory/widget.hpp +0 -0
  204. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/samples/factory/widget_factory.cpp +0 -0
  205. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/samples/factory/widget_factory.hpp +0 -0
  206. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/samples/factory/z_widget.cpp +0 -0
  207. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/samples/factory/z_widget.hpp +0 -0
  208. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/samples/feature_headers/database.h +0 -0
  209. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/samples/feature_headers/feature_config.h +0 -0
  210. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/samples/feature_headers/graphics.h +0 -0
  211. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/samples/feature_headers/logging.h +0 -0
  212. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/samples/feature_headers/main.cpp +0 -0
  213. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/samples/feature_headers/networking.h +0 -0
  214. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/samples/has_include/main.cpp +0 -0
  215. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/samples/has_include/optional_feature.h +0 -0
  216. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/samples/has_include/stdheader_extras.h +0 -0
  217. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/samples/header_guard_bug/README.md +0 -0
  218. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/samples/header_guard_bug/header_a.hpp +0 -0
  219. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/samples/header_guard_bug/header_b.hpp +0 -0
  220. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/samples/header_guard_bug/main.cpp +0 -0
  221. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/samples/hunter_macro_propagation/README.md +0 -0
  222. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/samples/hunter_macro_propagation/app.cpp +0 -0
  223. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/samples/hunter_macro_propagation/config.h +0 -0
  224. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/samples/hunter_macro_propagation/renderer.h +0 -0
  225. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/samples/isystem_include_bug/fake_system_include/system/version.h +0 -0
  226. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/samples/isystem_include_bug/main.cpp +0 -0
  227. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/samples/ldflags/conditional_ldflags_test.cpp +0 -0
  228. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/samples/ldflags/macro_expanded_ldflags.cpp +0 -0
  229. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/samples/ldflags/version_dependent_ldflags.cpp +0 -0
  230. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/samples/ldflags/version_macro.hpp +0 -0
  231. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/samples/library/build.sh +0 -0
  232. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/samples/library/main.cpp +0 -0
  233. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/samples/library/mylib/get_double.cpp +0 -0
  234. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/samples/library/mylib/get_double.hpp +0 -0
  235. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/samples/library/mylib/get_int.cpp +0 -0
  236. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/samples/library/mylib/get_int.hpp +0 -0
  237. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/samples/library/mylib/get_numbers.cpp +0 -0
  238. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/samples/library/mylib/get_numbers.hpp +0 -0
  239. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/samples/lotsofmagic/lotsofmagic.cpp +0 -0
  240. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/samples/macro_deps/feature_header.hpp +0 -0
  241. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/samples/macro_deps/feature_x_impl.cpp +0 -0
  242. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/samples/macro_deps/feature_y_impl.cpp +0 -0
  243. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/samples/macro_deps/main.cpp +0 -0
  244. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/samples/macro_state_dependency/README.md +0 -0
  245. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/samples/macro_state_dependency/clean_main.cpp +0 -0
  246. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/samples/macro_state_dependency/config.h +0 -0
  247. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/samples/macro_state_dependency/core.h +0 -0
  248. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/samples/macro_state_dependency/debug.h +0 -0
  249. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/samples/macro_state_dependency/feature.h +0 -0
  250. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/samples/macro_state_dependency/main.cpp +0 -0
  251. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/samples/macro_state_dependency/module_b.h +0 -0
  252. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/samples/macro_state_dependency/release.h +0 -0
  253. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/samples/macro_state_dependency/sample.cpp +0 -0
  254. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/samples/magic_processing_order/complex_header.h +0 -0
  255. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/samples/magic_processing_order/complex_test.cpp +0 -0
  256. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/samples/magic_processing_order/macro_header.h +0 -0
  257. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/samples/magic_processing_order/test_macro_transform.cpp +0 -0
  258. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/samples/magic_processing_order/traits_header.h +0 -0
  259. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/samples/magicinclude/main.cpp +0 -0
  260. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/samples/magicinclude/subdir/important.hpp +0 -0
  261. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/samples/magicinclude/subdir2/important2.hpp +0 -0
  262. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/samples/magicinclude/subdir3/important3.hpp +0 -0
  263. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/samples/magicpkgconfig/main.cpp +0 -0
  264. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/samples/magicpkgconfig_fake/main.cpp +0 -0
  265. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/samples/magicsourceinheader/include_dir/some_header.hpp +0 -0
  266. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/samples/magicsourceinheader/include_dir/sub_dir/another_header.hpp +0 -0
  267. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/samples/magicsourceinheader/include_dir/sub_dir/the_code_lin.cpp +0 -0
  268. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/samples/magicsourceinheader/include_dir/sub_dir/the_code_win.cpp +0 -0
  269. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/samples/magicsourceinheader/main.cpp +0 -0
  270. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/samples/movingheaders/main.cpp +0 -0
  271. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/samples/movingheaders/someheader.hpp +0 -0
  272. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/samples/nestedconfig/gcc.debug.conf +0 -0
  273. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/samples/nestedconfig/nc.cpp +0 -0
  274. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/samples/nestedconfig/subdir/gcc.debug.conf +0 -0
  275. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/samples/nestedconfig/subdir/nc.cpp +0 -0
  276. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/samples/numbers/get_double.cpp +0 -0
  277. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/samples/numbers/get_double.hpp +0 -0
  278. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/samples/numbers/get_int.cpp +0 -0
  279. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/samples/numbers/get_int.hpp +0 -0
  280. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/samples/numbers/get_numbers.cpp +0 -0
  281. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/samples/numbers/get_numbers.hpp +0 -0
  282. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/samples/numbers/test_direct_include.cpp +0 -0
  283. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/samples/numbers/test_library.cpp +0 -0
  284. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/samples/parse_order_macro_bug/libs/common_file.cpp +0 -0
  285. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/samples/parse_order_macro_bug/libs/conditional_include.hpp +0 -0
  286. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/samples/parse_order_macro_bug/libs/entry_point_1.cpp +0 -0
  287. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/samples/parse_order_macro_bug/libs/entry_point_2.cpp +0 -0
  288. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/samples/parse_order_macro_bug/libs/hash_map.hpp +0 -0
  289. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/samples/parse_order_macro_bug/libs/hash_utility.hpp +0 -0
  290. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/samples/parse_order_macro_bug/libs/intermediate.cpp +0 -0
  291. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/samples/pch/pch_user.cpp +0 -0
  292. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/samples/pch/stdafx.h +0 -0
  293. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/samples/pkg_config_header_deps/README.md +0 -0
  294. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/samples/pkg_config_header_deps/libs/header_with_macros.hpp +0 -0
  295. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/samples/pkg_config_header_deps/libs/header_with_pkgconfig.hpp +0 -0
  296. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/samples/pkg_config_header_deps/libs/main_header.hpp +0 -0
  297. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/samples/pkg_config_header_deps/src/test.cpp +0 -0
  298. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/samples/pkgconfig/main.cpp +0 -0
  299. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/samples/pkgs/conditional.pc +0 -0
  300. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/samples/pkgs/leaked-macro-pkg.pc +0 -0
  301. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/samples/pkgs/linux-path-pkg.pc +0 -0
  302. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/samples/pkgs/macro-in-output.pc +0 -0
  303. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/samples/pkgs/modified.pc +0 -0
  304. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/samples/pkgs/nested.pc +0 -0
  305. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/samples/pkgs/transitive-deps.pc +0 -0
  306. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/samples/platform_has_include/linux_func.cpp +0 -0
  307. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/samples/platform_has_include/linux_func.hpp +0 -0
  308. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/samples/platform_has_include/platform_main.cpp +0 -0
  309. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/samples/platform_has_include/windows_func.cpp +0 -0
  310. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/samples/platform_has_include/windows_func.hpp +0 -0
  311. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/samples/project_pkgconfig_override/ct.conf.d/pkgconfig/conditional.pc +0 -0
  312. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/samples/project_pkgconfig_override/main.cpp +0 -0
  313. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/samples/serialise_tests/README.txt +0 -0
  314. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/samples/serialise_tests/createfile.cpp +0 -0
  315. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/samples/serialise_tests/createfile.hpp +0 -0
  316. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/samples/serialise_tests/filename.hpp +0 -0
  317. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/samples/serialise_tests/obtainlock.cpp +0 -0
  318. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/samples/serialise_tests/obtainlock.hpp +0 -0
  319. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/samples/serialise_tests/test_flock_1.cpp +0 -0
  320. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/samples/serialise_tests/test_flock_2.cpp +0 -0
  321. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/samples/simple/helloworld_c.c +0 -0
  322. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/samples/simple/helloworld_cpp.cpp +0 -0
  323. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/samples/simple/test_cflags.c +0 -0
  324. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/samples/static_link_order/main.cpp +0 -0
  325. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/samples/static_link_order/one.cpp +0 -0
  326. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/samples/static_link_order/two.cpp +0 -0
  327. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/samples/transitive_cache_bug/README.md +0 -0
  328. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/samples/transitive_cache_bug/engine/a-game.cpp +0 -0
  329. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/samples/transitive_cache_bug/engine/b-game.cpp +0 -0
  330. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/samples/transitive_cache_bug/engine/core/background_task.hpp +0 -0
  331. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/samples/transitive_cache_bug/engine/core/event_handler.hpp +0 -0
  332. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/samples/transitive_cache_bug/engine/core/memory_buffer.hpp +0 -0
  333. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/samples/transitive_cache_bug/engine/event_loop.cpp +0 -0
  334. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/samples/transitive_cache_bug/engine/event_loop.hpp +0 -0
  335. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/samples/transitive_cache_bug/engine/systems/audio_system.cpp +0 -0
  336. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/samples/transitive_cache_bug/engine/systems/audio_system.hpp +0 -0
  337. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/samples/transitive_cache_bug/engine/systems/input_system.cpp +0 -0
  338. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/samples/transitive_cache_bug/engine/systems/input_system.hpp +0 -0
  339. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/samples/transitive_cache_bug/engine/systems/render_system.cpp +0 -0
  340. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/samples/transitive_cache_bug/engine/systems/render_system.hpp +0 -0
  341. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/samples/transitive_cache_bug/engine/systems/task_scheduler.cpp +0 -0
  342. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/samples/transitive_cache_bug/engine/systems/task_scheduler.hpp +0 -0
  343. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/samples/undef_bug/README.md +0 -0
  344. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/samples/undef_bug/cleans_up.hpp +0 -0
  345. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/samples/undef_bug/defines_macro.hpp +0 -0
  346. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/samples/undef_bug/main.cpp +0 -0
  347. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/samples/undef_bug/should_be_included.hpp +0 -0
  348. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/samples/undef_bug/uses_conditional.hpp +0 -0
  349. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/samples/version_dependent_api/api_config.h +0 -0
  350. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/samples/version_dependent_api/api_config_new.h +0 -0
  351. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/samples/version_dependent_api/test_main.cpp +0 -0
  352. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/samples/version_dependent_api/test_main_new.cpp +0 -0
  353. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/samples/version_dependent_api/version.h +0 -0
  354. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/samples/version_dependent_api/version_new.h +0 -0
  355. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/stringzilla_utils.py +0 -0
  356. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/test_apptools.py +0 -0
  357. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/test_backend_integration.py +0 -0
  358. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/test_base.py +0 -0
  359. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/test_bazel_backend.py +0 -0
  360. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/test_build_backend.py +0 -0
  361. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/test_build_graph.py +0 -0
  362. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/test_build_timer.py +0 -0
  363. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/test_cake_backend.py +0 -0
  364. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/test_cap.py +0 -0
  365. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/test_cleanup_locks.py +0 -0
  366. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/test_cmake_backend.py +0 -0
  367. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/test_compilation_database.py +0 -0
  368. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/test_compiler_macros.py +0 -0
  369. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/test_config.py +0 -0
  370. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/test_configutils.py +0 -0
  371. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/test_cppdeps.py +0 -0
  372. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/test_doc.py +0 -0
  373. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/test_empty_macro_bug.py +0 -0
  374. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/test_environment_assumptions.py +0 -0
  375. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/test_fd_fix_integration.py +0 -0
  376. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/test_file_analyzer_integration.py +0 -0
  377. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/test_file_locking.py +0 -0
  378. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/test_file_open_efficiency.py +0 -0
  379. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/test_filelist_sample_output.py +0 -0
  380. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/test_filesystem_utils.py +0 -0
  381. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/test_findtargets.py +0 -0
  382. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/test_git_sha_report.py +0 -0
  383. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/test_global_hash_registry.py +0 -0
  384. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/test_headerdeps.py +0 -0
  385. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/test_headerdeps_extract.py +0 -0
  386. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/test_headertree.py +0 -0
  387. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/test_headertree_hunter_agreement.py +0 -0
  388. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/test_hunter.py +0 -0
  389. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/test_hunter_macro_propagation.py +0 -0
  390. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/test_jobs.py +0 -0
  391. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/test_library.py +0 -0
  392. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/test_listbackends.py +0 -0
  393. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/test_listvariants.py +0 -0
  394. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/test_locking_contract.py +0 -0
  395. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/test_macro_state_dependency.py +0 -0
  396. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/test_macro_state_isolation.py +0 -0
  397. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/test_macro_state_pollution.py +0 -0
  398. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/test_magicflags.py +0 -0
  399. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/test_magicflags_styles.py +0 -0
  400. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/test_magicflags_unit.py +0 -0
  401. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/test_magicinclude.py +0 -0
  402. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/test_magicpkgconfig.py +0 -0
  403. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/test_makefile_backend.py +0 -0
  404. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/test_movingheaders.py +0 -0
  405. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/test_namer.py +0 -0
  406. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/test_ninja_backend.py +0 -0
  407. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/test_noop_rebuild.py +0 -0
  408. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/test_parse_order_macro_bug.py +0 -0
  409. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/test_pkg_config_header_deps.py +0 -0
  410. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/test_preprocessing_cache.py +0 -0
  411. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/test_serialisetests.py +0 -0
  412. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/test_shake_backend.py +0 -0
  413. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/test_shared_cache_low_mtime_resolution.py +0 -0
  414. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/test_simple_preprocessor.py +0 -0
  415. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/test_slurm_backend.py +0 -0
  416. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/test_stringzilla_utils.py +0 -0
  417. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/test_testhelper.py +0 -0
  418. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/test_transitive_cache_bug.py +0 -0
  419. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/test_tree.py +0 -0
  420. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/test_trim_cache.py +0 -0
  421. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/test_tup_backend.py +0 -0
  422. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/test_undef_bug_sample.py +0 -0
  423. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/test_utils.py +0 -0
  424. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/timing_tui.py +0 -0
  425. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/trace_backend.py +0 -0
  426. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/tree.py +0 -0
  427. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/trim_cache_main.py +0 -0
  428. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/tup_backend.py +0 -0
  429. {compiletools-8.2.0 → compiletools-8.2.2}/src/compiletools/wrappedos.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: compiletools
3
- Version: 8.2.0
3
+ Version: 8.2.2
4
4
  Summary: Tools to make compiling C/C++ projects easy
5
5
  Keywords: c++,make,development
6
6
  Author: DrGeoff
@@ -23,7 +23,7 @@ Requires-Dist: rich-rst>=1.1.7
23
23
  Requires-Dist: stringzilla>=3.0.0
24
24
  Requires-Dist: bump-my-version>=0.26.0 ; extra == 'dev'
25
25
  Requires-Dist: twine>=5.0.0 ; extra == 'dev'
26
- Requires-Dist: pytest>=8.2.0 ; extra == 'dev'
26
+ Requires-Dist: pytest>=8.2.2 ; extra == 'dev'
27
27
  Requires-Dist: pytest-xdist>=3.5 ; extra == 'dev'
28
28
  Requires-Dist: ruff>=0.14.0 ; extra == 'dev'
29
29
  Requires-Dist: pyright>=1.1 ; extra == 'dev'
@@ -55,7 +55,7 @@ C/C++ build tools that requires almost no configuration.
55
55
 
56
56
  :Author: drgeoffathome@gmail.com
57
57
  :Date: 2025-12-17
58
- :Version: 8.2.0
58
+ :Version: 8.2.2
59
59
  :Manual section: 1
60
60
  :Manual group: developers
61
61
 
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "compiletools"
3
- version = "8.2.0"
3
+ version = "8.2.2"
4
4
  description = "Tools to make compiling C/C++ projects easy"
5
5
  readme = "src/compiletools/README.ct-doc.rst"
6
6
  requires-python = ">=3.10"
@@ -36,7 +36,7 @@ tui = [
36
36
  dev = [
37
37
  "bump-my-version>=0.26.0",
38
38
  "twine>=5.0.0",
39
- "pytest>=8.2.0",
39
+ "pytest>=8.2.2",
40
40
  "pytest-xdist>=3.5",
41
41
  "ruff>=0.14.0",
42
42
  "pyright>=1.1",
@@ -96,7 +96,7 @@ include = [
96
96
  ]
97
97
 
98
98
  [tool.bumpversion]
99
- current_version = "8.2.0"
99
+ current_version = "8.2.2"
100
100
  parse = "(?P<major>\\d+)\\.(?P<minor>\\d+)\\.(?P<patch>\\d+)"
101
101
  serialize = ["{major}.{minor}.{patch}"]
102
102
  search = "{current_version}"
@@ -8,7 +8,7 @@ Legacy helper for pruning stale lockdir directories remotely
8
8
 
9
9
  :Author: drgeoffathome@gmail.com
10
10
  :Date: 2025-11-26
11
- :Version: 8.2.0
11
+ :Version: 8.2.2
12
12
  :Manual section: 1
13
13
  :Manual group: developers
14
14
 
@@ -8,7 +8,7 @@ Generate man(1) pages from the reStructuredText source tree
8
8
 
9
9
  :Author: drgeoffathome@gmail.com
10
10
  :Date: 2025-11-26
11
- :Version: 8.2.0
11
+ :Version: 8.2.2
12
12
  :Manual section: 1
13
13
  :Manual group: developers
14
14
 
@@ -8,7 +8,7 @@ Build backend architecture and selection guide
8
8
 
9
9
  :Author: drgeoffathome@gmail.com
10
10
  :Date: 2026-04-02
11
- :Version: 8.2.0
11
+ :Version: 8.2.2
12
12
  :Manual section: 7
13
13
  :Manual group: developers
14
14
 
@@ -8,7 +8,7 @@ Produce a shared object from a root source file with zero boilerplate
8
8
 
9
9
  :Author: drgeoffathome@gmail.com
10
10
  :Date: 2025-11-26
11
- :Version: 8.2.0
11
+ :Version: 8.2.2
12
12
  :Manual section: 1
13
13
  :Manual group: developers
14
14
 
@@ -8,7 +8,7 @@ Generate a static library from a root source file in one shot
8
8
 
9
9
  :Author: drgeoffathome@gmail.com
10
10
  :Date: 2025-11-26
11
- :Version: 8.2.0
11
+ :Version: 8.2.2
12
12
  :Manual section: 1
13
13
  :Manual group: developers
14
14
 
@@ -8,7 +8,7 @@ One-command Make-specific wrapper around ct-findtargets + make
8
8
 
9
9
  :Author: drgeoffathome@gmail.com
10
10
  :Date: 2025-11-26
11
- :Version: 8.2.0
11
+ :Version: 8.2.2
12
12
  :Manual section: 1
13
13
  :Manual group: developers
14
14
 
@@ -9,7 +9,7 @@ Swiss army knife for building a C/C++ project
9
9
  :Author: drgeoffathome@gmail.com
10
10
  :Date: 2018-02-06
11
11
  :Copyright: Copyright (C) 2011-2016 Zomojo Pty Ltd
12
- :Version: 8.2.0
12
+ :Version: 8.2.2
13
13
  :Manual section: 1
14
14
  :Manual group: developers
15
15
 
@@ -8,7 +8,7 @@ Clean up stale lock directories from file locking
8
8
 
9
9
  :Author: drgeoffathome@gmail.com
10
10
  :Date: 2025-10-16
11
- :Version: 8.2.0
11
+ :Version: 8.2.2
12
12
  :Manual section: 1
13
13
  :Manual group: developers
14
14
 
@@ -9,7 +9,7 @@ This document describes the command line arguments that are common across ct-* p
9
9
  :Author: drgeoffathome@gmail.com
10
10
  :Date: 2017-07-06
11
11
  :Copyright: Copyright (C) 2011-2016 Zomojo Pty Ltd
12
- :Version: 8.2.0
12
+ :Version: 8.2.2
13
13
  :Manual section: 1
14
14
  :Manual group: developers
15
15
 
@@ -8,7 +8,7 @@ Generate compile_commands.json for clang tooling and IDE integration
8
8
 
9
9
  :Author: drgeoffathome@gmail.com
10
10
  :Date: 2025-10-08
11
- :Version: 8.2.0
11
+ :Version: 8.2.2
12
12
  :Manual section: 1
13
13
  :Manual group: developers
14
14
 
@@ -9,7 +9,7 @@ Helper tool for examining ct-* configuration
9
9
  :Author: drgeoffathome@gmail.com
10
10
  :Date: 2016-08-16
11
11
  :Copyright: Copyright (C) 2011-2016 Zomojo Pty Ltd
12
- :Version: 8.2.0
12
+ :Version: 8.2.2
13
13
  :Manual section: 1
14
14
  :Manual group: developers
15
15
 
@@ -9,7 +9,7 @@ C/C++ dependency analysis using the preprocessor
9
9
  :Author: drgeoffathome@gmail.com
10
10
  :Date: 2022-06-05
11
11
  :Copyright: Copyright (C) Geoffery Ericksson
12
- :Version: 8.2.0
12
+ :Version: 8.2.2
13
13
  :Manual section: 1
14
14
  :Manual group: developers
15
15
 
@@ -8,7 +8,7 @@ Generate Makefile from compiletools magic
8
8
 
9
9
  :Author: drgeoffathome@gmail.com
10
10
  :Date: 2024-11-24
11
- :Version: 8.2.0
11
+ :Version: 8.2.2
12
12
  :Manual section: 1
13
13
  :Manual group: developers
14
14
 
@@ -15,7 +15,7 @@ C/C++ build tools that requires almost no configuration.
15
15
 
16
16
  :Author: drgeoffathome@gmail.com
17
17
  :Date: 2025-12-17
18
- :Version: 8.2.0
18
+ :Version: 8.2.2
19
19
  :Manual section: 1
20
20
  :Manual group: developers
21
21
 
@@ -9,7 +9,7 @@ Determine header and source dependencies of a C/C++ file by following headers an
9
9
  :Author: drgeoffathome@gmail.com
10
10
  :Date: 2017-07-06
11
11
  :Copyright: Copyright (C) 2011-2016 Zomojo Pty Ltd
12
- :Version: 8.2.0
12
+ :Version: 8.2.2
13
13
  :Manual section: 1
14
14
  :Manual group: developers
15
15
 
@@ -9,7 +9,7 @@ Find executable and test targets in a C/C++ project
9
9
  :Author: drgeoffathome@gmail.com
10
10
  :Date: 2018-04-17
11
11
  :Copyright: Copyright (C) 2011-2018 Zomojo Pty Ltd
12
- :Version: 8.2.0
12
+ :Version: 8.2.2
13
13
  :Manual section: 1
14
14
  :Manual group: developers
15
15
 
@@ -8,7 +8,7 @@ Report git blob SHA hashes for files in the repository
8
8
 
9
9
  :Author: drgeoffathome@gmail.com
10
10
  :Date: 2024-11-24
11
- :Version: 8.2.0
11
+ :Version: 8.2.2
12
12
  :Manual section: 1
13
13
  :Manual group: developers
14
14
 
@@ -9,7 +9,7 @@ Display the git repository root directory
9
9
  :Author: drgeoffathome@gmail.com
10
10
  :Date: 2017-09-28
11
11
  :Copyright: Copyright (C) 2011-2016 Zomojo Pty Ltd
12
- :Version: 8.2.0
12
+ :Version: 8.2.2
13
13
  :Manual section: 1
14
14
  :Manual group: developers
15
15
 
@@ -9,7 +9,7 @@ Create a tree of header dependencies starting at the given C/C++ file
9
9
  :Author: drgeoffathome@gmail.com
10
10
  :Date: 2018-07-26
11
11
  :Copyright: Copyright (C) 2011-2018 Zomojo Pty Ltd
12
- :Version: 8.2.0
12
+ :Version: 8.2.2
13
13
  :Manual section: 1
14
14
  :Manual group: developers
15
15
 
@@ -9,7 +9,7 @@ Determine optimal parallel job count for builds
9
9
  :Author: drgeoffathome@gmail.com
10
10
  :Date: 2017-04-28
11
11
  :Copyright: Copyright (C) 2011-2016 Zomojo Pty Ltd
12
- :Version: 8.2.0
12
+ :Version: 8.2.2
13
13
  :Manual section: 1
14
14
  :Manual group: developers
15
15
 
@@ -8,7 +8,7 @@ List available build backends
8
8
 
9
9
  :Author: drgeoffathome@gmail.com
10
10
  :Date: 2026-03-31
11
- :Version: 8.2.0
11
+ :Version: 8.2.2
12
12
  :Manual section: 1
13
13
  :Manual group: developers
14
14
 
@@ -9,7 +9,7 @@ List available build variants
9
9
  :Author: drgeoffathome@gmail.com
10
10
  :Date: 2016-08-16
11
11
  :Copyright: Copyright (C) 2011-2016 Zomojo Pty Ltd
12
- :Version: 8.2.0
12
+ :Version: 8.2.2
13
13
  :Manual section: 1
14
14
  :Manual group: developers
15
15
 
@@ -8,7 +8,7 @@ Helper for file locking during concurrent compilation
8
8
 
9
9
  :Author: drgeoffathome@gmail.com
10
10
  :Date: 2024-01-01
11
- :Version: 8.2.0
11
+ :Version: 8.2.2
12
12
  :Manual section: 1
13
13
  :Manual group: developers
14
14
 
@@ -9,7 +9,7 @@ Show the magic flags / magic comments that a file exports
9
9
  :Author: drgeoffathome@gmail.com
10
10
  :Date: 2018-02-23
11
11
  :Copyright: Copyright (C) 2011-2018 Zomojo Pty Ltd
12
- :Version: 8.2.0
12
+ :Version: 8.2.2
13
13
  :Manual section: 1
14
14
  :Manual group: developers
15
15
 
@@ -8,7 +8,7 @@ Automated version bump + build + publish for compiletools
8
8
 
9
9
  :Author: drgeoffathome@gmail.com
10
10
  :Date: 2025-11-26
11
- :Version: 8.2.0
11
+ :Version: 8.2.2
12
12
  :Manual section: 1
13
13
  :Manual group: developers
14
14
 
@@ -8,7 +8,7 @@ Analyze and display build timing reports
8
8
 
9
9
  :Author: drgeoffathome@gmail.com
10
10
  :Date: 2026-04-06
11
- :Version: 8.2.0
11
+ :Version: 8.2.2
12
12
  :Manual section: 1
13
13
  :Manual group: developers
14
14
 
@@ -8,7 +8,7 @@ Trim stale entries from shared object and PCH caches
8
8
 
9
9
  :Author: drgeoffathome@gmail.com
10
10
  :Date: 2026-04-21
11
- :Version: 8.2.0
11
+ :Version: 8.2.2
12
12
  :Manual section: 1
13
13
  :Manual group: developers
14
14
 
@@ -8,7 +8,7 @@ Continuous rebuild helper that watches sources with inotify
8
8
 
9
9
  :Author: drgeoffathome@gmail.com
10
10
  :Date: 2025-11-26
11
- :Version: 8.2.0
11
+ :Version: 8.2.2
12
12
  :Manual section: 1
13
13
  :Manual group: developers
14
14
 
@@ -8,7 +8,7 @@ Safely profile ct-cake performance using temporary git worktrees
8
8
 
9
9
  :Author: drgeoffathome@gmail.com
10
10
  :Date: 2025-11-26
11
- :Version: 8.2.0
11
+ :Version: 8.2.2
12
12
  :Manual section: 1
13
13
  :Manual group: developers
14
14
 
@@ -435,13 +435,12 @@ def _extend_includes_using_git_root(args):
435
435
  def _add_include_paths_to_flags(args):
436
436
  """Add all the include paths to all three compile flags"""
437
437
  for path in args.INCLUDE.split():
438
- if path is not None:
439
- if path not in args.CPPFLAGS.split():
440
- args.CPPFLAGS += " -I " + path
441
- if path not in args.CFLAGS.split():
442
- args.CFLAGS += " -I " + path
443
- if path not in args.CXXFLAGS.split():
444
- args.CXXFLAGS += " -I " + path
438
+ if path not in args.CPPFLAGS.split():
439
+ args.CPPFLAGS += " -I " + path
440
+ if path not in args.CFLAGS.split():
441
+ args.CFLAGS += " -I " + path
442
+ if path not in args.CXXFLAGS.split():
443
+ args.CXXFLAGS += " -I " + path
445
444
 
446
445
  if args.verbose >= 6 and len(args.INCLUDE) > 0:
447
446
  print("Extra include paths have been appended to the *FLAG variables:")
@@ -890,11 +889,7 @@ def filter_pkg_config_cflags(cflags_str, verbose=0):
890
889
 
891
890
  # Normalize and check
892
891
  normalized_path = os.path.normpath(path)
893
- is_system = False
894
- for sys_path in system_include_paths:
895
- if normalized_path == sys_path:
896
- is_system = True
897
- break
892
+ is_system = normalized_path in system_include_paths
898
893
 
899
894
  if is_system:
900
895
  if verbose >= 6:
@@ -1257,7 +1252,7 @@ def _safely_unquote_string(value):
1257
1252
  value = value.strip()
1258
1253
 
1259
1254
  # If the string doesn't look like it has shell quotes, don't process it
1260
- if not (value.startswith('"') or value.startswith("'")):
1255
+ if not value.startswith(('"', "'")):
1261
1256
  return value
1262
1257
 
1263
1258
  try:
@@ -1274,8 +1269,7 @@ def _safely_unquote_string(value):
1274
1269
  unquoted.startswith("'") and unquoted.endswith("'")
1275
1270
  ):
1276
1271
  return _safely_unquote_string(unquoted)
1277
- else:
1278
- return unquoted
1272
+ return unquoted
1279
1273
  else:
1280
1274
  # Multiple tokens or parsing issues - return original
1281
1275
  return value
@@ -1303,24 +1303,28 @@ def wrap_compile_with_lock(compile_cmd: str, target: str, args, filesystem_type:
1303
1303
  strategy = compiletools.filesystem_utils.get_lock_strategy(filesystem_type)
1304
1304
 
1305
1305
  # Fast path: use native flock binary for flock strategy (avoids Python startup).
1306
- # Compile to a temp file then atomically rename same pattern and same
1307
- # rationale as locking.atomic_compile (which the helper-mode path below
1308
- # routes through). DO NOT 'optimize' back to a bare `flock <target>
1309
- # gcc -o <target>` form: the flock serialises concurrent compiles of
1310
- # the same target, but link rules read .o files WITHOUT any lock, so a
1311
- # peer linker would mmap-read a half-written .o under `make -j N` or
1312
- # two concurrent ct-cake invocations on the same objdir, producing
1313
- # sporadic 'undefined reference to main' / 'undefined symbol' errors.
1314
- # Temp+rename eliminates the race for all readers without needing
1315
- # read-side locks. The flock keeps a deterministic ".compiletools.tmp"
1316
- # suffix collision-free across peer writers.
1317
- # See locking.atomic_compile() for the full DO-NOT-REVERT story.
1306
+ # Two invariants must hold under concurrent peer makes on a shared objdir:
1307
+ # 1. Lock on a SIDECAR ``<target>.lock`` file, NOT on ``<target>``. flock
1308
+ # opens its lock argument with O_RDWR|O_CREAT, so locking the target
1309
+ # directly would create an empty ``<target>`` with mtime=now BEFORE
1310
+ # the inner compile runs. A peer make's mtime check then treats the
1311
+ # target as up-to-date and skips the compile recipe entirely, going
1312
+ # straight to link producing ``undefined reference to 'main'``
1313
+ # errors. Locking a sidecar leaves ``<target>`` untouched until the
1314
+ # mv lands, so peer makes see ``<target>`` only when it is complete.
1315
+ # 2. Compile to a temp file then atomically rename — protects link rules
1316
+ # that read .o files WITHOUT any lock. Without temp+rename a peer
1317
+ # linker could mmap-read a half-written .o.
1318
+ # DO NOT 'optimize' back to ``flock <target> gcc -o <target>``: that form
1319
+ # violates BOTH invariants. See locking.atomic_compile() for the rationale
1320
+ # the helper-mode path below relies on.
1318
1321
  if strategy == "flock" and _native_flock_available():
1319
1322
  target_q = shlex.quote(target)
1323
+ lock_q = shlex.quote(f"{target}.lock")
1320
1324
  temp_q = shlex.quote(f"{target}.compiletools.tmp")
1321
1325
  # $$ escapes to $ at Make-recipe expansion so the shell sees $? / $ec.
1322
1326
  inner = f"{compile_cmd} -o {temp_q} && mv -f {temp_q} {target_q}; ec=$$?; rm -f {temp_q}; exit $$ec"
1323
- return f"flock {target_q} sh -c {shlex.quote(inner)}"
1327
+ return f"flock {lock_q} sh -c {shlex.quote(inner)}"
1324
1328
 
1325
1329
  env_prefix = _build_lock_env_prefix(strategy, args, filesystem_type)
1326
1330
  return f"{env_prefix}ct-lock-helper compile --target={target} --strategy={strategy} -- {compile_cmd}"
@@ -1352,9 +1356,15 @@ def wrap_link_with_lock(link_cmd: str, target: str, args, filesystem_type: str)
1352
1356
 
1353
1357
  strategy = compiletools.filesystem_utils.get_lock_strategy(filesystem_type)
1354
1358
 
1355
- # Fast path: use native flock binary for flock strategy (avoids Python startup)
1359
+ # Fast path: use native flock binary for flock strategy (avoids Python startup).
1360
+ # Lock on ``<target>.lock`` sidecar, NOT on ``<target>``: ``flock`` opens
1361
+ # its lock argument with O_CREAT, which would create an empty ``<target>``
1362
+ # with mtime=now and trick a peer make process into treating the target
1363
+ # as up-to-date (mtime newer than its prerequisites). See
1364
+ # wrap_compile_with_lock for the full rationale.
1356
1365
  if strategy == "flock" and _native_flock_available():
1357
- return f"flock {target} {link_cmd}"
1366
+ lock_q = shlex.quote(f"{target}.lock")
1367
+ return f"flock {lock_q} {link_cmd}"
1358
1368
 
1359
1369
  env_prefix = _build_lock_env_prefix(strategy, args, filesystem_type)
1360
1370
  return f"{env_prefix}ct-lock-helper link --target={target} --strategy={strategy} -- {link_cmd}"
@@ -61,7 +61,6 @@ class BuildContext:
61
61
  self.analyzer_args: argparse.Namespace | None = None
62
62
  self.file_reading_strategy: str | None = None
63
63
  self.warned_low_ulimit: bool = False
64
- self.warned_mmap_failure: bool = False
65
64
  self.analyze_file_cache: dict[str, FileAnalysisResult] = {}
66
65
 
67
66
  # -- build timer --
@@ -1,13 +1,17 @@
1
1
  import os
2
+ import shlex
2
3
  import shutil
3
4
  import signal
5
+ import subprocess
4
6
  import sys
7
+ from typing import Optional
5
8
 
6
9
  import compiletools.apptools
7
10
  import compiletools.compilation_database
8
11
  import compiletools.configutils
9
12
  import compiletools.filelist
10
13
  import compiletools.findtargets
14
+ import compiletools.git_utils
11
15
  import compiletools.headerdeps
12
16
  import compiletools.hunter
13
17
  import compiletools.jobs
@@ -48,10 +52,10 @@ class Cake:
48
52
  backend=getattr(args, "backend", "make"),
49
53
  )
50
54
 
51
- self.namer = None
52
- self.headerdeps = None
53
- self.magicparser = None
54
- self.hunter = None
55
+ self.namer: Optional[compiletools.namer.Namer] = None
56
+ self.headerdeps: Optional[compiletools.headerdeps.HeaderDepsBase] = None
57
+ self.magicparser: Optional[compiletools.magicflags.MagicFlagsBase] = None
58
+ self.hunter: Optional[compiletools.hunter.Hunter] = None
55
59
 
56
60
  @staticmethod
57
61
  def _hide_makefilename(args):
@@ -197,6 +201,7 @@ class Cake:
197
201
  )
198
202
 
199
203
  def _callfilelist(self):
204
+ assert self.hunter is not None
200
205
  filelist = compiletools.filelist.Filelist(self.args, self.hunter, style="flat")
201
206
  filelist.process()
202
207
 
@@ -210,6 +215,10 @@ class Cake:
210
215
  # so is wasted work and confuses tooling that picks it up.
211
216
  return
212
217
 
218
+ assert self.namer is not None
219
+ assert self.headerdeps is not None
220
+ assert self.magicparser is not None
221
+ assert self.hunter is not None
213
222
  # Reuse existing objects to avoid duplicating work
214
223
  creator = compiletools.compilation_database.CompilationDatabaseCreator(
215
224
  self.args,
@@ -222,6 +231,7 @@ class Cake:
222
231
  creator.write_compilation_database()
223
232
 
224
233
  def _copyexes(self):
234
+ assert self.namer is not None
225
235
  # Copy the executables into the "bin" dir (as per cake)
226
236
  # Unless the user has changed the bindir (or set --output)
227
237
  # in which case assume that they know what they are doing
@@ -268,6 +278,7 @@ class Cake:
268
278
 
269
279
  def _clean_topbindir(self):
270
280
  """Remove copied executables from the top-level bin directory."""
281
+ assert self.namer is not None
271
282
  if self.args.output:
272
283
  try:
273
284
  os.remove(self.args.output)
@@ -285,6 +296,9 @@ class Cake:
285
296
 
286
297
  def _call_backend(self):
287
298
  """Dispatch to the selected build backend."""
299
+ assert self.namer is not None
300
+ assert self.hunter is not None
301
+ assert self.context.timer is not None
288
302
  timer = self.context.timer
289
303
  backend_name = getattr(self.args, "backend", "make")
290
304
  BackendClass = get_backend_class(backend_name)
@@ -319,6 +333,7 @@ class Cake:
319
333
  """Transform the arguments into suitable versions for ct-* tools
320
334
  and call the appropriate tool.
321
335
  """
336
+ assert self.context.timer is not None
322
337
  timer = self.context.timer
323
338
  try:
324
339
  # If the user specified only a single file to be turned into a library, guess that
@@ -328,6 +343,7 @@ class Cake:
328
343
 
329
344
  with timer.phase("target_discovery"):
330
345
  self._createctobjs()
346
+ assert self.hunter is not None
331
347
  recreateobjs = False
332
348
  if self.args.static and len(self.args.static) == 1:
333
349
  self.args.static.extend(self.hunter.required_source_files(self.args.static[0]))
@@ -368,6 +384,8 @@ class Cake:
368
384
 
369
385
  def clear_cache(self):
370
386
  """Only useful in test scenarios where you need to reset to a pristine state"""
387
+ assert self.namer is not None
388
+ assert self.hunter is not None
371
389
  compiletools.wrappedos.clear_cache()
372
390
  compiletools.utils.clear_cache()
373
391
  compiletools.git_utils.clear_cache()
@@ -471,9 +489,29 @@ def main(argv=None):
471
489
  cake.process()
472
490
  # For testing purposes, clear out the memcaches for the times when main is called more than once.
473
491
  cake.clear_cache()
492
+ except subprocess.CalledProcessError as cpe:
493
+ if args.verbose < 2:
494
+ cmd = cpe.cmd
495
+ if isinstance(cmd, (list, tuple)):
496
+ cmd_str = shlex.join(cmd)
497
+ else:
498
+ cmd_str = str(cmd)
499
+ print(f"Command failed (exit {cpe.returncode}): {cmd_str}", file=sys.stderr)
500
+ if cpe.stderr:
501
+ stderr = cpe.stderr.decode() if isinstance(cpe.stderr, bytes) else cpe.stderr
502
+ print(stderr, file=sys.stderr)
503
+ elif cpe.output:
504
+ output = cpe.output.decode() if isinstance(cpe.output, bytes) else cpe.output
505
+ print(output, file=sys.stderr)
506
+ return 1
507
+ else:
508
+ raise
474
509
  except OSError as ioe:
475
510
  if args.verbose < 2:
476
- print(f"Error processing {ioe.filename}: {ioe.strerror}")
511
+ if ioe.filename:
512
+ print(f"Error processing {ioe.filename}: {ioe.strerror}", file=sys.stderr)
513
+ else:
514
+ print(f"Error: {ioe.strerror or ioe}", file=sys.stderr)
477
515
  return 1
478
516
  else:
479
517
  raise