passenger 2.2.15 → 3.0.0.pre1

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of passenger might be problematic. Click here for more details.

Files changed (1338) hide show
  1. data/DEVELOPERS.TXT +21 -12
  2. data/LICENSE +1 -1
  3. data/NEWS +8 -1
  4. data/PACKAGING.TXT +25 -0
  5. data/Rakefile +28 -891
  6. data/bin/passenger +32 -0
  7. data/bin/passenger-config +5 -5
  8. data/bin/passenger-install-apache2-module +37 -24
  9. data/bin/passenger-install-nginx-module +48 -46
  10. data/bin/passenger-make-enterprisey +8 -9
  11. data/bin/passenger-memory-stats +20 -150
  12. data/bin/passenger-status +130 -44
  13. data/bin/passenger-stress-test +5 -4
  14. data/build/agents.rb +73 -0
  15. data/build/apache2.rb +165 -0
  16. data/build/basics.rb +81 -0
  17. data/build/common_library.rb +198 -0
  18. data/build/config.rb +35 -0
  19. data/{misc/rake/cplusplus.rb → build/cplusplus_support.rb} +1 -1
  20. data/build/cxx_tests.rb +205 -0
  21. data/build/documentation.rb +77 -0
  22. data/{misc/rake → build}/gempackagetask.rb +1 -1
  23. data/build/integration_tests.rb +57 -0
  24. data/build/misc.rb +146 -0
  25. data/build/nginx.rb +64 -0
  26. data/build/oxt_tests.rb +52 -0
  27. data/{misc/rake → build}/packagetask.rb +0 -0
  28. data/build/packaging.rb +189 -0
  29. data/{misc/rake/extensions.rb → build/rake_extensions.rb} +1 -1
  30. data/{misc/rake → build}/rdoctask.rb +0 -0
  31. data/build/ruby_extension.rb +46 -0
  32. data/build/ruby_tests.rb +42 -0
  33. data/build/test_basics.rb +31 -0
  34. data/doc/ApplicationPool algorithm.txt +447 -234
  35. data/doc/Architectural overview.html +47 -56
  36. data/doc/Doxyfile +1 -1
  37. data/doc/Security of user switching support.html +46 -57
  38. data/doc/Users guide Apache.html +1033 -306
  39. data/doc/Users guide Apache.txt +419 -99
  40. data/doc/Users guide Nginx.html +1252 -253
  41. data/doc/Users guide Nginx.txt +711 -87
  42. data/doc/Users guide Standalone.html +603 -0
  43. data/doc/Users guide Standalone.txt +40 -0
  44. data/doc/cxxapi/AbstractSpawnManager_8h_source.html +141 -0
  45. data/doc/cxxapi/Account_8h_source.html +206 -0
  46. data/doc/cxxapi/AccountsDatabase_8h_source.html +161 -0
  47. data/doc/cxxapi/AgentBase_8h_source.html +70 -0
  48. data/doc/cxxapi/AgentsStarter_8h_source.html +112 -0
  49. data/doc/cxxapi/BCrypt_8h_source.html +104 -0
  50. data/doc/cxxapi/Blowfish_8h_source.html +134 -0
  51. data/doc/cxxapi/Bucket_8h_source.html +4 -3
  52. data/doc/cxxapi/Constants_8h_source.html +79 -0
  53. data/doc/cxxapi/ContentHandler_8h_source.html +95 -0
  54. data/doc/cxxapi/DirectoryMapper_8h_source.html +9 -8
  55. data/doc/cxxapi/EventedClient_8h_source.html +629 -0
  56. data/doc/cxxapi/EventedMessageServer_8h_source.html +358 -0
  57. data/doc/cxxapi/EventedServer_8h_source.html +326 -0
  58. data/doc/cxxapi/Exceptions_8h_source.html +366 -0
  59. data/doc/cxxapi/FileDescriptor_8h_source.html +260 -0
  60. data/doc/cxxapi/Hooks_8h_source.html +2 -1
  61. data/doc/cxxapi/HttpStatusExtractor_8h_source.html +382 -0
  62. data/doc/cxxapi/Logging_8h_source.html +726 -0
  63. data/doc/cxxapi/MessageChannel_8h_source.html +852 -0
  64. data/doc/cxxapi/MessageClient_8h_source.html +328 -0
  65. data/doc/cxxapi/MessageReadersWriters_8h_source.html +539 -0
  66. data/doc/cxxapi/MessageServer_8h_source.html +606 -0
  67. data/doc/cxxapi/PoolOptions_8h_source.html +548 -0
  68. data/doc/cxxapi/Process_8h_source.html +286 -0
  69. data/doc/cxxapi/RandomGenerator_8h_source.html +191 -0
  70. data/doc/cxxapi/ResourceLocator_8h_source.html +115 -0
  71. data/doc/cxxapi/ScgiRequestParser_8h_source.html +406 -0
  72. data/doc/cxxapi/ServerInstanceDir_8h_source.html +374 -0
  73. data/doc/cxxapi/Session_8h_source.html +501 -0
  74. data/doc/cxxapi/SpawnManager_8h_source.html +647 -0
  75. data/doc/cxxapi/StaticContentHandler_8h_source.html +68 -0
  76. data/doc/cxxapi/StaticString_8h_source.html +254 -0
  77. data/doc/cxxapi/StringListCreator_8h_source.html +114 -0
  78. data/doc/cxxapi/Utils_8h_source.html +442 -0
  79. data/doc/cxxapi/annotated.html +46 -0
  80. data/doc/cxxapi/apache2_2Configuration_8h_source.html +82 -0
  81. data/doc/cxxapi/classAgentWatcher-members.html +30 -26
  82. data/doc/cxxapi/classAgentWatcher.html +168 -194
  83. data/doc/cxxapi/classClient-members.html +14 -11
  84. data/doc/cxxapi/classClient.html +35 -35
  85. data/doc/cxxapi/classHooks-members.html +2 -0
  86. data/doc/cxxapi/classHooks.html +2 -0
  87. data/doc/cxxapi/classPassenger_1_1AbstractSpawnManager-members.html +16 -13
  88. data/doc/cxxapi/classPassenger_1_1AbstractSpawnManager.html +78 -82
  89. data/doc/cxxapi/classPassenger_1_1ArgumentException-members.html +12 -9
  90. data/doc/cxxapi/classPassenger_1_1ArgumentException.html +26 -22
  91. data/doc/cxxapi/classPassenger_1_1ArrayMessage-members.html +37 -0
  92. data/doc/cxxapi/classPassenger_1_1ArrayMessage.html +113 -0
  93. data/doc/cxxapi/classPassenger_1_1BufferedUpload-members.html +14 -11
  94. data/doc/cxxapi/classPassenger_1_1BufferedUpload.html +41 -42
  95. data/doc/cxxapi/classPassenger_1_1BusyException-members.html +12 -9
  96. data/doc/cxxapi/classPassenger_1_1BusyException.html +24 -20
  97. data/doc/cxxapi/classPassenger_1_1ConfigurationException-members.html +12 -9
  98. data/doc/cxxapi/classPassenger_1_1ConfigurationException.html +23 -19
  99. data/doc/cxxapi/classPassenger_1_1DirectoryMapper-members.html +2 -0
  100. data/doc/cxxapi/classPassenger_1_1DirectoryMapper.html +8 -6
  101. data/doc/cxxapi/classPassenger_1_1EOFException-members.html +12 -9
  102. data/doc/cxxapi/classPassenger_1_1EOFException.html +27 -23
  103. data/doc/cxxapi/classPassenger_1_1EventFd-members.html +12 -9
  104. data/doc/cxxapi/classPassenger_1_1EventFd.html +24 -21
  105. data/doc/cxxapi/classPassenger_1_1EventedClient-members.html +54 -0
  106. data/doc/cxxapi/classPassenger_1_1EventedClient.html +436 -0
  107. data/doc/cxxapi/classPassenger_1_1EventedMessageServer-members.html +37 -0
  108. data/doc/cxxapi/classPassenger_1_1EventedMessageServer.html +59 -0
  109. data/doc/cxxapi/classPassenger_1_1EventedMessageServer__inherit__graph.map +3 -0
  110. data/doc/cxxapi/classPassenger_1_1EventedMessageServer__inherit__graph.md5 +1 -0
  111. data/doc/cxxapi/classPassenger_1_1EventedMessageServer__inherit__graph.png +0 -0
  112. data/doc/cxxapi/classPassenger_1_1EventedServer-members.html +37 -0
  113. data/doc/cxxapi/classPassenger_1_1EventedServer.html +93 -0
  114. data/doc/cxxapi/classPassenger_1_1EventedServer__inherit__graph.map +3 -0
  115. data/doc/cxxapi/classPassenger_1_1EventedServer__inherit__graph.md5 +1 -0
  116. data/doc/cxxapi/classPassenger_1_1EventedServer__inherit__graph.png +0 -0
  117. data/doc/cxxapi/classPassenger_1_1FileDescriptor-members.html +16 -13
  118. data/doc/cxxapi/classPassenger_1_1FileDescriptor.html +63 -70
  119. data/doc/cxxapi/classPassenger_1_1FileNotFoundException-members.html +12 -9
  120. data/doc/cxxapi/classPassenger_1_1FileNotFoundException.html +26 -22
  121. data/doc/cxxapi/classPassenger_1_1FileSystemException-members.html +17 -14
  122. data/doc/cxxapi/classPassenger_1_1FileSystemException.html +32 -30
  123. data/doc/cxxapi/classPassenger_1_1HttpStatusExtractor-members.html +15 -12
  124. data/doc/cxxapi/classPassenger_1_1HttpStatusExtractor.html +59 -59
  125. data/doc/cxxapi/classPassenger_1_1IOException-members.html +12 -9
  126. data/doc/cxxapi/classPassenger_1_1IOException.html +27 -23
  127. data/doc/cxxapi/classPassenger_1_1MessageChannel-members.html +36 -33
  128. data/doc/cxxapi/classPassenger_1_1MessageChannel.html +326 -344
  129. data/doc/cxxapi/classPassenger_1_1MessageServer-members.html +25 -22
  130. data/doc/cxxapi/classPassenger_1_1MessageServer.html +160 -191
  131. data/doc/cxxapi/classPassenger_1_1MessageServer_1_1ClientContext-members.html +12 -9
  132. data/doc/cxxapi/classPassenger_1_1MessageServer_1_1ClientContext.html +29 -27
  133. data/doc/cxxapi/classPassenger_1_1MessageServer_1_1ClientContext__inherit__graph.map +3 -1
  134. data/doc/cxxapi/classPassenger_1_1MessageServer_1_1ClientContext__inherit__graph.md5 +1 -1
  135. data/doc/cxxapi/classPassenger_1_1MessageServer_1_1ClientContext__inherit__graph.png +0 -0
  136. data/doc/cxxapi/classPassenger_1_1MessageServer_1_1CommonClientContext-members.html +17 -14
  137. data/doc/cxxapi/classPassenger_1_1MessageServer_1_1CommonClientContext.html +69 -79
  138. data/doc/cxxapi/classPassenger_1_1MessageServer_1_1CommonClientContext__inherit__graph.map +3 -1
  139. data/doc/cxxapi/classPassenger_1_1MessageServer_1_1CommonClientContext__inherit__graph.md5 +1 -1
  140. data/doc/cxxapi/classPassenger_1_1MessageServer_1_1CommonClientContext__inherit__graph.png +0 -0
  141. data/doc/cxxapi/classPassenger_1_1MessageServer_1_1Handler-members.html +15 -12
  142. data/doc/cxxapi/classPassenger_1_1MessageServer_1_1Handler.html +60 -63
  143. data/doc/cxxapi/classPassenger_1_1Process-members.html +20 -17
  144. data/doc/cxxapi/classPassenger_1_1Process.html +88 -95
  145. data/doc/cxxapi/classPassenger_1_1RandomGenerator-members.html +13 -10
  146. data/doc/cxxapi/classPassenger_1_1RandomGenerator.html +36 -35
  147. data/doc/cxxapi/classPassenger_1_1RuntimeException-members.html +12 -9
  148. data/doc/cxxapi/classPassenger_1_1RuntimeException.html +24 -20
  149. data/doc/cxxapi/classPassenger_1_1ScalarMessage-members.html +37 -0
  150. data/doc/cxxapi/classPassenger_1_1ScalarMessage.html +76 -0
  151. data/doc/cxxapi/classPassenger_1_1ScgiRequestParser-members.html +26 -23
  152. data/doc/cxxapi/classPassenger_1_1ScgiRequestParser.html +121 -138
  153. data/doc/cxxapi/classPassenger_1_1SecurityException-members.html +12 -9
  154. data/doc/cxxapi/classPassenger_1_1SecurityException.html +26 -22
  155. data/doc/cxxapi/classPassenger_1_1Session-members.html +29 -26
  156. data/doc/cxxapi/classPassenger_1_1Session.html +219 -240
  157. data/doc/cxxapi/classPassenger_1_1SpawnException-members.html +14 -11
  158. data/doc/cxxapi/classPassenger_1_1SpawnException.html +36 -37
  159. data/doc/cxxapi/classPassenger_1_1SpawnManager-members.html +18 -15
  160. data/doc/cxxapi/classPassenger_1_1SpawnManager.html +115 -110
  161. data/doc/cxxapi/classPassenger_1_1StandardSession-members.html +30 -27
  162. data/doc/cxxapi/classPassenger_1_1StandardSession.html +163 -184
  163. data/doc/cxxapi/classPassenger_1_1StaticString-members.html +12 -9
  164. data/doc/cxxapi/classPassenger_1_1StaticString.html +27 -25
  165. data/doc/cxxapi/classPassenger_1_1SystemException-members.html +16 -13
  166. data/doc/cxxapi/classPassenger_1_1SystemException.html +65 -67
  167. data/doc/cxxapi/classPassenger_1_1TimeRetrievalException-members.html +16 -13
  168. data/doc/cxxapi/classPassenger_1_1TimeRetrievalException.html +27 -23
  169. data/doc/cxxapi/classPassenger_1_1TimeoutException-members.html +12 -9
  170. data/doc/cxxapi/classPassenger_1_1TimeoutException.html +24 -20
  171. data/doc/cxxapi/classPassenger_1_1Uint16Message-members.html +36 -0
  172. data/doc/cxxapi/classPassenger_1_1Uint16Message.html +51 -0
  173. data/doc/cxxapi/classPassenger_1_1Uint32Message-members.html +36 -0
  174. data/doc/cxxapi/classPassenger_1_1Uint32Message.html +51 -0
  175. data/doc/cxxapi/classServer-members.html +12 -9
  176. data/doc/cxxapi/classServer.html +23 -20
  177. data/doc/cxxapi/classServerInstanceDirToucher-members.html +12 -9
  178. data/doc/cxxapi/classServerInstanceDirToucher.html +21 -17
  179. data/doc/cxxapi/classes.html +18 -4
  180. data/doc/cxxapi/definitions_8h_source.html +1 -0
  181. data/doc/cxxapi/files.html +36 -1
  182. data/doc/cxxapi/functions.html +53 -21
  183. data/doc/cxxapi/functions_0x62.html +82 -0
  184. data/doc/cxxapi/functions_0x63.html +99 -0
  185. data/doc/cxxapi/functions_0x64.html +95 -0
  186. data/doc/cxxapi/functions_0x65.html +88 -0
  187. data/doc/cxxapi/functions_0x66.html +100 -0
  188. data/doc/cxxapi/functions_0x67.html +170 -0
  189. data/doc/cxxapi/functions_0x68.html +88 -0
  190. data/doc/cxxapi/functions_0x69.html +93 -0
  191. data/doc/cxxapi/functions_0x6b.html +80 -0
  192. data/doc/cxxapi/functions_0x6c.html +88 -0
  193. data/doc/cxxapi/functions_0x6d.html +88 -0
  194. data/doc/cxxapi/functions_0x6e.html +86 -0
  195. data/doc/cxxapi/functions_0x6f.html +94 -0
  196. data/doc/cxxapi/functions_0x70.html +94 -0
  197. data/doc/cxxapi/functions_0x72.html +110 -0
  198. data/doc/cxxapi/functions_0x73.html +171 -0
  199. data/doc/cxxapi/functions_0x74.html +85 -0
  200. data/doc/cxxapi/functions_0x75.html +85 -0
  201. data/doc/cxxapi/functions_0x77.html +92 -0
  202. data/doc/cxxapi/functions_0x7e.html +79 -0
  203. data/doc/cxxapi/functions_enum.html +14 -12
  204. data/doc/cxxapi/functions_eval.html +22 -16
  205. data/doc/cxxapi/functions_func.html +460 -1
  206. data/doc/cxxapi/functions_vars.html +163 -63
  207. data/doc/cxxapi/graph_legend.html +1 -0
  208. data/doc/cxxapi/graph_legend.png +0 -0
  209. data/doc/cxxapi/group__Core.html +2 -2
  210. data/doc/cxxapi/group__Core.map +1 -2
  211. data/doc/cxxapi/group__Core.png +0 -0
  212. data/doc/cxxapi/group__Exceptions.html +32 -40
  213. data/doc/cxxapi/group__Hooks.html +2 -1
  214. data/doc/cxxapi/group__Hooks.map +1 -1
  215. data/doc/cxxapi/group__Hooks.png +0 -0
  216. data/doc/cxxapi/group__Support.html +509 -0
  217. data/doc/cxxapi/hierarchy.html +66 -62
  218. data/doc/cxxapi/inherit__graph__10.map +3 -1
  219. data/doc/cxxapi/inherit__graph__10.md5 +1 -1
  220. data/doc/cxxapi/inherit__graph__10.png +0 -0
  221. data/doc/cxxapi/inherit__graph__11.map +4 -1
  222. data/doc/cxxapi/inherit__graph__11.md5 +1 -1
  223. data/doc/cxxapi/inherit__graph__11.png +0 -0
  224. data/doc/cxxapi/inherit__graph__12.map +3 -1
  225. data/doc/cxxapi/inherit__graph__12.md5 +1 -1
  226. data/doc/cxxapi/inherit__graph__12.png +0 -0
  227. data/doc/cxxapi/inherit__graph__13.map +3 -1
  228. data/doc/cxxapi/inherit__graph__13.md5 +1 -1
  229. data/doc/cxxapi/inherit__graph__13.png +0 -0
  230. data/doc/cxxapi/inherit__graph__14.map +3 -1
  231. data/doc/cxxapi/inherit__graph__14.md5 +1 -1
  232. data/doc/cxxapi/inherit__graph__14.png +0 -0
  233. data/doc/cxxapi/inherit__graph__15.map +5 -1
  234. data/doc/cxxapi/inherit__graph__15.md5 +1 -1
  235. data/doc/cxxapi/inherit__graph__15.png +0 -0
  236. data/doc/cxxapi/inherit__graph__16.map +3 -3
  237. data/doc/cxxapi/inherit__graph__16.md5 +1 -1
  238. data/doc/cxxapi/inherit__graph__16.png +0 -0
  239. data/doc/cxxapi/inherit__graph__17.map +3 -1
  240. data/doc/cxxapi/inherit__graph__17.md5 +1 -1
  241. data/doc/cxxapi/inherit__graph__17.png +0 -0
  242. data/doc/cxxapi/inherit__graph__18.map +4 -1
  243. data/doc/cxxapi/inherit__graph__18.md5 +1 -1
  244. data/doc/cxxapi/inherit__graph__18.png +0 -0
  245. data/doc/cxxapi/inherit__graph__19.map +3 -1
  246. data/doc/cxxapi/inherit__graph__19.md5 +1 -1
  247. data/doc/cxxapi/inherit__graph__19.png +0 -0
  248. data/doc/cxxapi/inherit__graph__20.map +3 -2
  249. data/doc/cxxapi/inherit__graph__20.md5 +1 -1
  250. data/doc/cxxapi/inherit__graph__20.png +0 -0
  251. data/doc/cxxapi/inherit__graph__21.map +3 -1
  252. data/doc/cxxapi/inherit__graph__21.md5 +1 -1
  253. data/doc/cxxapi/inherit__graph__21.png +0 -0
  254. data/doc/cxxapi/inherit__graph__22.map +3 -1
  255. data/doc/cxxapi/inherit__graph__22.md5 +1 -1
  256. data/doc/cxxapi/inherit__graph__22.png +0 -0
  257. data/doc/cxxapi/inherit__graph__23.map +3 -1
  258. data/doc/cxxapi/inherit__graph__23.md5 +1 -1
  259. data/doc/cxxapi/inherit__graph__23.png +0 -0
  260. data/doc/cxxapi/inherit__graph__24.map +3 -1
  261. data/doc/cxxapi/inherit__graph__24.md5 +1 -1
  262. data/doc/cxxapi/inherit__graph__24.png +0 -0
  263. data/doc/cxxapi/inherit__graph__25.map +3 -1
  264. data/doc/cxxapi/inherit__graph__25.md5 +1 -1
  265. data/doc/cxxapi/inherit__graph__25.png +0 -0
  266. data/doc/cxxapi/inherit__graph__26.map +3 -1
  267. data/doc/cxxapi/inherit__graph__26.md5 +1 -1
  268. data/doc/cxxapi/inherit__graph__26.png +0 -0
  269. data/doc/cxxapi/inherit__graph__27.map +3 -1
  270. data/doc/cxxapi/inherit__graph__27.md5 +1 -1
  271. data/doc/cxxapi/inherit__graph__27.png +0 -0
  272. data/doc/cxxapi/inherit__graph__28.map +4 -1
  273. data/doc/cxxapi/inherit__graph__28.md5 +1 -1
  274. data/doc/cxxapi/inherit__graph__28.png +0 -0
  275. data/doc/cxxapi/inherit__graph__29.map +3 -1
  276. data/doc/cxxapi/inherit__graph__29.md5 +1 -1
  277. data/doc/cxxapi/inherit__graph__29.png +0 -0
  278. data/doc/cxxapi/inherit__graph__30.map +3 -2
  279. data/doc/cxxapi/inherit__graph__30.md5 +1 -1
  280. data/doc/cxxapi/inherit__graph__30.png +0 -0
  281. data/doc/cxxapi/inherit__graph__31.map +3 -1
  282. data/doc/cxxapi/inherit__graph__31.md5 +1 -1
  283. data/doc/cxxapi/inherit__graph__31.png +0 -0
  284. data/doc/cxxapi/inherit__graph__32.map +5 -1
  285. data/doc/cxxapi/inherit__graph__32.md5 +1 -1
  286. data/doc/cxxapi/inherit__graph__32.png +0 -0
  287. data/doc/cxxapi/inherit__graph__33.map +3 -1
  288. data/doc/cxxapi/inherit__graph__33.md5 +1 -1
  289. data/doc/cxxapi/inherit__graph__33.png +0 -0
  290. data/doc/cxxapi/inherit__graph__34.map +3 -3
  291. data/doc/cxxapi/inherit__graph__34.md5 +1 -1
  292. data/doc/cxxapi/inherit__graph__34.png +0 -0
  293. data/doc/cxxapi/inherit__graph__35.map +3 -1
  294. data/doc/cxxapi/inherit__graph__35.md5 +1 -1
  295. data/doc/cxxapi/inherit__graph__35.png +0 -0
  296. data/doc/cxxapi/inherit__graph__36.map +3 -1
  297. data/doc/cxxapi/inherit__graph__36.md5 +1 -1
  298. data/doc/cxxapi/inherit__graph__36.png +0 -0
  299. data/doc/cxxapi/inherit__graph__37.map +3 -1
  300. data/doc/cxxapi/inherit__graph__37.md5 +1 -1
  301. data/doc/cxxapi/inherit__graph__37.png +0 -0
  302. data/doc/cxxapi/inherit__graph__4.map +3 -1
  303. data/doc/cxxapi/inherit__graph__4.md5 +1 -1
  304. data/doc/cxxapi/inherit__graph__4.png +0 -0
  305. data/doc/cxxapi/inherit__graph__5.map +3 -1
  306. data/doc/cxxapi/inherit__graph__5.md5 +1 -1
  307. data/doc/cxxapi/inherit__graph__5.png +0 -0
  308. data/doc/cxxapi/inherit__graph__6.map +3 -1
  309. data/doc/cxxapi/inherit__graph__6.md5 +1 -1
  310. data/doc/cxxapi/inherit__graph__6.png +0 -0
  311. data/doc/cxxapi/inherit__graph__7.map +3 -1
  312. data/doc/cxxapi/inherit__graph__7.md5 +1 -1
  313. data/doc/cxxapi/inherit__graph__7.png +0 -0
  314. data/doc/cxxapi/inherit__graph__8.map +3 -1
  315. data/doc/cxxapi/inherit__graph__8.md5 +1 -1
  316. data/doc/cxxapi/inherit__graph__8.png +0 -0
  317. data/doc/cxxapi/inherit__graph__9.map +3 -1
  318. data/doc/cxxapi/inherit__graph__9.md5 +1 -1
  319. data/doc/cxxapi/inherit__graph__9.png +0 -0
  320. data/doc/cxxapi/inherits.html +123 -126
  321. data/doc/cxxapi/main.html +1 -0
  322. data/doc/cxxapi/modules.html +2 -1
  323. data/doc/cxxapi/namespacePassenger.html +263 -492
  324. data/doc/cxxapi/namespacemembers.html +68 -96
  325. data/doc/cxxapi/namespacemembers_enum.html +14 -12
  326. data/doc/cxxapi/namespacemembers_eval.html +20 -15
  327. data/doc/cxxapi/namespacemembers_func.html +52 -88
  328. data/doc/cxxapi/namespacemembers_type.html +18 -14
  329. data/doc/cxxapi/namespaces.html +12 -9
  330. data/doc/cxxapi/nginx_2Configuration_8h_source.html +125 -0
  331. data/doc/cxxapi/ngx__http__passenger__module_8h_source.html +94 -0
  332. data/doc/cxxapi/structPassenger_1_1MessageServer_1_1DisconnectEventBroadcastGuard-members.html +12 -9
  333. data/doc/cxxapi/structPassenger_1_1MessageServer_1_1DisconnectEventBroadcastGuard.html +24 -22
  334. data/doc/cxxapi/structPassenger_1_1PoolOptions-members.html +43 -38
  335. data/doc/cxxapi/structPassenger_1_1PoolOptions.html +275 -325
  336. data/doc/cxxapi/structPassenger_1_1StaticString_1_1Hash-members.html +12 -9
  337. data/doc/cxxapi/structPassenger_1_1StaticString_1_1Hash.html +24 -22
  338. data/doc/cxxapi/tree.html +152 -7
  339. data/doc/users_guide_snippets/{analysis_and_system_maintenance_tools.txt → analysis_and_system_maintenance.txt} +58 -1
  340. data/doc/users_guide_snippets/appendix_c_spawning_methods.txt +1 -2
  341. data/doc/users_guide_snippets/global_queueing_explained.txt +1 -5
  342. data/doc/users_guide_snippets/{rails_spawn_method.txt → passenger_spawn_method.txt} +9 -8
  343. data/doc/users_guide_snippets/tips.txt +12 -6
  344. data/doc/users_guide_snippets/under_the_hood/page_caching_support.txt +22 -0
  345. data/ext/apache2/Bucket.cpp +4 -4
  346. data/ext/apache2/Bucket.h +3 -3
  347. data/ext/apache2/Configuration.cpp +278 -381
  348. data/ext/apache2/Configuration.h +3 -357
  349. data/ext/apache2/Configuration.hpp +461 -0
  350. data/ext/apache2/DirectoryMapper.h +3 -3
  351. data/ext/apache2/HelperAgent.cpp +359 -0
  352. data/ext/apache2/Hooks.cpp +339 -226
  353. data/ext/apache2/Hooks.h +1 -1
  354. data/ext/apache2/mod_passenger.c +10 -4
  355. data/ext/boost/algorithm/string/case_conv.hpp +4 -4
  356. data/ext/boost/algorithm/string/concept.hpp +2 -2
  357. data/ext/boost/algorithm/string/detail/case_conv.hpp +18 -9
  358. data/ext/boost/algorithm/string/detail/find_format.hpp +44 -43
  359. data/ext/boost/algorithm/string/detail/find_format_all.hpp +56 -56
  360. data/ext/boost/algorithm/string/detail/find_format_store.hpp +7 -0
  361. data/ext/boost/algorithm/string/detail/finder.hpp +14 -14
  362. data/ext/boost/algorithm/string/detail/formatter.hpp +2 -2
  363. data/ext/boost/algorithm/string/detail/replace_storage.hpp +3 -3
  364. data/ext/boost/algorithm/string/detail/sequence.hpp +3 -3
  365. data/ext/boost/algorithm/string/erase.hpp +98 -98
  366. data/ext/boost/algorithm/string/find_format.hpp +56 -38
  367. data/ext/boost/algorithm/string/finder.hpp +6 -6
  368. data/ext/boost/algorithm/string/formatter.hpp +1 -1
  369. data/ext/boost/algorithm/string/replace.hpp +99 -99
  370. data/ext/boost/bind.hpp +5 -1670
  371. data/ext/boost/bind/bind.hpp +1751 -0
  372. data/ext/boost/bind/bind_mf2_cc.hpp +228 -0
  373. data/ext/boost/bind/mem_fn.hpp +389 -0
  374. data/ext/boost/bind/mem_fn_template.hpp +54 -27
  375. data/ext/boost/bind/placeholders.hpp +3 -2
  376. data/ext/boost/concept_check.hpp +10 -0
  377. data/ext/boost/config/abi/msvc_prefix.hpp +15 -1
  378. data/ext/boost/config/abi_prefix.hpp +1 -1
  379. data/ext/boost/config/abi_suffix.hpp +3 -2
  380. data/ext/boost/config/auto_link.hpp +6 -1
  381. data/ext/boost/config/compiler/borland.hpp +75 -17
  382. data/ext/boost/config/compiler/codegear.hpp +163 -0
  383. data/ext/boost/config/compiler/common_edg.hpp +35 -0
  384. data/ext/boost/config/compiler/digitalmars.hpp +26 -0
  385. data/ext/boost/config/compiler/gcc.hpp +69 -14
  386. data/ext/boost/config/compiler/hp_acc.hpp +32 -0
  387. data/ext/boost/config/compiler/intel.hpp +13 -2
  388. data/ext/boost/config/compiler/kai.hpp +0 -2
  389. data/ext/boost/config/compiler/metrowerks.hpp +29 -1
  390. data/ext/boost/config/compiler/mpw.hpp +30 -0
  391. data/ext/boost/config/compiler/pgi.hpp +37 -0
  392. data/ext/boost/config/compiler/sgi_mipspro.hpp +1 -0
  393. data/ext/boost/config/compiler/sunpro_cc.hpp +39 -7
  394. data/ext/boost/config/compiler/vacpp.hpp +31 -3
  395. data/ext/boost/config/compiler/visualc.hpp +72 -5
  396. data/ext/boost/config/no_tr1/cmath.hpp +28 -0
  397. data/ext/boost/config/platform/bsd.hpp +16 -3
  398. data/ext/boost/config/platform/hpux.hpp +3 -0
  399. data/ext/boost/config/platform/macos.hpp +8 -0
  400. data/ext/boost/config/platform/solaris.hpp +7 -0
  401. data/ext/boost/config/platform/vxworks.hpp +31 -0
  402. data/ext/boost/config/select_compiler_config.hpp +4 -0
  403. data/ext/boost/config/select_platform_config.hpp +6 -2
  404. data/ext/boost/config/select_stdlib_config.hpp +17 -8
  405. data/ext/boost/config/stdlib/dinkumware.hpp +34 -2
  406. data/ext/boost/config/stdlib/libcomo.hpp +25 -0
  407. data/ext/boost/config/stdlib/libstdcpp3.hpp +56 -2
  408. data/ext/boost/config/stdlib/modena.hpp +25 -0
  409. data/ext/boost/config/stdlib/msl.hpp +24 -0
  410. data/ext/boost/config/stdlib/roguewave.hpp +26 -0
  411. data/ext/boost/config/stdlib/sgi.hpp +25 -0
  412. data/ext/boost/config/stdlib/stlport.hpp +36 -1
  413. data/ext/boost/config/stdlib/vacpp.hpp +25 -0
  414. data/ext/boost/config/suffix.hpp +67 -32
  415. data/ext/boost/config/warning_disable.hpp +47 -0
  416. data/ext/boost/cstdint.hpp +62 -36
  417. data/ext/boost/date_time/c_time.hpp +28 -12
  418. data/ext/boost/date_time/compiler_config.hpp +27 -5
  419. data/ext/boost/date_time/constrained_value.hpp +36 -13
  420. data/ext/boost/date_time/date.hpp +44 -33
  421. data/ext/boost/date_time/date_duration.hpp +13 -14
  422. data/ext/boost/date_time/date_facet.hpp +215 -226
  423. data/ext/boost/date_time/date_generator_formatter.hpp +22 -20
  424. data/ext/boost/date_time/date_generator_parser.hpp +52 -51
  425. data/ext/boost/date_time/date_generators.hpp +16 -16
  426. data/ext/boost/date_time/date_parsing.hpp +115 -98
  427. data/ext/boost/date_time/filetime_functions.hpp +133 -41
  428. data/ext/boost/date_time/format_date_parser.hpp +22 -10
  429. data/ext/boost/date_time/gregorian/conversion.hpp +32 -39
  430. data/ext/boost/date_time/gregorian/greg_calendar.hpp +15 -14
  431. data/ext/boost/date_time/gregorian/greg_date.hpp +19 -18
  432. data/ext/boost/date_time/gregorian/greg_duration.hpp +106 -10
  433. data/ext/boost/date_time/gregorian/greg_duration_types.hpp +16 -7
  434. data/ext/boost/date_time/gregorian/greg_weekday.hpp +2 -2
  435. data/ext/boost/date_time/gregorian/gregorian_io.hpp +11 -4
  436. data/ext/boost/date_time/gregorian_calendar.hpp +8 -8
  437. data/ext/boost/date_time/gregorian_calendar.ipp +30 -30
  438. data/ext/boost/date_time/int_adapter.hpp +4 -2
  439. data/ext/boost/date_time/microsec_time_clock.hpp +39 -117
  440. data/ext/boost/date_time/period_parser.hpp +17 -15
  441. data/ext/boost/date_time/posix_time/conversion.hpp +28 -29
  442. data/ext/boost/date_time/posix_time/posix_time_config.hpp +19 -19
  443. data/ext/boost/date_time/posix_time/posix_time_io.hpp +31 -38
  444. data/ext/boost/date_time/posix_time/time_formatters.hpp +32 -32
  445. data/ext/boost/date_time/string_parse_tree.hpp +46 -46
  446. data/ext/boost/date_time/strings_from_facet.hpp +7 -5
  447. data/ext/boost/date_time/time.hpp +7 -6
  448. data/ext/boost/date_time/time_defs.hpp +12 -2
  449. data/ext/boost/date_time/time_duration.hpp +27 -26
  450. data/ext/boost/date_time/time_facet.hpp +386 -321
  451. data/ext/boost/date_time/time_formatting_streams.hpp +8 -5
  452. data/ext/boost/date_time/time_resolution_traits.hpp +29 -25
  453. data/ext/boost/date_time/time_system_split.hpp +7 -13
  454. data/ext/boost/date_time/wrapping_int.hpp +21 -15
  455. data/ext/boost/detail/call_traits.hpp +1 -1
  456. data/ext/boost/detail/endian.hpp +4 -4
  457. data/ext/boost/detail/no_exceptions_support.hpp +87 -0
  458. data/ext/boost/detail/sp_typeinfo.hpp +50 -4
  459. data/ext/boost/detail/workaround.hpp +63 -3
  460. data/ext/boost/enable_shared_from_this.hpp +4 -59
  461. data/ext/boost/exception/current_exception_cast.hpp +43 -0
  462. data/ext/boost/exception/detail/attribute_noreturn.hpp +17 -0
  463. data/ext/boost/exception/detail/error_info_impl.hpp +75 -0
  464. data/ext/boost/exception/detail/exception_ptr.hpp +490 -0
  465. data/ext/boost/exception/detail/is_output_streamable.hpp +47 -0
  466. data/ext/boost/exception/detail/object_hex_dump.hpp +50 -0
  467. data/ext/boost/exception/detail/type_info.hpp +79 -0
  468. data/ext/boost/exception/diagnostic_information.hpp +182 -0
  469. data/ext/boost/exception/exception.hpp +422 -0
  470. data/ext/boost/exception/get_error_info.hpp +130 -0
  471. data/ext/boost/exception/info.hpp +167 -0
  472. data/ext/boost/exception/to_string.hpp +83 -0
  473. data/ext/boost/exception/to_string_stub.hpp +109 -0
  474. data/ext/boost/exception_ptr.hpp +11 -0
  475. data/ext/boost/function/detail/prologue.hpp +2 -1
  476. data/ext/boost/function/function_base.hpp +270 -128
  477. data/ext/boost/function/function_fwd.hpp +70 -0
  478. data/ext/boost/function/function_template.hpp +319 -130
  479. data/ext/boost/get_pointer.hpp +5 -1
  480. data/ext/boost/integer.hpp +253 -0
  481. data/ext/boost/integer_fwd.hpp +174 -0
  482. data/ext/boost/integer_traits.hpp +26 -1
  483. data/ext/boost/io/ios_state.hpp +8 -0
  484. data/ext/boost/iterator/detail/config_def.hpp +4 -2
  485. data/ext/boost/iterator/iterator_adaptor.hpp +7 -2
  486. data/ext/boost/iterator/iterator_facade.hpp +1 -2
  487. data/ext/boost/lexical_cast.hpp +113 -105
  488. data/ext/boost/limits.hpp +1 -1
  489. data/ext/boost/mem_fn.hpp +5 -370
  490. data/ext/boost/memory_order.hpp +53 -0
  491. data/ext/boost/mpl/always.hpp +3 -3
  492. data/ext/boost/mpl/and.hpp +3 -3
  493. data/ext/boost/mpl/apply.hpp +3 -3
  494. data/ext/boost/mpl/apply_fwd.hpp +3 -3
  495. data/ext/boost/mpl/apply_wrap.hpp +37 -6
  496. data/ext/boost/mpl/arg.hpp +3 -3
  497. data/ext/boost/mpl/arg_fwd.hpp +3 -3
  498. data/ext/boost/mpl/assert.hpp +6 -6
  499. data/ext/boost/mpl/aux_/adl_barrier.hpp +3 -3
  500. data/ext/boost/mpl/aux_/arg_typedef.hpp +3 -3
  501. data/ext/boost/mpl/aux_/arity.hpp +3 -3
  502. data/ext/boost/mpl/aux_/arity_spec.hpp +3 -3
  503. data/ext/boost/mpl/aux_/common_name_wknd.hpp +3 -3
  504. data/ext/boost/mpl/aux_/config/adl.hpp +4 -4
  505. data/ext/boost/mpl/aux_/config/arrays.hpp +4 -4
  506. data/ext/boost/mpl/aux_/config/bcc.hpp +28 -0
  507. data/ext/boost/mpl/aux_/config/bind.hpp +4 -4
  508. data/ext/boost/mpl/aux_/config/compiler.hpp +8 -6
  509. data/ext/boost/mpl/aux_/config/ctps.hpp +3 -3
  510. data/ext/boost/mpl/aux_/config/dtp.hpp +5 -5
  511. data/ext/boost/mpl/aux_/config/eti.hpp +3 -3
  512. data/ext/boost/mpl/aux_/config/gcc.hpp +3 -3
  513. data/ext/boost/mpl/aux_/config/has_apply.hpp +3 -3
  514. data/ext/boost/mpl/aux_/config/has_xxx.hpp +3 -3
  515. data/ext/boost/mpl/aux_/config/integral.hpp +4 -4
  516. data/ext/boost/mpl/aux_/config/intel.hpp +3 -3
  517. data/ext/boost/mpl/aux_/config/lambda.hpp +3 -3
  518. data/ext/boost/mpl/aux_/config/msvc.hpp +3 -3
  519. data/ext/boost/mpl/aux_/config/msvc_typename.hpp +3 -3
  520. data/ext/boost/mpl/aux_/config/nttp.hpp +3 -3
  521. data/ext/boost/mpl/aux_/config/overload_resolution.hpp +3 -3
  522. data/ext/boost/mpl/aux_/config/pp_counter.hpp +3 -3
  523. data/ext/boost/mpl/aux_/config/preprocessor.hpp +4 -4
  524. data/ext/boost/mpl/aux_/config/static_constant.hpp +3 -3
  525. data/ext/boost/mpl/aux_/config/ttp.hpp +4 -4
  526. data/ext/boost/mpl/aux_/config/use_preprocessed.hpp +3 -3
  527. data/ext/boost/mpl/aux_/config/workaround.hpp +3 -3
  528. data/ext/boost/mpl/aux_/full_lambda.hpp +3 -3
  529. data/ext/boost/mpl/aux_/has_apply.hpp +3 -3
  530. data/ext/boost/mpl/aux_/has_type.hpp +3 -3
  531. data/ext/boost/mpl/aux_/include_preprocessed.hpp +3 -3
  532. data/ext/boost/mpl/aux_/integral_wrapper.hpp +3 -3
  533. data/ext/boost/mpl/aux_/lambda_arity_param.hpp +3 -3
  534. data/ext/boost/mpl/aux_/lambda_support.hpp +4 -4
  535. data/ext/boost/mpl/aux_/msvc_never_true.hpp +3 -3
  536. data/ext/boost/mpl/aux_/na.hpp +3 -3
  537. data/ext/boost/mpl/aux_/na_assert.hpp +3 -3
  538. data/ext/boost/mpl/aux_/na_fwd.hpp +3 -3
  539. data/ext/boost/mpl/aux_/na_spec.hpp +3 -3
  540. data/ext/boost/mpl/aux_/nested_type_wknd.hpp +3 -3
  541. data/ext/boost/mpl/aux_/nttp_decl.hpp +3 -3
  542. data/ext/boost/mpl/aux_/preprocessor/def_params_tail.hpp +3 -3
  543. data/ext/boost/mpl/aux_/preprocessor/enum.hpp +3 -3
  544. data/ext/boost/mpl/aux_/preprocessor/filter_params.hpp +3 -3
  545. data/ext/boost/mpl/aux_/preprocessor/params.hpp +3 -3
  546. data/ext/boost/mpl/aux_/preprocessor/sub.hpp +3 -3
  547. data/ext/boost/mpl/aux_/static_cast.hpp +3 -3
  548. data/ext/boost/mpl/aux_/template_arity.hpp +3 -3
  549. data/ext/boost/mpl/aux_/template_arity_fwd.hpp +3 -3
  550. data/ext/boost/mpl/aux_/type_wrapper.hpp +3 -3
  551. data/ext/boost/mpl/aux_/value_wknd.hpp +3 -3
  552. data/ext/boost/mpl/aux_/yes_no.hpp +3 -3
  553. data/ext/boost/mpl/bind.hpp +3 -3
  554. data/ext/boost/mpl/bind_fwd.hpp +3 -3
  555. data/ext/boost/mpl/bool.hpp +3 -3
  556. data/ext/boost/mpl/bool_fwd.hpp +3 -3
  557. data/ext/boost/mpl/eval_if.hpp +3 -3
  558. data/ext/boost/mpl/has_xxx.hpp +10 -8
  559. data/ext/boost/mpl/identity.hpp +3 -3
  560. data/ext/boost/mpl/if.hpp +3 -3
  561. data/ext/boost/mpl/int.hpp +3 -3
  562. data/ext/boost/mpl/int_fwd.hpp +3 -3
  563. data/ext/boost/mpl/integral_c.hpp +3 -3
  564. data/ext/boost/mpl/integral_c_fwd.hpp +3 -3
  565. data/ext/boost/mpl/integral_c_tag.hpp +3 -3
  566. data/ext/boost/mpl/lambda.hpp +3 -3
  567. data/ext/boost/mpl/lambda_fwd.hpp +3 -3
  568. data/ext/boost/mpl/limits/arity.hpp +3 -3
  569. data/ext/boost/mpl/logical.hpp +3 -3
  570. data/ext/boost/mpl/next.hpp +3 -3
  571. data/ext/boost/mpl/next_prior.hpp +3 -3
  572. data/ext/boost/mpl/not.hpp +3 -3
  573. data/ext/boost/mpl/or.hpp +3 -3
  574. data/ext/boost/mpl/placeholders.hpp +3 -3
  575. data/ext/boost/mpl/protect.hpp +3 -3
  576. data/ext/boost/mpl/quote.hpp +18 -7
  577. data/ext/boost/mpl/size_t.hpp +3 -3
  578. data/ext/boost/mpl/size_t_fwd.hpp +3 -3
  579. data/ext/boost/mpl/void.hpp +3 -3
  580. data/ext/boost/mpl/void_fwd.hpp +3 -3
  581. data/ext/boost/non_type.hpp +27 -27
  582. data/ext/boost/operators.hpp +51 -18
  583. data/ext/boost/preprocessor/arithmetic/detail/div_base.hpp +61 -0
  584. data/ext/boost/preprocessor/arithmetic/mod.hpp +39 -0
  585. data/ext/boost/preprocessor/comparison/less_equal.hpp +39 -0
  586. data/ext/boost/preprocessor/control/deduce_d.hpp +22 -0
  587. data/ext/boost/preprocessor/logical/not.hpp +30 -0
  588. data/ext/boost/preprocessor/seq/cat.hpp +48 -0
  589. data/ext/boost/preprocessor/seq/fold_left.hpp +1070 -0
  590. data/ext/boost/preprocessor/seq/transform.hpp +48 -0
  591. data/ext/boost/range/as_literal.hpp +10 -14
  592. data/ext/boost/range/begin.hpp +4 -4
  593. data/ext/boost/range/detail/implementation_help.hpp +4 -0
  594. data/ext/boost/range/end.hpp +4 -4
  595. data/ext/boost/range/iterator_range.hpp +31 -15
  596. data/ext/boost/ref.hpp +12 -1
  597. data/ext/boost/scoped_array.hpp +16 -0
  598. data/ext/boost/scoped_ptr.hpp +16 -0
  599. data/ext/boost/shared_ptr.hpp +2 -602
  600. data/ext/boost/{detail → smart_ptr}/bad_weak_ptr.hpp +4 -4
  601. data/ext/boost/{detail → smart_ptr/detail}/atomic_count.hpp +14 -19
  602. data/ext/boost/{detail → smart_ptr/detail}/atomic_count_gcc.hpp +13 -9
  603. data/ext/boost/{detail → smart_ptr/detail}/atomic_count_gcc_x86.hpp +5 -12
  604. data/ext/boost/{detail → smart_ptr/detail}/atomic_count_pthreads.hpp +5 -5
  605. data/ext/boost/{detail → smart_ptr/detail}/atomic_count_solaris.hpp +3 -3
  606. data/ext/boost/{detail → smart_ptr/detail}/atomic_count_sync.hpp +9 -5
  607. data/ext/boost/{detail → smart_ptr/detail}/atomic_count_win32.hpp +3 -3
  608. data/ext/boost/smart_ptr/detail/operator_bool.hpp +56 -0
  609. data/ext/boost/{detail → smart_ptr/detail}/shared_count.hpp +86 -17
  610. data/ext/boost/smart_ptr/detail/sp_convertible.hpp +76 -0
  611. data/ext/boost/smart_ptr/detail/sp_counted_base.hpp +70 -0
  612. data/ext/boost/{detail → smart_ptr/detail}/sp_counted_base_acc_ia64.hpp +4 -4
  613. data/ext/boost/{detail → smart_ptr/detail}/sp_counted_base_cw_ppc.hpp +4 -4
  614. data/ext/boost/{detail → smart_ptr/detail}/sp_counted_base_cw_x86.hpp +4 -4
  615. data/ext/boost/{detail → smart_ptr/detail}/sp_counted_base_gcc_ia64.hpp +4 -4
  616. data/ext/boost/smart_ptr/detail/sp_counted_base_gcc_mips.hpp +172 -0
  617. data/ext/boost/{detail → smart_ptr/detail}/sp_counted_base_gcc_ppc.hpp +4 -4
  618. data/ext/boost/{detail → smart_ptr/detail}/sp_counted_base_gcc_sparc.hpp +7 -7
  619. data/ext/boost/{detail → smart_ptr/detail}/sp_counted_base_gcc_x86.hpp +4 -4
  620. data/ext/boost/{detail → smart_ptr/detail}/sp_counted_base_nt.hpp +4 -4
  621. data/ext/boost/{detail → smart_ptr/detail}/sp_counted_base_pt.hpp +4 -4
  622. data/ext/boost/{detail → smart_ptr/detail}/sp_counted_base_solaris.hpp +4 -4
  623. data/ext/boost/smart_ptr/detail/sp_counted_base_spin.hpp +131 -0
  624. data/ext/boost/{detail → smart_ptr/detail}/sp_counted_base_sync.hpp +8 -4
  625. data/ext/boost/{detail → smart_ptr/detail}/sp_counted_base_w32.hpp +4 -4
  626. data/ext/boost/{detail → smart_ptr/detail}/sp_counted_impl.hpp +5 -5
  627. data/ext/boost/smart_ptr/detail/sp_has_sync.hpp +49 -0
  628. data/ext/boost/smart_ptr/detail/spinlock.hpp +53 -0
  629. data/ext/boost/smart_ptr/detail/spinlock_gcc_arm.hpp +85 -0
  630. data/ext/boost/smart_ptr/detail/spinlock_nt.hpp +89 -0
  631. data/ext/boost/smart_ptr/detail/spinlock_pool.hpp +87 -0
  632. data/ext/boost/smart_ptr/detail/spinlock_pt.hpp +79 -0
  633. data/ext/boost/smart_ptr/detail/spinlock_sync.hpp +87 -0
  634. data/ext/boost/smart_ptr/detail/yield_k.hpp +149 -0
  635. data/ext/boost/smart_ptr/enable_shared_from_this.hpp +79 -0
  636. data/ext/boost/smart_ptr/scoped_array.hpp +107 -0
  637. data/ext/boost/smart_ptr/scoped_ptr.hpp +131 -0
  638. data/ext/boost/smart_ptr/shared_ptr.hpp +701 -0
  639. data/ext/boost/smart_ptr/weak_ptr.hpp +230 -0
  640. data/ext/boost/src/pthread/thread.cpp +115 -203
  641. data/ext/boost/src/tss_null.cpp +1 -1
  642. data/ext/boost/static_assert.hpp +14 -4
  643. data/ext/boost/thread.hpp +7 -2
  644. data/ext/boost/thread/barrier.hpp +63 -0
  645. data/ext/boost/thread/detail/force_cast.hpp +39 -0
  646. data/ext/boost/thread/detail/move.hpp +29 -2
  647. data/ext/boost/thread/detail/platform.hpp +3 -3
  648. data/ext/boost/thread/detail/singleton.hpp +59 -0
  649. data/ext/boost/thread/detail/thread.hpp +496 -0
  650. data/ext/boost/thread/detail/thread_group.hpp +105 -0
  651. data/ext/boost/thread/detail/thread_heap_alloc.hpp +23 -0
  652. data/ext/boost/thread/detail/thread_interruption.hpp +35 -0
  653. data/ext/boost/thread/detail/tss_hooks.hpp +82 -0
  654. data/ext/boost/thread/exceptions.hpp +174 -60
  655. data/ext/boost/thread/future.hpp +1364 -0
  656. data/ext/boost/thread/locks.hpp +899 -32
  657. data/ext/boost/thread/once.hpp +4 -0
  658. data/ext/boost/thread/pthread/condition_variable.hpp +16 -21
  659. data/ext/boost/thread/pthread/condition_variable_fwd.hpp +37 -3
  660. data/ext/boost/thread/pthread/mutex.hpp +20 -7
  661. data/ext/boost/thread/pthread/once.hpp +7 -2
  662. data/ext/boost/thread/pthread/pthread_mutex_scoped_lock.hpp +5 -1
  663. data/ext/boost/thread/pthread/recursive_mutex.hpp +22 -5
  664. data/ext/boost/thread/pthread/shared_mutex.hpp +303 -0
  665. data/ext/boost/thread/pthread/thread_data.hpp +37 -10
  666. data/ext/boost/thread/pthread/thread_heap_alloc.hpp +242 -0
  667. data/ext/boost/thread/pthread/timespec.hpp +11 -3
  668. data/ext/boost/thread/shared_mutex.hpp +21 -0
  669. data/ext/boost/thread/thread.hpp +8 -3
  670. data/ext/boost/thread/thread_time.hpp +4 -0
  671. data/ext/boost/thread/tss.hpp +106 -13
  672. data/ext/boost/thread/xtime.hpp +6 -2
  673. data/ext/boost/throw_exception.hpp +36 -7
  674. data/ext/boost/token_functions.hpp +1 -1
  675. data/ext/boost/tokenizer.hpp +1 -1
  676. data/ext/boost/type_traits/add_pointer.hpp +1 -1
  677. data/ext/boost/type_traits/add_volatile.hpp +47 -0
  678. data/ext/boost/type_traits/alignment_of.hpp +29 -1
  679. data/ext/boost/type_traits/config.hpp +1 -1
  680. data/ext/boost/type_traits/conversion_traits.hpp +1 -1
  681. data/ext/boost/type_traits/has_trivial_destructor.hpp +42 -0
  682. data/ext/boost/type_traits/intrinsics.hpp +88 -1
  683. data/ext/boost/type_traits/is_abstract.hpp +14 -5
  684. data/ext/boost/type_traits/is_arithmetic.hpp +8 -0
  685. data/ext/boost/type_traits/is_array.hpp +3 -2
  686. data/ext/boost/type_traits/is_base_and_derived.hpp +254 -0
  687. data/ext/boost/type_traits/is_base_of.hpp +51 -0
  688. data/ext/boost/type_traits/is_class.hpp +12 -0
  689. data/ext/boost/type_traits/is_const.hpp +6 -2
  690. data/ext/boost/type_traits/is_convertible.hpp +14 -2
  691. data/ext/boost/type_traits/is_enum.hpp +10 -1
  692. data/ext/boost/type_traits/is_function.hpp +11 -3
  693. data/ext/boost/type_traits/is_fundamental.hpp +45 -0
  694. data/ext/boost/type_traits/is_integral.hpp +5 -0
  695. data/ext/boost/type_traits/is_member_function_pointer.hpp +5 -3
  696. data/ext/boost/type_traits/is_member_pointer.hpp +4 -2
  697. data/ext/boost/type_traits/is_pointer.hpp +3 -1
  698. data/ext/boost/type_traits/is_reference.hpp +4 -2
  699. data/ext/boost/type_traits/is_signed.hpp +135 -0
  700. data/ext/boost/type_traits/is_unsigned.hpp +130 -0
  701. data/ext/boost/type_traits/is_void.hpp +5 -0
  702. data/ext/boost/type_traits/is_volatile.hpp +4 -2
  703. data/ext/boost/type_traits/make_unsigned.hpp +137 -0
  704. data/ext/boost/type_traits/remove_reference.hpp +1 -1
  705. data/ext/boost/type_traits/type_with_alignment.hpp +106 -1
  706. data/ext/boost/utility.hpp +2 -1
  707. data/ext/boost/utility/addressof.hpp +61 -17
  708. data/ext/boost/utility/binary.hpp +708 -0
  709. data/ext/boost/utility/enable_if.hpp +2 -2
  710. data/ext/boost/weak_ptr.hpp +4 -174
  711. data/ext/common/AbstractSpawnManager.h +110 -0
  712. data/ext/common/Account.h +175 -0
  713. data/ext/common/AccountsDatabase.cpp +81 -0
  714. data/ext/common/AccountsDatabase.h +130 -0
  715. data/ext/common/AgentBase.cpp +323 -0
  716. data/ext/common/{Version.h → AgentBase.h} +14 -6
  717. data/ext/common/AgentsStarter.cpp +154 -0
  718. data/ext/common/AgentsStarter.h +81 -0
  719. data/ext/common/AgentsStarter.hpp +619 -0
  720. data/ext/common/ApplicationPool/Client.h +796 -0
  721. data/ext/common/{ApplicationPool.h → ApplicationPool/Interface.h} +108 -18
  722. data/ext/common/ApplicationPool/Pool.h +1315 -0
  723. data/ext/common/ApplicationPool/Server.h +475 -0
  724. data/ext/common/BCrypt.cpp +343 -0
  725. data/ext/common/BCrypt.h +73 -0
  726. data/ext/common/Blowfish.c +685 -0
  727. data/ext/common/Blowfish.h +103 -0
  728. data/ext/common/Constants.h +48 -0
  729. data/ext/common/EventedClient.h +598 -0
  730. data/ext/common/EventedMessageServer.h +327 -0
  731. data/ext/common/EventedServer.h +295 -0
  732. data/ext/common/Exceptions.h +78 -1
  733. data/ext/common/FileDescriptor.h +229 -0
  734. data/ext/common/HelperAgent/BacktracesServer.h +59 -0
  735. data/ext/common/Logging.cpp +8 -9
  736. data/ext/common/Logging.h +593 -21
  737. data/ext/common/LoggingAgent/ChangeNotifier.h +63 -0
  738. data/ext/common/LoggingAgent/DataStoreId.h +177 -0
  739. data/ext/common/LoggingAgent/LoggingServer.h +1343 -0
  740. data/ext/common/LoggingAgent/Main.cpp +278 -0
  741. data/ext/common/LoggingAgent/RemoteSender.h +457 -0
  742. data/ext/common/MessageChannel.h +196 -34
  743. data/ext/common/MessageClient.h +297 -0
  744. data/ext/common/MessageReadersWriters.h +508 -0
  745. data/ext/common/MessageServer.h +575 -0
  746. data/ext/common/PoolOptions.h +279 -117
  747. data/ext/common/Process.h +255 -0
  748. data/ext/common/RandomGenerator.h +160 -0
  749. data/ext/common/ResourceLocator.h +84 -0
  750. data/ext/common/ServerInstanceDir.h +343 -0
  751. data/ext/common/Session.h +470 -0
  752. data/ext/common/SpawnManager.h +256 -201
  753. data/ext/common/StaticString.h +79 -4
  754. data/ext/common/StringListCreator.h +2 -2
  755. data/ext/common/Utils.cpp +385 -397
  756. data/ext/common/Utils.h +79 -165
  757. data/ext/common/{Base64.cpp → Utils/Base64.cpp} +0 -0
  758. data/ext/common/{Base64.h → Utils/Base64.h} +27 -1
  759. data/ext/common/Utils/BlockingQueue.h +136 -0
  760. data/ext/common/Utils/BlockingScalar.h +50 -0
  761. data/ext/common/{CachedFileStat.cpp → Utils/CachedFileStat.cpp} +1 -1
  762. data/ext/common/{CachedFileStat.h → Utils/CachedFileStat.h} +1 -1
  763. data/ext/common/{CachedFileStat.hpp → Utils/CachedFileStat.hpp} +1 -1
  764. data/ext/common/{FileChangeChecker.h → Utils/FileChangeChecker.h} +1 -1
  765. data/ext/common/Utils/FileHandleGuard.h +81 -0
  766. data/ext/common/Utils/IOUtils.cpp +754 -0
  767. data/ext/common/Utils/IOUtils.h +253 -0
  768. data/ext/common/Utils/MD5.cpp +406 -0
  769. data/ext/common/Utils/MD5.h +98 -0
  770. data/ext/common/Utils/MemZeroGuard.h +103 -0
  771. data/ext/common/Utils/ProcessMetricsCollector.h +462 -0
  772. data/ext/common/Utils/ScopeGuard.h +72 -0
  773. data/ext/common/Utils/StrIntUtils.cpp +329 -0
  774. data/ext/common/Utils/StrIntUtils.h +228 -0
  775. data/ext/common/{SystemTime.cpp → Utils/SystemTime.cpp} +5 -1
  776. data/ext/common/Utils/SystemTime.h +201 -0
  777. data/ext/common/{Timer.h → Utils/Timer.h} +58 -18
  778. data/ext/common/Utils/VariantMap.h +363 -0
  779. data/ext/common/Utils/foo.cpp +10 -0
  780. data/ext/common/Watchdog.cpp +1034 -0
  781. data/ext/google/COPYING +28 -0
  782. data/ext/google/ChangeLog +167 -0
  783. data/ext/google/dense_hash_map +310 -0
  784. data/ext/google/dense_hash_set +287 -0
  785. data/ext/google/sparse_hash_map +294 -0
  786. data/ext/google/sparse_hash_set +275 -0
  787. data/ext/google/sparsehash/densehashtable.h +1062 -0
  788. data/ext/google/sparsehash/sparseconfig.h +55 -0
  789. data/ext/google/sparsehash/sparsehashtable.h +1015 -0
  790. data/ext/google/sparsetable +1468 -0
  791. data/ext/google/type_traits.h +250 -0
  792. data/ext/libev/Changes +302 -0
  793. data/ext/libev/LICENSE +36 -0
  794. data/ext/libev/Makefile.am +18 -0
  795. data/ext/libev/Makefile.in +685 -0
  796. data/ext/libev/README +58 -0
  797. data/ext/libev/aclocal.m4 +7549 -0
  798. data/ext/libev/autogen.sh +6 -0
  799. data/ext/libev/config.guess +1526 -0
  800. data/ext/libev/config.h +122 -0
  801. data/ext/libev/config.h.in +121 -0
  802. data/ext/libev/config.sub +1658 -0
  803. data/ext/libev/configure +22156 -0
  804. data/ext/libev/configure.ac +18 -0
  805. data/ext/libev/ev++.h +800 -0
  806. data/ext/libev/ev.c +3694 -0
  807. data/ext/libev/ev.h +705 -0
  808. data/ext/libev/ev_epoll.c +228 -0
  809. data/ext/libev/ev_kqueue.c +196 -0
  810. data/ext/libev/ev_poll.c +144 -0
  811. data/ext/libev/ev_port.c +165 -0
  812. data/ext/libev/ev_select.c +308 -0
  813. data/ext/libev/ev_vars.h +187 -0
  814. data/ext/libev/ev_win32.c +153 -0
  815. data/ext/libev/ev_wrap.h +178 -0
  816. data/ext/libev/event.c +401 -0
  817. data/ext/libev/event.h +158 -0
  818. data/ext/libev/install-sh +294 -0
  819. data/ext/libev/libev.m4 +38 -0
  820. data/ext/libev/ltmain.sh +6871 -0
  821. data/ext/libev/missing +336 -0
  822. data/ext/libev/mkinstalldirs +111 -0
  823. data/ext/nginx/Configuration.c +532 -182
  824. data/ext/nginx/Configuration.h +33 -10
  825. data/ext/nginx/ContentHandler.c +188 -53
  826. data/ext/nginx/ContentHandler.h +1 -1
  827. data/ext/nginx/{HelperServer.cpp → HelperAgent.cpp} +433 -299
  828. data/ext/nginx/HttpStatusExtractor.h +1 -1
  829. data/ext/nginx/ScgiRequestParser.h +68 -11
  830. data/ext/nginx/StaticContentHandler.c +4 -1
  831. data/ext/nginx/StaticContentHandler.h +1 -1
  832. data/ext/nginx/config +5 -5
  833. data/ext/nginx/ngx_http_passenger_module.c +315 -469
  834. data/ext/nginx/ngx_http_passenger_module.h +8 -17
  835. data/ext/oxt/backtrace.cpp +49 -41
  836. data/ext/oxt/backtrace.hpp +1 -1
  837. data/ext/oxt/detail/backtrace_disabled.hpp +1 -1
  838. data/ext/oxt/detail/backtrace_enabled.hpp +16 -15
  839. data/ext/oxt/detail/spin_lock_darwin.hpp +69 -0
  840. data/ext/oxt/detail/spin_lock_gcc_x86.hpp +3 -4
  841. data/ext/oxt/detail/spin_lock_portable.hpp +1 -1
  842. data/ext/oxt/detail/spin_lock_pthreads.hpp +1 -1
  843. data/ext/oxt/detail/tracable_exception_disabled.hpp +1 -1
  844. data/ext/oxt/detail/tracable_exception_enabled.hpp +1 -1
  845. data/ext/oxt/dynamic_thread_group.hpp +195 -0
  846. data/ext/oxt/macros.hpp +1 -1
  847. data/ext/oxt/spin_lock.hpp +4 -2
  848. data/ext/oxt/system_calls.cpp +129 -13
  849. data/ext/oxt/system_calls.hpp +16 -2
  850. data/ext/oxt/thread.cpp +1 -1
  851. data/ext/oxt/thread.hpp +49 -14
  852. data/ext/oxt/tracable_exception.cpp +5 -5
  853. data/ext/oxt/tracable_exception.hpp +1 -1
  854. data/ext/phusion_passenger/extconf.rb +7 -2
  855. data/ext/phusion_passenger/native_support.c +733 -33
  856. data/{bin → helper-scripts}/passenger-spawn-server +50 -12
  857. data/helper-scripts/prespawn +63 -0
  858. data/lib/phusion_passenger.rb +113 -0
  859. data/lib/phusion_passenger/abstract_installer.rb +50 -12
  860. data/lib/phusion_passenger/abstract_request_handler.rb +432 -171
  861. data/lib/phusion_passenger/abstract_server.rb +125 -122
  862. data/lib/phusion_passenger/abstract_server_collection.rb +51 -22
  863. data/lib/phusion_passenger/admin_tools.rb +1 -1
  864. data/lib/phusion_passenger/admin_tools/memory_stats.rb +299 -0
  865. data/lib/phusion_passenger/admin_tools/server_instance.rb +334 -0
  866. data/lib/phusion_passenger/analytics_logger.rb +342 -0
  867. data/lib/phusion_passenger/{application.rb → app_process.rb} +73 -24
  868. data/lib/phusion_passenger/classic_rails/application_spawner.rb +344 -0
  869. data/lib/phusion_passenger/{railz → classic_rails}/cgi_fixed.rb +2 -2
  870. data/lib/phusion_passenger/{railz → classic_rails}/framework_spawner.rb +75 -98
  871. data/lib/phusion_passenger/{railz → classic_rails}/request_handler.rb +8 -6
  872. data/lib/phusion_passenger/classic_rails_extensions/analytics_logging/ac_base_extension.rb +65 -0
  873. data/lib/phusion_passenger/classic_rails_extensions/analytics_logging/ac_benchmarking_extension.rb +48 -0
  874. data/lib/phusion_passenger/classic_rails_extensions/analytics_logging/ac_rescue_extension.rb +59 -0
  875. data/lib/phusion_passenger/classic_rails_extensions/analytics_logging/ar_abstract_adapter_extension.rb +54 -0
  876. data/lib/phusion_passenger/classic_rails_extensions/analytics_logging/as_cache_extension.rb +130 -0
  877. data/lib/phusion_passenger/classic_rails_extensions/analytics_logging/av_benchmark_helper_extension.rb +47 -0
  878. data/lib/phusion_passenger/classic_rails_extensions/init.rb +123 -0
  879. data/lib/phusion_passenger/console_text_template.rb +1 -1
  880. data/lib/phusion_passenger/constants.rb +9 -5
  881. data/lib/phusion_passenger/debug_logging.rb +104 -0
  882. data/lib/phusion_passenger/dependencies.rb +187 -4
  883. data/lib/phusion_passenger/exceptions.rb +4 -4
  884. data/lib/phusion_passenger/html_template.rb +6 -8
  885. data/lib/phusion_passenger/message_channel.rb +137 -21
  886. data/lib/phusion_passenger/message_client.rb +173 -0
  887. data/lib/phusion_passenger/native_support.rb +108 -0
  888. data/lib/phusion_passenger/packaging.rb +82 -13
  889. data/lib/phusion_passenger/platform_info.rb +84 -475
  890. data/lib/phusion_passenger/platform_info/apache.rb +329 -0
  891. data/lib/phusion_passenger/platform_info/binary_compatibility.rb +187 -0
  892. data/lib/phusion_passenger/platform_info/compiler.rb +154 -0
  893. data/lib/phusion_passenger/{events.rb → platform_info/curl.rb} +26 -23
  894. data/lib/phusion_passenger/platform_info/documentation_tools.rb +35 -0
  895. data/lib/phusion_passenger/platform_info/linux.rb +77 -0
  896. data/lib/phusion_passenger/platform_info/operating_system.rb +51 -0
  897. data/lib/phusion_passenger/platform_info/ruby.rb +198 -0
  898. data/lib/phusion_passenger/platform_info/zlib.rb +38 -0
  899. data/lib/phusion_passenger/plugin.rb +96 -0
  900. data/lib/phusion_passenger/public_api.rb +112 -0
  901. data/lib/phusion_passenger/rack/application_spawner.rb +146 -71
  902. data/lib/phusion_passenger/rack/request_handler.rb +36 -13
  903. data/lib/phusion_passenger/rails3_extensions/init.rb +204 -0
  904. data/lib/phusion_passenger/simple_benchmarking.rb +1 -1
  905. data/lib/phusion_passenger/spawn_manager.rb +137 -141
  906. data/lib/phusion_passenger/standalone/app_finder.rb +153 -0
  907. data/lib/phusion_passenger/standalone/command.rb +237 -0
  908. data/lib/phusion_passenger/standalone/config_file.rb +119 -0
  909. data/lib/phusion_passenger/standalone/help_command.rb +57 -0
  910. data/lib/phusion_passenger/standalone/main.rb +101 -0
  911. data/lib/phusion_passenger/standalone/package_runtime_command.rb +92 -0
  912. data/lib/phusion_passenger/standalone/runtime_installer.rb +466 -0
  913. data/lib/phusion_passenger/standalone/start_command.rb +510 -0
  914. data/lib/phusion_passenger/standalone/status_command.rb +62 -0
  915. data/lib/phusion_passenger/standalone/stop_command.rb +74 -0
  916. data/lib/phusion_passenger/standalone/utils.rb +42 -0
  917. data/lib/phusion_passenger/standalone/version_command.rb +42 -0
  918. data/lib/phusion_passenger/templates/framework_init_error.html.erb +1 -1
  919. data/lib/phusion_passenger/templates/standalone/cannot_write_to_dir.txt.erb +11 -0
  920. data/lib/phusion_passenger/templates/standalone/config.erb +69 -0
  921. data/lib/phusion_passenger/templates/standalone/possible_solutions_for_download_and_extraction_problems.txt.erb +17 -0
  922. data/lib/phusion_passenger/templates/standalone/run_installer_as_root.txt.erb +8 -0
  923. data/lib/phusion_passenger/templates/standalone/welcome.txt.erb +8 -0
  924. data/lib/phusion_passenger/templates/standalone_default_root/index.html +1 -0
  925. data/lib/phusion_passenger/templates/version_not_found.html.erb +2 -2
  926. data/lib/phusion_passenger/utils.rb +476 -125
  927. data/lib/phusion_passenger/utils/file_system_watcher.rb +186 -0
  928. data/lib/phusion_passenger/utils/hosts_file_parser.rb +130 -0
  929. data/lib/phusion_passenger/utils/tmpdir.rb +70 -0
  930. data/lib/phusion_passenger/utils/unseekable_socket.rb +196 -0
  931. data/lib/phusion_passenger/wsgi/application_spawner.rb +24 -20
  932. data/lib/phusion_passenger/wsgi/request_handler.py +1 -1
  933. data/misc/copy_boost_headers.rb +36 -9
  934. data/misc/find_owner_pipe_leaks.rb +1 -1
  935. data/misc/render_error_pages.rb +1 -1
  936. data/misc/union_station_gateway.crt +32 -0
  937. data/test/config.yml.example +24 -13
  938. data/test/cxx/ApplicationPool_PoolTest.cpp +33 -0
  939. data/test/cxx/ApplicationPool_PoolTestCases.cpp +1029 -0
  940. data/test/cxx/ApplicationPool_ServerTest.cpp +308 -0
  941. data/test/cxx/ApplicationPool_Server_PoolTest.cpp +80 -0
  942. data/test/{Base64Test.cpp → cxx/Base64Test.cpp} +4 -2
  943. data/test/{CachedFileStatTest.cpp → cxx/CachedFileStatTest.cpp} +3 -3
  944. data/test/{CxxTestMain.cpp → cxx/CxxTestMain.cpp} +6 -27
  945. data/test/cxx/EventedClientTest.cpp +386 -0
  946. data/test/{FileChangeCheckerTest.cpp → cxx/FileChangeCheckerTest.cpp} +3 -5
  947. data/test/cxx/FileDescriptorTest.cpp +69 -0
  948. data/test/{HttpStatusExtractorTest.cpp → cxx/HttpStatusExtractorTest.cpp} +1 -1
  949. data/test/cxx/IOUtilsTest.cpp +398 -0
  950. data/test/cxx/LoggingTest.cpp +914 -0
  951. data/test/cxx/MessageChannelTest.cpp +672 -0
  952. data/test/cxx/MessageReadersWritersTest.cpp +574 -0
  953. data/test/cxx/MessageServerTest.cpp +383 -0
  954. data/test/{PoolOptionsTest.cpp → cxx/PoolOptionsTest.cpp} +2 -3
  955. data/test/{ScgiRequestParserTest.cpp → cxx/ScgiRequestParserTest.cpp} +53 -1
  956. data/test/cxx/ServerInstanceDirTest.cpp +186 -0
  957. data/test/cxx/SpawnManagerTest.cpp +161 -0
  958. data/test/cxx/StaticStringTest.cpp +86 -0
  959. data/test/{SystemTimeTest.cpp → cxx/SystemTimeTest.cpp} +2 -2
  960. data/test/cxx/TestSupport.cpp +166 -0
  961. data/test/cxx/TestSupport.h +254 -0
  962. data/test/cxx/UtilsTest.cpp +521 -0
  963. data/test/cxx/VariantMapTest.cpp +179 -0
  964. data/test/integration_tests/apache2_tests.rb +198 -127
  965. data/test/integration_tests/cgi_environment_spec.rb +26 -0
  966. data/test/integration_tests/mycook_spec.rb +2 -28
  967. data/test/integration_tests/nginx_tests.rb +125 -16
  968. data/test/integration_tests/spec_helper.rb +19 -0
  969. data/test/oxt/backtrace_test.cpp +19 -59
  970. data/test/oxt/counter.hpp +55 -0
  971. data/test/oxt/dynamic_thread_group_test.cpp +131 -0
  972. data/test/oxt/oxt_test_main.cpp +2 -2
  973. data/test/oxt/spin_lock_test.cpp +59 -0
  974. data/test/oxt/syscall_interruption_test.cpp +1 -1
  975. data/test/ruby/abstract_request_handler_spec.rb +346 -25
  976. data/test/ruby/abstract_server_collection_spec.rb +4 -3
  977. data/test/ruby/abstract_server_spec.rb +37 -27
  978. data/test/ruby/admin_tools_spec.rb +362 -0
  979. data/test/ruby/analytics_logger_spec.rb +253 -0
  980. data/test/ruby/{application_spec.rb → app_process_spec.rb} +14 -14
  981. data/test/ruby/classic_rails/application_spawner_spec.rb +89 -0
  982. data/test/ruby/classic_rails/framework_spawner_spec.rb +92 -0
  983. data/test/ruby/debug_logging_spec.rb +141 -0
  984. data/test/ruby/message_channel_spec.rb +51 -25
  985. data/test/ruby/rack/application_spawner_spec.rb +99 -82
  986. data/test/ruby/shared/abstract_server_spec.rb +23 -0
  987. data/test/ruby/shared/rails/analytics_logging_extensions_spec.rb +375 -0
  988. data/test/ruby/shared/spawners/classic_rails/framework_spawner_spec.rb +38 -0
  989. data/test/ruby/shared/spawners/classic_rails/lack_of_rails_gem_version_spec.rb +19 -0
  990. data/test/ruby/shared/spawners/classic_rails/spawner_spec.rb +15 -0
  991. data/test/ruby/shared/spawners/non_preloading_spawner_spec.rb +27 -0
  992. data/test/ruby/shared/spawners/preloading_spawner_spec.rb +29 -0
  993. data/test/ruby/shared/spawners/reload_all_spec.rb +36 -0
  994. data/test/ruby/shared/spawners/reload_single_spec.rb +52 -0
  995. data/test/ruby/shared/spawners/spawn_server_spec.rb +28 -0
  996. data/test/ruby/shared/spawners/spawner_spec.rb +273 -0
  997. data/test/ruby/shared/utils/pseudo_io_spec.rb +60 -0
  998. data/test/ruby/spawn_manager_spec.rb +104 -175
  999. data/test/ruby/spec_helper.rb +104 -0
  1000. data/test/ruby/utils/file_system_watcher_spec.rb +221 -0
  1001. data/test/ruby/utils/hosts_file_parser.rb +258 -0
  1002. data/test/ruby/utils/unseekable_socket_spec.rb +66 -0
  1003. data/test/ruby/utils_spec.rb +410 -59
  1004. data/test/ruby/wsgi/application_spawner_spec.rb +16 -20
  1005. data/test/stub/apache2/httpd.conf.erb +11 -6
  1006. data/test/stub/message_channel.rb +3 -1
  1007. data/test/stub/message_channel_2.rb +3 -1
  1008. data/test/stub/message_channel_3.rb +5 -3
  1009. data/test/stub/nginx/nginx.conf.erb +3 -2
  1010. data/test/stub/rails_apps/1.2/empty/Rakefile +10 -0
  1011. data/test/stub/rails_apps/1.2/empty/app/controllers/application.rb +7 -0
  1012. data/test/stub/rails_apps/{foobar → 1.2/empty}/app/helpers/application_helper.rb +0 -0
  1013. data/test/stub/rails_apps/{mycook → 1.2/empty}/config/boot.rb +3 -3
  1014. data/test/stub/rails_apps/1.2/empty/config/database.yml +31 -0
  1015. data/test/stub/rails_apps/1.2/empty/config/environment.rb +66 -0
  1016. data/test/stub/rails_apps/1.2/empty/config/environments/development.rb +21 -0
  1017. data/test/stub/rails_apps/{foobar → 1.2/empty}/config/environments/production.rb +0 -0
  1018. data/test/stub/rails_apps/1.2/empty/config/environments/staging.rb +18 -0
  1019. data/test/stub/rails_apps/1.2/empty/config/environments/test.rb +19 -0
  1020. data/test/stub/rails_apps/1.2/empty/config/routes.rb +23 -0
  1021. data/test/stub/rails_apps/1.2/empty/doc/README_FOR_APP +2 -0
  1022. data/test/stub/rails_apps/{mycook → 1.2/empty}/public/404.html +0 -0
  1023. data/test/stub/rails_apps/1.2/empty/public/500.html +30 -0
  1024. data/test/stub/rails_apps/1.2/empty/public/dispatch.cgi +10 -0
  1025. data/test/stub/rails_apps/1.2/empty/public/dispatch.fcgi +24 -0
  1026. data/test/stub/rails_apps/1.2/empty/public/dispatch.rb +10 -0
  1027. data/test/stub/rails_apps/{mycook → 1.2/empty}/public/favicon.ico +0 -0
  1028. data/test/stub/rails_apps/{mycook → 1.2/empty}/public/images/rails.png +0 -0
  1029. data/test/stub/rails_apps/1.2/empty/public/robots.txt +1 -0
  1030. data/test/stub/rails_apps/1.2/empty/script/about +3 -0
  1031. data/test/stub/rails_apps/1.2/empty/script/breakpointer +3 -0
  1032. data/test/stub/rails_apps/1.2/empty/script/console +3 -0
  1033. data/test/stub/rails_apps/1.2/empty/script/destroy +3 -0
  1034. data/test/stub/rails_apps/1.2/empty/script/generate +3 -0
  1035. data/test/stub/rails_apps/1.2/empty/script/performance/benchmarker +3 -0
  1036. data/test/stub/rails_apps/1.2/empty/script/performance/profiler +3 -0
  1037. data/test/stub/rails_apps/1.2/empty/script/plugin +3 -0
  1038. data/test/stub/rails_apps/1.2/empty/script/process/inspector +3 -0
  1039. data/test/stub/rails_apps/1.2/empty/script/process/reaper +3 -0
  1040. data/test/stub/rails_apps/1.2/empty/script/process/spawner +3 -0
  1041. data/test/stub/rails_apps/1.2/empty/script/runner +3 -0
  1042. data/test/stub/rails_apps/1.2/empty/script/server +3 -0
  1043. data/test/stub/rails_apps/1.2/empty/test/test_helper.rb +28 -0
  1044. data/test/stub/rails_apps/2.0/empty/Rakefile +10 -0
  1045. data/test/stub/rails_apps/2.0/empty/app/controllers/application.rb +10 -0
  1046. data/test/stub/rails_apps/{mycook → 2.0/empty}/app/helpers/application_helper.rb +0 -0
  1047. data/test/stub/rails_apps/{foobar → 2.0/empty}/config/boot.rb +3 -3
  1048. data/test/stub/rails_apps/2.0/empty/config/database.yml +31 -0
  1049. data/test/stub/rails_apps/2.0/empty/config/environment.rb +59 -0
  1050. data/test/stub/rails_apps/{mycook → 2.0/empty}/config/environments/development.rb +1 -1
  1051. data/test/stub/rails_apps/2.0/empty/config/environments/production.rb +18 -0
  1052. data/test/stub/rails_apps/2.0/empty/config/environments/staging.rb +18 -0
  1053. data/test/stub/rails_apps/2.0/empty/config/environments/test.rb +22 -0
  1054. data/test/stub/rails_apps/{foobar → 2.0/empty}/config/initializers/inflections.rb +0 -0
  1055. data/test/stub/rails_apps/{foobar → 2.0/empty}/config/initializers/mime_types.rb +0 -0
  1056. data/test/stub/rails_apps/{foobar → 2.0/empty}/config/routes.rb +0 -0
  1057. data/test/stub/rails_apps/2.0/empty/doc/README_FOR_APP +2 -0
  1058. data/test/stub/rails_apps/2.0/empty/public/404.html +30 -0
  1059. data/test/stub/rails_apps/{mycook → 2.0/empty}/public/422.html +0 -0
  1060. data/test/stub/rails_apps/{mycook → 2.0/empty}/public/500.html +0 -0
  1061. data/test/stub/rails_apps/2.0/empty/public/dispatch.cgi +10 -0
  1062. data/test/stub/rails_apps/2.0/empty/public/dispatch.fcgi +24 -0
  1063. data/test/stub/rails_apps/2.0/empty/public/dispatch.rb +10 -0
  1064. data/test/stub/rails_apps/2.0/empty/public/favicon.ico +0 -0
  1065. data/test/stub/rails_apps/2.0/empty/public/images/rails.png +0 -0
  1066. data/test/stub/rails_apps/{mycook → 2.0/empty}/public/robots.txt +0 -0
  1067. data/test/stub/rails_apps/2.0/empty/script/about +3 -0
  1068. data/test/stub/rails_apps/2.0/empty/script/console +3 -0
  1069. data/test/stub/rails_apps/2.0/empty/script/destroy +3 -0
  1070. data/test/stub/rails_apps/2.0/empty/script/generate +3 -0
  1071. data/test/stub/rails_apps/2.0/empty/script/performance/benchmarker +3 -0
  1072. data/test/stub/rails_apps/2.0/empty/script/performance/profiler +3 -0
  1073. data/test/stub/rails_apps/2.0/empty/script/performance/request +3 -0
  1074. data/test/stub/rails_apps/2.0/empty/script/plugin +3 -0
  1075. data/test/stub/rails_apps/2.0/empty/script/process/inspector +3 -0
  1076. data/test/stub/rails_apps/2.0/empty/script/process/reaper +3 -0
  1077. data/test/stub/rails_apps/2.0/empty/script/process/spawner +3 -0
  1078. data/test/stub/rails_apps/2.0/empty/script/runner +3 -0
  1079. data/test/stub/rails_apps/2.0/empty/script/server +3 -0
  1080. data/test/stub/rails_apps/2.0/empty/test/test_helper.rb +38 -0
  1081. data/test/stub/rails_apps/2.2/empty/Rakefile +10 -0
  1082. data/test/stub/rails_apps/2.2/empty/app/controllers/application.rb +15 -0
  1083. data/test/stub/rails_apps/2.2/empty/app/helpers/application_helper.rb +3 -0
  1084. data/test/stub/rails_apps/2.2/empty/config/boot.rb +109 -0
  1085. data/test/stub/rails_apps/2.2/empty/config/database.yml +31 -0
  1086. data/test/stub/rails_apps/2.2/empty/config/environment.rb +75 -0
  1087. data/test/stub/rails_apps/{foobar → 2.2/empty}/config/environments/development.rb +0 -0
  1088. data/test/stub/rails_apps/2.2/empty/config/environments/production.rb +24 -0
  1089. data/test/stub/rails_apps/2.2/empty/config/environments/staging.rb +24 -0
  1090. data/test/stub/rails_apps/2.2/empty/config/environments/test.rb +22 -0
  1091. data/test/stub/rails_apps/2.2/empty/config/initializers/inflections.rb +10 -0
  1092. data/test/stub/rails_apps/{mycook → 2.2/empty}/config/initializers/mime_types.rb +0 -0
  1093. data/test/stub/rails_apps/2.2/empty/config/initializers/new_rails_defaults.rb +17 -0
  1094. data/test/stub/rails_apps/2.2/empty/config/locales/en.yml +5 -0
  1095. data/test/stub/rails_apps/2.2/empty/config/routes.rb +43 -0
  1096. data/test/stub/rails_apps/2.2/empty/doc/README_FOR_APP +5 -0
  1097. data/test/stub/rails_apps/2.2/empty/public/404.html +30 -0
  1098. data/test/stub/rails_apps/2.2/empty/public/422.html +30 -0
  1099. data/test/stub/rails_apps/2.2/empty/public/500.html +33 -0
  1100. data/test/stub/rails_apps/2.2/empty/public/dispatch.cgi +10 -0
  1101. data/test/stub/rails_apps/2.2/empty/public/dispatch.fcgi +24 -0
  1102. data/test/stub/rails_apps/2.2/empty/public/dispatch.rb +10 -0
  1103. data/test/stub/rails_apps/2.2/empty/public/favicon.ico +0 -0
  1104. data/test/stub/rails_apps/2.2/empty/public/images/rails.png +0 -0
  1105. data/test/stub/rails_apps/2.2/empty/public/robots.txt +5 -0
  1106. data/test/stub/rails_apps/2.2/empty/script/about +4 -0
  1107. data/test/stub/rails_apps/2.2/empty/script/console +3 -0
  1108. data/test/stub/rails_apps/2.2/empty/script/dbconsole +3 -0
  1109. data/test/stub/rails_apps/2.2/empty/script/destroy +3 -0
  1110. data/test/stub/rails_apps/2.2/empty/script/generate +3 -0
  1111. data/test/stub/rails_apps/2.2/empty/script/performance/benchmarker +3 -0
  1112. data/test/stub/rails_apps/2.2/empty/script/performance/profiler +3 -0
  1113. data/test/stub/rails_apps/2.2/empty/script/performance/request +3 -0
  1114. data/test/stub/rails_apps/2.2/empty/script/plugin +3 -0
  1115. data/test/stub/rails_apps/2.2/empty/script/process/inspector +3 -0
  1116. data/test/stub/rails_apps/2.2/empty/script/process/reaper +3 -0
  1117. data/test/stub/rails_apps/2.2/empty/script/process/spawner +3 -0
  1118. data/test/stub/rails_apps/2.2/empty/script/runner +3 -0
  1119. data/test/stub/rails_apps/2.2/empty/script/server +3 -0
  1120. data/test/stub/rails_apps/2.2/empty/test/performance/browsing_test.rb +9 -0
  1121. data/test/stub/rails_apps/2.2/empty/test/test_helper.rb +38 -0
  1122. data/test/stub/rails_apps/2.3/empty/Rakefile +10 -0
  1123. data/test/stub/rails_apps/2.3/empty/app/controllers/application_controller.rb +10 -0
  1124. data/test/stub/rails_apps/2.3/empty/app/helpers/application_helper.rb +3 -0
  1125. data/test/stub/rails_apps/2.3/empty/config/boot.rb +110 -0
  1126. data/test/stub/rails_apps/2.3/empty/config/database.yml +31 -0
  1127. data/test/stub/rails_apps/2.3/empty/config/environment.rb +41 -0
  1128. data/test/stub/rails_apps/2.3/empty/config/environments/development.rb +17 -0
  1129. data/test/stub/rails_apps/2.3/empty/config/environments/production.rb +28 -0
  1130. data/test/stub/rails_apps/2.3/empty/config/environments/staging.rb +28 -0
  1131. data/test/stub/rails_apps/2.3/empty/config/environments/test.rb +28 -0
  1132. data/test/stub/rails_apps/2.3/empty/config/initializers/backtrace_silencers.rb +7 -0
  1133. data/test/stub/rails_apps/2.3/empty/config/initializers/inflections.rb +10 -0
  1134. data/test/stub/rails_apps/2.3/empty/config/initializers/mime_types.rb +5 -0
  1135. data/test/stub/rails_apps/2.3/empty/config/initializers/new_rails_defaults.rb +21 -0
  1136. data/test/stub/rails_apps/2.3/empty/config/initializers/session_store.rb +15 -0
  1137. data/test/stub/rails_apps/2.3/empty/config/locales/en.yml +5 -0
  1138. data/test/stub/rails_apps/2.3/empty/config/routes.rb +43 -0
  1139. data/test/stub/rails_apps/2.3/empty/db/seeds.rb +7 -0
  1140. data/test/stub/rails_apps/2.3/empty/doc/README_FOR_APP +2 -0
  1141. data/test/stub/rails_apps/2.3/empty/public/404.html +30 -0
  1142. data/test/stub/rails_apps/2.3/empty/public/422.html +30 -0
  1143. data/test/stub/rails_apps/2.3/empty/public/500.html +30 -0
  1144. data/test/stub/rails_apps/2.3/empty/public/favicon.ico +0 -0
  1145. data/test/stub/rails_apps/2.3/empty/public/images/rails.png +0 -0
  1146. data/test/stub/rails_apps/2.3/empty/public/robots.txt +5 -0
  1147. data/test/stub/rails_apps/2.3/empty/script/about +4 -0
  1148. data/test/stub/rails_apps/2.3/empty/script/console +3 -0
  1149. data/test/stub/rails_apps/2.3/empty/script/dbconsole +3 -0
  1150. data/test/stub/rails_apps/2.3/empty/script/destroy +3 -0
  1151. data/test/stub/rails_apps/2.3/empty/script/generate +3 -0
  1152. data/test/stub/rails_apps/2.3/empty/script/performance/benchmarker +3 -0
  1153. data/test/stub/rails_apps/2.3/empty/script/performance/profiler +3 -0
  1154. data/test/stub/rails_apps/2.3/empty/script/plugin +3 -0
  1155. data/test/stub/rails_apps/2.3/empty/script/runner +3 -0
  1156. data/test/stub/rails_apps/2.3/empty/script/server +3 -0
  1157. data/test/stub/rails_apps/2.3/empty/test/performance/browsing_test.rb +9 -0
  1158. data/test/stub/rails_apps/2.3/empty/test/test_helper.rb +38 -0
  1159. data/test/stub/rails_apps/2.3/foobar/Rakefile +10 -0
  1160. data/test/stub/rails_apps/{foobar/app/controllers/application.rb → 2.3/foobar/app/controllers/application_controller.rb} +0 -0
  1161. data/test/stub/rails_apps/{foobar → 2.3/foobar}/app/controllers/bar_controller_1.rb +0 -0
  1162. data/test/stub/rails_apps/{foobar → 2.3/foobar}/app/controllers/bar_controller_2.rb +0 -0
  1163. data/test/stub/rails_apps/{foobar → 2.3/foobar}/app/controllers/foo_controller.rb +0 -0
  1164. data/test/stub/rails_apps/2.3/foobar/app/helpers/application_helper.rb +3 -0
  1165. data/test/stub/rails_apps/2.3/foobar/config/boot.rb +110 -0
  1166. data/test/stub/rails_apps/{foobar → 2.3/foobar}/config/database.yml +0 -0
  1167. data/test/stub/rails_apps/{foobar → 2.3/foobar}/config/environment.rb +1 -1
  1168. data/test/stub/rails_apps/2.3/foobar/config/environments/development.rb +17 -0
  1169. data/test/stub/rails_apps/2.3/foobar/config/environments/production.rb +18 -0
  1170. data/test/stub/rails_apps/2.3/foobar/config/environments/staging.rb +18 -0
  1171. data/test/stub/rails_apps/{mycook → 2.3/foobar}/config/initializers/inflections.rb +0 -0
  1172. data/test/stub/rails_apps/2.3/foobar/config/initializers/mime_types.rb +5 -0
  1173. data/test/stub/rails_apps/2.3/foobar/config/routes.rb +35 -0
  1174. data/test/stub/rails_apps/2.3/foobar/script/about +3 -0
  1175. data/test/stub/rails_apps/2.3/foobar/script/console +3 -0
  1176. data/test/stub/rails_apps/2.3/foobar/script/dbconsole +3 -0
  1177. data/test/stub/rails_apps/2.3/foobar/script/destroy +3 -0
  1178. data/test/stub/rails_apps/2.3/foobar/script/generate +3 -0
  1179. data/test/stub/rails_apps/2.3/foobar/script/performance/benchmarker +3 -0
  1180. data/test/stub/rails_apps/2.3/foobar/script/performance/profiler +3 -0
  1181. data/test/stub/rails_apps/2.3/foobar/script/performance/request +3 -0
  1182. data/test/stub/rails_apps/2.3/foobar/script/plugin +3 -0
  1183. data/test/stub/rails_apps/2.3/foobar/script/process/inspector +3 -0
  1184. data/test/stub/rails_apps/2.3/foobar/script/process/reaper +3 -0
  1185. data/test/stub/rails_apps/2.3/foobar/script/process/spawner +3 -0
  1186. data/test/stub/rails_apps/2.3/foobar/script/runner +3 -0
  1187. data/test/stub/rails_apps/2.3/foobar/script/server +3 -0
  1188. data/test/stub/rails_apps/2.3/mycook/Rakefile +10 -0
  1189. data/test/stub/rails_apps/{mycook/app/controllers/application.rb → 2.3/mycook/app/controllers/application_controller.rb} +0 -0
  1190. data/test/stub/rails_apps/{mycook → 2.3/mycook}/app/controllers/recipes_controller.rb +0 -0
  1191. data/test/stub/rails_apps/{mycook → 2.3/mycook}/app/controllers/uploads_controller.rb +0 -0
  1192. data/test/stub/rails_apps/{mycook → 2.3/mycook}/app/controllers/welcome_controller.rb +0 -0
  1193. data/test/stub/rails_apps/2.3/mycook/app/helpers/application_helper.rb +3 -0
  1194. data/test/stub/rails_apps/{mycook → 2.3/mycook}/app/views/layouts/default.rhtml +0 -0
  1195. data/test/stub/rails_apps/{mycook → 2.3/mycook}/app/views/recipes/create.rhtml +0 -0
  1196. data/test/stub/rails_apps/{mycook → 2.3/mycook}/app/views/recipes/index.rhtml +0 -0
  1197. data/test/stub/rails_apps/{mycook → 2.3/mycook}/app/views/recipes/new.rhtml +0 -0
  1198. data/test/stub/rails_apps/{mycook → 2.3/mycook}/app/views/uploads/index.rhtml +0 -0
  1199. data/test/stub/rails_apps/{mycook → 2.3/mycook}/app/views/uploads/new.html.erb +0 -0
  1200. data/test/stub/rails_apps/{mycook → 2.3/mycook}/app/views/welcome/cached.rhtml +0 -0
  1201. data/test/stub/rails_apps/{mycook → 2.3/mycook}/app/views/welcome/index.rhtml +0 -0
  1202. data/test/stub/rails_apps/2.3/mycook/config/boot.rb +110 -0
  1203. data/test/stub/rails_apps/{mycook → 2.3/mycook}/config/database.yml +0 -0
  1204. data/test/stub/rails_apps/{mycook → 2.3/mycook}/config/environment.rb +1 -1
  1205. data/test/stub/rails_apps/2.3/mycook/config/environments/development.rb +18 -0
  1206. data/test/stub/rails_apps/{mycook → 2.3/mycook}/config/environments/production.rb +0 -0
  1207. data/test/stub/rails_apps/2.3/mycook/config/initializers/inflections.rb +10 -0
  1208. data/test/stub/rails_apps/2.3/mycook/config/initializers/mime_types.rb +5 -0
  1209. data/test/stub/rails_apps/{mycook → 2.3/mycook}/config/routes.rb +0 -0
  1210. data/test/stub/rails_apps/{mycook → 2.3/mycook}/log/useless.txt +0 -0
  1211. data/test/stub/rails_apps/2.3/mycook/public/404.html +30 -0
  1212. data/test/stub/rails_apps/2.3/mycook/public/422.html +30 -0
  1213. data/test/stub/rails_apps/2.3/mycook/public/500.html +30 -0
  1214. data/test/stub/rails_apps/{mycook → 2.3/mycook}/public/dispatch.cgi +0 -0
  1215. data/test/stub/rails_apps/{mycook → 2.3/mycook}/public/dispatch.fcgi +0 -0
  1216. data/test/stub/rails_apps/{mycook → 2.3/mycook}/public/dispatch.rb +1 -1
  1217. data/test/stub/rails_apps/2.3/mycook/public/favicon.ico +0 -0
  1218. data/test/stub/rails_apps/{mycook → 2.3/mycook}/public/images/angrywizard.gif +0 -0
  1219. data/test/stub/rails_apps/{mycook → 2.3/mycook}/public/images/cookbook.gif +0 -0
  1220. data/test/stub/rails_apps/{mycook → 2.3/mycook}/public/images/header.png +0 -0
  1221. data/test/stub/rails_apps/2.3/mycook/public/images/rails.png +0 -0
  1222. data/test/stub/rails_apps/{mycook → 2.3/mycook}/public/javascripts/application.js +0 -0
  1223. data/test/stub/rails_apps/{mycook → 2.3/mycook}/public/javascripts/controls.js +73 -73
  1224. data/test/stub/rails_apps/{mycook → 2.3/mycook}/public/javascripts/dragdrop.js +166 -165
  1225. data/test/stub/rails_apps/{mycook → 2.3/mycook}/public/javascripts/effects.js +174 -166
  1226. data/test/stub/rails_apps/{mycook → 2.3/mycook}/public/javascripts/prototype.js +362 -267
  1227. data/test/stub/rails_apps/2.3/mycook/public/robots.txt +5 -0
  1228. data/test/stub/rails_apps/{mycook → 2.3/mycook}/public/uploads.html +0 -0
  1229. data/test/stub/rails_apps/{mycook → 2.3/mycook}/public/welcome/cached.html +0 -0
  1230. data/test/stub/rails_apps/2.3/mycook/script/about +3 -0
  1231. data/test/stub/rails_apps/2.3/mycook/script/console +3 -0
  1232. data/test/stub/rails_apps/2.3/mycook/script/dbconsole +3 -0
  1233. data/test/stub/rails_apps/2.3/mycook/script/destroy +3 -0
  1234. data/test/stub/rails_apps/2.3/mycook/script/generate +3 -0
  1235. data/test/stub/rails_apps/2.3/mycook/script/performance/benchmarker +3 -0
  1236. data/test/stub/rails_apps/2.3/mycook/script/performance/profiler +3 -0
  1237. data/test/stub/rails_apps/2.3/mycook/script/performance/request +3 -0
  1238. data/test/stub/rails_apps/2.3/mycook/script/plugin +3 -0
  1239. data/test/stub/rails_apps/2.3/mycook/script/process/inspector +3 -0
  1240. data/test/stub/rails_apps/2.3/mycook/script/process/reaper +3 -0
  1241. data/test/stub/rails_apps/2.3/mycook/script/process/spawner +3 -0
  1242. data/test/stub/rails_apps/2.3/mycook/script/runner +3 -0
  1243. data/test/stub/rails_apps/2.3/mycook/script/server +3 -0
  1244. data/test/stub/rails_apps/{mycook → 2.3/mycook}/sites/some.site/public/uploads.html +0 -0
  1245. data/test/stub/rails_apps/{mycook → 2.3/mycook}/sites/some.site/public/welcome/cached.html +0 -0
  1246. data/test/stub/rails_apps/{mycook → 2.3/mycook}/tmp/cache/useless.txt +0 -0
  1247. data/test/stub/rails_apps/{mycook → 2.3/mycook}/tmp/pids/useless.txt +0 -0
  1248. data/test/stub/rails_apps/{mycook → 2.3/mycook}/tmp/sessions/useless.txt +0 -0
  1249. data/test/stub/rails_apps/{mycook → 2.3/mycook}/tmp/sockets/useless.txt +0 -0
  1250. data/test/stub/rails_apps/3.0/empty/Gemfile +22 -0
  1251. data/test/stub/rails_apps/3.0/empty/Rakefile +10 -0
  1252. data/test/stub/rails_apps/3.0/empty/app/controllers/application_controller.rb +4 -0
  1253. data/test/stub/rails_apps/3.0/empty/app/helpers/application_helper.rb +2 -0
  1254. data/test/stub/rails_apps/3.0/empty/app/views/layouts/application.html.erb +14 -0
  1255. data/test/stub/rails_apps/3.0/empty/config.ru +4 -0
  1256. data/test/stub/rails_apps/3.0/empty/config/application.rb +48 -0
  1257. data/test/stub/rails_apps/3.0/empty/config/boot.rb +13 -0
  1258. data/test/stub/rails_apps/3.0/empty/config/database.yml +22 -0
  1259. data/test/stub/rails_apps/3.0/empty/config/environment.rb +5 -0
  1260. data/test/stub/rails_apps/3.0/empty/config/environments/development.rb +19 -0
  1261. data/test/stub/rails_apps/3.0/empty/config/environments/production.rb +48 -0
  1262. data/test/stub/rails_apps/3.0/empty/config/environments/test.rb +32 -0
  1263. data/test/stub/rails_apps/3.0/empty/config/initializers/backtrace_silencers.rb +7 -0
  1264. data/test/stub/rails_apps/3.0/empty/config/initializers/inflections.rb +10 -0
  1265. data/test/stub/rails_apps/3.0/empty/config/initializers/mime_types.rb +5 -0
  1266. data/test/stub/rails_apps/3.0/empty/config/initializers/passenger.rb +1 -0
  1267. data/test/stub/rails_apps/3.0/empty/config/initializers/secret_token.rb +7 -0
  1268. data/test/stub/rails_apps/3.0/empty/config/initializers/session_store.rb +8 -0
  1269. data/test/stub/rails_apps/3.0/empty/config/locales/en.yml +5 -0
  1270. data/test/stub/rails_apps/3.0/empty/config/routes.rb +58 -0
  1271. data/test/stub/rails_apps/3.0/empty/db/seeds.rb +7 -0
  1272. data/test/stub/rails_apps/3.0/empty/doc/README_FOR_APP +2 -0
  1273. data/test/stub/rails_apps/3.0/empty/log/development.log +3 -0
  1274. data/test/stub/rails_apps/3.0/empty/public/404.html +26 -0
  1275. data/test/stub/rails_apps/3.0/empty/public/422.html +26 -0
  1276. data/test/stub/rails_apps/3.0/empty/public/500.html +26 -0
  1277. data/test/stub/rails_apps/3.0/empty/public/favicon.ico +0 -0
  1278. data/test/stub/rails_apps/3.0/empty/public/index.html +279 -0
  1279. data/test/stub/rails_apps/3.0/empty/public/robots.txt +5 -0
  1280. data/test/stub/rails_apps/3.0/empty/script/rails +9 -0
  1281. data/test/stub/rails_apps/3.0/empty/test/performance/browsing_test.rb +9 -0
  1282. data/test/stub/rails_apps/3.0/empty/test/test_helper.rb +13 -0
  1283. data/test/stub/spawn_server.rb +4 -2
  1284. data/test/stub/vendor_rails/minimal/actionpack/lib/action_controller.rb +3 -0
  1285. data/test/stub/vendor_rails/minimal/railties/lib/initializer.rb +7 -2
  1286. data/test/support/apache2_controller.rb +10 -2
  1287. data/test/support/nginx_controller.rb +3 -2
  1288. data/test/support/test_helper.rb +282 -46
  1289. data/test/{support → tut}/tut.h +6 -0
  1290. data/test/{support → tut}/tut_reporter.h +0 -0
  1291. metadata +824 -266
  1292. data/benchmark/ApplicationPool.cpp +0 -52
  1293. data/benchmark/accept_vs_socketpair_vs_named_pipes.rb +0 -126
  1294. data/benchmark/dispatcher.rb +0 -42
  1295. data/benchmark/overhead_of_password_checking.rb +0 -81
  1296. data/benchmark/socket_connections_vs_persistent_pipe.rb +0 -99
  1297. data/benchmark/unix_sockets_vs_pipes.rb +0 -83
  1298. data/ext/boost/LICENSE.TXT +0 -23
  1299. data/ext/boost/VERSION.TXT +0 -1
  1300. data/ext/boost/detail/sp_counted_base.hpp +0 -81
  1301. data/ext/boost/src/pthread/exceptions.cpp +0 -146
  1302. data/ext/boost/src/win32/exceptions.cpp +0 -124
  1303. data/ext/boost/src/win32/thread.cpp +0 -629
  1304. data/ext/boost/src/win32/timeconv.inl +0 -130
  1305. data/ext/boost/src/win32/tss_dll.cpp +0 -72
  1306. data/ext/boost/src/win32/tss_pe.cpp +0 -269
  1307. data/ext/boost/thread/pthread/thread.hpp +0 -339
  1308. data/ext/boost/thread/pthread/tss.hpp +0 -103
  1309. data/ext/common/Application.h +0 -511
  1310. data/ext/common/ApplicationPoolServer.h +0 -794
  1311. data/ext/common/ApplicationPoolServerExecutable.cpp +0 -743
  1312. data/ext/common/ApplicationPoolStatusReporter.h +0 -336
  1313. data/ext/common/DummySpawnManager.h +0 -108
  1314. data/ext/common/StandardApplicationPool.h +0 -821
  1315. data/ext/common/SystemTime.h +0 -88
  1316. data/lib/phusion_passenger/admin_tools/control_process.rb +0 -150
  1317. data/lib/phusion_passenger/railz/application_spawner.rb +0 -463
  1318. data/lib/phusion_passenger/templates/invalid_app_root.html.erb +0 -9
  1319. data/test/ApplicationPoolServerTest.cpp +0 -114
  1320. data/test/ApplicationPoolServer_ApplicationPoolTest.cpp +0 -33
  1321. data/test/ApplicationPoolTest.cpp +0 -599
  1322. data/test/MessageChannelTest.cpp +0 -320
  1323. data/test/SpawnManagerTest.cpp +0 -64
  1324. data/test/StandardApplicationPoolTest.cpp +0 -27
  1325. data/test/StaticStringTest.cpp +0 -51
  1326. data/test/UtilsTest.cpp +0 -257
  1327. data/test/ruby/rails/application_spawner_spec.rb +0 -159
  1328. data/test/ruby/rails/framework_spawner_spec.rb +0 -133
  1329. data/test/ruby/rails/minimal_spawner_spec.rb +0 -93
  1330. data/test/ruby/rails/spawner_error_handling_spec.rb +0 -107
  1331. data/test/ruby/rails/spawner_privilege_lowering_spec.rb +0 -97
  1332. data/test/ruby/spawn_server_spec.rb +0 -26
  1333. data/test/stub/MessageServer.dSYM/Contents/Info.plist +0 -25
  1334. data/test/stub/MessageServer.dSYM/Contents/Resources/DWARF/MessageServer +0 -0
  1335. data/test/support/Support.cpp +0 -84
  1336. data/test/support/Support.h +0 -118
  1337. data/test/support/config.rb +0 -38
  1338. data/test/support/run_rspec_tests.rb +0 -10
