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,12 +1,14 @@
1
1
  #! /bin/sh
2
2
  # Attempt to guess a canonical system name.
3
- # Copyright 1992-2014 Free Software Foundation, Inc.
3
+ # Copyright 1992-2024 Free Software Foundation, Inc.
4
4
 
5
- timestamp='2014-11-04'
5
+ # shellcheck disable=SC2006,SC2268 # see below for rationale
6
+
7
+ timestamp='2024-07-27'
6
8
 
7
9
  # This file is free software; you can redistribute it and/or modify it
8
10
  # under the terms of the GNU General Public License as published by
9
- # the Free Software Foundation; either version 3 of the License, or
11
+ # the Free Software Foundation, either version 3 of the License, or
10
12
  # (at your option) any later version.
11
13
  #
12
14
  # This program is distributed in the hope that it will be useful, but
@@ -15,7 +17,7 @@ timestamp='2014-11-04'
15
17
  # General Public License for more details.
16
18
  #
17
19
  # You should have received a copy of the GNU General Public License
18
- # along with this program; if not, see <http://www.gnu.org/licenses/>.
20
+ # along with this program; if not, see <https://www.gnu.org/licenses/>.
19
21
  #
20
22
  # As a special exception to the GNU General Public License, if you
21
23
  # distribute this file as part of a program that contains a
@@ -27,19 +29,27 @@ timestamp='2014-11-04'
27
29
  # Originally written by Per Bothner; maintained since 2000 by Ben Elliston.
28
30
  #
29
31
  # You can get the latest version of this script from:
30
- # http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD
32
+ # https://git.savannah.gnu.org/cgit/config.git/plain/config.guess
31
33
  #
32
34
  # Please send patches to <config-patches@gnu.org>.
33
35
 
34
36
 
37
+ # The "shellcheck disable" line above the timestamp inhibits complaints
38
+ # about features and limitations of the classic Bourne shell that were
39
+ # superseded or lifted in POSIX. However, this script identifies a wide
40
+ # variety of pre-POSIX systems that do not have POSIX shells at all, and
41
+ # even some reasonably current systems (Solaris 10 as case-in-point) still
42
+ # have a pre-POSIX /bin/sh.
43
+
44
+
35
45
  me=`echo "$0" | sed -e 's,.*/,,'`
36
46
 
37
47
  usage="\
38
48
  Usage: $0 [OPTION]
39
49
 
40
- Output the configuration name of the system \`$me' is run on.
50
+ Output the configuration name of the system '$me' is run on.
41
51
 
42
- Operation modes:
52
+ Options:
43
53
  -h, --help print this help, then exit
44
54
  -t, --time-stamp print date of last modification, then exit
45
55
  -v, --version print version number, then exit
@@ -50,13 +60,13 @@ version="\
50
60
  GNU config.guess ($timestamp)
51
61
 
52
62
  Originally written by Per Bothner.
53
- Copyright 1992-2014 Free Software Foundation, Inc.
63
+ Copyright 1992-2024 Free Software Foundation, Inc.
54
64
 
55
65
  This is free software; see the source for copying conditions. There is NO
56
66
  warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
57
67
 
58
68
  help="
59
- Try \`$me --help' for more information."
69
+ Try '$me --help' for more information."
60
70
 
61
71
  # Parse command line
62
72
  while test $# -gt 0 ; do
@@ -84,78 +94,109 @@ if test $# != 0; then
84
94
  exit 1
85
95
  fi
86
96
 
87
- trap 'exit 1' 1 2 15
97
+ # Just in case it came from the environment.
98
+ GUESS=
88
99
 
89
100
  # CC_FOR_BUILD -- compiler used by this script. Note that the use of a
90
101
  # compiler to aid in system detection is discouraged as it requires
91
102
  # temporary files to be created and, as you can see below, it is a
92
103
  # headache to deal with in a portable fashion.
93
104
 
94
- # Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still
95
- # use `HOST_CC' if defined, but it is deprecated.
105
+ # Historically, 'CC_FOR_BUILD' used to be named 'HOST_CC'. We still
106
+ # use 'HOST_CC' if defined, but it is deprecated.
96
107
 
97
108
  # Portable tmp directory creation inspired by the Autoconf team.
98
109
 
99
- set_cc_for_build='
100
- trap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ;
101
- trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ;
102
- : ${TMPDIR=/tmp} ;
103
- { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } ||
104
- { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } ||
105
- { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } ||
106
- { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ;
107
- dummy=$tmp/dummy ;
108
- tmpfiles="$dummy.c $dummy.o $dummy.rel $dummy" ;
109
- case $CC_FOR_BUILD,$HOST_CC,$CC in
110
- ,,) echo "int x;" > $dummy.c ;
111
- for c in cc gcc c89 c99 ; do
112
- if ($c -c -o $dummy.o $dummy.c) >/dev/null 2>&1 ; then
113
- CC_FOR_BUILD="$c"; break ;
114
- fi ;
115
- done ;
116
- if test x"$CC_FOR_BUILD" = x ; then
117
- CC_FOR_BUILD=no_compiler_found ;
118
- fi
119
- ;;
120
- ,,*) CC_FOR_BUILD=$CC ;;
121
- ,*,*) CC_FOR_BUILD=$HOST_CC ;;
122
- esac ; set_cc_for_build= ;'
110
+ tmp=
111
+ # shellcheck disable=SC2172
112
+ trap 'test -z "$tmp" || rm -fr "$tmp"' 0 1 2 13 15
113
+
114
+ set_cc_for_build() {
115
+ # prevent multiple calls if $tmp is already set
116
+ test "$tmp" && return 0
117
+ : "${TMPDIR=/tmp}"
118
+ # shellcheck disable=SC2039,SC3028
119
+ { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } ||
120
+ { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir "$tmp" 2>/dev/null) ; } ||
121
+ { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir "$tmp" 2>/dev/null) && echo "Warning: creating insecure temp directory" >&2 ; } ||
122
+ { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; }
123
+ dummy=$tmp/dummy
124
+ case ${CC_FOR_BUILD-},${HOST_CC-},${CC-} in
125
+ ,,) echo "int x;" > "$dummy.c"
126
+ for driver in cc gcc c17 c99 c89 ; do
127
+ if ($driver -c -o "$dummy.o" "$dummy.c") >/dev/null 2>&1 ; then
128
+ CC_FOR_BUILD=$driver
129
+ break
130
+ fi
131
+ done
132
+ if test x"$CC_FOR_BUILD" = x ; then
133
+ CC_FOR_BUILD=no_compiler_found
134
+ fi
135
+ ;;
136
+ ,,*) CC_FOR_BUILD=$CC ;;
137
+ ,*,*) CC_FOR_BUILD=$HOST_CC ;;
138
+ esac
139
+ }
123
140
 
124
141
  # This is needed to find uname on a Pyramid OSx when run in the BSD universe.
125
142
  # (ghazi@noc.rutgers.edu 1994-08-24)
126
- if (test -f /.attbin/uname) >/dev/null 2>&1 ; then
143
+ if test -f /.attbin/uname ; then
127
144
  PATH=$PATH:/.attbin ; export PATH
128
145
  fi
129
146
 
130
147
  UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown
131
148
  UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown
132
- UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown
149
+ UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown
133
150
  UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown
134
151
 
135
- case "${UNAME_SYSTEM}" in
152
+ case $UNAME_SYSTEM in
136
153
  Linux|GNU|GNU/*)
137
- # If the system lacks a compiler, then just pick glibc.
138
- # We could probably try harder.
139
- LIBC=gnu
154
+ LIBC=unknown
140
155
 
141
- eval $set_cc_for_build
142
- cat <<-EOF > $dummy.c
156
+ set_cc_for_build
157
+ cat <<-EOF > "$dummy.c"
158
+ #if defined(__ANDROID__)
159
+ LIBC=android
160
+ #else
143
161
  #include <features.h>
144
162
  #if defined(__UCLIBC__)
145
163
  LIBC=uclibc
146
164
  #elif defined(__dietlibc__)
147
165
  LIBC=dietlibc
148
- #else
166
+ #elif defined(__GLIBC__)
149
167
  LIBC=gnu
168
+ #elif defined(__LLVM_LIBC__)
169
+ LIBC=llvm
170
+ #else
171
+ #include <stdarg.h>
172
+ /* First heuristic to detect musl libc. */
173
+ #ifdef __DEFINED_va_list
174
+ LIBC=musl
175
+ #endif
176
+ #endif
150
177
  #endif
151
178
  EOF
152
- eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^LIBC' | sed 's, ,,g'`
179
+ cc_set_libc=`$CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^LIBC' | sed 's, ,,g'`
180
+ eval "$cc_set_libc"
181
+
182
+ # Second heuristic to detect musl libc.
183
+ if [ "$LIBC" = unknown ] &&
184
+ command -v ldd >/dev/null &&
185
+ ldd --version 2>&1 | grep -q ^musl; then
186
+ LIBC=musl
187
+ fi
188
+
189
+ # If the system lacks a compiler, then just pick glibc.
190
+ # We could probably try harder.
191
+ if [ "$LIBC" = unknown ]; then
192
+ LIBC=gnu
193
+ fi
153
194
  ;;
154
195
  esac
155
196
 
156
197
  # Note: order is significant - the case branches are not exclusive.
157
198
 
158
- case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
199
+ case $UNAME_MACHINE:$UNAME_SYSTEM:$UNAME_RELEASE:$UNAME_VERSION in
159
200
  *:NetBSD:*:*)
160
201
  # NetBSD (nbsd) targets should (where applicable) match one or
161
202
  # more of the tuples: *-*-netbsdelf*, *-*-netbsdaout*,
@@ -167,22 +208,32 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
167
208
  #
168
209
  # Note: NetBSD doesn't particularly care about the vendor
169
210
  # portion of the name. We always set it to "unknown".
170
- sysctl="sysctl -n hw.machine_arch"
171
- UNAME_MACHINE_ARCH=`(/sbin/$sysctl 2>/dev/null || \
172
- /usr/sbin/$sysctl 2>/dev/null || echo unknown)`
173
- case "${UNAME_MACHINE_ARCH}" in
211
+ UNAME_MACHINE_ARCH=`(uname -p 2>/dev/null || \
212
+ /sbin/sysctl -n hw.machine_arch 2>/dev/null || \
213
+ /usr/sbin/sysctl -n hw.machine_arch 2>/dev/null || \
214
+ echo unknown)`
215
+ case $UNAME_MACHINE_ARCH in
216
+ aarch64eb) machine=aarch64_be-unknown ;;
174
217
  armeb) machine=armeb-unknown ;;
175
218
  arm*) machine=arm-unknown ;;
176
219
  sh3el) machine=shl-unknown ;;
177
220
  sh3eb) machine=sh-unknown ;;
178
221
  sh5el) machine=sh5le-unknown ;;
179
- *) machine=${UNAME_MACHINE_ARCH}-unknown ;;
222
+ earmv*)
223
+ arch=`echo "$UNAME_MACHINE_ARCH" | sed -e 's,^e\(armv[0-9]\).*$,\1,'`
224
+ endian=`echo "$UNAME_MACHINE_ARCH" | sed -ne 's,^.*\(eb\)$,\1,p'`
225
+ machine=${arch}${endian}-unknown
226
+ ;;
227
+ *) machine=$UNAME_MACHINE_ARCH-unknown ;;
180
228
  esac
181
229
  # The Operating System including object format, if it has switched
182
- # to ELF recently, or will in the future.
183
- case "${UNAME_MACHINE_ARCH}" in
230
+ # to ELF recently (or will in the future) and ABI.
231
+ case $UNAME_MACHINE_ARCH in
232
+ earm*)
233
+ os=netbsdelf
234
+ ;;
184
235
  arm*|i386|m68k|ns32k|sh3*|sparc|vax)
185
- eval $set_cc_for_build
236
+ set_cc_for_build
186
237
  if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \
187
238
  | grep -q __ELF__
188
239
  then
@@ -197,45 +248,80 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
197
248
  os=netbsd
198
249
  ;;
199
250
  esac
251
+ # Determine ABI tags.
252
+ case $UNAME_MACHINE_ARCH in
253
+ earm*)
254
+ expr='s/^earmv[0-9]/-eabi/;s/eb$//'
255
+ abi=`echo "$UNAME_MACHINE_ARCH" | sed -e "$expr"`
256
+ ;;
257
+ esac
200
258
  # The OS release
201
259
  # Debian GNU/NetBSD machines have a different userland, and
202
260
  # thus, need a distinct triplet. However, they do not need
203
261
  # kernel version information, so it can be replaced with a
204
262
  # suitable tag, in the style of linux-gnu.
205
- case "${UNAME_VERSION}" in
263
+ case $UNAME_VERSION in
206
264
  Debian*)
207
265
  release='-gnu'
208
266
  ;;
209
267
  *)
210
- release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'`
268
+ release=`echo "$UNAME_RELEASE" | sed -e 's/[-_].*//' | cut -d. -f1,2`
211
269
  ;;
212
270
  esac
213
271
  # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM:
214
272
  # contains redundant information, the shorter form:
215
273
  # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used.
216
- echo "${machine}-${os}${release}"
217
- exit ;;
274
+ GUESS=$machine-${os}${release}${abi-}
275
+ ;;
218
276
  *:Bitrig:*:*)
219
277
  UNAME_MACHINE_ARCH=`arch | sed 's/Bitrig.//'`
220
- echo ${UNAME_MACHINE_ARCH}-unknown-bitrig${UNAME_RELEASE}
221
- exit ;;
278
+ GUESS=$UNAME_MACHINE_ARCH-unknown-bitrig$UNAME_RELEASE
279
+ ;;
222
280
  *:OpenBSD:*:*)
223
281
  UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'`
224
- echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE}
225
- exit ;;
282
+ GUESS=$UNAME_MACHINE_ARCH-unknown-openbsd$UNAME_RELEASE
283
+ ;;
284
+ *:SecBSD:*:*)
285
+ UNAME_MACHINE_ARCH=`arch | sed 's/SecBSD.//'`
286
+ GUESS=$UNAME_MACHINE_ARCH-unknown-secbsd$UNAME_RELEASE
287
+ ;;
288
+ *:LibertyBSD:*:*)
289
+ UNAME_MACHINE_ARCH=`arch | sed 's/^.*BSD\.//'`
290
+ GUESS=$UNAME_MACHINE_ARCH-unknown-libertybsd$UNAME_RELEASE
291
+ ;;
292
+ *:MidnightBSD:*:*)
293
+ GUESS=$UNAME_MACHINE-unknown-midnightbsd$UNAME_RELEASE
294
+ ;;
226
295
  *:ekkoBSD:*:*)
227
- echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE}
228
- exit ;;
296
+ GUESS=$UNAME_MACHINE-unknown-ekkobsd$UNAME_RELEASE
297
+ ;;
229
298
  *:SolidBSD:*:*)
230
- echo ${UNAME_MACHINE}-unknown-solidbsd${UNAME_RELEASE}
231
- exit ;;
299
+ GUESS=$UNAME_MACHINE-unknown-solidbsd$UNAME_RELEASE
300
+ ;;
301
+ *:OS108:*:*)
302
+ GUESS=$UNAME_MACHINE-unknown-os108_$UNAME_RELEASE
303
+ ;;
232
304
  macppc:MirBSD:*:*)
233
- echo powerpc-unknown-mirbsd${UNAME_RELEASE}
234
- exit ;;
305
+ GUESS=powerpc-unknown-mirbsd$UNAME_RELEASE
306
+ ;;
235
307
  *:MirBSD:*:*)
236
- echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE}
237
- exit ;;
308
+ GUESS=$UNAME_MACHINE-unknown-mirbsd$UNAME_RELEASE
309
+ ;;
310
+ *:Sortix:*:*)
311
+ GUESS=$UNAME_MACHINE-unknown-sortix
312
+ ;;
313
+ *:Twizzler:*:*)
314
+ GUESS=$UNAME_MACHINE-unknown-twizzler
315
+ ;;
316
+ *:Redox:*:*)
317
+ GUESS=$UNAME_MACHINE-unknown-redox
318
+ ;;
319
+ mips:OSF1:*.*)
320
+ GUESS=mips-dec-osf1
321
+ ;;
238
322
  alpha:OSF1:*:*)
323
+ # Reset EXIT trap before exiting to avoid spurious non-zero exit code.
324
+ trap '' 0
239
325
  case $UNAME_RELEASE in
240
326
  *4.0)
241
327
  UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'`
@@ -249,163 +335,158 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
249
335
  # covers most systems running today. This code pipes the CPU
250
336
  # types through head -n 1, so we only detect the type of CPU 0.
251
337
  ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^ The alpha \(.*\) processor.*$/\1/p' | head -n 1`
252
- case "$ALPHA_CPU_TYPE" in
338
+ case $ALPHA_CPU_TYPE in
253
339
  "EV4 (21064)")
254
- UNAME_MACHINE="alpha" ;;
340
+ UNAME_MACHINE=alpha ;;
255
341
  "EV4.5 (21064)")
256
- UNAME_MACHINE="alpha" ;;
342
+ UNAME_MACHINE=alpha ;;
257
343
  "LCA4 (21066/21068)")
258
- UNAME_MACHINE="alpha" ;;
344
+ UNAME_MACHINE=alpha ;;
259
345
  "EV5 (21164)")
260
- UNAME_MACHINE="alphaev5" ;;
346
+ UNAME_MACHINE=alphaev5 ;;
261
347
  "EV5.6 (21164A)")
262
- UNAME_MACHINE="alphaev56" ;;
348
+ UNAME_MACHINE=alphaev56 ;;
263
349
  "EV5.6 (21164PC)")
264
- UNAME_MACHINE="alphapca56" ;;
350
+ UNAME_MACHINE=alphapca56 ;;
265
351
  "EV5.7 (21164PC)")
266
- UNAME_MACHINE="alphapca57" ;;
352
+ UNAME_MACHINE=alphapca57 ;;
267
353
  "EV6 (21264)")
268
- UNAME_MACHINE="alphaev6" ;;
354
+ UNAME_MACHINE=alphaev6 ;;
269
355
  "EV6.7 (21264A)")
270
- UNAME_MACHINE="alphaev67" ;;
356
+ UNAME_MACHINE=alphaev67 ;;
271
357
  "EV6.8CB (21264C)")
272
- UNAME_MACHINE="alphaev68" ;;
358
+ UNAME_MACHINE=alphaev68 ;;
273
359
  "EV6.8AL (21264B)")
274
- UNAME_MACHINE="alphaev68" ;;
360
+ UNAME_MACHINE=alphaev68 ;;
275
361
  "EV6.8CX (21264D)")
276
- UNAME_MACHINE="alphaev68" ;;
362
+ UNAME_MACHINE=alphaev68 ;;
277
363
  "EV6.9A (21264/EV69A)")
278
- UNAME_MACHINE="alphaev69" ;;
364
+ UNAME_MACHINE=alphaev69 ;;
279
365
  "EV7 (21364)")
280
- UNAME_MACHINE="alphaev7" ;;
366
+ UNAME_MACHINE=alphaev7 ;;
281
367
  "EV7.9 (21364A)")
282
- UNAME_MACHINE="alphaev79" ;;
368
+ UNAME_MACHINE=alphaev79 ;;
283
369
  esac
284
370
  # A Pn.n version is a patched version.
285
371
  # A Vn.n version is a released version.
286
372
  # A Tn.n version is a released field test version.
287
373
  # A Xn.n version is an unreleased experimental baselevel.
288
374
  # 1.2 uses "1.2" for uname -r.
289
- echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
290
- # Reset EXIT trap before exiting to avoid spurious non-zero exit code.
291
- exitcode=$?
292
- trap '' 0
293
- exit $exitcode ;;
294
- Alpha\ *:Windows_NT*:*)
295
- # How do we know it's Interix rather than the generic POSIX subsystem?
296
- # Should we change UNAME_MACHINE based on the output of uname instead
297
- # of the specific Alpha model?
298
- echo alpha-pc-interix
299
- exit ;;
300
- 21064:Windows_NT:50:3)
301
- echo alpha-dec-winnt3.5
302
- exit ;;
375
+ OSF_REL=`echo "$UNAME_RELEASE" | sed -e 's/^[PVTX]//' | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz`
376
+ GUESS=$UNAME_MACHINE-dec-osf$OSF_REL
377
+ ;;
303
378
  Amiga*:UNIX_System_V:4.0:*)
304
- echo m68k-unknown-sysv4
305
- exit ;;
379
+ GUESS=m68k-unknown-sysv4
380
+ ;;
306
381
  *:[Aa]miga[Oo][Ss]:*:*)
307
- echo ${UNAME_MACHINE}-unknown-amigaos
308
- exit ;;
382
+ GUESS=$UNAME_MACHINE-unknown-amigaos
383
+ ;;
309
384
  *:[Mm]orph[Oo][Ss]:*:*)
310
- echo ${UNAME_MACHINE}-unknown-morphos
311
- exit ;;
385
+ GUESS=$UNAME_MACHINE-unknown-morphos
386
+ ;;
312
387
  *:OS/390:*:*)
313
- echo i370-ibm-openedition
314
- exit ;;
388
+ GUESS=i370-ibm-openedition
389
+ ;;
315
390
  *:z/VM:*:*)
316
- echo s390-ibm-zvmoe
317
- exit ;;
391
+ GUESS=s390-ibm-zvmoe
392
+ ;;
318
393
  *:OS400:*:*)
319
- echo powerpc-ibm-os400
320
- exit ;;
394
+ GUESS=powerpc-ibm-os400
395
+ ;;
321
396
  arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*)
322
- echo arm-acorn-riscix${UNAME_RELEASE}
323
- exit ;;
397
+ GUESS=arm-acorn-riscix$UNAME_RELEASE
398
+ ;;
324
399
  arm*:riscos:*:*|arm*:RISCOS:*:*)
325
- echo arm-unknown-riscos
326
- exit ;;
400
+ GUESS=arm-unknown-riscos
401
+ ;;
327
402
  SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*)
328
- echo hppa1.1-hitachi-hiuxmpp
329
- exit ;;
403
+ GUESS=hppa1.1-hitachi-hiuxmpp
404
+ ;;
330
405
  Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*)
331
406
  # akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE.
332
- if test "`(/bin/universe) 2>/dev/null`" = att ; then
333
- echo pyramid-pyramid-sysv3
334
- else
335
- echo pyramid-pyramid-bsd
336
- fi
337
- exit ;;
407
+ case `(/bin/universe) 2>/dev/null` in
408
+ att) GUESS=pyramid-pyramid-sysv3 ;;
409
+ *) GUESS=pyramid-pyramid-bsd ;;
410
+ esac
411
+ ;;
338
412
  NILE*:*:*:dcosx)
339
- echo pyramid-pyramid-svr4
340
- exit ;;
413
+ GUESS=pyramid-pyramid-svr4
414
+ ;;
341
415
  DRS?6000:unix:4.0:6*)
342
- echo sparc-icl-nx6
343
- exit ;;
416
+ GUESS=sparc-icl-nx6
417
+ ;;
344
418
  DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*)
345
419
  case `/usr/bin/uname -p` in
346
- sparc) echo sparc-icl-nx7; exit ;;
347
- esac ;;
420
+ sparc) GUESS=sparc-icl-nx7 ;;
421
+ esac
422
+ ;;
348
423
  s390x:SunOS:*:*)
349
- echo ${UNAME_MACHINE}-ibm-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
350
- exit ;;
424
+ SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'`
425
+ GUESS=$UNAME_MACHINE-ibm-solaris2$SUN_REL
426
+ ;;
351
427
  sun4H:SunOS:5.*:*)
352
- echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
353
- exit ;;
428
+ SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'`
429
+ GUESS=sparc-hal-solaris2$SUN_REL
430
+ ;;
354
431
  sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*)
355
- echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
356
- exit ;;
432
+ SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'`
433
+ GUESS=sparc-sun-solaris2$SUN_REL
434
+ ;;
357
435
  i86pc:AuroraUX:5.*:* | i86xen:AuroraUX:5.*:*)
358
- echo i386-pc-auroraux${UNAME_RELEASE}
359
- exit ;;
436
+ GUESS=i386-pc-auroraux$UNAME_RELEASE
437
+ ;;
360
438
  i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*)
361
- eval $set_cc_for_build
362
- SUN_ARCH="i386"
439
+ set_cc_for_build
440
+ SUN_ARCH=i386
363
441
  # If there is a compiler, see if it is configured for 64-bit objects.
364
442
  # Note that the Sun cc does not turn __LP64__ into 1 like gcc does.
365
443
  # This test works for both compilers.
366
- if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then
444
+ if test "$CC_FOR_BUILD" != no_compiler_found; then
367
445
  if (echo '#ifdef __amd64'; echo IS_64BIT_ARCH; echo '#endif') | \
368
- (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \
446
+ (CCOPTS="" $CC_FOR_BUILD -m64 -E - 2>/dev/null) | \
369
447
  grep IS_64BIT_ARCH >/dev/null
370
448
  then
371
- SUN_ARCH="x86_64"
449
+ SUN_ARCH=x86_64
372
450
  fi
373
451
  fi
374
- echo ${SUN_ARCH}-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
375
- exit ;;
452
+ SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'`
453
+ GUESS=$SUN_ARCH-pc-solaris2$SUN_REL
454
+ ;;
376
455
  sun4*:SunOS:6*:*)
377
456
  # According to config.sub, this is the proper way to canonicalize
378
457
  # SunOS6. Hard to guess exactly what SunOS6 will be like, but
379
458
  # it's likely to be more like Solaris than SunOS4.
380
- echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
381
- exit ;;
459
+ SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'`
460
+ GUESS=sparc-sun-solaris3$SUN_REL
461
+ ;;
382
462
  sun4*:SunOS:*:*)
383
- case "`/usr/bin/arch -k`" in
463
+ case `/usr/bin/arch -k` in
384
464
  Series*|S4*)
385
465
  UNAME_RELEASE=`uname -v`
386
466
  ;;
387
467
  esac
388
- # Japanese Language versions have a version number like `4.1.3-JL'.
389
- echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'`
390
- exit ;;
468
+ # Japanese Language versions have a version number like '4.1.3-JL'.
469
+ SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/-/_/'`
470
+ GUESS=sparc-sun-sunos$SUN_REL
471
+ ;;
391
472
  sun3*:SunOS:*:*)
392
- echo m68k-sun-sunos${UNAME_RELEASE}
393
- exit ;;
473
+ GUESS=m68k-sun-sunos$UNAME_RELEASE
474
+ ;;
394
475
  sun*:*:4.2BSD:*)
395
476
  UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null`
396
- test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3
397
- case "`/bin/arch`" in
477
+ test "x$UNAME_RELEASE" = x && UNAME_RELEASE=3
478
+ case `/bin/arch` in
398
479
  sun3)
399
- echo m68k-sun-sunos${UNAME_RELEASE}
480
+ GUESS=m68k-sun-sunos$UNAME_RELEASE
400
481
  ;;
401
482
  sun4)
402
- echo sparc-sun-sunos${UNAME_RELEASE}
483
+ GUESS=sparc-sun-sunos$UNAME_RELEASE
403
484
  ;;
404
485
  esac
405
- exit ;;
486
+ ;;
406
487
  aushp:SunOS:*:*)
407
- echo sparc-auspex-sunos${UNAME_RELEASE}
408
- exit ;;
488
+ GUESS=sparc-auspex-sunos$UNAME_RELEASE
489
+ ;;
409
490
  # The situation for MiNT is a little confusing. The machine name
410
491
  # can be virtually everything (everything which is not
411
492
  # "atarist" or "atariste" at least should have a processor
@@ -415,44 +496,44 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
415
496
  # MiNT. But MiNT is downward compatible to TOS, so this should
416
497
  # be no problem.
417
498
  atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*)
418
- echo m68k-atari-mint${UNAME_RELEASE}
419
- exit ;;
499
+ GUESS=m68k-atari-mint$UNAME_RELEASE
500
+ ;;
420
501
  atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*)
421
- echo m68k-atari-mint${UNAME_RELEASE}
422
- exit ;;
502
+ GUESS=m68k-atari-mint$UNAME_RELEASE
503
+ ;;
423
504
  *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*)
424
- echo m68k-atari-mint${UNAME_RELEASE}
425
- exit ;;
505
+ GUESS=m68k-atari-mint$UNAME_RELEASE
506
+ ;;
426
507
  milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*)
427
- echo m68k-milan-mint${UNAME_RELEASE}
428
- exit ;;
508
+ GUESS=m68k-milan-mint$UNAME_RELEASE
509
+ ;;
429
510
  hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*)
430
- echo m68k-hades-mint${UNAME_RELEASE}
431
- exit ;;
511
+ GUESS=m68k-hades-mint$UNAME_RELEASE
512
+ ;;
432
513
  *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*)
433
- echo m68k-unknown-mint${UNAME_RELEASE}
434
- exit ;;
514
+ GUESS=m68k-unknown-mint$UNAME_RELEASE
515
+ ;;
435
516
  m68k:machten:*:*)
436
- echo m68k-apple-machten${UNAME_RELEASE}
437
- exit ;;
517
+ GUESS=m68k-apple-machten$UNAME_RELEASE
518
+ ;;
438
519
  powerpc:machten:*:*)
439
- echo powerpc-apple-machten${UNAME_RELEASE}
440
- exit ;;
520
+ GUESS=powerpc-apple-machten$UNAME_RELEASE
521
+ ;;
441
522
  RISC*:Mach:*:*)
442
- echo mips-dec-mach_bsd4.3
443
- exit ;;
523
+ GUESS=mips-dec-mach_bsd4.3
524
+ ;;
444
525
  RISC*:ULTRIX:*:*)
445
- echo mips-dec-ultrix${UNAME_RELEASE}
446
- exit ;;
526
+ GUESS=mips-dec-ultrix$UNAME_RELEASE
527
+ ;;
447
528
  VAX*:ULTRIX*:*:*)
448
- echo vax-dec-ultrix${UNAME_RELEASE}
449
- exit ;;
529
+ GUESS=vax-dec-ultrix$UNAME_RELEASE
530
+ ;;
450
531
  2020:CLIX:*:* | 2430:CLIX:*:*)
451
- echo clipper-intergraph-clix${UNAME_RELEASE}
452
- exit ;;
532
+ GUESS=clipper-intergraph-clix$UNAME_RELEASE
533
+ ;;
453
534
  mips:*:*:UMIPS | mips:*:*:RISCos)
454
- eval $set_cc_for_build
455
- sed 's/^ //' << EOF >$dummy.c
535
+ set_cc_for_build
536
+ sed 's/^ //' << EOF > "$dummy.c"
456
537
  #ifdef __cplusplus
457
538
  #include <stdio.h> /* for printf() prototype */
458
539
  int main (int argc, char *argv[]) {
@@ -461,98 +542,100 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
461
542
  #endif
462
543
  #if defined (host_mips) && defined (MIPSEB)
463
544
  #if defined (SYSTYPE_SYSV)
464
- printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0);
545
+ printf ("mips-mips-riscos%ssysv\\n", argv[1]); exit (0);
465
546
  #endif
466
547
  #if defined (SYSTYPE_SVR4)
467
- printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0);
548
+ printf ("mips-mips-riscos%ssvr4\\n", argv[1]); exit (0);
468
549
  #endif
469
550
  #if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD)
470
- printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0);
551
+ printf ("mips-mips-riscos%sbsd\\n", argv[1]); exit (0);
471
552
  #endif
472
553
  #endif
473
554
  exit (-1);
474
555
  }
475
556
  EOF
476
- $CC_FOR_BUILD -o $dummy $dummy.c &&
477
- dummyarg=`echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` &&
478
- SYSTEM_NAME=`$dummy $dummyarg` &&
557
+ $CC_FOR_BUILD -o "$dummy" "$dummy.c" &&
558
+ dummyarg=`echo "$UNAME_RELEASE" | sed -n 's/\([0-9]*\).*/\1/p'` &&
559
+ SYSTEM_NAME=`"$dummy" "$dummyarg"` &&
479
560
  { echo "$SYSTEM_NAME"; exit; }
480
- echo mips-mips-riscos${UNAME_RELEASE}
481
- exit ;;
561
+ GUESS=mips-mips-riscos$UNAME_RELEASE
562
+ ;;
482
563
  Motorola:PowerMAX_OS:*:*)
483
- echo powerpc-motorola-powermax
484
- exit ;;
564
+ GUESS=powerpc-motorola-powermax
565
+ ;;
485
566
  Motorola:*:4.3:PL8-*)
486
- echo powerpc-harris-powermax
487
- exit ;;
567
+ GUESS=powerpc-harris-powermax
568
+ ;;
488
569
  Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*)
489
- echo powerpc-harris-powermax
490
- exit ;;
570
+ GUESS=powerpc-harris-powermax
571
+ ;;
491
572
  Night_Hawk:Power_UNIX:*:*)
492
- echo powerpc-harris-powerunix
493
- exit ;;
573
+ GUESS=powerpc-harris-powerunix
574
+ ;;
494
575
  m88k:CX/UX:7*:*)
495
- echo m88k-harris-cxux7
496
- exit ;;
576
+ GUESS=m88k-harris-cxux7
577
+ ;;
497
578
  m88k:*:4*:R4*)
498
- echo m88k-motorola-sysv4
499
- exit ;;
579
+ GUESS=m88k-motorola-sysv4
580
+ ;;
500
581
  m88k:*:3*:R3*)
501
- echo m88k-motorola-sysv3
502
- exit ;;
582
+ GUESS=m88k-motorola-sysv3
583
+ ;;
503
584
  AViiON:dgux:*:*)
504
585
  # DG/UX returns AViiON for all architectures
505
586
  UNAME_PROCESSOR=`/usr/bin/uname -p`
506
- if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ]
587
+ if test "$UNAME_PROCESSOR" = mc88100 || test "$UNAME_PROCESSOR" = mc88110
507
588
  then
508
- if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \
509
- [ ${TARGET_BINARY_INTERFACE}x = x ]
589
+ if test "$TARGET_BINARY_INTERFACE"x = m88kdguxelfx || \
590
+ test "$TARGET_BINARY_INTERFACE"x = x
510
591
  then
511
- echo m88k-dg-dgux${UNAME_RELEASE}
592
+ GUESS=m88k-dg-dgux$UNAME_RELEASE
512
593
  else
513
- echo m88k-dg-dguxbcs${UNAME_RELEASE}
594
+ GUESS=m88k-dg-dguxbcs$UNAME_RELEASE
514
595
  fi
515
596
  else
516
- echo i586-dg-dgux${UNAME_RELEASE}
597
+ GUESS=i586-dg-dgux$UNAME_RELEASE
517
598
  fi
518
- exit ;;
599
+ ;;
519
600
  M88*:DolphinOS:*:*) # DolphinOS (SVR3)
520
- echo m88k-dolphin-sysv3
521
- exit ;;
601
+ GUESS=m88k-dolphin-sysv3
602
+ ;;
522
603
  M88*:*:R3*:*)
523
604
  # Delta 88k system running SVR3
524
- echo m88k-motorola-sysv3
525
- exit ;;
605
+ GUESS=m88k-motorola-sysv3
606
+ ;;
526
607
  XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3)
527
- echo m88k-tektronix-sysv3
528
- exit ;;
608
+ GUESS=m88k-tektronix-sysv3
609
+ ;;
529
610
  Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD)
530
- echo m68k-tektronix-bsd
531
- exit ;;
611
+ GUESS=m68k-tektronix-bsd
612
+ ;;
532
613
  *:IRIX*:*:*)
533
- echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'`
534
- exit ;;
614
+ IRIX_REL=`echo "$UNAME_RELEASE" | sed -e 's/-/_/g'`
615
+ GUESS=mips-sgi-irix$IRIX_REL
616
+ ;;
535
617
  ????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX.
536
- echo romp-ibm-aix # uname -m gives an 8 hex-code CPU id
537
- exit ;; # Note that: echo "'`uname -s`'" gives 'AIX '
618
+ GUESS=romp-ibm-aix # uname -m gives an 8 hex-code CPU id
619
+ ;; # Note that: echo "'`uname -s`'" gives 'AIX '
538
620
  i*86:AIX:*:*)
539
- echo i386-ibm-aix
540
- exit ;;
621
+ GUESS=i386-ibm-aix
622
+ ;;
541
623
  ia64:AIX:*:*)
542
- if [ -x /usr/bin/oslevel ] ; then
624
+ if test -x /usr/bin/oslevel ; then
543
625
  IBM_REV=`/usr/bin/oslevel`
544
626
  else
545
- IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
627
+ IBM_REV=$UNAME_VERSION.$UNAME_RELEASE
546
628
  fi
547
- echo ${UNAME_MACHINE}-ibm-aix${IBM_REV}
548
- exit ;;
629
+ GUESS=$UNAME_MACHINE-ibm-aix$IBM_REV
630
+ ;;
549
631
  *:AIX:2:3)
550
632
  if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then
551
- eval $set_cc_for_build
552
- sed 's/^ //' << EOF >$dummy.c
633
+ set_cc_for_build
634
+ sed 's/^ //' << EOF > "$dummy.c"
553
635
  #include <sys/systemcfg.h>
554
636
 
555
- main()
637
+ int
638
+ main ()
556
639
  {
557
640
  if (!__power_pc())
558
641
  exit(1);
@@ -560,83 +643,84 @@ EOF
560
643
  exit(0);
561
644
  }
562
645
  EOF
563
- if $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy`
646
+ if $CC_FOR_BUILD -o "$dummy" "$dummy.c" && SYSTEM_NAME=`"$dummy"`
564
647
  then
565
- echo "$SYSTEM_NAME"
648
+ GUESS=$SYSTEM_NAME
566
649
  else
567
- echo rs6000-ibm-aix3.2.5
650
+ GUESS=rs6000-ibm-aix3.2.5
568
651
  fi
569
652
  elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then
570
- echo rs6000-ibm-aix3.2.4
653
+ GUESS=rs6000-ibm-aix3.2.4
571
654
  else
572
- echo rs6000-ibm-aix3.2
655
+ GUESS=rs6000-ibm-aix3.2
573
656
  fi
574
- exit ;;
657
+ ;;
575
658
  *:AIX:*:[4567])
576
659
  IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'`
577
- if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then
660
+ if /usr/sbin/lsattr -El "$IBM_CPU_ID" | grep ' POWER' >/dev/null 2>&1; then
578
661
  IBM_ARCH=rs6000
579
662
  else
580
663
  IBM_ARCH=powerpc
581
664
  fi
582
- if [ -x /usr/bin/lslpp ] ; then
583
- IBM_REV=`/usr/bin/lslpp -Lqc bos.rte.libc |
665
+ if test -x /usr/bin/lslpp ; then
666
+ IBM_REV=`/usr/bin/lslpp -Lqc bos.rte.libc | \
584
667
  awk -F: '{ print $3 }' | sed s/[0-9]*$/0/`
585
668
  else
586
- IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
669
+ IBM_REV=$UNAME_VERSION.$UNAME_RELEASE
587
670
  fi
588
- echo ${IBM_ARCH}-ibm-aix${IBM_REV}
589
- exit ;;
671
+ GUESS=$IBM_ARCH-ibm-aix$IBM_REV
672
+ ;;
590
673
  *:AIX:*:*)
591
- echo rs6000-ibm-aix
592
- exit ;;
593
- ibmrt:4.4BSD:*|romp-ibm:BSD:*)
594
- echo romp-ibm-bsd4.4
595
- exit ;;
674
+ GUESS=rs6000-ibm-aix
675
+ ;;
676
+ ibmrt:4.4BSD:*|romp-ibm:4.4BSD:*)
677
+ GUESS=romp-ibm-bsd4.4
678
+ ;;
596
679
  ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC BSD and
597
- echo romp-ibm-bsd${UNAME_RELEASE} # 4.3 with uname added to
598
- exit ;; # report: romp-ibm BSD 4.3
680
+ GUESS=romp-ibm-bsd$UNAME_RELEASE # 4.3 with uname added to
681
+ ;; # report: romp-ibm BSD 4.3
599
682
  *:BOSX:*:*)
600
- echo rs6000-bull-bosx
601
- exit ;;
683
+ GUESS=rs6000-bull-bosx
684
+ ;;
602
685
  DPX/2?00:B.O.S.:*:*)
603
- echo m68k-bull-sysv3
604
- exit ;;
686
+ GUESS=m68k-bull-sysv3
687
+ ;;
605
688
  9000/[34]??:4.3bsd:1.*:*)
606
- echo m68k-hp-bsd
607
- exit ;;
689
+ GUESS=m68k-hp-bsd
690
+ ;;
608
691
  hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*)
609
- echo m68k-hp-bsd4.4
610
- exit ;;
692
+ GUESS=m68k-hp-bsd4.4
693
+ ;;
611
694
  9000/[34678]??:HP-UX:*:*)
612
- HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
613
- case "${UNAME_MACHINE}" in
614
- 9000/31? ) HP_ARCH=m68000 ;;
615
- 9000/[34]?? ) HP_ARCH=m68k ;;
695
+ HPUX_REV=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*.[0B]*//'`
696
+ case $UNAME_MACHINE in
697
+ 9000/31?) HP_ARCH=m68000 ;;
698
+ 9000/[34]??) HP_ARCH=m68k ;;
616
699
  9000/[678][0-9][0-9])
617
- if [ -x /usr/bin/getconf ]; then
700
+ if test -x /usr/bin/getconf; then
618
701
  sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null`
619
702
  sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null`
620
- case "${sc_cpu_version}" in
621
- 523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0
622
- 528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1
703
+ case $sc_cpu_version in
704
+ 523) HP_ARCH=hppa1.0 ;; # CPU_PA_RISC1_0
705
+ 528) HP_ARCH=hppa1.1 ;; # CPU_PA_RISC1_1
623
706
  532) # CPU_PA_RISC2_0
624
- case "${sc_kernel_bits}" in
625
- 32) HP_ARCH="hppa2.0n" ;;
626
- 64) HP_ARCH="hppa2.0w" ;;
627
- '') HP_ARCH="hppa2.0" ;; # HP-UX 10.20
707
+ case $sc_kernel_bits in
708
+ 32) HP_ARCH=hppa2.0n ;;
709
+ 64) HP_ARCH=hppa2.0w ;;
710
+ '') HP_ARCH=hppa2.0 ;; # HP-UX 10.20
628
711
  esac ;;
629
712
  esac
630
713
  fi
631
- if [ "${HP_ARCH}" = "" ]; then
632
- eval $set_cc_for_build
633
- sed 's/^ //' << EOF >$dummy.c
714
+ if test "$HP_ARCH" = ""; then
715
+ set_cc_for_build
716
+ sed 's/^ //' << EOF > "$dummy.c"
634
717
 
635
718
  #define _HPUX_SOURCE
636
719
  #include <stdlib.h>
637
720
  #include <unistd.h>
638
721
 
639
- int main ()
722
+ int
723
+ main ()
640
724
  {
641
725
  #if defined(_SC_KERNEL_BITS)
642
726
  long bits = sysconf(_SC_KERNEL_BITS);
@@ -663,13 +747,13 @@ EOF
663
747
  exit (0);
664
748
  }
665
749
  EOF
666
- (CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy`
750
+ (CCOPTS="" $CC_FOR_BUILD -o "$dummy" "$dummy.c" 2>/dev/null) && HP_ARCH=`"$dummy"`
667
751
  test -z "$HP_ARCH" && HP_ARCH=hppa
668
752
  fi ;;
669
753
  esac
670
- if [ ${HP_ARCH} = "hppa2.0w" ]
754
+ if test "$HP_ARCH" = hppa2.0w
671
755
  then
672
- eval $set_cc_for_build
756
+ set_cc_for_build
673
757
 
674
758
  # hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating
675
759
  # 32-bit code. hppa64-hp-hpux* has the same kernel and a compiler
@@ -680,23 +764,23 @@ EOF
680
764
  # $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess
681
765
  # => hppa64-hp-hpux11.23
682
766
 
683
- if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) |
767
+ if echo __LP64__ | (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) |
684
768
  grep -q __LP64__
685
769
  then
686
- HP_ARCH="hppa2.0w"
770
+ HP_ARCH=hppa2.0w
687
771
  else
688
- HP_ARCH="hppa64"
772
+ HP_ARCH=hppa64
689
773
  fi
690
774
  fi
691
- echo ${HP_ARCH}-hp-hpux${HPUX_REV}
692
- exit ;;
775
+ GUESS=$HP_ARCH-hp-hpux$HPUX_REV
776
+ ;;
693
777
  ia64:HP-UX:*:*)
694
- HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
695
- echo ia64-hp-hpux${HPUX_REV}
696
- exit ;;
778
+ HPUX_REV=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*.[0B]*//'`
779
+ GUESS=ia64-hp-hpux$HPUX_REV
780
+ ;;
697
781
  3050*:HI-UX:*:*)
698
- eval $set_cc_for_build
699
- sed 's/^ //' << EOF >$dummy.c
782
+ set_cc_for_build
783
+ sed 's/^ //' << EOF > "$dummy.c"
700
784
  #include <unistd.h>
701
785
  int
702
786
  main ()
@@ -721,38 +805,38 @@ EOF
721
805
  exit (0);
722
806
  }
723
807
  EOF
724
- $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` &&
808
+ $CC_FOR_BUILD -o "$dummy" "$dummy.c" && SYSTEM_NAME=`"$dummy"` &&
725
809
  { echo "$SYSTEM_NAME"; exit; }
726
- echo unknown-hitachi-hiuxwe2
727
- exit ;;
728
- 9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* )
729
- echo hppa1.1-hp-bsd
730
- exit ;;
810
+ GUESS=unknown-hitachi-hiuxwe2
811
+ ;;
812
+ 9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:*)
813
+ GUESS=hppa1.1-hp-bsd
814
+ ;;
731
815
  9000/8??:4.3bsd:*:*)
732
- echo hppa1.0-hp-bsd
733
- exit ;;
816
+ GUESS=hppa1.0-hp-bsd
817
+ ;;
734
818
  *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*)
735
- echo hppa1.0-hp-mpeix
736
- exit ;;
737
- hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* )
738
- echo hppa1.1-hp-osf
739
- exit ;;
819
+ GUESS=hppa1.0-hp-mpeix
820
+ ;;
821
+ hp7??:OSF1:*:* | hp8?[79]:OSF1:*:*)
822
+ GUESS=hppa1.1-hp-osf
823
+ ;;
740
824
  hp8??:OSF1:*:*)
741
- echo hppa1.0-hp-osf
742
- exit ;;
825
+ GUESS=hppa1.0-hp-osf
826
+ ;;
743
827
  i*86:OSF1:*:*)
744
- if [ -x /usr/sbin/sysversion ] ; then
745
- echo ${UNAME_MACHINE}-unknown-osf1mk
828
+ if test -x /usr/sbin/sysversion ; then
829
+ GUESS=$UNAME_MACHINE-unknown-osf1mk
746
830
  else
747
- echo ${UNAME_MACHINE}-unknown-osf1
831
+ GUESS=$UNAME_MACHINE-unknown-osf1
748
832
  fi
749
- exit ;;
833
+ ;;
750
834
  parisc*:Lites*:*:*)
751
- echo hppa1.1-hp-lites
752
- exit ;;
835
+ GUESS=hppa1.1-hp-lites
836
+ ;;
753
837
  C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*)
754
- echo c1-convex-bsd
755
- exit ;;
838
+ GUESS=c1-convex-bsd
839
+ ;;
756
840
  C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*)
757
841
  if getsysinfo -f scalar_acc
758
842
  then echo c32-convex-bsd
@@ -760,139 +844,174 @@ EOF
760
844
  fi
761
845
  exit ;;
762
846
  C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*)
763
- echo c34-convex-bsd
764
- exit ;;
847
+ GUESS=c34-convex-bsd
848
+ ;;
765
849
  C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*)
766
- echo c38-convex-bsd
767
- exit ;;
850
+ GUESS=c38-convex-bsd
851
+ ;;
768
852
  C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*)
769
- echo c4-convex-bsd
770
- exit ;;
853
+ GUESS=c4-convex-bsd
854
+ ;;
771
855
  CRAY*Y-MP:*:*:*)
772
- echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
773
- exit ;;
856
+ CRAY_REL=`echo "$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'`
857
+ GUESS=ymp-cray-unicos$CRAY_REL
858
+ ;;
774
859
  CRAY*[A-Z]90:*:*:*)
775
- echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \
860
+ echo "$UNAME_MACHINE"-cray-unicos"$UNAME_RELEASE" \
776
861
  | sed -e 's/CRAY.*\([A-Z]90\)/\1/' \
777
862
  -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \
778
863
  -e 's/\.[^.]*$/.X/'
779
864
  exit ;;
780
865
  CRAY*TS:*:*:*)
781
- echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
782
- exit ;;
866
+ CRAY_REL=`echo "$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'`
867
+ GUESS=t90-cray-unicos$CRAY_REL
868
+ ;;
783
869
  CRAY*T3E:*:*:*)
784
- echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
785
- exit ;;
870
+ CRAY_REL=`echo "$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'`
871
+ GUESS=alphaev5-cray-unicosmk$CRAY_REL
872
+ ;;
786
873
  CRAY*SV1:*:*:*)
787
- echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
788
- exit ;;
874
+ CRAY_REL=`echo "$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'`
875
+ GUESS=sv1-cray-unicos$CRAY_REL
876
+ ;;
789
877
  *:UNICOS/mp:*:*)
790
- echo craynv-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
791
- exit ;;
878
+ CRAY_REL=`echo "$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'`
879
+ GUESS=craynv-cray-unicosmp$CRAY_REL
880
+ ;;
792
881
  F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*)
793
- FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
794
- FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
795
- FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'`
796
- echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
797
- exit ;;
882
+ FUJITSU_PROC=`uname -m | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz`
883
+ FUJITSU_SYS=`uname -p | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/\///'`
884
+ FUJITSU_REL=`echo "$UNAME_RELEASE" | sed -e 's/ /_/'`
885
+ GUESS=${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}
886
+ ;;
798
887
  5000:UNIX_System_V:4.*:*)
799
- FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
800
- FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'`
801
- echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
802
- exit ;;
888
+ FUJITSU_SYS=`uname -p | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/\///'`
889
+ FUJITSU_REL=`echo "$UNAME_RELEASE" | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/ /_/'`
890
+ GUESS=sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}
891
+ ;;
803
892
  i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*)
804
- echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE}
805
- exit ;;
893
+ GUESS=$UNAME_MACHINE-pc-bsdi$UNAME_RELEASE
894
+ ;;
806
895
  sparc*:BSD/OS:*:*)
807
- echo sparc-unknown-bsdi${UNAME_RELEASE}
808
- exit ;;
896
+ GUESS=sparc-unknown-bsdi$UNAME_RELEASE
897
+ ;;
809
898
  *:BSD/OS:*:*)
810
- echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE}
811
- exit ;;
899
+ GUESS=$UNAME_MACHINE-unknown-bsdi$UNAME_RELEASE
900
+ ;;
901
+ arm:FreeBSD:*:*)
902
+ UNAME_PROCESSOR=`uname -p`
903
+ set_cc_for_build
904
+ if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \
905
+ | grep -q __ARM_PCS_VFP
906
+ then
907
+ FREEBSD_REL=`echo "$UNAME_RELEASE" | sed -e 's/[-(].*//'`
908
+ GUESS=$UNAME_PROCESSOR-unknown-freebsd$FREEBSD_REL-gnueabi
909
+ else
910
+ FREEBSD_REL=`echo "$UNAME_RELEASE" | sed -e 's/[-(].*//'`
911
+ GUESS=$UNAME_PROCESSOR-unknown-freebsd$FREEBSD_REL-gnueabihf
912
+ fi
913
+ ;;
812
914
  *:FreeBSD:*:*)
813
- UNAME_PROCESSOR=`/usr/bin/uname -p`
814
- case ${UNAME_PROCESSOR} in
915
+ UNAME_PROCESSOR=`uname -p`
916
+ case $UNAME_PROCESSOR in
815
917
  amd64)
816
- echo x86_64-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
817
- *)
818
- echo ${UNAME_PROCESSOR}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
918
+ UNAME_PROCESSOR=x86_64 ;;
919
+ i386)
920
+ UNAME_PROCESSOR=i586 ;;
819
921
  esac
820
- exit ;;
922
+ FREEBSD_REL=`echo "$UNAME_RELEASE" | sed -e 's/[-(].*//'`
923
+ GUESS=$UNAME_PROCESSOR-unknown-freebsd$FREEBSD_REL
924
+ ;;
821
925
  i*:CYGWIN*:*)
822
- echo ${UNAME_MACHINE}-pc-cygwin
823
- exit ;;
926
+ GUESS=$UNAME_MACHINE-pc-cygwin
927
+ ;;
824
928
  *:MINGW64*:*)
825
- echo ${UNAME_MACHINE}-pc-mingw64
826
- exit ;;
929
+ GUESS=$UNAME_MACHINE-pc-mingw64
930
+ ;;
827
931
  *:MINGW*:*)
828
- echo ${UNAME_MACHINE}-pc-mingw32
829
- exit ;;
932
+ GUESS=$UNAME_MACHINE-pc-mingw32
933
+ ;;
830
934
  *:MSYS*:*)
831
- echo ${UNAME_MACHINE}-pc-msys
832
- exit ;;
833
- i*:windows32*:*)
834
- # uname -m includes "-pc" on this system.
835
- echo ${UNAME_MACHINE}-mingw32
836
- exit ;;
935
+ GUESS=$UNAME_MACHINE-pc-msys
936
+ ;;
837
937
  i*:PW*:*)
838
- echo ${UNAME_MACHINE}-pc-pw32
839
- exit ;;
938
+ GUESS=$UNAME_MACHINE-pc-pw32
939
+ ;;
940
+ *:SerenityOS:*:*)
941
+ GUESS=$UNAME_MACHINE-pc-serenity
942
+ ;;
840
943
  *:Interix*:*)
841
- case ${UNAME_MACHINE} in
944
+ case $UNAME_MACHINE in
842
945
  x86)
843
- echo i586-pc-interix${UNAME_RELEASE}
844
- exit ;;
946
+ GUESS=i586-pc-interix$UNAME_RELEASE
947
+ ;;
845
948
  authenticamd | genuineintel | EM64T)
846
- echo x86_64-unknown-interix${UNAME_RELEASE}
847
- exit ;;
949
+ GUESS=x86_64-unknown-interix$UNAME_RELEASE
950
+ ;;
848
951
  IA64)
849
- echo ia64-unknown-interix${UNAME_RELEASE}
850
- exit ;;
952
+ GUESS=ia64-unknown-interix$UNAME_RELEASE
953
+ ;;
851
954
  esac ;;
852
- [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*)
853
- echo i${UNAME_MACHINE}-pc-mks
854
- exit ;;
855
- 8664:Windows_NT:*)
856
- echo x86_64-pc-mks
857
- exit ;;
858
- i*:Windows_NT*:* | Pentium*:Windows_NT*:*)
859
- # How do we know it's Interix rather than the generic POSIX subsystem?
860
- # It also conflicts with pre-2.0 versions of AT&T UWIN. Should we
861
- # UNAME_MACHINE based on the output of uname instead of i386?
862
- echo i586-pc-interix
863
- exit ;;
864
955
  i*:UWIN*:*)
865
- echo ${UNAME_MACHINE}-pc-uwin
866
- exit ;;
956
+ GUESS=$UNAME_MACHINE-pc-uwin
957
+ ;;
867
958
  amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*)
868
- echo x86_64-unknown-cygwin
869
- exit ;;
870
- p*:CYGWIN*:*)
871
- echo powerpcle-unknown-cygwin
872
- exit ;;
959
+ GUESS=x86_64-pc-cygwin
960
+ ;;
873
961
  prep*:SunOS:5.*:*)
874
- echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
875
- exit ;;
962
+ SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'`
963
+ GUESS=powerpcle-unknown-solaris2$SUN_REL
964
+ ;;
876
965
  *:GNU:*:*)
877
966
  # the GNU system
878
- echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-${LIBC}`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'`
879
- exit ;;
967
+ GNU_ARCH=`echo "$UNAME_MACHINE" | sed -e 's,[-/].*$,,'`
968
+ GNU_REL=`echo "$UNAME_RELEASE" | sed -e 's,/.*$,,'`
969
+ GUESS=$GNU_ARCH-unknown-$LIBC$GNU_REL
970
+ ;;
880
971
  *:GNU/*:*:*)
881
972
  # other systems with GNU libc and userland
882
- echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-${LIBC}
883
- exit ;;
884
- i*86:Minix:*:*)
885
- echo ${UNAME_MACHINE}-pc-minix
886
- exit ;;
973
+ GNU_SYS=`echo "$UNAME_SYSTEM" | sed 's,^[^/]*/,,' | tr "[:upper:]" "[:lower:]"`
974
+ GNU_REL=`echo "$UNAME_RELEASE" | sed -e 's/[-(].*//'`
975
+ GUESS=$UNAME_MACHINE-unknown-$GNU_SYS$GNU_REL-$LIBC
976
+ ;;
977
+ x86_64:[Mm]anagarm:*:*|i?86:[Mm]anagarm:*:*)
978
+ GUESS="$UNAME_MACHINE-pc-managarm-mlibc"
979
+ ;;
980
+ *:[Mm]anagarm:*:*)
981
+ GUESS="$UNAME_MACHINE-unknown-managarm-mlibc"
982
+ ;;
983
+ *:Minix:*:*)
984
+ GUESS=$UNAME_MACHINE-unknown-minix
985
+ ;;
887
986
  aarch64:Linux:*:*)
888
- echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
889
- exit ;;
987
+ set_cc_for_build
988
+ CPU=$UNAME_MACHINE
989
+ LIBCABI=$LIBC
990
+ if test "$CC_FOR_BUILD" != no_compiler_found; then
991
+ ABI=64
992
+ sed 's/^ //' << EOF > "$dummy.c"
993
+ #ifdef __ARM_EABI__
994
+ #ifdef __ARM_PCS_VFP
995
+ ABI=eabihf
996
+ #else
997
+ ABI=eabi
998
+ #endif
999
+ #endif
1000
+ EOF
1001
+ cc_set_abi=`$CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^ABI' | sed 's, ,,g'`
1002
+ eval "$cc_set_abi"
1003
+ case $ABI in
1004
+ eabi | eabihf) CPU=armv8l; LIBCABI=$LIBC$ABI ;;
1005
+ esac
1006
+ fi
1007
+ GUESS=$CPU-unknown-linux-$LIBCABI
1008
+ ;;
890
1009
  aarch64_be:Linux:*:*)
891
1010
  UNAME_MACHINE=aarch64_be
892
- echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
893
- exit ;;
1011
+ GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
1012
+ ;;
894
1013
  alpha:Linux:*:*)
895
- case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in
1014
+ case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' /proc/cpuinfo 2>/dev/null` in
896
1015
  EV5) UNAME_MACHINE=alphaev5 ;;
897
1016
  EV56) UNAME_MACHINE=alphaev56 ;;
898
1017
  PCA56) UNAME_MACHINE=alphapca56 ;;
@@ -902,172 +1021,246 @@ EOF
902
1021
  EV68*) UNAME_MACHINE=alphaev68 ;;
903
1022
  esac
904
1023
  objdump --private-headers /bin/sh | grep -q ld.so.1
905
- if test "$?" = 0 ; then LIBC="gnulibc1" ; fi
906
- echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
907
- exit ;;
908
- arc:Linux:*:* | arceb:Linux:*:*)
909
- echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
910
- exit ;;
1024
+ if test "$?" = 0 ; then LIBC=gnulibc1 ; fi
1025
+ GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
1026
+ ;;
1027
+ arc:Linux:*:* | arceb:Linux:*:* | arc32:Linux:*:* | arc64:Linux:*:*)
1028
+ GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
1029
+ ;;
911
1030
  arm*:Linux:*:*)
912
- eval $set_cc_for_build
1031
+ set_cc_for_build
913
1032
  if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \
914
1033
  | grep -q __ARM_EABI__
915
1034
  then
916
- echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
1035
+ GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
917
1036
  else
918
1037
  if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \
919
1038
  | grep -q __ARM_PCS_VFP
920
1039
  then
921
- echo ${UNAME_MACHINE}-unknown-linux-${LIBC}eabi
1040
+ GUESS=$UNAME_MACHINE-unknown-linux-${LIBC}eabi
922
1041
  else
923
- echo ${UNAME_MACHINE}-unknown-linux-${LIBC}eabihf
1042
+ GUESS=$UNAME_MACHINE-unknown-linux-${LIBC}eabihf
924
1043
  fi
925
1044
  fi
926
- exit ;;
1045
+ ;;
927
1046
  avr32*:Linux:*:*)
928
- echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
929
- exit ;;
1047
+ GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
1048
+ ;;
930
1049
  cris:Linux:*:*)
931
- echo ${UNAME_MACHINE}-axis-linux-${LIBC}
932
- exit ;;
1050
+ GUESS=$UNAME_MACHINE-axis-linux-$LIBC
1051
+ ;;
933
1052
  crisv32:Linux:*:*)
934
- echo ${UNAME_MACHINE}-axis-linux-${LIBC}
935
- exit ;;
1053
+ GUESS=$UNAME_MACHINE-axis-linux-$LIBC
1054
+ ;;
1055
+ e2k:Linux:*:*)
1056
+ GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
1057
+ ;;
936
1058
  frv:Linux:*:*)
937
- echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
938
- exit ;;
1059
+ GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
1060
+ ;;
939
1061
  hexagon:Linux:*:*)
940
- echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
941
- exit ;;
1062
+ GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
1063
+ ;;
942
1064
  i*86:Linux:*:*)
943
- echo ${UNAME_MACHINE}-pc-linux-${LIBC}
944
- exit ;;
1065
+ GUESS=$UNAME_MACHINE-pc-linux-$LIBC
1066
+ ;;
945
1067
  ia64:Linux:*:*)
946
- echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
947
- exit ;;
1068
+ GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
1069
+ ;;
1070
+ k1om:Linux:*:*)
1071
+ GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
1072
+ ;;
1073
+ kvx:Linux:*:*)
1074
+ GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
1075
+ ;;
1076
+ kvx:cos:*:*)
1077
+ GUESS=$UNAME_MACHINE-unknown-cos
1078
+ ;;
1079
+ kvx:mbr:*:*)
1080
+ GUESS=$UNAME_MACHINE-unknown-mbr
1081
+ ;;
1082
+ loongarch32:Linux:*:* | loongarch64:Linux:*:*)
1083
+ GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
1084
+ ;;
948
1085
  m32r*:Linux:*:*)
949
- echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
950
- exit ;;
1086
+ GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
1087
+ ;;
951
1088
  m68*:Linux:*:*)
952
- echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
953
- exit ;;
1089
+ GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
1090
+ ;;
954
1091
  mips:Linux:*:* | mips64:Linux:*:*)
955
- eval $set_cc_for_build
956
- sed 's/^ //' << EOF >$dummy.c
1092
+ set_cc_for_build
1093
+ IS_GLIBC=0
1094
+ test x"${LIBC}" = xgnu && IS_GLIBC=1
1095
+ sed 's/^ //' << EOF > "$dummy.c"
957
1096
  #undef CPU
958
- #undef ${UNAME_MACHINE}
959
- #undef ${UNAME_MACHINE}el
1097
+ #undef mips
1098
+ #undef mipsel
1099
+ #undef mips64
1100
+ #undef mips64el
1101
+ #if ${IS_GLIBC} && defined(_ABI64)
1102
+ LIBCABI=gnuabi64
1103
+ #else
1104
+ #if ${IS_GLIBC} && defined(_ABIN32)
1105
+ LIBCABI=gnuabin32
1106
+ #else
1107
+ LIBCABI=${LIBC}
1108
+ #endif
1109
+ #endif
1110
+
1111
+ #if ${IS_GLIBC} && defined(__mips64) && defined(__mips_isa_rev) && __mips_isa_rev>=6
1112
+ CPU=mipsisa64r6
1113
+ #else
1114
+ #if ${IS_GLIBC} && !defined(__mips64) && defined(__mips_isa_rev) && __mips_isa_rev>=6
1115
+ CPU=mipsisa32r6
1116
+ #else
1117
+ #if defined(__mips64)
1118
+ CPU=mips64
1119
+ #else
1120
+ CPU=mips
1121
+ #endif
1122
+ #endif
1123
+ #endif
1124
+
960
1125
  #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
961
- CPU=${UNAME_MACHINE}el
1126
+ MIPS_ENDIAN=el
962
1127
  #else
963
1128
  #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
964
- CPU=${UNAME_MACHINE}
1129
+ MIPS_ENDIAN=
965
1130
  #else
966
- CPU=
1131
+ MIPS_ENDIAN=
967
1132
  #endif
968
1133
  #endif
969
1134
  EOF
970
- eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^CPU'`
971
- test x"${CPU}" != x && { echo "${CPU}-unknown-linux-${LIBC}"; exit; }
1135
+ cc_set_vars=`$CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^CPU\|^MIPS_ENDIAN\|^LIBCABI'`
1136
+ eval "$cc_set_vars"
1137
+ test "x$CPU" != x && { echo "$CPU${MIPS_ENDIAN}-unknown-linux-$LIBCABI"; exit; }
1138
+ ;;
1139
+ mips64el:Linux:*:*)
1140
+ GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
972
1141
  ;;
973
1142
  openrisc*:Linux:*:*)
974
- echo or1k-unknown-linux-${LIBC}
975
- exit ;;
1143
+ GUESS=or1k-unknown-linux-$LIBC
1144
+ ;;
976
1145
  or32:Linux:*:* | or1k*:Linux:*:*)
977
- echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
978
- exit ;;
1146
+ GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
1147
+ ;;
979
1148
  padre:Linux:*:*)
980
- echo sparc-unknown-linux-${LIBC}
981
- exit ;;
1149
+ GUESS=sparc-unknown-linux-$LIBC
1150
+ ;;
982
1151
  parisc64:Linux:*:* | hppa64:Linux:*:*)
983
- echo hppa64-unknown-linux-${LIBC}
984
- exit ;;
1152
+ GUESS=hppa64-unknown-linux-$LIBC
1153
+ ;;
985
1154
  parisc:Linux:*:* | hppa:Linux:*:*)
986
1155
  # Look for CPU level
987
1156
  case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in
988
- PA7*) echo hppa1.1-unknown-linux-${LIBC} ;;
989
- PA8*) echo hppa2.0-unknown-linux-${LIBC} ;;
990
- *) echo hppa-unknown-linux-${LIBC} ;;
1157
+ PA7*) GUESS=hppa1.1-unknown-linux-$LIBC ;;
1158
+ PA8*) GUESS=hppa2.0-unknown-linux-$LIBC ;;
1159
+ *) GUESS=hppa-unknown-linux-$LIBC ;;
991
1160
  esac
992
- exit ;;
1161
+ ;;
993
1162
  ppc64:Linux:*:*)
994
- echo powerpc64-unknown-linux-${LIBC}
995
- exit ;;
1163
+ GUESS=powerpc64-unknown-linux-$LIBC
1164
+ ;;
996
1165
  ppc:Linux:*:*)
997
- echo powerpc-unknown-linux-${LIBC}
998
- exit ;;
1166
+ GUESS=powerpc-unknown-linux-$LIBC
1167
+ ;;
999
1168
  ppc64le:Linux:*:*)
1000
- echo powerpc64le-unknown-linux-${LIBC}
1001
- exit ;;
1169
+ GUESS=powerpc64le-unknown-linux-$LIBC
1170
+ ;;
1002
1171
  ppcle:Linux:*:*)
1003
- echo powerpcle-unknown-linux-${LIBC}
1004
- exit ;;
1172
+ GUESS=powerpcle-unknown-linux-$LIBC
1173
+ ;;
1174
+ riscv32:Linux:*:* | riscv32be:Linux:*:* | riscv64:Linux:*:* | riscv64be:Linux:*:*)
1175
+ GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
1176
+ ;;
1005
1177
  s390:Linux:*:* | s390x:Linux:*:*)
1006
- echo ${UNAME_MACHINE}-ibm-linux-${LIBC}
1007
- exit ;;
1178
+ GUESS=$UNAME_MACHINE-ibm-linux-$LIBC
1179
+ ;;
1008
1180
  sh64*:Linux:*:*)
1009
- echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
1010
- exit ;;
1181
+ GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
1182
+ ;;
1011
1183
  sh*:Linux:*:*)
1012
- echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
1013
- exit ;;
1184
+ GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
1185
+ ;;
1014
1186
  sparc:Linux:*:* | sparc64:Linux:*:*)
1015
- echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
1016
- exit ;;
1187
+ GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
1188
+ ;;
1017
1189
  tile*:Linux:*:*)
1018
- echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
1019
- exit ;;
1190
+ GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
1191
+ ;;
1020
1192
  vax:Linux:*:*)
1021
- echo ${UNAME_MACHINE}-dec-linux-${LIBC}
1022
- exit ;;
1193
+ GUESS=$UNAME_MACHINE-dec-linux-$LIBC
1194
+ ;;
1023
1195
  x86_64:Linux:*:*)
1024
- echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
1025
- exit ;;
1196
+ set_cc_for_build
1197
+ CPU=$UNAME_MACHINE
1198
+ LIBCABI=$LIBC
1199
+ if test "$CC_FOR_BUILD" != no_compiler_found; then
1200
+ ABI=64
1201
+ sed 's/^ //' << EOF > "$dummy.c"
1202
+ #ifdef __i386__
1203
+ ABI=x86
1204
+ #else
1205
+ #ifdef __ILP32__
1206
+ ABI=x32
1207
+ #endif
1208
+ #endif
1209
+ EOF
1210
+ cc_set_abi=`$CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^ABI' | sed 's, ,,g'`
1211
+ eval "$cc_set_abi"
1212
+ case $ABI in
1213
+ x86) CPU=i686 ;;
1214
+ x32) LIBCABI=${LIBC}x32 ;;
1215
+ esac
1216
+ fi
1217
+ GUESS=$CPU-pc-linux-$LIBCABI
1218
+ ;;
1026
1219
  xtensa*:Linux:*:*)
1027
- echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
1028
- exit ;;
1220
+ GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
1221
+ ;;
1029
1222
  i*86:DYNIX/ptx:4*:*)
1030
1223
  # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there.
1031
1224
  # earlier versions are messed up and put the nodename in both
1032
1225
  # sysname and nodename.
1033
- echo i386-sequent-sysv4
1034
- exit ;;
1226
+ GUESS=i386-sequent-sysv4
1227
+ ;;
1035
1228
  i*86:UNIX_SV:4.2MP:2.*)
1036
1229
  # Unixware is an offshoot of SVR4, but it has its own version
1037
1230
  # number series starting with 2...
1038
1231
  # I am not positive that other SVR4 systems won't match this,
1039
1232
  # I just have to hope. -- rms.
1040
1233
  # Use sysv4.2uw... so that sysv4* matches it.
1041
- echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION}
1042
- exit ;;
1234
+ GUESS=$UNAME_MACHINE-pc-sysv4.2uw$UNAME_VERSION
1235
+ ;;
1043
1236
  i*86:OS/2:*:*)
1044
- # If we were able to find `uname', then EMX Unix compatibility
1237
+ # If we were able to find 'uname', then EMX Unix compatibility
1045
1238
  # is probably installed.
1046
- echo ${UNAME_MACHINE}-pc-os2-emx
1047
- exit ;;
1239
+ GUESS=$UNAME_MACHINE-pc-os2-emx
1240
+ ;;
1048
1241
  i*86:XTS-300:*:STOP)
1049
- echo ${UNAME_MACHINE}-unknown-stop
1050
- exit ;;
1242
+ GUESS=$UNAME_MACHINE-unknown-stop
1243
+ ;;
1051
1244
  i*86:atheos:*:*)
1052
- echo ${UNAME_MACHINE}-unknown-atheos
1053
- exit ;;
1245
+ GUESS=$UNAME_MACHINE-unknown-atheos
1246
+ ;;
1054
1247
  i*86:syllable:*:*)
1055
- echo ${UNAME_MACHINE}-pc-syllable
1056
- exit ;;
1248
+ GUESS=$UNAME_MACHINE-pc-syllable
1249
+ ;;
1057
1250
  i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.[02]*:*)
1058
- echo i386-unknown-lynxos${UNAME_RELEASE}
1059
- exit ;;
1251
+ GUESS=i386-unknown-lynxos$UNAME_RELEASE
1252
+ ;;
1060
1253
  i*86:*DOS:*:*)
1061
- echo ${UNAME_MACHINE}-pc-msdosdjgpp
1062
- exit ;;
1063
- i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*)
1064
- UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'`
1254
+ GUESS=$UNAME_MACHINE-pc-msdosdjgpp
1255
+ ;;
1256
+ i*86:*:4.*:*)
1257
+ UNAME_REL=`echo "$UNAME_RELEASE" | sed 's/\/MP$//'`
1065
1258
  if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then
1066
- echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL}
1259
+ GUESS=$UNAME_MACHINE-univel-sysv$UNAME_REL
1067
1260
  else
1068
- echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL}
1261
+ GUESS=$UNAME_MACHINE-pc-sysv$UNAME_REL
1069
1262
  fi
1070
- exit ;;
1263
+ ;;
1071
1264
  i*86:*:5:[678]*)
1072
1265
  # UnixWare 7.x, OpenUNIX and OpenServer 6.
1073
1266
  case `/bin/uname -X | grep "^Machine"` in
@@ -1075,12 +1268,12 @@ EOF
1075
1268
  *Pentium) UNAME_MACHINE=i586 ;;
1076
1269
  *Pent*|*Celeron) UNAME_MACHINE=i686 ;;
1077
1270
  esac
1078
- echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION}
1079
- exit ;;
1271
+ GUESS=$UNAME_MACHINE-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION}
1272
+ ;;
1080
1273
  i*86:*:3.2:*)
1081
1274
  if test -f /usr/options/cb.name; then
1082
1275
  UNAME_REL=`sed -n 's/.*Version //p' </usr/options/cb.name`
1083
- echo ${UNAME_MACHINE}-pc-isc$UNAME_REL
1276
+ GUESS=$UNAME_MACHINE-pc-isc$UNAME_REL
1084
1277
  elif /bin/uname -X 2>/dev/null >/dev/null ; then
1085
1278
  UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')`
1086
1279
  (/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486
@@ -1090,43 +1283,43 @@ EOF
1090
1283
  && UNAME_MACHINE=i686
1091
1284
  (/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \
1092
1285
  && UNAME_MACHINE=i686
1093
- echo ${UNAME_MACHINE}-pc-sco$UNAME_REL
1286
+ GUESS=$UNAME_MACHINE-pc-sco$UNAME_REL
1094
1287
  else
1095
- echo ${UNAME_MACHINE}-pc-sysv32
1288
+ GUESS=$UNAME_MACHINE-pc-sysv32
1096
1289
  fi
1097
- exit ;;
1290
+ ;;
1098
1291
  pc:*:*:*)
1099
1292
  # Left here for compatibility:
1100
1293
  # uname -m prints for DJGPP always 'pc', but it prints nothing about
1101
1294
  # the processor, so we play safe by assuming i586.
1102
1295
  # Note: whatever this is, it MUST be the same as what config.sub
1103
- # prints for the "djgpp" host, or else GDB configury will decide that
1296
+ # prints for the "djgpp" host, or else GDB configure will decide that
1104
1297
  # this is a cross-build.
1105
- echo i586-pc-msdosdjgpp
1106
- exit ;;
1298
+ GUESS=i586-pc-msdosdjgpp
1299
+ ;;
1107
1300
  Intel:Mach:3*:*)
1108
- echo i386-pc-mach3
1109
- exit ;;
1301
+ GUESS=i386-pc-mach3
1302
+ ;;
1110
1303
  paragon:*:*:*)
1111
- echo i860-intel-osf1
1112
- exit ;;
1304
+ GUESS=i860-intel-osf1
1305
+ ;;
1113
1306
  i860:*:4.*:*) # i860-SVR4
1114
1307
  if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then
1115
- echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4
1308
+ GUESS=i860-stardent-sysv$UNAME_RELEASE # Stardent Vistra i860-SVR4
1116
1309
  else # Add other i860-SVR4 vendors below as they are discovered.
1117
- echo i860-unknown-sysv${UNAME_RELEASE} # Unknown i860-SVR4
1310
+ GUESS=i860-unknown-sysv$UNAME_RELEASE # Unknown i860-SVR4
1118
1311
  fi
1119
- exit ;;
1312
+ ;;
1120
1313
  mini*:CTIX:SYS*5:*)
1121
1314
  # "miniframe"
1122
- echo m68010-convergent-sysv
1123
- exit ;;
1315
+ GUESS=m68010-convergent-sysv
1316
+ ;;
1124
1317
  mc68k:UNIX:SYSTEM5:3.51m)
1125
- echo m68k-convergent-sysv
1126
- exit ;;
1318
+ GUESS=m68k-convergent-sysv
1319
+ ;;
1127
1320
  M680?0:D-NIX:5.3:*)
1128
- echo m68k-diab-dnix
1129
- exit ;;
1321
+ GUESS=m68k-diab-dnix
1322
+ ;;
1130
1323
  M68*:*:R3V[5678]*:*)
1131
1324
  test -r /sysV68 && { echo 'm68k-motorola-sysv'; exit; } ;;
1132
1325
  3[345]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4400:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0 | SDS2:*:4.0:3.0 | SHG2:*:4.0:3.0 | S7501*:*:4.0:3.0)
@@ -1134,9 +1327,9 @@ EOF
1134
1327
  test -r /etc/.relid \
1135
1328
  && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
1136
1329
  /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
1137
- && { echo i486-ncr-sysv4.3${OS_REL}; exit; }
1330
+ && { echo i486-ncr-sysv4.3"$OS_REL"; exit; }
1138
1331
  /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
1139
- && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;;
1332
+ && { echo i586-ncr-sysv4.3"$OS_REL"; exit; } ;;
1140
1333
  3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*)
1141
1334
  /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
1142
1335
  && { echo i486-ncr-sysv4; exit; } ;;
@@ -1145,248 +1338,448 @@ EOF
1145
1338
  test -r /etc/.relid \
1146
1339
  && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
1147
1340
  /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
1148
- && { echo i486-ncr-sysv4.3${OS_REL}; exit; }
1341
+ && { echo i486-ncr-sysv4.3"$OS_REL"; exit; }
1149
1342
  /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
1150
- && { echo i586-ncr-sysv4.3${OS_REL}; exit; }
1343
+ && { echo i586-ncr-sysv4.3"$OS_REL"; exit; }
1151
1344
  /bin/uname -p 2>/dev/null | /bin/grep pteron >/dev/null \
1152
- && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;;
1345
+ && { echo i586-ncr-sysv4.3"$OS_REL"; exit; } ;;
1153
1346
  m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*)
1154
- echo m68k-unknown-lynxos${UNAME_RELEASE}
1155
- exit ;;
1347
+ GUESS=m68k-unknown-lynxos$UNAME_RELEASE
1348
+ ;;
1156
1349
  mc68030:UNIX_System_V:4.*:*)
1157
- echo m68k-atari-sysv4
1158
- exit ;;
1350
+ GUESS=m68k-atari-sysv4
1351
+ ;;
1159
1352
  TSUNAMI:LynxOS:2.*:*)
1160
- echo sparc-unknown-lynxos${UNAME_RELEASE}
1161
- exit ;;
1353
+ GUESS=sparc-unknown-lynxos$UNAME_RELEASE
1354
+ ;;
1162
1355
  rs6000:LynxOS:2.*:*)
1163
- echo rs6000-unknown-lynxos${UNAME_RELEASE}
1164
- exit ;;
1356
+ GUESS=rs6000-unknown-lynxos$UNAME_RELEASE
1357
+ ;;
1165
1358
  PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.[02]*:*)
1166
- echo powerpc-unknown-lynxos${UNAME_RELEASE}
1167
- exit ;;
1359
+ GUESS=powerpc-unknown-lynxos$UNAME_RELEASE
1360
+ ;;
1168
1361
  SM[BE]S:UNIX_SV:*:*)
1169
- echo mips-dde-sysv${UNAME_RELEASE}
1170
- exit ;;
1362
+ GUESS=mips-dde-sysv$UNAME_RELEASE
1363
+ ;;
1171
1364
  RM*:ReliantUNIX-*:*:*)
1172
- echo mips-sni-sysv4
1173
- exit ;;
1365
+ GUESS=mips-sni-sysv4
1366
+ ;;
1174
1367
  RM*:SINIX-*:*:*)
1175
- echo mips-sni-sysv4
1176
- exit ;;
1368
+ GUESS=mips-sni-sysv4
1369
+ ;;
1177
1370
  *:SINIX-*:*:*)
1178
1371
  if uname -p 2>/dev/null >/dev/null ; then
1179
1372
  UNAME_MACHINE=`(uname -p) 2>/dev/null`
1180
- echo ${UNAME_MACHINE}-sni-sysv4
1373
+ GUESS=$UNAME_MACHINE-sni-sysv4
1181
1374
  else
1182
- echo ns32k-sni-sysv
1375
+ GUESS=ns32k-sni-sysv
1183
1376
  fi
1184
- exit ;;
1185
- PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort
1377
+ ;;
1378
+ PENTIUM:*:4.0*:*) # Unisys 'ClearPath HMP IX 4000' SVR4/MP effort
1186
1379
  # says <Richard.M.Bartel@ccMail.Census.GOV>
1187
- echo i586-unisys-sysv4
1188
- exit ;;
1380
+ GUESS=i586-unisys-sysv4
1381
+ ;;
1189
1382
  *:UNIX_System_V:4*:FTX*)
1190
1383
  # From Gerald Hewes <hewes@openmarket.com>.
1191
1384
  # How about differentiating between stratus architectures? -djm
1192
- echo hppa1.1-stratus-sysv4
1193
- exit ;;
1385
+ GUESS=hppa1.1-stratus-sysv4
1386
+ ;;
1194
1387
  *:*:*:FTX*)
1195
1388
  # From seanf@swdc.stratus.com.
1196
- echo i860-stratus-sysv4
1197
- exit ;;
1389
+ GUESS=i860-stratus-sysv4
1390
+ ;;
1198
1391
  i*86:VOS:*:*)
1199
1392
  # From Paul.Green@stratus.com.
1200
- echo ${UNAME_MACHINE}-stratus-vos
1201
- exit ;;
1393
+ GUESS=$UNAME_MACHINE-stratus-vos
1394
+ ;;
1202
1395
  *:VOS:*:*)
1203
1396
  # From Paul.Green@stratus.com.
1204
- echo hppa1.1-stratus-vos
1205
- exit ;;
1397
+ GUESS=hppa1.1-stratus-vos
1398
+ ;;
1206
1399
  mc68*:A/UX:*:*)
1207
- echo m68k-apple-aux${UNAME_RELEASE}
1208
- exit ;;
1400
+ GUESS=m68k-apple-aux$UNAME_RELEASE
1401
+ ;;
1209
1402
  news*:NEWS-OS:6*:*)
1210
- echo mips-sony-newsos6
1211
- exit ;;
1403
+ GUESS=mips-sony-newsos6
1404
+ ;;
1212
1405
  R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*)
1213
- if [ -d /usr/nec ]; then
1214
- echo mips-nec-sysv${UNAME_RELEASE}
1406
+ if test -d /usr/nec; then
1407
+ GUESS=mips-nec-sysv$UNAME_RELEASE
1215
1408
  else
1216
- echo mips-unknown-sysv${UNAME_RELEASE}
1409
+ GUESS=mips-unknown-sysv$UNAME_RELEASE
1217
1410
  fi
1218
- exit ;;
1411
+ ;;
1219
1412
  BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only.
1220
- echo powerpc-be-beos
1221
- exit ;;
1413
+ GUESS=powerpc-be-beos
1414
+ ;;
1222
1415
  BeMac:BeOS:*:*) # BeOS running on Mac or Mac clone, PPC only.
1223
- echo powerpc-apple-beos
1224
- exit ;;
1416
+ GUESS=powerpc-apple-beos
1417
+ ;;
1225
1418
  BePC:BeOS:*:*) # BeOS running on Intel PC compatible.
1226
- echo i586-pc-beos
1227
- exit ;;
1419
+ GUESS=i586-pc-beos
1420
+ ;;
1228
1421
  BePC:Haiku:*:*) # Haiku running on Intel PC compatible.
1229
- echo i586-pc-haiku
1230
- exit ;;
1231
- x86_64:Haiku:*:*)
1232
- echo x86_64-unknown-haiku
1233
- exit ;;
1422
+ GUESS=i586-pc-haiku
1423
+ ;;
1424
+ ppc:Haiku:*:*) # Haiku running on Apple PowerPC
1425
+ GUESS=powerpc-apple-haiku
1426
+ ;;
1427
+ *:Haiku:*:*) # Haiku modern gcc (not bound by BeOS compat)
1428
+ GUESS=$UNAME_MACHINE-unknown-haiku
1429
+ ;;
1234
1430
  SX-4:SUPER-UX:*:*)
1235
- echo sx4-nec-superux${UNAME_RELEASE}
1236
- exit ;;
1431
+ GUESS=sx4-nec-superux$UNAME_RELEASE
1432
+ ;;
1237
1433
  SX-5:SUPER-UX:*:*)
1238
- echo sx5-nec-superux${UNAME_RELEASE}
1239
- exit ;;
1434
+ GUESS=sx5-nec-superux$UNAME_RELEASE
1435
+ ;;
1240
1436
  SX-6:SUPER-UX:*:*)
1241
- echo sx6-nec-superux${UNAME_RELEASE}
1242
- exit ;;
1437
+ GUESS=sx6-nec-superux$UNAME_RELEASE
1438
+ ;;
1243
1439
  SX-7:SUPER-UX:*:*)
1244
- echo sx7-nec-superux${UNAME_RELEASE}
1245
- exit ;;
1440
+ GUESS=sx7-nec-superux$UNAME_RELEASE
1441
+ ;;
1246
1442
  SX-8:SUPER-UX:*:*)
1247
- echo sx8-nec-superux${UNAME_RELEASE}
1248
- exit ;;
1443
+ GUESS=sx8-nec-superux$UNAME_RELEASE
1444
+ ;;
1249
1445
  SX-8R:SUPER-UX:*:*)
1250
- echo sx8r-nec-superux${UNAME_RELEASE}
1251
- exit ;;
1446
+ GUESS=sx8r-nec-superux$UNAME_RELEASE
1447
+ ;;
1448
+ SX-ACE:SUPER-UX:*:*)
1449
+ GUESS=sxace-nec-superux$UNAME_RELEASE
1450
+ ;;
1252
1451
  Power*:Rhapsody:*:*)
1253
- echo powerpc-apple-rhapsody${UNAME_RELEASE}
1254
- exit ;;
1452
+ GUESS=powerpc-apple-rhapsody$UNAME_RELEASE
1453
+ ;;
1255
1454
  *:Rhapsody:*:*)
1256
- echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE}
1257
- exit ;;
1455
+ GUESS=$UNAME_MACHINE-apple-rhapsody$UNAME_RELEASE
1456
+ ;;
1457
+ arm64:Darwin:*:*)
1458
+ GUESS=aarch64-apple-darwin$UNAME_RELEASE
1459
+ ;;
1258
1460
  *:Darwin:*:*)
1259
- UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown
1260
- eval $set_cc_for_build
1261
- if test "$UNAME_PROCESSOR" = unknown ; then
1262
- UNAME_PROCESSOR=powerpc
1461
+ UNAME_PROCESSOR=`uname -p`
1462
+ case $UNAME_PROCESSOR in
1463
+ unknown) UNAME_PROCESSOR=powerpc ;;
1464
+ esac
1465
+ if command -v xcode-select > /dev/null 2> /dev/null && \
1466
+ ! xcode-select --print-path > /dev/null 2> /dev/null ; then
1467
+ # Avoid executing cc if there is no toolchain installed as
1468
+ # cc will be a stub that puts up a graphical alert
1469
+ # prompting the user to install developer tools.
1470
+ CC_FOR_BUILD=no_compiler_found
1471
+ else
1472
+ set_cc_for_build
1263
1473
  fi
1264
- if test `echo "$UNAME_RELEASE" | sed -e 's/\..*//'` -le 10 ; then
1265
- if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then
1266
- if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \
1267
- (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \
1268
- grep IS_64BIT_ARCH >/dev/null
1269
- then
1270
- case $UNAME_PROCESSOR in
1271
- i386) UNAME_PROCESSOR=x86_64 ;;
1272
- powerpc) UNAME_PROCESSOR=powerpc64 ;;
1273
- esac
1274
- fi
1474
+ if test "$CC_FOR_BUILD" != no_compiler_found; then
1475
+ if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \
1476
+ (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \
1477
+ grep IS_64BIT_ARCH >/dev/null
1478
+ then
1479
+ case $UNAME_PROCESSOR in
1480
+ i386) UNAME_PROCESSOR=x86_64 ;;
1481
+ powerpc) UNAME_PROCESSOR=powerpc64 ;;
1482
+ esac
1483
+ fi
1484
+ # On 10.4-10.6 one might compile for PowerPC via gcc -arch ppc
1485
+ if (echo '#ifdef __POWERPC__'; echo IS_PPC; echo '#endif') | \
1486
+ (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \
1487
+ grep IS_PPC >/dev/null
1488
+ then
1489
+ UNAME_PROCESSOR=powerpc
1275
1490
  fi
1276
1491
  elif test "$UNAME_PROCESSOR" = i386 ; then
1277
- # Avoid executing cc on OS X 10.9, as it ships with a stub
1278
- # that puts up a graphical alert prompting to install
1279
- # developer tools. Any system running Mac OS X 10.7 or
1280
- # later (Darwin 11 and later) is required to have a 64-bit
1281
- # processor. This is not true of the ARM version of Darwin
1282
- # that Apple uses in portable devices.
1283
- UNAME_PROCESSOR=x86_64
1492
+ # uname -m returns i386 or x86_64
1493
+ UNAME_PROCESSOR=$UNAME_MACHINE
1284
1494
  fi
1285
- echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE}
1286
- exit ;;
1495
+ GUESS=$UNAME_PROCESSOR-apple-darwin$UNAME_RELEASE
1496
+ ;;
1287
1497
  *:procnto*:*:* | *:QNX:[0123456789]*:*)
1288
1498
  UNAME_PROCESSOR=`uname -p`
1289
- if test "$UNAME_PROCESSOR" = "x86"; then
1499
+ if test "$UNAME_PROCESSOR" = x86; then
1290
1500
  UNAME_PROCESSOR=i386
1291
1501
  UNAME_MACHINE=pc
1292
1502
  fi
1293
- echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE}
1294
- exit ;;
1503
+ GUESS=$UNAME_PROCESSOR-$UNAME_MACHINE-nto-qnx$UNAME_RELEASE
1504
+ ;;
1295
1505
  *:QNX:*:4*)
1296
- echo i386-pc-qnx
1297
- exit ;;
1298
- NEO-?:NONSTOP_KERNEL:*:*)
1299
- echo neo-tandem-nsk${UNAME_RELEASE}
1300
- exit ;;
1506
+ GUESS=i386-pc-qnx
1507
+ ;;
1508
+ NEO-*:NONSTOP_KERNEL:*:*)
1509
+ GUESS=neo-tandem-nsk$UNAME_RELEASE
1510
+ ;;
1301
1511
  NSE-*:NONSTOP_KERNEL:*:*)
1302
- echo nse-tandem-nsk${UNAME_RELEASE}
1303
- exit ;;
1304
- NSR-?:NONSTOP_KERNEL:*:*)
1305
- echo nsr-tandem-nsk${UNAME_RELEASE}
1306
- exit ;;
1512
+ GUESS=nse-tandem-nsk$UNAME_RELEASE
1513
+ ;;
1514
+ NSR-*:NONSTOP_KERNEL:*:*)
1515
+ GUESS=nsr-tandem-nsk$UNAME_RELEASE
1516
+ ;;
1517
+ NSV-*:NONSTOP_KERNEL:*:*)
1518
+ GUESS=nsv-tandem-nsk$UNAME_RELEASE
1519
+ ;;
1520
+ NSX-*:NONSTOP_KERNEL:*:*)
1521
+ GUESS=nsx-tandem-nsk$UNAME_RELEASE
1522
+ ;;
1307
1523
  *:NonStop-UX:*:*)
1308
- echo mips-compaq-nonstopux
1309
- exit ;;
1524
+ GUESS=mips-compaq-nonstopux
1525
+ ;;
1310
1526
  BS2000:POSIX*:*:*)
1311
- echo bs2000-siemens-sysv
1312
- exit ;;
1527
+ GUESS=bs2000-siemens-sysv
1528
+ ;;
1313
1529
  DS/*:UNIX_System_V:*:*)
1314
- echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE}
1315
- exit ;;
1530
+ GUESS=$UNAME_MACHINE-$UNAME_SYSTEM-$UNAME_RELEASE
1531
+ ;;
1316
1532
  *:Plan9:*:*)
1317
1533
  # "uname -m" is not consistent, so use $cputype instead. 386
1318
1534
  # is converted to i386 for consistency with other x86
1319
1535
  # operating systems.
1320
- if test "$cputype" = "386"; then
1536
+ if test "${cputype-}" = 386; then
1321
1537
  UNAME_MACHINE=i386
1322
- else
1323
- UNAME_MACHINE="$cputype"
1538
+ elif test "x${cputype-}" != x; then
1539
+ UNAME_MACHINE=$cputype
1324
1540
  fi
1325
- echo ${UNAME_MACHINE}-unknown-plan9
1326
- exit ;;
1541
+ GUESS=$UNAME_MACHINE-unknown-plan9
1542
+ ;;
1327
1543
  *:TOPS-10:*:*)
1328
- echo pdp10-unknown-tops10
1329
- exit ;;
1544
+ GUESS=pdp10-unknown-tops10
1545
+ ;;
1330
1546
  *:TENEX:*:*)
1331
- echo pdp10-unknown-tenex
1332
- exit ;;
1547
+ GUESS=pdp10-unknown-tenex
1548
+ ;;
1333
1549
  KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*)
1334
- echo pdp10-dec-tops20
1335
- exit ;;
1550
+ GUESS=pdp10-dec-tops20
1551
+ ;;
1336
1552
  XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*)
1337
- echo pdp10-xkl-tops20
1338
- exit ;;
1553
+ GUESS=pdp10-xkl-tops20
1554
+ ;;
1339
1555
  *:TOPS-20:*:*)
1340
- echo pdp10-unknown-tops20
1341
- exit ;;
1556
+ GUESS=pdp10-unknown-tops20
1557
+ ;;
1342
1558
  *:ITS:*:*)
1343
- echo pdp10-unknown-its
1344
- exit ;;
1559
+ GUESS=pdp10-unknown-its
1560
+ ;;
1345
1561
  SEI:*:*:SEIUX)
1346
- echo mips-sei-seiux${UNAME_RELEASE}
1347
- exit ;;
1562
+ GUESS=mips-sei-seiux$UNAME_RELEASE
1563
+ ;;
1348
1564
  *:DragonFly:*:*)
1349
- echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
1350
- exit ;;
1565
+ DRAGONFLY_REL=`echo "$UNAME_RELEASE" | sed -e 's/[-(].*//'`
1566
+ GUESS=$UNAME_MACHINE-unknown-dragonfly$DRAGONFLY_REL
1567
+ ;;
1351
1568
  *:*VMS:*:*)
1352
1569
  UNAME_MACHINE=`(uname -p) 2>/dev/null`
1353
- case "${UNAME_MACHINE}" in
1354
- A*) echo alpha-dec-vms ; exit ;;
1355
- I*) echo ia64-dec-vms ; exit ;;
1356
- V*) echo vax-dec-vms ; exit ;;
1570
+ case $UNAME_MACHINE in
1571
+ A*) GUESS=alpha-dec-vms ;;
1572
+ I*) GUESS=ia64-dec-vms ;;
1573
+ V*) GUESS=vax-dec-vms ;;
1357
1574
  esac ;;
1358
1575
  *:XENIX:*:SysV)
1359
- echo i386-pc-xenix
1360
- exit ;;
1576
+ GUESS=i386-pc-xenix
1577
+ ;;
1361
1578
  i*86:skyos:*:*)
1362
- echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE}` | sed -e 's/ .*$//'
1363
- exit ;;
1579
+ SKYOS_REL=`echo "$UNAME_RELEASE" | sed -e 's/ .*$//'`
1580
+ GUESS=$UNAME_MACHINE-pc-skyos$SKYOS_REL
1581
+ ;;
1364
1582
  i*86:rdos:*:*)
1365
- echo ${UNAME_MACHINE}-pc-rdos
1366
- exit ;;
1367
- i*86:AROS:*:*)
1368
- echo ${UNAME_MACHINE}-pc-aros
1369
- exit ;;
1583
+ GUESS=$UNAME_MACHINE-pc-rdos
1584
+ ;;
1585
+ i*86:Fiwix:*:*)
1586
+ GUESS=$UNAME_MACHINE-pc-fiwix
1587
+ ;;
1588
+ *:AROS:*:*)
1589
+ GUESS=$UNAME_MACHINE-unknown-aros
1590
+ ;;
1370
1591
  x86_64:VMkernel:*:*)
1371
- echo ${UNAME_MACHINE}-unknown-esx
1372
- exit ;;
1592
+ GUESS=$UNAME_MACHINE-unknown-esx
1593
+ ;;
1594
+ amd64:Isilon\ OneFS:*:*)
1595
+ GUESS=x86_64-unknown-onefs
1596
+ ;;
1597
+ *:Unleashed:*:*)
1598
+ GUESS=$UNAME_MACHINE-unknown-unleashed$UNAME_RELEASE
1599
+ ;;
1600
+ *:Ironclad:*:*)
1601
+ GUESS=$UNAME_MACHINE-unknown-ironclad
1602
+ ;;
1603
+ esac
1604
+
1605
+ # Do we have a guess based on uname results?
1606
+ if test "x$GUESS" != x; then
1607
+ echo "$GUESS"
1608
+ exit
1609
+ fi
1610
+
1611
+ # No uname command or uname output not recognized.
1612
+ set_cc_for_build
1613
+ cat > "$dummy.c" <<EOF
1614
+ #ifdef _SEQUENT_
1615
+ #include <sys/types.h>
1616
+ #include <sys/utsname.h>
1617
+ #endif
1618
+ #if defined(ultrix) || defined(_ultrix) || defined(__ultrix) || defined(__ultrix__)
1619
+ #if defined (vax) || defined (__vax) || defined (__vax__) || defined(mips) || defined(__mips) || defined(__mips__) || defined(MIPS) || defined(__MIPS__)
1620
+ #include <signal.h>
1621
+ #if defined(_SIZE_T_) || defined(SIGLOST)
1622
+ #include <sys/utsname.h>
1623
+ #endif
1624
+ #endif
1625
+ #endif
1626
+ int
1627
+ main ()
1628
+ {
1629
+ #if defined (sony)
1630
+ #if defined (MIPSEB)
1631
+ /* BFD wants "bsd" instead of "newsos". Perhaps BFD should be changed,
1632
+ I don't know.... */
1633
+ printf ("mips-sony-bsd\n"); exit (0);
1634
+ #else
1635
+ #include <sys/param.h>
1636
+ printf ("m68k-sony-newsos%s\n",
1637
+ #ifdef NEWSOS4
1638
+ "4"
1639
+ #else
1640
+ ""
1641
+ #endif
1642
+ ); exit (0);
1643
+ #endif
1644
+ #endif
1645
+
1646
+ #if defined (NeXT)
1647
+ #if !defined (__ARCHITECTURE__)
1648
+ #define __ARCHITECTURE__ "m68k"
1649
+ #endif
1650
+ int version;
1651
+ version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`;
1652
+ if (version < 4)
1653
+ printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version);
1654
+ else
1655
+ printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version);
1656
+ exit (0);
1657
+ #endif
1658
+
1659
+ #if defined (MULTIMAX) || defined (n16)
1660
+ #if defined (UMAXV)
1661
+ printf ("ns32k-encore-sysv\n"); exit (0);
1662
+ #else
1663
+ #if defined (CMU)
1664
+ printf ("ns32k-encore-mach\n"); exit (0);
1665
+ #else
1666
+ printf ("ns32k-encore-bsd\n"); exit (0);
1667
+ #endif
1668
+ #endif
1669
+ #endif
1670
+
1671
+ #if defined (__386BSD__)
1672
+ printf ("i386-pc-bsd\n"); exit (0);
1673
+ #endif
1674
+
1675
+ #if defined (sequent)
1676
+ #if defined (i386)
1677
+ printf ("i386-sequent-dynix\n"); exit (0);
1678
+ #endif
1679
+ #if defined (ns32000)
1680
+ printf ("ns32k-sequent-dynix\n"); exit (0);
1681
+ #endif
1682
+ #endif
1683
+
1684
+ #if defined (_SEQUENT_)
1685
+ struct utsname un;
1686
+
1687
+ uname(&un);
1688
+ if (strncmp(un.version, "V2", 2) == 0) {
1689
+ printf ("i386-sequent-ptx2\n"); exit (0);
1690
+ }
1691
+ if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */
1692
+ printf ("i386-sequent-ptx1\n"); exit (0);
1693
+ }
1694
+ printf ("i386-sequent-ptx\n"); exit (0);
1695
+ #endif
1696
+
1697
+ #if defined (vax)
1698
+ #if !defined (ultrix)
1699
+ #include <sys/param.h>
1700
+ #if defined (BSD)
1701
+ #if BSD == 43
1702
+ printf ("vax-dec-bsd4.3\n"); exit (0);
1703
+ #else
1704
+ #if BSD == 199006
1705
+ printf ("vax-dec-bsd4.3reno\n"); exit (0);
1706
+ #else
1707
+ printf ("vax-dec-bsd\n"); exit (0);
1708
+ #endif
1709
+ #endif
1710
+ #else
1711
+ printf ("vax-dec-bsd\n"); exit (0);
1712
+ #endif
1713
+ #else
1714
+ #if defined(_SIZE_T_) || defined(SIGLOST)
1715
+ struct utsname un;
1716
+ uname (&un);
1717
+ printf ("vax-dec-ultrix%s\n", un.release); exit (0);
1718
+ #else
1719
+ printf ("vax-dec-ultrix\n"); exit (0);
1720
+ #endif
1721
+ #endif
1722
+ #endif
1723
+ #if defined(ultrix) || defined(_ultrix) || defined(__ultrix) || defined(__ultrix__)
1724
+ #if defined(mips) || defined(__mips) || defined(__mips__) || defined(MIPS) || defined(__MIPS__)
1725
+ #if defined(_SIZE_T_) || defined(SIGLOST)
1726
+ struct utsname *un;
1727
+ uname (&un);
1728
+ printf ("mips-dec-ultrix%s\n", un.release); exit (0);
1729
+ #else
1730
+ printf ("mips-dec-ultrix\n"); exit (0);
1731
+ #endif
1732
+ #endif
1733
+ #endif
1734
+
1735
+ #if defined (alliant) && defined (i860)
1736
+ printf ("i860-alliant-bsd\n"); exit (0);
1737
+ #endif
1738
+
1739
+ exit (1);
1740
+ }
1741
+ EOF
1742
+
1743
+ $CC_FOR_BUILD -o "$dummy" "$dummy.c" 2>/dev/null && SYSTEM_NAME=`"$dummy"` &&
1744
+ { echo "$SYSTEM_NAME"; exit; }
1745
+
1746
+ # Apollos put the system type in the environment.
1747
+ test -d /usr/apollo && { echo "$ISP-apollo-$SYSTYPE"; exit; }
1748
+
1749
+ echo "$0: unable to guess system type" >&2
1750
+
1751
+ case $UNAME_MACHINE:$UNAME_SYSTEM in
1752
+ mips:Linux | mips64:Linux)
1753
+ # If we got here on MIPS GNU/Linux, output extra information.
1754
+ cat >&2 <<EOF
1755
+
1756
+ NOTE: MIPS GNU/Linux systems require a C compiler to fully recognize
1757
+ the system type. Please install a C compiler and try again.
1758
+ EOF
1759
+ ;;
1373
1760
  esac
1374
1761
 
1375
1762
  cat >&2 <<EOF
1376
- $0: unable to guess system type
1377
1763
 
1378
- This script, last modified $timestamp, has failed to recognize
1379
- the operating system you are using. It is advised that you
1380
- download the most up to date version of the config scripts from
1764
+ This script (version $timestamp), has failed to recognize the
1765
+ operating system you are using. If your script is old, overwrite *all*
1766
+ copies of config.guess and config.sub with the latest versions from:
1381
1767
 
1382
- http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD
1768
+ https://git.savannah.gnu.org/cgit/config.git/plain/config.guess
1383
1769
  and
1384
- http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD
1770
+ https://git.savannah.gnu.org/cgit/config.git/plain/config.sub
1771
+ EOF
1385
1772
 
1386
- If the version you run ($0) is already up to date, please
1387
- send the following data and any information you think might be
1388
- pertinent to <config-patches@gnu.org> in order to provide the needed
1389
- information to handle your system.
1773
+ our_year=`echo $timestamp | sed 's,-.*,,'`
1774
+ thisyear=`date +%Y`
1775
+ # shellcheck disable=SC2003
1776
+ script_age=`expr "$thisyear" - "$our_year"`
1777
+ if test "$script_age" -lt 3 ; then
1778
+ cat >&2 <<EOF
1779
+
1780
+ If $0 has already been updated, send the following data and any
1781
+ information you think might be pertinent to config-patches@gnu.org to
1782
+ provide the necessary information to handle your system.
1390
1783
 
1391
1784
  config.guess timestamp = $timestamp
1392
1785
 
@@ -1405,16 +1798,17 @@ hostinfo = `(hostinfo) 2>/dev/null`
1405
1798
  /usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null`
1406
1799
  /usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null`
1407
1800
 
1408
- UNAME_MACHINE = ${UNAME_MACHINE}
1409
- UNAME_RELEASE = ${UNAME_RELEASE}
1410
- UNAME_SYSTEM = ${UNAME_SYSTEM}
1411
- UNAME_VERSION = ${UNAME_VERSION}
1801
+ UNAME_MACHINE = "$UNAME_MACHINE"
1802
+ UNAME_RELEASE = "$UNAME_RELEASE"
1803
+ UNAME_SYSTEM = "$UNAME_SYSTEM"
1804
+ UNAME_VERSION = "$UNAME_VERSION"
1412
1805
  EOF
1806
+ fi
1413
1807
 
1414
1808
  exit 1
1415
1809
 
1416
1810
  # Local variables:
1417
- # eval: (add-hook 'write-file-hooks 'time-stamp)
1811
+ # eval: (add-hook 'before-save-hook 'time-stamp)
1418
1812
  # time-stamp-start: "timestamp='"
1419
1813
  # time-stamp-format: "%:y-%02m-%02d"
1420
1814
  # time-stamp-end: "'"