passenger 6.2.0 → 6.2.1

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 (650) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG +33 -1
  3. data/CONTRIBUTING.md +7 -311
  4. data/CONTRIBUTORS +1 -0
  5. data/LICENSE +1 -1
  6. data/README.md +1 -1
  7. data/Rakefile +1 -1
  8. data/bin/passenger +1 -1
  9. data/bin/passenger-config +1 -1
  10. data/bin/passenger-install-apache2-module +1 -1
  11. data/bin/passenger-install-nginx-module +4 -9
  12. data/bin/passenger-memory-stats +1 -1
  13. data/bin/passenger-status +1 -1
  14. data/build/agent.rb +13 -15
  15. data/build/apache2.rb +13 -16
  16. data/build/basics.rb +10 -13
  17. data/build/common_library.rb +5 -9
  18. data/build/cxx_tests.rb +37 -12
  19. data/build/integration_tests.rb +5 -2
  20. data/build/misc.rb +1 -1
  21. data/build/nginx.rb +1 -1
  22. data/build/node_tests.rb +1 -1
  23. data/build/oxt_tests.rb +6 -8
  24. data/build/packaging.rb +1 -1
  25. data/build/ruby_extension.rb +1 -1
  26. data/build/ruby_tests.rb +1 -1
  27. data/build/schema_printer.rb +13 -15
  28. data/build/support/cplusplus.rb +61 -69
  29. data/build/support/cxx_dependency_map.rb +2 -1
  30. data/build/support/general.rb +1 -1
  31. data/build/support/vendor/cxx_hinted_parser/LICENSE.md +1 -1
  32. data/build/support/vendor/cxx_hinted_parser/lib/cxx_hinted_parser/parser.rb +1 -1
  33. data/build/support/vendor/cxx_hinted_parser/lib/cxx_hinted_parser.rb +1 -1
  34. data/build/support/vendor/cxxcodebuilder/LICENSE.md +1 -1
  35. data/build/support/vendor/cxxcodebuilder/lib/cxxcodebuilder/builder.rb +1 -1
  36. data/build/support/vendor/cxxcodebuilder/lib/cxxcodebuilder/initializer_builder.rb +1 -1
  37. data/build/support/vendor/cxxcodebuilder/lib/cxxcodebuilder.rb +1 -1
  38. data/build/test_basics.rb +1 -1
  39. data/dev/copy_boost_headers +1 -1
  40. data/dev/index_cxx_dependencies.rb +5 -1
  41. data/dev/libev-changes.patch +108 -0
  42. data/dev/nginx_version_sha256 +1 -1
  43. data/dev/ruby_server.rb +1 -6
  44. data/dev/upgrading_libuv.sh +16 -0
  45. data/doc/BasicArchitectureOverview.md +55 -0
  46. data/doc/BuildCaching.md +23 -0
  47. data/doc/BuildSystem.md +49 -0
  48. data/doc/DebuggingAndStressTesting.md +2 -0
  49. data/doc/DesignAspects/LimitedGemDependencies.md +1 -0
  50. data/doc/DevEnvironmentSetup.md +46 -0
  51. data/doc/DevHandbook.md +28 -0
  52. data/doc/Packaging.md +1 -1
  53. data/doc/RunningTests.md +88 -0
  54. data/doc/{TempFileHandling.md → SecureTempFileHandling.md} +1 -1
  55. data/doc/{CxxTestingGuide.md → WritingCxxTests.md} +1 -20
  56. data/src/agent/AgentMain.cpp +1 -1
  57. data/src/agent/Core/ApiServer.h +1 -1
  58. data/src/agent/Core/ApplicationPool/AbstractSession.h +1 -1
  59. data/src/agent/Core/ApplicationPool/BasicGroupInfo.h +1 -1
  60. data/src/agent/Core/ApplicationPool/BasicProcessInfo.h +1 -1
  61. data/src/agent/Core/ApplicationPool/Common.h +1 -1
  62. data/src/agent/Core/ApplicationPool/Context.h +1 -1
  63. data/src/agent/Core/ApplicationPool/Group/InitializationAndShutdown.cpp +1 -1
  64. data/src/agent/Core/ApplicationPool/Group/InternalUtils.cpp +1 -1
  65. data/src/agent/Core/ApplicationPool/Group/LifetimeAndBasics.cpp +1 -1
  66. data/src/agent/Core/ApplicationPool/Group/Miscellaneous.cpp +1 -1
  67. data/src/agent/Core/ApplicationPool/Group/OutOfBandWork.cpp +1 -1
  68. data/src/agent/Core/ApplicationPool/Group/ProcessListManagement.cpp +1 -1
  69. data/src/agent/Core/ApplicationPool/Group/SessionManagement.cpp +1 -1
  70. data/src/agent/Core/ApplicationPool/Group/SpawningAndRestarting.cpp +1 -1
  71. data/src/agent/Core/ApplicationPool/Group/StateInspection.cpp +1 -1
  72. data/src/agent/Core/ApplicationPool/Group/Verification.cpp +1 -1
  73. data/src/agent/Core/ApplicationPool/Group.h +1 -1
  74. data/src/agent/Core/ApplicationPool/Implementation.cpp +1 -1
  75. data/src/agent/Core/ApplicationPool/Options.h +1 -1
  76. data/src/agent/Core/ApplicationPool/Pool/AnalyticsCollection.cpp +1 -1
  77. data/src/agent/Core/ApplicationPool/Pool/GarbageCollection.cpp +1 -1
  78. data/src/agent/Core/ApplicationPool/Pool/GeneralUtils.cpp +1 -1
  79. data/src/agent/Core/ApplicationPool/Pool/GroupUtils.cpp +1 -1
  80. data/src/agent/Core/ApplicationPool/Pool/InitializationAndShutdown.cpp +1 -1
  81. data/src/agent/Core/ApplicationPool/Pool/Miscellaneous.cpp +1 -1
  82. data/src/agent/Core/ApplicationPool/Pool/ProcessUtils.cpp +1 -1
  83. data/src/agent/Core/ApplicationPool/Pool/StateInspection.cpp +1 -1
  84. data/src/agent/Core/ApplicationPool/Pool.h +1 -1
  85. data/src/agent/Core/ApplicationPool/Process.cpp +1 -1
  86. data/src/agent/Core/ApplicationPool/Process.h +1 -1
  87. data/src/agent/Core/ApplicationPool/Session.h +1 -1
  88. data/src/agent/Core/ApplicationPool/Socket.h +1 -1
  89. data/src/agent/Core/ApplicationPool/TestSession.h +1 -1
  90. data/src/agent/Core/Config.h +3 -2
  91. data/src/agent/Core/ConfigChange.cpp +1 -1
  92. data/src/agent/Core/ConfigChange.h +1 -1
  93. data/src/agent/Core/Controller/AppResponse.h +1 -1
  94. data/src/agent/Core/Controller/BufferBody.cpp +1 -1
  95. data/src/agent/Core/Controller/CheckoutSession.cpp +8 -5
  96. data/src/agent/Core/Controller/Client.h +1 -1
  97. data/src/agent/Core/Controller/Config.cpp +1 -1
  98. data/src/agent/Core/Controller/Config.h +2 -2
  99. data/src/agent/Core/Controller/ForwardResponse.cpp +2 -2
  100. data/src/agent/Core/Controller/Hooks.cpp +12 -9
  101. data/src/agent/Core/Controller/Implementation.cpp +1 -1
  102. data/src/agent/Core/Controller/InitRequest.cpp +1 -1
  103. data/src/agent/Core/Controller/InitializationAndShutdown.cpp +1 -1
  104. data/src/agent/Core/Controller/InternalUtils.cpp +1 -1
  105. data/src/agent/Core/Controller/Miscellaneous.cpp +1 -1
  106. data/src/agent/Core/Controller/Request.h +1 -1
  107. data/src/agent/Core/Controller/SendRequest.cpp +1 -1
  108. data/src/agent/Core/Controller/StateInspection.cpp +1 -1
  109. data/src/agent/Core/Controller/TurboCaching.h +1 -1
  110. data/src/agent/Core/Controller.h +1 -1
  111. data/src/agent/Core/CoreMain.cpp +1 -1
  112. data/src/agent/Core/OptionParser.h +1 -1
  113. data/src/agent/Core/ResponseCache.h +1 -1
  114. data/src/agent/Core/SecurityUpdateChecker.h +1 -1
  115. data/src/agent/Core/SpawningKit/Config/AutoGeneratedCode.h +1 -1
  116. data/src/agent/Core/SpawningKit/Config/AutoGeneratedCode.h.cxxcodebuilder +1 -1
  117. data/src/agent/Core/SpawningKit/Config.h +1 -1
  118. data/src/agent/Core/SpawningKit/Context.h +1 -1
  119. data/src/agent/Core/SpawningKit/DirectSpawner.h +1 -1
  120. data/src/agent/Core/SpawningKit/DummySpawner.h +1 -1
  121. data/src/agent/Core/SpawningKit/ErrorRenderer.h +1 -1
  122. data/src/agent/Core/SpawningKit/Exceptions.h +63 -2
  123. data/src/agent/Core/SpawningKit/Factory.h +1 -1
  124. data/src/agent/Core/SpawningKit/Handshake/BackgroundIOCapturer.h +1 -1
  125. data/src/agent/Core/SpawningKit/Handshake/Perform.h +3 -2
  126. data/src/agent/Core/SpawningKit/Handshake/Prepare.h +1 -1
  127. data/src/agent/Core/SpawningKit/Handshake/Session.h +1 -1
  128. data/src/agent/Core/SpawningKit/Handshake/WorkDir.h +1 -1
  129. data/src/agent/Core/SpawningKit/Journey.h +1 -1
  130. data/src/agent/Core/SpawningKit/PipeWatcher.h +1 -1
  131. data/src/agent/Core/SpawningKit/README.md +3 -3
  132. data/src/agent/Core/SpawningKit/Result/AutoGeneratedCode.h +1 -1
  133. data/src/agent/Core/SpawningKit/Result/AutoGeneratedCode.h.cxxcodebuilder +1 -1
  134. data/src/agent/Core/SpawningKit/Result.h +1 -1
  135. data/src/agent/Core/SpawningKit/SmartSpawner.h +17 -17
  136. data/src/agent/Core/SpawningKit/Spawner.h +1 -1
  137. data/src/agent/Core/SpawningKit/UserSwitchingRules.h +1 -1
  138. data/src/agent/Core/TelemetryCollector.h +1 -1
  139. data/src/agent/ExecHelper/ExecHelperMain.cpp +1 -1
  140. data/src/agent/FileReadHelper/FileReadHelperMain.cpp +1 -1
  141. data/src/agent/MainFunctions.h +1 -1
  142. data/src/agent/Shared/ApiAccountUtils.h +4 -3
  143. data/src/agent/Shared/ApiServerUtils.h +1 -2
  144. data/src/agent/Shared/ApplicationPoolApiKey.h +1 -1
  145. data/src/agent/Shared/Fundamentals/AbortHandler.cpp +1 -1
  146. data/src/agent/Shared/Fundamentals/AbortHandler.h +1 -1
  147. data/src/agent/Shared/Fundamentals/Initialization.cpp +1 -1
  148. data/src/agent/Shared/Fundamentals/Initialization.h +1 -1
  149. data/src/agent/Shared/Fundamentals/Utils.cpp +1 -1
  150. data/src/agent/Shared/Fundamentals/Utils.h +1 -1
  151. data/src/agent/SpawnEnvSetupper/SpawnEnvSetupperMain.cpp +1 -1
  152. data/src/agent/SystemMetrics/SystemMetricsMain.cpp +1 -1
  153. data/src/agent/TempDirToucher/TempDirToucherMain.cpp +1 -1
  154. data/src/agent/Watchdog/ApiServer.h +7 -6
  155. data/src/agent/Watchdog/Config.h +2 -2
  156. data/src/apache2_module/Bucket.cpp +1 -1
  157. data/src/apache2_module/Bucket.h +1 -1
  158. data/src/apache2_module/CBindings.cpp +1 -1
  159. data/src/apache2_module/Config.cpp +1 -1
  160. data/src/apache2_module/Config.h +1 -1
  161. data/src/apache2_module/ConfigGeneral/AutoGeneratedDefinitions.cpp +104 -104
  162. data/src/apache2_module/ConfigGeneral/AutoGeneratedDefinitions.cpp.cxxcodebuilder +2 -2
  163. data/src/apache2_module/ConfigGeneral/AutoGeneratedManifestDefaultsInitialization.cpp +1 -1
  164. data/src/apache2_module/ConfigGeneral/AutoGeneratedManifestDefaultsInitialization.cpp.cxxcodebuilder +1 -1
  165. data/src/apache2_module/ConfigGeneral/AutoGeneratedSetterFuncs.cpp +1 -1
  166. data/src/apache2_module/ConfigGeneral/AutoGeneratedSetterFuncs.cpp.cxxcodebuilder +1 -1
  167. data/src/apache2_module/ConfigGeneral/Common.h +1 -1
  168. data/src/apache2_module/ConfigGeneral/ManifestGeneration.h +1 -1
  169. data/src/apache2_module/ConfigGeneral/SetterFuncs.h +1 -1
  170. data/src/apache2_module/DirConfig/AutoGeneratedCreateFunction.cpp +1 -1
  171. data/src/apache2_module/DirConfig/AutoGeneratedCreateFunction.cpp.cxxcodebuilder +1 -1
  172. data/src/apache2_module/DirConfig/AutoGeneratedHeaderSerialization.cpp +1 -1
  173. data/src/apache2_module/DirConfig/AutoGeneratedHeaderSerialization.cpp.cxxcodebuilder +1 -1
  174. data/src/apache2_module/DirConfig/AutoGeneratedManifestGeneration.cpp +1 -1
  175. data/src/apache2_module/DirConfig/AutoGeneratedManifestGeneration.cpp.cxxcodebuilder +1 -1
  176. data/src/apache2_module/DirConfig/AutoGeneratedMergeFunction.cpp +1 -1
  177. data/src/apache2_module/DirConfig/AutoGeneratedMergeFunction.cpp.cxxcodebuilder +1 -1
  178. data/src/apache2_module/DirConfig/AutoGeneratedStruct.h +1 -1
  179. data/src/apache2_module/DirConfig/AutoGeneratedStruct.h.cxxcodebuilder +1 -1
  180. data/src/apache2_module/DirectoryMapper.h +1 -1
  181. data/src/apache2_module/Hooks.cpp +8 -2
  182. data/src/apache2_module/Hooks.h +1 -1
  183. data/src/apache2_module/ServerConfig/AutoGeneratedManifestGeneration.cpp +1 -1
  184. data/src/apache2_module/ServerConfig/AutoGeneratedManifestGeneration.cpp.cxxcodebuilder +1 -1
  185. data/src/apache2_module/ServerConfig/AutoGeneratedStruct.h +1 -1
  186. data/src/apache2_module/ServerConfig/AutoGeneratedStruct.h.cxxcodebuilder +1 -1
  187. data/src/apache2_module/Utils.h +1 -1
  188. data/src/apache2_module/mod_passenger.c +1 -1
  189. data/src/cxx_supportlib/Algorithms/Hasher.cpp +1 -1
  190. data/src/cxx_supportlib/Algorithms/Hasher.h +1 -1
  191. data/src/cxx_supportlib/Algorithms/MovingAverage.h +1 -1
  192. data/src/cxx_supportlib/AppLocalConfigFileUtils.h +1 -1
  193. data/src/cxx_supportlib/AppTypeDetector/CBindings.cpp +1 -1
  194. data/src/cxx_supportlib/AppTypeDetector/CBindings.h +1 -1
  195. data/src/cxx_supportlib/AppTypeDetector/Detector.h +1 -1
  196. data/src/cxx_supportlib/BackgroundEventLoop.cpp +1 -1
  197. data/src/cxx_supportlib/BackgroundEventLoop.h +1 -1
  198. data/src/cxx_supportlib/ConfigKit/AsyncUtils.h +1 -1
  199. data/src/cxx_supportlib/ConfigKit/Common.h +1 -1
  200. data/src/cxx_supportlib/ConfigKit/ConfigKit.h +1 -1
  201. data/src/cxx_supportlib/ConfigKit/DummyTranslator.h +1 -1
  202. data/src/cxx_supportlib/ConfigKit/IN_PRACTICE.md +1 -3
  203. data/src/cxx_supportlib/ConfigKit/PrefixTranslator.h +3 -3
  204. data/src/cxx_supportlib/ConfigKit/Schema.h +1 -1
  205. data/src/cxx_supportlib/ConfigKit/SchemaUtils.h +1 -1
  206. data/src/cxx_supportlib/ConfigKit/Store.h +1 -1
  207. data/src/cxx_supportlib/ConfigKit/SubComponentUtils.h +1 -1
  208. data/src/cxx_supportlib/ConfigKit/TableTranslator.h +1 -1
  209. data/src/cxx_supportlib/ConfigKit/Translator.h +1 -1
  210. data/src/cxx_supportlib/ConfigKit/Utils.h +1 -1
  211. data/src/cxx_supportlib/Constants.h +2 -2
  212. data/src/cxx_supportlib/Constants.h.cxxcodebuilder +1 -1
  213. data/src/cxx_supportlib/DataStructures/HashedStaticString.h +1 -1
  214. data/src/cxx_supportlib/DataStructures/LString.cpp +1 -1
  215. data/src/cxx_supportlib/DataStructures/LString.h +1 -1
  216. data/src/cxx_supportlib/DataStructures/StringKeyTable.h +1 -1
  217. data/src/cxx_supportlib/DataStructures/StringMap.h +1 -1
  218. data/src/cxx_supportlib/Exceptions.cpp +1 -1
  219. data/src/cxx_supportlib/Exceptions.h +1 -1
  220. data/src/cxx_supportlib/FileDescriptor.h +1 -1
  221. data/src/cxx_supportlib/FileTools/FileManip.cpp +1 -1
  222. data/src/cxx_supportlib/FileTools/FileManip.h +1 -1
  223. data/src/cxx_supportlib/FileTools/PathManip.cpp +1 -1
  224. data/src/cxx_supportlib/FileTools/PathManip.h +1 -1
  225. data/src/cxx_supportlib/FileTools/PathManipCBindings.cpp +1 -1
  226. data/src/cxx_supportlib/FileTools/PathManipCBindings.h +1 -1
  227. data/src/cxx_supportlib/FileTools/PathSecurityCheck.cpp +1 -1
  228. data/src/cxx_supportlib/FileTools/PathSecurityCheck.h +1 -1
  229. data/src/cxx_supportlib/Hooks.h +1 -1
  230. data/src/cxx_supportlib/IOTools/BufferedIO.h +1 -1
  231. data/src/cxx_supportlib/IOTools/IOUtils.cpp +10 -10
  232. data/src/cxx_supportlib/IOTools/IOUtils.h +1 -1
  233. data/src/cxx_supportlib/IOTools/MessageIO.h +1 -1
  234. data/src/cxx_supportlib/IOTools/MessageSerialization.h +1 -1
  235. data/src/cxx_supportlib/InstanceDirectory.h +1 -1
  236. data/src/cxx_supportlib/Integrations/LibevJsonUtils.h +1 -1
  237. data/src/cxx_supportlib/JsonTools/Autocast.h +1 -1
  238. data/src/cxx_supportlib/JsonTools/CBindings.cpp +1 -1
  239. data/src/cxx_supportlib/JsonTools/CBindings.h +1 -1
  240. data/src/cxx_supportlib/JsonTools/JsonUtils.h +1 -1
  241. data/src/cxx_supportlib/LoggingKit/Assert.h +1 -1
  242. data/src/cxx_supportlib/LoggingKit/Config.h +2 -1
  243. data/src/cxx_supportlib/LoggingKit/Context.h +1 -1
  244. data/src/cxx_supportlib/LoggingKit/Forward.h +1 -1
  245. data/src/cxx_supportlib/LoggingKit/Implementation.cpp +11 -1
  246. data/src/cxx_supportlib/LoggingKit/Logging.h +1 -1
  247. data/src/cxx_supportlib/LoggingKit/LoggingKit.h +1 -1
  248. data/src/cxx_supportlib/LveLoggingDecorator.h +1 -1
  249. data/src/cxx_supportlib/MemoryKit/mbuf.cpp +1 -1
  250. data/src/cxx_supportlib/MemoryKit/mbuf.h +1 -1
  251. data/src/cxx_supportlib/MemoryKit/palloc.cpp +1 -1
  252. data/src/cxx_supportlib/MemoryKit/palloc.h +1 -1
  253. data/src/cxx_supportlib/ProcessManagement/Ruby.cpp +1 -1
  254. data/src/cxx_supportlib/ProcessManagement/Ruby.h +1 -1
  255. data/src/cxx_supportlib/ProcessManagement/Spawn.cpp +1 -1
  256. data/src/cxx_supportlib/ProcessManagement/Spawn.h +1 -1
  257. data/src/cxx_supportlib/ProcessManagement/Utils.cpp +1 -1
  258. data/src/cxx_supportlib/ProcessManagement/Utils.h +1 -1
  259. data/src/cxx_supportlib/RandomGenerator.h +1 -1
  260. data/src/cxx_supportlib/ResourceLocator.h +1 -1
  261. data/src/cxx_supportlib/SafeLibev.h +1 -1
  262. data/src/cxx_supportlib/SecurityKit/Crypto.cpp +9 -27
  263. data/src/cxx_supportlib/SecurityKit/Crypto.h +2 -2
  264. data/src/cxx_supportlib/SecurityKit/MemZeroGuard.h +1 -1
  265. data/src/cxx_supportlib/ServerKit/AcceptLoadBalancer.h +1 -1
  266. data/src/cxx_supportlib/ServerKit/Channel.h +1 -1
  267. data/src/cxx_supportlib/ServerKit/Client.h +1 -1
  268. data/src/cxx_supportlib/ServerKit/ClientRef.h +1 -1
  269. data/src/cxx_supportlib/ServerKit/Config.h +1 -1
  270. data/src/cxx_supportlib/ServerKit/Context.h +1 -1
  271. data/src/cxx_supportlib/ServerKit/CookieUtils.h +1 -1
  272. data/src/cxx_supportlib/ServerKit/Errors.h +1 -1
  273. data/src/cxx_supportlib/ServerKit/FdSinkChannel.h +1 -1
  274. data/src/cxx_supportlib/ServerKit/FdSourceChannel.h +1 -1
  275. data/src/cxx_supportlib/ServerKit/FileBufferedChannel.h +54 -2
  276. data/src/cxx_supportlib/ServerKit/FileBufferedFdSinkChannel.h +1 -1
  277. data/src/cxx_supportlib/ServerKit/HeaderTable.h +1 -1
  278. data/src/cxx_supportlib/ServerKit/Hooks.h +1 -1
  279. data/src/cxx_supportlib/ServerKit/HttpChunkedBodyParser.h +1 -1
  280. data/src/cxx_supportlib/ServerKit/HttpChunkedBodyParserState.h +1 -1
  281. data/src/cxx_supportlib/ServerKit/HttpClient.h +1 -1
  282. data/src/cxx_supportlib/ServerKit/HttpHeaderParser.h +1 -1
  283. data/src/cxx_supportlib/ServerKit/HttpHeaderParserState.h +1 -1
  284. data/src/cxx_supportlib/ServerKit/HttpRequest.h +1 -1
  285. data/src/cxx_supportlib/ServerKit/HttpRequestRef.h +1 -1
  286. data/src/cxx_supportlib/ServerKit/HttpServer.h +1 -1
  287. data/src/cxx_supportlib/ServerKit/Implementation.cpp +1 -1
  288. data/src/cxx_supportlib/ServerKit/Server.h +4 -2
  289. data/src/cxx_supportlib/StaticString.h +1 -1
  290. data/src/cxx_supportlib/StrIntTools/DateParsing.h +1 -1
  291. data/src/cxx_supportlib/StrIntTools/StrIntUtils.cpp +1 -1
  292. data/src/cxx_supportlib/StrIntTools/StrIntUtils.h +1 -1
  293. data/src/cxx_supportlib/StrIntTools/StrIntUtilsNoStrictAliasing.cpp +1 -1
  294. data/src/cxx_supportlib/StrIntTools/StringScanning.h +1 -1
  295. data/src/cxx_supportlib/StrIntTools/Template.h +1 -1
  296. data/src/cxx_supportlib/SystemTools/ContainerHelpers.h +1 -1
  297. data/src/cxx_supportlib/SystemTools/ProcessMetricsCollector.h +1 -1
  298. data/src/cxx_supportlib/SystemTools/SystemMetricsCollector.h +1 -1
  299. data/src/cxx_supportlib/SystemTools/SystemTime.cpp +1 -1
  300. data/src/cxx_supportlib/SystemTools/SystemTime.h +1 -1
  301. data/src/cxx_supportlib/SystemTools/UserDatabase.cpp +1 -1
  302. data/src/cxx_supportlib/SystemTools/UserDatabase.h +1 -1
  303. data/src/cxx_supportlib/Utils/AnsiColorConstants.h +1 -1
  304. data/src/cxx_supportlib/Utils/AsyncSignalSafeUtils.h +1 -1
  305. data/src/cxx_supportlib/Utils/BlockingQueue.h +1 -1
  306. data/src/cxx_supportlib/Utils/CachedFileStat.cpp +1 -1
  307. data/src/cxx_supportlib/Utils/CachedFileStat.h +1 -1
  308. data/src/cxx_supportlib/Utils/CachedFileStat.hpp +1 -1
  309. data/src/cxx_supportlib/Utils/ClassUtils.h +1 -1
  310. data/src/cxx_supportlib/Utils/Curl.h +1 -1
  311. data/src/cxx_supportlib/Utils/FastStringStream.h +1 -1
  312. data/src/cxx_supportlib/Utils/FileChangeChecker.h +1 -1
  313. data/src/cxx_supportlib/Utils/HttpConstants.h +1 -1
  314. data/src/cxx_supportlib/Utils/IniFile.h +1 -1
  315. data/src/cxx_supportlib/Utils/MessagePassing.h +1 -1
  316. data/src/cxx_supportlib/Utils/OptionParsing.h +1 -1
  317. data/src/cxx_supportlib/Utils/ReleaseableScopedPointer.h +1 -1
  318. data/src/cxx_supportlib/Utils/ScopeGuard.h +1 -1
  319. data/src/cxx_supportlib/Utils/SpeedMeter.h +1 -1
  320. data/src/cxx_supportlib/Utils/Timer.h +1 -1
  321. data/src/cxx_supportlib/Utils/VariantMap.h +1 -1
  322. data/src/cxx_supportlib/Utils.cpp +1 -1
  323. data/src/cxx_supportlib/Utils.h +1 -1
  324. data/src/cxx_supportlib/WatchdogLauncher.cpp +1 -1
  325. data/src/cxx_supportlib/WatchdogLauncher.h +1 -1
  326. data/src/cxx_supportlib/WrapperRegistry/CBindings.cpp +1 -1
  327. data/src/cxx_supportlib/WrapperRegistry/CBindings.h +1 -1
  328. data/src/cxx_supportlib/WrapperRegistry/Entry.h +1 -1
  329. data/src/cxx_supportlib/WrapperRegistry/Registry.h +1 -1
  330. data/src/cxx_supportlib/oxt/backtrace.hpp +1 -1
  331. data/src/cxx_supportlib/oxt/detail/backtrace_disabled.hpp +1 -1
  332. data/src/cxx_supportlib/oxt/detail/backtrace_enabled.hpp +1 -1
  333. data/src/cxx_supportlib/oxt/detail/context.hpp +1 -1
  334. data/src/cxx_supportlib/oxt/detail/tracable_exception_disabled.hpp +1 -1
  335. data/src/cxx_supportlib/oxt/detail/tracable_exception_enabled.hpp +1 -1
  336. data/src/cxx_supportlib/oxt/dynamic_thread_group.hpp +1 -1
  337. data/src/cxx_supportlib/oxt/implementation.cpp +1 -1
  338. data/src/cxx_supportlib/oxt/initialize.hpp +1 -1
  339. data/src/cxx_supportlib/oxt/macros.hpp +1 -1
  340. data/src/cxx_supportlib/oxt/spin_lock.hpp +1 -1
  341. data/src/cxx_supportlib/oxt/system_calls.cpp +1 -1
  342. data/src/cxx_supportlib/oxt/system_calls.hpp +1 -1
  343. data/src/cxx_supportlib/oxt/thread.hpp +1 -1
  344. data/src/cxx_supportlib/oxt/tracable_exception.hpp +1 -1
  345. data/src/cxx_supportlib/vendor-copy/adhoc_lve.h +1 -1
  346. data/src/cxx_supportlib/vendor-copy/libuv/AUTHORS +353 -3
  347. data/src/cxx_supportlib/vendor-copy/libuv/ChangeLog +3981 -2
  348. data/src/cxx_supportlib/vendor-copy/libuv/LICENSE +1 -28
  349. data/src/cxx_supportlib/vendor-copy/libuv/LICENSE-docs +396 -0
  350. data/src/cxx_supportlib/vendor-copy/libuv/LICENSE-extra +36 -0
  351. data/src/cxx_supportlib/vendor-copy/libuv/Makefile.am +275 -58
  352. data/src/cxx_supportlib/vendor-copy/libuv/Makefile.in +4380 -2125
  353. data/src/cxx_supportlib/vendor-copy/libuv/aclocal.m4 +425 -221
  354. data/src/cxx_supportlib/vendor-copy/libuv/ar-lib +30 -10
  355. data/src/cxx_supportlib/vendor-copy/libuv/compile +31 -14
  356. data/src/cxx_supportlib/vendor-copy/libuv/config.guess +1084 -690
  357. data/src/cxx_supportlib/vendor-copy/libuv/config.sub +1844 -1297
  358. data/src/cxx_supportlib/vendor-copy/libuv/configure +6935 -3664
  359. data/src/cxx_supportlib/vendor-copy/libuv/configure.ac +43 -19
  360. data/src/cxx_supportlib/vendor-copy/libuv/depcomp +12 -11
  361. data/src/cxx_supportlib/vendor-copy/libuv/include/{uv-darwin.h → uv/darwin.h} +3 -3
  362. data/src/cxx_supportlib/vendor-copy/libuv/include/{uv-errno.h → uv/errno.h} +119 -60
  363. data/src/cxx_supportlib/vendor-copy/libuv/include/{uv-linux.h → uv/linux.h} +1 -1
  364. data/src/cxx_supportlib/vendor-copy/libuv/include/uv/os390.h +33 -0
  365. data/src/cxx_supportlib/vendor-copy/libuv/include/uv/posix.h +31 -0
  366. data/src/cxx_supportlib/vendor-copy/libuv/include/{uv-threadpool.h → uv/threadpool.h} +1 -1
  367. data/src/cxx_supportlib/vendor-copy/libuv/include/{tree.h → uv/tree.h} +3 -250
  368. data/src/cxx_supportlib/vendor-copy/libuv/include/{uv-unix.h → uv/unix.h} +186 -60
  369. data/src/cxx_supportlib/vendor-copy/libuv/include/{uv-version.h → uv/version.h} +3 -3
  370. data/src/cxx_supportlib/vendor-copy/libuv/include/uv/win.h +703 -0
  371. data/src/cxx_supportlib/vendor-copy/libuv/include/uv.h +528 -40
  372. data/src/cxx_supportlib/vendor-copy/libuv/install-sh +110 -70
  373. data/src/cxx_supportlib/vendor-copy/libuv/libuv-static.pc.in +12 -0
  374. data/src/cxx_supportlib/vendor-copy/libuv/libuv.pc.in +4 -2
  375. data/src/cxx_supportlib/vendor-copy/libuv/ltmain.sh +995 -619
  376. data/src/cxx_supportlib/vendor-copy/libuv/m4/ax_pthread.m4 +485 -0
  377. data/src/cxx_supportlib/vendor-copy/libuv/m4/libtool.m4 +438 -289
  378. data/src/cxx_supportlib/vendor-copy/libuv/m4/libuv-check-flags.m4 +21 -4
  379. data/src/cxx_supportlib/vendor-copy/libuv/m4/libuv-check-versions.m4 +7 -0
  380. data/src/cxx_supportlib/vendor-copy/libuv/m4/ltoptions.m4 +69 -39
  381. data/src/cxx_supportlib/vendor-copy/libuv/m4/ltsugar.m4 +1 -1
  382. data/src/cxx_supportlib/vendor-copy/libuv/m4/ltversion.m4 +7 -6
  383. data/src/cxx_supportlib/vendor-copy/libuv/m4/lt~obsolete.m4 +2 -2
  384. data/src/cxx_supportlib/vendor-copy/libuv/missing +55 -34
  385. data/src/cxx_supportlib/vendor-copy/libuv/src/fs-poll.c +52 -20
  386. data/src/cxx_supportlib/vendor-copy/libuv/src/idna.c +560 -0
  387. data/src/cxx_supportlib/vendor-copy/libuv/src/idna.h +31 -0
  388. data/src/cxx_supportlib/vendor-copy/libuv/src/inet.c +5 -16
  389. data/src/cxx_supportlib/vendor-copy/libuv/src/queue.h +68 -86
  390. data/src/cxx_supportlib/vendor-copy/libuv/src/random.c +123 -0
  391. data/src/cxx_supportlib/vendor-copy/libuv/src/strscpy.c +38 -0
  392. data/src/cxx_supportlib/vendor-copy/libuv/src/strscpy.h +39 -0
  393. data/src/cxx_supportlib/vendor-copy/libuv/src/strtok.c +52 -0
  394. data/src/cxx_supportlib/vendor-copy/libuv/src/strtok.h +27 -0
  395. data/src/cxx_supportlib/vendor-copy/libuv/src/thread-common.c +175 -0
  396. data/src/cxx_supportlib/vendor-copy/libuv/src/threadpool.c +172 -57
  397. data/src/cxx_supportlib/vendor-copy/libuv/src/{unix/timer.c → timer.c} +57 -29
  398. data/src/cxx_supportlib/vendor-copy/libuv/src/unix/aix-common.c +89 -0
  399. data/src/cxx_supportlib/vendor-copy/libuv/src/unix/aix.c +418 -256
  400. data/src/cxx_supportlib/vendor-copy/libuv/src/unix/async.c +168 -129
  401. data/src/cxx_supportlib/vendor-copy/libuv/src/unix/bsd-ifaddrs.c +163 -0
  402. data/src/cxx_supportlib/vendor-copy/libuv/src/unix/bsd-proctitle.c +99 -0
  403. data/src/cxx_supportlib/vendor-copy/libuv/src/unix/core.c +1312 -378
  404. data/src/cxx_supportlib/vendor-copy/libuv/src/unix/cygwin.c +93 -0
  405. data/src/cxx_supportlib/vendor-copy/libuv/src/unix/darwin-proctitle.c +18 -32
  406. data/src/cxx_supportlib/vendor-copy/libuv/src/unix/darwin-stub.h +97 -0
  407. data/src/cxx_supportlib/vendor-copy/libuv/src/unix/darwin-syscalls.h +17 -0
  408. data/src/cxx_supportlib/vendor-copy/libuv/src/unix/darwin.c +41 -139
  409. data/src/cxx_supportlib/vendor-copy/libuv/src/unix/dl.c +1 -1
  410. data/src/cxx_supportlib/vendor-copy/libuv/src/unix/freebsd.c +75 -235
  411. data/src/cxx_supportlib/vendor-copy/libuv/src/unix/fs.c +1308 -299
  412. data/src/cxx_supportlib/vendor-copy/libuv/src/unix/fsevents.c +150 -148
  413. data/src/cxx_supportlib/vendor-copy/libuv/src/unix/getaddrinfo.c +58 -8
  414. data/src/cxx_supportlib/vendor-copy/libuv/src/unix/getnameinfo.c +3 -2
  415. data/src/cxx_supportlib/vendor-copy/libuv/src/unix/haiku.c +172 -0
  416. data/src/cxx_supportlib/vendor-copy/libuv/src/unix/hurd.c +172 -0
  417. data/src/cxx_supportlib/vendor-copy/libuv/src/unix/ibmi.c +542 -0
  418. data/src/cxx_supportlib/vendor-copy/libuv/src/unix/internal.h +297 -106
  419. data/src/cxx_supportlib/vendor-copy/libuv/src/unix/kqueue.c +325 -94
  420. data/src/cxx_supportlib/vendor-copy/libuv/src/unix/linux.c +2708 -0
  421. data/src/cxx_supportlib/vendor-copy/libuv/src/unix/loop-watcher.c +11 -11
  422. data/src/cxx_supportlib/vendor-copy/libuv/src/unix/loop.c +105 -24
  423. data/src/cxx_supportlib/vendor-copy/libuv/src/unix/netbsd.c +51 -157
  424. data/src/cxx_supportlib/vendor-copy/libuv/src/unix/no-fsevents.c +42 -0
  425. data/src/cxx_supportlib/vendor-copy/libuv/src/unix/no-proctitle.c +45 -0
  426. data/src/cxx_supportlib/vendor-copy/libuv/src/unix/openbsd.c +42 -183
  427. data/src/cxx_supportlib/vendor-copy/libuv/src/unix/os390-proctitle.c +136 -0
  428. data/src/cxx_supportlib/vendor-copy/libuv/src/unix/os390-syscalls.c +536 -0
  429. data/src/cxx_supportlib/vendor-copy/libuv/src/unix/os390-syscalls.h +75 -0
  430. data/src/cxx_supportlib/vendor-copy/libuv/src/unix/os390.c +1070 -0
  431. data/src/cxx_supportlib/vendor-copy/libuv/src/unix/pipe.c +324 -55
  432. data/src/cxx_supportlib/vendor-copy/libuv/src/unix/poll.c +58 -11
  433. data/src/cxx_supportlib/vendor-copy/libuv/src/unix/posix-hrtime.c +36 -0
  434. data/src/cxx_supportlib/vendor-copy/libuv/src/unix/posix-poll.c +385 -0
  435. data/src/cxx_supportlib/vendor-copy/libuv/src/unix/process.c +795 -248
  436. data/src/cxx_supportlib/vendor-copy/libuv/src/unix/procfs-exepath.c +45 -0
  437. data/src/cxx_supportlib/vendor-copy/libuv/src/unix/proctitle.c +77 -22
  438. data/src/cxx_supportlib/vendor-copy/libuv/src/unix/qnx.c +142 -0
  439. data/src/cxx_supportlib/vendor-copy/libuv/src/unix/random-devurandom.c +93 -0
  440. data/src/cxx_supportlib/vendor-copy/libuv/src/unix/random-getentropy.c +57 -0
  441. data/src/cxx_supportlib/vendor-copy/libuv/src/unix/random-getrandom.c +86 -0
  442. data/src/cxx_supportlib/vendor-copy/libuv/src/unix/random-sysctl-linux.c +99 -0
  443. data/src/cxx_supportlib/vendor-copy/libuv/src/unix/signal.c +147 -39
  444. data/src/cxx_supportlib/vendor-copy/libuv/src/unix/stream.c +426 -474
  445. data/src/cxx_supportlib/vendor-copy/libuv/src/unix/sunos.c +240 -98
  446. data/src/cxx_supportlib/vendor-copy/libuv/src/unix/sysinfo-loadavg.c +36 -0
  447. data/src/cxx_supportlib/vendor-copy/libuv/src/unix/sysinfo-memory.c +42 -0
  448. data/src/cxx_supportlib/vendor-copy/libuv/src/unix/tcp.c +402 -91
  449. data/src/cxx_supportlib/vendor-copy/libuv/src/unix/thread.c +497 -145
  450. data/src/cxx_supportlib/vendor-copy/libuv/src/unix/tty.c +269 -45
  451. data/src/cxx_supportlib/vendor-copy/libuv/src/unix/udp.c +695 -165
  452. data/src/cxx_supportlib/vendor-copy/libuv/src/uv-common.c +463 -61
  453. data/src/cxx_supportlib/vendor-copy/libuv/src/uv-common.h +248 -44
  454. data/src/cxx_supportlib/vendor-copy/libuv/src/uv-data-getter-setters.c +119 -0
  455. data/src/cxx_supportlib/vendor-copy/libuv/tsansupp.txt +2 -0
  456. data/src/cxx_supportlib/vendor-modified/libev/Changes +109 -0
  457. data/src/cxx_supportlib/vendor-modified/libev/Makefile.am +2 -1
  458. data/src/cxx_supportlib/vendor-modified/libev/Makefile.in +47 -33
  459. data/src/cxx_supportlib/vendor-modified/libev/README +2 -1
  460. data/src/cxx_supportlib/vendor-modified/libev/aclocal.m4 +1653 -1224
  461. data/src/cxx_supportlib/vendor-modified/libev/config.guess +376 -316
  462. data/src/cxx_supportlib/vendor-modified/libev/config.h.in +13 -2
  463. data/src/cxx_supportlib/vendor-modified/libev/config.sub +156 -154
  464. data/src/cxx_supportlib/vendor-modified/libev/configure +1431 -940
  465. data/src/cxx_supportlib/vendor-modified/libev/configure.ac +3 -3
  466. data/src/cxx_supportlib/vendor-modified/libev/depcomp +5 -5
  467. data/src/cxx_supportlib/vendor-modified/libev/ev++.h +109 -107
  468. data/src/cxx_supportlib/vendor-modified/libev/ev.c +807 -319
  469. data/src/cxx_supportlib/vendor-modified/libev/ev.h +111 -105
  470. data/src/cxx_supportlib/vendor-modified/libev/ev_epoll.c +42 -29
  471. data/src/cxx_supportlib/vendor-modified/libev/ev_iouring.c +694 -0
  472. data/src/cxx_supportlib/vendor-modified/libev/ev_kqueue.c +15 -9
  473. data/src/cxx_supportlib/vendor-modified/libev/ev_linuxaio.c +620 -0
  474. data/src/cxx_supportlib/vendor-modified/libev/ev_poll.c +19 -14
  475. data/src/cxx_supportlib/vendor-modified/libev/ev_port.c +8 -5
  476. data/src/cxx_supportlib/vendor-modified/libev/ev_select.c +6 -6
  477. data/src/cxx_supportlib/vendor-modified/libev/ev_vars.h +48 -3
  478. data/src/cxx_supportlib/vendor-modified/libev/ev_win32.c +2 -2
  479. data/src/cxx_supportlib/vendor-modified/libev/ev_wrap.h +72 -0
  480. data/src/cxx_supportlib/vendor-modified/libev/install-sh +23 -13
  481. data/src/cxx_supportlib/vendor-modified/libev/libev.m4 +6 -1
  482. data/src/cxx_supportlib/vendor-modified/libev/ltmain.sh +3581 -1993
  483. data/src/cxx_supportlib/vendor-modified/libev/missing +8 -8
  484. data/src/cxx_supportlib/vendor-modified/libev/mkinstalldirs +3 -3
  485. data/src/cxx_supportlib/vendor-modified/modp_b64_strict_aliasing.cpp +1 -1
  486. data/src/helper-scripts/backtrace-sanitizer.rb +1 -1
  487. data/src/helper-scripts/crash-watch.rb +1 -1
  488. data/src/helper-scripts/download_binaries/extconf.rb +1 -1
  489. data/src/helper-scripts/meteor-loader.rb +1 -1
  490. data/src/helper-scripts/node-loader.js +1 -1
  491. data/src/helper-scripts/prespawn +1 -1
  492. data/src/helper-scripts/rack-loader.rb +1 -1
  493. data/src/helper-scripts/rack-preloader.rb +1 -1
  494. data/src/helper-scripts/wsgi-loader.py +1 -1
  495. data/src/nginx_module/ConfigGeneral/AutoGeneratedDefinitions.c +1 -1
  496. data/src/nginx_module/ConfigGeneral/AutoGeneratedDefinitions.c.cxxcodebuilder +1 -1
  497. data/src/nginx_module/ConfigGeneral/AutoGeneratedManifestDefaultsInitialization.c +1 -1
  498. data/src/nginx_module/ConfigGeneral/AutoGeneratedManifestDefaultsInitialization.c.cxxcodebuilder +1 -1
  499. data/src/nginx_module/ConfigGeneral/AutoGeneratedSetterFuncs.c +1 -1
  500. data/src/nginx_module/ConfigGeneral/AutoGeneratedSetterFuncs.c.cxxcodebuilder +1 -1
  501. data/src/nginx_module/Configuration.c +1 -1
  502. data/src/nginx_module/Configuration.h +1 -1
  503. data/src/nginx_module/ContentHandler.c +1 -1
  504. data/src/nginx_module/ContentHandler.h +1 -1
  505. data/src/nginx_module/LocationConfig/AutoGeneratedCreateFunction.c +1 -1
  506. data/src/nginx_module/LocationConfig/AutoGeneratedCreateFunction.c.cxxcodebuilder +1 -1
  507. data/src/nginx_module/LocationConfig/AutoGeneratedHeaderSerialization.c +1 -1
  508. data/src/nginx_module/LocationConfig/AutoGeneratedHeaderSerialization.c.cxxcodebuilder +1 -1
  509. data/src/nginx_module/LocationConfig/AutoGeneratedManifestGeneration.c +1 -1
  510. data/src/nginx_module/LocationConfig/AutoGeneratedManifestGeneration.c.cxxcodebuilder +1 -1
  511. data/src/nginx_module/LocationConfig/AutoGeneratedMergeFunction.c +1 -1
  512. data/src/nginx_module/LocationConfig/AutoGeneratedMergeFunction.c.cxxcodebuilder +1 -1
  513. data/src/nginx_module/LocationConfig/AutoGeneratedStruct.h +1 -1
  514. data/src/nginx_module/LocationConfig/AutoGeneratedStruct.h.cxxcodebuilder +1 -1
  515. data/src/nginx_module/MainConfig/AutoGeneratedCreateFunction.c +1 -1
  516. data/src/nginx_module/MainConfig/AutoGeneratedCreateFunction.c.cxxcodebuilder +1 -1
  517. data/src/nginx_module/MainConfig/AutoGeneratedManifestGeneration.c +1 -1
  518. data/src/nginx_module/MainConfig/AutoGeneratedManifestGeneration.c.cxxcodebuilder +1 -1
  519. data/src/nginx_module/MainConfig/AutoGeneratedStruct.h +1 -1
  520. data/src/nginx_module/MainConfig/AutoGeneratedStruct.h.cxxcodebuilder +1 -1
  521. data/src/nginx_module/StaticContentHandler.c +1 -1
  522. data/src/nginx_module/StaticContentHandler.h +1 -1
  523. data/src/nginx_module/ngx_http_passenger_module.c +1 -1
  524. data/src/nginx_module/ngx_http_passenger_module.h +1 -1
  525. data/src/nodejs_supportlib/phusion_passenger/line_reader.js +1 -1
  526. data/src/ruby_native_extension/extconf.rb +1 -1
  527. data/src/ruby_native_extension/passenger_native_support.c +1 -1
  528. data/src/ruby_supportlib/phusion_passenger/abstract_installer.rb +1 -1
  529. data/src/ruby_supportlib/phusion_passenger/admin_tools/instance.rb +1 -1
  530. data/src/ruby_supportlib/phusion_passenger/admin_tools/instance_registry.rb +1 -1
  531. data/src/ruby_supportlib/phusion_passenger/admin_tools/memory_stats.rb +2 -12
  532. data/src/ruby_supportlib/phusion_passenger/admin_tools.rb +1 -1
  533. data/src/ruby_supportlib/phusion_passenger/apache2/config_options.rb +1 -1
  534. data/src/ruby_supportlib/phusion_passenger/apache2/config_utils.rb +1 -1
  535. data/src/ruby_supportlib/phusion_passenger/common_library.rb +8 -10
  536. data/src/ruby_supportlib/phusion_passenger/config/about_command.rb +1 -1
  537. data/src/ruby_supportlib/phusion_passenger/config/agent_compiler.rb +1 -1
  538. data/src/ruby_supportlib/phusion_passenger/config/api_call_command.rb +1 -1
  539. data/src/ruby_supportlib/phusion_passenger/config/build_native_support_command.rb +1 -1
  540. data/src/ruby_supportlib/phusion_passenger/config/command.rb +1 -1
  541. data/src/ruby_supportlib/phusion_passenger/config/compile_agent_command.rb +1 -1
  542. data/src/ruby_supportlib/phusion_passenger/config/compile_nginx_engine_command.rb +1 -1
  543. data/src/ruby_supportlib/phusion_passenger/config/detach_process_command.rb +1 -1
  544. data/src/ruby_supportlib/phusion_passenger/config/download_agent_command.rb +1 -1
  545. data/src/ruby_supportlib/phusion_passenger/config/download_nginx_engine_command.rb +1 -1
  546. data/src/ruby_supportlib/phusion_passenger/config/install_agent_command.rb +1 -1
  547. data/src/ruby_supportlib/phusion_passenger/config/install_standalone_runtime_command.rb +1 -1
  548. data/src/ruby_supportlib/phusion_passenger/config/installation_utils.rb +1 -1
  549. data/src/ruby_supportlib/phusion_passenger/config/list_instances_command.rb +1 -1
  550. data/src/ruby_supportlib/phusion_passenger/config/main.rb +1 -1
  551. data/src/ruby_supportlib/phusion_passenger/config/nginx_engine_compiler.rb +3 -2
  552. data/src/ruby_supportlib/phusion_passenger/config/reopen_logs_command.rb +6 -1
  553. data/src/ruby_supportlib/phusion_passenger/config/restart_app_command.rb +1 -1
  554. data/src/ruby_supportlib/phusion_passenger/config/system_metrics_command.rb +1 -1
  555. data/src/ruby_supportlib/phusion_passenger/config/system_properties_command.rb +1 -1
  556. data/src/ruby_supportlib/phusion_passenger/config/utils.rb +1 -1
  557. data/src/ruby_supportlib/phusion_passenger/config/validate_install_command.rb +1 -1
  558. data/src/ruby_supportlib/phusion_passenger/console_text_template.rb +1 -1
  559. data/src/ruby_supportlib/phusion_passenger/constants.rb +1 -1
  560. data/src/ruby_supportlib/phusion_passenger/debug_logging.rb +1 -1
  561. data/src/ruby_supportlib/phusion_passenger/loader_shared_helpers.rb +1 -1
  562. data/src/ruby_supportlib/phusion_passenger/message_channel.rb +1 -1
  563. data/src/ruby_supportlib/phusion_passenger/message_client.rb +1 -1
  564. data/src/ruby_supportlib/phusion_passenger/native_support.rb +1 -1
  565. data/src/ruby_supportlib/phusion_passenger/nginx/config_options.rb +1 -1
  566. data/src/ruby_supportlib/phusion_passenger/packaging.rb +4 -3
  567. data/src/ruby_supportlib/phusion_passenger/platform_info/apache.rb +1 -1
  568. data/src/ruby_supportlib/phusion_passenger/platform_info/apache_detector.rb +1 -1
  569. data/src/ruby_supportlib/phusion_passenger/platform_info/binary_compatibility.rb +1 -1
  570. data/src/ruby_supportlib/phusion_passenger/platform_info/compiler.rb +195 -11
  571. data/src/ruby_supportlib/phusion_passenger/platform_info/crypto.rb +1 -1
  572. data/src/ruby_supportlib/phusion_passenger/platform_info/curl.rb +1 -1
  573. data/src/ruby_supportlib/phusion_passenger/platform_info/cxx_portability.rb +1 -1
  574. data/src/ruby_supportlib/phusion_passenger/platform_info/linux.rb +1 -1
  575. data/src/ruby_supportlib/phusion_passenger/platform_info/networking.rb +1 -1
  576. data/src/ruby_supportlib/phusion_passenger/platform_info/openssl.rb +1 -1
  577. data/src/ruby_supportlib/phusion_passenger/platform_info/operating_system.rb +1 -1
  578. data/src/ruby_supportlib/phusion_passenger/platform_info/pcre.rb +1 -1
  579. data/src/ruby_supportlib/phusion_passenger/platform_info/ruby.rb +1 -1
  580. data/src/ruby_supportlib/phusion_passenger/platform_info/zlib.rb +1 -1
  581. data/src/ruby_supportlib/phusion_passenger/platform_info.rb +1 -1
  582. data/src/ruby_supportlib/phusion_passenger/plugin.rb +1 -1
  583. data/src/ruby_supportlib/phusion_passenger/preloader_shared_helpers.rb +1 -1
  584. data/src/ruby_supportlib/phusion_passenger/public_api.rb +1 -1
  585. data/src/ruby_supportlib/phusion_passenger/rack/handler.rb +1 -1
  586. data/src/ruby_supportlib/phusion_passenger/rack/out_of_band_gc.rb +1 -1
  587. data/src/ruby_supportlib/phusion_passenger/rack/thread_handler_extension.rb +1 -1
  588. data/src/ruby_supportlib/phusion_passenger/rack_handler.rb +1 -1
  589. data/src/ruby_supportlib/phusion_passenger/request_handler/thread_handler.rb +2 -7
  590. data/src/ruby_supportlib/phusion_passenger/request_handler.rb +1 -1
  591. data/src/ruby_supportlib/phusion_passenger/ruby_core_enhancements.rb +1 -1
  592. data/src/ruby_supportlib/phusion_passenger/ruby_core_io_enhancements.rb +1 -1
  593. data/src/ruby_supportlib/phusion_passenger/simple_benchmarking.rb +1 -1
  594. data/src/ruby_supportlib/phusion_passenger/standalone/app_finder.rb +1 -1
  595. data/src/ruby_supportlib/phusion_passenger/standalone/command.rb +1 -1
  596. data/src/ruby_supportlib/phusion_passenger/standalone/config_options_list.rb +1 -1
  597. data/src/ruby_supportlib/phusion_passenger/standalone/config_utils.rb +1 -1
  598. data/src/ruby_supportlib/phusion_passenger/standalone/control_utils.rb +1 -1
  599. data/src/ruby_supportlib/phusion_passenger/standalone/main.rb +1 -1
  600. data/src/ruby_supportlib/phusion_passenger/standalone/start_command/builtin_engine.rb +2 -2
  601. data/src/ruby_supportlib/phusion_passenger/standalone/start_command/nginx_engine.rb +4 -8
  602. data/src/ruby_supportlib/phusion_passenger/standalone/start_command.rb +1 -1
  603. data/src/ruby_supportlib/phusion_passenger/standalone/status_command.rb +1 -1
  604. data/src/ruby_supportlib/phusion_passenger/standalone/stop_command.rb +1 -1
  605. data/src/ruby_supportlib/phusion_passenger/standalone/version_command.rb +1 -1
  606. data/src/ruby_supportlib/phusion_passenger/utils/ansi_colors.rb +1 -1
  607. data/src/ruby_supportlib/phusion_passenger/utils/download.rb +1 -1
  608. data/src/ruby_supportlib/phusion_passenger/utils/file_system_watcher.rb +1 -1
  609. data/src/ruby_supportlib/phusion_passenger/utils/hosts_file_parser.rb +1 -1
  610. data/src/ruby_supportlib/phusion_passenger/utils/lock.rb +1 -1
  611. data/src/ruby_supportlib/phusion_passenger/utils/native_support_utils.rb +1 -1
  612. data/src/ruby_supportlib/phusion_passenger/utils/progress_bar.rb +1 -1
  613. data/src/ruby_supportlib/phusion_passenger/utils/strscan.rb +1 -1
  614. data/src/ruby_supportlib/phusion_passenger/utils/terminal_choice_menu.rb +1 -1
  615. data/src/ruby_supportlib/phusion_passenger/utils/unseekable_socket.rb +3 -13
  616. data/src/ruby_supportlib/phusion_passenger/utils.rb +1 -1
  617. data/src/ruby_supportlib/phusion_passenger/vendor/crash_watch/app.rb +1 -1
  618. data/src/ruby_supportlib/phusion_passenger/vendor/crash_watch/base.rb +1 -1
  619. data/src/ruby_supportlib/phusion_passenger/vendor/crash_watch/gdb_controller.rb +1 -1
  620. data/src/ruby_supportlib/phusion_passenger/vendor/crash_watch/lldb_controller.rb +1 -1
  621. data/src/ruby_supportlib/phusion_passenger/vendor/crash_watch/utils.rb +1 -1
  622. data/src/ruby_supportlib/phusion_passenger/vendor/crash_watch/version.rb +1 -1
  623. data/src/ruby_supportlib/phusion_passenger/vendor/daemon_controller/lock_file.rb +8 -6
  624. data/src/ruby_supportlib/phusion_passenger/vendor/daemon_controller/spawn.rb +4 -3
  625. data/src/ruby_supportlib/phusion_passenger/vendor/daemon_controller/version.rb +6 -4
  626. data/src/ruby_supportlib/phusion_passenger/vendor/daemon_controller.rb +395 -579
  627. data/src/ruby_supportlib/phusion_passenger.rb +8 -8
  628. data/src/schema_printer/SchemaPrinterMain.cpp +1 -1
  629. data/src/schema_printer/SchemaPrinterMain.cpp.cxxcodebuilder +1 -1
  630. metadata +69 -32
  631. data/doc/DeveloperQuickstart.md +0 -70
  632. data/src/README.md +0 -7
  633. data/src/cxx_supportlib/vendor-copy/libuv/README.md +0 -245
  634. data/src/cxx_supportlib/vendor-copy/libuv/checksparse.sh +0 -234
  635. data/src/cxx_supportlib/vendor-copy/libuv/common.gypi +0 -210
  636. data/src/cxx_supportlib/vendor-copy/libuv/gyp_uv.py +0 -93
  637. data/src/cxx_supportlib/vendor-copy/libuv/include/android-ifaddrs.h +0 -54
  638. data/src/cxx_supportlib/vendor-copy/libuv/include/pthread-fixes.h +0 -72
  639. data/src/cxx_supportlib/vendor-copy/libuv/src/unix/android-ifaddrs.c +0 -703
  640. data/src/cxx_supportlib/vendor-copy/libuv/src/unix/atomic-ops.h +0 -77
  641. data/src/cxx_supportlib/vendor-copy/libuv/src/unix/linux-core.c +0 -899
  642. data/src/cxx_supportlib/vendor-copy/libuv/src/unix/linux-inotify.c +0 -285
  643. data/src/cxx_supportlib/vendor-copy/libuv/src/unix/linux-syscalls.c +0 -471
  644. data/src/cxx_supportlib/vendor-copy/libuv/src/unix/linux-syscalls.h +0 -158
  645. data/src/cxx_supportlib/vendor-copy/libuv/src/unix/pthread-fixes.c +0 -104
  646. data/src/cxx_supportlib/vendor-copy/libuv/src/unix/spinlock.h +0 -53
  647. data/src/cxx_supportlib/vendor-copy/libuv/uv.gyp +0 -508
  648. /data/src/cxx_supportlib/vendor-copy/libuv/include/{uv-aix.h → uv/aix.h} +0 -0
  649. /data/src/cxx_supportlib/vendor-copy/libuv/include/{uv-bsd.h → uv/bsd.h} +0 -0
  650. /data/src/cxx_supportlib/vendor-copy/libuv/include/{uv-sunos.h → uv/sunos.h} +0 -0
@@ -1,6 +1,6 @@
1
- # generated automatically by aclocal 1.15 -*- Autoconf -*-
1
+ # generated automatically by aclocal 1.18.1 -*- Autoconf -*-
2
2
 
3
- # Copyright (C) 1996-2014 Free Software Foundation, Inc.
3
+ # Copyright (C) 1996-2025 Free Software Foundation, Inc.
4
4
 
5
5
  # This file is free software; the Free Software Foundation
6
6
  # gives unlimited permission to copy and/or distribute it,
@@ -14,13 +14,13 @@
14
14
  m4_ifndef([AC_CONFIG_MACRO_DIRS], [m4_defun([_AM_CONFIG_MACRO_DIRS], [])m4_defun([AC_CONFIG_MACRO_DIRS], [_AM_CONFIG_MACRO_DIRS($@)])])
15
15
  m4_ifndef([AC_AUTOCONF_VERSION],
16
16
  [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
17
- m4_if(m4_defn([AC_AUTOCONF_VERSION]), [2.69],,
18
- [m4_warning([this file was generated for autoconf 2.69.
17
+ m4_if(m4_defn([AC_AUTOCONF_VERSION]), [2.72],,
18
+ [m4_warning([this file was generated for autoconf 2.72.
19
19
  You have another version of autoconf. It may work, but is not guaranteed to.
20
20
  If you have problems, you may need to regenerate the build system entirely.
21
21
  To do so, use the procedure documented by the package, typically 'autoreconf'.])])
22
22
 
23
- # Copyright (C) 2002-2014 Free Software Foundation, Inc.
23
+ # Copyright (C) 2002-2025 Free Software Foundation, Inc.
24
24
  #
25
25
  # This file is free software; the Free Software Foundation
26
26
  # gives unlimited permission to copy and/or distribute it,
@@ -32,10 +32,10 @@ To do so, use the procedure documented by the package, typically 'autoreconf'.])
32
32
  # generated from the m4 files accompanying Automake X.Y.
33
33
  # (This private macro should not be called outside this file.)
34
34
  AC_DEFUN([AM_AUTOMAKE_VERSION],
35
- [am__api_version='1.15'
35
+ [am__api_version='1.18'
36
36
  dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to
37
37
  dnl require some minimum version. Point them to the right macro.
38
- m4_if([$1], [1.15], [],
38
+ m4_if([$1], [1.18.1], [],
39
39
  [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl
40
40
  ])
41
41
 
@@ -51,12 +51,12 @@ m4_define([_AM_AUTOCONF_VERSION], [])
51
51
  # Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced.
52
52
  # This function is AC_REQUIREd by AM_INIT_AUTOMAKE.
53
53
  AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
54
- [AM_AUTOMAKE_VERSION([1.15])dnl
54
+ [AM_AUTOMAKE_VERSION([1.18.1])dnl
55
55
  m4_ifndef([AC_AUTOCONF_VERSION],
56
56
  [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
57
57
  _AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))])
58
58
 
59
- # Copyright (C) 2011-2014 Free Software Foundation, Inc.
59
+ # Copyright (C) 2011-2025 Free Software Foundation, Inc.
60
60
  #
61
61
  # This file is free software; the Free Software Foundation
62
62
  # gives unlimited permission to copy and/or distribute it,
@@ -70,16 +70,18 @@ _AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))])
70
70
  AC_DEFUN([AM_PROG_AR],
71
71
  [AC_BEFORE([$0], [LT_INIT])dnl
72
72
  AC_BEFORE([$0], [AC_PROG_LIBTOOL])dnl
73
+ AC_BEFORE([$0], [AC_PROG_AR])dnl
73
74
  AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
74
75
  AC_REQUIRE_AUX_FILE([ar-lib])dnl
75
76
  AC_CHECK_TOOLS([AR], [ar lib "link -lib"], [false])
76
77
  : ${AR=ar}
78
+ : ${ARFLAGS=cr}
77
79
 
78
80
  AC_CACHE_CHECK([the archiver ($AR) interface], [am_cv_ar_interface],
79
81
  [AC_LANG_PUSH([C])
80
82
  am_cv_ar_interface=ar
81
83
  AC_COMPILE_IFELSE([AC_LANG_SOURCE([[int some_variable = 0;]])],
82
- [am_ar_try='$AR cru libconftest.a conftest.$ac_objext >&AS_MESSAGE_LOG_FD'
84
+ [am_ar_try='$AR $ARFLAGS libconftest.a conftest.$ac_objext >&AS_MESSAGE_LOG_FD'
83
85
  AC_TRY_EVAL([am_ar_try])
84
86
  if test "$ac_status" -eq 0; then
85
87
  am_cv_ar_interface=ar
@@ -118,7 +120,7 @@ AC_SUBST([AR])dnl
118
120
 
119
121
  # AM_AUX_DIR_EXPAND -*- Autoconf -*-
120
122
 
121
- # Copyright (C) 2001-2014 Free Software Foundation, Inc.
123
+ # Copyright (C) 2001-2025 Free Software Foundation, Inc.
122
124
  #
123
125
  # This file is free software; the Free Software Foundation
124
126
  # gives unlimited permission to copy and/or distribute it,
@@ -170,7 +172,7 @@ am_aux_dir=`cd "$ac_aux_dir" && pwd`
170
172
 
171
173
  # AM_CONDITIONAL -*- Autoconf -*-
172
174
 
173
- # Copyright (C) 1997-2014 Free Software Foundation, Inc.
175
+ # Copyright (C) 1997-2025 Free Software Foundation, Inc.
174
176
  #
175
177
  # This file is free software; the Free Software Foundation
176
178
  # gives unlimited permission to copy and/or distribute it,
@@ -201,7 +203,7 @@ AC_CONFIG_COMMANDS_PRE(
201
203
  Usually this means the macro was only invoked conditionally.]])
202
204
  fi])])
203
205
 
204
- # Copyright (C) 1999-2014 Free Software Foundation, Inc.
206
+ # Copyright (C) 1999-2025 Free Software Foundation, Inc.
205
207
  #
206
208
  # This file is free software; the Free Software Foundation
207
209
  # gives unlimited permission to copy and/or distribute it,
@@ -333,7 +335,7 @@ AC_CACHE_CHECK([dependency style of $depcc],
333
335
  # icc doesn't choke on unknown options, it will just issue warnings
334
336
  # or remarks (even with -Werror). So we grep stderr for any message
335
337
  # that says an option was ignored or not supported.
336
- # When given -MP, icc 7.0 and 7.1 complain thusly:
338
+ # When given -MP, icc 7.0 and 7.1 complain thus:
337
339
  # icc: Command line warning: ignoring option '-M'; no argument required
338
340
  # The diagnosis changed in icc 8.0:
339
341
  # icc: Command line remark: option '-MP' not supported
@@ -392,13 +394,12 @@ _AM_SUBST_NOTMAKE([am__nodep])dnl
392
394
 
393
395
  # Generate code to set up dependency tracking. -*- Autoconf -*-
394
396
 
395
- # Copyright (C) 1999-2014 Free Software Foundation, Inc.
397
+ # Copyright (C) 1999-2025 Free Software Foundation, Inc.
396
398
  #
397
399
  # This file is free software; the Free Software Foundation
398
400
  # gives unlimited permission to copy and/or distribute it,
399
401
  # with or without modifications, as long as this notice is preserved.
400
402
 
401
-
402
403
  # _AM_OUTPUT_DEPENDENCY_COMMANDS
403
404
  # ------------------------------
404
405
  AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS],
@@ -406,49 +407,43 @@ AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS],
406
407
  # Older Autoconf quotes --file arguments for eval, but not when files
407
408
  # are listed without --file. Let's play safe and only enable the eval
408
409
  # if we detect the quoting.
409
- case $CONFIG_FILES in
410
- *\'*) eval set x "$CONFIG_FILES" ;;
411
- *) set x $CONFIG_FILES ;;
412
- esac
410
+ # TODO: see whether this extra hack can be removed once we start
411
+ # requiring Autoconf 2.70 or later.
412
+ AS_CASE([$CONFIG_FILES],
413
+ [*\'*], [eval set x "$CONFIG_FILES"],
414
+ [*], [set x $CONFIG_FILES])
413
415
  shift
414
- for mf
416
+ # Used to flag and report bootstrapping failures.
417
+ am_rc=0
418
+ for am_mf
415
419
  do
416
420
  # Strip MF so we end up with the name of the file.
417
- mf=`echo "$mf" | sed -e 's/:.*$//'`
418
- # Check whether this is an Automake generated Makefile or not.
419
- # We used to match only the files named 'Makefile.in', but
420
- # some people rename them; so instead we look at the file content.
421
- # Grep'ing the first line is not enough: some people post-process
422
- # each Makefile.in and add a new line on top of each file to say so.
423
- # Grep'ing the whole file is not good either: AIX grep has a line
421
+ am_mf=`AS_ECHO(["$am_mf"]) | sed -e 's/:.*$//'`
422
+ # Check whether this is an Automake generated Makefile which includes
423
+ # dependency-tracking related rules and includes.
424
+ # Grep'ing the whole file directly is not great: AIX grep has a line
424
425
  # limit of 2048, but all sed's we know have understand at least 4000.
425
- if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then
426
- dirpart=`AS_DIRNAME("$mf")`
427
- else
428
- continue
429
- fi
430
- # Extract the definition of DEPDIR, am__include, and am__quote
431
- # from the Makefile without running 'make'.
432
- DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"`
433
- test -z "$DEPDIR" && continue
434
- am__include=`sed -n 's/^am__include = //p' < "$mf"`
435
- test -z "$am__include" && continue
436
- am__quote=`sed -n 's/^am__quote = //p' < "$mf"`
437
- # Find all dependency output files, they are included files with
438
- # $(DEPDIR) in their names. We invoke sed twice because it is the
439
- # simplest approach to changing $(DEPDIR) to its actual value in the
440
- # expansion.
441
- for file in `sed -n "
442
- s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \
443
- sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g'`; do
444
- # Make sure the directory exists.
445
- test -f "$dirpart/$file" && continue
446
- fdir=`AS_DIRNAME(["$file"])`
447
- AS_MKDIR_P([$dirpart/$fdir])
448
- # echo "creating $dirpart/$file"
449
- echo '# dummy' > "$dirpart/$file"
450
- done
426
+ sed -n 's,^am--depfiles:.*,X,p' "$am_mf" | grep X >/dev/null 2>&1 \
427
+ || continue
428
+ am_dirpart=`AS_DIRNAME(["$am_mf"])`
429
+ am_filepart=`AS_BASENAME(["$am_mf"])`
430
+ AM_RUN_LOG([cd "$am_dirpart" \
431
+ && sed -e '/# am--include-marker/d' "$am_filepart" \
432
+ | $MAKE -f - am--depfiles]) || am_rc=$?
451
433
  done
434
+ if test $am_rc -ne 0; then
435
+ AC_MSG_FAILURE([Something went wrong bootstrapping makefile fragments
436
+ for automatic dependency tracking. If GNU make was not used, consider
437
+ re-running the configure script with MAKE="gmake" (or whatever is
438
+ necessary). You can also try re-running configure with the
439
+ '--disable-dependency-tracking' option to at least be able to build
440
+ the package (albeit without support for automatic dependency tracking).])
441
+ fi
442
+ AS_UNSET([am_dirpart])
443
+ AS_UNSET([am_filepart])
444
+ AS_UNSET([am_mf])
445
+ AS_UNSET([am_rc])
446
+ rm -f conftest-deps.mk
452
447
  }
453
448
  ])# _AM_OUTPUT_DEPENDENCY_COMMANDS
454
449
 
@@ -457,18 +452,17 @@ AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS],
457
452
  # -----------------------------
458
453
  # This macro should only be invoked once -- use via AC_REQUIRE.
459
454
  #
460
- # This code is only required when automatic dependency tracking
461
- # is enabled. FIXME. This creates each '.P' file that we will
462
- # need in order to bootstrap the dependency handling code.
455
+ # This code is only required when automatic dependency tracking is enabled.
456
+ # This creates each '.Po' and '.Plo' makefile fragment that we'll need in
457
+ # order to bootstrap the dependency handling code.
463
458
  AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS],
464
459
  [AC_CONFIG_COMMANDS([depfiles],
465
460
  [test x"$AMDEP_TRUE" != x"" || _AM_OUTPUT_DEPENDENCY_COMMANDS],
466
- [AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"])
467
- ])
461
+ [AMDEP_TRUE="$AMDEP_TRUE" MAKE="${MAKE-make}"])])
468
462
 
469
463
  # Do all the work for Automake. -*- Autoconf -*-
470
464
 
471
- # Copyright (C) 1996-2014 Free Software Foundation, Inc.
465
+ # Copyright (C) 1996-2025 Free Software Foundation, Inc.
472
466
  #
473
467
  # This file is free software; the Free Software Foundation
474
468
  # gives unlimited permission to copy and/or distribute it,
@@ -496,6 +490,10 @@ m4_defn([AC_PROG_CC])
496
490
  # release and drop the old call support.
497
491
  AC_DEFUN([AM_INIT_AUTOMAKE],
498
492
  [AC_PREREQ([2.65])dnl
493
+ m4_ifdef([_$0_ALREADY_INIT],
494
+ [m4_fatal([$0 expanded multiple times
495
+ ]m4_defn([_$0_ALREADY_INIT]))],
496
+ [m4_define([_$0_ALREADY_INIT], m4_expansion_stack)])dnl
499
497
  dnl Autoconf wants to disallow AM_ names. We explicitly allow
500
498
  dnl the ones we care about.
501
499
  m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl
@@ -532,7 +530,7 @@ m4_ifval([$3], [_AM_SET_OPTION([no-define])])dnl
532
530
  [_AM_SET_OPTIONS([$1])dnl
533
531
  dnl Diagnose old-style AC_INIT with new-style AM_AUTOMAKE_INIT.
534
532
  m4_if(
535
- m4_ifdef([AC_PACKAGE_NAME], [ok]):m4_ifdef([AC_PACKAGE_VERSION], [ok]),
533
+ m4_ifset([AC_PACKAGE_NAME], [ok]):m4_ifset([AC_PACKAGE_VERSION], [ok]),
536
534
  [ok:ok],,
537
535
  [m4_fatal([AC_INIT should be called with package and version arguments])])dnl
538
536
  AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME'])dnl
@@ -555,8 +553,8 @@ AC_REQUIRE([AM_PROG_INSTALL_STRIP])dnl
555
553
  AC_REQUIRE([AC_PROG_MKDIR_P])dnl
556
554
  # For better backward compatibility. To be removed once Automake 1.9.x
557
555
  # dies out for good. For more background, see:
558
- # <http://lists.gnu.org/archive/html/automake/2012-07/msg00001.html>
559
- # <http://lists.gnu.org/archive/html/automake/2012-07/msg00014.html>
556
+ # <https://lists.gnu.org/archive/html/automake/2012-07/msg00001.html>
557
+ # <https://lists.gnu.org/archive/html/automake/2012-07/msg00014.html>
560
558
  AC_SUBST([mkdir_p], ['$(MKDIR_P)'])
561
559
  # We need awk for the "check" target (and possibly the TAP driver). The
562
560
  # system "awk" is bad on some platforms.
@@ -564,8 +562,9 @@ AC_REQUIRE([AC_PROG_AWK])dnl
564
562
  AC_REQUIRE([AC_PROG_MAKE_SET])dnl
565
563
  AC_REQUIRE([AM_SET_LEADING_DOT])dnl
566
564
  _AM_IF_OPTION([tar-ustar], [_AM_PROG_TAR([ustar])],
567
- [_AM_IF_OPTION([tar-pax], [_AM_PROG_TAR([pax])],
568
- [_AM_PROG_TAR([v7])])])
565
+ [_AM_IF_OPTION([tar-pax], [_AM_PROG_TAR([pax])],
566
+ [_AM_IF_OPTION([tar-v7], [_AM_PROG_TAR([v7])],
567
+ [_AM_PROG_TAR([ustar])])])])
569
568
  _AM_IF_OPTION([no-dependencies],,
570
569
  [AC_PROVIDE_IFELSE([AC_PROG_CC],
571
570
  [_AM_DEPENDENCIES([CC])],
@@ -584,7 +583,21 @@ AC_PROVIDE_IFELSE([AC_PROG_OBJCXX],
584
583
  [m4_define([AC_PROG_OBJCXX],
585
584
  m4_defn([AC_PROG_OBJCXX])[_AM_DEPENDENCIES([OBJCXX])])])dnl
586
585
  ])
587
- AC_REQUIRE([AM_SILENT_RULES])dnl
586
+ # Variables for tags utilities; see am/tags.am
587
+ if test -z "$CTAGS"; then
588
+ CTAGS=ctags
589
+ fi
590
+ AC_SUBST([CTAGS])
591
+ if test -z "$ETAGS"; then
592
+ ETAGS=etags
593
+ fi
594
+ AC_SUBST([ETAGS])
595
+ if test -z "$CSCOPE"; then
596
+ CSCOPE=cscope
597
+ fi
598
+ AC_SUBST([CSCOPE])
599
+
600
+ AC_REQUIRE([_AM_SILENT_RULES])dnl
588
601
  dnl The testsuite driver may need to know about EXEEXT, so add the
589
602
  dnl 'am__EXEEXT' conditional if _AM_COMPILER_EXEEXT was seen. This
590
603
  dnl macro is hooked onto _AC_COMPILER_EXEEXT early, see below.
@@ -592,47 +605,9 @@ AC_CONFIG_COMMANDS_PRE(dnl
592
605
  [m4_provide_if([_AM_COMPILER_EXEEXT],
593
606
  [AM_CONDITIONAL([am__EXEEXT], [test -n "$EXEEXT"])])])dnl
594
607
 
595
- # POSIX will say in a future version that running "rm -f" with no argument
596
- # is OK; and we want to be able to make that assumption in our Makefile
597
- # recipes. So use an aggressive probe to check that the usage we want is
598
- # actually supported "in the wild" to an acceptable degree.
599
- # See automake bug#10828.
600
- # To make any issue more visible, cause the running configure to be aborted
601
- # by default if the 'rm' program in use doesn't match our expectations; the
602
- # user can still override this though.
603
- if rm -f && rm -fr && rm -rf; then : OK; else
604
- cat >&2 <<'END'
605
- Oops!
606
-
607
- Your 'rm' program seems unable to run without file operands specified
608
- on the command line, even when the '-f' option is present. This is contrary
609
- to the behaviour of most rm programs out there, and not conforming with
610
- the upcoming POSIX standard: <http://austingroupbugs.net/view.php?id=542>
611
-
612
- Please tell bug-automake@gnu.org about your system, including the value
613
- of your $PATH and any error possibly output before this message. This
614
- can help us improve future automake versions.
615
-
616
- END
617
- if test x"$ACCEPT_INFERIOR_RM_PROGRAM" = x"yes"; then
618
- echo 'Configuration will proceed anyway, since you have set the' >&2
619
- echo 'ACCEPT_INFERIOR_RM_PROGRAM variable to "yes"' >&2
620
- echo >&2
621
- else
622
- cat >&2 <<'END'
623
- Aborting the configuration process, to ensure you take notice of the issue.
624
-
625
- You can download and install GNU coreutils to get an 'rm' implementation
626
- that behaves properly: <http://www.gnu.org/software/coreutils/>.
627
-
628
- If you want to complete the configuration process using your problematic
629
- 'rm' anyway, export the environment variable ACCEPT_INFERIOR_RM_PROGRAM
630
- to "yes", and re-run configure.
608
+ AC_REQUIRE([_AM_PROG_RM_F])
609
+ AC_REQUIRE([_AM_PROG_XARGS_N])
631
610
 
632
- END
633
- AC_MSG_ERROR([Your 'rm' program is bad, sorry.])
634
- fi
635
- fi
636
611
  dnl The trailing newline in this macro's definition is deliberate, for
637
612
  dnl backward compatibility and to allow trailing 'dnl'-style comments
638
613
  dnl after the AM_INIT_AUTOMAKE invocation. See automake bug#16841.
@@ -665,7 +640,7 @@ for _am_header in $config_headers :; do
665
640
  done
666
641
  echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_count])
667
642
 
668
- # Copyright (C) 2001-2014 Free Software Foundation, Inc.
643
+ # Copyright (C) 2001-2025 Free Software Foundation, Inc.
669
644
  #
670
645
  # This file is free software; the Free Software Foundation
671
646
  # gives unlimited permission to copy and/or distribute it,
@@ -686,7 +661,7 @@ if test x"${install_sh+set}" != xset; then
686
661
  fi
687
662
  AC_SUBST([install_sh])])
688
663
 
689
- # Copyright (C) 2003-2014 Free Software Foundation, Inc.
664
+ # Copyright (C) 2003-2025 Free Software Foundation, Inc.
690
665
  #
691
666
  # This file is free software; the Free Software Foundation
692
667
  # gives unlimited permission to copy and/or distribute it,
@@ -705,9 +680,45 @@ fi
705
680
  rmdir .tst 2>/dev/null
706
681
  AC_SUBST([am__leading_dot])])
707
682
 
683
+ # Add --enable-maintainer-mode option to configure. -*- Autoconf -*-
684
+ # From Jim Meyering
685
+
686
+ # Copyright (C) 1996-2025 Free Software Foundation, Inc.
687
+ #
688
+ # This file is free software; the Free Software Foundation
689
+ # gives unlimited permission to copy and/or distribute it,
690
+ # with or without modifications, as long as this notice is preserved.
691
+
692
+ # AM_MAINTAINER_MODE([DEFAULT-MODE])
693
+ # ----------------------------------
694
+ # Control maintainer-specific portions of Makefiles.
695
+ # Default is to disable them, unless 'enable' is passed literally.
696
+ # For symmetry, 'disable' may be passed as well. Anyway, the user
697
+ # can override the default with the --enable/--disable switch.
698
+ AC_DEFUN([AM_MAINTAINER_MODE],
699
+ [m4_case(m4_default([$1], [disable]),
700
+ [enable], [m4_define([am_maintainer_other], [disable])],
701
+ [disable], [m4_define([am_maintainer_other], [enable])],
702
+ [m4_define([am_maintainer_other], [enable])
703
+ m4_warn([syntax], [unexpected argument to AM@&t@_MAINTAINER_MODE: $1])])
704
+ AC_MSG_CHECKING([whether to enable maintainer-specific portions of Makefiles])
705
+ dnl maintainer-mode's default is 'disable' unless 'enable' is passed
706
+ AC_ARG_ENABLE([maintainer-mode],
707
+ [AS_HELP_STRING([--]am_maintainer_other[-maintainer-mode],
708
+ am_maintainer_other[ make rules and dependencies not useful
709
+ (and sometimes confusing) to the casual installer])],
710
+ [USE_MAINTAINER_MODE=$enableval],
711
+ [USE_MAINTAINER_MODE=]m4_if(am_maintainer_other, [enable], [no], [yes]))
712
+ AC_MSG_RESULT([$USE_MAINTAINER_MODE])
713
+ AM_CONDITIONAL([MAINTAINER_MODE], [test $USE_MAINTAINER_MODE = yes])
714
+ MAINT=$MAINTAINER_MODE_TRUE
715
+ AC_SUBST([MAINT])dnl
716
+ ]
717
+ )
718
+
708
719
  # Check to see how 'make' treats includes. -*- Autoconf -*-
709
720
 
710
- # Copyright (C) 2001-2014 Free Software Foundation, Inc.
721
+ # Copyright (C) 2001-2025 Free Software Foundation, Inc.
711
722
  #
712
723
  # This file is free software; the Free Software Foundation
713
724
  # gives unlimited permission to copy and/or distribute it,
@@ -715,49 +726,42 @@ AC_SUBST([am__leading_dot])])
715
726
 
716
727
  # AM_MAKE_INCLUDE()
717
728
  # -----------------
718
- # Check to see how make treats includes.
729
+ # Check whether make has an 'include' directive that can support all
730
+ # the idioms we need for our automatic dependency tracking code.
719
731
  AC_DEFUN([AM_MAKE_INCLUDE],
720
- [am_make=${MAKE-make}
721
- cat > confinc << 'END'
732
+ [AC_MSG_CHECKING([whether ${MAKE-make} supports the include directive])
733
+ cat > confinc.mk << 'END'
722
734
  am__doit:
723
- @echo this is the am__doit target
735
+ @echo this is the am__doit target >confinc.out
724
736
  .PHONY: am__doit
725
737
  END
726
- # If we don't find an include directive, just comment out the code.
727
- AC_MSG_CHECKING([for style of include used by $am_make])
728
738
  am__include="#"
729
739
  am__quote=
730
- _am_result=none
731
- # First try GNU make style include.
732
- echo "include confinc" > confmf
733
- # Ignore all kinds of additional output from 'make'.
734
- case `$am_make -s -f confmf 2> /dev/null` in #(
735
- *the\ am__doit\ target*)
736
- am__include=include
737
- am__quote=
738
- _am_result=GNU
739
- ;;
740
- esac
741
- # Now try BSD make style include.
742
- if test "$am__include" = "#"; then
743
- echo '.include "confinc"' > confmf
744
- case `$am_make -s -f confmf 2> /dev/null` in #(
745
- *the\ am__doit\ target*)
746
- am__include=.include
747
- am__quote="\""
748
- _am_result=BSD
749
- ;;
750
- esac
751
- fi
752
- AC_SUBST([am__include])
753
- AC_SUBST([am__quote])
754
- AC_MSG_RESULT([$_am_result])
755
- rm -f confinc confmf
756
- ])
740
+ # BSD make does it like this.
741
+ echo '.include "confinc.mk" # ignored' > confmf.BSD
742
+ # Other make implementations (GNU, Solaris 10, AIX) do it like this.
743
+ echo 'include confinc.mk # ignored' > confmf.GNU
744
+ _am_result=no
745
+ for s in GNU BSD; do
746
+ AM_RUN_LOG([${MAKE-make} -f confmf.$s && cat confinc.out])
747
+ AS_CASE([$?:`cat confinc.out 2>/dev/null`],
748
+ ['0:this is the am__doit target'],
749
+ [AS_CASE([$s],
750
+ [BSD], [am__include='.include' am__quote='"'],
751
+ [am__include='include' am__quote=''])])
752
+ if test "$am__include" != "#"; then
753
+ _am_result="yes ($s style)"
754
+ break
755
+ fi
756
+ done
757
+ rm -f confinc.* confmf.*
758
+ AC_MSG_RESULT([${_am_result}])
759
+ AC_SUBST([am__include])])
760
+ AC_SUBST([am__quote])])
757
761
 
758
762
  # Fake the existence of programs that GNU maintainers use. -*- Autoconf -*-
759
763
 
760
- # Copyright (C) 1997-2014 Free Software Foundation, Inc.
764
+ # Copyright (C) 1997-2025 Free Software Foundation, Inc.
761
765
  #
762
766
  # This file is free software; the Free Software Foundation
763
767
  # gives unlimited permission to copy and/or distribute it,
@@ -778,12 +782,7 @@ AC_DEFUN([AM_MISSING_HAS_RUN],
778
782
  [AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
779
783
  AC_REQUIRE_AUX_FILE([missing])dnl
780
784
  if test x"${MISSING+set}" != xset; then
781
- case $am_aux_dir in
782
- *\ * | *\ *)
783
- MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;;
784
- *)
785
- MISSING="\${SHELL} $am_aux_dir/missing" ;;
786
- esac
785
+ MISSING="\${SHELL} '$am_aux_dir/missing'"
787
786
  fi
788
787
  # Use eval to expand $SHELL
789
788
  if eval "$MISSING --is-lightweight"; then
@@ -796,7 +795,7 @@ fi
796
795
 
797
796
  # Helper functions for option handling. -*- Autoconf -*-
798
797
 
799
- # Copyright (C) 2001-2014 Free Software Foundation, Inc.
798
+ # Copyright (C) 2001-2025 Free Software Foundation, Inc.
800
799
  #
801
800
  # This file is free software; the Free Software Foundation
802
801
  # gives unlimited permission to copy and/or distribute it,
@@ -825,7 +824,7 @@ AC_DEFUN([_AM_SET_OPTIONS],
825
824
  AC_DEFUN([_AM_IF_OPTION],
826
825
  [m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])])
827
826
 
828
- # Copyright (C) 1999-2014 Free Software Foundation, Inc.
827
+ # Copyright (C) 1999-2025 Free Software Foundation, Inc.
829
828
  #
830
829
  # This file is free software; the Free Software Foundation
831
830
  # gives unlimited permission to copy and/or distribute it,
@@ -857,7 +856,10 @@ AC_CACHE_CHECK(
857
856
  break
858
857
  fi
859
858
  done
860
- rm -f core conftest*
859
+ # aligned with autoconf, so not including core; see bug#72225.
860
+ rm -f -r a.out a.exe b.out conftest.$ac_ext conftest.$ac_objext \
861
+ conftest.dSYM conftest1.$ac_ext conftest1.$ac_objext conftest1.dSYM \
862
+ conftest2.$ac_ext conftest2.$ac_objext conftest2.dSYM
861
863
  unset am_i])
862
864
  if test "$am_cv_prog_cc_c_o" != yes; then
863
865
  # Losing compiler, so override with the script.
@@ -872,7 +874,23 @@ AC_LANG_POP([C])])
872
874
  # For backward compatibility.
873
875
  AC_DEFUN_ONCE([AM_PROG_CC_C_O], [AC_REQUIRE([AC_PROG_CC])])
874
876
 
875
- # Copyright (C) 2001-2014 Free Software Foundation, Inc.
877
+ # Copyright (C) 2022-2025 Free Software Foundation, Inc.
878
+ #
879
+ # This file is free software; the Free Software Foundation
880
+ # gives unlimited permission to copy and/or distribute it,
881
+ # with or without modifications, as long as this notice is preserved.
882
+
883
+ # _AM_PROG_RM_F
884
+ # ---------------
885
+ # Check whether 'rm -f' without any arguments works.
886
+ # https://bugs.gnu.org/10828
887
+ AC_DEFUN([_AM_PROG_RM_F],
888
+ [am__rm_f_notfound=
889
+ AS_IF([(rm -f && rm -fr && rm -rf) 2>/dev/null], [], [am__rm_f_notfound='""'])
890
+ AC_SUBST(am__rm_f_notfound)
891
+ ])
892
+
893
+ # Copyright (C) 2001-2025 Free Software Foundation, Inc.
876
894
  #
877
895
  # This file is free software; the Free Software Foundation
878
896
  # gives unlimited permission to copy and/or distribute it,
@@ -891,26 +909,181 @@ AC_DEFUN([AM_RUN_LOG],
891
909
 
892
910
  # Check to make sure that the build environment is sane. -*- Autoconf -*-
893
911
 
894
- # Copyright (C) 1996-2014 Free Software Foundation, Inc.
912
+ # Copyright (C) 1996-2025 Free Software Foundation, Inc.
895
913
  #
896
914
  # This file is free software; the Free Software Foundation
897
915
  # gives unlimited permission to copy and/or distribute it,
898
916
  # with or without modifications, as long as this notice is preserved.
899
917
 
918
+ # _AM_SLEEP_FRACTIONAL_SECONDS
919
+ # ----------------------------
920
+ AC_DEFUN([_AM_SLEEP_FRACTIONAL_SECONDS], [dnl
921
+ AC_CACHE_CHECK([whether sleep supports fractional seconds],
922
+ am_cv_sleep_fractional_seconds, [dnl
923
+ AS_IF([sleep 0.001 2>/dev/null], [am_cv_sleep_fractional_seconds=yes],
924
+ [am_cv_sleep_fractional_seconds=no])
925
+ ])])
926
+
927
+ # _AM_FILESYSTEM_TIMESTAMP_RESOLUTION
928
+ # -----------------------------------
929
+ # Determine the filesystem's resolution for file modification
930
+ # timestamps. The coarsest we know of is FAT, with a resolution
931
+ # of only two seconds, even with the most recent "exFAT" extensions.
932
+ # The finest (e.g. ext4 with large inodes, XFS, ZFS) is one
933
+ # nanosecond, matching clock_gettime. However, it is probably not
934
+ # possible to delay execution of a shell script for less than one
935
+ # millisecond, due to process creation overhead and scheduling
936
+ # granularity, so we don't check for anything finer than that. (See below.)
937
+ AC_DEFUN([_AM_FILESYSTEM_TIMESTAMP_RESOLUTION], [dnl
938
+ AC_REQUIRE([_AM_SLEEP_FRACTIONAL_SECONDS])
939
+ AC_CACHE_CHECK([filesystem timestamp resolution],
940
+ am_cv_filesystem_timestamp_resolution, [dnl
941
+ # Default to the worst case.
942
+ am_cv_filesystem_timestamp_resolution=2
943
+
944
+ # Only try to go finer than 1 sec if sleep can do it.
945
+ # Don't try 1 sec, because if 0.01 sec and 0.1 sec don't work,
946
+ # - 1 sec is not much of a win compared to 2 sec, and
947
+ # - it takes 2 seconds to perform the test whether 1 sec works.
948
+ #
949
+ # Instead, just use the default 2s on platforms that have 1s resolution,
950
+ # accept the extra 1s delay when using $sleep in the Automake tests, in
951
+ # exchange for not incurring the 2s delay for running the test for all
952
+ # packages.
953
+ #
954
+ am_try_resolutions=
955
+ if test "$am_cv_sleep_fractional_seconds" = yes; then
956
+ # Even a millisecond often causes a bunch of false positives,
957
+ # so just try a hundredth of a second. The time saved between .001 and
958
+ # .01 is not terribly consequential.
959
+ am_try_resolutions="0.01 0.1 $am_try_resolutions"
960
+ fi
961
+
962
+ # In order to catch current-generation FAT out, we must *modify* files
963
+ # that already exist; the *creation* timestamp is finer. Use names
964
+ # that make ls -t sort them differently when they have equal
965
+ # timestamps than when they have distinct timestamps, keeping
966
+ # in mind that ls -t prints the *newest* file first.
967
+ rm -f conftest.ts?
968
+ : > conftest.ts1
969
+ : > conftest.ts2
970
+ : > conftest.ts3
971
+
972
+ # Make sure ls -t actually works. Do 'set' in a subshell so we don't
973
+ # clobber the current shell's arguments. (Outer-level square brackets
974
+ # are removed by m4; they're present so that m4 does not expand
975
+ # <dollar><star>; be careful, easy to get confused.)
976
+ if (
977
+ set X `[ls -t conftest.ts[12]]` &&
978
+ {
979
+ test "$[]*" != "X conftest.ts1 conftest.ts2" ||
980
+ test "$[]*" != "X conftest.ts2 conftest.ts1";
981
+ }
982
+ ); then :; else
983
+ # If neither matched, then we have a broken ls. This can happen
984
+ # if, for instance, CONFIG_SHELL is bash and it inherits a
985
+ # broken ls alias from the environment. This has actually
986
+ # happened. Such a system could not be considered "sane".
987
+ _AS_ECHO_UNQUOTED(
988
+ ["Bad output from ls -t: \"`[ls -t conftest.ts[12]]`\""],
989
+ [AS_MESSAGE_LOG_FD])
990
+ AC_MSG_FAILURE([ls -t produces unexpected output.
991
+ Make sure there is not a broken ls alias in your environment.])
992
+ fi
993
+
994
+ for am_try_res in $am_try_resolutions; do
995
+ # Any one fine-grained sleep might happen to cross the boundary
996
+ # between two values of a coarser actual resolution, but if we do
997
+ # two fine-grained sleeps in a row, at least one of them will fall
998
+ # entirely within a coarse interval.
999
+ echo alpha > conftest.ts1
1000
+ sleep $am_try_res
1001
+ echo beta > conftest.ts2
1002
+ sleep $am_try_res
1003
+ echo gamma > conftest.ts3
1004
+
1005
+ # We assume that 'ls -t' will make use of high-resolution
1006
+ # timestamps if the operating system supports them at all.
1007
+ if (set X `ls -t conftest.ts?` &&
1008
+ test "$[]2" = conftest.ts3 &&
1009
+ test "$[]3" = conftest.ts2 &&
1010
+ test "$[]4" = conftest.ts1); then
1011
+ #
1012
+ # Ok, ls -t worked. If we're at a resolution of 1 second, we're done,
1013
+ # because we don't need to test make.
1014
+ make_ok=true
1015
+ if test $am_try_res != 1; then
1016
+ # But if we've succeeded so far with a subsecond resolution, we
1017
+ # have one more thing to check: make. It can happen that
1018
+ # everything else supports the subsecond mtimes, but make doesn't;
1019
+ # notably on macOS, which ships make 3.81 from 2006 (the last one
1020
+ # released under GPLv2). https://bugs.gnu.org/68808
1021
+ #
1022
+ # We test $MAKE if it is defined in the environment, else "make".
1023
+ # It might get overridden later, but our hope is that in practice
1024
+ # it does not matter: it is the system "make" which is (by far)
1025
+ # the most likely to be broken, whereas if the user overrides it,
1026
+ # probably they did so with a better, or at least not worse, make.
1027
+ # https://lists.gnu.org/archive/html/automake/2024-06/msg00051.html
1028
+ #
1029
+ # Create a Makefile (real tab character here):
1030
+ rm -f conftest.mk
1031
+ echo 'conftest.ts1: conftest.ts2' >conftest.mk
1032
+ echo ' touch conftest.ts2' >>conftest.mk
1033
+ #
1034
+ # Now, running
1035
+ # touch conftest.ts1; touch conftest.ts2; make
1036
+ # should touch ts1 because ts2 is newer. This could happen by luck,
1037
+ # but most often, it will fail if make's support is insufficient. So
1038
+ # test for several consecutive successes.
1039
+ #
1040
+ # (We reuse conftest.ts[12] because we still want to modify existing
1041
+ # files, not create new ones, per above.)
1042
+ n=0
1043
+ make=${MAKE-make}
1044
+ until test $n -eq 3; do
1045
+ echo one > conftest.ts1
1046
+ sleep $am_try_res
1047
+ echo two > conftest.ts2 # ts2 should now be newer than ts1
1048
+ if $make -f conftest.mk | grep 'up to date' >/dev/null; then
1049
+ make_ok=false
1050
+ break # out of $n loop
1051
+ fi
1052
+ n=`expr $n + 1`
1053
+ done
1054
+ fi
1055
+ #
1056
+ if $make_ok; then
1057
+ # Everything we know to check worked out, so call this resolution good.
1058
+ am_cv_filesystem_timestamp_resolution=$am_try_res
1059
+ break # out of $am_try_res loop
1060
+ fi
1061
+ # Otherwise, we'll go on to check the next resolution.
1062
+ fi
1063
+ done
1064
+ rm -f conftest.ts?
1065
+ # (end _am_filesystem_timestamp_resolution)
1066
+ ])])
1067
+
900
1068
  # AM_SANITY_CHECK
901
1069
  # ---------------
902
1070
  AC_DEFUN([AM_SANITY_CHECK],
903
- [AC_MSG_CHECKING([whether build environment is sane])
1071
+ [AC_REQUIRE([_AM_FILESYSTEM_TIMESTAMP_RESOLUTION])
1072
+ # This check should not be cached, as it may vary across builds of
1073
+ # different projects.
1074
+ AC_MSG_CHECKING([whether build environment is sane])
904
1075
  # Reject unsafe characters in $srcdir or the absolute working directory
905
1076
  # name. Accept space and tab only in the latter.
906
1077
  am_lf='
907
1078
  '
908
1079
  case `pwd` in
909
1080
  *[[\\\"\#\$\&\'\`$am_lf]]*)
1081
+ AC_MSG_RESULT([no])
910
1082
  AC_MSG_ERROR([unsafe absolute working directory name]);;
911
1083
  esac
912
1084
  case $srcdir in
913
1085
  *[[\\\"\#\$\&\'\`$am_lf\ \ ]]*)
1086
+ AC_MSG_RESULT([no])
914
1087
  AC_MSG_ERROR([unsafe srcdir value: '$srcdir']);;
915
1088
  esac
916
1089
 
@@ -919,49 +1092,40 @@ esac
919
1092
  # symlink; some systems play weird games with the mod time of symlinks
920
1093
  # (eg FreeBSD returns the mod time of the symlink's containing
921
1094
  # directory).
922
- if (
923
- am_has_slept=no
924
- for am_try in 1 2; do
925
- echo "timestamp, slept: $am_has_slept" > conftest.file
926
- set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null`
927
- if test "$[*]" = "X"; then
928
- # -L didn't work.
929
- set X `ls -t "$srcdir/configure" conftest.file`
930
- fi
931
- if test "$[*]" != "X $srcdir/configure conftest.file" \
932
- && test "$[*]" != "X conftest.file $srcdir/configure"; then
933
-
934
- # If neither matched, then we have a broken ls. This can happen
935
- # if, for instance, CONFIG_SHELL is bash and it inherits a
936
- # broken ls alias from the environment. This has actually
937
- # happened. Such a system could not be considered "sane".
938
- AC_MSG_ERROR([ls -t appears to fail. Make sure there is not a broken
939
- alias in your environment])
940
- fi
941
- if test "$[2]" = conftest.file || test $am_try -eq 2; then
942
- break
943
- fi
944
- # Just in case.
945
- sleep 1
946
- am_has_slept=yes
947
- done
948
- test "$[2]" = conftest.file
949
- )
950
- then
951
- # Ok.
952
- :
953
- else
954
- AC_MSG_ERROR([newly created file is older than distributed files!
1095
+ am_build_env_is_sane=no
1096
+ am_has_slept=no
1097
+ rm -f conftest.file
1098
+ for am_try in 1 2; do
1099
+ echo "timestamp, slept: $am_has_slept" > conftest.file
1100
+ if (
1101
+ set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null`
1102
+ if test "$[]*" = "X"; then
1103
+ # -L didn't work.
1104
+ set X `ls -t "$srcdir/configure" conftest.file`
1105
+ fi
1106
+ test "$[]2" = conftest.file
1107
+ ); then
1108
+ am_build_env_is_sane=yes
1109
+ break
1110
+ fi
1111
+ # Just in case.
1112
+ sleep "$am_cv_filesystem_timestamp_resolution"
1113
+ am_has_slept=yes
1114
+ done
1115
+
1116
+ AC_MSG_RESULT([$am_build_env_is_sane])
1117
+ if test "$am_build_env_is_sane" = no; then
1118
+ AC_MSG_ERROR([newly created file is older than distributed files!
955
1119
  Check your system clock])
956
1120
  fi
957
- AC_MSG_RESULT([yes])
1121
+
958
1122
  # If we didn't sleep, we still need to ensure time stamps of config.status and
959
1123
  # generated files are strictly newer.
960
1124
  am_sleep_pid=
961
- if grep 'slept: no' conftest.file >/dev/null 2>&1; then
962
- ( sleep 1 ) &
1125
+ AS_IF([test -e conftest.file || grep 'slept: no' conftest.file >/dev/null 2>&1],, [dnl
1126
+ ( sleep "$am_cv_filesystem_timestamp_resolution" ) &
963
1127
  am_sleep_pid=$!
964
- fi
1128
+ ])
965
1129
  AC_CONFIG_COMMANDS_PRE(
966
1130
  [AC_MSG_CHECKING([that generated files are newer than configure])
967
1131
  if test -n "$am_sleep_pid"; then
@@ -972,18 +1136,18 @@ AC_CONFIG_COMMANDS_PRE(
972
1136
  rm -f conftest.file
973
1137
  ])
974
1138
 
975
- # Copyright (C) 2009-2014 Free Software Foundation, Inc.
1139
+ # Copyright (C) 2009-2025 Free Software Foundation, Inc.
976
1140
  #
977
1141
  # This file is free software; the Free Software Foundation
978
1142
  # gives unlimited permission to copy and/or distribute it,
979
1143
  # with or without modifications, as long as this notice is preserved.
980
1144
 
981
- # AM_SILENT_RULES([DEFAULT])
982
- # --------------------------
983
- # Enable less verbose build rules; with the default set to DEFAULT
984
- # ("yes" being less verbose, "no" or empty being verbose).
985
- AC_DEFUN([AM_SILENT_RULES],
986
- [AC_ARG_ENABLE([silent-rules], [dnl
1145
+ # _AM_SILENT_RULES
1146
+ # ----------------
1147
+ # Enable less verbose build rules support.
1148
+ AC_DEFUN([_AM_SILENT_RULES],
1149
+ [AM_DEFAULT_VERBOSITY=1
1150
+ AC_ARG_ENABLE([silent-rules], [dnl
987
1151
  AS_HELP_STRING(
988
1152
  [--enable-silent-rules],
989
1153
  [less verbose build output (undo: "make V=1")])
@@ -991,11 +1155,6 @@ AS_HELP_STRING(
991
1155
  [--disable-silent-rules],
992
1156
  [verbose build output (undo: "make V=0")])dnl
993
1157
  ])
994
- case $enable_silent_rules in @%:@ (((
995
- yes) AM_DEFAULT_VERBOSITY=0;;
996
- no) AM_DEFAULT_VERBOSITY=1;;
997
- *) AM_DEFAULT_VERBOSITY=m4_if([$1], [yes], [0], [1]);;
998
- esac
999
1158
  dnl
1000
1159
  dnl A few 'make' implementations (e.g., NonStop OS and NextStep)
1001
1160
  dnl do not support nested variable expansions.
@@ -1014,14 +1173,6 @@ am__doit:
1014
1173
  else
1015
1174
  am_cv_make_support_nested_variables=no
1016
1175
  fi])
1017
- if test $am_cv_make_support_nested_variables = yes; then
1018
- dnl Using '$V' instead of '$(V)' breaks IRIX make.
1019
- AM_V='$(V)'
1020
- AM_DEFAULT_V='$(AM_DEFAULT_VERBOSITY)'
1021
- else
1022
- AM_V=$AM_DEFAULT_VERBOSITY
1023
- AM_DEFAULT_V=$AM_DEFAULT_VERBOSITY
1024
- fi
1025
1176
  AC_SUBST([AM_V])dnl
1026
1177
  AM_SUBST_NOTMAKE([AM_V])dnl
1027
1178
  AC_SUBST([AM_DEFAULT_V])dnl
@@ -1030,9 +1181,37 @@ AC_SUBST([AM_DEFAULT_VERBOSITY])dnl
1030
1181
  AM_BACKSLASH='\'
1031
1182
  AC_SUBST([AM_BACKSLASH])dnl
1032
1183
  _AM_SUBST_NOTMAKE([AM_BACKSLASH])dnl
1184
+ dnl Delay evaluation of AM_DEFAULT_VERBOSITY to the end to allow multiple calls
1185
+ dnl to AM_SILENT_RULES to change the default value.
1186
+ AC_CONFIG_COMMANDS_PRE([dnl
1187
+ case $enable_silent_rules in @%:@ (((
1188
+ yes) AM_DEFAULT_VERBOSITY=0;;
1189
+ no) AM_DEFAULT_VERBOSITY=1;;
1190
+ esac
1191
+ if test $am_cv_make_support_nested_variables = yes; then
1192
+ dnl Using '$V' instead of '$(V)' breaks IRIX make.
1193
+ AM_V='$(V)'
1194
+ AM_DEFAULT_V='$(AM_DEFAULT_VERBOSITY)'
1195
+ else
1196
+ AM_V=$AM_DEFAULT_VERBOSITY
1197
+ AM_DEFAULT_V=$AM_DEFAULT_VERBOSITY
1198
+ fi
1199
+ ])dnl
1033
1200
  ])
1034
1201
 
1035
- # Copyright (C) 2001-2014 Free Software Foundation, Inc.
1202
+ # AM_SILENT_RULES([DEFAULT])
1203
+ # --------------------------
1204
+ # Set the default verbosity level to DEFAULT ("yes" being less verbose, "no" or
1205
+ # empty being verbose).
1206
+ AC_DEFUN([AM_SILENT_RULES],
1207
+ [AC_REQUIRE([_AM_SILENT_RULES])
1208
+ AM_DEFAULT_VERBOSITY=m4_if([$1], [yes], [0], [1])m4_newline
1209
+ dnl We intentionally force a newline after the assignment, since a) nothing
1210
+ dnl good can come of more text following, and b) that was the behavior
1211
+ dnl before 1.17. See https://bugs.gnu.org/72267.
1212
+ ])
1213
+
1214
+ # Copyright (C) 2001-2025 Free Software Foundation, Inc.
1036
1215
  #
1037
1216
  # This file is free software; the Free Software Foundation
1038
1217
  # gives unlimited permission to copy and/or distribute it,
@@ -1060,7 +1239,7 @@ fi
1060
1239
  INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s"
1061
1240
  AC_SUBST([INSTALL_STRIP_PROGRAM])])
1062
1241
 
1063
- # Copyright (C) 2006-2014 Free Software Foundation, Inc.
1242
+ # Copyright (C) 2006-2025 Free Software Foundation, Inc.
1064
1243
  #
1065
1244
  # This file is free software; the Free Software Foundation
1066
1245
  # gives unlimited permission to copy and/or distribute it,
@@ -1079,7 +1258,7 @@ AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)])
1079
1258
 
1080
1259
  # Check how to create a tarball. -*- Autoconf -*-
1081
1260
 
1082
- # Copyright (C) 2004-2014 Free Software Foundation, Inc.
1261
+ # Copyright (C) 2004-2025 Free Software Foundation, Inc.
1083
1262
  #
1084
1263
  # This file is free software; the Free Software Foundation
1085
1264
  # gives unlimited permission to copy and/or distribute it,
@@ -1125,15 +1304,19 @@ m4_if([$1], [v7],
1125
1304
  am_uid=`id -u || echo unknown`
1126
1305
  am_gid=`id -g || echo unknown`
1127
1306
  AC_MSG_CHECKING([whether UID '$am_uid' is supported by ustar format])
1128
- if test $am_uid -le $am_max_uid; then
1129
- AC_MSG_RESULT([yes])
1307
+ if test x$am_uid = xunknown; then
1308
+ AC_MSG_WARN([ancient id detected; assuming current UID is ok, but dist-ustar might not work])
1309
+ elif test $am_uid -le $am_max_uid; then
1310
+ AC_MSG_RESULT([yes])
1130
1311
  else
1131
- AC_MSG_RESULT([no])
1132
- _am_tools=none
1312
+ AC_MSG_RESULT([no])
1313
+ _am_tools=none
1133
1314
  fi
1134
1315
  AC_MSG_CHECKING([whether GID '$am_gid' is supported by ustar format])
1135
- if test $am_gid -le $am_max_gid; then
1136
- AC_MSG_RESULT([yes])
1316
+ if test x$gm_gid = xunknown; then
1317
+ AC_MSG_WARN([ancient id detected; assuming current GID is ok, but dist-ustar might not work])
1318
+ elif test $am_gid -le $am_max_gid; then
1319
+ AC_MSG_RESULT([yes])
1137
1320
  else
1138
1321
  AC_MSG_RESULT([no])
1139
1322
  _am_tools=none
@@ -1210,6 +1393,27 @@ AC_SUBST([am__tar])
1210
1393
  AC_SUBST([am__untar])
1211
1394
  ]) # _AM_PROG_TAR
1212
1395
 
1396
+ # Copyright (C) 2022-2025 Free Software Foundation, Inc.
1397
+ #
1398
+ # This file is free software; the Free Software Foundation
1399
+ # gives unlimited permission to copy and/or distribute it,
1400
+ # with or without modifications, as long as this notice is preserved.
1401
+
1402
+ # _AM_PROG_XARGS_N
1403
+ # ----------------
1404
+ # Check whether 'xargs -n' works. It should work everywhere, so the fallback
1405
+ # is not optimized at all as we never expect to use it.
1406
+ AC_DEFUN([_AM_PROG_XARGS_N],
1407
+ [AC_CACHE_CHECK([xargs -n works], am_cv_xargs_n_works, [dnl
1408
+ AS_IF([test "`echo 1 2 3 | xargs -n2 echo`" = "1 2
1409
+ 3"], [am_cv_xargs_n_works=yes], [am_cv_xargs_n_works=no])])
1410
+ AS_IF([test "$am_cv_xargs_n_works" = yes], [am__xargs_n='xargs -n'], [dnl
1411
+ am__xargs_n='am__xargs_n () { shift; sed "s/ /\\n/g" | while read am__xargs_n_arg; do "$@" "$am__xargs_n_arg"; done; }'
1412
+ ])dnl
1413
+ AC_SUBST(am__xargs_n)
1414
+ ])
1415
+
1416
+ m4_include([m4/ax_pthread.m4])
1213
1417
  m4_include([m4/libtool.m4])
1214
1418
  m4_include([m4/ltoptions.m4])
1215
1419
  m4_include([m4/ltsugar.m4])