@@ -0,0 +1,122 @@
1
+ /* config.h. Generated from config.h.in by configure. */
2
+ /* config.h.in. Generated from configure.ac by autoheader. */
3
+
4
+ /* Define to 1 if you have the `clock_gettime' function. */
5
+ /* #undef HAVE_CLOCK_GETTIME */
6
+
7
+ /* "use syscall interface for clock_gettime" */
8
+ /* #undef HAVE_CLOCK_SYSCALL */
9
+
10
+ /* Define to 1 if you have the <dlfcn.h> header file. */
11
+ #define HAVE_DLFCN_H 1
12
+
13
+ /* Define to 1 if you have the `epoll_ctl' function. */
14
+ /* #undef HAVE_EPOLL_CTL */
15
+
16
+ /* Define to 1 if you have the `eventfd' function. */
17
+ /* #undef HAVE_EVENTFD */
18
+
19
+ /* Define to 1 if you have the `inotify_init' function. */
20
+ /* #undef HAVE_INOTIFY_INIT */
21
+
22
+ /* Define to 1 if you have the <inttypes.h> header file. */
23
+ #define HAVE_INTTYPES_H 1
24
+
25
+ /* Define to 1 if you have the `kqueue' function. */
26
+ #define HAVE_KQUEUE 1
27
+
28
+ /* Define to 1 if you have the `m' library (-lm). */
29
+ #define HAVE_LIBM 1
30
+
31
+ /* Define to 1 if you have the `rt' library (-lrt). */
32
+ /* #undef HAVE_LIBRT */
33
+
34
+ /* Define to 1 if you have the <memory.h> header file. */
35
+ #define HAVE_MEMORY_H 1
36
+
37
+ /* Define to 1 if you have the `nanosleep' function. */
38
+ /* #undef HAVE_NANOSLEEP */
39
+
40
+ /* Define to 1 if you have the `poll' function. */
41
+ #define HAVE_POLL 1
42
+
43
+ /* Define to 1 if you have the <poll.h> header file. */
44
+ #define HAVE_POLL_H 1
45
+
46
+ /* Define to 1 if you have the `port_create' function. */
47
+ /* #undef HAVE_PORT_CREATE */
48
+
49
+ /* Define to 1 if you have the <port.h> header file. */
50
+ /* #undef HAVE_PORT_H */
51
+
52
+ /* Define to 1 if you have the `select' function. */
53
+ #define HAVE_SELECT 1
54
+
55
+ /* Define to 1 if you have the `signalfd' function. */
56
+ /* #undef HAVE_SIGNALFD */
57
+
58
+ /* Define to 1 if you have the <stdint.h> header file. */
59
+ #define HAVE_STDINT_H 1
60
+
61
+ /* Define to 1 if you have the <stdlib.h> header file. */
62
+ #define HAVE_STDLIB_H 1
63
+
64
+ /* Define to 1 if you have the <strings.h> header file. */
65
+ #define HAVE_STRINGS_H 1
66
+
67
+ /* Define to 1 if you have the <string.h> header file. */
68
+ #define HAVE_STRING_H 1
69
+
70
+ /* Define to 1 if you have the <sys/epoll.h> header file. */
71
+ /* #undef HAVE_SYS_EPOLL_H */
72
+
73
+ /* Define to 1 if you have the <sys/eventfd.h> header file. */
74
+ /* #undef HAVE_SYS_EVENTFD_H */
75
+
76
+ /* Define to 1 if you have the <sys/event.h> header file. */
77
+ #define HAVE_SYS_EVENT_H 1
78
+
79
+ /* Define to 1 if you have the <sys/inotify.h> header file. */
80
+ /* #undef HAVE_SYS_INOTIFY_H */
81
+
82
+ /* Define to 1 if you have the <sys/queue.h> header file. */
83
+ #define HAVE_SYS_QUEUE_H 1
84
+
85
+ /* Define to 1 if you have the <sys/select.h> header file. */
86
+ #define HAVE_SYS_SELECT_H 1
87
+
88
+ /* Define to 1 if you have the <sys/signalfd.h> header file. */
89
+ /* #undef HAVE_SYS_SIGNALFD_H */
90
+
91
+ /* Define to 1 if you have the <sys/stat.h> header file. */
92
+ #define HAVE_SYS_STAT_H 1
93
+
94
+ /* Define to 1 if you have the <sys/types.h> header file. */
95
+ #define HAVE_SYS_TYPES_H 1
96
+
97
+ /* Define to 1 if you have the <unistd.h> header file. */
98
+ #define HAVE_UNISTD_H 1
99
+
100
+ /* Name of package */
101
+ #define PACKAGE "libev"
102
+
103
+ /* Define to the address where bug reports for this package should be sent. */
104
+ #define PACKAGE_BUGREPORT ""
105
+
106
+ /* Define to the full name of this package. */
107
+ #define PACKAGE_NAME ""
108
+
109
+ /* Define to the full name and version of this package. */
110
+ #define PACKAGE_STRING ""
111
+
112
+ /* Define to the one symbol short name of this package. */
113
+ #define PACKAGE_TARNAME ""
114
+
115
+ /* Define to the version of this package. */
116
+ #define PACKAGE_VERSION ""
117
+
118
+ /* Define to 1 if you have the ANSI C header files. */
119
+ #define STDC_HEADERS 1
120
+
121
+ /* Version number of package */
122
+ #define VERSION "3.9"
@@ -0,0 +1,121 @@
1
+ /* config.h.in. Generated from configure.ac by autoheader. */
2
+
3
+ /* Define to 1 if you have the `clock_gettime' function. */
4
+ #undef HAVE_CLOCK_GETTIME
5
+
6
+ /* "use syscall interface for clock_gettime" */
7
+ #undef HAVE_CLOCK_SYSCALL
8
+
9
+ /* Define to 1 if you have the <dlfcn.h> header file. */
10
+ #undef HAVE_DLFCN_H
11
+
12
+ /* Define to 1 if you have the `epoll_ctl' function. */
13
+ #undef HAVE_EPOLL_CTL
14
+
15
+ /* Define to 1 if you have the `eventfd' function. */
16
+ #undef HAVE_EVENTFD
17
+
18
+ /* Define to 1 if you have the `inotify_init' function. */
19
+ #undef HAVE_INOTIFY_INIT
20
+
21
+ /* Define to 1 if you have the <inttypes.h> header file. */
22
+ #undef HAVE_INTTYPES_H
23
+
24
+ /* Define to 1 if you have the `kqueue' function. */
25
+ #undef HAVE_KQUEUE
26
+
27
+ /* Define to 1 if you have the `m' library (-lm). */
28
+ #undef HAVE_LIBM
29
+
30
+ /* Define to 1 if you have the `rt' library (-lrt). */
31
+ #undef HAVE_LIBRT
32
+
33
+ /* Define to 1 if you have the <memory.h> header file. */
34
+ #undef HAVE_MEMORY_H
35
+
36
+ /* Define to 1 if you have the `nanosleep' function. */
37
+ #undef HAVE_NANOSLEEP
38
+
39
+ /* Define to 1 if you have the `poll' function. */
40
+ #undef HAVE_POLL
41
+
42
+ /* Define to 1 if you have the <poll.h> header file. */
43
+ #undef HAVE_POLL_H
44
+
45
+ /* Define to 1 if you have the `port_create' function. */
46
+ #undef HAVE_PORT_CREATE
47
+
48
+ /* Define to 1 if you have the <port.h> header file. */
49
+ #undef HAVE_PORT_H
50
+
51
+ /* Define to 1 if you have the `select' function. */
52
+ #undef HAVE_SELECT
53
+
54
+ /* Define to 1 if you have the `signalfd' function. */
55
+ #undef HAVE_SIGNALFD
56
+
57
+ /* Define to 1 if you have the <stdint.h> header file. */
58
+ #undef HAVE_STDINT_H
59
+
60
+ /* Define to 1 if you have the <stdlib.h> header file. */
61
+ #undef HAVE_STDLIB_H
62
+
63
+ /* Define to 1 if you have the <strings.h> header file. */
64
+ #undef HAVE_STRINGS_H
65
+
66
+ /* Define to 1 if you have the <string.h> header file. */
67
+ #undef HAVE_STRING_H
68
+
69
+ /* Define to 1 if you have the <sys/epoll.h> header file. */
70
+ #undef HAVE_SYS_EPOLL_H
71
+
72
+ /* Define to 1 if you have the <sys/eventfd.h> header file. */
73
+ #undef HAVE_SYS_EVENTFD_H
74
+
75
+ /* Define to 1 if you have the <sys/event.h> header file. */
76
+ #undef HAVE_SYS_EVENT_H
77
+
78
+ /* Define to 1 if you have the <sys/inotify.h> header file. */
79
+ #undef HAVE_SYS_INOTIFY_H
80
+
81
+ /* Define to 1 if you have the <sys/queue.h> header file. */
82
+ #undef HAVE_SYS_QUEUE_H
83
+
84
+ /* Define to 1 if you have the <sys/select.h> header file. */
85
+ #undef HAVE_SYS_SELECT_H
86
+
87
+ /* Define to 1 if you have the <sys/signalfd.h> header file. */
88
+ #undef HAVE_SYS_SIGNALFD_H
89
+
90
+ /* Define to 1 if you have the <sys/stat.h> header file. */
91
+ #undef HAVE_SYS_STAT_H
92
+
93
+ /* Define to 1 if you have the <sys/types.h> header file. */
94
+ #undef HAVE_SYS_TYPES_H
95
+
96
+ /* Define to 1 if you have the <unistd.h> header file. */
97
+ #undef HAVE_UNISTD_H
98
+
99
+ /* Name of package */
100
+ #undef PACKAGE
101
+
102
+ /* Define to the address where bug reports for this package should be sent. */
103
+ #undef PACKAGE_BUGREPORT
104
+
105
+ /* Define to the full name of this package. */
106
+ #undef PACKAGE_NAME
107
+
108
+ /* Define to the full name and version of this package. */
109
+ #undef PACKAGE_STRING
110
+
111
+ /* Define to the one symbol short name of this package. */
112
+ #undef PACKAGE_TARNAME
113
+
114
+ /* Define to the version of this package. */
115
+ #undef PACKAGE_VERSION
116
+
117
+ /* Define to 1 if you have the ANSI C header files. */
118
+ #undef STDC_HEADERS
119
+
120
+ /* Version number of package */
121
+ #undef VERSION
@@ -0,0 +1,1658 @@
1
+ #! /bin/sh
2
+ # Configuration validation subroutine script.
3
+ # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
4
+ # 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008
5
+ # Free Software Foundation, Inc.
6
+
7
+ timestamp='2008-01-16'
8
+
9
+ # This file is (in principle) common to ALL GNU software.
10
+ # The presence of a machine in this file suggests that SOME GNU software
11
+ # can handle that machine. It does not imply ALL GNU software can.
12
+ #
13
+ # This file is free software; you can redistribute it and/or modify
14
+ # it under the terms of the GNU General Public License as published by
15
+ # the Free Software Foundation; either version 2 of the License, or
16
+ # (at your option) any later version.
17
+ #
18
+ # This program is distributed in the hope that it will be useful,
19
+ # but WITHOUT ANY WARRANTY; without even the implied warranty of
20
+ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21
+ # GNU General Public License for more details.
22
+ #
23
+ # You should have received a copy of the GNU General Public License
24
+ # along with this program; if not, write to the Free Software
25
+ # Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA
26
+ # 02110-1301, USA.
27
+ #
28
+ # As a special exception to the GNU General Public License, if you
29
+ # distribute this file as part of a program that contains a
30
+ # configuration script generated by Autoconf, you may include it under
31
+ # the same distribution terms that you use for the rest of that program.
32
+
33
+
34
+ # Please send patches to <config-patches@gnu.org>. Submit a context
35
+ # diff and a properly formatted ChangeLog entry.
36
+ #
37
+ # Configuration subroutine to validate and canonicalize a configuration type.
38
+ # Supply the specified configuration type as an argument.
39
+ # If it is invalid, we print an error message on stderr and exit with code 1.
40
+ # Otherwise, we print the canonical config type on stdout and succeed.
41
+
42
+ # This file is supposed to be the same for all GNU packages
43
+ # and recognize all the CPU types, system types and aliases
44
+ # that are meaningful with *any* GNU software.
45
+ # Each package is responsible for reporting which valid configurations
46
+ # it does not support. The user should be able to distinguish
47
+ # a failure to support a valid configuration from a meaningless
48
+ # configuration.
49
+
50
+ # The goal of this file is to map all the various variations of a given
51
+ # machine specification into a single specification in the form:
52
+ # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM
53
+ # or in some cases, the newer four-part form:
54
+ # CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM
55
+ # It is wrong to echo any other type of specification.
56
+
57
+ me=`echo "$0" | sed -e 's,.*/,,'`
58
+
59
+ usage="\
60
+ Usage: $0 [OPTION] CPU-MFR-OPSYS
61
+ $0 [OPTION] ALIAS
62
+
63
+ Canonicalize a configuration name.
64
+
65
+ Operation modes:
66
+ -h, --help print this help, then exit
67
+ -t, --time-stamp print date of last modification, then exit
68
+ -v, --version print version number, then exit
69
+
70
+ Report bugs and patches to <config-patches@gnu.org>."
71
+
72
+ version="\
73
+ GNU config.sub ($timestamp)
74
+
75
+ Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001,
76
+ 2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
77
+
78
+ This is free software; see the source for copying conditions. There is NO
79
+ warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
80
+
81
+ help="
82
+ Try \`$me --help' for more information."
83
+
84
+ # Parse command line
85
+ while test $# -gt 0 ; do
86
+ case $1 in
87
+ --time-stamp | --time* | -t )
88
+ echo "$timestamp" ; exit ;;
89
+ --version | -v )
90
+ echo "$version" ; exit ;;
91
+ --help | --h* | -h )
92
+ echo "$usage"; exit ;;
93
+ -- ) # Stop option processing
94
+ shift; break ;;
95
+ - ) # Use stdin as input.
96
+ break ;;
97
+ -* )
98
+ echo "$me: invalid option $1$help"
99
+ exit 1 ;;
100
+
101
+ *local*)
102
+ # First pass through any local machine types.
103
+ echo $1
104
+ exit ;;
105
+
106
+ * )
107
+ break ;;
108
+ esac
109
+ done
110
+
111
+ case $# in
112
+ 0) echo "$me: missing argument$help" >&2
113
+ exit 1;;
114
+ 1) ;;
115
+ *) echo "$me: too many arguments$help" >&2
116
+ exit 1;;
117
+ esac
118
+
119
+ # Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any).
120
+ # Here we must recognize all the valid KERNEL-OS combinations.
121
+ maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
122
+ case $maybe_os in
123
+ nto-qnx* | linux-gnu* | linux-dietlibc | linux-newlib* | linux-uclibc* | \
124
+ uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* | \
125
+ storm-chaos* | os2-emx* | rtmk-nova*)
126
+ os=-$maybe_os
127
+ basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
128
+ ;;
129
+ *)
130
+ basic_machine=`echo $1 | sed 's/-[^-]*$//'`
131
+ if [ $basic_machine != $1 ]
132
+ then os=`echo $1 | sed 's/.*-/-/'`
133
+ else os=; fi
134
+ ;;
135
+ esac
136
+
137
+ ### Let's recognize common machines as not being operating systems so
138
+ ### that things like config.sub decstation-3100 work. We also
139
+ ### recognize some manufacturers as not being operating systems, so we
140
+ ### can provide default operating systems below.
141
+ case $os in
142
+ -sun*os*)
143
+ # Prevent following clause from handling this invalid input.
144
+ ;;
145
+ -dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \
146
+ -att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \
147
+ -unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \
148
+ -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\
149
+ -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \
150
+ -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \
151
+ -apple | -axis | -knuth | -cray)
152
+ os=
153
+ basic_machine=$1
154
+ ;;
155
+ -sim | -cisco | -oki | -wec | -winbond)
156
+ os=
157
+ basic_machine=$1
158
+ ;;
159
+ -scout)
160
+ ;;
161
+ -wrs)
162
+ os=-vxworks
163
+ basic_machine=$1
164
+ ;;
165
+ -chorusos*)
166
+ os=-chorusos
167
+ basic_machine=$1
168
+ ;;
169
+ -chorusrdb)
170
+ os=-chorusrdb
171
+ basic_machine=$1
172
+ ;;
173
+ -hiux*)
174
+ os=-hiuxwe2
175
+ ;;
176
+ -sco6)
177
+ os=-sco5v6
178
+ basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
179
+ ;;
180
+ -sco5)
181
+ os=-sco3.2v5
182
+ basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
183
+ ;;
184
+ -sco4)
185
+ os=-sco3.2v4
186
+ basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
187
+ ;;
188
+ -sco3.2.[4-9]*)
189
+ os=`echo $os | sed -e 's/sco3.2./sco3.2v/'`
190
+ basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
191
+ ;;
192
+ -sco3.2v[4-9]*)
193
+ # Don't forget version if it is 3.2v4 or newer.
194
+ basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
195
+ ;;
196
+ -sco5v6*)
197
+ # Don't forget version if it is 3.2v4 or newer.
198
+ basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
199
+ ;;
200
+ -sco*)
201
+ os=-sco3.2v2
202
+ basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
203
+ ;;
204
+ -udk*)
205
+ basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
206
+ ;;
207
+ -isc)
208
+ os=-isc2.2
209
+ basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
210
+ ;;
211
+ -clix*)
212
+ basic_machine=clipper-intergraph
213
+ ;;
214
+ -isc*)
215
+ basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
216
+ ;;
217
+ -lynx*)
218
+ os=-lynxos
219
+ ;;
220
+ -ptx*)
221
+ basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'`
222
+ ;;
223
+ -windowsnt*)
224
+ os=`echo $os | sed -e 's/windowsnt/winnt/'`
225
+ ;;
226
+ -psos*)
227
+ os=-psos
228
+ ;;
229
+ -mint | -mint[0-9]*)
230
+ basic_machine=m68k-atari
231
+ os=-mint
232
+ ;;
233
+ esac
234
+
235
+ # Decode aliases for certain CPU-COMPANY combinations.
236
+ case $basic_machine in
237
+ # Recognize the basic CPU types without company name.
238
+ # Some are omitted here because they have special meanings below.
239
+ 1750a | 580 \
240
+ | a29k \
241
+ | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \
242
+ | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
243
+ | am33_2.0 \
244
+ | arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr | avr32 \
245
+ | bfin \
246
+ | c4x | clipper \
247
+ | d10v | d30v | dlx | dsp16xx \
248
+ | fido | fr30 | frv \
249
+ | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
250
+ | i370 | i860 | i960 | ia64 \
251
+ | ip2k | iq2000 \
252
+ | m32c | m32r | m32rle | m68000 | m68k | m88k \
253
+ | maxq | mb | microblaze | mcore | mep \
254
+ | mips | mipsbe | mipseb | mipsel | mipsle \
255
+ | mips16 \
256
+ | mips64 | mips64el \
257
+ | mips64vr | mips64vrel \
258
+ | mips64orion | mips64orionel \
259
+ | mips64vr4100 | mips64vr4100el \
260
+ | mips64vr4300 | mips64vr4300el \
261
+ | mips64vr5000 | mips64vr5000el \
262
+ | mips64vr5900 | mips64vr5900el \
263
+ | mipsisa32 | mipsisa32el \
264
+ | mipsisa32r2 | mipsisa32r2el \
265
+ | mipsisa64 | mipsisa64el \
266
+ | mipsisa64r2 | mipsisa64r2el \
267
+ | mipsisa64sb1 | mipsisa64sb1el \
268
+ | mipsisa64sr71k | mipsisa64sr71kel \
269
+ | mipstx39 | mipstx39el \
270
+ | mn10200 | mn10300 \
271
+ | mt \
272
+ | msp430 \
273
+ | nios | nios2 \
274
+ | ns16k | ns32k \
275
+ | or32 \
276
+ | pdp10 | pdp11 | pj | pjl \
277
+ | powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \
278
+ | pyramid \
279
+ | score \
280
+ | sh | sh[1234] | sh[24]a | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
281
+ | sh64 | sh64le \
282
+ | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \
283
+ | sparcv8 | sparcv9 | sparcv9b | sparcv9v \
284
+ | spu | strongarm \
285
+ | tahoe | thumb | tic4x | tic80 | tron \
286
+ | v850 | v850e \
287
+ | we32k \
288
+ | x86 | xc16x | xscale | xscalee[bl] | xstormy16 | xtensa \
289
+ | z8k)
290
+ basic_machine=$basic_machine-unknown
291
+ ;;
292
+ m6811 | m68hc11 | m6812 | m68hc12)
293
+ # Motorola 68HC11/12.
294
+ basic_machine=$basic_machine-unknown
295
+ os=-none
296
+ ;;
297
+ m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k)
298
+ ;;
299
+ ms1)
300
+ basic_machine=mt-unknown
301
+ ;;
302
+
303
+ # We use `pc' rather than `unknown'
304
+ # because (1) that's what they normally are, and
305
+ # (2) the word "unknown" tends to confuse beginning users.
306
+ i*86 | x86_64)
307
+ basic_machine=$basic_machine-pc
308
+ ;;
309
+ # Object if more than one company name word.
310
+ *-*-*)
311
+ echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
312
+ exit 1
313
+ ;;
314
+ # Recognize the basic CPU types with company name.
315
+ 580-* \
316
+ | a29k-* \
317
+ | alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \
318
+ | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \
319
+ | alphapca5[67]-* | alpha64pca5[67]-* | arc-* \
320
+ | arm-* | armbe-* | armle-* | armeb-* | armv*-* \
321
+ | avr-* | avr32-* \
322
+ | bfin-* | bs2000-* \
323
+ | c[123]* | c30-* | [cjt]90-* | c4x-* | c54x-* | c55x-* | c6x-* \
324
+ | clipper-* | craynv-* | cydra-* \
325
+ | d10v-* | d30v-* | dlx-* \
326
+ | elxsi-* \
327
+ | f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \
328
+ | h8300-* | h8500-* \
329
+ | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
330
+ | i*86-* | i860-* | i960-* | ia64-* \
331
+ | ip2k-* | iq2000-* \
332
+ | m32c-* | m32r-* | m32rle-* \
333
+ | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
334
+ | m88110-* | m88k-* | maxq-* | mcore-* \
335
+ | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \
336
+ | mips16-* \
337
+ | mips64-* | mips64el-* \
338
+ | mips64vr-* | mips64vrel-* \
339
+ | mips64orion-* | mips64orionel-* \
340
+ | mips64vr4100-* | mips64vr4100el-* \
341
+ | mips64vr4300-* | mips64vr4300el-* \
342
+ | mips64vr5000-* | mips64vr5000el-* \
343
+ | mips64vr5900-* | mips64vr5900el-* \
344
+ | mipsisa32-* | mipsisa32el-* \
345
+ | mipsisa32r2-* | mipsisa32r2el-* \
346
+ | mipsisa64-* | mipsisa64el-* \
347
+ | mipsisa64r2-* | mipsisa64r2el-* \
348
+ | mipsisa64sb1-* | mipsisa64sb1el-* \
349
+ | mipsisa64sr71k-* | mipsisa64sr71kel-* \
350
+ | mipstx39-* | mipstx39el-* \
351
+ | mmix-* \
352
+ | mt-* \
353
+ | msp430-* \
354
+ | nios-* | nios2-* \
355
+ | none-* | np1-* | ns16k-* | ns32k-* \
356
+ | orion-* \
357
+ | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
358
+ | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \
359
+ | pyramid-* \
360
+ | romp-* | rs6000-* \
361
+ | sh-* | sh[1234]-* | sh[24]a-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \
362
+ | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
363
+ | sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \
364
+ | sparclite-* \
365
+ | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | strongarm-* | sv1-* | sx?-* \
366
+ | tahoe-* | thumb-* \
367
+ | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \
368
+ | tron-* \
369
+ | v850-* | v850e-* | vax-* \
370
+ | we32k-* \
371
+ | x86-* | x86_64-* | xc16x-* | xps100-* | xscale-* | xscalee[bl]-* \
372
+ | xstormy16-* | xtensa*-* \
373
+ | ymp-* \
374
+ | z8k-*)
375
+ ;;
376
+ # Recognize the basic CPU types without company name, with glob match.
377
+ xtensa*)
378
+ basic_machine=$basic_machine-unknown
379
+ ;;
380
+ # Recognize the various machine names and aliases which stand
381
+ # for a CPU type and a company and sometimes even an OS.
382
+ 386bsd)
383
+ basic_machine=i386-unknown
384
+ os=-bsd
385
+ ;;
386
+ 3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc)
387
+ basic_machine=m68000-att
388
+ ;;
389
+ 3b*)
390
+ basic_machine=we32k-att
391
+ ;;
392
+ a29khif)
393
+ basic_machine=a29k-amd
394
+ os=-udi
395
+ ;;
396
+ abacus)
397
+ basic_machine=abacus-unknown
398
+ ;;
399
+ adobe68k)
400
+ basic_machine=m68010-adobe
401
+ os=-scout
402
+ ;;
403
+ alliant | fx80)
404
+ basic_machine=fx80-alliant
405
+ ;;
406
+ altos | altos3068)
407
+ basic_machine=m68k-altos
408
+ ;;
409
+ am29k)
410
+ basic_machine=a29k-none
411
+ os=-bsd
412
+ ;;
413
+ amd64)
414
+ basic_machine=x86_64-pc
415
+ ;;
416
+ amd64-*)
417
+ basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'`
418
+ ;;
419
+ amdahl)
420
+ basic_machine=580-amdahl
421
+ os=-sysv
422
+ ;;
423
+ amiga | amiga-*)
424
+ basic_machine=m68k-unknown
425
+ ;;
426
+ amigaos | amigados)
427
+ basic_machine=m68k-unknown
428
+ os=-amigaos
429
+ ;;
430
+ amigaunix | amix)
431
+ basic_machine=m68k-unknown
432
+ os=-sysv4
433
+ ;;
434
+ apollo68)
435
+ basic_machine=m68k-apollo
436
+ os=-sysv
437
+ ;;
438
+ apollo68bsd)
439
+ basic_machine=m68k-apollo
440
+ os=-bsd
441
+ ;;
442
+ aux)
443
+ basic_machine=m68k-apple
444
+ os=-aux
445
+ ;;
446
+ balance)
447
+ basic_machine=ns32k-sequent
448
+ os=-dynix
449
+ ;;
450
+ blackfin)
451
+ basic_machine=bfin-unknown
452
+ os=-linux
453
+ ;;
454
+ blackfin-*)
455
+ basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'`
456
+ os=-linux
457
+ ;;
458
+ c90)
459
+ basic_machine=c90-cray
460
+ os=-unicos
461
+ ;;
462
+ convex-c1)
463
+ basic_machine=c1-convex
464
+ os=-bsd
465
+ ;;
466
+ convex-c2)
467
+ basic_machine=c2-convex
468
+ os=-bsd
469
+ ;;
470
+ convex-c32)
471
+ basic_machine=c32-convex
472
+ os=-bsd
473
+ ;;
474
+ convex-c34)
475
+ basic_machine=c34-convex
476
+ os=-bsd
477
+ ;;
478
+ convex-c38)
479
+ basic_machine=c38-convex
480
+ os=-bsd
481
+ ;;
482
+ cray | j90)
483
+ basic_machine=j90-cray
484
+ os=-unicos
485
+ ;;
486
+ craynv)
487
+ basic_machine=craynv-cray
488
+ os=-unicosmp
489
+ ;;
490
+ cr16)
491
+ basic_machine=cr16-unknown
492
+ os=-elf
493
+ ;;
494
+ crds | unos)
495
+ basic_machine=m68k-crds
496
+ ;;
497
+ crisv32 | crisv32-* | etraxfs*)
498
+ basic_machine=crisv32-axis
499
+ ;;
500
+ cris | cris-* | etrax*)
501
+ basic_machine=cris-axis
502
+ ;;
503
+ crx)
504
+ basic_machine=crx-unknown
505
+ os=-elf
506
+ ;;
507
+ da30 | da30-*)
508
+ basic_machine=m68k-da30
509
+ ;;
510
+ decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn)
511
+ basic_machine=mips-dec
512
+ ;;
513
+ decsystem10* | dec10*)
514
+ basic_machine=pdp10-dec
515
+ os=-tops10
516
+ ;;
517
+ decsystem20* | dec20*)
518
+ basic_machine=pdp10-dec
519
+ os=-tops20
520
+ ;;
521
+ delta | 3300 | motorola-3300 | motorola-delta \
522
+ | 3300-motorola | delta-motorola)
523
+ basic_machine=m68k-motorola
524
+ ;;
525
+ delta88)
526
+ basic_machine=m88k-motorola
527
+ os=-sysv3
528
+ ;;
529
+ djgpp)
530
+ basic_machine=i586-pc
531
+ os=-msdosdjgpp
532
+ ;;
533
+ dpx20 | dpx20-*)
534
+ basic_machine=rs6000-bull
535
+ os=-bosx
536
+ ;;
537
+ dpx2* | dpx2*-bull)
538
+ basic_machine=m68k-bull
539
+ os=-sysv3
540
+ ;;
541
+ ebmon29k)
542
+ basic_machine=a29k-amd
543
+ os=-ebmon
544
+ ;;
545
+ elxsi)
546
+ basic_machine=elxsi-elxsi
547
+ os=-bsd
548
+ ;;
549
+ encore | umax | mmax)
550
+ basic_machine=ns32k-encore
551
+ ;;
552
+ es1800 | OSE68k | ose68k | ose | OSE)
553
+ basic_machine=m68k-ericsson
554
+ os=-ose
555
+ ;;
556
+ fx2800)
557
+ basic_machine=i860-alliant
558
+ ;;
559
+ genix)
560
+ basic_machine=ns32k-ns
561
+ ;;
562
+ gmicro)
563
+ basic_machine=tron-gmicro
564
+ os=-sysv
565
+ ;;
566
+ go32)
567
+ basic_machine=i386-pc
568
+ os=-go32
569
+ ;;
570
+ h3050r* | hiux*)
571
+ basic_machine=hppa1.1-hitachi
572
+ os=-hiuxwe2
573
+ ;;
574
+ h8300hms)
575
+ basic_machine=h8300-hitachi
576
+ os=-hms
577
+ ;;
578
+ h8300xray)
579
+ basic_machine=h8300-hitachi
580
+ os=-xray
581
+ ;;
582
+ h8500hms)
583
+ basic_machine=h8500-hitachi
584
+ os=-hms
585
+ ;;
586
+ harris)
587
+ basic_machine=m88k-harris
588
+ os=-sysv3
589
+ ;;
590
+ hp300-*)
591
+ basic_machine=m68k-hp
592
+ ;;
593
+ hp300bsd)
594
+ basic_machine=m68k-hp
595
+ os=-bsd
596
+ ;;
597
+ hp300hpux)
598
+ basic_machine=m68k-hp
599
+ os=-hpux
600
+ ;;
601
+ hp3k9[0-9][0-9] | hp9[0-9][0-9])
602
+ basic_machine=hppa1.0-hp
603
+ ;;
604
+ hp9k2[0-9][0-9] | hp9k31[0-9])
605
+ basic_machine=m68000-hp
606
+ ;;
607
+ hp9k3[2-9][0-9])
608
+ basic_machine=m68k-hp
609
+ ;;
610
+ hp9k6[0-9][0-9] | hp6[0-9][0-9])
611
+ basic_machine=hppa1.0-hp
612
+ ;;
613
+ hp9k7[0-79][0-9] | hp7[0-79][0-9])
614
+ basic_machine=hppa1.1-hp
615
+ ;;
616
+ hp9k78[0-9] | hp78[0-9])
617
+ # FIXME: really hppa2.0-hp
618
+ basic_machine=hppa1.1-hp
619
+ ;;
620
+ hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893)
621
+ # FIXME: really hppa2.0-hp
622
+ basic_machine=hppa1.1-hp
623
+ ;;
624
+ hp9k8[0-9][13679] | hp8[0-9][13679])
625
+ basic_machine=hppa1.1-hp
626
+ ;;
627
+ hp9k8[0-9][0-9] | hp8[0-9][0-9])
628
+ basic_machine=hppa1.0-hp
629
+ ;;
630
+ hppa-next)
631
+ os=-nextstep3
632
+ ;;
633
+ hppaosf)
634
+ basic_machine=hppa1.1-hp
635
+ os=-osf
636
+ ;;
637
+ hppro)
638
+ basic_machine=hppa1.1-hp
639
+ os=-proelf
640
+ ;;
641
+ i370-ibm* | ibm*)
642
+ basic_machine=i370-ibm
643
+ ;;
644
+ # I'm not sure what "Sysv32" means. Should this be sysv3.2?
645
+ i*86v32)
646
+ basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
647
+ os=-sysv32
648
+ ;;
649
+ i*86v4*)
650
+ basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
651
+ os=-sysv4
652
+ ;;
653
+ i*86v)
654
+ basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
655
+ os=-sysv
656
+ ;;
657
+ i*86sol2)
658
+ basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
659
+ os=-solaris2
660
+ ;;
661
+ i386mach)
662
+ basic_machine=i386-mach
663
+ os=-mach
664
+ ;;
665
+ i386-vsta | vsta)
666
+ basic_machine=i386-unknown
667
+ os=-vsta
668
+ ;;
669
+ iris | iris4d)
670
+ basic_machine=mips-sgi
671
+ case $os in
672
+ -irix*)
673
+ ;;
674
+ *)
675
+ os=-irix4
676
+ ;;
677
+ esac
678
+ ;;
679
+ isi68 | isi)
680
+ basic_machine=m68k-isi
681
+ os=-sysv
682
+ ;;
683
+ m68knommu)
684
+ basic_machine=m68k-unknown
685
+ os=-linux
686
+ ;;
687
+ m68knommu-*)
688
+ basic_machine=m68k-`echo $basic_machine | sed 's/^[^-]*-//'`
689
+ os=-linux
690
+ ;;
691
+ m88k-omron*)
692
+ basic_machine=m88k-omron
693
+ ;;
694
+ magnum | m3230)
695
+ basic_machine=mips-mips
696
+ os=-sysv
697
+ ;;
698
+ merlin)
699
+ basic_machine=ns32k-utek
700
+ os=-sysv
701
+ ;;
702
+ mingw32)
703
+ basic_machine=i386-pc
704
+ os=-mingw32
705
+ ;;
706
+ mingw32ce)
707
+ basic_machine=arm-unknown
708
+ os=-mingw32ce
709
+ ;;
710
+ miniframe)
711
+ basic_machine=m68000-convergent
712
+ ;;
713
+ *mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*)
714
+ basic_machine=m68k-atari
715
+ os=-mint
716
+ ;;
717
+ mips3*-*)
718
+ basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`
719
+ ;;
720
+ mips3*)
721
+ basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown
722
+ ;;
723
+ monitor)
724
+ basic_machine=m68k-rom68k
725
+ os=-coff
726
+ ;;
727
+ morphos)
728
+ basic_machine=powerpc-unknown
729
+ os=-morphos
730
+ ;;
731
+ msdos)
732
+ basic_machine=i386-pc
733
+ os=-msdos
734
+ ;;
735
+ ms1-*)
736
+ basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'`
737
+ ;;
738
+ mvs)
739
+ basic_machine=i370-ibm
740
+ os=-mvs
741
+ ;;
742
+ ncr3000)
743
+ basic_machine=i486-ncr
744
+ os=-sysv4
745
+ ;;
746
+ netbsd386)
747
+ basic_machine=i386-unknown
748
+ os=-netbsd
749
+ ;;
750
+ netwinder)
751
+ basic_machine=armv4l-rebel
752
+ os=-linux
753
+ ;;
754
+ news | news700 | news800 | news900)
755
+ basic_machine=m68k-sony
756
+ os=-newsos
757
+ ;;
758
+ news1000)
759
+ basic_machine=m68030-sony
760
+ os=-newsos
761
+ ;;
762
+ news-3600 | risc-news)
763
+ basic_machine=mips-sony
764
+ os=-newsos
765
+ ;;
766
+ necv70)
767
+ basic_machine=v70-nec
768
+ os=-sysv
769
+ ;;
770
+ next | m*-next )
771
+ basic_machine=m68k-next
772
+ case $os in
773
+ -nextstep* )
774
+ ;;
775
+ -ns2*)
776
+ os=-nextstep2
777
+ ;;
778
+ *)
779
+ os=-nextstep3
780
+ ;;
781
+ esac
782
+ ;;
783
+ nh3000)
784
+ basic_machine=m68k-harris
785
+ os=-cxux
786
+ ;;
787
+ nh[45]000)
788
+ basic_machine=m88k-harris
789
+ os=-cxux
790
+ ;;
791
+ nindy960)
792
+ basic_machine=i960-intel
793
+ os=-nindy
794
+ ;;
795
+ mon960)
796
+ basic_machine=i960-intel
797
+ os=-mon960
798
+ ;;
799
+ nonstopux)
800
+ basic_machine=mips-compaq
801
+ os=-nonstopux
802
+ ;;
803
+ np1)
804
+ basic_machine=np1-gould
805
+ ;;
806
+ nsr-tandem)
807
+ basic_machine=nsr-tandem
808
+ ;;
809
+ op50n-* | op60c-*)
810
+ basic_machine=hppa1.1-oki
811
+ os=-proelf
812
+ ;;
813
+ openrisc | openrisc-*)
814
+ basic_machine=or32-unknown
815
+ ;;
816
+ os400)
817
+ basic_machine=powerpc-ibm
818
+ os=-os400
819
+ ;;
820
+ OSE68000 | ose68000)
821
+ basic_machine=m68000-ericsson
822
+ os=-ose
823
+ ;;
824
+ os68k)
825
+ basic_machine=m68k-none
826
+ os=-os68k
827
+ ;;
828
+ pa-hitachi)
829
+ basic_machine=hppa1.1-hitachi
830
+ os=-hiuxwe2
831
+ ;;
832
+ paragon)
833
+ basic_machine=i860-intel
834
+ os=-osf
835
+ ;;
836
+ parisc)
837
+ basic_machine=hppa-unknown
838
+ os=-linux
839
+ ;;
840
+ parisc-*)
841
+ basic_machine=hppa-`echo $basic_machine | sed 's/^[^-]*-//'`
842
+ os=-linux
843
+ ;;
844
+ pbd)
845
+ basic_machine=sparc-tti
846
+ ;;
847
+ pbb)
848
+ basic_machine=m68k-tti
849
+ ;;
850
+ pc532 | pc532-*)
851
+ basic_machine=ns32k-pc532
852
+ ;;
853
+ pc98)
854
+ basic_machine=i386-pc
855
+ ;;
856
+ pc98-*)
857
+ basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'`
858
+ ;;
859
+ pentium | p5 | k5 | k6 | nexgen | viac3)
860
+ basic_machine=i586-pc
861
+ ;;
862
+ pentiumpro | p6 | 6x86 | athlon | athlon_*)
863
+ basic_machine=i686-pc
864
+ ;;
865
+ pentiumii | pentium2 | pentiumiii | pentium3)
866
+ basic_machine=i686-pc
867
+ ;;
868
+ pentium4)
869
+ basic_machine=i786-pc
870
+ ;;
871
+ pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*)
872
+ basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'`
873
+ ;;
874
+ pentiumpro-* | p6-* | 6x86-* | athlon-*)
875
+ basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
876
+ ;;
877
+ pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*)
878
+ basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
879
+ ;;
880
+ pentium4-*)
881
+ basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'`
882
+ ;;
883
+ pn)
884
+ basic_machine=pn-gould
885
+ ;;
886
+ power) basic_machine=power-ibm
887
+ ;;
888
+ ppc) basic_machine=powerpc-unknown
889
+ ;;
890
+ ppc-*) basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
891
+ ;;
892
+ ppcle | powerpclittle | ppc-le | powerpc-little)
893
+ basic_machine=powerpcle-unknown
894
+ ;;
895
+ ppcle-* | powerpclittle-*)
896
+ basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'`
897
+ ;;
898
+ ppc64) basic_machine=powerpc64-unknown
899
+ ;;
900
+ ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'`
901
+ ;;
902
+ ppc64le | powerpc64little | ppc64-le | powerpc64-little)
903
+ basic_machine=powerpc64le-unknown
904
+ ;;
905
+ ppc64le-* | powerpc64little-*)
906
+ basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'`
907
+ ;;
908
+ ps2)
909
+ basic_machine=i386-ibm
910
+ ;;
911
+ pw32)
912
+ basic_machine=i586-unknown
913
+ os=-pw32
914
+ ;;
915
+ rdos)
916
+ basic_machine=i386-pc
917
+ os=-rdos
918
+ ;;
919
+ rom68k)
920
+ basic_machine=m68k-rom68k
921
+ os=-coff
922
+ ;;
923
+ rm[46]00)
924
+ basic_machine=mips-siemens
925
+ ;;
926
+ rtpc | rtpc-*)
927
+ basic_machine=romp-ibm
928
+ ;;
929
+ s390 | s390-*)
930
+ basic_machine=s390-ibm
931
+ ;;
932
+ s390x | s390x-*)
933
+ basic_machine=s390x-ibm
934
+ ;;
935
+ sa29200)
936
+ basic_machine=a29k-amd
937
+ os=-udi
938
+ ;;
939
+ sb1)
940
+ basic_machine=mipsisa64sb1-unknown
941
+ ;;
942
+ sb1el)
943
+ basic_machine=mipsisa64sb1el-unknown
944
+ ;;
945
+ sde)
946
+ basic_machine=mipsisa32-sde
947
+ os=-elf
948
+ ;;
949
+ sei)
950
+ basic_machine=mips-sei
951
+ os=-seiux
952
+ ;;
953
+ sequent)
954
+ basic_machine=i386-sequent
955
+ ;;
956
+ sh)
957
+ basic_machine=sh-hitachi
958
+ os=-hms
959
+ ;;
960
+ sh5el)
961
+ basic_machine=sh5le-unknown
962
+ ;;
963
+ sh64)
964
+ basic_machine=sh64-unknown
965
+ ;;
966
+ sparclite-wrs | simso-wrs)
967
+ basic_machine=sparclite-wrs
968
+ os=-vxworks
969
+ ;;
970
+ sps7)
971
+ basic_machine=m68k-bull
972
+ os=-sysv2
973
+ ;;
974
+ spur)
975
+ basic_machine=spur-unknown
976
+ ;;
977
+ st2000)
978
+ basic_machine=m68k-tandem
979
+ ;;
980
+ stratus)
981
+ basic_machine=i860-stratus
982
+ os=-sysv4
983
+ ;;
984
+ sun2)
985
+ basic_machine=m68000-sun
986
+ ;;
987
+ sun2os3)
988
+ basic_machine=m68000-sun
989
+ os=-sunos3
990
+ ;;
991
+ sun2os4)
992
+ basic_machine=m68000-sun
993
+ os=-sunos4
994
+ ;;
995
+ sun3os3)
996
+ basic_machine=m68k-sun
997
+ os=-sunos3
998
+ ;;
999
+ sun3os4)
1000
+ basic_machine=m68k-sun
1001
+ os=-sunos4
1002
+ ;;
1003
+ sun4os3)
1004
+ basic_machine=sparc-sun
1005
+ os=-sunos3
1006
+ ;;
1007
+ sun4os4)
1008
+ basic_machine=sparc-sun
1009
+ os=-sunos4
1010
+ ;;
1011
+ sun4sol2)
1012
+ basic_machine=sparc-sun
1013
+ os=-solaris2
1014
+ ;;
1015
+ sun3 | sun3-*)
1016
+ basic_machine=m68k-sun
1017
+ ;;
1018
+ sun4)
1019
+ basic_machine=sparc-sun
1020
+ ;;
1021
+ sun386 | sun386i | roadrunner)
1022
+ basic_machine=i386-sun
1023
+ ;;
1024
+ sv1)
1025
+ basic_machine=sv1-cray
1026
+ os=-unicos
1027
+ ;;
1028
+ symmetry)
1029
+ basic_machine=i386-sequent
1030
+ os=-dynix
1031
+ ;;
1032
+ t3e)
1033
+ basic_machine=alphaev5-cray
1034
+ os=-unicos
1035
+ ;;
1036
+ t90)
1037
+ basic_machine=t90-cray
1038
+ os=-unicos
1039
+ ;;
1040
+ tic54x | c54x*)
1041
+ basic_machine=tic54x-unknown
1042
+ os=-coff
1043
+ ;;
1044
+ tic55x | c55x*)
1045
+ basic_machine=tic55x-unknown
1046
+ os=-coff
1047
+ ;;
1048
+ tic6x | c6x*)
1049
+ basic_machine=tic6x-unknown
1050
+ os=-coff
1051
+ ;;
1052
+ tile*)
1053
+ basic_machine=tile-unknown
1054
+ os=-linux-gnu
1055
+ ;;
1056
+ tx39)
1057
+ basic_machine=mipstx39-unknown
1058
+ ;;
1059
+ tx39el)
1060
+ basic_machine=mipstx39el-unknown
1061
+ ;;
1062
+ toad1)
1063
+ basic_machine=pdp10-xkl
1064
+ os=-tops20
1065
+ ;;
1066
+ tower | tower-32)
1067
+ basic_machine=m68k-ncr
1068
+ ;;
1069
+ tpf)
1070
+ basic_machine=s390x-ibm
1071
+ os=-tpf
1072
+ ;;
1073
+ udi29k)
1074
+ basic_machine=a29k-amd
1075
+ os=-udi
1076
+ ;;
1077
+ ultra3)
1078
+ basic_machine=a29k-nyu
1079
+ os=-sym1
1080
+ ;;
1081
+ v810 | necv810)
1082
+ basic_machine=v810-nec
1083
+ os=-none
1084
+ ;;
1085
+ vaxv)
1086
+ basic_machine=vax-dec
1087
+ os=-sysv
1088
+ ;;
1089
+ vms)
1090
+ basic_machine=vax-dec
1091
+ os=-vms
1092
+ ;;
1093
+ vpp*|vx|vx-*)
1094
+ basic_machine=f301-fujitsu
1095
+ ;;
1096
+ vxworks960)
1097
+ basic_machine=i960-wrs
1098
+ os=-vxworks
1099
+ ;;
1100
+ vxworks68)
1101
+ basic_machine=m68k-wrs
1102
+ os=-vxworks
1103
+ ;;
1104
+ vxworks29k)
1105
+ basic_machine=a29k-wrs
1106
+ os=-vxworks
1107
+ ;;
1108
+ w65*)
1109
+ basic_machine=w65-wdc
1110
+ os=-none
1111
+ ;;
1112
+ w89k-*)
1113
+ basic_machine=hppa1.1-winbond
1114
+ os=-proelf
1115
+ ;;
1116
+ xbox)
1117
+ basic_machine=i686-pc
1118
+ os=-mingw32
1119
+ ;;
1120
+ xps | xps100)
1121
+ basic_machine=xps100-honeywell
1122
+ ;;
1123
+ ymp)
1124
+ basic_machine=ymp-cray
1125
+ os=-unicos
1126
+ ;;
1127
+ z8k-*-coff)
1128
+ basic_machine=z8k-unknown
1129
+ os=-sim
1130
+ ;;
1131
+ none)
1132
+ basic_machine=none-none
1133
+ os=-none
1134
+ ;;
1135
+
1136
+ # Here we handle the default manufacturer of certain CPU types. It is in
1137
+ # some cases the only manufacturer, in others, it is the most popular.
1138
+ w89k)
1139
+ basic_machine=hppa1.1-winbond
1140
+ ;;
1141
+ op50n)
1142
+ basic_machine=hppa1.1-oki
1143
+ ;;
1144
+ op60c)
1145
+ basic_machine=hppa1.1-oki
1146
+ ;;
1147
+ romp)
1148
+ basic_machine=romp-ibm
1149
+ ;;
1150
+ mmix)
1151
+ basic_machine=mmix-knuth
1152
+ ;;
1153
+ rs6000)
1154
+ basic_machine=rs6000-ibm
1155
+ ;;
1156
+ vax)
1157
+ basic_machine=vax-dec
1158
+ ;;
1159
+ pdp10)
1160
+ # there are many clones, so DEC is not a safe bet
1161
+ basic_machine=pdp10-unknown
1162
+ ;;
1163
+ pdp11)
1164
+ basic_machine=pdp11-dec
1165
+ ;;
1166
+ we32k)
1167
+ basic_machine=we32k-att
1168
+ ;;
1169
+ sh[1234] | sh[24]a | sh[34]eb | sh[1234]le | sh[23]ele)
1170
+ basic_machine=sh-unknown
1171
+ ;;
1172
+ sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v)
1173
+ basic_machine=sparc-sun
1174
+ ;;
1175
+ cydra)
1176
+ basic_machine=cydra-cydrome
1177
+ ;;
1178
+ orion)
1179
+ basic_machine=orion-highlevel
1180
+ ;;
1181
+ orion105)
1182
+ basic_machine=clipper-highlevel
1183
+ ;;
1184
+ mac | mpw | mac-mpw)
1185
+ basic_machine=m68k-apple
1186
+ ;;
1187
+ pmac | pmac-mpw)
1188
+ basic_machine=powerpc-apple
1189
+ ;;
1190
+ *-unknown)
1191
+ # Make sure to match an already-canonicalized machine name.
1192
+ ;;
1193
+ *)
1194
+ echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
1195
+ exit 1
1196
+ ;;
1197
+ esac
1198
+
1199
+ # Here we canonicalize certain aliases for manufacturers.
1200
+ case $basic_machine in
1201
+ *-digital*)
1202
+ basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'`
1203
+ ;;
1204
+ *-commodore*)
1205
+ basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'`
1206
+ ;;
1207
+ *)
1208
+ ;;
1209
+ esac
1210
+
1211
+ # Decode manufacturer-specific aliases for certain operating systems.
1212
+
1213
+ if [ x"$os" != x"" ]
1214
+ then
1215
+ case $os in
1216
+ # First match some system type aliases
1217
+ # that might get confused with valid system types.
1218
+ # -solaris* is a basic system type, with this one exception.
1219
+ -solaris1 | -solaris1.*)
1220
+ os=`echo $os | sed -e 's|solaris1|sunos4|'`
1221
+ ;;
1222
+ -solaris)
1223
+ os=-solaris2
1224
+ ;;
1225
+ -svr4*)
1226
+ os=-sysv4
1227
+ ;;
1228
+ -unixware*)
1229
+ os=-sysv4.2uw
1230
+ ;;
1231
+ -gnu/linux*)
1232
+ os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'`
1233
+ ;;
1234
+ # First accept the basic system types.
1235
+ # The portable systems comes first.
1236
+ # Each alternative MUST END IN A *, to match a version number.
1237
+ # -sysv* is not here because it comes later, after sysvr4.
1238
+ -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
1239
+ | -*vms* | -sco* | -esix* | -isc* | -aix* | -sunos | -sunos[34]*\
1240
+ | -hpux* | -unos* | -osf* | -luna* | -dgux* | -solaris* | -sym* \
1241
+ | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
1242
+ | -aos* \
1243
+ | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
1244
+ | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
1245
+ | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \
1246
+ | -openbsd* | -solidbsd* \
1247
+ | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \
1248
+ | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
1249
+ | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
1250
+ | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
1251
+ | -chorusos* | -chorusrdb* \
1252
+ | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
1253
+ | -mingw32* | -linux-gnu* | -linux-newlib* | -linux-uclibc* \
1254
+ | -uxpv* | -beos* | -mpeix* | -udk* \
1255
+ | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
1256
+ | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
1257
+ | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \
1258
+ | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
1259
+ | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
1260
+ | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \
1261
+ | -skyos* | -haiku* | -rdos* | -toppers* | -drops*)
1262
+ # Remember, each alternative MUST END IN *, to match a version number.
1263
+ ;;
1264
+ -qnx*)
1265
+ case $basic_machine in
1266
+ x86-* | i*86-*)
1267
+ ;;
1268
+ *)
1269
+ os=-nto$os
1270
+ ;;
1271
+ esac
1272
+ ;;
1273
+ -nto-qnx*)
1274
+ ;;
1275
+ -nto*)
1276
+ os=`echo $os | sed -e 's|nto|nto-qnx|'`
1277
+ ;;
1278
+ -sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \
1279
+ | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \
1280
+ | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*)
1281
+ ;;
1282
+ -mac*)
1283
+ os=`echo $os | sed -e 's|mac|macos|'`
1284
+ ;;
1285
+ -linux-dietlibc)
1286
+ os=-linux-dietlibc
1287
+ ;;
1288
+ -linux*)
1289
+ os=`echo $os | sed -e 's|linux|linux-gnu|'`
1290
+ ;;
1291
+ -sunos5*)
1292
+ os=`echo $os | sed -e 's|sunos5|solaris2|'`
1293
+ ;;
1294
+ -sunos6*)
1295
+ os=`echo $os | sed -e 's|sunos6|solaris3|'`
1296
+ ;;
1297
+ -opened*)
1298
+ os=-openedition
1299
+ ;;
1300
+ -os400*)
1301
+ os=-os400
1302
+ ;;
1303
+ -wince*)
1304
+ os=-wince
1305
+ ;;
1306
+ -osfrose*)
1307
+ os=-osfrose
1308
+ ;;
1309
+ -osf*)
1310
+ os=-osf
1311
+ ;;
1312
+ -utek*)
1313
+ os=-bsd
1314
+ ;;
1315
+ -dynix*)
1316
+ os=-bsd
1317
+ ;;
1318
+ -acis*)
1319
+ os=-aos
1320
+ ;;
1321
+ -atheos*)
1322
+ os=-atheos
1323
+ ;;
1324
+ -syllable*)
1325
+ os=-syllable
1326
+ ;;
1327
+ -386bsd)
1328
+ os=-bsd
1329
+ ;;
1330
+ -ctix* | -uts*)
1331
+ os=-sysv
1332
+ ;;
1333
+ -nova*)
1334
+ os=-rtmk-nova
1335
+ ;;
1336
+ -ns2 )
1337
+ os=-nextstep2
1338
+ ;;
1339
+ -nsk*)
1340
+ os=-nsk
1341
+ ;;
1342
+ # Preserve the version number of sinix5.
1343
+ -sinix5.*)
1344
+ os=`echo $os | sed -e 's|sinix|sysv|'`
1345
+ ;;
1346
+ -sinix*)
1347
+ os=-sysv4
1348
+ ;;
1349
+ -tpf*)
1350
+ os=-tpf
1351
+ ;;
1352
+ -triton*)
1353
+ os=-sysv3
1354
+ ;;
1355
+ -oss*)
1356
+ os=-sysv3
1357
+ ;;
1358
+ -svr4)
1359
+ os=-sysv4
1360
+ ;;
1361
+ -svr3)
1362
+ os=-sysv3
1363
+ ;;
1364
+ -sysvr4)
1365
+ os=-sysv4
1366
+ ;;
1367
+ # This must come after -sysvr4.
1368
+ -sysv*)
1369
+ ;;
1370
+ -ose*)
1371
+ os=-ose
1372
+ ;;
1373
+ -es1800*)
1374
+ os=-ose
1375
+ ;;
1376
+ -xenix)
1377
+ os=-xenix
1378
+ ;;
1379
+ -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
1380
+ os=-mint
1381
+ ;;
1382
+ -aros*)
1383
+ os=-aros
1384
+ ;;
1385
+ -kaos*)
1386
+ os=-kaos
1387
+ ;;
1388
+ -zvmoe)
1389
+ os=-zvmoe
1390
+ ;;
1391
+ -none)
1392
+ ;;
1393
+ *)
1394
+ # Get rid of the `-' at the beginning of $os.
1395
+ os=`echo $os | sed 's/[^-]*-//'`
1396
+ echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2
1397
+ exit 1
1398
+ ;;
1399
+ esac
1400
+ else
1401
+
1402
+ # Here we handle the default operating systems that come with various machines.
1403
+ # The value should be what the vendor currently ships out the door with their
1404
+ # machine or put another way, the most popular os provided with the machine.
1405
+
1406
+ # Note that if you're going to try to match "-MANUFACTURER" here (say,
1407
+ # "-sun"), then you have to tell the case statement up towards the top
1408
+ # that MANUFACTURER isn't an operating system. Otherwise, code above
1409
+ # will signal an error saying that MANUFACTURER isn't an operating
1410
+ # system, and we'll never get to this point.
1411
+
1412
+ case $basic_machine in
1413
+ score-*)
1414
+ os=-elf
1415
+ ;;
1416
+ spu-*)
1417
+ os=-elf
1418
+ ;;
1419
+ *-acorn)
1420
+ os=-riscix1.2
1421
+ ;;
1422
+ arm*-rebel)
1423
+ os=-linux
1424
+ ;;
1425
+ arm*-semi)
1426
+ os=-aout
1427
+ ;;
1428
+ c4x-* | tic4x-*)
1429
+ os=-coff
1430
+ ;;
1431
+ # This must come before the *-dec entry.
1432
+ pdp10-*)
1433
+ os=-tops20
1434
+ ;;
1435
+ pdp11-*)
1436
+ os=-none
1437
+ ;;
1438
+ *-dec | vax-*)
1439
+ os=-ultrix4.2
1440
+ ;;
1441
+ m68*-apollo)
1442
+ os=-domain
1443
+ ;;
1444
+ i386-sun)
1445
+ os=-sunos4.0.2
1446
+ ;;
1447
+ m68000-sun)
1448
+ os=-sunos3
1449
+ # This also exists in the configure program, but was not the
1450
+ # default.
1451
+ # os=-sunos4
1452
+ ;;
1453
+ m68*-cisco)
1454
+ os=-aout
1455
+ ;;
1456
+ mep-*)
1457
+ os=-elf
1458
+ ;;
1459
+ mips*-cisco)
1460
+ os=-elf
1461
+ ;;
1462
+ mips*-*)
1463
+ os=-elf
1464
+ ;;
1465
+ or32-*)
1466
+ os=-coff
1467
+ ;;
1468
+ *-tti) # must be before sparc entry or we get the wrong os.
1469
+ os=-sysv3
1470
+ ;;
1471
+ sparc-* | *-sun)
1472
+ os=-sunos4.1.1
1473
+ ;;
1474
+ *-be)
1475
+ os=-beos
1476
+ ;;
1477
+ *-haiku)
1478
+ os=-haiku
1479
+ ;;
1480
+ *-ibm)
1481
+ os=-aix
1482
+ ;;
1483
+ *-knuth)
1484
+ os=-mmixware
1485
+ ;;
1486
+ *-wec)
1487
+ os=-proelf
1488
+ ;;
1489
+ *-winbond)
1490
+ os=-proelf
1491
+ ;;
1492
+ *-oki)
1493
+ os=-proelf
1494
+ ;;
1495
+ *-hp)
1496
+ os=-hpux
1497
+ ;;
1498
+ *-hitachi)
1499
+ os=-hiux
1500
+ ;;
1501
+ i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent)
1502
+ os=-sysv
1503
+ ;;
1504
+ *-cbm)
1505
+ os=-amigaos
1506
+ ;;
1507
+ *-dg)
1508
+ os=-dgux
1509
+ ;;
1510
+ *-dolphin)
1511
+ os=-sysv3
1512
+ ;;
1513
+ m68k-ccur)
1514
+ os=-rtu
1515
+ ;;
1516
+ m88k-omron*)
1517
+ os=-luna
1518
+ ;;
1519
+ *-next )
1520
+ os=-nextstep
1521
+ ;;
1522
+ *-sequent)
1523
+ os=-ptx
1524
+ ;;
1525
+ *-crds)
1526
+ os=-unos
1527
+ ;;
1528
+ *-ns)
1529
+ os=-genix
1530
+ ;;
1531
+ i370-*)
1532
+ os=-mvs
1533
+ ;;
1534
+ *-next)
1535
+ os=-nextstep3
1536
+ ;;
1537
+ *-gould)
1538
+ os=-sysv
1539
+ ;;
1540
+ *-highlevel)
1541
+ os=-bsd
1542
+ ;;
1543
+ *-encore)
1544
+ os=-bsd
1545
+ ;;
1546
+ *-sgi)
1547
+ os=-irix
1548
+ ;;
1549
+ *-siemens)
1550
+ os=-sysv4
1551
+ ;;
1552
+ *-masscomp)
1553
+ os=-rtu
1554
+ ;;
1555
+ f30[01]-fujitsu | f700-fujitsu)
1556
+ os=-uxpv
1557
+ ;;
1558
+ *-rom68k)
1559
+ os=-coff
1560
+ ;;
1561
+ *-*bug)
1562
+ os=-coff
1563
+ ;;
1564
+ *-apple)
1565
+ os=-macos
1566
+ ;;
1567
+ *-atari*)
1568
+ os=-mint
1569
+ ;;
1570
+ *)
1571
+ os=-none
1572
+ ;;
1573
+ esac
1574
+ fi
1575
+
1576
+ # Here we handle the case where we know the os, and the CPU type, but not the
1577
+ # manufacturer. We pick the logical manufacturer.
1578
+ vendor=unknown
1579
+ case $basic_machine in
1580
+ *-unknown)
1581
+ case $os in
1582
+ -riscix*)
1583
+ vendor=acorn
1584
+ ;;
1585
+ -sunos*)
1586
+ vendor=sun
1587
+ ;;
1588
+ -aix*)
1589
+ vendor=ibm
1590
+ ;;
1591
+ -beos*)
1592
+ vendor=be
1593
+ ;;
1594
+ -hpux*)
1595
+ vendor=hp
1596
+ ;;
1597
+ -mpeix*)
1598
+ vendor=hp
1599
+ ;;
1600
+ -hiux*)
1601
+ vendor=hitachi
1602
+ ;;
1603
+ -unos*)
1604
+ vendor=crds
1605
+ ;;
1606
+ -dgux*)
1607
+ vendor=dg
1608
+ ;;
1609
+ -luna*)
1610
+ vendor=omron
1611
+ ;;
1612
+ -genix*)
1613
+ vendor=ns
1614
+ ;;
1615
+ -mvs* | -opened*)
1616
+ vendor=ibm
1617
+ ;;
1618
+ -os400*)
1619
+ vendor=ibm
1620
+ ;;
1621
+ -ptx*)
1622
+ vendor=sequent
1623
+ ;;
1624
+ -tpf*)
1625
+ vendor=ibm
1626
+ ;;
1627
+ -vxsim* | -vxworks* | -windiss*)
1628
+ vendor=wrs
1629
+ ;;
1630
+ -aux*)
1631
+ vendor=apple
1632
+ ;;
1633
+ -hms*)
1634
+ vendor=hitachi
1635
+ ;;
1636
+ -mpw* | -macos*)
1637
+ vendor=apple
1638
+ ;;
1639
+ -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
1640
+ vendor=atari
1641
+ ;;
1642
+ -vos*)
1643
+ vendor=stratus
1644
+ ;;
1645
+ esac
1646
+ basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"`
1647
+ ;;
1648
+ esac
1649
+
1650
+ echo $basic_machine$os
1651
+ exit
1652
+
1653
+ # Local variables:
1654
+ # eval: (add-hook 'write-file-hooks 'time-stamp)
1655
+ # time-stamp-start: "timestamp='"
1656
+ # time-stamp-format: "%:y-%02m-%02d"
1657
+ # time-stamp-end: "'"
1658
+ # End: