passenger 1.0.5 → 2.0.1

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 (2123) hide show
  1. data/DEVELOPERS.TXT +33 -2
  2. data/INSTALL +4 -2
  3. data/LICENSE +11 -10
  4. data/README +23 -4
  5. data/Rakefile +179 -54
  6. data/benchmark/ApplicationPool.cpp +52 -0
  7. data/bin/passenger-config +18 -0
  8. data/bin/passenger-install-apache2-module +79 -14
  9. data/bin/passenger-make-enterprisey +14 -2
  10. data/bin/passenger-memory-stats +25 -2
  11. data/bin/passenger-spawn-server +20 -5
  12. data/bin/passenger-status +96 -0
  13. data/bin/passenger-stress-test +339 -0
  14. data/debian/compat +1 -0
  15. data/debian/control +21 -0
  16. data/debian/postinst +24 -0
  17. data/debian/prerm +2 -0
  18. data/doc/ApplicationPool algorithm.txt +66 -32
  19. data/doc/Architectural overview.html +1 -1
  20. data/doc/Security of user switching support.html +1 -1
  21. data/doc/Users guide.html +867 -243
  22. data/doc/Users guide.txt +830 -191
  23. data/doc/cxxapi/ApplicationPoolServer_8h-source.html +655 -524
  24. data/doc/cxxapi/ApplicationPool_8h-source.html +196 -173
  25. data/doc/cxxapi/Application_8h-source.html +430 -384
  26. data/doc/cxxapi/Configuration_8h-source.html +167 -132
  27. data/doc/cxxapi/DummySpawnManager_8h-source.html +110 -105
  28. data/doc/cxxapi/Exceptions_8h-source.html +229 -173
  29. data/doc/cxxapi/Hooks_8h-source.html +49 -44
  30. data/doc/cxxapi/Logging_8h-source.html +121 -88
  31. data/doc/cxxapi/MessageChannel_8h-source.html +501 -482
  32. data/doc/cxxapi/SpawnManager_8h-source.html +559 -518
  33. data/doc/cxxapi/StandardApplicationPool_8h-source.html +696 -537
  34. data/doc/cxxapi/System_8h-source.html +251 -0
  35. data/doc/cxxapi/Utils_8h-source.html +270 -163
  36. data/doc/cxxapi/annotated.html +40 -24
  37. data/doc/cxxapi/classClient-members.html +22 -17
  38. data/doc/cxxapi/classClient.html +22 -17
  39. data/doc/cxxapi/classDirectoryMapper-members.html +38 -0
  40. data/doc/cxxapi/classDirectoryMapper.html +203 -0
  41. data/doc/cxxapi/classHooks-members.html +33 -0
  42. data/doc/cxxapi/classHooks.html +43 -0
  43. data/doc/cxxapi/classPassenger_1_1Application-members.html +22 -17
  44. data/doc/cxxapi/classPassenger_1_1Application.html +38 -33
  45. data/doc/cxxapi/classPassenger_1_1ApplicationPool-members.html +24 -18
  46. data/doc/cxxapi/classPassenger_1_1ApplicationPool.html +94 -35
  47. data/doc/cxxapi/classPassenger_1_1ApplicationPoolServer-members.html +23 -18
  48. data/doc/cxxapi/classPassenger_1_1ApplicationPoolServer.html +53 -44
  49. data/doc/cxxapi/classPassenger_1_1ApplicationPool__inherit__graph.map +1 -1
  50. data/doc/cxxapi/classPassenger_1_1ApplicationPool__inherit__graph.md5 +1 -1
  51. data/doc/cxxapi/classPassenger_1_1ApplicationPool__inherit__graph.png +0 -0
  52. data/doc/cxxapi/classPassenger_1_1Application_1_1Session-members.html +28 -21
  53. data/doc/cxxapi/classPassenger_1_1Application_1_1Session.html +91 -56
  54. data/doc/cxxapi/classPassenger_1_1BusyException-members.html +33 -0
  55. data/doc/cxxapi/classPassenger_1_1BusyException.html +47 -0
  56. data/doc/cxxapi/classPassenger_1_1ConfigurationException-members.html +22 -17
  57. data/doc/cxxapi/classPassenger_1_1ConfigurationException.html +25 -22
  58. data/doc/cxxapi/classPassenger_1_1DummySpawnManager-members.html +22 -17
  59. data/doc/cxxapi/classPassenger_1_1DummySpawnManager.html +27 -22
  60. data/doc/cxxapi/classPassenger_1_1FileNotFoundException-members.html +22 -17
  61. data/doc/cxxapi/classPassenger_1_1FileNotFoundException.html +25 -20
  62. data/doc/cxxapi/classPassenger_1_1FileNotFoundException__inherit__graph.map +1 -1
  63. data/doc/cxxapi/classPassenger_1_1FileNotFoundException__inherit__graph.md5 +1 -1
  64. data/doc/cxxapi/classPassenger_1_1FileNotFoundException__inherit__graph.png +0 -0
  65. data/doc/cxxapi/classPassenger_1_1FileSystemException-members.html +38 -0
  66. data/doc/cxxapi/classPassenger_1_1FileSystemException.html +61 -0
  67. data/doc/cxxapi/classPassenger_1_1FileSystemException__inherit__graph.map +1 -0
  68. data/doc/cxxapi/classPassenger_1_1FileSystemException__inherit__graph.md5 +1 -0
  69. data/doc/cxxapi/classPassenger_1_1FileSystemException__inherit__graph.png +0 -0
  70. data/doc/cxxapi/classPassenger_1_1IOException-members.html +22 -17
  71. data/doc/cxxapi/classPassenger_1_1IOException.html +26 -21
  72. data/doc/cxxapi/classPassenger_1_1IOException__inherit__graph.map +1 -1
  73. data/doc/cxxapi/classPassenger_1_1IOException__inherit__graph.md5 +1 -1
  74. data/doc/cxxapi/classPassenger_1_1IOException__inherit__graph.png +0 -0
  75. data/doc/cxxapi/classPassenger_1_1MessageChannel-members.html +22 -17
  76. data/doc/cxxapi/classPassenger_1_1MessageChannel.html +44 -21
  77. data/doc/cxxapi/classPassenger_1_1SpawnException-members.html +22 -17
  78. data/doc/cxxapi/classPassenger_1_1SpawnException.html +26 -23
  79. data/doc/cxxapi/classPassenger_1_1SpawnManager-members.html +24 -19
  80. data/doc/cxxapi/classPassenger_1_1SpawnManager.html +64 -43
  81. data/doc/cxxapi/classPassenger_1_1StandardApplicationPool-members.html +26 -19
  82. data/doc/cxxapi/classPassenger_1_1StandardApplicationPool.html +89 -37
  83. data/doc/cxxapi/classPassenger_1_1StandardApplicationPool__inherit__graph.map +1 -1
  84. data/doc/cxxapi/classPassenger_1_1StandardApplicationPool__inherit__graph.md5 +1 -1
  85. data/doc/cxxapi/classPassenger_1_1StandardApplicationPool__inherit__graph.png +0 -0
  86. data/doc/cxxapi/classPassenger_1_1SystemException-members.html +22 -17
  87. data/doc/cxxapi/classPassenger_1_1SystemException.html +32 -22
  88. data/doc/cxxapi/classPassenger_1_1SystemException__inherit__graph.map +1 -0
  89. data/doc/cxxapi/classPassenger_1_1SystemException__inherit__graph.md5 +1 -0
  90. data/doc/cxxapi/classPassenger_1_1SystemException__inherit__graph.png +0 -0
  91. data/doc/cxxapi/classPassenger_1_1TempFile-members.html +36 -0
  92. data/doc/cxxapi/classPassenger_1_1TempFile.html +128 -0
  93. data/doc/cxxapi/classPassenger_1_1Thread-members.html +35 -0
  94. data/doc/cxxapi/classPassenger_1_1Thread.html +100 -0
  95. data/doc/cxxapi/classboost_1_1this__thread_1_1disable__syscall__interruption-members.html +33 -0
  96. data/doc/cxxapi/classboost_1_1this__thread_1_1disable__syscall__interruption.html +46 -0
  97. data/doc/cxxapi/classboost_1_1this__thread_1_1enable__syscall__interruption-members.html +33 -0
  98. data/doc/cxxapi/classboost_1_1this__thread_1_1enable__syscall__interruption.html +44 -0
  99. data/doc/cxxapi/classboost_1_1this__thread_1_1restore__syscall__interruption-members.html +33 -0
  100. data/doc/cxxapi/classboost_1_1this__thread_1_1restore__syscall__interruption.html +44 -0
  101. data/doc/cxxapi/definitions_8h-source.html +14 -11
  102. data/doc/cxxapi/doxygen.css +152 -77
  103. data/doc/cxxapi/files.html +18 -12
  104. data/doc/cxxapi/functions.html +107 -55
  105. data/doc/cxxapi/functions_func.html +104 -55
  106. data/doc/cxxapi/functions_type.html +30 -24
  107. data/doc/cxxapi/functions_vars.html +48 -0
  108. data/doc/cxxapi/graph_legend.dot +19 -19
  109. data/doc/cxxapi/graph_legend.html +15 -10
  110. data/doc/cxxapi/graph_legend.png +0 -0
  111. data/doc/cxxapi/group__Configuration.html +18 -13
  112. data/doc/cxxapi/group__Configuration.png +0 -0
  113. data/doc/cxxapi/group__Core.html +23 -11
  114. data/doc/cxxapi/group__Core.png +0 -0
  115. data/doc/cxxapi/group__Exceptions.html +21 -10
  116. data/doc/cxxapi/group__Hooks.html +16 -11
  117. data/doc/cxxapi/group__Hooks.png +0 -0
  118. data/doc/cxxapi/group__Support.html +169 -21
  119. data/doc/cxxapi/hierarchy.html +38 -22
  120. data/doc/cxxapi/index.html +1 -1
  121. data/doc/cxxapi/inherit__graph__0.map +1 -1
  122. data/doc/cxxapi/inherit__graph__0.md5 +1 -1
  123. data/doc/cxxapi/inherit__graph__0.png +0 -0
  124. data/doc/cxxapi/inherit__graph__1.map +1 -1
  125. data/doc/cxxapi/inherit__graph__1.md5 +1 -1
  126. data/doc/cxxapi/inherit__graph__1.png +0 -0
  127. data/doc/cxxapi/inherit__graph__10.map +1 -1
  128. data/doc/cxxapi/inherit__graph__10.md5 +1 -1
  129. data/doc/cxxapi/inherit__graph__10.png +0 -0
  130. data/doc/cxxapi/inherit__graph__11.map +1 -0
  131. data/doc/cxxapi/inherit__graph__11.md5 +1 -0
  132. data/doc/cxxapi/inherit__graph__11.png +0 -0
  133. data/doc/cxxapi/inherit__graph__12.map +1 -0
  134. data/doc/cxxapi/inherit__graph__12.md5 +1 -0
  135. data/doc/cxxapi/inherit__graph__12.png +0 -0
  136. data/doc/cxxapi/inherit__graph__13.map +1 -0
  137. data/doc/cxxapi/inherit__graph__13.md5 +1 -0
  138. data/doc/cxxapi/inherit__graph__13.png +0 -0
  139. data/doc/cxxapi/inherit__graph__14.map +2 -0
  140. data/doc/cxxapi/inherit__graph__14.md5 +1 -0
  141. data/doc/cxxapi/inherit__graph__14.png +0 -0
  142. data/doc/cxxapi/inherit__graph__15.map +1 -0
  143. data/doc/cxxapi/inherit__graph__15.md5 +1 -0
  144. data/doc/cxxapi/inherit__graph__15.png +0 -0
  145. data/doc/cxxapi/inherit__graph__16.map +1 -0
  146. data/doc/cxxapi/inherit__graph__16.md5 +1 -0
  147. data/doc/cxxapi/inherit__graph__16.png +0 -0
  148. data/doc/cxxapi/inherit__graph__17.map +1 -0
  149. data/doc/cxxapi/inherit__graph__17.md5 +1 -0
  150. data/doc/cxxapi/inherit__graph__17.png +0 -0
  151. data/doc/cxxapi/inherit__graph__2.map +1 -1
  152. data/doc/cxxapi/inherit__graph__2.md5 +1 -1
  153. data/doc/cxxapi/inherit__graph__2.png +0 -0
  154. data/doc/cxxapi/inherit__graph__3.map +1 -1
  155. data/doc/cxxapi/inherit__graph__3.md5 +1 -1
  156. data/doc/cxxapi/inherit__graph__3.png +0 -0
  157. data/doc/cxxapi/inherit__graph__4.map +1 -2
  158. data/doc/cxxapi/inherit__graph__4.md5 +1 -1
  159. data/doc/cxxapi/inherit__graph__4.png +0 -0
  160. data/doc/cxxapi/inherit__graph__5.map +1 -1
  161. data/doc/cxxapi/inherit__graph__5.md5 +1 -1
  162. data/doc/cxxapi/inherit__graph__5.png +0 -0
  163. data/doc/cxxapi/inherit__graph__6.map +1 -1
  164. data/doc/cxxapi/inherit__graph__6.md5 +1 -1
  165. data/doc/cxxapi/inherit__graph__6.png +0 -0
  166. data/doc/cxxapi/inherit__graph__7.map +1 -5
  167. data/doc/cxxapi/inherit__graph__7.md5 +1 -1
  168. data/doc/cxxapi/inherit__graph__7.png +0 -0
  169. data/doc/cxxapi/inherit__graph__8.map +1 -1
  170. data/doc/cxxapi/inherit__graph__8.md5 +1 -1
  171. data/doc/cxxapi/inherit__graph__8.png +0 -0
  172. data/doc/cxxapi/inherit__graph__9.map +2 -1
  173. data/doc/cxxapi/inherit__graph__9.md5 +1 -1
  174. data/doc/cxxapi/inherit__graph__9.png +0 -0
  175. data/doc/cxxapi/inherits.html +80 -39
  176. data/doc/cxxapi/main.html +15 -10
  177. data/doc/cxxapi/modules.html +16 -11
  178. data/doc/cxxapi/namespacePassenger.html +208 -0
  179. data/doc/cxxapi/namespacePassenger_1_1InterruptableCalls.html +43 -0
  180. data/doc/cxxapi/namespacemembers.html +70 -0
  181. data/doc/cxxapi/namespacemembers_func.html +66 -0
  182. data/doc/cxxapi/namespacemembers_type.html +46 -0
  183. data/doc/cxxapi/namespaces.html +35 -0
  184. data/doc/cxxapi/structPassenger_1_1AnythingToString-members.html +22 -17
  185. data/doc/cxxapi/structPassenger_1_1AnythingToString.html +24 -19
  186. data/doc/cxxapi/structPassenger_1_1AnythingToString_3_01vector_3_01string_01_4_01_4-members.html +23 -18
  187. data/doc/cxxapi/structPassenger_1_1AnythingToString_3_01vector_3_01string_01_4_01_4.html +27 -22
  188. data/doc/cxxapi/tabs.css +1 -1
  189. data/doc/cxxapi/tree.html +41 -13
  190. data/doc/rdoc/classes/ConditionVariable.html +25 -23
  191. data/doc/rdoc/classes/Exception.html +11 -11
  192. data/doc/rdoc/classes/GC.html +4 -4
  193. data/doc/rdoc/classes/IO.html +8 -8
  194. data/doc/rdoc/classes/Passenger.html +27 -8
  195. data/doc/rdoc/classes/Passenger/AbstractRequestHandler.html +401 -0
  196. data/doc/rdoc/classes/Passenger/AbstractServer.html +248 -208
  197. data/doc/rdoc/classes/Passenger/AppInitError.html +37 -6
  198. data/doc/rdoc/classes/Passenger/Application.html +73 -74
  199. data/doc/rdoc/classes/Passenger/ConsoleTextTemplate.html +35 -35
  200. data/doc/rdoc/classes/Passenger/FrameworkInitError.html +17 -18
  201. data/doc/rdoc/classes/Passenger/HTMLTemplate.html +30 -30
  202. data/doc/rdoc/classes/Passenger/InitializationError.html +11 -11
  203. data/doc/rdoc/classes/Passenger/MessageChannel.html +138 -138
  204. data/doc/rdoc/classes/Passenger/SpawnManager.html +142 -145
  205. data/doc/rdoc/classes/Passenger/UnknownError.html +11 -11
  206. data/doc/rdoc/classes/Passenger/Utils.html +327 -99
  207. data/doc/rdoc/classes/Passenger/VersionNotFound.html +6 -6
  208. data/doc/rdoc/classes/PlatformInfo.html +10 -10
  209. data/doc/rdoc/created.rid +1 -1
  210. data/doc/rdoc/files/DEVELOPERS_TXT.html +55 -3
  211. data/doc/rdoc/files/README.html +35 -5
  212. data/doc/rdoc/files/ext/passenger/native_support_c.html +1 -1
  213. data/doc/rdoc/files/lib/passenger/abstract_request_handler_rb.html +125 -0
  214. data/doc/rdoc/files/lib/passenger/abstract_server_rb.html +7 -1
  215. data/doc/rdoc/files/lib/passenger/application_rb.html +6 -2
  216. data/doc/rdoc/files/lib/passenger/console_text_template_rb.html +5 -1
  217. data/doc/rdoc/files/lib/passenger/constants_rb.html +114 -0
  218. data/doc/rdoc/files/lib/passenger/dependencies_rb.html +7 -1
  219. data/doc/rdoc/files/lib/passenger/exceptions_rb.html +118 -0
  220. data/doc/rdoc/files/lib/passenger/html_template_rb.html +5 -1
  221. data/doc/rdoc/files/lib/passenger/message_channel_rb.html +5 -5
  222. data/doc/rdoc/files/lib/passenger/platform_info_rb.html +5 -1
  223. data/doc/rdoc/files/lib/passenger/simple_benchmarking_rb.html +5 -1
  224. data/doc/rdoc/files/lib/passenger/spawn_manager_rb.html +19 -4
  225. data/doc/rdoc/files/lib/passenger/utils_rb.html +10 -3
  226. data/doc/rdoc/fr_class_index.html +1 -6
  227. data/doc/rdoc/fr_file_index.html +3 -4
  228. data/doc/rdoc/fr_method_index.html +55 -60
  229. data/ext/apache2/Application.h +105 -62
  230. data/ext/apache2/ApplicationPool.h +29 -9
  231. data/ext/apache2/ApplicationPoolServer.h +654 -0
  232. data/ext/apache2/ApplicationPoolServerExecutable.cpp +474 -0
  233. data/ext/apache2/Configuration.cpp +278 -63
  234. data/ext/apache2/Configuration.h +45 -13
  235. data/ext/apache2/DummySpawnManager.h +2 -0
  236. data/ext/apache2/Exceptions.h +53 -0
  237. data/ext/apache2/Hooks.cpp +484 -156
  238. data/ext/apache2/Hooks.h +2 -0
  239. data/ext/apache2/Logging.cpp +13 -1
  240. data/ext/apache2/Logging.h +36 -6
  241. data/ext/apache2/MessageChannel.h +32 -16
  242. data/ext/apache2/SpawnManager.h +90 -52
  243. data/ext/apache2/StandardApplicationPool.h +251 -95
  244. data/ext/apache2/System.cpp +232 -0
  245. data/ext/apache2/System.h +228 -0
  246. data/ext/apache2/Utils.cpp +80 -20
  247. data/ext/apache2/Utils.h +107 -3
  248. data/ext/apache2/mod_passenger.c +2 -0
  249. data/ext/boost/VERSION.TXT +1 -1
  250. data/ext/boost/algorithm/string/case_conv.hpp +176 -0
  251. data/ext/boost/algorithm/string/compare.hpp +199 -0
  252. data/ext/boost/algorithm/string/concept.hpp +83 -0
  253. data/ext/boost/algorithm/string/config.hpp +28 -0
  254. data/ext/boost/algorithm/string/constants.hpp +36 -0
  255. data/ext/boost/algorithm/string/detail/case_conv.hpp +112 -0
  256. data/ext/boost/algorithm/string/detail/find_format.hpp +193 -0
  257. data/ext/boost/algorithm/string/detail/find_format_all.hpp +263 -0
  258. data/ext/boost/algorithm/string/detail/find_format_store.hpp +71 -0
  259. data/ext/boost/algorithm/string/detail/finder.hpp +646 -0
  260. data/ext/boost/algorithm/string/detail/formatter.hpp +94 -0
  261. data/ext/boost/algorithm/string/detail/replace_storage.hpp +159 -0
  262. data/ext/boost/algorithm/string/detail/sequence.hpp +200 -0
  263. data/ext/boost/algorithm/string/detail/util.hpp +106 -0
  264. data/ext/boost/algorithm/string/erase.hpp +844 -0
  265. data/ext/boost/algorithm/string/find_format.hpp +269 -0
  266. data/ext/boost/algorithm/string/finder.hpp +270 -0
  267. data/ext/boost/algorithm/string/formatter.hpp +103 -0
  268. data/ext/boost/algorithm/string/replace.hpp +928 -0
  269. data/ext/boost/algorithm/string/sequence_traits.hpp +193 -0
  270. data/ext/boost/algorithm/string/yes_no_type.hpp +33 -0
  271. data/ext/boost/assert.hpp +50 -37
  272. data/ext/boost/bind.hpp +38 -0
  273. data/ext/boost/bind/arg.hpp +28 -2
  274. data/ext/boost/bind/bind_template.hpp +119 -0
  275. data/ext/boost/bind/placeholders.hpp +1 -1
  276. data/ext/boost/call_traits.hpp +24 -0
  277. data/ext/boost/checked_delete.hpp +69 -69
  278. data/ext/boost/concept/assert.hpp +46 -0
  279. data/ext/boost/concept/detail/concept_def.hpp +51 -0
  280. data/ext/boost/concept/detail/concept_undef.hpp +5 -0
  281. data/ext/boost/concept/detail/general.hpp +66 -0
  282. data/ext/boost/concept/detail/has_constraints.hpp +48 -0
  283. data/ext/boost/concept/usage.hpp +43 -0
  284. data/ext/boost/concept_check.hpp +988 -0
  285. data/ext/boost/config.hpp +70 -70
  286. data/ext/boost/config/abi/borland_prefix.hpp +27 -27
  287. data/ext/boost/config/abi/borland_suffix.hpp +12 -12
  288. data/ext/boost/config/abi/msvc_prefix.hpp +8 -8
  289. data/ext/boost/config/abi/msvc_suffix.hpp +8 -8
  290. data/ext/boost/config/abi_prefix.hpp +25 -20
  291. data/ext/boost/config/abi_suffix.hpp +26 -23
  292. data/ext/boost/config/auto_link.hpp +368 -363
  293. data/ext/boost/config/compiler/borland.hpp +209 -190
  294. data/ext/boost/config/compiler/comeau.hpp +59 -59
  295. data/ext/boost/config/compiler/common_edg.hpp +62 -62
  296. data/ext/boost/config/compiler/compaq_cxx.hpp +19 -19
  297. data/ext/boost/config/compiler/digitalmars.hpp +67 -49
  298. data/ext/boost/config/compiler/gcc.hpp +149 -105
  299. data/ext/boost/config/compiler/gcc_xml.hpp +30 -30
  300. data/ext/boost/config/compiler/greenhills.hpp +28 -28
  301. data/ext/boost/config/compiler/hp_acc.hpp +95 -72
  302. data/ext/boost/config/compiler/intel.hpp +162 -158
  303. data/ext/boost/config/compiler/kai.hpp +35 -35
  304. data/ext/boost/config/compiler/metrowerks.hpp +111 -104
  305. data/ext/boost/config/compiler/mpw.hpp +51 -51
  306. data/ext/boost/config/compiler/pgi.hpp +25 -0
  307. data/ext/boost/config/compiler/sgi_mipspro.hpp +28 -24
  308. data/ext/boost/config/compiler/sunpro_cc.hpp +98 -92
  309. data/ext/boost/config/compiler/vacpp.hpp +60 -57
  310. data/ext/boost/config/compiler/visualc.hpp +191 -178
  311. data/ext/boost/config/no_tr1/complex.hpp +28 -28
  312. data/ext/boost/config/no_tr1/functional.hpp +28 -28
  313. data/ext/boost/config/no_tr1/memory.hpp +28 -28
  314. data/ext/boost/config/no_tr1/utility.hpp +28 -28
  315. data/ext/boost/config/platform/aix.hpp +33 -33
  316. data/ext/boost/config/platform/amigaos.hpp +15 -15
  317. data/ext/boost/config/platform/beos.hpp +26 -26
  318. data/ext/boost/config/platform/bsd.hpp +73 -73
  319. data/ext/boost/config/platform/cygwin.hpp +51 -48
  320. data/ext/boost/config/platform/hpux.hpp +84 -85
  321. data/ext/boost/config/platform/irix.hpp +31 -31
  322. data/ext/boost/config/platform/linux.hpp +98 -98
  323. data/ext/boost/config/platform/macos.hpp +78 -78
  324. data/ext/boost/config/platform/qnxnto.hpp +31 -31
  325. data/ext/boost/config/platform/solaris.hpp +21 -21
  326. data/ext/boost/config/platform/win32.hpp +58 -58
  327. data/ext/boost/config/posix_features.hpp +95 -95
  328. data/ext/boost/config/requires_threads.hpp +92 -92
  329. data/ext/boost/config/select_compiler_config.hpp +115 -87
  330. data/ext/boost/config/select_platform_config.hpp +90 -90
  331. data/ext/boost/config/select_stdlib_config.hpp +68 -68
  332. data/ext/boost/config/stdlib/dinkumware.hpp +106 -106
  333. data/ext/boost/config/stdlib/libcomo.hpp +46 -46
  334. data/ext/boost/config/stdlib/libstdcpp3.hpp +73 -73
  335. data/ext/boost/config/stdlib/modena.hpp +30 -30
  336. data/ext/boost/config/stdlib/msl.hpp +59 -59
  337. data/ext/boost/config/stdlib/roguewave.hpp +153 -127
  338. data/ext/boost/config/stdlib/sgi.hpp +111 -111
  339. data/ext/boost/config/stdlib/stlport.hpp +201 -201
  340. data/ext/boost/config/stdlib/vacpp.hpp +18 -18
  341. data/ext/boost/config/suffix.hpp +566 -569
  342. data/ext/boost/config/user.hpp +124 -124
  343. data/ext/boost/cstdint.hpp +446 -446
  344. data/ext/boost/date_time/adjust_functors.hpp +178 -0
  345. data/ext/boost/date_time/c_time.hpp +91 -0
  346. data/ext/boost/date_time/compiler_config.hpp +149 -0
  347. data/ext/boost/date_time/constrained_value.hpp +98 -0
  348. data/ext/boost/date_time/date.hpp +197 -0
  349. data/ext/boost/date_time/date_clock_device.hpp +77 -0
  350. data/ext/boost/date_time/date_defs.hpp +26 -0
  351. data/ext/boost/date_time/date_duration.hpp +147 -0
  352. data/ext/boost/date_time/date_duration_types.hpp +269 -0
  353. data/ext/boost/date_time/date_facet.hpp +775 -0
  354. data/ext/boost/date_time/date_format_simple.hpp +159 -0
  355. data/ext/boost/date_time/date_formatting.hpp +127 -0
  356. data/ext/boost/date_time/date_formatting_limited.hpp +121 -0
  357. data/ext/boost/date_time/date_formatting_locales.hpp +233 -0
  358. data/ext/boost/date_time/date_generator_formatter.hpp +263 -0
  359. data/ext/boost/date_time/date_generator_parser.hpp +329 -0
  360. data/ext/boost/date_time/date_generators.hpp +509 -0
  361. data/ext/boost/date_time/date_iterator.hpp +101 -0
  362. data/ext/boost/date_time/date_names_put.hpp +320 -0
  363. data/ext/boost/date_time/date_parsing.hpp +299 -0
  364. data/ext/boost/date_time/dst_rules.hpp +391 -0
  365. data/ext/boost/date_time/filetime_functions.hpp +78 -0
  366. data/ext/boost/date_time/format_date_parser.hpp +731 -0
  367. data/ext/boost/date_time/gregorian/conversion.hpp +73 -0
  368. data/ext/boost/date_time/gregorian/formatters.hpp +162 -0
  369. data/ext/boost/date_time/gregorian/formatters_limited.hpp +81 -0
  370. data/ext/boost/date_time/gregorian/greg_calendar.hpp +47 -0
  371. data/ext/boost/date_time/gregorian/greg_date.hpp +135 -0
  372. data/ext/boost/date_time/gregorian/greg_day.hpp +57 -0
  373. data/ext/boost/date_time/gregorian/greg_day_of_year.hpp +38 -0
  374. data/ext/boost/date_time/gregorian/greg_duration.hpp +38 -0
  375. data/ext/boost/date_time/gregorian/greg_duration_types.hpp +34 -0
  376. data/ext/boost/date_time/gregorian/greg_month.hpp +105 -0
  377. data/ext/boost/date_time/gregorian/greg_weekday.hpp +66 -0
  378. data/ext/boost/date_time/gregorian/greg_year.hpp +53 -0
  379. data/ext/boost/date_time/gregorian/greg_ymd.hpp +33 -0
  380. data/ext/boost/date_time/gregorian/gregorian.hpp +38 -0
  381. data/ext/boost/date_time/gregorian/gregorian_io.hpp +777 -0
  382. data/ext/boost/date_time/gregorian/gregorian_types.hpp +109 -0
  383. data/ext/boost/date_time/gregorian/parsers.hpp +91 -0
  384. data/ext/boost/date_time/gregorian_calendar.hpp +70 -0
  385. data/ext/boost/date_time/gregorian_calendar.ipp +219 -0
  386. data/ext/boost/date_time/int_adapter.hpp +507 -0
  387. data/ext/boost/date_time/iso_format.hpp +303 -0
  388. data/ext/boost/date_time/locale_config.hpp +31 -0
  389. data/ext/boost/date_time/microsec_time_clock.hpp +205 -0
  390. data/ext/boost/date_time/parse_format_base.hpp +29 -0
  391. data/ext/boost/date_time/period.hpp +377 -0
  392. data/ext/boost/date_time/period_formatter.hpp +196 -0
  393. data/ext/boost/date_time/period_parser.hpp +196 -0
  394. data/ext/boost/date_time/posix_time/conversion.hpp +93 -0
  395. data/ext/boost/date_time/posix_time/date_duration_operators.hpp +114 -0
  396. data/ext/boost/date_time/posix_time/posix_time.hpp +39 -0
  397. data/ext/boost/date_time/posix_time/posix_time_config.hpp +178 -0
  398. data/ext/boost/date_time/posix_time/posix_time_duration.hpp +82 -0
  399. data/ext/boost/date_time/posix_time/posix_time_io.hpp +246 -0
  400. data/ext/boost/date_time/posix_time/posix_time_system.hpp +68 -0
  401. data/ext/boost/date_time/posix_time/posix_time_types.hpp +55 -0
  402. data/ext/boost/date_time/posix_time/ptime.hpp +65 -0
  403. data/ext/boost/date_time/posix_time/time_formatters.hpp +289 -0
  404. data/ext/boost/date_time/posix_time/time_parsers.hpp +44 -0
  405. data/ext/boost/date_time/posix_time/time_period.hpp +29 -0
  406. data/ext/boost/date_time/special_defs.hpp +25 -0
  407. data/ext/boost/date_time/special_values_formatter.hpp +96 -0
  408. data/ext/boost/date_time/special_values_parser.hpp +159 -0
  409. data/ext/boost/date_time/string_convert.hpp +33 -0
  410. data/ext/boost/date_time/string_parse_tree.hpp +278 -0
  411. data/ext/boost/date_time/strings_from_facet.hpp +123 -0
  412. data/ext/boost/date_time/time.hpp +190 -0
  413. data/ext/boost/date_time/time_clock.hpp +83 -0
  414. data/ext/boost/date_time/time_defs.hpp +33 -0
  415. data/ext/boost/date_time/time_duration.hpp +281 -0
  416. data/ext/boost/date_time/time_facet.hpp +1263 -0
  417. data/ext/boost/date_time/time_formatting_streams.hpp +119 -0
  418. data/ext/boost/date_time/time_iterator.hpp +52 -0
  419. data/ext/boost/date_time/time_parsing.hpp +321 -0
  420. data/ext/boost/date_time/time_resolution_traits.hpp +140 -0
  421. data/ext/boost/date_time/time_system_counted.hpp +254 -0
  422. data/ext/boost/date_time/time_system_split.hpp +213 -0
  423. data/ext/boost/date_time/wrapping_int.hpp +163 -0
  424. data/ext/boost/date_time/year_month_day.hpp +45 -0
  425. data/ext/boost/detail/atomic_count.hpp +124 -0
  426. data/ext/boost/detail/atomic_count_gcc.hpp +68 -0
  427. data/ext/boost/detail/atomic_count_gcc_x86.hpp +84 -0
  428. data/ext/boost/detail/atomic_count_pthreads.hpp +96 -0
  429. data/ext/boost/detail/atomic_count_solaris.hpp +59 -0
  430. data/ext/boost/detail/atomic_count_sync.hpp +57 -0
  431. data/ext/boost/detail/atomic_count_win32.hpp +63 -0
  432. data/ext/boost/detail/bad_weak_ptr.hpp +59 -59
  433. data/ext/boost/detail/call_traits.hpp +164 -0
  434. data/ext/boost/detail/endian.hpp +73 -0
  435. data/ext/boost/detail/indirect_traits.hpp +487 -0
  436. data/ext/boost/detail/iterator.hpp +494 -0
  437. data/ext/boost/detail/lcast_precision.hpp +184 -0
  438. data/ext/boost/detail/limits.hpp +449 -0
  439. data/ext/boost/detail/reference_content.hpp +141 -141
  440. data/ext/boost/detail/shared_count.hpp +375 -376
  441. data/ext/boost/detail/sp_counted_base.hpp +81 -69
  442. data/ext/boost/detail/sp_counted_base_acc_ia64.hpp +150 -0
  443. data/ext/boost/detail/sp_counted_base_cw_ppc.hpp +170 -170
  444. data/ext/boost/detail/sp_counted_base_cw_x86.hpp +158 -158
  445. data/ext/boost/detail/sp_counted_base_gcc_ia64.hpp +157 -157
  446. data/ext/boost/detail/sp_counted_base_gcc_ppc.hpp +181 -181
  447. data/ext/boost/detail/sp_counted_base_gcc_sparc.hpp +166 -0
  448. data/ext/boost/detail/sp_counted_base_gcc_x86.hpp +173 -173
  449. data/ext/boost/detail/sp_counted_base_nt.hpp +107 -107
  450. data/ext/boost/detail/sp_counted_base_pt.hpp +135 -135
  451. data/ext/boost/detail/sp_counted_base_solaris.hpp +113 -0
  452. data/ext/boost/detail/sp_counted_base_sync.hpp +151 -0
  453. data/ext/boost/detail/sp_counted_base_w32.hpp +130 -130
  454. data/ext/boost/detail/sp_counted_impl.hpp +231 -232
  455. data/ext/boost/detail/sp_typeinfo.hpp +83 -0
  456. data/ext/boost/detail/workaround.hpp +202 -74
  457. data/ext/boost/enable_shared_from_this.hpp +73 -0
  458. data/ext/boost/function.hpp +4 -2
  459. data/ext/boost/function/detail/prologue.hpp +1 -0
  460. data/ext/boost/function/function_base.hpp +41 -15
  461. data/ext/boost/function/function_template.hpp +238 -106
  462. data/ext/boost/implicit_cast.hpp +29 -0
  463. data/ext/boost/integer_traits.hpp +236 -0
  464. data/ext/boost/io/ios_state.hpp +431 -0
  465. data/ext/boost/io_fwd.hpp +67 -0
  466. data/ext/boost/is_placeholder.hpp +31 -0
  467. data/ext/boost/iterator.hpp +59 -0
  468. data/ext/boost/iterator/detail/config_def.hpp +135 -0
  469. data/ext/boost/iterator/detail/config_undef.hpp +25 -0
  470. data/ext/boost/iterator/detail/enable_if.hpp +86 -0
  471. data/ext/boost/iterator/detail/facade_iterator_category.hpp +200 -0
  472. data/ext/boost/iterator/detail/minimum_category.hpp +116 -0
  473. data/ext/boost/iterator/interoperable.hpp +50 -0
  474. data/ext/boost/iterator/iterator_adaptor.hpp +366 -0
  475. data/ext/boost/iterator/iterator_categories.hpp +188 -0
  476. data/ext/boost/iterator/iterator_facade.hpp +879 -0
  477. data/ext/boost/iterator/iterator_traits.hpp +92 -0
  478. data/ext/boost/iterator/reverse_iterator.hpp +69 -0
  479. data/ext/boost/iterator/transform_iterator.hpp +188 -0
  480. data/ext/boost/lexical_cast.hpp +1205 -0
  481. data/ext/boost/limits.hpp +146 -144
  482. data/ext/boost/mpl/always.hpp +39 -39
  483. data/ext/boost/mpl/and.hpp +60 -56
  484. data/ext/boost/mpl/apply.hpp +225 -225
  485. data/ext/boost/mpl/apply_fwd.hpp +107 -107
  486. data/ext/boost/mpl/apply_wrap.hpp +200 -200
  487. data/ext/boost/mpl/arg.hpp +131 -131
  488. data/ext/boost/mpl/arg_fwd.hpp +28 -28
  489. data/ext/boost/mpl/assert.hpp +370 -361
  490. data/ext/boost/mpl/aux_/adl_barrier.hpp +48 -48
  491. data/ext/boost/mpl/aux_/arg_typedef.hpp +31 -31
  492. data/ext/boost/mpl/aux_/arity.hpp +39 -39
  493. data/ext/boost/mpl/aux_/arity_spec.hpp +67 -67
  494. data/ext/boost/mpl/aux_/common_name_wknd.hpp +34 -34
  495. data/ext/boost/mpl/aux_/config/adl.hpp +40 -40
  496. data/ext/boost/mpl/aux_/config/arrays.hpp +30 -30
  497. data/ext/boost/mpl/aux_/config/bind.hpp +33 -33
  498. data/ext/boost/mpl/aux_/config/compiler.hpp +64 -64
  499. data/ext/boost/mpl/aux_/config/ctps.hpp +30 -30
  500. data/ext/boost/mpl/aux_/config/dtp.hpp +46 -46
  501. data/ext/boost/mpl/aux_/config/eti.hpp +47 -47
  502. data/ext/boost/mpl/aux_/config/gcc.hpp +23 -23
  503. data/ext/boost/mpl/aux_/config/has_apply.hpp +32 -32
  504. data/ext/boost/mpl/aux_/config/has_xxx.hpp +33 -33
  505. data/ext/boost/mpl/aux_/config/integral.hpp +38 -38
  506. data/ext/boost/mpl/aux_/config/intel.hpp +21 -21
  507. data/ext/boost/mpl/aux_/config/lambda.hpp +32 -32
  508. data/ext/boost/mpl/aux_/config/msvc.hpp +21 -21
  509. data/ext/boost/mpl/aux_/config/msvc_typename.hpp +26 -26
  510. data/ext/boost/mpl/aux_/config/nttp.hpp +41 -41
  511. data/ext/boost/mpl/aux_/config/overload_resolution.hpp +29 -29
  512. data/ext/boost/mpl/aux_/config/pp_counter.hpp +26 -0
  513. data/ext/boost/mpl/aux_/config/preprocessor.hpp +39 -39
  514. data/ext/boost/mpl/aux_/config/static_constant.hpp +25 -25
  515. data/ext/boost/mpl/aux_/config/ttp.hpp +41 -39
  516. data/ext/boost/mpl/aux_/config/use_preprocessed.hpp +19 -19
  517. data/ext/boost/mpl/aux_/config/workaround.hpp +19 -19
  518. data/ext/boost/mpl/aux_/full_lambda.hpp +350 -350
  519. data/ext/boost/mpl/aux_/has_apply.hpp +32 -32
  520. data/ext/boost/mpl/aux_/has_type.hpp +23 -23
  521. data/ext/boost/mpl/aux_/include_preprocessed.hpp +42 -42
  522. data/ext/boost/mpl/aux_/integral_wrapper.hpp +93 -93
  523. data/ext/boost/mpl/aux_/lambda_arity_param.hpp +25 -25
  524. data/ext/boost/mpl/aux_/lambda_support.hpp +169 -169
  525. data/ext/boost/mpl/aux_/msvc_never_true.hpp +34 -34
  526. data/ext/boost/mpl/aux_/na.hpp +95 -95
  527. data/ext/boost/mpl/aux_/na_assert.hpp +34 -34
  528. data/ext/boost/mpl/aux_/na_fwd.hpp +31 -31
  529. data/ext/boost/mpl/aux_/na_spec.hpp +175 -175
  530. data/ext/boost/mpl/aux_/nested_type_wknd.hpp +48 -48
  531. data/ext/boost/mpl/aux_/nttp_decl.hpp +35 -35
  532. data/ext/boost/mpl/aux_/preprocessed/gcc/and.hpp +69 -69
  533. data/ext/boost/mpl/aux_/preprocessed/gcc/apply.hpp +169 -169
  534. data/ext/boost/mpl/aux_/preprocessed/gcc/apply_fwd.hpp +52 -52
  535. data/ext/boost/mpl/aux_/preprocessed/gcc/apply_wrap.hpp +84 -84
  536. data/ext/boost/mpl/aux_/preprocessed/gcc/arg.hpp +123 -123
  537. data/ext/boost/mpl/aux_/preprocessed/gcc/bind.hpp +561 -561
  538. data/ext/boost/mpl/aux_/preprocessed/gcc/bind_fwd.hpp +52 -52
  539. data/ext/boost/mpl/aux_/preprocessed/gcc/full_lambda.hpp +558 -558
  540. data/ext/boost/mpl/aux_/preprocessed/gcc/or.hpp +69 -69
  541. data/ext/boost/mpl/aux_/preprocessed/gcc/placeholders.hpp +105 -105
  542. data/ext/boost/mpl/aux_/preprocessed/gcc/quote.hpp +123 -123
  543. data/ext/boost/mpl/aux_/preprocessed/gcc/template_arity.hpp +101 -101
  544. data/ext/boost/mpl/aux_/preprocessor/def_params_tail.hpp +105 -105
  545. data/ext/boost/mpl/aux_/preprocessor/enum.hpp +62 -62
  546. data/ext/boost/mpl/aux_/preprocessor/filter_params.hpp +28 -28
  547. data/ext/boost/mpl/aux_/preprocessor/params.hpp +65 -65
  548. data/ext/boost/mpl/aux_/preprocessor/sub.hpp +65 -65
  549. data/ext/boost/mpl/aux_/static_cast.hpp +27 -27
  550. data/ext/boost/mpl/aux_/template_arity.hpp +189 -189
  551. data/ext/boost/mpl/aux_/template_arity_fwd.hpp +23 -23
  552. data/ext/boost/mpl/aux_/type_wrapper.hpp +47 -47
  553. data/ext/boost/mpl/aux_/value_wknd.hpp +89 -89
  554. data/ext/boost/mpl/aux_/yes_no.hpp +58 -58
  555. data/ext/boost/mpl/bind.hpp +547 -547
  556. data/ext/boost/mpl/bind_fwd.hpp +99 -99
  557. data/ext/boost/mpl/bool.hpp +39 -39
  558. data/ext/boost/mpl/bool_fwd.hpp +33 -33
  559. data/ext/boost/mpl/eval_if.hpp +71 -71
  560. data/ext/boost/mpl/has_xxx.hpp +272 -233
  561. data/ext/boost/mpl/identity.hpp +45 -45
  562. data/ext/boost/mpl/if.hpp +135 -135
  563. data/ext/boost/mpl/int.hpp +22 -22
  564. data/ext/boost/mpl/int_fwd.hpp +27 -27
  565. data/ext/boost/mpl/integral_c.hpp +51 -51
  566. data/ext/boost/mpl/integral_c_fwd.hpp +32 -32
  567. data/ext/boost/mpl/integral_c_tag.hpp +26 -26
  568. data/ext/boost/mpl/lambda.hpp +29 -29
  569. data/ext/boost/mpl/lambda_fwd.hpp +57 -57
  570. data/ext/boost/mpl/limits/arity.hpp +21 -21
  571. data/ext/boost/mpl/logical.hpp +21 -21
  572. data/ext/boost/mpl/next.hpp +19 -19
  573. data/ext/boost/mpl/next_prior.hpp +49 -49
  574. data/ext/boost/mpl/not.hpp +51 -51
  575. data/ext/boost/mpl/or.hpp +61 -57
  576. data/ext/boost/mpl/placeholders.hpp +100 -100
  577. data/ext/boost/mpl/protect.hpp +55 -55
  578. data/ext/boost/mpl/quote.hpp +140 -140
  579. data/ext/boost/mpl/size_t.hpp +25 -25
  580. data/ext/boost/mpl/size_t_fwd.hpp +28 -28
  581. data/ext/boost/mpl/void.hpp +76 -76
  582. data/ext/boost/mpl/void_fwd.hpp +26 -26
  583. data/ext/boost/next_prior.hpp +51 -51
  584. data/ext/boost/noncopyable.hpp +36 -36
  585. data/ext/boost/none.hpp +28 -43
  586. data/ext/boost/none_t.hpp +24 -0
  587. data/ext/boost/operators.hpp +943 -0
  588. data/ext/boost/optional.hpp +18 -18
  589. data/ext/boost/optional/optional.hpp +922 -922
  590. data/ext/boost/optional/optional_fwd.hpp +22 -22
  591. data/ext/boost/preprocessor/arithmetic/add.hpp +51 -51
  592. data/ext/boost/preprocessor/arithmetic/dec.hpp +288 -288
  593. data/ext/boost/preprocessor/arithmetic/inc.hpp +288 -288
  594. data/ext/boost/preprocessor/arithmetic/sub.hpp +50 -50
  595. data/ext/boost/preprocessor/array/data.hpp +28 -28
  596. data/ext/boost/preprocessor/array/elem.hpp +29 -29
  597. data/ext/boost/preprocessor/array/size.hpp +28 -28
  598. data/ext/boost/preprocessor/cat.hpp +35 -35
  599. data/ext/boost/preprocessor/comma_if.hpp +17 -17
  600. data/ext/boost/preprocessor/config/config.hpp +70 -70
  601. data/ext/boost/preprocessor/control/detail/while.hpp +536 -536
  602. data/ext/boost/preprocessor/control/expr_iif.hpp +31 -31
  603. data/ext/boost/preprocessor/control/if.hpp +30 -30
  604. data/ext/boost/preprocessor/control/iif.hpp +34 -34
  605. data/ext/boost/preprocessor/control/while.hpp +312 -312
  606. data/ext/boost/preprocessor/debug/error.hpp +33 -33
  607. data/ext/boost/preprocessor/detail/auto_rec.hpp +293 -293
  608. data/ext/boost/preprocessor/detail/check.hpp +48 -48
  609. data/ext/boost/preprocessor/detail/is_binary.hpp +30 -30
  610. data/ext/boost/preprocessor/empty.hpp +17 -17
  611. data/ext/boost/preprocessor/enum.hpp +17 -17
  612. data/ext/boost/preprocessor/enum_params.hpp +17 -17
  613. data/ext/boost/preprocessor/facilities/empty.hpp +21 -21
  614. data/ext/boost/preprocessor/facilities/identity.hpp +23 -23
  615. data/ext/boost/preprocessor/identity.hpp +17 -17
  616. data/ext/boost/preprocessor/inc.hpp +17 -17
  617. data/ext/boost/preprocessor/iterate.hpp +17 -17
  618. data/ext/boost/preprocessor/iteration/detail/bounds/lower1.hpp +99 -99
  619. data/ext/boost/preprocessor/iteration/detail/bounds/upper1.hpp +99 -99
  620. data/ext/boost/preprocessor/iteration/detail/iter/forward1.hpp +1342 -1342
  621. data/ext/boost/preprocessor/iteration/iterate.hpp +82 -82
  622. data/ext/boost/preprocessor/list/adt.hpp +73 -73
  623. data/ext/boost/preprocessor/list/append.hpp +40 -40
  624. data/ext/boost/preprocessor/list/detail/fold_left.hpp +279 -279
  625. data/ext/boost/preprocessor/list/detail/fold_right.hpp +277 -277
  626. data/ext/boost/preprocessor/list/fold_left.hpp +303 -303
  627. data/ext/boost/preprocessor/list/fold_right.hpp +40 -40
  628. data/ext/boost/preprocessor/list/for_each_i.hpp +65 -65
  629. data/ext/boost/preprocessor/list/reverse.hpp +40 -40
  630. data/ext/boost/preprocessor/list/transform.hpp +49 -49
  631. data/ext/boost/preprocessor/logical/and.hpp +30 -30
  632. data/ext/boost/preprocessor/logical/bitand.hpp +38 -38
  633. data/ext/boost/preprocessor/logical/bool.hpp +288 -288
  634. data/ext/boost/preprocessor/logical/compl.hpp +36 -36
  635. data/ext/boost/preprocessor/punctuation/comma.hpp +21 -21
  636. data/ext/boost/preprocessor/punctuation/comma_if.hpp +31 -31
  637. data/ext/boost/preprocessor/repeat.hpp +17 -17
  638. data/ext/boost/preprocessor/repetition/detail/for.hpp +536 -536
  639. data/ext/boost/preprocessor/repetition/enum.hpp +66 -66
  640. data/ext/boost/preprocessor/repetition/enum_binary_params.hpp +54 -54
  641. data/ext/boost/preprocessor/repetition/enum_params.hpp +41 -41
  642. data/ext/boost/preprocessor/repetition/for.hpp +306 -306
  643. data/ext/boost/preprocessor/repetition/repeat.hpp +825 -825
  644. data/ext/boost/preprocessor/repetition/repeat_from_to.hpp +87 -87
  645. data/ext/boost/preprocessor/seq/elem.hpp +304 -304
  646. data/ext/boost/preprocessor/seq/enum.hpp +288 -288
  647. data/ext/boost/preprocessor/seq/for_each_i.hpp +61 -61
  648. data/ext/boost/preprocessor/seq/seq.hpp +44 -44
  649. data/ext/boost/preprocessor/seq/size.hpp +548 -548
  650. data/ext/boost/preprocessor/slot/detail/def.hpp +49 -49
  651. data/ext/boost/preprocessor/slot/detail/shared.hpp +247 -247
  652. data/ext/boost/preprocessor/slot/slot.hpp +32 -32
  653. data/ext/boost/preprocessor/stringize.hpp +33 -33
  654. data/ext/boost/preprocessor/tuple/eat.hpp +57 -57
  655. data/ext/boost/preprocessor/tuple/elem.hpp +385 -385
  656. data/ext/boost/preprocessor/tuple/rem.hpp +72 -72
  657. data/ext/boost/preprocessor/tuple/to_list.hpp +62 -62
  658. data/ext/boost/range/as_literal.hpp +131 -0
  659. data/ext/boost/range/begin.hpp +132 -0
  660. data/ext/boost/range/config.hpp +54 -0
  661. data/ext/boost/range/const_iterator.hpp +64 -0
  662. data/ext/boost/range/detail/common.hpp +117 -0
  663. data/ext/boost/range/detail/implementation_help.hpp +99 -0
  664. data/ext/boost/range/detail/sfinae.hpp +77 -0
  665. data/ext/boost/range/detail/str_types.hpp +38 -0
  666. data/ext/boost/range/difference_type.hpp +29 -0
  667. data/ext/boost/range/distance.hpp +34 -0
  668. data/ext/boost/range/empty.hpp +34 -0
  669. data/ext/boost/range/end.hpp +131 -0
  670. data/ext/boost/range/functions.hpp +27 -0
  671. data/ext/boost/range/iterator.hpp +72 -0
  672. data/ext/boost/range/iterator_range.hpp +643 -0
  673. data/ext/boost/range/mutable_iterator.hpp +64 -0
  674. data/ext/boost/range/rbegin.hpp +65 -0
  675. data/ext/boost/range/rend.hpp +65 -0
  676. data/ext/boost/range/reverse_iterator.hpp +40 -0
  677. data/ext/boost/range/size.hpp +36 -0
  678. data/ext/boost/range/size_type.hpp +78 -0
  679. data/ext/boost/range/value_type.hpp +34 -0
  680. data/ext/boost/shared_ptr.hpp +619 -558
  681. data/ext/boost/src/pthread/exceptions.cpp +146 -0
  682. data/ext/boost/src/pthread/once.cpp +51 -0
  683. data/ext/boost/src/pthread/thread.cpp +709 -0
  684. data/ext/boost/src/pthread/timeconv.inl +130 -0
  685. data/ext/boost/src/tss_null.cpp +2 -1
  686. data/ext/boost/src/win32/exceptions.cpp +124 -0
  687. data/ext/boost/src/win32/thread.cpp +629 -0
  688. data/ext/boost/src/win32/timeconv.inl +130 -0
  689. data/ext/boost/src/{tss_dll.cpp → win32/tss_dll.cpp} +0 -0
  690. data/ext/boost/src/win32/tss_pe.cpp +269 -0
  691. data/ext/boost/static_assert.hpp +122 -118
  692. data/ext/boost/thread.hpp +21 -19
  693. data/ext/boost/thread/condition.hpp +16 -201
  694. data/ext/boost/thread/condition_variable.hpp +21 -0
  695. data/ext/boost/thread/detail/config.hpp +94 -95
  696. data/ext/boost/thread/detail/move.hpp +33 -0
  697. data/ext/boost/thread/detail/platform.hpp +71 -0
  698. data/ext/boost/thread/exceptions.hpp +103 -92
  699. data/ext/boost/thread/locks.hpp +589 -0
  700. data/ext/boost/thread/mutex.hpp +21 -170
  701. data/ext/boost/thread/once.hpp +29 -37
  702. data/ext/boost/thread/pthread/condition_variable.hpp +184 -0
  703. data/ext/boost/thread/pthread/condition_variable_fwd.hpp +66 -0
  704. data/ext/boost/thread/pthread/mutex.hpp +211 -0
  705. data/ext/boost/thread/pthread/once.hpp +85 -0
  706. data/ext/boost/thread/pthread/pthread_mutex_scoped_lock.hpp +50 -0
  707. data/ext/boost/thread/pthread/recursive_mutex.hpp +249 -0
  708. data/ext/boost/thread/pthread/thread.hpp +331 -0
  709. data/ext/boost/thread/pthread/thread_data.hpp +101 -0
  710. data/ext/boost/thread/pthread/timespec.hpp +28 -0
  711. data/ext/boost/thread/pthread/tss.hpp +103 -0
  712. data/ext/boost/thread/recursive_mutex.hpp +21 -184
  713. data/ext/boost/thread/thread.hpp +22 -90
  714. data/ext/boost/thread/thread_time.hpp +46 -0
  715. data/ext/boost/thread/tss.hpp +18 -128
  716. data/ext/boost/thread/xtime.hpp +88 -54
  717. data/ext/boost/throw_exception.hpp +46 -46
  718. data/ext/boost/token_functions.hpp +621 -0
  719. data/ext/boost/token_iterator.hpp +128 -0
  720. data/ext/boost/tokenizer.hpp +98 -0
  721. data/ext/boost/type.hpp +18 -18
  722. data/ext/boost/type_traits/add_const.hpp +47 -47
  723. data/ext/boost/type_traits/add_pointer.hpp +72 -72
  724. data/ext/boost/type_traits/add_reference.hpp +89 -89
  725. data/ext/boost/type_traits/alignment_of.hpp +100 -100
  726. data/ext/boost/type_traits/broken_compiler_spec.hpp +117 -117
  727. data/ext/boost/type_traits/composite_traits.hpp +29 -29
  728. data/ext/boost/type_traits/config.hpp +76 -76
  729. data/ext/boost/type_traits/conversion_traits.hpp +17 -17
  730. data/ext/boost/type_traits/detail/bool_trait_def.hpp +173 -173
  731. data/ext/boost/type_traits/detail/bool_trait_undef.hpp +27 -27
  732. data/ext/boost/type_traits/detail/cv_traits_impl.hpp +97 -97
  733. data/ext/boost/type_traits/detail/false_result.hpp +28 -28
  734. data/ext/boost/type_traits/detail/ice_and.hpp +35 -35
  735. data/ext/boost/type_traits/detail/ice_eq.hpp +36 -36
  736. data/ext/boost/type_traits/detail/ice_not.hpp +31 -31
  737. data/ext/boost/type_traits/detail/ice_or.hpp +34 -34
  738. data/ext/boost/type_traits/detail/is_function_ptr_helper.hpp +220 -220
  739. data/ext/boost/type_traits/detail/is_mem_fun_pointer_impl.hpp +817 -817
  740. data/ext/boost/type_traits/detail/size_t_trait_def.hpp +58 -58
  741. data/ext/boost/type_traits/detail/size_t_trait_undef.hpp +16 -16
  742. data/ext/boost/type_traits/detail/template_arity_spec.hpp +31 -31
  743. data/ext/boost/type_traits/detail/type_trait_def.hpp +61 -61
  744. data/ext/boost/type_traits/detail/type_trait_undef.hpp +19 -19
  745. data/ext/boost/type_traits/detail/yes_no_type.hpp +26 -26
  746. data/ext/boost/type_traits/function_traits.hpp +236 -236
  747. data/ext/boost/type_traits/has_nothrow_copy.hpp +39 -38
  748. data/ext/boost/type_traits/has_trivial_copy.hpp +49 -48
  749. data/ext/boost/type_traits/ice.hpp +20 -20
  750. data/ext/boost/type_traits/integral_constant.hpp +53 -53
  751. data/ext/boost/type_traits/intrinsics.hpp +153 -137
  752. data/ext/boost/type_traits/is_abstract.hpp +144 -137
  753. data/ext/boost/type_traits/is_arithmetic.hpp +43 -43
  754. data/ext/boost/type_traits/is_array.hpp +90 -90
  755. data/ext/boost/type_traits/is_class.hpp +128 -128
  756. data/ext/boost/type_traits/is_const.hpp +142 -142
  757. data/ext/boost/type_traits/is_convertible.hpp +418 -416
  758. data/ext/boost/type_traits/is_enum.hpp +180 -180
  759. data/ext/boost/type_traits/is_float.hpp +27 -27
  760. data/ext/boost/type_traits/is_function.hpp +95 -88
  761. data/ext/boost/type_traits/is_integral.hpp +73 -71
  762. data/ext/boost/type_traits/is_member_function_pointer.hpp +134 -126
  763. data/ext/boost/type_traits/is_member_pointer.hpp +114 -108
  764. data/ext/boost/type_traits/is_pod.hpp +135 -135
  765. data/ext/boost/type_traits/is_pointer.hpp +160 -149
  766. data/ext/boost/type_traits/is_reference.hpp +116 -116
  767. data/ext/boost/type_traits/is_same.hpp +103 -103
  768. data/ext/boost/type_traits/is_scalar.hpp +55 -55
  769. data/ext/boost/type_traits/is_union.hpp +49 -49
  770. data/ext/boost/type_traits/is_void.hpp +33 -33
  771. data/ext/boost/type_traits/is_volatile.hpp +131 -131
  772. data/ext/boost/type_traits/remove_const.hpp +78 -78
  773. data/ext/boost/type_traits/remove_cv.hpp +61 -61
  774. data/ext/boost/type_traits/remove_pointer.hpp +43 -43
  775. data/ext/boost/type_traits/remove_reference.hpp +50 -50
  776. data/ext/boost/type_traits/type_with_alignment.hpp +288 -288
  777. data/ext/boost/utility.hpp +19 -19
  778. data/ext/boost/utility/addressof.hpp +58 -58
  779. data/ext/boost/utility/base_from_member.hpp +87 -87
  780. data/ext/boost/utility/compare_pointees.hpp +68 -68
  781. data/ext/boost/utility/enable_if.hpp +119 -119
  782. data/ext/boost/weak_ptr.hpp +0 -6
  783. data/ext/passenger/extconf.rb +3 -0
  784. data/ext/passenger/native_support.c +2 -0
  785. data/lib/passenger/abstract_request_handler.rb +347 -0
  786. data/lib/passenger/abstract_server.rb +31 -5
  787. data/lib/passenger/application.rb +5 -16
  788. data/lib/passenger/console_text_template.rb +2 -0
  789. data/lib/passenger/constants.rb +26 -0
  790. data/lib/passenger/dependencies.rb +23 -3
  791. data/lib/passenger/exceptions.rb +91 -0
  792. data/lib/passenger/html_template.rb +2 -0
  793. data/lib/passenger/message_channel.rb +2 -1
  794. data/lib/passenger/platform_info.rb +2 -0
  795. data/lib/passenger/rack/application_spawner.rb +108 -0
  796. data/lib/passenger/rack/request_handler.rb +85 -0
  797. data/lib/passenger/railz/application_spawner.rb +317 -0
  798. data/lib/passenger/railz/cgi_fixed.rb +68 -0
  799. data/lib/passenger/railz/framework_spawner.rb +344 -0
  800. data/lib/passenger/railz/request_handler.rb +61 -0
  801. data/lib/passenger/simple_benchmarking.rb +2 -0
  802. data/lib/passenger/spawn_manager.rb +190 -83
  803. data/lib/passenger/templates/apache2_config_snippets.txt.erb +2 -2
  804. data/lib/passenger/templates/apache_must_be_compiled_with_compatible_mpm.txt.erb +9 -0
  805. data/lib/passenger/templates/app_exited_during_initialization.html.erb +3 -3
  806. data/lib/passenger/templates/app_init_error.html.erb +2 -2
  807. data/lib/passenger/templates/database_error.html.erb +19 -12
  808. data/lib/passenger/templates/deployment_example.txt.erb +3 -1
  809. data/lib/passenger/templates/error_layout.html.erb +1 -1
  810. data/lib/passenger/templates/load_error.html.erb +2 -2
  811. data/lib/passenger/templates/welcome.txt.erb +1 -1
  812. data/lib/passenger/utils.rb +138 -14
  813. data/lib/passenger/wsgi/application_spawner.rb +94 -0
  814. data/lib/passenger/wsgi/request_handler.py +138 -0
  815. data/man/passenger-config.1 +29 -0
  816. data/man/passenger-make-enterprisey.8 +23 -0
  817. data/man/passenger-memory-stats.8 +33 -0
  818. data/man/passenger-status.8 +43 -0
  819. data/man/passenger-stress-test.1 +43 -0
  820. data/misc/copy_boost_headers.rb +102 -0
  821. data/test/ApplicationPoolServerTest.cpp +5 -3
  822. data/test/ApplicationPoolServer_ApplicationPoolTest.cpp +6 -2
  823. data/test/ApplicationPoolTest.cpp +31 -27
  824. data/test/UtilsTest.cpp +1 -0
  825. data/test/integration_tests.rb +327 -137
  826. data/test/ruby/abstract_server_spec.rb +17 -0
  827. data/test/ruby/application_spec.rb +43 -0
  828. data/test/ruby/message_channel_spec.rb +170 -0
  829. data/test/ruby/rack/application_spawner_spec.rb +43 -0
  830. data/test/ruby/rails/application_spawner_spec.rb +109 -0
  831. data/test/ruby/rails/framework_spawner_spec.rb +132 -0
  832. data/test/ruby/rails/minimal_spawner_spec.rb +37 -0
  833. data/test/ruby/rails/spawner_error_handling_spec.rb +52 -0
  834. data/test/ruby/rails/spawner_privilege_lowering_spec.rb +97 -0
  835. data/test/ruby/spawn_manager_spec.rb +178 -0
  836. data/test/ruby/spawn_server_spec.rb +26 -0
  837. data/test/stub/apache2/httpd.conf +75 -0
  838. data/test/stub/apache2/httpd.conf.erb +41 -40
  839. data/test/stub/message_channel_3.rb +2 -0
  840. data/test/stub/minimal-railsapp/vendor/rails/actionpack/lib/action_controller.rb +0 -0
  841. data/test/stub/minimal-railsapp/vendor/rails/activerecord/lib/active_record.rb +0 -0
  842. data/test/stub/rack/config.ru +4 -0
  843. data/test/stub/rack/public/rack.jpg +0 -0
  844. data/test/stub/{railsapp-without-version-spec → rails_apps/foobar}/app/controllers/application.rb +0 -0
  845. data/test/stub/rails_apps/foobar/app/controllers/bar_controller_1.rb +5 -0
  846. data/test/stub/rails_apps/foobar/app/controllers/bar_controller_2.rb +5 -0
  847. data/test/stub/rails_apps/foobar/app/controllers/foo_controller.rb +13 -0
  848. data/test/stub/{mycook → rails_apps/foobar}/app/helpers/application_helper.rb +0 -0
  849. data/test/stub/{mycook → rails_apps/foobar}/config/boot.rb +0 -0
  850. data/test/stub/{mycook → rails_apps/foobar}/config/database.yml +0 -0
  851. data/test/stub/rails_apps/foobar/config/environment.rb +59 -0
  852. data/test/stub/{mycook → rails_apps/foobar}/config/environments/development.rb +0 -0
  853. data/test/stub/{mycook → rails_apps/foobar}/config/environments/production.rb +0 -0
  854. data/test/stub/{mycook → rails_apps/foobar}/config/initializers/inflections.rb +0 -0
  855. data/test/stub/{mycook → rails_apps/foobar}/config/initializers/mime_types.rb +0 -0
  856. data/test/stub/{railsapp-without-version-spec → rails_apps/foobar}/config/routes.rb +0 -0
  857. data/test/stub/{mycook → rails_apps/mycook}/app/controllers/application.rb +0 -0
  858. data/test/stub/{mycook → rails_apps/mycook}/app/controllers/recipes_controller.rb +0 -0
  859. data/test/stub/{mycook → rails_apps/mycook}/app/controllers/uploads_controller.rb +0 -0
  860. data/test/stub/rails_apps/mycook/app/controllers/welcome_controller.rb +35 -0
  861. data/test/stub/{railsapp-without-version-spec → rails_apps/mycook}/app/helpers/application_helper.rb +0 -0
  862. data/test/stub/{mycook → rails_apps/mycook}/app/views/layouts/default.rhtml +0 -0
  863. data/test/stub/{mycook → rails_apps/mycook}/app/views/recipes/create.rhtml +0 -0
  864. data/test/stub/{mycook → rails_apps/mycook}/app/views/recipes/index.rhtml +0 -0
  865. data/test/stub/{mycook → rails_apps/mycook}/app/views/recipes/new.rhtml +0 -0
  866. data/test/stub/{mycook → rails_apps/mycook}/app/views/uploads/index.rhtml +0 -0
  867. data/test/stub/{mycook → rails_apps/mycook}/app/views/uploads/new.html.erb +0 -0
  868. data/test/stub/{mycook → rails_apps/mycook}/app/views/welcome/cached.rhtml +0 -0
  869. data/test/stub/{mycook → rails_apps/mycook}/app/views/welcome/index.rhtml +0 -0
  870. data/test/stub/{railsapp-without-version-spec → rails_apps/mycook}/config/boot.rb +0 -0
  871. data/test/stub/{railsapp-without-version-spec → rails_apps/mycook}/config/database.yml +0 -0
  872. data/test/stub/{mycook → rails_apps/mycook}/config/environment.rb +0 -0
  873. data/test/stub/{railsapp-without-version-spec → rails_apps/mycook}/config/environments/development.rb +0 -0
  874. data/test/stub/{railsapp-without-version-spec → rails_apps/mycook}/config/environments/production.rb +0 -0
  875. data/test/stub/{railsapp-without-version-spec → rails_apps/mycook}/config/initializers/inflections.rb +0 -0
  876. data/test/stub/{railsapp-without-version-spec → rails_apps/mycook}/config/initializers/mime_types.rb +0 -0
  877. data/test/stub/{mycook → rails_apps/mycook}/config/routes.rb +0 -0
  878. data/test/stub/{broken-railsapp/public → rails_apps/mycook/log}/useless.txt +0 -0
  879. data/test/stub/{mycook → rails_apps/mycook}/public/404.html +0 -0
  880. data/test/stub/{mycook → rails_apps/mycook}/public/422.html +0 -0
  881. data/test/stub/{mycook → rails_apps/mycook}/public/500.html +0 -0
  882. data/test/stub/{mycook → rails_apps/mycook}/public/dispatch.cgi +0 -0
  883. data/test/stub/{mycook → rails_apps/mycook}/public/dispatch.fcgi +0 -0
  884. data/test/stub/{mycook → rails_apps/mycook}/public/dispatch.rb +0 -0
  885. data/test/stub/{mycook → rails_apps/mycook}/public/favicon.ico +0 -0
  886. data/test/stub/{mycook → rails_apps/mycook}/public/images/angrywizard.gif +0 -0
  887. data/test/stub/{mycook → rails_apps/mycook}/public/images/cookbook.gif +0 -0
  888. data/test/stub/{mycook → rails_apps/mycook}/public/images/header.png +0 -0
  889. data/test/stub/{mycook → rails_apps/mycook}/public/images/rails.png +0 -0
  890. data/test/stub/{mycook → rails_apps/mycook}/public/javascripts/application.js +0 -0
  891. data/test/stub/{mycook → rails_apps/mycook}/public/javascripts/controls.js +0 -0
  892. data/test/stub/{mycook → rails_apps/mycook}/public/javascripts/dragdrop.js +0 -0
  893. data/test/stub/{mycook → rails_apps/mycook}/public/javascripts/effects.js +0 -0
  894. data/test/stub/{mycook → rails_apps/mycook}/public/javascripts/prototype.js +0 -0
  895. data/test/stub/{mycook → rails_apps/mycook}/public/robots.txt +0 -0
  896. data/test/stub/{mycook → rails_apps/mycook}/public/uploads.html +0 -0
  897. data/test/stub/{mycook → rails_apps/mycook}/public/welcome/cached.html +0 -0
  898. data/test/stub/{broken-railsapp4/public → rails_apps/mycook/tmp/cache}/useless.txt +0 -0
  899. data/test/stub/{broken-railsapp5/public → rails_apps/mycook/tmp/pids}/useless.txt +0 -0
  900. data/test/stub/{railsapp-without-version-spec/public → rails_apps/mycook/tmp/sessions}/useless.txt +0 -0
  901. data/test/stub/rails_apps/mycook/tmp/sockets/useless.txt +1 -0
  902. data/test/stub/spawn_server.rb +6 -2
  903. data/test/stub/upload_data.txt +494 -0
  904. data/test/stub/vendor_rails/minimal/README +1 -0
  905. data/test/stub/{broken-railsapp5/vendor/rails → vendor_rails/minimal}/actionmailer/lib/action_mailer.rb +0 -0
  906. data/test/stub/vendor_rails/minimal/actionpack/lib/action_controller.rb +19 -0
  907. data/test/stub/{broken-railsapp5/vendor/rails → vendor_rails/minimal}/actionpack/lib/action_pack.rb +0 -0
  908. data/test/stub/{broken-railsapp5/vendor/rails → vendor_rails/minimal}/actionpack/lib/action_view.rb +0 -0
  909. data/test/stub/vendor_rails/minimal/activerecord/lib/active_record.rb +7 -0
  910. data/test/stub/{broken-railsapp5/vendor/rails → vendor_rails/minimal}/activeresource/lib/active_resource.rb +0 -0
  911. data/test/stub/{broken-railsapp5/vendor/rails → vendor_rails/minimal}/activesupport/lib/active_support.rb +0 -0
  912. data/test/stub/{broken-railsapp5/vendor/rails → vendor_rails/minimal}/activesupport/lib/active_support/whiny_nil.rb +0 -0
  913. data/test/stub/{broken-railsapp5/vendor/rails → vendor_rails/minimal}/railties/lib/dispatcher.rb +0 -0
  914. data/test/stub/vendor_rails/minimal/railties/lib/initializer.rb +51 -0
  915. data/test/stub/{broken-railsapp5/vendor/rails → vendor_rails/minimal}/railties/lib/ruby_version_check.rb +0 -0
  916. data/test/stub/wsgi/passenger_wsgi.py +3 -0
  917. data/test/stub/wsgi/public/wsgi-snake.jpg +0 -0
  918. data/test/support/apache2_controller.rb +196 -0
  919. data/test/support/config.rb +4 -1
  920. data/test/support/test_helper.rb +94 -0
  921. metadata +445 -1329
  922. data/doc/cxxapi/ApplicationPoolClientServer_8h-source.html +0 -673
  923. data/doc/rdoc/classes/Passenger/ApplicationSpawner.html +0 -334
  924. data/doc/rdoc/classes/Passenger/ApplicationSpawner/Error.html +0 -98
  925. data/doc/rdoc/classes/Passenger/CGIFixed.html +0 -200
  926. data/doc/rdoc/classes/Passenger/FrameworkSpawner.html +0 -429
  927. data/doc/rdoc/classes/Passenger/FrameworkSpawner/Error.html +0 -98
  928. data/doc/rdoc/classes/Passenger/RequestHandler.html +0 -425
  929. data/doc/rdoc/files/lib/passenger/application_spawner_rb.html +0 -128
  930. data/doc/rdoc/files/lib/passenger/cgi_fixed_rb.html +0 -127
  931. data/doc/rdoc/files/lib/passenger/framework_spawner_rb.html +0 -135
  932. data/doc/rdoc/files/lib/passenger/request_handler_rb.html +0 -122
  933. data/ext/apache2/ApplicationPoolClientServer.h +0 -653
  934. data/ext/boost/bind/apply.hpp +0 -74
  935. data/ext/boost/bind/make_adaptable.hpp +0 -187
  936. data/ext/boost/bind/mem_fn_vw.hpp +0 -130
  937. data/ext/boost/bind/protect.hpp +0 -144
  938. data/ext/boost/format.hpp +0 -59
  939. data/ext/boost/format/alt_sstream.hpp +0 -176
  940. data/ext/boost/format/alt_sstream_impl.hpp +0 -296
  941. data/ext/boost/format/detail/compat_workarounds.hpp +0 -86
  942. data/ext/boost/format/detail/config_macros.hpp +0 -97
  943. data/ext/boost/format/detail/msvc_disambiguater.hpp +0 -56
  944. data/ext/boost/format/detail/unset_macros.hpp +0 -34
  945. data/ext/boost/format/detail/workarounds_gcc-2_95.hpp +0 -162
  946. data/ext/boost/format/detail/workarounds_stlport.hpp +0 -42
  947. data/ext/boost/format/exceptions.hpp +0 -103
  948. data/ext/boost/format/feed_args.hpp +0 -267
  949. data/ext/boost/format/format_class.hpp +0 -143
  950. data/ext/boost/format/format_fwd.hpp +0 -49
  951. data/ext/boost/format/format_implementation.hpp +0 -277
  952. data/ext/boost/format/free_funcs.hpp +0 -70
  953. data/ext/boost/format/group.hpp +0 -676
  954. data/ext/boost/format/internals.hpp +0 -199
  955. data/ext/boost/format/internals_fwd.hpp +0 -60
  956. data/ext/boost/format/parsing.hpp +0 -491
  957. data/ext/boost/function/detail/gen_maybe_include.pl +0 -37
  958. data/ext/boost/function/function0.hpp +0 -12
  959. data/ext/boost/function/function1.hpp +0 -12
  960. data/ext/boost/function/function10.hpp +0 -12
  961. data/ext/boost/function/function2.hpp +0 -12
  962. data/ext/boost/function/function3.hpp +0 -12
  963. data/ext/boost/function/function4.hpp +0 -12
  964. data/ext/boost/function/function5.hpp +0 -12
  965. data/ext/boost/function/function6.hpp +0 -12
  966. data/ext/boost/function/function7.hpp +0 -12
  967. data/ext/boost/function/function8.hpp +0 -12
  968. data/ext/boost/function/function9.hpp +0 -12
  969. data/ext/boost/function/gen_function_N.pl +0 -26
  970. data/ext/boost/mpl/O1_size.hpp +0 -40
  971. data/ext/boost/mpl/O1_size_fwd.hpp +0 -24
  972. data/ext/boost/mpl/accumulate.hpp +0 -39
  973. data/ext/boost/mpl/advance.hpp +0 -76
  974. data/ext/boost/mpl/advance_fwd.hpp +0 -28
  975. data/ext/boost/mpl/alias.hpp +0 -21
  976. data/ext/boost/mpl/arithmetic.hpp +0 -25
  977. data/ext/boost/mpl/as_sequence.hpp +0 -38
  978. data/ext/boost/mpl/at.hpp +0 -52
  979. data/ext/boost/mpl/at_fwd.hpp +0 -24
  980. data/ext/boost/mpl/aux_/O1_size_impl.hpp +0 -87
  981. data/ext/boost/mpl/aux_/advance_backward.hpp +0 -124
  982. data/ext/boost/mpl/aux_/advance_forward.hpp +0 -123
  983. data/ext/boost/mpl/aux_/apply_1st.hpp +0 -35
  984. data/ext/boost/mpl/aux_/arithmetic_op.hpp +0 -92
  985. data/ext/boost/mpl/aux_/at_impl.hpp +0 -45
  986. data/ext/boost/mpl/aux_/back_impl.hpp +0 -43
  987. data/ext/boost/mpl/aux_/basic_bind.hpp +0 -21
  988. data/ext/boost/mpl/aux_/begin_end_impl.hpp +0 -100
  989. data/ext/boost/mpl/aux_/clear_impl.hpp +0 -35
  990. data/ext/boost/mpl/aux_/comparison_op.hpp +0 -83
  991. data/ext/boost/mpl/aux_/config/dependent_nttp.hpp +0 -35
  992. data/ext/boost/mpl/aux_/config/dmc_ambiguous_ctps.hpp +0 -27
  993. data/ext/boost/mpl/aux_/config/forwarding.hpp +0 -27
  994. data/ext/boost/mpl/aux_/config/operators.hpp +0 -33
  995. data/ext/boost/mpl/aux_/config/typeof.hpp +0 -38
  996. data/ext/boost/mpl/aux_/contains_impl.hpp +0 -61
  997. data/ext/boost/mpl/aux_/count_args.hpp +0 -105
  998. data/ext/boost/mpl/aux_/count_impl.hpp +0 -44
  999. data/ext/boost/mpl/aux_/empty_impl.hpp +0 -43
  1000. data/ext/boost/mpl/aux_/erase_impl.hpp +0 -69
  1001. data/ext/boost/mpl/aux_/erase_key_impl.hpp +0 -32
  1002. data/ext/boost/mpl/aux_/filter_iter.hpp +0 -140
  1003. data/ext/boost/mpl/aux_/find_if_pred.hpp +0 -31
  1004. data/ext/boost/mpl/aux_/fold_impl.hpp +0 -43
  1005. data/ext/boost/mpl/aux_/fold_impl_body.hpp +0 -365
  1006. data/ext/boost/mpl/aux_/fold_op.hpp +0 -37
  1007. data/ext/boost/mpl/aux_/fold_pred.hpp +0 -37
  1008. data/ext/boost/mpl/aux_/front_impl.hpp +0 -41
  1009. data/ext/boost/mpl/aux_/has_begin.hpp +0 -23
  1010. data/ext/boost/mpl/aux_/has_key_impl.hpp +0 -34
  1011. data/ext/boost/mpl/aux_/has_rebind.hpp +0 -99
  1012. data/ext/boost/mpl/aux_/has_size.hpp +0 -23
  1013. data/ext/boost/mpl/aux_/has_tag.hpp +0 -23
  1014. data/ext/boost/mpl/aux_/insert_impl.hpp +0 -68
  1015. data/ext/boost/mpl/aux_/insert_range_impl.hpp +0 -77
  1016. data/ext/boost/mpl/aux_/inserter_algorithm.hpp +0 -159
  1017. data/ext/boost/mpl/aux_/is_msvc_eti_arg.hpp +0 -64
  1018. data/ext/boost/mpl/aux_/iter_apply.hpp +0 -47
  1019. data/ext/boost/mpl/aux_/iter_fold_if_impl.hpp +0 -210
  1020. data/ext/boost/mpl/aux_/iter_fold_impl.hpp +0 -42
  1021. data/ext/boost/mpl/aux_/iter_push_front.hpp +0 -36
  1022. data/ext/boost/mpl/aux_/joint_iter.hpp +0 -120
  1023. data/ext/boost/mpl/aux_/lambda_no_ctps.hpp +0 -193
  1024. data/ext/boost/mpl/aux_/lambda_spec.hpp +0 -49
  1025. data/ext/boost/mpl/aux_/largest_int.hpp +0 -63
  1026. data/ext/boost/mpl/aux_/logical_op.hpp +0 -165
  1027. data/ext/boost/mpl/aux_/msvc_dtw.hpp +0 -68
  1028. data/ext/boost/mpl/aux_/msvc_eti_base.hpp +0 -77
  1029. data/ext/boost/mpl/aux_/msvc_is_class.hpp +0 -58
  1030. data/ext/boost/mpl/aux_/msvc_type.hpp +0 -62
  1031. data/ext/boost/mpl/aux_/numeric_cast_utils.hpp +0 -77
  1032. data/ext/boost/mpl/aux_/numeric_op.hpp +0 -311
  1033. data/ext/boost/mpl/aux_/order_impl.hpp +0 -76
  1034. data/ext/boost/mpl/aux_/overload_names.hpp +0 -48
  1035. data/ext/boost/mpl/aux_/partition_op.hpp +0 -58
  1036. data/ext/boost/mpl/aux_/pop_back_impl.hpp +0 -34
  1037. data/ext/boost/mpl/aux_/pop_front_impl.hpp +0 -44
  1038. data/ext/boost/mpl/aux_/preprocessed/bcc/advance_backward.hpp +0 -97
  1039. data/ext/boost/mpl/aux_/preprocessed/bcc/advance_forward.hpp +0 -97
  1040. data/ext/boost/mpl/aux_/preprocessed/bcc/and.hpp +0 -69
  1041. data/ext/boost/mpl/aux_/preprocessed/bcc/apply.hpp +0 -169
  1042. data/ext/boost/mpl/aux_/preprocessed/bcc/apply_fwd.hpp +0 -52
  1043. data/ext/boost/mpl/aux_/preprocessed/bcc/apply_wrap.hpp +0 -456
  1044. data/ext/boost/mpl/aux_/preprocessed/bcc/arg.hpp +0 -117
  1045. data/ext/boost/mpl/aux_/preprocessed/bcc/basic_bind.hpp +0 -300
  1046. data/ext/boost/mpl/aux_/preprocessed/bcc/bind.hpp +0 -397
  1047. data/ext/boost/mpl/aux_/preprocessed/bcc/bind_fwd.hpp +0 -46
  1048. data/ext/boost/mpl/aux_/preprocessed/bcc/bitand.hpp +0 -147
  1049. data/ext/boost/mpl/aux_/preprocessed/bcc/bitor.hpp +0 -147
  1050. data/ext/boost/mpl/aux_/preprocessed/bcc/bitxor.hpp +0 -147
  1051. data/ext/boost/mpl/aux_/preprocessed/bcc/deque.hpp +0 -323
  1052. data/ext/boost/mpl/aux_/preprocessed/bcc/divides.hpp +0 -146
  1053. data/ext/boost/mpl/aux_/preprocessed/bcc/equal_to.hpp +0 -94
  1054. data/ext/boost/mpl/aux_/preprocessed/bcc/fold_impl.hpp +0 -180
  1055. data/ext/boost/mpl/aux_/preprocessed/bcc/full_lambda.hpp +0 -558
  1056. data/ext/boost/mpl/aux_/preprocessed/bcc/greater.hpp +0 -94
  1057. data/ext/boost/mpl/aux_/preprocessed/bcc/greater_equal.hpp +0 -94
  1058. data/ext/boost/mpl/aux_/preprocessed/bcc/inherit.hpp +0 -139
  1059. data/ext/boost/mpl/aux_/preprocessed/bcc/iter_fold_if_impl.hpp +0 -133
  1060. data/ext/boost/mpl/aux_/preprocessed/bcc/iter_fold_impl.hpp +0 -180
  1061. data/ext/boost/mpl/aux_/preprocessed/bcc/lambda_no_ctps.hpp +0 -229
  1062. data/ext/boost/mpl/aux_/preprocessed/bcc/less.hpp +0 -94
  1063. data/ext/boost/mpl/aux_/preprocessed/bcc/less_equal.hpp +0 -94
  1064. data/ext/boost/mpl/aux_/preprocessed/bcc/list.hpp +0 -323
  1065. data/ext/boost/mpl/aux_/preprocessed/bcc/list_c.hpp +0 -328
  1066. data/ext/boost/mpl/aux_/preprocessed/bcc/map.hpp +0 -323
  1067. data/ext/boost/mpl/aux_/preprocessed/bcc/minus.hpp +0 -146
  1068. data/ext/boost/mpl/aux_/preprocessed/bcc/modulus.hpp +0 -101
  1069. data/ext/boost/mpl/aux_/preprocessed/bcc/not_equal_to.hpp +0 -94
  1070. data/ext/boost/mpl/aux_/preprocessed/bcc/or.hpp +0 -69
  1071. data/ext/boost/mpl/aux_/preprocessed/bcc/placeholders.hpp +0 -105
  1072. data/ext/boost/mpl/aux_/preprocessed/bcc/plus.hpp +0 -146
  1073. data/ext/boost/mpl/aux_/preprocessed/bcc/quote.hpp +0 -11
  1074. data/ext/boost/mpl/aux_/preprocessed/bcc/reverse_fold_impl.hpp +0 -295
  1075. data/ext/boost/mpl/aux_/preprocessed/bcc/reverse_iter_fold_impl.hpp +0 -295
  1076. data/ext/boost/mpl/aux_/preprocessed/bcc/set.hpp +0 -323
  1077. data/ext/boost/mpl/aux_/preprocessed/bcc/set_c.hpp +0 -328
  1078. data/ext/boost/mpl/aux_/preprocessed/bcc/shift_left.hpp +0 -99
  1079. data/ext/boost/mpl/aux_/preprocessed/bcc/shift_right.hpp +0 -99
  1080. data/ext/boost/mpl/aux_/preprocessed/bcc/template_arity.hpp +0 -40
  1081. data/ext/boost/mpl/aux_/preprocessed/bcc/times.hpp +0 -146
  1082. data/ext/boost/mpl/aux_/preprocessed/bcc/unpack_args.hpp +0 -97
  1083. data/ext/boost/mpl/aux_/preprocessed/bcc/vector.hpp +0 -323
  1084. data/ext/boost/mpl/aux_/preprocessed/bcc/vector_c.hpp +0 -309
  1085. data/ext/boost/mpl/aux_/preprocessed/bcc551/advance_backward.hpp +0 -97
  1086. data/ext/boost/mpl/aux_/preprocessed/bcc551/advance_forward.hpp +0 -97
  1087. data/ext/boost/mpl/aux_/preprocessed/bcc551/and.hpp +0 -69
  1088. data/ext/boost/mpl/aux_/preprocessed/bcc551/apply.hpp +0 -169
  1089. data/ext/boost/mpl/aux_/preprocessed/bcc551/apply_fwd.hpp +0 -52
  1090. data/ext/boost/mpl/aux_/preprocessed/bcc551/apply_wrap.hpp +0 -456
  1091. data/ext/boost/mpl/aux_/preprocessed/bcc551/arg.hpp +0 -123
  1092. data/ext/boost/mpl/aux_/preprocessed/bcc551/basic_bind.hpp +0 -306
  1093. data/ext/boost/mpl/aux_/preprocessed/bcc551/bind.hpp +0 -403
  1094. data/ext/boost/mpl/aux_/preprocessed/bcc551/bind_fwd.hpp +0 -46
  1095. data/ext/boost/mpl/aux_/preprocessed/bcc551/bitand.hpp +0 -147
  1096. data/ext/boost/mpl/aux_/preprocessed/bcc551/bitor.hpp +0 -147
  1097. data/ext/boost/mpl/aux_/preprocessed/bcc551/bitxor.hpp +0 -147
  1098. data/ext/boost/mpl/aux_/preprocessed/bcc551/deque.hpp +0 -323
  1099. data/ext/boost/mpl/aux_/preprocessed/bcc551/divides.hpp +0 -146
  1100. data/ext/boost/mpl/aux_/preprocessed/bcc551/equal_to.hpp +0 -94
  1101. data/ext/boost/mpl/aux_/preprocessed/bcc551/fold_impl.hpp +0 -180
  1102. data/ext/boost/mpl/aux_/preprocessed/bcc551/full_lambda.hpp +0 -558
  1103. data/ext/boost/mpl/aux_/preprocessed/bcc551/greater.hpp +0 -94
  1104. data/ext/boost/mpl/aux_/preprocessed/bcc551/greater_equal.hpp +0 -94
  1105. data/ext/boost/mpl/aux_/preprocessed/bcc551/inherit.hpp +0 -141
  1106. data/ext/boost/mpl/aux_/preprocessed/bcc551/iter_fold_if_impl.hpp +0 -133
  1107. data/ext/boost/mpl/aux_/preprocessed/bcc551/iter_fold_impl.hpp +0 -180
  1108. data/ext/boost/mpl/aux_/preprocessed/bcc551/lambda_no_ctps.hpp +0 -229
  1109. data/ext/boost/mpl/aux_/preprocessed/bcc551/less.hpp +0 -94
  1110. data/ext/boost/mpl/aux_/preprocessed/bcc551/less_equal.hpp +0 -94
  1111. data/ext/boost/mpl/aux_/preprocessed/bcc551/list.hpp +0 -323
  1112. data/ext/boost/mpl/aux_/preprocessed/bcc551/list_c.hpp +0 -328
  1113. data/ext/boost/mpl/aux_/preprocessed/bcc551/map.hpp +0 -323
  1114. data/ext/boost/mpl/aux_/preprocessed/bcc551/minus.hpp +0 -146
  1115. data/ext/boost/mpl/aux_/preprocessed/bcc551/modulus.hpp +0 -101
  1116. data/ext/boost/mpl/aux_/preprocessed/bcc551/not_equal_to.hpp +0 -94
  1117. data/ext/boost/mpl/aux_/preprocessed/bcc551/or.hpp +0 -69
  1118. data/ext/boost/mpl/aux_/preprocessed/bcc551/placeholders.hpp +0 -105
  1119. data/ext/boost/mpl/aux_/preprocessed/bcc551/plus.hpp +0 -146
  1120. data/ext/boost/mpl/aux_/preprocessed/bcc551/quote.hpp +0 -11
  1121. data/ext/boost/mpl/aux_/preprocessed/bcc551/reverse_fold_impl.hpp +0 -295
  1122. data/ext/boost/mpl/aux_/preprocessed/bcc551/reverse_iter_fold_impl.hpp +0 -295
  1123. data/ext/boost/mpl/aux_/preprocessed/bcc551/set.hpp +0 -323
  1124. data/ext/boost/mpl/aux_/preprocessed/bcc551/set_c.hpp +0 -328
  1125. data/ext/boost/mpl/aux_/preprocessed/bcc551/shift_left.hpp +0 -99
  1126. data/ext/boost/mpl/aux_/preprocessed/bcc551/shift_right.hpp +0 -99
  1127. data/ext/boost/mpl/aux_/preprocessed/bcc551/template_arity.hpp +0 -40
  1128. data/ext/boost/mpl/aux_/preprocessed/bcc551/times.hpp +0 -146
  1129. data/ext/boost/mpl/aux_/preprocessed/bcc551/unpack_args.hpp +0 -97
  1130. data/ext/boost/mpl/aux_/preprocessed/bcc551/vector.hpp +0 -323
  1131. data/ext/boost/mpl/aux_/preprocessed/bcc551/vector_c.hpp +0 -309
  1132. data/ext/boost/mpl/aux_/preprocessed/dmc/advance_backward.hpp +0 -97
  1133. data/ext/boost/mpl/aux_/preprocessed/dmc/advance_forward.hpp +0 -97
  1134. data/ext/boost/mpl/aux_/preprocessed/dmc/and.hpp +0 -69
  1135. data/ext/boost/mpl/aux_/preprocessed/dmc/apply.hpp +0 -169
  1136. data/ext/boost/mpl/aux_/preprocessed/dmc/apply_fwd.hpp +0 -52
  1137. data/ext/boost/mpl/aux_/preprocessed/dmc/apply_wrap.hpp +0 -84
  1138. data/ext/boost/mpl/aux_/preprocessed/dmc/arg.hpp +0 -123
  1139. data/ext/boost/mpl/aux_/preprocessed/dmc/basic_bind.hpp +0 -406
  1140. data/ext/boost/mpl/aux_/preprocessed/dmc/bind.hpp +0 -515
  1141. data/ext/boost/mpl/aux_/preprocessed/dmc/bind_fwd.hpp +0 -53
  1142. data/ext/boost/mpl/aux_/preprocessed/dmc/bitand.hpp +0 -147
  1143. data/ext/boost/mpl/aux_/preprocessed/dmc/bitor.hpp +0 -147
  1144. data/ext/boost/mpl/aux_/preprocessed/dmc/bitxor.hpp +0 -147
  1145. data/ext/boost/mpl/aux_/preprocessed/dmc/deque.hpp +0 -323
  1146. data/ext/boost/mpl/aux_/preprocessed/dmc/divides.hpp +0 -146
  1147. data/ext/boost/mpl/aux_/preprocessed/dmc/equal_to.hpp +0 -94
  1148. data/ext/boost/mpl/aux_/preprocessed/dmc/fold_impl.hpp +0 -180
  1149. data/ext/boost/mpl/aux_/preprocessed/dmc/full_lambda.hpp +0 -536
  1150. data/ext/boost/mpl/aux_/preprocessed/dmc/greater.hpp +0 -94
  1151. data/ext/boost/mpl/aux_/preprocessed/dmc/greater_equal.hpp +0 -94
  1152. data/ext/boost/mpl/aux_/preprocessed/dmc/inherit.hpp +0 -141
  1153. data/ext/boost/mpl/aux_/preprocessed/dmc/iter_fold_if_impl.hpp +0 -133
  1154. data/ext/boost/mpl/aux_/preprocessed/dmc/iter_fold_impl.hpp +0 -180
  1155. data/ext/boost/mpl/aux_/preprocessed/dmc/lambda_no_ctps.hpp +0 -229
  1156. data/ext/boost/mpl/aux_/preprocessed/dmc/less.hpp +0 -94
  1157. data/ext/boost/mpl/aux_/preprocessed/dmc/less_equal.hpp +0 -94
  1158. data/ext/boost/mpl/aux_/preprocessed/dmc/list.hpp +0 -323
  1159. data/ext/boost/mpl/aux_/preprocessed/dmc/list_c.hpp +0 -328
  1160. data/ext/boost/mpl/aux_/preprocessed/dmc/map.hpp +0 -323
  1161. data/ext/boost/mpl/aux_/preprocessed/dmc/minus.hpp +0 -146
  1162. data/ext/boost/mpl/aux_/preprocessed/dmc/modulus.hpp +0 -101
  1163. data/ext/boost/mpl/aux_/preprocessed/dmc/not_equal_to.hpp +0 -94
  1164. data/ext/boost/mpl/aux_/preprocessed/dmc/or.hpp +0 -69
  1165. data/ext/boost/mpl/aux_/preprocessed/dmc/placeholders.hpp +0 -105
  1166. data/ext/boost/mpl/aux_/preprocessed/dmc/plus.hpp +0 -146
  1167. data/ext/boost/mpl/aux_/preprocessed/dmc/quote.hpp +0 -123
  1168. data/ext/boost/mpl/aux_/preprocessed/dmc/reverse_fold_impl.hpp +0 -231
  1169. data/ext/boost/mpl/aux_/preprocessed/dmc/reverse_iter_fold_impl.hpp +0 -231
  1170. data/ext/boost/mpl/aux_/preprocessed/dmc/set.hpp +0 -323
  1171. data/ext/boost/mpl/aux_/preprocessed/dmc/set_c.hpp +0 -328
  1172. data/ext/boost/mpl/aux_/preprocessed/dmc/shift_left.hpp +0 -99
  1173. data/ext/boost/mpl/aux_/preprocessed/dmc/shift_right.hpp +0 -99
  1174. data/ext/boost/mpl/aux_/preprocessed/dmc/template_arity.hpp +0 -11
  1175. data/ext/boost/mpl/aux_/preprocessed/dmc/times.hpp +0 -146
  1176. data/ext/boost/mpl/aux_/preprocessed/dmc/unpack_args.hpp +0 -94
  1177. data/ext/boost/mpl/aux_/preprocessed/dmc/vector.hpp +0 -323
  1178. data/ext/boost/mpl/aux_/preprocessed/dmc/vector_c.hpp +0 -309
  1179. data/ext/boost/mpl/aux_/preprocessed/gcc/advance_backward.hpp +0 -97
  1180. data/ext/boost/mpl/aux_/preprocessed/gcc/advance_forward.hpp +0 -97
  1181. data/ext/boost/mpl/aux_/preprocessed/gcc/basic_bind.hpp +0 -440
  1182. data/ext/boost/mpl/aux_/preprocessed/gcc/bitand.hpp +0 -147
  1183. data/ext/boost/mpl/aux_/preprocessed/gcc/bitor.hpp +0 -147
  1184. data/ext/boost/mpl/aux_/preprocessed/gcc/bitxor.hpp +0 -147
  1185. data/ext/boost/mpl/aux_/preprocessed/gcc/deque.hpp +0 -323
  1186. data/ext/boost/mpl/aux_/preprocessed/gcc/divides.hpp +0 -146
  1187. data/ext/boost/mpl/aux_/preprocessed/gcc/equal_to.hpp +0 -94
  1188. data/ext/boost/mpl/aux_/preprocessed/gcc/fold_impl.hpp +0 -180
  1189. data/ext/boost/mpl/aux_/preprocessed/gcc/greater.hpp +0 -94
  1190. data/ext/boost/mpl/aux_/preprocessed/gcc/greater_equal.hpp +0 -94
  1191. data/ext/boost/mpl/aux_/preprocessed/gcc/inherit.hpp +0 -141
  1192. data/ext/boost/mpl/aux_/preprocessed/gcc/iter_fold_if_impl.hpp +0 -133
  1193. data/ext/boost/mpl/aux_/preprocessed/gcc/iter_fold_impl.hpp +0 -180
  1194. data/ext/boost/mpl/aux_/preprocessed/gcc/lambda_no_ctps.hpp +0 -229
  1195. data/ext/boost/mpl/aux_/preprocessed/gcc/less.hpp +0 -94
  1196. data/ext/boost/mpl/aux_/preprocessed/gcc/less_equal.hpp +0 -94
  1197. data/ext/boost/mpl/aux_/preprocessed/gcc/list.hpp +0 -323
  1198. data/ext/boost/mpl/aux_/preprocessed/gcc/list_c.hpp +0 -328
  1199. data/ext/boost/mpl/aux_/preprocessed/gcc/map.hpp +0 -323
  1200. data/ext/boost/mpl/aux_/preprocessed/gcc/minus.hpp +0 -146
  1201. data/ext/boost/mpl/aux_/preprocessed/gcc/modulus.hpp +0 -101
  1202. data/ext/boost/mpl/aux_/preprocessed/gcc/not_equal_to.hpp +0 -94
  1203. data/ext/boost/mpl/aux_/preprocessed/gcc/plus.hpp +0 -146
  1204. data/ext/boost/mpl/aux_/preprocessed/gcc/reverse_fold_impl.hpp +0 -231
  1205. data/ext/boost/mpl/aux_/preprocessed/gcc/reverse_iter_fold_impl.hpp +0 -231
  1206. data/ext/boost/mpl/aux_/preprocessed/gcc/set.hpp +0 -323
  1207. data/ext/boost/mpl/aux_/preprocessed/gcc/set_c.hpp +0 -328
  1208. data/ext/boost/mpl/aux_/preprocessed/gcc/shift_left.hpp +0 -99
  1209. data/ext/boost/mpl/aux_/preprocessed/gcc/shift_right.hpp +0 -99
  1210. data/ext/boost/mpl/aux_/preprocessed/gcc/times.hpp +0 -146
  1211. data/ext/boost/mpl/aux_/preprocessed/gcc/unpack_args.hpp +0 -94
  1212. data/ext/boost/mpl/aux_/preprocessed/gcc/vector.hpp +0 -323
  1213. data/ext/boost/mpl/aux_/preprocessed/gcc/vector_c.hpp +0 -309
  1214. data/ext/boost/mpl/aux_/preprocessed/msvc60/advance_backward.hpp +0 -132
  1215. data/ext/boost/mpl/aux_/preprocessed/msvc60/advance_forward.hpp +0 -132
  1216. data/ext/boost/mpl/aux_/preprocessed/msvc60/and.hpp +0 -73
  1217. data/ext/boost/mpl/aux_/preprocessed/msvc60/apply.hpp +0 -166
  1218. data/ext/boost/mpl/aux_/preprocessed/msvc60/apply_fwd.hpp +0 -46
  1219. data/ext/boost/mpl/aux_/preprocessed/msvc60/apply_wrap.hpp +0 -247
  1220. data/ext/boost/mpl/aux_/preprocessed/msvc60/arg.hpp +0 -123
  1221. data/ext/boost/mpl/aux_/preprocessed/msvc60/basic_bind.hpp +0 -328
  1222. data/ext/boost/mpl/aux_/preprocessed/msvc60/bind.hpp +0 -432
  1223. data/ext/boost/mpl/aux_/preprocessed/msvc60/bind_fwd.hpp +0 -46
  1224. data/ext/boost/mpl/aux_/preprocessed/msvc60/bitand.hpp +0 -149
  1225. data/ext/boost/mpl/aux_/preprocessed/msvc60/bitor.hpp +0 -149
  1226. data/ext/boost/mpl/aux_/preprocessed/msvc60/bitxor.hpp +0 -149
  1227. data/ext/boost/mpl/aux_/preprocessed/msvc60/deque.hpp +0 -556
  1228. data/ext/boost/mpl/aux_/preprocessed/msvc60/divides.hpp +0 -148
  1229. data/ext/boost/mpl/aux_/preprocessed/msvc60/equal_to.hpp +0 -102
  1230. data/ext/boost/mpl/aux_/preprocessed/msvc60/fold_impl.hpp +0 -293
  1231. data/ext/boost/mpl/aux_/preprocessed/msvc60/full_lambda.hpp +0 -554
  1232. data/ext/boost/mpl/aux_/preprocessed/msvc60/greater.hpp +0 -102
  1233. data/ext/boost/mpl/aux_/preprocessed/msvc60/greater_equal.hpp +0 -102
  1234. data/ext/boost/mpl/aux_/preprocessed/msvc60/inherit.hpp +0 -166
  1235. data/ext/boost/mpl/aux_/preprocessed/msvc60/iter_fold_if_impl.hpp +0 -133
  1236. data/ext/boost/mpl/aux_/preprocessed/msvc60/iter_fold_impl.hpp +0 -293
  1237. data/ext/boost/mpl/aux_/preprocessed/msvc60/lambda_no_ctps.hpp +0 -229
  1238. data/ext/boost/mpl/aux_/preprocessed/msvc60/less.hpp +0 -102
  1239. data/ext/boost/mpl/aux_/preprocessed/msvc60/less_equal.hpp +0 -102
  1240. data/ext/boost/mpl/aux_/preprocessed/msvc60/list.hpp +0 -556
  1241. data/ext/boost/mpl/aux_/preprocessed/msvc60/list_c.hpp +0 -534
  1242. data/ext/boost/mpl/aux_/preprocessed/msvc60/map.hpp +0 -556
  1243. data/ext/boost/mpl/aux_/preprocessed/msvc60/minus.hpp +0 -148
  1244. data/ext/boost/mpl/aux_/preprocessed/msvc60/modulus.hpp +0 -115
  1245. data/ext/boost/mpl/aux_/preprocessed/msvc60/not_equal_to.hpp +0 -102
  1246. data/ext/boost/mpl/aux_/preprocessed/msvc60/or.hpp +0 -73
  1247. data/ext/boost/mpl/aux_/preprocessed/msvc60/placeholders.hpp +0 -105
  1248. data/ext/boost/mpl/aux_/preprocessed/msvc60/plus.hpp +0 -148
  1249. data/ext/boost/mpl/aux_/preprocessed/msvc60/quote.hpp +0 -11
  1250. data/ext/boost/mpl/aux_/preprocessed/msvc60/reverse_fold_impl.hpp +0 -343
  1251. data/ext/boost/mpl/aux_/preprocessed/msvc60/reverse_iter_fold_impl.hpp +0 -343
  1252. data/ext/boost/mpl/aux_/preprocessed/msvc60/set.hpp +0 -556
  1253. data/ext/boost/mpl/aux_/preprocessed/msvc60/set_c.hpp +0 -534
  1254. data/ext/boost/mpl/aux_/preprocessed/msvc60/shift_left.hpp +0 -114
  1255. data/ext/boost/mpl/aux_/preprocessed/msvc60/shift_right.hpp +0 -114
  1256. data/ext/boost/mpl/aux_/preprocessed/msvc60/template_arity.hpp +0 -46
  1257. data/ext/boost/mpl/aux_/preprocessed/msvc60/times.hpp +0 -148
  1258. data/ext/boost/mpl/aux_/preprocessed/msvc60/unpack_args.hpp +0 -109
  1259. data/ext/boost/mpl/aux_/preprocessed/msvc60/vector.hpp +0 -556
  1260. data/ext/boost/mpl/aux_/preprocessed/msvc60/vector_c.hpp +0 -534
  1261. data/ext/boost/mpl/aux_/preprocessed/msvc70/advance_backward.hpp +0 -97
  1262. data/ext/boost/mpl/aux_/preprocessed/msvc70/advance_forward.hpp +0 -97
  1263. data/ext/boost/mpl/aux_/preprocessed/msvc70/and.hpp +0 -71
  1264. data/ext/boost/mpl/aux_/preprocessed/msvc70/apply.hpp +0 -160
  1265. data/ext/boost/mpl/aux_/preprocessed/msvc70/apply_fwd.hpp +0 -46
  1266. data/ext/boost/mpl/aux_/preprocessed/msvc70/apply_wrap.hpp +0 -138
  1267. data/ext/boost/mpl/aux_/preprocessed/msvc70/arg.hpp +0 -123
  1268. data/ext/boost/mpl/aux_/preprocessed/msvc70/basic_bind.hpp +0 -328
  1269. data/ext/boost/mpl/aux_/preprocessed/msvc70/bind.hpp +0 -432
  1270. data/ext/boost/mpl/aux_/preprocessed/msvc70/bind_fwd.hpp +0 -46
  1271. data/ext/boost/mpl/aux_/preprocessed/msvc70/bitand.hpp +0 -151
  1272. data/ext/boost/mpl/aux_/preprocessed/msvc70/bitor.hpp +0 -151
  1273. data/ext/boost/mpl/aux_/preprocessed/msvc70/bitxor.hpp +0 -151
  1274. data/ext/boost/mpl/aux_/preprocessed/msvc70/deque.hpp +0 -556
  1275. data/ext/boost/mpl/aux_/preprocessed/msvc70/divides.hpp +0 -150
  1276. data/ext/boost/mpl/aux_/preprocessed/msvc70/equal_to.hpp +0 -102
  1277. data/ext/boost/mpl/aux_/preprocessed/msvc70/fold_impl.hpp +0 -245
  1278. data/ext/boost/mpl/aux_/preprocessed/msvc70/full_lambda.hpp +0 -554
  1279. data/ext/boost/mpl/aux_/preprocessed/msvc70/greater.hpp +0 -102
  1280. data/ext/boost/mpl/aux_/preprocessed/msvc70/greater_equal.hpp +0 -102
  1281. data/ext/boost/mpl/aux_/preprocessed/msvc70/inherit.hpp +0 -166
  1282. data/ext/boost/mpl/aux_/preprocessed/msvc70/iter_fold_if_impl.hpp +0 -133
  1283. data/ext/boost/mpl/aux_/preprocessed/msvc70/iter_fold_impl.hpp +0 -245
  1284. data/ext/boost/mpl/aux_/preprocessed/msvc70/lambda_no_ctps.hpp +0 -229
  1285. data/ext/boost/mpl/aux_/preprocessed/msvc70/less.hpp +0 -102
  1286. data/ext/boost/mpl/aux_/preprocessed/msvc70/less_equal.hpp +0 -102
  1287. data/ext/boost/mpl/aux_/preprocessed/msvc70/list.hpp +0 -556
  1288. data/ext/boost/mpl/aux_/preprocessed/msvc70/list_c.hpp +0 -534
  1289. data/ext/boost/mpl/aux_/preprocessed/msvc70/map.hpp +0 -556
  1290. data/ext/boost/mpl/aux_/preprocessed/msvc70/minus.hpp +0 -150
  1291. data/ext/boost/mpl/aux_/preprocessed/msvc70/modulus.hpp +0 -115
  1292. data/ext/boost/mpl/aux_/preprocessed/msvc70/not_equal_to.hpp +0 -102
  1293. data/ext/boost/mpl/aux_/preprocessed/msvc70/or.hpp +0 -71
  1294. data/ext/boost/mpl/aux_/preprocessed/msvc70/placeholders.hpp +0 -105
  1295. data/ext/boost/mpl/aux_/preprocessed/msvc70/plus.hpp +0 -150
  1296. data/ext/boost/mpl/aux_/preprocessed/msvc70/quote.hpp +0 -116
  1297. data/ext/boost/mpl/aux_/preprocessed/msvc70/reverse_fold_impl.hpp +0 -295
  1298. data/ext/boost/mpl/aux_/preprocessed/msvc70/reverse_iter_fold_impl.hpp +0 -295
  1299. data/ext/boost/mpl/aux_/preprocessed/msvc70/set.hpp +0 -556
  1300. data/ext/boost/mpl/aux_/preprocessed/msvc70/set_c.hpp +0 -534
  1301. data/ext/boost/mpl/aux_/preprocessed/msvc70/shift_left.hpp +0 -114
  1302. data/ext/boost/mpl/aux_/preprocessed/msvc70/shift_right.hpp +0 -114
  1303. data/ext/boost/mpl/aux_/preprocessed/msvc70/template_arity.hpp +0 -46
  1304. data/ext/boost/mpl/aux_/preprocessed/msvc70/times.hpp +0 -150
  1305. data/ext/boost/mpl/aux_/preprocessed/msvc70/unpack_args.hpp +0 -109
  1306. data/ext/boost/mpl/aux_/preprocessed/msvc70/vector.hpp +0 -556
  1307. data/ext/boost/mpl/aux_/preprocessed/msvc70/vector_c.hpp +0 -534
  1308. data/ext/boost/mpl/aux_/preprocessed/mwcw/advance_backward.hpp +0 -97
  1309. data/ext/boost/mpl/aux_/preprocessed/mwcw/advance_forward.hpp +0 -97
  1310. data/ext/boost/mpl/aux_/preprocessed/mwcw/and.hpp +0 -69
  1311. data/ext/boost/mpl/aux_/preprocessed/mwcw/apply.hpp +0 -169
  1312. data/ext/boost/mpl/aux_/preprocessed/mwcw/apply_fwd.hpp +0 -52
  1313. data/ext/boost/mpl/aux_/preprocessed/mwcw/apply_wrap.hpp +0 -456
  1314. data/ext/boost/mpl/aux_/preprocessed/mwcw/arg.hpp +0 -123
  1315. data/ext/boost/mpl/aux_/preprocessed/mwcw/basic_bind.hpp +0 -440
  1316. data/ext/boost/mpl/aux_/preprocessed/mwcw/bind.hpp +0 -561
  1317. data/ext/boost/mpl/aux_/preprocessed/mwcw/bind_fwd.hpp +0 -52
  1318. data/ext/boost/mpl/aux_/preprocessed/mwcw/bitand.hpp +0 -147
  1319. data/ext/boost/mpl/aux_/preprocessed/mwcw/bitor.hpp +0 -147
  1320. data/ext/boost/mpl/aux_/preprocessed/mwcw/bitxor.hpp +0 -147
  1321. data/ext/boost/mpl/aux_/preprocessed/mwcw/deque.hpp +0 -323
  1322. data/ext/boost/mpl/aux_/preprocessed/mwcw/divides.hpp +0 -146
  1323. data/ext/boost/mpl/aux_/preprocessed/mwcw/equal_to.hpp +0 -94
  1324. data/ext/boost/mpl/aux_/preprocessed/mwcw/fold_impl.hpp +0 -180
  1325. data/ext/boost/mpl/aux_/preprocessed/mwcw/full_lambda.hpp +0 -554
  1326. data/ext/boost/mpl/aux_/preprocessed/mwcw/greater.hpp +0 -94
  1327. data/ext/boost/mpl/aux_/preprocessed/mwcw/greater_equal.hpp +0 -94
  1328. data/ext/boost/mpl/aux_/preprocessed/mwcw/inherit.hpp +0 -141
  1329. data/ext/boost/mpl/aux_/preprocessed/mwcw/iter_fold_if_impl.hpp +0 -133
  1330. data/ext/boost/mpl/aux_/preprocessed/mwcw/iter_fold_impl.hpp +0 -180
  1331. data/ext/boost/mpl/aux_/preprocessed/mwcw/lambda_no_ctps.hpp +0 -229
  1332. data/ext/boost/mpl/aux_/preprocessed/mwcw/less.hpp +0 -94
  1333. data/ext/boost/mpl/aux_/preprocessed/mwcw/less_equal.hpp +0 -94
  1334. data/ext/boost/mpl/aux_/preprocessed/mwcw/list.hpp +0 -323
  1335. data/ext/boost/mpl/aux_/preprocessed/mwcw/list_c.hpp +0 -328
  1336. data/ext/boost/mpl/aux_/preprocessed/mwcw/map.hpp +0 -323
  1337. data/ext/boost/mpl/aux_/preprocessed/mwcw/minus.hpp +0 -146
  1338. data/ext/boost/mpl/aux_/preprocessed/mwcw/modulus.hpp +0 -101
  1339. data/ext/boost/mpl/aux_/preprocessed/mwcw/not_equal_to.hpp +0 -94
  1340. data/ext/boost/mpl/aux_/preprocessed/mwcw/or.hpp +0 -69
  1341. data/ext/boost/mpl/aux_/preprocessed/mwcw/placeholders.hpp +0 -105
  1342. data/ext/boost/mpl/aux_/preprocessed/mwcw/plus.hpp +0 -146
  1343. data/ext/boost/mpl/aux_/preprocessed/mwcw/quote.hpp +0 -123
  1344. data/ext/boost/mpl/aux_/preprocessed/mwcw/reverse_fold_impl.hpp +0 -231
  1345. data/ext/boost/mpl/aux_/preprocessed/mwcw/reverse_iter_fold_impl.hpp +0 -231
  1346. data/ext/boost/mpl/aux_/preprocessed/mwcw/set.hpp +0 -323
  1347. data/ext/boost/mpl/aux_/preprocessed/mwcw/set_c.hpp +0 -328
  1348. data/ext/boost/mpl/aux_/preprocessed/mwcw/shift_left.hpp +0 -99
  1349. data/ext/boost/mpl/aux_/preprocessed/mwcw/shift_right.hpp +0 -99
  1350. data/ext/boost/mpl/aux_/preprocessed/mwcw/template_arity.hpp +0 -11
  1351. data/ext/boost/mpl/aux_/preprocessed/mwcw/times.hpp +0 -146
  1352. data/ext/boost/mpl/aux_/preprocessed/mwcw/unpack_args.hpp +0 -94
  1353. data/ext/boost/mpl/aux_/preprocessed/mwcw/vector.hpp +0 -323
  1354. data/ext/boost/mpl/aux_/preprocessed/mwcw/vector_c.hpp +0 -309
  1355. data/ext/boost/mpl/aux_/preprocessed/no_ctps/advance_backward.hpp +0 -97
  1356. data/ext/boost/mpl/aux_/preprocessed/no_ctps/advance_forward.hpp +0 -97
  1357. data/ext/boost/mpl/aux_/preprocessed/no_ctps/and.hpp +0 -73
  1358. data/ext/boost/mpl/aux_/preprocessed/no_ctps/apply.hpp +0 -268
  1359. data/ext/boost/mpl/aux_/preprocessed/no_ctps/apply_fwd.hpp +0 -50
  1360. data/ext/boost/mpl/aux_/preprocessed/no_ctps/apply_wrap.hpp +0 -78
  1361. data/ext/boost/mpl/aux_/preprocessed/no_ctps/arg.hpp +0 -123
  1362. data/ext/boost/mpl/aux_/preprocessed/no_ctps/basic_bind.hpp +0 -486
  1363. data/ext/boost/mpl/aux_/preprocessed/no_ctps/bind.hpp +0 -590
  1364. data/ext/boost/mpl/aux_/preprocessed/no_ctps/bind_fwd.hpp +0 -52
  1365. data/ext/boost/mpl/aux_/preprocessed/no_ctps/bitand.hpp +0 -134
  1366. data/ext/boost/mpl/aux_/preprocessed/no_ctps/bitor.hpp +0 -134
  1367. data/ext/boost/mpl/aux_/preprocessed/no_ctps/bitxor.hpp +0 -134
  1368. data/ext/boost/mpl/aux_/preprocessed/no_ctps/deque.hpp +0 -556
  1369. data/ext/boost/mpl/aux_/preprocessed/no_ctps/divides.hpp +0 -133
  1370. data/ext/boost/mpl/aux_/preprocessed/no_ctps/equal_to.hpp +0 -94
  1371. data/ext/boost/mpl/aux_/preprocessed/no_ctps/fold_impl.hpp +0 -245
  1372. data/ext/boost/mpl/aux_/preprocessed/no_ctps/full_lambda.hpp +0 -554
  1373. data/ext/boost/mpl/aux_/preprocessed/no_ctps/greater.hpp +0 -94
  1374. data/ext/boost/mpl/aux_/preprocessed/no_ctps/greater_equal.hpp +0 -94
  1375. data/ext/boost/mpl/aux_/preprocessed/no_ctps/inherit.hpp +0 -166
  1376. data/ext/boost/mpl/aux_/preprocessed/no_ctps/iter_fold_if_impl.hpp +0 -133
  1377. data/ext/boost/mpl/aux_/preprocessed/no_ctps/iter_fold_impl.hpp +0 -245
  1378. data/ext/boost/mpl/aux_/preprocessed/no_ctps/lambda_no_ctps.hpp +0 -229
  1379. data/ext/boost/mpl/aux_/preprocessed/no_ctps/less.hpp +0 -94
  1380. data/ext/boost/mpl/aux_/preprocessed/no_ctps/less_equal.hpp +0 -94
  1381. data/ext/boost/mpl/aux_/preprocessed/no_ctps/list.hpp +0 -556
  1382. data/ext/boost/mpl/aux_/preprocessed/no_ctps/list_c.hpp +0 -534
  1383. data/ext/boost/mpl/aux_/preprocessed/no_ctps/map.hpp +0 -556
  1384. data/ext/boost/mpl/aux_/preprocessed/no_ctps/minus.hpp +0 -133
  1385. data/ext/boost/mpl/aux_/preprocessed/no_ctps/modulus.hpp +0 -101
  1386. data/ext/boost/mpl/aux_/preprocessed/no_ctps/not_equal_to.hpp +0 -94
  1387. data/ext/boost/mpl/aux_/preprocessed/no_ctps/or.hpp +0 -73
  1388. data/ext/boost/mpl/aux_/preprocessed/no_ctps/placeholders.hpp +0 -105
  1389. data/ext/boost/mpl/aux_/preprocessed/no_ctps/plus.hpp +0 -133
  1390. data/ext/boost/mpl/aux_/preprocessed/no_ctps/quote.hpp +0 -116
  1391. data/ext/boost/mpl/aux_/preprocessed/no_ctps/reverse_fold_impl.hpp +0 -295
  1392. data/ext/boost/mpl/aux_/preprocessed/no_ctps/reverse_iter_fold_impl.hpp +0 -295
  1393. data/ext/boost/mpl/aux_/preprocessed/no_ctps/set.hpp +0 -556
  1394. data/ext/boost/mpl/aux_/preprocessed/no_ctps/set_c.hpp +0 -534
  1395. data/ext/boost/mpl/aux_/preprocessed/no_ctps/shift_left.hpp +0 -99
  1396. data/ext/boost/mpl/aux_/preprocessed/no_ctps/shift_right.hpp +0 -99
  1397. data/ext/boost/mpl/aux_/preprocessed/no_ctps/template_arity.hpp +0 -40
  1398. data/ext/boost/mpl/aux_/preprocessed/no_ctps/times.hpp +0 -133
  1399. data/ext/boost/mpl/aux_/preprocessed/no_ctps/unpack_args.hpp +0 -109
  1400. data/ext/boost/mpl/aux_/preprocessed/no_ctps/vector.hpp +0 -556
  1401. data/ext/boost/mpl/aux_/preprocessed/no_ctps/vector_c.hpp +0 -534
  1402. data/ext/boost/mpl/aux_/preprocessed/no_ttp/advance_backward.hpp +0 -97
  1403. data/ext/boost/mpl/aux_/preprocessed/no_ttp/advance_forward.hpp +0 -97
  1404. data/ext/boost/mpl/aux_/preprocessed/no_ttp/and.hpp +0 -69
  1405. data/ext/boost/mpl/aux_/preprocessed/no_ttp/apply.hpp +0 -169
  1406. data/ext/boost/mpl/aux_/preprocessed/no_ttp/apply_fwd.hpp +0 -52
  1407. data/ext/boost/mpl/aux_/preprocessed/no_ttp/apply_wrap.hpp +0 -84
  1408. data/ext/boost/mpl/aux_/preprocessed/no_ttp/arg.hpp +0 -123
  1409. data/ext/boost/mpl/aux_/preprocessed/no_ttp/basic_bind.hpp +0 -369
  1410. data/ext/boost/mpl/aux_/preprocessed/no_ttp/bind.hpp +0 -466
  1411. data/ext/boost/mpl/aux_/preprocessed/no_ttp/bind_fwd.hpp +0 -52
  1412. data/ext/boost/mpl/aux_/preprocessed/no_ttp/bitand.hpp +0 -157
  1413. data/ext/boost/mpl/aux_/preprocessed/no_ttp/bitor.hpp +0 -157
  1414. data/ext/boost/mpl/aux_/preprocessed/no_ttp/bitxor.hpp +0 -157
  1415. data/ext/boost/mpl/aux_/preprocessed/no_ttp/deque.hpp +0 -323
  1416. data/ext/boost/mpl/aux_/preprocessed/no_ttp/divides.hpp +0 -156
  1417. data/ext/boost/mpl/aux_/preprocessed/no_ttp/equal_to.hpp +0 -98
  1418. data/ext/boost/mpl/aux_/preprocessed/no_ttp/fold_impl.hpp +0 -180
  1419. data/ext/boost/mpl/aux_/preprocessed/no_ttp/full_lambda.hpp +0 -554
  1420. data/ext/boost/mpl/aux_/preprocessed/no_ttp/greater.hpp +0 -98
  1421. data/ext/boost/mpl/aux_/preprocessed/no_ttp/greater_equal.hpp +0 -98
  1422. data/ext/boost/mpl/aux_/preprocessed/no_ttp/inherit.hpp +0 -141
  1423. data/ext/boost/mpl/aux_/preprocessed/no_ttp/iter_fold_if_impl.hpp +0 -133
  1424. data/ext/boost/mpl/aux_/preprocessed/no_ttp/iter_fold_impl.hpp +0 -180
  1425. data/ext/boost/mpl/aux_/preprocessed/no_ttp/lambda_no_ctps.hpp +0 -229
  1426. data/ext/boost/mpl/aux_/preprocessed/no_ttp/less.hpp +0 -98
  1427. data/ext/boost/mpl/aux_/preprocessed/no_ttp/less_equal.hpp +0 -98
  1428. data/ext/boost/mpl/aux_/preprocessed/no_ttp/list.hpp +0 -323
  1429. data/ext/boost/mpl/aux_/preprocessed/no_ttp/list_c.hpp +0 -328
  1430. data/ext/boost/mpl/aux_/preprocessed/no_ttp/map.hpp +0 -323
  1431. data/ext/boost/mpl/aux_/preprocessed/no_ttp/minus.hpp +0 -156
  1432. data/ext/boost/mpl/aux_/preprocessed/no_ttp/modulus.hpp +0 -111
  1433. data/ext/boost/mpl/aux_/preprocessed/no_ttp/not_equal_to.hpp +0 -98
  1434. data/ext/boost/mpl/aux_/preprocessed/no_ttp/or.hpp +0 -69
  1435. data/ext/boost/mpl/aux_/preprocessed/no_ttp/placeholders.hpp +0 -105
  1436. data/ext/boost/mpl/aux_/preprocessed/no_ttp/plus.hpp +0 -156
  1437. data/ext/boost/mpl/aux_/preprocessed/no_ttp/quote.hpp +0 -11
  1438. data/ext/boost/mpl/aux_/preprocessed/no_ttp/reverse_fold_impl.hpp +0 -231
  1439. data/ext/boost/mpl/aux_/preprocessed/no_ttp/reverse_iter_fold_impl.hpp +0 -231
  1440. data/ext/boost/mpl/aux_/preprocessed/no_ttp/set.hpp +0 -323
  1441. data/ext/boost/mpl/aux_/preprocessed/no_ttp/set_c.hpp +0 -328
  1442. data/ext/boost/mpl/aux_/preprocessed/no_ttp/shift_left.hpp +0 -110
  1443. data/ext/boost/mpl/aux_/preprocessed/no_ttp/shift_right.hpp +0 -110
  1444. data/ext/boost/mpl/aux_/preprocessed/no_ttp/template_arity.hpp +0 -40
  1445. data/ext/boost/mpl/aux_/preprocessed/no_ttp/times.hpp +0 -156
  1446. data/ext/boost/mpl/aux_/preprocessed/no_ttp/unpack_args.hpp +0 -94
  1447. data/ext/boost/mpl/aux_/preprocessed/no_ttp/vector.hpp +0 -323
  1448. data/ext/boost/mpl/aux_/preprocessed/no_ttp/vector_c.hpp +0 -309
  1449. data/ext/boost/mpl/aux_/preprocessed/plain/advance_backward.hpp +0 -97
  1450. data/ext/boost/mpl/aux_/preprocessed/plain/advance_forward.hpp +0 -97
  1451. data/ext/boost/mpl/aux_/preprocessed/plain/and.hpp +0 -64
  1452. data/ext/boost/mpl/aux_/preprocessed/plain/apply.hpp +0 -139
  1453. data/ext/boost/mpl/aux_/preprocessed/plain/apply_fwd.hpp +0 -52
  1454. data/ext/boost/mpl/aux_/preprocessed/plain/apply_wrap.hpp +0 -84
  1455. data/ext/boost/mpl/aux_/preprocessed/plain/arg.hpp +0 -123
  1456. data/ext/boost/mpl/aux_/preprocessed/plain/basic_bind.hpp +0 -440
  1457. data/ext/boost/mpl/aux_/preprocessed/plain/bind.hpp +0 -561
  1458. data/ext/boost/mpl/aux_/preprocessed/plain/bind_fwd.hpp +0 -52
  1459. data/ext/boost/mpl/aux_/preprocessed/plain/bitand.hpp +0 -142
  1460. data/ext/boost/mpl/aux_/preprocessed/plain/bitor.hpp +0 -142
  1461. data/ext/boost/mpl/aux_/preprocessed/plain/bitxor.hpp +0 -142
  1462. data/ext/boost/mpl/aux_/preprocessed/plain/deque.hpp +0 -323
  1463. data/ext/boost/mpl/aux_/preprocessed/plain/divides.hpp +0 -141
  1464. data/ext/boost/mpl/aux_/preprocessed/plain/equal_to.hpp +0 -92
  1465. data/ext/boost/mpl/aux_/preprocessed/plain/fold_impl.hpp +0 -180
  1466. data/ext/boost/mpl/aux_/preprocessed/plain/full_lambda.hpp +0 -554
  1467. data/ext/boost/mpl/aux_/preprocessed/plain/greater.hpp +0 -92
  1468. data/ext/boost/mpl/aux_/preprocessed/plain/greater_equal.hpp +0 -92
  1469. data/ext/boost/mpl/aux_/preprocessed/plain/inherit.hpp +0 -125
  1470. data/ext/boost/mpl/aux_/preprocessed/plain/iter_fold_if_impl.hpp +0 -133
  1471. data/ext/boost/mpl/aux_/preprocessed/plain/iter_fold_impl.hpp +0 -180
  1472. data/ext/boost/mpl/aux_/preprocessed/plain/lambda_no_ctps.hpp +0 -228
  1473. data/ext/boost/mpl/aux_/preprocessed/plain/less.hpp +0 -92
  1474. data/ext/boost/mpl/aux_/preprocessed/plain/less_equal.hpp +0 -92
  1475. data/ext/boost/mpl/aux_/preprocessed/plain/list.hpp +0 -323
  1476. data/ext/boost/mpl/aux_/preprocessed/plain/list_c.hpp +0 -328
  1477. data/ext/boost/mpl/aux_/preprocessed/plain/map.hpp +0 -323
  1478. data/ext/boost/mpl/aux_/preprocessed/plain/minus.hpp +0 -141
  1479. data/ext/boost/mpl/aux_/preprocessed/plain/modulus.hpp +0 -99
  1480. data/ext/boost/mpl/aux_/preprocessed/plain/not_equal_to.hpp +0 -92
  1481. data/ext/boost/mpl/aux_/preprocessed/plain/or.hpp +0 -64
  1482. data/ext/boost/mpl/aux_/preprocessed/plain/placeholders.hpp +0 -105
  1483. data/ext/boost/mpl/aux_/preprocessed/plain/plus.hpp +0 -141
  1484. data/ext/boost/mpl/aux_/preprocessed/plain/quote.hpp +0 -123
  1485. data/ext/boost/mpl/aux_/preprocessed/plain/reverse_fold_impl.hpp +0 -231
  1486. data/ext/boost/mpl/aux_/preprocessed/plain/reverse_iter_fold_impl.hpp +0 -231
  1487. data/ext/boost/mpl/aux_/preprocessed/plain/set.hpp +0 -323
  1488. data/ext/boost/mpl/aux_/preprocessed/plain/set_c.hpp +0 -328
  1489. data/ext/boost/mpl/aux_/preprocessed/plain/shift_left.hpp +0 -97
  1490. data/ext/boost/mpl/aux_/preprocessed/plain/shift_right.hpp +0 -97
  1491. data/ext/boost/mpl/aux_/preprocessed/plain/template_arity.hpp +0 -11
  1492. data/ext/boost/mpl/aux_/preprocessed/plain/times.hpp +0 -141
  1493. data/ext/boost/mpl/aux_/preprocessed/plain/unpack_args.hpp +0 -94
  1494. data/ext/boost/mpl/aux_/preprocessed/plain/vector.hpp +0 -323
  1495. data/ext/boost/mpl/aux_/preprocessed/plain/vector_c.hpp +0 -309
  1496. data/ext/boost/mpl/aux_/preprocessor/add.hpp +0 -65
  1497. data/ext/boost/mpl/aux_/preprocessor/default_params.hpp +0 -67
  1498. data/ext/boost/mpl/aux_/preprocessor/ext_params.hpp +0 -78
  1499. data/ext/boost/mpl/aux_/preprocessor/is_seq.hpp +0 -54
  1500. data/ext/boost/mpl/aux_/preprocessor/partial_spec_params.hpp +0 -32
  1501. data/ext/boost/mpl/aux_/preprocessor/range.hpp +0 -23
  1502. data/ext/boost/mpl/aux_/preprocessor/repeat.hpp +0 -51
  1503. data/ext/boost/mpl/aux_/preprocessor/token_equal.hpp +0 -56
  1504. data/ext/boost/mpl/aux_/preprocessor/tuple.hpp +0 -29
  1505. data/ext/boost/mpl/aux_/ptr_to_ref.hpp +0 -46
  1506. data/ext/boost/mpl/aux_/push_back_impl.hpp +0 -55
  1507. data/ext/boost/mpl/aux_/push_front_impl.hpp +0 -56
  1508. data/ext/boost/mpl/aux_/range_c/O1_size.hpp +0 -31
  1509. data/ext/boost/mpl/aux_/range_c/back.hpp +0 -34
  1510. data/ext/boost/mpl/aux_/range_c/empty.hpp +0 -37
  1511. data/ext/boost/mpl/aux_/range_c/front.hpp +0 -33
  1512. data/ext/boost/mpl/aux_/range_c/iterator.hpp +0 -106
  1513. data/ext/boost/mpl/aux_/range_c/size.hpp +0 -37
  1514. data/ext/boost/mpl/aux_/range_c/tag.hpp +0 -24
  1515. data/ext/boost/mpl/aux_/reverse_fold_impl.hpp +0 -44
  1516. data/ext/boost/mpl/aux_/reverse_fold_impl_body.hpp +0 -412
  1517. data/ext/boost/mpl/aux_/reverse_iter_fold_impl.hpp +0 -43
  1518. data/ext/boost/mpl/aux_/sequence_wrapper.hpp +0 -292
  1519. data/ext/boost/mpl/aux_/shift_op.hpp +0 -87
  1520. data/ext/boost/mpl/aux_/single_element_iter.hpp +0 -118
  1521. data/ext/boost/mpl/aux_/size_impl.hpp +0 -52
  1522. data/ext/boost/mpl/aux_/sort_impl.hpp +0 -121
  1523. data/ext/boost/mpl/aux_/test.hpp +0 -32
  1524. data/ext/boost/mpl/aux_/test/assert.hpp +0 -29
  1525. data/ext/boost/mpl/aux_/test/data.hpp +0 -25
  1526. data/ext/boost/mpl/aux_/test/test_case.hpp +0 -21
  1527. data/ext/boost/mpl/aux_/traits_lambda_spec.hpp +0 -56
  1528. data/ext/boost/mpl/aux_/transform_iter.hpp +0 -123
  1529. data/ext/boost/mpl/aux_/unwrap.hpp +0 -47
  1530. data/ext/boost/mpl/back.hpp +0 -39
  1531. data/ext/boost/mpl/back_fwd.hpp +0 -24
  1532. data/ext/boost/mpl/back_inserter.hpp +0 -34
  1533. data/ext/boost/mpl/base.hpp +0 -35
  1534. data/ext/boost/mpl/begin.hpp +0 -19
  1535. data/ext/boost/mpl/begin_end.hpp +0 -57
  1536. data/ext/boost/mpl/begin_end_fwd.hpp +0 -27
  1537. data/ext/boost/mpl/bitand.hpp +0 -23
  1538. data/ext/boost/mpl/bitor.hpp +0 -23
  1539. data/ext/boost/mpl/bitwise.hpp +0 -24
  1540. data/ext/boost/mpl/bitxor.hpp +0 -23
  1541. data/ext/boost/mpl/clear.hpp +0 -39
  1542. data/ext/boost/mpl/clear_fwd.hpp +0 -24
  1543. data/ext/boost/mpl/comparison.hpp +0 -24
  1544. data/ext/boost/mpl/contains.hpp +0 -41
  1545. data/ext/boost/mpl/contains_fwd.hpp +0 -25
  1546. data/ext/boost/mpl/copy.hpp +0 -58
  1547. data/ext/boost/mpl/copy_if.hpp +0 -96
  1548. data/ext/boost/mpl/count.hpp +0 -40
  1549. data/ext/boost/mpl/count_fwd.hpp +0 -24
  1550. data/ext/boost/mpl/count_if.hpp +0 -79
  1551. data/ext/boost/mpl/deque.hpp +0 -58
  1552. data/ext/boost/mpl/deref.hpp +0 -41
  1553. data/ext/boost/mpl/distance.hpp +0 -78
  1554. data/ext/boost/mpl/distance_fwd.hpp +0 -28
  1555. data/ext/boost/mpl/divides.hpp +0 -21
  1556. data/ext/boost/mpl/empty.hpp +0 -39
  1557. data/ext/boost/mpl/empty_base.hpp +0 -59
  1558. data/ext/boost/mpl/empty_fwd.hpp +0 -24
  1559. data/ext/boost/mpl/empty_sequence.hpp +0 -42
  1560. data/ext/boost/mpl/end.hpp +0 -19
  1561. data/ext/boost/mpl/equal.hpp +0 -112
  1562. data/ext/boost/mpl/equal_to.hpp +0 -21
  1563. data/ext/boost/mpl/erase.hpp +0 -42
  1564. data/ext/boost/mpl/erase_fwd.hpp +0 -24
  1565. data/ext/boost/mpl/erase_key.hpp +0 -41
  1566. data/ext/boost/mpl/erase_key_fwd.hpp +0 -24
  1567. data/ext/boost/mpl/filter_view.hpp +0 -46
  1568. data/ext/boost/mpl/find.hpp +0 -38
  1569. data/ext/boost/mpl/find_if.hpp +0 -50
  1570. data/ext/boost/mpl/fold.hpp +0 -48
  1571. data/ext/boost/mpl/for_each.hpp +0 -112
  1572. data/ext/boost/mpl/front.hpp +0 -39
  1573. data/ext/boost/mpl/front_fwd.hpp +0 -24
  1574. data/ext/boost/mpl/front_inserter.hpp +0 -33
  1575. data/ext/boost/mpl/greater.hpp +0 -21
  1576. data/ext/boost/mpl/greater_equal.hpp +0 -21
  1577. data/ext/boost/mpl/has_key.hpp +0 -41
  1578. data/ext/boost/mpl/has_key_fwd.hpp +0 -25
  1579. data/ext/boost/mpl/index_if.hpp +0 -60
  1580. data/ext/boost/mpl/index_of.hpp +0 -39
  1581. data/ext/boost/mpl/inherit.hpp +0 -229
  1582. data/ext/boost/mpl/inherit_linearly.hpp +0 -39
  1583. data/ext/boost/mpl/insert.hpp +0 -41
  1584. data/ext/boost/mpl/insert_fwd.hpp +0 -24
  1585. data/ext/boost/mpl/insert_range.hpp +0 -41
  1586. data/ext/boost/mpl/insert_range_fwd.hpp +0 -24
  1587. data/ext/boost/mpl/inserter.hpp +0 -32
  1588. data/ext/boost/mpl/is_placeholder.hpp +0 -67
  1589. data/ext/boost/mpl/is_sequence.hpp +0 -112
  1590. data/ext/boost/mpl/iter_fold.hpp +0 -49
  1591. data/ext/boost/mpl/iter_fold_if.hpp +0 -117
  1592. data/ext/boost/mpl/iterator_category.hpp +0 -35
  1593. data/ext/boost/mpl/iterator_range.hpp +0 -42
  1594. data/ext/boost/mpl/iterator_tags.hpp +0 -27
  1595. data/ext/boost/mpl/joint_view.hpp +0 -65
  1596. data/ext/boost/mpl/key_type.hpp +0 -42
  1597. data/ext/boost/mpl/key_type_fwd.hpp +0 -25
  1598. data/ext/boost/mpl/less.hpp +0 -21
  1599. data/ext/boost/mpl/less_equal.hpp +0 -21
  1600. data/ext/boost/mpl/limits/list.hpp +0 -21
  1601. data/ext/boost/mpl/limits/map.hpp +0 -21
  1602. data/ext/boost/mpl/limits/set.hpp +0 -21
  1603. data/ext/boost/mpl/limits/unrolling.hpp +0 -21
  1604. data/ext/boost/mpl/limits/vector.hpp +0 -21
  1605. data/ext/boost/mpl/list.hpp +0 -57
  1606. data/ext/boost/mpl/list/aux_/O1_size.hpp +0 -33
  1607. data/ext/boost/mpl/list/aux_/begin_end.hpp +0 -44
  1608. data/ext/boost/mpl/list/aux_/clear.hpp +0 -34
  1609. data/ext/boost/mpl/list/aux_/empty.hpp +0 -34
  1610. data/ext/boost/mpl/list/aux_/front.hpp +0 -33
  1611. data/ext/boost/mpl/list/aux_/include_preprocessed.hpp +0 -35
  1612. data/ext/boost/mpl/list/aux_/item.hpp +0 -55
  1613. data/ext/boost/mpl/list/aux_/iterator.hpp +0 -76
  1614. data/ext/boost/mpl/list/aux_/numbered.hpp +0 -68
  1615. data/ext/boost/mpl/list/aux_/numbered_c.hpp +0 -71
  1616. data/ext/boost/mpl/list/aux_/pop_front.hpp +0 -34
  1617. data/ext/boost/mpl/list/aux_/preprocessed/plain/list10.hpp +0 -149
  1618. data/ext/boost/mpl/list/aux_/preprocessed/plain/list10_c.hpp +0 -164
  1619. data/ext/boost/mpl/list/aux_/preprocessed/plain/list20.hpp +0 -169
  1620. data/ext/boost/mpl/list/aux_/preprocessed/plain/list20_c.hpp +0 -173
  1621. data/ext/boost/mpl/list/aux_/preprocessed/plain/list30.hpp +0 -189
  1622. data/ext/boost/mpl/list/aux_/preprocessed/plain/list30_c.hpp +0 -183
  1623. data/ext/boost/mpl/list/aux_/preprocessed/plain/list40.hpp +0 -209
  1624. data/ext/boost/mpl/list/aux_/preprocessed/plain/list40_c.hpp +0 -193
  1625. data/ext/boost/mpl/list/aux_/preprocessed/plain/list50.hpp +0 -229
  1626. data/ext/boost/mpl/list/aux_/preprocessed/plain/list50_c.hpp +0 -203
  1627. data/ext/boost/mpl/list/aux_/push_back.hpp +0 -36
  1628. data/ext/boost/mpl/list/aux_/push_front.hpp +0 -39
  1629. data/ext/boost/mpl/list/aux_/size.hpp +0 -33
  1630. data/ext/boost/mpl/list/aux_/tag.hpp +0 -24
  1631. data/ext/boost/mpl/list/list0.hpp +0 -42
  1632. data/ext/boost/mpl/list/list0_c.hpp +0 -31
  1633. data/ext/boost/mpl/list/list10.hpp +0 -43
  1634. data/ext/boost/mpl/list/list10_c.hpp +0 -43
  1635. data/ext/boost/mpl/list/list20.hpp +0 -43
  1636. data/ext/boost/mpl/list/list20_c.hpp +0 -43
  1637. data/ext/boost/mpl/list/list30.hpp +0 -43
  1638. data/ext/boost/mpl/list/list30_c.hpp +0 -43
  1639. data/ext/boost/mpl/list/list40.hpp +0 -43
  1640. data/ext/boost/mpl/list/list40_c.hpp +0 -43
  1641. data/ext/boost/mpl/list/list50.hpp +0 -43
  1642. data/ext/boost/mpl/list/list50_c.hpp +0 -43
  1643. data/ext/boost/mpl/list_c.hpp +0 -60
  1644. data/ext/boost/mpl/long.hpp +0 -22
  1645. data/ext/boost/mpl/long_fwd.hpp +0 -27
  1646. data/ext/boost/mpl/lower_bound.hpp +0 -143
  1647. data/ext/boost/mpl/map.hpp +0 -57
  1648. data/ext/boost/mpl/map/aux_/at_impl.hpp +0 -144
  1649. data/ext/boost/mpl/map/aux_/begin_end_impl.hpp +0 -50
  1650. data/ext/boost/mpl/map/aux_/clear_impl.hpp +0 -35
  1651. data/ext/boost/mpl/map/aux_/contains_impl.hpp +0 -43
  1652. data/ext/boost/mpl/map/aux_/empty_impl.hpp +0 -34
  1653. data/ext/boost/mpl/map/aux_/erase_impl.hpp +0 -41
  1654. data/ext/boost/mpl/map/aux_/erase_key_impl.hpp +0 -53
  1655. data/ext/boost/mpl/map/aux_/has_key_impl.hpp +0 -44
  1656. data/ext/boost/mpl/map/aux_/include_preprocessed.hpp +0 -53
  1657. data/ext/boost/mpl/map/aux_/insert_impl.hpp +0 -72
  1658. data/ext/boost/mpl/map/aux_/item.hpp +0 -138
  1659. data/ext/boost/mpl/map/aux_/iterator.hpp +0 -169
  1660. data/ext/boost/mpl/map/aux_/key_type_impl.hpp +0 -36
  1661. data/ext/boost/mpl/map/aux_/map0.hpp +0 -74
  1662. data/ext/boost/mpl/map/aux_/numbered.hpp +0 -110
  1663. data/ext/boost/mpl/map/aux_/preprocessed/no_ctps/map10.hpp +0 -350
  1664. data/ext/boost/mpl/map/aux_/preprocessed/no_ctps/map20.hpp +0 -370
  1665. data/ext/boost/mpl/map/aux_/preprocessed/no_ctps/map30.hpp +0 -390
  1666. data/ext/boost/mpl/map/aux_/preprocessed/no_ctps/map40.hpp +0 -410
  1667. data/ext/boost/mpl/map/aux_/preprocessed/no_ctps/map50.hpp +0 -430
  1668. data/ext/boost/mpl/map/aux_/preprocessed/plain/map10.hpp +0 -290
  1669. data/ext/boost/mpl/map/aux_/preprocessed/plain/map20.hpp +0 -310
  1670. data/ext/boost/mpl/map/aux_/preprocessed/plain/map30.hpp +0 -330
  1671. data/ext/boost/mpl/map/aux_/preprocessed/plain/map40.hpp +0 -350
  1672. data/ext/boost/mpl/map/aux_/preprocessed/plain/map50.hpp +0 -370
  1673. data/ext/boost/mpl/map/aux_/preprocessed/typeof_based/map10.hpp +0 -150
  1674. data/ext/boost/mpl/map/aux_/preprocessed/typeof_based/map20.hpp +0 -170
  1675. data/ext/boost/mpl/map/aux_/preprocessed/typeof_based/map30.hpp +0 -190
  1676. data/ext/boost/mpl/map/aux_/preprocessed/typeof_based/map40.hpp +0 -210
  1677. data/ext/boost/mpl/map/aux_/preprocessed/typeof_based/map50.hpp +0 -230
  1678. data/ext/boost/mpl/map/aux_/size_impl.hpp +0 -33
  1679. data/ext/boost/mpl/map/aux_/tag.hpp +0 -24
  1680. data/ext/boost/mpl/map/aux_/value_type_impl.hpp +0 -36
  1681. data/ext/boost/mpl/map/map0.hpp +0 -36
  1682. data/ext/boost/mpl/map/map10.hpp +0 -44
  1683. data/ext/boost/mpl/map/map20.hpp +0 -44
  1684. data/ext/boost/mpl/map/map30.hpp +0 -44
  1685. data/ext/boost/mpl/map/map40.hpp +0 -44
  1686. data/ext/boost/mpl/map/map50.hpp +0 -44
  1687. data/ext/boost/mpl/math/fixed_c.hpp +0 -36
  1688. data/ext/boost/mpl/math/is_even.hpp +0 -54
  1689. data/ext/boost/mpl/math/rational_c.hpp +0 -37
  1690. data/ext/boost/mpl/max.hpp +0 -19
  1691. data/ext/boost/mpl/max_element.hpp +0 -72
  1692. data/ext/boost/mpl/min.hpp +0 -19
  1693. data/ext/boost/mpl/min_element.hpp +0 -40
  1694. data/ext/boost/mpl/min_max.hpp +0 -46
  1695. data/ext/boost/mpl/minus.hpp +0 -21
  1696. data/ext/boost/mpl/modulus.hpp +0 -22
  1697. data/ext/boost/mpl/multiplies.hpp +0 -53
  1698. data/ext/boost/mpl/multiset/aux_/count_impl.hpp +0 -82
  1699. data/ext/boost/mpl/multiset/aux_/insert_impl.hpp +0 -34
  1700. data/ext/boost/mpl/multiset/aux_/item.hpp +0 -114
  1701. data/ext/boost/mpl/multiset/aux_/multiset0.hpp +0 -34
  1702. data/ext/boost/mpl/multiset/aux_/tag.hpp +0 -23
  1703. data/ext/boost/mpl/multiset/multiset0.hpp +0 -36
  1704. data/ext/boost/mpl/negate.hpp +0 -81
  1705. data/ext/boost/mpl/not_equal_to.hpp +0 -21
  1706. data/ext/boost/mpl/numeric_cast.hpp +0 -41
  1707. data/ext/boost/mpl/order.hpp +0 -41
  1708. data/ext/boost/mpl/order_fwd.hpp +0 -25
  1709. data/ext/boost/mpl/pair.hpp +0 -70
  1710. data/ext/boost/mpl/pair_view.hpp +0 -169
  1711. data/ext/boost/mpl/partition.hpp +0 -53
  1712. data/ext/boost/mpl/plus.hpp +0 -21
  1713. data/ext/boost/mpl/pop_back.hpp +0 -39
  1714. data/ext/boost/mpl/pop_back_fwd.hpp +0 -24
  1715. data/ext/boost/mpl/pop_front.hpp +0 -39
  1716. data/ext/boost/mpl/pop_front_fwd.hpp +0 -24
  1717. data/ext/boost/mpl/print.hpp +0 -74
  1718. data/ext/boost/mpl/prior.hpp +0 -19
  1719. data/ext/boost/mpl/push_back.hpp +0 -53
  1720. data/ext/boost/mpl/push_back_fwd.hpp +0 -24
  1721. data/ext/boost/mpl/push_front.hpp +0 -52
  1722. data/ext/boost/mpl/push_front_fwd.hpp +0 -24
  1723. data/ext/boost/mpl/range_c.hpp +0 -48
  1724. data/ext/boost/mpl/remove.hpp +0 -52
  1725. data/ext/boost/mpl/remove_if.hpp +0 -83
  1726. data/ext/boost/mpl/replace.hpp +0 -55
  1727. data/ext/boost/mpl/replace_if.hpp +0 -88
  1728. data/ext/boost/mpl/reverse.hpp +0 -38
  1729. data/ext/boost/mpl/reverse_fold.hpp +0 -50
  1730. data/ext/boost/mpl/reverse_iter_fold.hpp +0 -56
  1731. data/ext/boost/mpl/same_as.hpp +0 -55
  1732. data/ext/boost/mpl/sequence_tag.hpp +0 -124
  1733. data/ext/boost/mpl/sequence_tag_fwd.hpp +0 -26
  1734. data/ext/boost/mpl/set.hpp +0 -57
  1735. data/ext/boost/mpl/set/aux_/at_impl.hpp +0 -40
  1736. data/ext/boost/mpl/set/aux_/begin_end_impl.hpp +0 -43
  1737. data/ext/boost/mpl/set/aux_/clear_impl.hpp +0 -35
  1738. data/ext/boost/mpl/set/aux_/empty_impl.hpp +0 -34
  1739. data/ext/boost/mpl/set/aux_/erase_impl.hpp +0 -41
  1740. data/ext/boost/mpl/set/aux_/erase_key_impl.hpp +0 -53
  1741. data/ext/boost/mpl/set/aux_/has_key_impl.hpp +0 -60
  1742. data/ext/boost/mpl/set/aux_/include_preprocessed.hpp +0 -42
  1743. data/ext/boost/mpl/set/aux_/insert_impl.hpp +0 -65
  1744. data/ext/boost/mpl/set/aux_/item.hpp +0 -82
  1745. data/ext/boost/mpl/set/aux_/iterator.hpp +0 -97
  1746. data/ext/boost/mpl/set/aux_/key_type_impl.hpp +0 -34
  1747. data/ext/boost/mpl/set/aux_/numbered.hpp +0 -48
  1748. data/ext/boost/mpl/set/aux_/numbered_c.hpp +0 -48
  1749. data/ext/boost/mpl/set/aux_/preprocessed/plain/set10.hpp +0 -140
  1750. data/ext/boost/mpl/set/aux_/preprocessed/plain/set10_c.hpp +0 -145
  1751. data/ext/boost/mpl/set/aux_/preprocessed/plain/set20.hpp +0 -168
  1752. data/ext/boost/mpl/set/aux_/preprocessed/plain/set20_c.hpp +0 -154
  1753. data/ext/boost/mpl/set/aux_/preprocessed/plain/set30.hpp +0 -195
  1754. data/ext/boost/mpl/set/aux_/preprocessed/plain/set30_c.hpp +0 -164
  1755. data/ext/boost/mpl/set/aux_/preprocessed/plain/set40.hpp +0 -221
  1756. data/ext/boost/mpl/set/aux_/preprocessed/plain/set40_c.hpp +0 -174
  1757. data/ext/boost/mpl/set/aux_/preprocessed/plain/set50.hpp +0 -250
  1758. data/ext/boost/mpl/set/aux_/preprocessed/plain/set50_c.hpp +0 -184
  1759. data/ext/boost/mpl/set/aux_/set0.hpp +0 -69
  1760. data/ext/boost/mpl/set/aux_/size_impl.hpp +0 -33
  1761. data/ext/boost/mpl/set/aux_/tag.hpp +0 -24
  1762. data/ext/boost/mpl/set/aux_/value_type_impl.hpp +0 -34
  1763. data/ext/boost/mpl/set/set0.hpp +0 -35
  1764. data/ext/boost/mpl/set/set0_c.hpp +0 -32
  1765. data/ext/boost/mpl/set/set10.hpp +0 -44
  1766. data/ext/boost/mpl/set/set10_c.hpp +0 -45
  1767. data/ext/boost/mpl/set/set20.hpp +0 -44
  1768. data/ext/boost/mpl/set/set20_c.hpp +0 -45
  1769. data/ext/boost/mpl/set/set30.hpp +0 -44
  1770. data/ext/boost/mpl/set/set30_c.hpp +0 -45
  1771. data/ext/boost/mpl/set/set40.hpp +0 -44
  1772. data/ext/boost/mpl/set/set40_c.hpp +0 -45
  1773. data/ext/boost/mpl/set/set50.hpp +0 -44
  1774. data/ext/boost/mpl/set/set50_c.hpp +0 -45
  1775. data/ext/boost/mpl/set_c.hpp +0 -60
  1776. data/ext/boost/mpl/shift_left.hpp +0 -22
  1777. data/ext/boost/mpl/shift_right.hpp +0 -22
  1778. data/ext/boost/mpl/single_view.hpp +0 -38
  1779. data/ext/boost/mpl/size.hpp +0 -42
  1780. data/ext/boost/mpl/size_fwd.hpp +0 -24
  1781. data/ext/boost/mpl/sizeof.hpp +0 -36
  1782. data/ext/boost/mpl/sort.hpp +0 -27
  1783. data/ext/boost/mpl/stable_partition.hpp +0 -75
  1784. data/ext/boost/mpl/switch.hpp +0 -49
  1785. data/ext/boost/mpl/tag.hpp +0 -52
  1786. data/ext/boost/mpl/times.hpp +0 -21
  1787. data/ext/boost/mpl/transform.hpp +0 -145
  1788. data/ext/boost/mpl/transform_view.hpp +0 -46
  1789. data/ext/boost/mpl/unique.hpp +0 -85
  1790. data/ext/boost/mpl/unpack_args.hpp +0 -146
  1791. data/ext/boost/mpl/upper_bound.hpp +0 -141
  1792. data/ext/boost/mpl/value_type.hpp +0 -42
  1793. data/ext/boost/mpl/value_type_fwd.hpp +0 -25
  1794. data/ext/boost/mpl/vector.hpp +0 -57
  1795. data/ext/boost/mpl/vector/aux_/O1_size.hpp +0 -56
  1796. data/ext/boost/mpl/vector/aux_/at.hpp +0 -116
  1797. data/ext/boost/mpl/vector/aux_/back.hpp +0 -59
  1798. data/ext/boost/mpl/vector/aux_/begin_end.hpp +0 -49
  1799. data/ext/boost/mpl/vector/aux_/clear.hpp +0 -55
  1800. data/ext/boost/mpl/vector/aux_/empty.hpp +0 -68
  1801. data/ext/boost/mpl/vector/aux_/front.hpp +0 -56
  1802. data/ext/boost/mpl/vector/aux_/include_preprocessed.hpp +0 -55
  1803. data/ext/boost/mpl/vector/aux_/item.hpp +0 -103
  1804. data/ext/boost/mpl/vector/aux_/iterator.hpp +0 -130
  1805. data/ext/boost/mpl/vector/aux_/numbered.hpp +0 -218
  1806. data/ext/boost/mpl/vector/aux_/numbered_c.hpp +0 -77
  1807. data/ext/boost/mpl/vector/aux_/pop_back.hpp +0 -40
  1808. data/ext/boost/mpl/vector/aux_/pop_front.hpp +0 -40
  1809. data/ext/boost/mpl/vector/aux_/preprocessed/no_ctps/vector10.hpp +0 -1528
  1810. data/ext/boost/mpl/vector/aux_/preprocessed/no_ctps/vector10_c.hpp +0 -149
  1811. data/ext/boost/mpl/vector/aux_/preprocessed/no_ctps/vector20.hpp +0 -1804
  1812. data/ext/boost/mpl/vector/aux_/preprocessed/no_ctps/vector20_c.hpp +0 -195
  1813. data/ext/boost/mpl/vector/aux_/preprocessed/no_ctps/vector30.hpp +0 -2124
  1814. data/ext/boost/mpl/vector/aux_/preprocessed/no_ctps/vector30_c.hpp +0 -238
  1815. data/ext/boost/mpl/vector/aux_/preprocessed/no_ctps/vector40.hpp +0 -2444
  1816. data/ext/boost/mpl/vector/aux_/preprocessed/no_ctps/vector40_c.hpp +0 -281
  1817. data/ext/boost/mpl/vector/aux_/preprocessed/no_ctps/vector50.hpp +0 -2764
  1818. data/ext/boost/mpl/vector/aux_/preprocessed/no_ctps/vector50_c.hpp +0 -325
  1819. data/ext/boost/mpl/vector/aux_/preprocessed/plain/vector10.hpp +0 -829
  1820. data/ext/boost/mpl/vector/aux_/preprocessed/plain/vector10_c.hpp +0 -149
  1821. data/ext/boost/mpl/vector/aux_/preprocessed/plain/vector20.hpp +0 -1144
  1822. data/ext/boost/mpl/vector/aux_/preprocessed/plain/vector20_c.hpp +0 -195
  1823. data/ext/boost/mpl/vector/aux_/preprocessed/plain/vector30.hpp +0 -1464
  1824. data/ext/boost/mpl/vector/aux_/preprocessed/plain/vector30_c.hpp +0 -238
  1825. data/ext/boost/mpl/vector/aux_/preprocessed/plain/vector40.hpp +0 -1784
  1826. data/ext/boost/mpl/vector/aux_/preprocessed/plain/vector40_c.hpp +0 -281
  1827. data/ext/boost/mpl/vector/aux_/preprocessed/plain/vector50.hpp +0 -2104
  1828. data/ext/boost/mpl/vector/aux_/preprocessed/plain/vector50_c.hpp +0 -325
  1829. data/ext/boost/mpl/vector/aux_/preprocessed/typeof_based/vector10.hpp +0 -139
  1830. data/ext/boost/mpl/vector/aux_/preprocessed/typeof_based/vector10_c.hpp +0 -154
  1831. data/ext/boost/mpl/vector/aux_/preprocessed/typeof_based/vector20.hpp +0 -159
  1832. data/ext/boost/mpl/vector/aux_/preprocessed/typeof_based/vector20_c.hpp +0 -163
  1833. data/ext/boost/mpl/vector/aux_/preprocessed/typeof_based/vector30.hpp +0 -179
  1834. data/ext/boost/mpl/vector/aux_/preprocessed/typeof_based/vector30_c.hpp +0 -173
  1835. data/ext/boost/mpl/vector/aux_/preprocessed/typeof_based/vector40.hpp +0 -199
  1836. data/ext/boost/mpl/vector/aux_/preprocessed/typeof_based/vector40_c.hpp +0 -183
  1837. data/ext/boost/mpl/vector/aux_/preprocessed/typeof_based/vector50.hpp +0 -219
  1838. data/ext/boost/mpl/vector/aux_/preprocessed/typeof_based/vector50_c.hpp +0 -193
  1839. data/ext/boost/mpl/vector/aux_/push_back.hpp +0 -40
  1840. data/ext/boost/mpl/vector/aux_/push_front.hpp +0 -40
  1841. data/ext/boost/mpl/vector/aux_/size.hpp +0 -49
  1842. data/ext/boost/mpl/vector/aux_/tag.hpp +0 -32
  1843. data/ext/boost/mpl/vector/aux_/vector0.hpp +0 -52
  1844. data/ext/boost/mpl/vector/vector0.hpp +0 -34
  1845. data/ext/boost/mpl/vector/vector0_c.hpp +0 -31
  1846. data/ext/boost/mpl/vector/vector10.hpp +0 -45
  1847. data/ext/boost/mpl/vector/vector10_c.hpp +0 -46
  1848. data/ext/boost/mpl/vector/vector20.hpp +0 -45
  1849. data/ext/boost/mpl/vector/vector20_c.hpp +0 -46
  1850. data/ext/boost/mpl/vector/vector30.hpp +0 -45
  1851. data/ext/boost/mpl/vector/vector30_c.hpp +0 -47
  1852. data/ext/boost/mpl/vector/vector40.hpp +0 -45
  1853. data/ext/boost/mpl/vector/vector40_c.hpp +0 -46
  1854. data/ext/boost/mpl/vector/vector50.hpp +0 -45
  1855. data/ext/boost/mpl/vector/vector50_c.hpp +0 -46
  1856. data/ext/boost/mpl/vector_c.hpp +0 -60
  1857. data/ext/boost/mpl/zip_view.hpp +0 -64
  1858. data/ext/boost/optional/optional_io.hpp +0 -84
  1859. data/ext/boost/preprocessor/arithmetic.hpp +0 -25
  1860. data/ext/boost/preprocessor/arithmetic/detail/div_base.hpp +0 -61
  1861. data/ext/boost/preprocessor/arithmetic/div.hpp +0 -39
  1862. data/ext/boost/preprocessor/arithmetic/mod.hpp +0 -39
  1863. data/ext/boost/preprocessor/arithmetic/mul.hpp +0 -53
  1864. data/ext/boost/preprocessor/array.hpp +0 -27
  1865. data/ext/boost/preprocessor/array/insert.hpp +0 -55
  1866. data/ext/boost/preprocessor/array/pop_back.hpp +0 -37
  1867. data/ext/boost/preprocessor/array/pop_front.hpp +0 -38
  1868. data/ext/boost/preprocessor/array/push_back.hpp +0 -33
  1869. data/ext/boost/preprocessor/array/push_front.hpp +0 -33
  1870. data/ext/boost/preprocessor/array/remove.hpp +0 -54
  1871. data/ext/boost/preprocessor/array/replace.hpp +0 -49
  1872. data/ext/boost/preprocessor/array/reverse.hpp +0 -29
  1873. data/ext/boost/preprocessor/assert_msg.hpp +0 -17
  1874. data/ext/boost/preprocessor/comma.hpp +0 -17
  1875. data/ext/boost/preprocessor/comparison.hpp +0 -24
  1876. data/ext/boost/preprocessor/comparison/equal.hpp +0 -34
  1877. data/ext/boost/preprocessor/comparison/greater.hpp +0 -38
  1878. data/ext/boost/preprocessor/comparison/greater_equal.hpp +0 -38
  1879. data/ext/boost/preprocessor/comparison/less.hpp +0 -46
  1880. data/ext/boost/preprocessor/comparison/less_equal.hpp +0 -39
  1881. data/ext/boost/preprocessor/comparison/not_equal.hpp +0 -814
  1882. data/ext/boost/preprocessor/config/limits.hpp +0 -29
  1883. data/ext/boost/preprocessor/control.hpp +0 -22
  1884. data/ext/boost/preprocessor/control/deduce_d.hpp +0 -22
  1885. data/ext/boost/preprocessor/control/detail/dmc/while.hpp +0 -536
  1886. data/ext/boost/preprocessor/control/detail/edg/while.hpp +0 -534
  1887. data/ext/boost/preprocessor/control/detail/msvc/while.hpp +0 -277
  1888. data/ext/boost/preprocessor/control/expr_if.hpp +0 -30
  1889. data/ext/boost/preprocessor/debug.hpp +0 -18
  1890. data/ext/boost/preprocessor/debug/assert.hpp +0 -44
  1891. data/ext/boost/preprocessor/debug/line.hpp +0 -35
  1892. data/ext/boost/preprocessor/dec.hpp +0 -17
  1893. data/ext/boost/preprocessor/detail/dmc/auto_rec.hpp +0 -286
  1894. data/ext/boost/preprocessor/detail/is_nullary.hpp +0 -30
  1895. data/ext/boost/preprocessor/detail/is_unary.hpp +0 -30
  1896. data/ext/boost/preprocessor/detail/null.hpp +0 -17
  1897. data/ext/boost/preprocessor/detail/split.hpp +0 -35
  1898. data/ext/boost/preprocessor/enum_params_with_a_default.hpp +0 -17
  1899. data/ext/boost/preprocessor/enum_params_with_defaults.hpp +0 -17
  1900. data/ext/boost/preprocessor/enum_shifted.hpp +0 -17
  1901. data/ext/boost/preprocessor/enum_shifted_params.hpp +0 -17
  1902. data/ext/boost/preprocessor/expand.hpp +0 -17
  1903. data/ext/boost/preprocessor/expr_if.hpp +0 -17
  1904. data/ext/boost/preprocessor/facilities.hpp +0 -21
  1905. data/ext/boost/preprocessor/facilities/apply.hpp +0 -34
  1906. data/ext/boost/preprocessor/facilities/expand.hpp +0 -28
  1907. data/ext/boost/preprocessor/facilities/intercept.hpp +0 -277
  1908. data/ext/boost/preprocessor/facilities/is_1.hpp +0 -23
  1909. data/ext/boost/preprocessor/facilities/is_empty.hpp +0 -43
  1910. data/ext/boost/preprocessor/facilities/is_empty_or_1.hpp +0 -30
  1911. data/ext/boost/preprocessor/for.hpp +0 -17
  1912. data/ext/boost/preprocessor/if.hpp +0 -17
  1913. data/ext/boost/preprocessor/iteration.hpp +0 -19
  1914. data/ext/boost/preprocessor/iteration/detail/bounds/lower2.hpp +0 -99
  1915. data/ext/boost/preprocessor/iteration/detail/bounds/lower3.hpp +0 -99
  1916. data/ext/boost/preprocessor/iteration/detail/bounds/lower4.hpp +0 -99
  1917. data/ext/boost/preprocessor/iteration/detail/bounds/lower5.hpp +0 -99
  1918. data/ext/boost/preprocessor/iteration/detail/bounds/upper2.hpp +0 -99
  1919. data/ext/boost/preprocessor/iteration/detail/bounds/upper3.hpp +0 -99
  1920. data/ext/boost/preprocessor/iteration/detail/bounds/upper4.hpp +0 -99
  1921. data/ext/boost/preprocessor/iteration/detail/bounds/upper5.hpp +0 -99
  1922. data/ext/boost/preprocessor/iteration/detail/finish.hpp +0 -99
  1923. data/ext/boost/preprocessor/iteration/detail/iter/forward2.hpp +0 -1338
  1924. data/ext/boost/preprocessor/iteration/detail/iter/forward3.hpp +0 -1338
  1925. data/ext/boost/preprocessor/iteration/detail/iter/forward4.hpp +0 -1338
  1926. data/ext/boost/preprocessor/iteration/detail/iter/forward5.hpp +0 -1338
  1927. data/ext/boost/preprocessor/iteration/detail/iter/reverse1.hpp +0 -1296
  1928. data/ext/boost/preprocessor/iteration/detail/iter/reverse2.hpp +0 -1296
  1929. data/ext/boost/preprocessor/iteration/detail/iter/reverse3.hpp +0 -1296
  1930. data/ext/boost/preprocessor/iteration/detail/iter/reverse4.hpp +0 -1296
  1931. data/ext/boost/preprocessor/iteration/detail/iter/reverse5.hpp +0 -1296
  1932. data/ext/boost/preprocessor/iteration/detail/local.hpp +0 -812
  1933. data/ext/boost/preprocessor/iteration/detail/rlocal.hpp +0 -782
  1934. data/ext/boost/preprocessor/iteration/detail/self.hpp +0 -21
  1935. data/ext/boost/preprocessor/iteration/detail/start.hpp +0 -99
  1936. data/ext/boost/preprocessor/iteration/local.hpp +0 -26
  1937. data/ext/boost/preprocessor/iteration/self.hpp +0 -19
  1938. data/ext/boost/preprocessor/library.hpp +0 -34
  1939. data/ext/boost/preprocessor/limits.hpp +0 -17
  1940. data/ext/boost/preprocessor/list.hpp +0 -35
  1941. data/ext/boost/preprocessor/list/at.hpp +0 -39
  1942. data/ext/boost/preprocessor/list/cat.hpp +0 -42
  1943. data/ext/boost/preprocessor/list/detail/dmc/fold_left.hpp +0 -279
  1944. data/ext/boost/preprocessor/list/detail/edg/fold_left.hpp +0 -536
  1945. data/ext/boost/preprocessor/list/detail/edg/fold_right.hpp +0 -794
  1946. data/ext/boost/preprocessor/list/enum.hpp +0 -41
  1947. data/ext/boost/preprocessor/list/filter.hpp +0 -54
  1948. data/ext/boost/preprocessor/list/first_n.hpp +0 -58
  1949. data/ext/boost/preprocessor/list/for_each.hpp +0 -49
  1950. data/ext/boost/preprocessor/list/for_each_product.hpp +0 -141
  1951. data/ext/boost/preprocessor/list/rest_n.hpp +0 -55
  1952. data/ext/boost/preprocessor/list/size.hpp +0 -58
  1953. data/ext/boost/preprocessor/list/to_tuple.hpp +0 -38
  1954. data/ext/boost/preprocessor/logical.hpp +0 -29
  1955. data/ext/boost/preprocessor/logical/bitnor.hpp +0 -38
  1956. data/ext/boost/preprocessor/logical/bitor.hpp +0 -38
  1957. data/ext/boost/preprocessor/logical/bitxor.hpp +0 -38
  1958. data/ext/boost/preprocessor/logical/nor.hpp +0 -30
  1959. data/ext/boost/preprocessor/logical/not.hpp +0 -30
  1960. data/ext/boost/preprocessor/logical/or.hpp +0 -30
  1961. data/ext/boost/preprocessor/logical/xor.hpp +0 -30
  1962. data/ext/boost/preprocessor/max.hpp +0 -17
  1963. data/ext/boost/preprocessor/min.hpp +0 -17
  1964. data/ext/boost/preprocessor/punctuation.hpp +0 -20
  1965. data/ext/boost/preprocessor/punctuation/paren.hpp +0 -23
  1966. data/ext/boost/preprocessor/punctuation/paren_if.hpp +0 -38
  1967. data/ext/boost/preprocessor/repeat_2nd.hpp +0 -17
  1968. data/ext/boost/preprocessor/repeat_3rd.hpp +0 -17
  1969. data/ext/boost/preprocessor/repeat_from_to.hpp +0 -17
  1970. data/ext/boost/preprocessor/repeat_from_to_2nd.hpp +0 -17
  1971. data/ext/boost/preprocessor/repeat_from_to_3rd.hpp +0 -17
  1972. data/ext/boost/preprocessor/repetition.hpp +0 -32
  1973. data/ext/boost/preprocessor/repetition/deduce_r.hpp +0 -22
  1974. data/ext/boost/preprocessor/repetition/deduce_z.hpp +0 -22
  1975. data/ext/boost/preprocessor/repetition/detail/dmc/for.hpp +0 -536
  1976. data/ext/boost/preprocessor/repetition/detail/edg/for.hpp +0 -534
  1977. data/ext/boost/preprocessor/repetition/detail/msvc/for.hpp +0 -277
  1978. data/ext/boost/preprocessor/repetition/enum_params_with_a_default.hpp +0 -25
  1979. data/ext/boost/preprocessor/repetition/enum_params_with_defaults.hpp +0 -24
  1980. data/ext/boost/preprocessor/repetition/enum_shifted.hpp +0 -68
  1981. data/ext/boost/preprocessor/repetition/enum_shifted_binary_params.hpp +0 -51
  1982. data/ext/boost/preprocessor/repetition/enum_shifted_params.hpp +0 -44
  1983. data/ext/boost/preprocessor/repetition/enum_trailing.hpp +0 -63
  1984. data/ext/boost/preprocessor/repetition/enum_trailing_binary_params.hpp +0 -53
  1985. data/ext/boost/preprocessor/repetition/enum_trailing_params.hpp +0 -38
  1986. data/ext/boost/preprocessor/selection.hpp +0 -18
  1987. data/ext/boost/preprocessor/selection/max.hpp +0 -39
  1988. data/ext/boost/preprocessor/selection/min.hpp +0 -39
  1989. data/ext/boost/preprocessor/seq.hpp +0 -41
  1990. data/ext/boost/preprocessor/seq/cat.hpp +0 -48
  1991. data/ext/boost/preprocessor/seq/detail/split.hpp +0 -284
  1992. data/ext/boost/preprocessor/seq/filter.hpp +0 -54
  1993. data/ext/boost/preprocessor/seq/first_n.hpp +0 -30
  1994. data/ext/boost/preprocessor/seq/fold_left.hpp +0 -1070
  1995. data/ext/boost/preprocessor/seq/fold_right.hpp +0 -288
  1996. data/ext/boost/preprocessor/seq/for_each.hpp +0 -60
  1997. data/ext/boost/preprocessor/seq/for_each_product.hpp +0 -126
  1998. data/ext/boost/preprocessor/seq/insert.hpp +0 -28
  1999. data/ext/boost/preprocessor/seq/pop_back.hpp +0 -29
  2000. data/ext/boost/preprocessor/seq/pop_front.hpp +0 -27
  2001. data/ext/boost/preprocessor/seq/push_back.hpp +0 -19
  2002. data/ext/boost/preprocessor/seq/push_front.hpp +0 -19
  2003. data/ext/boost/preprocessor/seq/remove.hpp +0 -29
  2004. data/ext/boost/preprocessor/seq/replace.hpp +0 -29
  2005. data/ext/boost/preprocessor/seq/rest_n.hpp +0 -30
  2006. data/ext/boost/preprocessor/seq/reverse.hpp +0 -39
  2007. data/ext/boost/preprocessor/seq/subseq.hpp +0 -28
  2008. data/ext/boost/preprocessor/seq/to_array.hpp +0 -28
  2009. data/ext/boost/preprocessor/seq/to_tuple.hpp +0 -27
  2010. data/ext/boost/preprocessor/seq/transform.hpp +0 -48
  2011. data/ext/boost/preprocessor/slot.hpp +0 -17
  2012. data/ext/boost/preprocessor/slot/counter.hpp +0 -25
  2013. data/ext/boost/preprocessor/slot/detail/counter.hpp +0 -269
  2014. data/ext/boost/preprocessor/slot/detail/slot1.hpp +0 -267
  2015. data/ext/boost/preprocessor/slot/detail/slot2.hpp +0 -267
  2016. data/ext/boost/preprocessor/slot/detail/slot3.hpp +0 -267
  2017. data/ext/boost/preprocessor/slot/detail/slot4.hpp +0 -267
  2018. data/ext/boost/preprocessor/slot/detail/slot5.hpp +0 -267
  2019. data/ext/boost/preprocessor/tuple.hpp +0 -24
  2020. data/ext/boost/preprocessor/tuple/reverse.hpp +0 -62
  2021. data/ext/boost/preprocessor/tuple/to_seq.hpp +0 -60
  2022. data/ext/boost/preprocessor/while.hpp +0 -17
  2023. data/ext/boost/preprocessor/wstringize.hpp +0 -29
  2024. data/ext/boost/src/barrier.cpp +0 -42
  2025. data/ext/boost/src/condition.cpp +0 -692
  2026. data/ext/boost/src/exceptions.cpp +0 -147
  2027. data/ext/boost/src/mutex.cpp +0 -561
  2028. data/ext/boost/src/mutex.inl +0 -128
  2029. data/ext/boost/src/once.cpp +0 -213
  2030. data/ext/boost/src/recursive_mutex.cpp +0 -1040
  2031. data/ext/boost/src/thread.cpp +0 -371
  2032. data/ext/boost/src/timeconv.inl +0 -130
  2033. data/ext/boost/src/tss.cpp +0 -251
  2034. data/ext/boost/src/tss_hooks.cpp +0 -212
  2035. data/ext/boost/src/tss_pe.cpp +0 -179
  2036. data/ext/boost/src/xtime.cpp +0 -158
  2037. data/ext/boost/thread/barrier.hpp +0 -44
  2038. data/ext/boost/thread/detail/force_cast.hpp +0 -39
  2039. data/ext/boost/thread/detail/lock.hpp +0 -209
  2040. data/ext/boost/thread/detail/read_write_lock.hpp +0 -1106
  2041. data/ext/boost/thread/detail/singleton.hpp +0 -59
  2042. data/ext/boost/thread/detail/tss_hooks.hpp +0 -78
  2043. data/ext/boost/type_traits/add_cv.hpp +0 -48
  2044. data/ext/boost/type_traits/add_volatile.hpp +0 -47
  2045. data/ext/boost/type_traits/aligned_storage.hpp +0 -13
  2046. data/ext/boost/type_traits/alignment_traits.hpp +0 -15
  2047. data/ext/boost/type_traits/arithmetic_traits.hpp +0 -20
  2048. data/ext/boost/type_traits/array_traits.hpp +0 -15
  2049. data/ext/boost/type_traits/cv_traits.hpp +0 -24
  2050. data/ext/boost/type_traits/decay.hpp +0 -44
  2051. data/ext/boost/type_traits/detail/is_function_ptr_tester.hpp +0 -654
  2052. data/ext/boost/type_traits/detail/is_mem_fun_pointer_tester.hpp +0 -2759
  2053. data/ext/boost/type_traits/detail/wrap.hpp +0 -18
  2054. data/ext/boost/type_traits/extent.hpp +0 -134
  2055. data/ext/boost/type_traits/has_nothrow_assign.hpp +0 -38
  2056. data/ext/boost/type_traits/has_nothrow_constructor.hpp +0 -38
  2057. data/ext/boost/type_traits/has_nothrow_destructor.hpp +0 -25
  2058. data/ext/boost/type_traits/has_trivial_assign.hpp +0 -50
  2059. data/ext/boost/type_traits/has_trivial_constructor.hpp +0 -42
  2060. data/ext/boost/type_traits/has_trivial_destructor.hpp +0 -42
  2061. data/ext/boost/type_traits/has_virtual_destructor.hpp +0 -25
  2062. data/ext/boost/type_traits/is_base_and_derived.hpp +0 -223
  2063. data/ext/boost/type_traits/is_base_of.hpp +0 -40
  2064. data/ext/boost/type_traits/is_compound.hpp +0 -40
  2065. data/ext/boost/type_traits/is_empty.hpp +0 -211
  2066. data/ext/boost/type_traits/is_floating_point.hpp +0 -27
  2067. data/ext/boost/type_traits/is_fundamental.hpp +0 -41
  2068. data/ext/boost/type_traits/is_member_object_pointer.hpp +0 -46
  2069. data/ext/boost/type_traits/is_object.hpp +0 -53
  2070. data/ext/boost/type_traits/is_polymorphic.hpp +0 -102
  2071. data/ext/boost/type_traits/is_signed.hpp +0 -117
  2072. data/ext/boost/type_traits/is_stateless.hpp +0 -48
  2073. data/ext/boost/type_traits/is_unsigned.hpp +0 -114
  2074. data/ext/boost/type_traits/msvc/remove_all_extents.hpp +0 -47
  2075. data/ext/boost/type_traits/msvc/remove_bounds.hpp +0 -43
  2076. data/ext/boost/type_traits/msvc/remove_const.hpp +0 -143
  2077. data/ext/boost/type_traits/msvc/remove_cv.hpp +0 -190
  2078. data/ext/boost/type_traits/msvc/remove_extent.hpp +0 -43
  2079. data/ext/boost/type_traits/msvc/remove_pointer.hpp +0 -42
  2080. data/ext/boost/type_traits/msvc/remove_reference.hpp +0 -42
  2081. data/ext/boost/type_traits/msvc/remove_volatile.hpp +0 -143
  2082. data/ext/boost/type_traits/msvc/typeof.hpp +0 -50
  2083. data/ext/boost/type_traits/object_traits.hpp +0 -33
  2084. data/ext/boost/type_traits/rank.hpp +0 -81
  2085. data/ext/boost/type_traits/reference_traits.hpp +0 -15
  2086. data/ext/boost/type_traits/remove_all_extents.hpp +0 -48
  2087. data/ext/boost/type_traits/remove_bounds.hpp +0 -48
  2088. data/ext/boost/type_traits/remove_extent.hpp +0 -48
  2089. data/ext/boost/type_traits/remove_volatile.hpp +0 -77
  2090. data/ext/boost/type_traits/same_traits.hpp +0 -15
  2091. data/ext/boost/type_traits/transform_traits.hpp +0 -21
  2092. data/ext/boost/type_traits/transform_traits_spec.hpp +0 -14
  2093. data/ext/boost/utility/in_place_factory.hpp +0 -58
  2094. data/ext/boost/utility/result_of.hpp +0 -66
  2095. data/ext/boost/utility/typed_in_place_factory.hpp +0 -57
  2096. data/ext/boost/utility/value_init.hpp +0 -77
  2097. data/lib/passenger/application_spawner.rb +0 -329
  2098. data/lib/passenger/cgi_fixed.rb +0 -66
  2099. data/lib/passenger/framework_spawner.rb +0 -351
  2100. data/lib/passenger/request_handler.rb +0 -333
  2101. data/lib/passenger/templates/apache_must_be_compiled_with_prefork_mpm.txt.erb +0 -8
  2102. data/test/abstract_server_spec.rb +0 -17
  2103. data/test/application_spawner_spec.rb +0 -80
  2104. data/test/application_spec.rb +0 -25
  2105. data/test/framework_spawner_spec.rb +0 -101
  2106. data/test/message_channel_spec.rb +0 -171
  2107. data/test/minimal_spawner_spec.rb +0 -19
  2108. data/test/spawn_manager_spec.rb +0 -107
  2109. data/test/spawn_server_spec.rb +0 -25
  2110. data/test/spawner_error_handling_spec.rb +0 -35
  2111. data/test/spawner_privilege_lowering_spec.rb +0 -72
  2112. data/test/stub/broken-railsapp/config/environment.rb +0 -2
  2113. data/test/stub/broken-railsapp2/config/environment.rb +0 -3
  2114. data/test/stub/broken-railsapp3/config/environment.rb +0 -4
  2115. data/test/stub/broken-railsapp4/config/environment.rb +0 -1
  2116. data/test/stub/broken-railsapp5/config/environment.rb +0 -1
  2117. data/test/stub/broken-railsapp5/vendor/rails/actionpack/lib/action_controller.rb +0 -0
  2118. data/test/stub/broken-railsapp5/vendor/rails/activerecord/lib/active_record.rb +0 -0
  2119. data/test/stub/broken-railsapp5/vendor/rails/railties/lib/initializer.rb +0 -9
  2120. data/test/stub/mycook/app/controllers/welcome_controller.rb +0 -23
  2121. data/test/stub/railsapp-without-version-spec/app/controllers/foo_controller.rb +0 -5
  2122. data/test/stub/railsapp-without-version-spec/config/environment.rb +0 -58
  2123. data/test/support/apache2_config_writer.rb +0 -44
@@ -733,7 +733,7 @@ Attribution-Share Alike 3.0 Unported License</a>.</p></div>
733
733
  </div>
734
734
  <div id="footer">
735
735
  <div id="footer-text">
736
- Last updated 2008-04-03 18:08:47 CEST
736
+ Last updated 2008-06-16 20:50:40 CEST
737
737
  </div>
738
738
  </div>
739
739
  </body>
@@ -598,7 +598,7 @@ feel free to discuss it with us.</p></div>
598
598
  </div>
599
599
  <div id="footer">
600
600
  <div id="footer-text">
601
- Last updated 2008-03-13 14:22:38 CEST
601
+ Last updated 2008-06-16 20:50:37 CEST
602
602
  </div>
603
603
  </div>
604
604
  </body>
@@ -375,11 +375,11 @@ function generateToc(toclevels) {
375
375
  }
376
376
  /*]]>*/
377
377
  </script>
378
- <title>Passenger users guide</title>
378
+ <title>Phusion Passenger users guide</title>
379
379
  </head>
380
380
  <body>
381
381
  <div id="header">
382
- <h1>Passenger users guide</h1>
382
+ <h1>Phusion Passenger users guide</h1>
383
383
  <div id="toc">
384
384
  <div id="toctitle">Table of Contents</div>
385
385
  <noscript><p><b>JavaScript must be enabled in your browser to display the table of contents.</b></p></noscript>
@@ -392,19 +392,20 @@ function generateToc(toclevels) {
392
392
  <img src="images/phusion_banner.png" alt="images/phusion_banner.png" />
393
393
  </a>
394
394
  </span></p></div>
395
- <div class="para"><p>Passenger is an Apache module, which makes deploying Ruby on Rails applications
396
- on Apache a breeze. It follows the usual Ruby on Rails conventions, such as
397
- "Don't-Repeat-Yourself" and ease of setup.</p></div>
395
+ <div class="para"><p>Phusion Passenger is an Apache module, which makes deploying Ruby and Ruby on
396
+ Rails applications on Apache a breeze. It follows the usual Ruby on Rails
397
+ conventions, such as "Don't-Repeat-Yourself" and ease of setup, while at the
398
+ same time providing enough flexibility.</p></div>
398
399
  <div class="para"><p>This users guide will teach you:</p></div>
399
400
  <div class="ilist"><ul>
400
401
  <li>
401
402
  <p>
402
- How to install Passenger.
403
+ How to install Phusion Passenger.
403
404
  </p>
404
405
  </li>
405
406
  <li>
406
407
  <p>
407
- How to configure Passenger.
408
+ How to configure Phusion Passenger.
408
409
  </p>
409
410
  </li>
410
411
  <li>
@@ -414,6 +415,11 @@ How to deploy a Ruby on Rails application.
414
415
  </li>
415
416
  <li>
416
417
  <p>
418
+ How to deploy a <a href="http://rack.rubyforge.org/">Rack</a>-based Ruby application.
419
+ </p>
420
+ </li>
421
+ <li>
422
+ <p>
417
423
  How to solve common problems.
418
424
  </p>
419
425
  </li>
@@ -424,9 +430,9 @@ using the commandline.</p></div>
424
430
  </div>
425
431
  <h2 id="_supported_operating_systems">1. Supported operating systems</h2>
426
432
  <div class="sectionbody">
427
- <div class="para"><p>Passenger works on any POSIX-compliant operating system. In other words:
428
- practically any operating system on earth, except Microsoft Windows.</p></div>
429
- <div class="para"><p>Passenger has been tested on:</p></div>
433
+ <div class="para"><p>Phusion Passenger works on any POSIX-compliant operating system. In other
434
+ words: practically any operating system on earth, except Microsoft Windows.</p></div>
435
+ <div class="para"><p>Phusion Passenger has been tested on:</p></div>
430
436
  <div class="ilist"><ul>
431
437
  <li>
432
438
  <p>
@@ -484,39 +490,46 @@ MacOS X Leopard (x86)
484
490
  </p>
485
491
  </li>
486
492
  </ul></div>
487
- <div class="para"><p>Other operating systems have not been tested, but Passenger will probably work
488
- fine on them. Please
493
+ <div class="para"><p>Other operating systems have not been tested, but Phusion Passenger will probably
494
+ work fine on them. Please
489
495
  <a href="http://code.google.com/p/phusion-passenger/issues/list">report a bug</a>
490
496
  or
491
497
  <a href="http://groups.google.com/group/phusion-passenger">join our discussion list</a>
492
498
  if it doesn't.</p></div>
493
499
  </div>
494
- <h2 id="_installing_passenger">2. Installing Passenger</h2>
500
+ <h2 id="_installing_phusion_passenger">2. Installing Phusion Passenger</h2>
495
501
  <div class="sectionbody">
496
502
  <h3 id="_generic_installation_instructions">2.1. Generic installation instructions</h3><div style="clear:left"></div>
497
503
  <h4 id="install_passenger">2.1.1. Overview of download and installation methods</h4>
498
- <div class="para"><p>There are two ways to install Passenger:</p></div>
504
+ <div class="para"><p>There are two ways to install Phusion Passenger:</p></div>
499
505
  <div class="olist"><ol>
500
506
  <li>
501
507
  <p>
502
- By installing the Passenger gem, as instructed on the &#8220;Install&#8221; page
503
- on the Passenger website.
508
+ By installing the Phusion Passenger gem, as instructed on the
509
+ <a href="http://www.modrails.com/install.html">&#8220;Install&#8221; page on the Phusion
510
+ Passenger website</a>.
511
+ </p>
512
+ </li>
513
+ <li>
514
+ <p>
515
+ By downloading a native Linux package (e.g. Debian package) from the
516
+ Phusion Passenger website.
504
517
  </p>
505
518
  </li>
506
519
  <li>
507
520
  <p>
508
- By downloading the source tarball from the Passenger website
521
+ By downloading the source tarball from the Phusion Passenger website
509
522
  (<em>passenger-x.x.x.tar.gz</em>).
510
523
  </p>
511
524
  </li>
512
525
  </ol></div>
513
- <div class="para"><p>In our opinion, installing the gem is easiest.</p></div>
514
- <div class="para"><p>Passenger provides an easy-to-use installer for installing the Passenger
515
- Apache module (<em>mod_passenger</em>).</p></div>
526
+ <div class="para"><p>In our opinion, installing the gem or the native package is easiest.</p></div>
527
+ <div class="para"><p>Phusion Passenger provides an easy-to-use installer for installing the Phusion
528
+ Passenger Apache module (<em>mod_passenger</em>).</p></div>
516
529
  <div class="admonitionblock">
517
530
  <table><tr>
518
531
  <td class="icon">
519
- <img src="./images/icons/note.png" alt="Note" />
532
+ <img src="./images/icons/tip.png" alt="Tip" />
520
533
  </td>
521
534
  <td class="content">You might have to run the installation commands in the following sections
522
535
  as <em>root</em>. If the installer fails because of permission errors, it will tell
@@ -524,13 +537,23 @@ you.</td>
524
537
  </tr></table>
525
538
  </div>
526
539
  <h4 id="specifying_correct_apache_install">2.1.2. Specifying the correct Apache installation</h4>
540
+ <div class="admonitionblock">
541
+ <table><tr>
542
+ <td class="icon">
543
+ <img src="./images/icons/note.png" alt="Note" />
544
+ </td>
545
+ <td class="content">You can skip this section if you've installed Phusion Passenger via a
546
+ native Linux package, because no compilation is necessary.</td>
547
+ </tr></table>
548
+ </div>
527
549
  <div class="para"><p>If your system has multiple Apache installations (this is likely the case on
528
- MacOS X), then you will need to tell the Passenger installer which one to use.
529
- If you only have one Apache installation (the case on most Linux systems), then
530
- you can skip this section because Passenger will automatically detect it.</p></div>
550
+ MacOS X), then you will need to tell the Phusion Passenger installer which one
551
+ to use. If you only have one Apache installation (the case on most Linux
552
+ systems), then you can skip this section because Phusion Passenger will
553
+ automatically detect it.</p></div>
531
554
  <div class="para"><p>Every Apache installation has its own <tt>apxs</tt> program. You will need to tell
532
- Passenger the location of this program, by specifying the <tt>APXS2</tt> environment
533
- variable. Suppose that you want to use the Apache installation in
555
+ Phusion Passenger the location of this program, by specifying the <tt>APXS2</tt>
556
+ environment variable. Suppose that you want to use the Apache installation in
534
557
  <em>/opt/apache2</em>. Then, assuming that the corresponding <tt>apxs</tt> program is located
535
558
  <em>/opt/apache2/bin/apxs</em>, type:</p></div>
536
559
  <div class="listingblock">
@@ -547,10 +570,19 @@ be located in the <tt>sbin</tt> folder instead of the <tt>bin</tt> folder.</td>
547
570
  </tr></table>
548
571
  </div>
549
572
  <h4 id="specifying_ruby_installation">2.1.3. Specifying the correct Ruby installation</h4>
573
+ <div class="admonitionblock">
574
+ <table><tr>
575
+ <td class="icon">
576
+ <img src="./images/icons/note.png" alt="Note" />
577
+ </td>
578
+ <td class="content">You can skip this section if you've installed Phusion Passenger via a
579
+ native Linux package, because no compilation is necessary.</td>
580
+ </tr></table>
581
+ </div>
550
582
  <div class="para"><p>If your system has multiple Ruby installations (this is likely the case on
551
- MacOS X), then you will need to tell the Passenger installer which one to use.
552
- If you only have one Ruby installation (the case on most Linux systems), then
553
- you can skip this section because Passenger will automatically detect it.</p></div>
583
+ MacOS X), then you will need to tell the Phusion Passenger installer which one
584
+ to use. If you only have one Ruby installation (the case on most Linux systems),
585
+ then you can skip this section because Phusion Passenger will automatically detect it.</p></div>
554
586
  <div class="para"><p>To specify the Ruby installation, prepend your Ruby installation's <tt>bin</tt>
555
587
  directory to the <tt>PATH</tt> environment variable. For example, if you have the
556
588
  following Ruby installations:</p></div>
@@ -572,7 +604,7 @@ following Ruby installations:</p></div>
572
604
  <pre><tt>export PATH=/opt/myruby/bin:$PATH</tt></pre>
573
605
  </div></div>
574
606
  <h4 id="_installing_via_the_gem">2.1.4. Installing via the gem</h4>
575
- <div class="para"><p>Please install the gem and then run the Passenger installer, by typing the
607
+ <div class="para"><p>Please install the gem and then run the Phusion Passenger installer, by typing the
576
608
  following commands:</p></div>
577
609
  <div class="listingblock">
578
610
  <div class="content">
@@ -580,10 +612,32 @@ following commands:</p></div>
580
612
  passenger-install-apache2-module</tt></pre>
581
613
  </div></div>
582
614
  <div class="para"><p>Please follow the instructions given by the installer.</p></div>
583
- <h4 id="_installing_via_the_source_tarball">2.1.5. Installing via the source tarball</h4>
584
- <div class="para"><p>Extract the tarball to whatever location you prefer. The Passenger files
615
+ <h4 id="_installing_via_a_native_linux_package">2.1.5. Installing via a native Linux package</h4>
616
+ <div class="para"><p>Please install the native Linux package, e.g.:</p></div>
617
+ <div class="listingblock">
618
+ <div class="content">
619
+ <pre><tt>gdebi passenger_x.x.x-i386.deb</tt></pre>
620
+ </div></div>
621
+ <div class="para"><p>Next, you'll need to configure Apache. Run the "installer", as it will tell you
622
+ the correct configuration options for Apache:</p></div>
623
+ <div class="listingblock">
624
+ <div class="content">
625
+ <pre><tt>passenger-install-apache2-module</tt></pre>
626
+ </div></div>
627
+ <div class="admonitionblock">
628
+ <table><tr>
629
+ <td class="icon">
630
+ <img src="./images/icons/note.png" alt="Note" />
631
+ </td>
632
+ <td class="content">The installer doesn't actually install anything because it will automatically
633
+ detect that Phusion Passenger has already been installed. The only thing the
634
+ installer will do in this case, is showing the correct Apache configurations.</td>
635
+ </tr></table>
636
+ </div>
637
+ <h4 id="_installing_via_the_source_tarball">2.1.6. Installing via the source tarball</h4>
638
+ <div class="para"><p>Extract the tarball to whatever location you prefer. The Phusion Passenger files
585
639
  are to reside in that location permanently. For example, if you would like
586
- Passenger to reside in <tt>/opt/passenger-x.x.x</tt>:</p></div>
640
+ Phusion Passenger to reside in <tt>/opt/passenger-x.x.x</tt>:</p></div>
587
641
  <div class="listingblock">
588
642
  <div class="content">
589
643
  <pre><tt>cd /opt
@@ -610,12 +664,12 @@ installation. Furthermore, the <em>passenger-x.x.x</em> folder must be accessibl
610
664
  <a href="http://benr75.com/articles/2008/04/12/setup-mod_rails-phusion-mac-os-x-leopard">tutorial
611
665
  on installing Phusion Passenger on OS X</a>.</p></div>
612
666
  <h4 id="_ubuntu_linux">2.2.2. Ubuntu Linux</h4>
613
- <div class="para"><p>Ben Hughes has written an <a href="http://www.railsgarden.com/2008/04/12/configurating-passenger-mod_rails-on-slicehost-with-ubuntu-710/">article on installing Passenger on Ubuntu</a>.</p></div>
667
+ <div class="para"><p>Ben Hughes has written an <a href="http://www.railsgarden.com/2008/04/12/configurating-passenger-mod_rails-on-slicehost-with-ubuntu-710/">article on installing Phusion Passenger on Ubuntu</a>.</p></div>
614
668
  </div>
615
669
  <h2 id="_deploying_a_ruby_on_rails_application">3. Deploying a Ruby on Rails application</h2>
616
670
  <div class="sectionbody">
617
671
  <div class="para"><p>Suppose you have a Ruby on Rails application in <em>/webapps/mycook</em>, and you own
618
- the domain <em>www.mycook.com</em>. You can either deploy your application in the
672
+ the domain <em>www.mycook.com</em>. You can either deploy your application to the
619
673
  virtual host's root (i.e. the application will be accessible from the root URL,
620
674
  <em>http://www.mycook.com/</em>), or in a sub URI (i.e. the application will be
621
675
  accessible from a sub URL, such as <em>http://www.mycook.com/railsapplication</em>).</p></div>
@@ -641,7 +695,7 @@ For example:</p></div>
641
695
  &lt;/VirtualHost&gt;</tt></pre>
642
696
  </div></div>
643
697
  <div class="para"><p>Then restart Apache. The application has now been deployed.</p></div>
644
- <h3 id="deploying_to_sub_uri">3.2. Deploying to a sub URI</h3><div style="clear:left"></div>
698
+ <h3 id="deploying_rails_to_sub_uri">3.2. Deploying to a sub URI</h3><div style="clear:left"></div>
645
699
  <div class="para"><p>Suppose that you already have a virtual host:</p></div>
646
700
  <div class="listingblock">
647
701
  <div class="content">
@@ -658,7 +712,7 @@ folder to a directory in the document root. For example:</p></div>
658
712
  <div class="content">
659
713
  <pre><tt>ln -s /webapps/mycook/public /websites/phusion/rails</tt></pre>
660
714
  </div></div>
661
- <div class="para"><p>Next, add a <tt>RailsBaseURI</tt> option to the virtual host configuration:</p></div>
715
+ <div class="para"><p>Next, add a <a href="#RailsBaseURI">RailsBaseURI</a> option to the virtual host configuration:</p></div>
662
716
  <div class="listingblock">
663
717
  <div class="content">
664
718
  <pre><tt>&lt;VirtualHost *:80&gt;
@@ -668,6 +722,26 @@ folder to a directory in the document root. For example:</p></div>
668
722
  &lt;/VirtualHost&gt;</tt></pre>
669
723
  </div></div>
670
724
  <div class="para"><p>Then restart Apache. The application has now been deployed.</p></div>
725
+ <div class="admonitionblock">
726
+ <table><tr>
727
+ <td class="icon">
728
+ <img src="./images/icons/tip.png" alt="Tip" />
729
+ </td>
730
+ <td class="content">
731
+ <div class="para"><p>You can deploy multiple Rails applications under a virtual host, by specifying
732
+ <a href="#RailsBaseURI">RailsBaseURI</a> multiple times. For example:</p></div>
733
+ <div class="listingblock">
734
+ <div class="content">
735
+ <pre><tt>&lt;VirtualHost *:80&gt;
736
+ ....
737
+ RailsBaseURI /app1
738
+ RailsBaseURI /app2
739
+ RailsBaseURI /app3
740
+ &lt;/VirtualHost&gt;</tt></pre>
741
+ </div></div>
742
+ </td>
743
+ </tr></table>
744
+ </div>
671
745
  <h3 id="_redeploying_restarting_the_ruby_on_rails_application">3.3. Redeploying (restarting the Ruby on Rails application)</h3><div style="clear:left"></div>
672
746
  <div class="para"><p>Deploying a new version of a Ruby on Rails application is as simple as
673
747
  re-uploading the application files, and restarting the application.</p></div>
@@ -681,8 +755,8 @@ By restarting Apache.
681
755
  <li>
682
756
  <p>
683
757
  By creating or modifying the file <em>tmp/restart.txt</em> in the Rails
684
- application's root folder. Passenger will automatically restart the
685
- application.
758
+ application's root folder. Phusion Passenger will automatically
759
+ restart the application.
686
760
  </p>
687
761
  </li>
688
762
  </ol></div>
@@ -692,202 +766,518 @@ command line:</p></div>
692
766
  <div class="content">
693
767
  <pre><tt>touch /webapps/mycook/tmp/restart.txt</tt></pre>
694
768
  </div></div>
769
+ <h3 id="_migrations">3.4. Migrations</h3><div style="clear:left"></div>
770
+ <div class="para"><p>Phusion Passenger is not related to Ruby on Rails migrations in any way. To
771
+ run migrations on your deployment server, please login to your deployment
772
+ server (e.g. with <em>ssh</em>) and type <tt>rake db:migrate RAILS_ENV=production</tt> in
773
+ a shell console, just like one would normally run migrations.</p></div>
774
+ <h3 id="_capistrano_integration">3.5. Capistrano integration</h3><div style="clear:left"></div>
775
+ <div class="para"><p>See <a href="#capistrano">Capistrano recipe</a>.</p></div>
695
776
  </div>
696
- <h2 id="_configuring_passenger">4. Configuring Passenger</h2>
777
+ <h2 id="_deploying_a_rack_based_ruby_application">4. Deploying a Rack-based Ruby application</h2>
697
778
  <div class="sectionbody">
698
- <div class="para"><p>After installation, Passenger does not need any further configurations.
699
- Nevertheless, the system administrator may be interested in changing
700
- Passenger's behavior. Passenger's Apache module supports the following
701
- configuration options:</p></div>
702
- <div class="vlist"><dl>
703
- <dt>
704
- RailsSpawnServer &lt;filename&gt;
705
- </dt>
706
- <dd>
779
+ <div class="para"><p>Phusion Passenger supports arbitrary Ruby web applications that follow the
780
+ <a href="http://rack.rubyforge.org/">Rack</a> interface.</p></div>
781
+ <div class="para"><p>Phusion Passenger assumes that Rack application directories have a certain layout.
782
+ Suppose that you have a Rack application in <em>/webapps/rackapp</em>. Then that
783
+ folder must contain at least two entries:</p></div>
784
+ <div class="ilist"><ul>
785
+ <li>
707
786
  <p>
708
- The location to the Passenger spawn server. This configuration option is
709
- essential to Passenger. The correct value is given by the installer,
710
- and should usually not be changed manually.
787
+ <em>config.ru</em>, a Rackup file for starting the Rack application. This file must contain
788
+ the complete logic for initializing the application.
711
789
  </p>
712
- <div class="para"><p>This option may only occur once, in the global server configuration. If
713
- this option is not given, then Passenger will look for the program
714
- <tt>passenger-spawn-server</tt> in <tt>$PATH</tt>.</p></div>
715
- </dd>
716
- <dt>
717
- RailsBaseURI &lt;uri&gt;
718
- </dt>
719
- <dd>
790
+ </li>
791
+ <li>
720
792
  <p>
721
- Used to specify that the given URI is a Rails application. See
722
- <a href="#deploying_to_sub_uri">Deploying to a sub URI</a> for an example.
793
+ <em>public/</em>, a folder containing public static web assets, like images and stylesheets.
723
794
  </p>
724
- <div class="para"><p>This option may occur multiple times, in the global server configuration or in a
725
- virtual host configuration block.</p></div>
726
- </dd>
727
- <dt>
728
- RailsAutoDetect &lt;on|off&gt;
729
- </dt>
730
- <dd>
795
+ </li>
796
+ <li>
731
797
  <p>
732
- Whether Passenger should automatically detect whether a virtual host's
733
- document root is a Ruby on Rails application. The default is <em>on</em>.
798
+ <em>tmp/</em>, used for <em>restart.txt</em> (our application restart mechanism). This will
799
+ be explained in a following subsection.
734
800
  </p>
735
- <div class="para"><p>This option may occur in the global server configuration or in a virtual host
736
- configuration block.</p></div>
737
- <div class="para"><p>For example, consider the following configuration:</p></div>
801
+ </li>
802
+ </ul></div>
803
+ <div class="para"><p>So <em>/webapps/rackapp</em> must, at minimum, look like this:</p></div>
738
804
  <div class="listingblock">
739
805
  <div class="content">
740
- <pre><tt>RailsAutoDetect off
741
- &lt;VirtualHost *:80&gt;
742
- ServerName www.mycook.com
743
- DocumentRoot /webapps/mycook/public
806
+ <pre><tt>/webapps/rackapp
807
+ |
808
+ +-- config.ru
809
+ |
810
+ +-- public/
811
+ |
812
+ +-- tmp/</tt></pre>
813
+ </div></div>
814
+ <div class="para"><p>Suppose you own the domain <em>www.rackapp.com</em>. You can either deploy your application
815
+ to the virtual host's root (i.e. the application will be accessible from the root URL,
816
+ <em>http://www.rackapp.com/</em>), or in a sub URI (i.e. the application will be
817
+ accessible from a sub URL, such as <em>http://www.rackapp.com/rackapp</em>).</p></div>
818
+ <div class="admonitionblock">
819
+ <table><tr>
820
+ <td class="icon">
821
+ <img src="./images/icons/note.png" alt="Note" />
822
+ </td>
823
+ <td class="content">The default <tt>RACK_ENV</tt> environment in which deployed Rack applications
824
+ are run, is &#8220;production&#8221;. You can change this by changing the
825
+ <a href="#rack_env"><em>RackEnv</em></a> configuration option.</td>
826
+ </tr></table>
827
+ </div>
828
+ <h3 id="_tutorial_example_writing_and_deploying_a_hello_world_rack_application">4.1. Tutorial/example: writing and deploying a Hello World Rack application</h3><div style="clear:left"></div>
829
+ <div class="para"><p>First we create a Phusion Passenger-compliant Rack directory structure:</p></div>
830
+ <div class="listingblock">
831
+ <div class="content">
832
+ <pre><tt>$ mkdir /webapps/rack_example
833
+ $ mkdir /webapps/rack_example/public
834
+ $ mkdir /webapps/rack_example/tmp</tt></pre>
835
+ </div></div>
836
+ <div class="para"><p>Next, we write a minimal "hello world" Rack application:</p></div>
837
+ <div class="listingblock">
838
+ <div class="content">
839
+ <pre><tt>$ cd /webapps/rack_example
840
+ $ some_awesome_editor config.ru
841
+ ...type in some source code...
842
+ $ cat config.ru
843
+ app = proc do |env|
844
+ return [200, { "Content-Type" =&gt; "text/html" }, "hello &lt;b&gt;world&lt;/b&gt;"]
845
+ end
846
+ run app</tt></pre>
847
+ </div></div>
848
+ <div class="para"><p>Finally, we deploy it by adding the following configuration options to
849
+ the Apache configuration file:</p></div>
850
+ <div class="listingblock">
851
+ <div class="content">
852
+ <pre><tt>&lt;VirtualHost *:80&gt;
853
+ ServerName www.rackexample.com
854
+ DocumentRoot /webapps/rack_example/public
744
855
  &lt;/VirtualHost&gt;</tt></pre>
745
856
  </div></div>
746
- <div class="para"><p>If one goes to <em>http://www.mycook.com/</em>, the visitor will see the contents of
747
- the <em>/webapps/mycook/public</em> folder, instead of the output of the Ruby on Rails
748
- application.</p></div>
749
- <div class="para"><p>It is possible to explicitly specify that the host is a Ruby on Rails
750
- application by using the <tt>RailsBaseURI</tt> configuration option:</p></div>
857
+ <div class="para"><p>And we're done! After an Apache restart, the above Rack application will be available
858
+ under the URL <em>http://www.rackexample.com/</em>.</p></div>
859
+ <h3 id="_deploying_to_a_virtual_host_s_root_2">4.2. Deploying to a virtual host's root</h3><div style="clear:left"></div>
860
+ <div class="para"><p>Add a virtual host entry to your Apache configuration file. The virtual host's
861
+ document root must point to your Rack application's <em>public</em> folder.
862
+ For example:</p></div>
751
863
  <div class="listingblock">
752
864
  <div class="content">
753
- <pre><tt>RailsAutoDetect off
754
- &lt;VirtualHost *:80&gt;
755
- ServerName www.mycook.com
756
- DocumentRoot /webapps/mycook/public
757
- RailsBaseURI /
865
+ <pre><tt>&lt;VirtualHost *:80&gt;
866
+ ServerName www.rackapp.com
867
+ DocumentRoot /webapps/rackapp/public
758
868
  &lt;/VirtualHost&gt;</tt></pre>
759
869
  </div></div>
760
- </dd>
761
- </dl></div>
762
- <div class="vlist" id="RailsAllowModRewrite"><dl>
763
- <dt>
764
- RailsAllowModRewrite &lt;on|off&gt;
765
- </dt>
766
- <dd>
767
- <p>
768
- If enabled, Passenger will not override mod_rewrite rules. Please read
769
- <a href="#conflicting_apache_modules">Conflicting Apache modules</a> for details.
770
- </p>
771
- <div class="para"><p>This option may occur in the global server configuration or in a virtual host
772
- configuration block. The default value is <em>off</em>.</p></div>
773
- </dd>
774
- <dt>
775
- RailsRuby &lt;filename&gt;
776
- </dt>
777
- <dd>
778
- <p>
779
- This option allows one to specify the Ruby interpreter to use.
780
- </p>
781
- <div class="para"><p>This option may only occur once, in the global server configuration.
782
- The default is <em>ruby</em>.</p></div>
783
- </dd>
784
- </dl></div>
785
- <div class="vlist" id="rails_env"><dl>
786
- <dt>
787
- RailsEnv &lt;string&gt;
788
- </dt>
789
- <dd>
790
- <p>
791
- This option allows one to specify the default <tt>RAILS_ENV</tt> value.
792
- </p>
793
- <div class="para"><p>This option may only occur once, in the global server configuration.
794
- The default is <em>production</em>.</p></div>
870
+ <div class="para"><p>Then restart Apache. The application has now been deployed.</p></div>
871
+ <h3 id="deploying_rack_to_sub_uri">4.3. Deploying to a sub URI</h3><div style="clear:left"></div>
872
+ <div class="para"><p>Suppose that you already have a virtual host:</p></div>
873
+ <div class="listingblock">
874
+ <div class="content">
875
+ <pre><tt>&lt;VirtualHost *:80&gt;
876
+ ServerName www.phusion.nl
877
+ DocumentRoot /websites/phusion
878
+ &lt;/VirtualHost&gt;</tt></pre>
879
+ </div></div>
880
+ <div class="para"><p>And you want your Rack application to be accessible from the URL
881
+ <em>http://www.phusion.nl/rack</em>.</p></div>
882
+ <div class="para"><p>To do this, make a symlink from your Rack application's <em>public</em>
883
+ folder to a directory in the document root. For example:</p></div>
884
+ <div class="listingblock">
885
+ <div class="content">
886
+ <pre><tt>ln -s /webapps/rackapp/public /websites/phusion/rack</tt></pre>
887
+ </div></div>
888
+ <div class="para"><p>Next, add a <a href="#RackBaseURI">RackBaseURI</a> option to the virtual host configuration:</p></div>
889
+ <div class="listingblock">
890
+ <div class="content">
891
+ <pre><tt>&lt;VirtualHost *:80&gt;
892
+ ServerName www.phusion.nl
893
+ DocumentRoot /websites/phusion
894
+ RackBaseURI /rack # This line has been added.
895
+ &lt;/VirtualHost&gt;</tt></pre>
896
+ </div></div>
897
+ <div class="para"><p>Then restart Apache. The application has now been deployed.</p></div>
795
898
  <div class="admonitionblock">
796
899
  <table><tr>
797
900
  <td class="icon">
798
901
  <img src="./images/icons/tip.png" alt="Tip" />
799
902
  </td>
800
- <td class="content">Even though it is not possible to specify a different RailsEnv
801
- per virtual host in the Apache configuration file, one can set the
802
- Rails environment by editing <tt>RAILS_ENV=&#8230;</tt> in the application's
803
- <em>config/environment.rb</em>.</td>
903
+ <td class="content">
904
+ <div class="para"><p>You can deploy multiple Rack applications under a virtual host, by specifying
905
+ <a href="#RackBaseURI">RackBaseURI</a> multiple times. For example:</p></div>
906
+ <div class="listingblock">
907
+ <div class="content">
908
+ <pre><tt>&lt;VirtualHost *:80&gt;
909
+ ....
910
+ RackBaseURI /app1
911
+ RackBaseURI /app2
912
+ RackBaseURI /app3
913
+ &lt;/VirtualHost&gt;</tt></pre>
914
+ </div></div>
915
+ </td>
804
916
  </tr></table>
805
917
  </div>
806
- </dd>
807
- <dt>
808
- RailsMaxPoolSize &lt;integer&gt;
809
- </dt>
810
- <dd>
918
+ <h3 id="_redeploying_restarting_the_rack_application">4.4. Redeploying (restarting the Rack application)</h3><div style="clear:left"></div>
919
+ <div class="para"><p>Deploying a new version of a Rack application is as simple as
920
+ re-uploading the application files, and restarting the application.</p></div>
921
+ <div class="para"><p>There are two ways to restart the application:</p></div>
922
+ <div class="olist"><ol>
923
+ <li>
811
924
  <p>
812
- The maximum number of Ruby on Rails application instances that may
813
- be simultaneously active. A larger number results in higher memory usage,
814
- but improved ability to handle concurrent HTTP clients.
925
+ By restarting Apache.
815
926
  </p>
927
+ </li>
928
+ <li>
929
+ <p>
930
+ By creating or modifying the file <em>tmp/restart.txt</em> in the Rack
931
+ application's root folder. Phusion Passenger will automatically restart the
932
+ application.
933
+ </p>
934
+ </li>
935
+ </ol></div>
936
+ <div class="para"><p>For example, to restart our example application, we type this in the
937
+ command line:</p></div>
938
+ <div class="listingblock">
939
+ <div class="content">
940
+ <pre><tt>touch /webapps/rackapp/tmp/restart.txt</tt></pre>
941
+ </div></div>
942
+ <h3 id="_rackup_specifications_for_various_web_frameworks">4.5. Rackup specifications for various web frameworks</h3><div style="clear:left"></div>
943
+ <div class="para"><p>This subsection shows example <em>config.ru</em> files for various web frameworks.</p></div>
944
+ <h4 id="_camping">4.5.1. Camping</h4>
945
+ <div class="listingblock">
946
+ <div class="content">
947
+ <pre><tt>require 'rubygems'
948
+ require 'rack'
949
+ require 'camping'
950
+
951
+ ##### Begin Camping application
952
+ Camping.goes :Blog
953
+
954
+ ...your application code here...
955
+ ##### End Camping application
956
+
957
+ run Rack::Adapter::Camping.new(Blog)</tt></pre>
958
+ </div></div>
959
+ <div class="para"><p>For Camping versions 2.0 and up, using <tt>run Blog</tt> as the final line will do.</p></div>
960
+ <h4 id="_halcyon">4.5.2. Halcyon</h4>
961
+ <div class="listingblock">
962
+ <div class="content">
963
+ <pre><tt>require 'rubygems'
964
+ require 'halcyon'
965
+ $LOAD_PATH.unshift(Halcyon.root / 'lib')
966
+ Halcyon::Runner.load_config Halcyon.root/'config'/'config.yml'
967
+ run Halcyon::Runner.new</tt></pre>
968
+ </div></div>
969
+ <h4 id="_mack">4.5.3. Mack</h4>
970
+ <div class="listingblock">
971
+ <div class="content">
972
+ <pre><tt>ENV["MACK_ENV"] = ENV["RACK_ENV"]
973
+ load("Rakefile")
974
+ require 'rubygems'
975
+ require 'mack'
976
+ run Mack::Utils::Server.build_app</tt></pre>
977
+ </div></div>
978
+ <h4 id="_merb">4.5.4. Merb</h4>
979
+ <div class="listingblock">
980
+ <div class="content">
981
+ <pre><tt>require 'rubygems'
982
+ require 'merb-core'
983
+
984
+ Merb::Config.setup(:merb_root =&gt; ".",
985
+ :environment =&gt; ENV['RACK_ENV'])
986
+ Merb.environment = Merb::Config[:environment]
987
+ Merb.root = Merb::Config[:merb_root]
988
+ Merb::BootLoader.run
989
+
990
+ run Merb::Rack::Application.new</tt></pre>
991
+ </div></div>
992
+ <h4 id="_ramaze">4.5.5. Ramaze</h4>
993
+ <div class="listingblock">
994
+ <div class="content">
995
+ <pre><tt>require "start"
996
+ Ramaze.trait[:essentials].delete Ramaze::Adapter
997
+ Ramaze.start :force =&gt; true
998
+ run Ramaze::Adapter::Base</tt></pre>
999
+ </div></div>
1000
+ <h4 id="_sinatra">4.5.6. Sinatra</h4>
1001
+ <div class="listingblock">
1002
+ <div class="content">
1003
+ <pre><tt>require 'rubygems'
1004
+ require 'sinatra'
1005
+ Sinatra::Application.default_options.merge!(
1006
+ :run =&gt; false,
1007
+ :env =&gt; ENV['RACK_ENV']
1008
+ )
1009
+
1010
+ ### ...your Sinatra application code here... ###
1011
+
1012
+ run Sinatra.application</tt></pre>
1013
+ </div></div>
1014
+ </div>
1015
+ <h2 id="_configuring_phusion_passenger">5. Configuring Phusion Passenger</h2>
1016
+ <div class="sectionbody">
1017
+ <div class="para"><p>After installation, Phusion Passenger does not need any further configurations.
1018
+ Nevertheless, the system administrator may be interested in changing
1019
+ Phusion Passenger's behavior. Phusion Passenger's Apache module supports the
1020
+ following configuration options:</p></div>
1021
+ <h3 id="_passengerroot_lt_directory_gt">5.1. PassengerRoot &lt;directory&gt;</h3><div style="clear:left"></div>
1022
+ <div class="para"><p>The location to the Phusion Passenger root directory. This configuration option
1023
+ is essential to Phusion Passenger. The correct value is given by the installer,
1024
+ and should usually not be changed manually.</p></div>
1025
+ <div class="para"><p>This required option may only occur once, in the global server configuration.</p></div>
1026
+ <h3 id="_passengerloglevel_lt_integer_gt">5.2. PassengerLogLevel &lt;integer&gt;</h3><div style="clear:left"></div>
1027
+ <div class="para"><p>This option allows one to specify how much information Phusion Passenger should
1028
+ write to the Apache error log file. A higher log level value means that more
1029
+ information will be logged.</p></div>
1030
+ <div class="para"><p>Possible values are:</p></div>
1031
+ <div class="ilist"><ul>
1032
+ <li>
1033
+ <p>
1034
+ <em>0</em>: Show only errors and warnings.
1035
+ </p>
1036
+ </li>
1037
+ <li>
1038
+ <p>
1039
+ <em>1</em>: Show the most important debugging information. This might be useful for
1040
+ system administrators who are trying to figure out the cause of a
1041
+ problem.
1042
+ </p>
1043
+ </li>
1044
+ <li>
1045
+ <p>
1046
+ <em>2</em>: Show more debugging information. This is typically only useful for developers.
1047
+ </p>
1048
+ </li>
1049
+ <li>
1050
+ <p>
1051
+ <em>3</em>: Show even more debugging information.
1052
+ </p>
1053
+ </li>
1054
+ </ul></div>
1055
+ <div class="para"><p>This option may only occur once, in the global server configuration.
1056
+ The default is <em>0</em>.</p></div>
1057
+ <h3 id="PassengerRuby">5.3. PassengerRuby &lt;filename&gt;</h3><div style="clear:left"></div>
1058
+ <div class="para"><p>This option allows one to specify the Ruby interpreter to use.</p></div>
1059
+ <div class="para"><p>This option may only occur once, in the global server configuration.
1060
+ The default is <em>ruby</em>.</p></div>
1061
+ <h3 id="PassengerUserSwitching">5.4. PassengerUserSwitching &lt;on|off&gt;</h3><div style="clear:left"></div>
1062
+ <div class="para"><p>Whether to enable <a href="#user_switching">user switching support</a>.</p></div>
1063
+ <div class="para"><p>This option may only occur once, in the global server configuration.
1064
+ The default value is <em>on</em>.</p></div>
1065
+ <h3 id="PassengerDefaultUser">5.5. PassengerDefaultUser &lt;username&gt;</h3><div style="clear:left"></div>
1066
+ <div class="para"><p>Passenger enables <a href="#user_switching">user switching support</a> by default.
1067
+ This configuration option allows one to specify which user Rails/Rack
1068
+ applications must run as, if user switching fails or is disabled.</p></div>
1069
+ <div class="para"><p>This option may only occur once, in the global server configuration.
1070
+ The default value is <em>nobody</em>.</p></div>
1071
+ <h3 id="_resource_control_and_optimization_options">5.6. Resource control and optimization options</h3><div style="clear:left"></div>
1072
+ <h4 id="_passengermaxpoolsize_lt_integer_gt">5.6.1. PassengerMaxPoolSize &lt;integer&gt;</h4>
1073
+ <div class="para"><p>The maximum number of Ruby on Rails or Rack application instances that may
1074
+ be simultaneously active. A larger number results in higher memory usage,
1075
+ but improved ability to handle concurrent HTTP clients.</p></div>
816
1076
  <div class="para"><p>The optimal value depends on your system's hardware and the server's average
817
1077
  load. You should experiment with different values. But generally speaking,
818
1078
  the value should be at least equal to the number of CPUs (or CPU cores) that
819
1079
  you have. If your system has 2 GB of RAM, then we recommend a value of <em>30</em>.
820
1080
  If your system is a Virtual Private Server (VPS) and has about 256 MB RAM, and
821
1081
  is also running other services such as MySQL, then we recommend a value of <em>2</em>.</p></div>
822
- <div class="para"><p>If you find that your server is unable to handle the load on your Rails websites
1082
+ <div class="para"><p>If you find that your server is unable to handle the load on your Rails/Rack websites
823
1083
  (i.e. running out of memory) then you should lower this value. (Though if your
824
1084
  sites are really that popular, then you should strongly consider upgrading your
825
1085
  hardware or getting more servers.)</p></div>
826
1086
  <div class="para"><p>This option may only occur once, in the global server configuration.
827
- The default value is <em>20</em>.</p></div>
1087
+ The default value is <em>6</em>.</p></div>
828
1088
  <div class="admonitionblock">
829
1089
  <table><tr>
830
1090
  <td class="icon">
831
1091
  <img src="./images/icons/tip.png" alt="Tip" />
832
1092
  </td>
833
- <td class="content">We strongly recommend you to <a href="#reducing_memory_usage">use Ruby Enterprise Edition</a>. This allows you to reduce your memory usage by about 33%. And it's
834
- not hard to install.</td>
1093
+ <td class="content">We strongly recommend you to <a href="#reducing_memory_usage">use Ruby Enterprise Edition</a>. This allows you to reduce the memory usage of your Ruby on Rails applications
1094
+ by about 33%. And it's not hard to install.</td>
835
1095
  </tr></table>
836
1096
  </div>
837
- </dd>
838
- <dt>
839
- RailsPoolIdleTime &lt;integer&gt;
840
- </dt>
841
- <dd>
842
- <p>
843
- The maximum number of seconds that a Ruby on Rails application instance
844
- may be idle. That is, if an application instance hasn't done anything after
845
- the given number of seconds, then it will be shutdown in order to conserve
846
- memory.
847
- </p>
848
- <div class="para"><p>Decreasing this value means that Rails applications will have to be spawned
1097
+ <h4 id="_passengermaxinstancesperapp_lt_integer_gt">5.6.2. PassengerMaxInstancesPerApp &lt;integer&gt;</h4>
1098
+ <div class="para"><p>The maximum number of application instances that may be simultaneously active
1099
+ for a single application. This helps to make sure that a single application
1100
+ will not occupy all available slots in the application pool.</p></div>
1101
+ <div class="para"><p>This value must be less than <a href="#PassengerMaxPoolSize">PassengerMaxPoolSize</a>. A value of 0
1102
+ means that there is no limit placed on the number of instances a single application
1103
+ may use, i.e. only the global limit of <a href="#PassengerMaxPoolSize">PassengerMaxPoolSize</a>
1104
+ will be enforced.</p></div>
1105
+ <div class="para"><p>This option may only occur once, in the global server configuration.
1106
+ The default value is <em>0</em>.</p></div>
1107
+ <h4 id="PassengerPoolIdleTime">5.6.3. PassengerPoolIdleTime &lt;integer&gt;</h4>
1108
+ <div class="para"><p>The maximum number of seconds that a Ruby on Rails or Rack application instance
1109
+ may be idle. That is, if an application instance hasn't done anything after
1110
+ the given number of seconds, then it will be shutdown in order to conserve
1111
+ memory.</p></div>
1112
+ <div class="para"><p>Decreasing this value means that applications will have to be spawned
849
1113
  more often. Since spawning is a relatively slow operation, some visitors may
850
- notice a small delay when they visit your Rails site. However, it will also
851
- free up resources used by Rails applications more quickly.</p></div>
1114
+ notice a small delay when they visit your Rails/Rack website. However, it will also
1115
+ free up resources used by applications more quickly.</p></div>
852
1116
  <div class="para"><p>The optimal value depends on the average time that a visitor spends on a single
853
- Rails web page. We recommend a value of <tt>2 * x</tt>, where <tt>x</tt> is the average
854
- number of seconds that a visitor spends on a single Rails web page. But your
1117
+ Rails/Rack web page. We recommend a value of <tt>2 * x</tt>, where <tt>x</tt> is the average
1118
+ number of seconds that a visitor spends on a single Rails/Rack web page. But your
855
1119
  mileage may vary.</p></div>
856
1120
  <div class="para"><p>This option may only occur once, in the global server configuration.
857
- The default value is <em>120</em>.</p></div>
858
- </dd>
859
- </dl></div>
860
- <div class="vlist" id="RailsUserSwitching"><dl>
1121
+ The default value is <em>300</em>.</p></div>
1122
+ <h3 id="_ruby_on_rails_specific_options">5.7. Ruby on Rails-specific options</h3><div style="clear:left"></div>
1123
+ <h4 id="_railsautodetect_lt_on_off_gt">5.7.1. RailsAutoDetect &lt;on|off&gt;</h4>
1124
+ <div class="para"><p>Whether Phusion Passenger should automatically detect whether a virtual host's
1125
+ document root is a Ruby on Rails application. The default is <em>on</em>.</p></div>
1126
+ <div class="para"><p>This option may occur in the global server configuration or in a virtual host
1127
+ configuration block.</p></div>
1128
+ <div class="para"><p>For example, consider the following configuration:</p></div>
1129
+ <div class="listingblock">
1130
+ <div class="content">
1131
+ <pre><tt>RailsAutoDetect off
1132
+ &lt;VirtualHost *:80&gt;
1133
+ ServerName www.mycook.com
1134
+ DocumentRoot /webapps/mycook/public
1135
+ &lt;/VirtualHost&gt;</tt></pre>
1136
+ </div></div>
1137
+ <div class="para"><p>If one goes to <em>http://www.mycook.com/</em>, the visitor will see the contents of
1138
+ the <em>/webapps/mycook/public</em> folder, instead of the output of the Ruby on Rails
1139
+ application.</p></div>
1140
+ <div class="para"><p>It is possible to explicitly specify that the host is a Ruby on Rails
1141
+ application by using the <a href="#RailsBaseURI">RailsBaseURI</a> configuration option:</p></div>
1142
+ <div class="listingblock">
1143
+ <div class="content">
1144
+ <pre><tt>RailsAutoDetect off
1145
+ &lt;VirtualHost *:80&gt;
1146
+ ServerName www.mycook.com
1147
+ DocumentRoot /webapps/mycook/public
1148
+ RailsBaseURI / # This line has been added.
1149
+ &lt;/VirtualHost&gt;</tt></pre>
1150
+ </div></div>
1151
+ <h4 id="RailsBaseURI">5.7.2. RailsBaseURI &lt;uri&gt;</h4>
1152
+ <div class="para"><p>Used to specify that the given URI is a Rails application. See
1153
+ <a href="#deploying_rails_to_sub_uri">Deploying Rails to a sub URI</a> for an example.</p></div>
1154
+ <div class="para"><p>It is allowed to specify this option multiple times. Do this to deploy multiple
1155
+ Rails applications in different sub-URIs under the same virtual host.</p></div>
1156
+ <div class="para"><p>This option may occur in the global server configuration or in a
1157
+ virtual host configuration block.</p></div>
1158
+ <h4 id="RailsAllowModRewrite">5.7.3. RailsAllowModRewrite &lt;on|off&gt;</h4>
1159
+ <div class="para"><p>If enabled, Phusion Passenger will not override mod_rewrite rules. Please read
1160
+ <a href="#conflicting_apache_modules">Conflicting Apache modules</a> for details.</p></div>
1161
+ <div class="para"><p>This option may occur once, in the global server configuration or in a virtual host
1162
+ configuration block. The default value is <em>off</em>.</p></div>
1163
+ <h4 id="rails_env">5.7.4. RailsEnv &lt;string&gt;</h4>
1164
+ <div class="para"><p>This option allows one to specify the default <tt>RAILS_ENV</tt> value.</p></div>
1165
+ <div class="para"><p>This option may occur once, in the global server configuration or in a virtual host
1166
+ configuration block. The default value is <em>production</em>.</p></div>
1167
+ <h4 id="RailsSpawnMethod">5.7.5. RailsSpawnMethod &lt;string&gt;</h4>
1168
+ <div class="admonitionblock">
1169
+ <table><tr>
1170
+ <td class="icon">
1171
+ <img src="./images/icons/tip.png" alt="Tip" />
1172
+ </td>
1173
+ <td class="content">
1174
+ <div class="title">"What spawn method should I use?"</div>
1175
+ <div class="para"><p>This subsection attempts to describe spawn methods, but it's okay if you don't (want to)
1176
+ understand it, as it's mostly a technical detail. You can basically follow this rule of thumb:</p></div>
1177
+ <div class="sidebarblock">
1178
+ <div class="sidebar-content">
1179
+ <div class="para"><p>If your application works on Mongrel, but not on Phusion Passenger, then set
1180
+ <tt>RailsSpawnMethod</tt> to <em>conservative</em>. Otherwise, leave it at <em>smart</em> (the default).</p></div>
1181
+ </div></div>
1182
+ <div class="para"><p>However, we do recommend you to try to understand it. The <em>smart</em> spawn method brings
1183
+ many benefits.</p></div>
1184
+ </td>
1185
+ </tr></table>
1186
+ </div>
1187
+ <div class="para"><p>Internally, Phusion Passenger spawns multiple Ruby on Rails processes in order to handle
1188
+ requests. But there are multiple ways with which processes can be spawned, each having
1189
+ its own set of pros and cons. Supported spawn methods are:</p></div>
1190
+ <div class="vlist"><dl>
861
1191
  <dt>
862
- RailsUserSwitching &lt;on|off&gt;
1192
+ smart
863
1193
  </dt>
864
1194
  <dd>
865
1195
  <p>
866
- Whether to enable <a href="#user_switching">user switching support</a>.
1196
+ When this spawn method is used, Phusion Passenger will attempt to cache Ruby on Rails
1197
+ framework code and application code for a limited period of time.
867
1198
  </p>
868
- <div class="para"><p>This option may only occur once, in the global server configuration.
869
- The default value is <em>on</em>.</p></div>
1199
+ <div class="para"><p><strong>Pros:</strong>
1200
+ This can significantly decrease spawn time (by as much as 90%). And, when Ruby Enterprise
1201
+ Edition is used, <a href="#reducing_memory_usage">memory usage can be reduced by 33% on average</a>.</p></div>
1202
+ <div class="para"><p><strong>Cons:</strong>
1203
+ Some Ruby on Rails applications and libraries are not compatible with smart spawning.
1204
+ If that's the case for your application, then you should use <em>conservative</em> as
1205
+ spawning method.</p></div>
870
1206
  </dd>
871
- </dl></div>
872
- <div class="vlist" id="RailsDefaultUser"><dl>
873
1207
  <dt>
874
- RailsDefaultUser &lt;username&gt;
1208
+ conservative
875
1209
  </dt>
876
1210
  <dd>
877
1211
  <p>
878
- Passenger enables <a href="#user_switching">user switching support</a> by default.
879
- This configuration option allows one to specify which user Rails
880
- applications must run as, if user switching fails or is disabled.
1212
+ This spawning method is similar to the one used in Mongrel Cluster. It does not perform
1213
+ any code caching at all.
881
1214
  </p>
882
- <div class="para"><p>This option may only occur once, in the global server configuration.
883
- The default value is <em>nobody</em>.</p></div>
1215
+ <div class="para"><p><strong>Pros:</strong>
1216
+ Conservative spawning is guaranteed to be compatible with all applications and libraries.</p></div>
1217
+ <div class="para"><p><strong>Cons:</strong>
1218
+ Much slower than smart spawning. Every spawn action will be equally slow, though no slower than
1219
+ the startup time of a single server in Mongrel Cluster. Conservative spawning will also
1220
+ render <a href="#reducing_memory_usage">Ruby Enterprise Edition's memory reduction technology</a> useless.</p></div>
884
1221
  </dd>
885
1222
  </dl></div>
1223
+ <div class="para"><p>This option may occur once, in the global server configuration or in a virtual host
1224
+ configuration block. The default value is <em>smart</em>.</p></div>
1225
+ <h3 id="_rack_specific_options">5.8. Rack-specific options</h3><div style="clear:left"></div>
1226
+ <h4 id="_rackautodetect_lt_on_off_gt">5.8.1. RackAutoDetect &lt;on|off&gt;</h4>
1227
+ <div class="para"><p>Whether Phusion Passenger should automatically detect whether a virtual host's
1228
+ document root is a Rack application. The default is <em>on</em>.</p></div>
1229
+ <div class="para"><p>This option may occur in the global server configuration or in a virtual host
1230
+ configuration block.</p></div>
1231
+ <div class="para"><p>For example, consider the following configuration:</p></div>
1232
+ <div class="listingblock">
1233
+ <div class="content">
1234
+ <pre><tt>RackAutoDetect off
1235
+ &lt;VirtualHost *:80&gt;
1236
+ ServerName www.rackapp.com
1237
+ DocumentRoot /webapps/my_rack_app/public
1238
+ &lt;/VirtualHost&gt;</tt></pre>
1239
+ </div></div>
1240
+ <div class="para"><p>If one goes to <em>http://www.rackapp.com/</em>, the visitor will see the contents of
1241
+ the <em>/webapps/my_rack_app/public</em> folder, instead of the output of the Rack
1242
+ application.</p></div>
1243
+ <div class="para"><p>It is possible to explicitly specify that the host is a Rack
1244
+ application by using the <a href="#RackBaseURI">RackBaseURI</a> configuration option:</p></div>
1245
+ <div class="listingblock">
1246
+ <div class="content">
1247
+ <pre><tt>RackAutoDetect off
1248
+ &lt;VirtualHost *:80&gt;
1249
+ ServerName www.rackapp.com
1250
+ DocumentRoot /webapps/my_rack_app/public
1251
+ RackBaseURI / # This line was added
1252
+ &lt;/VirtualHost&gt;</tt></pre>
1253
+ </div></div>
1254
+ <h4 id="RackBaseURI">5.8.2. RackBaseURI &lt;uri&gt;</h4>
1255
+ <div class="para"><p>Used to specify that the given URI is a Rack application. See
1256
+ <a href="#deploying_rack_to_sub_uri">Deploying Rack to a sub URI</a> for an example.</p></div>
1257
+ <div class="para"><p>It is allowed to specify this option multiple times. Do this to deploy multiple
1258
+ Rack applications in different sub-URIs under the same virtual host.</p></div>
1259
+ <div class="para"><p>This option may occur in the global server configuration or in a
1260
+ virtual host configuration block.</p></div>
1261
+ <h4 id="rack_env">5.8.3. RackEnv &lt;string&gt;</h4>
1262
+ <div class="para"><p>The given value will be accessible in Rack applications in the <tt>RACK_ENV</tt>
1263
+ environment variable. This allows one to define the environment in which
1264
+ Rack applications are run, very similar to <tt>RAILS_ENV</tt>.</p></div>
1265
+ <div class="para"><p>This option may occur once, in the global server configuration or in a virtual host
1266
+ configuration block. The default value is <em>production</em>.</p></div>
1267
+ <h3 id="_deprecated_options">5.9. Deprecated options</h3><div style="clear:left"></div>
1268
+ <div class="para"><p>The following options have been deprecated, but are still supported for backwards
1269
+ compatibility reasons.</p></div>
1270
+ <h4 id="_railsruby">5.9.1. RailsRuby</h4>
1271
+ <div class="para"><p>Deprecated in favor of <a href="#PassengerRuby">PassengerRuby</a>.</p></div>
1272
+ <h4 id="_railsuserswitching">5.9.2. RailsUserSwitching</h4>
1273
+ <div class="para"><p>Deprecated in favor of <a href="#PassengerUserSwitching">PassengerUserSwitching</a>.</p></div>
1274
+ <h4 id="_railsdefaultuser">5.9.3. RailsDefaultUser</h4>
1275
+ <div class="para"><p>Deprecated in favor of <a href="#PassengerDefaultUser">PassengerDefaultUser</a>.</p></div>
886
1276
  </div>
887
- <h2 id="_troubleshooting">5. Troubleshooting</h2>
1277
+ <h2 id="_troubleshooting">6. Troubleshooting</h2>
888
1278
  <div class="sectionbody">
889
- <h3 id="_operating_system_specific_problems">5.1. Operating system-specific problems</h3><div style="clear:left"></div>
890
- <h4 id="_macos_x_the_installer_cannot_locate_mamp_s_apache">5.1.1. MacOS X: The installer cannot locate MAMP's Apache</h4>
1279
+ <h3 id="_operating_system_specific_problems">6.1. Operating system-specific problems</h3><div style="clear:left"></div>
1280
+ <h4 id="_macos_x_the_installer_cannot_locate_mamp_s_apache">6.1.1. MacOS X: The installer cannot locate MAMP's Apache</h4>
891
1281
  <div class="sidebarblock">
892
1282
  <div class="sidebar-content">
893
1283
  <div class="sidebar-title">Symptoms</div>
@@ -903,17 +1293,17 @@ No such file or directory at /Applications/MAMP/Library/bin/apxs line 218.</tt><
903
1293
  Please read <a href="http://forum.mamp.info/viewtopic.php?t=1866">this forum topic</a> to learn how
904
1294
  to fix this problem.</p></div>
905
1295
  <div class="para"><p>See also <a href="http://code.google.com/p/phusion-passenger/issues/detail?id=12">this bug report</a>.</p></div>
906
- <h3 id="_problems_during_installation">5.2. Problems during installation</h3><div style="clear:left"></div>
907
- <h4 id="installing_ruby_dev">5.2.1. Ruby development headers aren't installed</h4>
1296
+ <h3 id="_problems_during_installation">6.2. Problems during installation</h3><div style="clear:left"></div>
1297
+ <h4 id="installing_ruby_dev">6.2.1. Ruby development headers aren't installed</h4>
908
1298
  <div class="sidebarblock">
909
1299
  <div class="sidebar-content">
910
1300
  <div class="sidebar-title">Symptoms</div>
911
- <div class="para"><p>Installing Passenger fails because of one of the following errors:</p></div>
1301
+ <div class="para"><p>Installing Phusion Passenger fails because of one of the following errors:</p></div>
912
1302
  <div class="ilist"><ul>
913
1303
  <li>
914
1304
  <p>
915
- The Passenger installer tells you that the Ruby development headers aren't
916
- installed.
1305
+ The Phusion Passenger installer tells you that the Ruby development headers
1306
+ aren't installed.
917
1307
  </p>
918
1308
  </li>
919
1309
  <li>
@@ -928,7 +1318,7 @@ The error message &#8220;<em>ruby.h: No such file or directory&#8221;</em> occur
928
1318
  </li>
929
1319
  </ul></div>
930
1320
  </div></div>
931
- <div class="para"><p>Passenger makes use of a native extension, so the Ruby development headers
1321
+ <div class="para"><p>Phusion Passenger makes use of a native extension, so the Ruby development headers
932
1322
  must be installed. On most Linux systems, Ruby and the Ruby development headers
933
1323
  are contained in separate packages, so having Ruby installed does not
934
1324
  automatically imply having the development headers installed.</p></div>
@@ -992,16 +1382,16 @@ Other operating systems
992
1382
  <img src="./images/icons/note.png" alt="Note" />
993
1383
  </td>
994
1384
  <td class="content">If you've installed a new Ruby version (i.e. your system now contains
995
- multiple Ruby installations), then you will need to tell Passenger which Ruby
996
- installation you want to use. Please read
1385
+ multiple Ruby installations), then you will need to tell Phusion Passenger
1386
+ which Ruby installation you want to use. Please read
997
1387
  <a href="#specifying_ruby_installation">Specifying the correct Ruby installation</a>.</td>
998
1388
  </tr></table>
999
1389
  </div>
1000
- <h4 id="_apache_development_headers_aren_t_installed">5.2.2. Apache development headers aren't installed</h4>
1390
+ <h4 id="_apache_development_headers_aren_t_installed">6.2.2. Apache development headers aren't installed</h4>
1001
1391
  <div class="sidebarblock">
1002
1392
  <div class="sidebar-content">
1003
1393
  <div class="sidebar-title">Symptoms</div>
1004
- <div class="para"><p>Installing Passenger fails because of one of the following errors:</p></div>
1394
+ <div class="para"><p>Installing Phusion Passenger fails because of one of the following errors:</p></div>
1005
1395
  <div class="ilist"><ul>
1006
1396
  <li>
1007
1397
  <p>
@@ -1082,11 +1472,11 @@ Other operating systems
1082
1472
  </p>
1083
1473
  </dd>
1084
1474
  </dl></div>
1085
- <h4 id="_apr_development_headers_aren_t_installed">5.2.3. APR development headers aren't installed</h4>
1475
+ <h4 id="_apr_development_headers_aren_t_installed">6.2.3. APR development headers aren't installed</h4>
1086
1476
  <div class="sidebarblock">
1087
1477
  <div class="sidebar-content">
1088
1478
  <div class="sidebar-title">Symptoms</div>
1089
- <div class="para"><p>Installing Passenger fails because one of the following errors:</p></div>
1479
+ <div class="para"><p>Installing Phusion Passenger fails because one of the following errors:</p></div>
1090
1480
  <div class="ilist"><ul>
1091
1481
  <li>
1092
1482
  <p>
@@ -1162,11 +1552,11 @@ Other operating systems
1162
1552
  </p>
1163
1553
  </dd>
1164
1554
  </dl></div>
1165
- <h4 id="_passenger_is_using_the_wrong_apache_during_installation">5.2.4. Passenger is using the wrong Apache during installation</h4>
1166
- <div class="para"><p>Please <a href="#specifying_correct_apache_install">Specifying the correct Apache installation</a>, and re-run the Passenger installer.</p></div>
1167
- <h4 id="_passenger_is_using_the_wrong_ruby_during_installation">5.2.5. Passenger is using the wrong Ruby during installation</h4>
1168
- <div class="para"><p>Please <a href="#specifying_ruby_installation">Specifying the correct Ruby installation</a>, and re-run the Passenger installer.</p></div>
1169
- <h3 id="_problems_after_installation">5.3. Problems after installation</h3><div style="clear:left"></div>
1555
+ <h4 id="_phusion_passenger_is_using_the_wrong_apache_during_installation">6.2.4. Phusion Passenger is using the wrong Apache during installation</h4>
1556
+ <div class="para"><p>Please <a href="#specifying_correct_apache_install">Specifying the correct Apache installation</a>, and re-run the Phusion Passenger installer.</p></div>
1557
+ <h4 id="_phusion_passenger_is_using_the_wrong_ruby_during_installation">6.2.5. Phusion Passenger is using the wrong Ruby during installation</h4>
1558
+ <div class="para"><p>Please <a href="#specifying_ruby_installation">Specifying the correct Ruby installation</a>, and re-run the Phusion Passenger installer.</p></div>
1559
+ <h3 id="_problems_after_installation">6.3. Problems after installation</h3><div style="clear:left"></div>
1170
1560
  <div class="admonitionblock">
1171
1561
  <table><tr>
1172
1562
  <td class="icon">
@@ -1180,7 +1570,9 @@ inside the Apache error logs. It will tell you what exactly went wrong.</p></div
1180
1570
  </td>
1181
1571
  </tr></table>
1182
1572
  </div>
1183
- <h4 id="_passenger_has_been_compiled_against_the_wrong_apache_installation">5.3.1. Passenger has been compiled against the wrong Apache installation</h4>
1573
+ <h4 id="_my_rails_application_works_on_mongrel_but_not_on_phusion_passenger">6.3.1. My Rails application works on Mongrel, but not on Phusion Passenger</h4>
1574
+ <div class="para"><p>Please try setting <a href="#RailsSpawnMethod">RailsSpawnMethod</a> to <em>conservative</em>.</p></div>
1575
+ <h4 id="_phusion_passenger_has_been_compiled_against_the_wrong_apache_installation">6.3.2. Phusion Passenger has been compiled against the wrong Apache installation</h4>
1184
1576
  <div class="sidebarblock">
1185
1577
  <div class="sidebar-content">
1186
1578
  <div class="sidebar-title">Symptoms</div>
@@ -1189,10 +1581,10 @@ says &#8220;<em>seg fault or similar nasty error detected in the parent process&
1189
1581
  </div></div>
1190
1582
  <div class="para"><p>This problem is most likely to occur on MacOS X. Most OS X users have multiple
1191
1583
  Apache installations on their system.</p></div>
1192
- <div class="para"><p>To solve this problem, please <a href="#specifying_correct_apache_install">specify the correct Apache installation</a>, and <a href="#install_passenger">reinstall Passenger</a>.</p></div>
1193
- <h4 id="_i_get_a_304_forbidden_error">5.3.2. I get a "304 Forbidden" error</h4>
1584
+ <div class="para"><p>To solve this problem, please <a href="#specifying_correct_apache_install">specify the correct Apache installation</a>, and <a href="#install_passenger">reinstall Phusion Passenger</a>.</p></div>
1585
+ <h4 id="_i_get_a_304_forbidden_error">6.3.3. I get a "304 Forbidden" error</h4>
1194
1586
  <div class="para"><p>See next subsection.</p></div>
1195
- <h4 id="_static_assets_such_as_images_and_stylesheets_aren_t_being_displayed">5.3.3. Static assets such as images and stylesheets aren't being displayed</h4>
1587
+ <h4 id="_static_assets_such_as_images_and_stylesheets_aren_t_being_displayed">6.3.4. Static assets such as images and stylesheets aren't being displayed</h4>
1196
1588
  <div class="para"><p>Static assets are accelerated, i.e. they are served directly by Apache and do not
1197
1589
  go through the Rails stack. There are two reasons why Apache doesn't serve static
1198
1590
  assets correctly:</p></div>
@@ -1222,18 +1614,18 @@ The Apache process doesn't have permission to access your Rails application's fo
1222
1614
  </p>
1223
1615
  </li>
1224
1616
  </ol></div>
1225
- <h4 id="_the_apache_error_log_says_that_the_spawn_manager_script_does_not_exist_or_that_it_does_not_have_permission_to_execute_it">5.3.4. The Apache error log says that the spawn manager script does not exist, or that it does not have permission to execute it</h4>
1226
- <div class="para"><p>If you are sure that the RailsSpawnServer configuration option is set correctly,
1617
+ <h4 id="_the_apache_error_log_says_that_the_spawn_manager_script_does_not_exist_or_that_it_does_not_have_permission_to_execute_it">6.3.5. The Apache error log says that the spawn manager script does not exist, or that it does not have permission to execute it</h4>
1618
+ <div class="para"><p>If you are sure that the <em>PassengerRoot</em> configuration option is set correctly,
1227
1619
  then this problem is most likely caused by the fact that you're running Apache
1228
1620
  with SELinux. On Fedora, CentOS and RedHat Enterprise Linux, Apache is locked
1229
1621
  down by SELinux policies.</p></div>
1230
- <div class="para"><p>To solve this problem, you must set some permissions on the Passenger files and
1231
- folders, so that Apache can access them.</p></div>
1622
+ <div class="para"><p>To solve this problem, you must set some permissions on the Phusion Passenger files
1623
+ and folders, so that Apache can access them.</p></div>
1232
1624
  <div class="ilist"><ul>
1233
1625
  <li>
1234
1626
  <p>
1235
- If you've installed Passenger via a gem, then run this command to determine
1236
- Passenger's root folder:
1627
+ If you've installed Phusion Passenger via a gem, then run this command to determine
1628
+ Phusion Passenger's root folder:
1237
1629
  </p>
1238
1630
  <div class="listingblock">
1239
1631
  <div class="content">
@@ -1249,7 +1641,7 @@ If you've installed Passenger via a gem, then run this command to determine
1249
1641
  </li>
1250
1642
  <li>
1251
1643
  <p>
1252
- If you've installed Passenger via the source tarball, then run the following
1644
+ If you've installed Phusion Passenger via the source tarball, then run the following
1253
1645
  command:
1254
1646
  </p>
1255
1647
  <div class="listingblock">
@@ -1259,7 +1651,7 @@ If you've installed Passenger via the source tarball, then run the following
1259
1651
  </li>
1260
1652
  </ul></div>
1261
1653
  <div class="para"><p>Once the permissions are fixed, restart Apache.</p></div>
1262
- <h4 id="_the_rails_application_reports_that_it_s_unable_to_start_because_of_a_permission_error">5.3.5. The Rails application reports that it's unable to start because of a permission error</h4>
1654
+ <h4 id="_the_rails_application_reports_that_it_s_unable_to_start_because_of_a_permission_error">6.3.6. The Rails application reports that it's unable to start because of a permission error</h4>
1263
1655
  <div class="para"><p>Please check whether your Rails application's folder has the correct
1264
1656
  permissions. By default, Rails applications are started as the owner of the
1265
1657
  file <em>config/environment.rb</em>, except if the file is owned by root. If the
@@ -1267,19 +1659,19 @@ file is owned by root, then the Rails application will be started as <em>nobody<
1267
1659
  (or as the user specify by <a href="#RailsDefaultUser">RailsDefaultUser</a>, if that's
1268
1660
  specified).</p></div>
1269
1661
  <div class="para"><p>Please read <a href="#user_switching">User switching (security)</a> for details.</p></div>
1270
- <h4 id="_my_rails_application_s_log_file_is_not_being_written_to">5.3.6. My Rails application's log file is not being written to</h4>
1662
+ <h4 id="_my_rails_application_s_log_file_is_not_being_written_to">6.3.7. My Rails application's log file is not being written to</h4>
1271
1663
  <div class="para"><p>There are a couple things that you should be aware of:</p></div>
1272
1664
  <div class="ilist"><ul>
1273
1665
  <li>
1274
1666
  <p>
1275
- By default, Passenger runs Rails applications in <em>production</em> mode, so please
1276
- be sure to check <em>production.log</em> instead of <em>development.log</em>. See
1667
+ By default, Phusion Passenger runs Rails applications in <em>production</em> mode,
1668
+ so please be sure to check <em>production.log</em> instead of <em>development.log</em>. See
1277
1669
  <a href="#RailsEnv">RailsEnv</a> for configuration.
1278
1670
  </p>
1279
1671
  </li>
1280
1672
  <li>
1281
1673
  <p>
1282
- By default, Passenger runs Rails applications as the owner of <em>environment.rb</em>.
1674
+ By default, Phusion Passenger runs Rails applications as the owner of <em>environment.rb</em>.
1283
1675
  So the log file can only be written to if that user has write permission to the
1284
1676
  log file. Please <em>chmod</em> or <em>chown</em> your log file accordingly.
1285
1677
  </p>
@@ -1295,45 +1687,213 @@ following command to give your Rails application folder that context:</p></div>
1295
1687
  <div class="content">
1296
1688
  <pre><tt>chcon -R -h -t httpd_sys_content_t /path/to/your/rails/app</tt></pre>
1297
1689
  </div></div>
1298
- <h3 id="conflicting_apache_modules">5.4. Conflicting Apache modules</h3><div style="clear:left"></div>
1299
- <h4 id="_mod_rewrite_and_mod_alias">5.4.1. mod_rewrite and mod_alias</h4>
1300
- <div class="para"><p>Passenger conflicts with <em>mod_rewrite</em> and <em>mod_alias</em>. Those modules may be
1690
+ <h3 id="conflicting_apache_modules">6.4. Conflicting Apache modules</h3><div style="clear:left"></div>
1691
+ <h4 id="_mod_rewrite_and_mod_alias">6.4.1. mod_rewrite and mod_alias</h4>
1692
+ <div class="para"><p>Phusion Passenger conflicts with <em>mod_rewrite</em> and <em>mod_alias</em>. Those modules may be
1301
1693
  installed and loaded together with <em>mod_passenger</em>, and they will work fine
1302
1694
  outside virtual hosts that contain a Rails application, but we recommend you
1303
1695
  not to use their features inside virtual hosts that contain a Rails
1304
1696
  application.</p></div>
1305
- <div class="para"><p>By default, Passenger will override mod_rewrite rules on Rails hosts. This is
1306
- because the default .htaccess, as provided by Ruby on Rails, redirects all
1697
+ <div class="para"><p>By default, Phusion Passenger will override mod_rewrite rules on Rails hosts.
1698
+ This is because the default .htaccess, as provided by Ruby on Rails, redirects all
1307
1699
  requests to `dispatch.cgi' using mod_rewrite. This is a CGI application which
1308
1700
  loads the entire Ruby on Rails framework for every request, and thus is very
1309
1701
  slow. If we do not override mod_rewrite, then Ruby on Rails apps will be slow
1310
- on Passenger by default &#8212; but we want a good out-of-the-box experience.</p></div>
1702
+ on Phusion Passenger by default &#8212; but we want a good out-of-the-box experience.</p></div>
1311
1703
  <div class="para"><p>Furthermore, the primary reason why people use mod_rewrite with Rails
1312
- applications, is to accelerate page caching. Passenger supports page caching
1313
- out-of-the-box, without mod_rewrite.</p></div>
1314
- <div class="para"><p>It is not fully understood how mod_alias conflicts with Passenger, but we
1704
+ applications, is to accelerate page caching. Phusion Passenger supports page
1705
+ caching out-of-the-box, without mod_rewrite.</p></div>
1706
+ <div class="para"><p>It is not fully understood how mod_alias conflicts with Phusion Passenger, but we
1315
1707
  recommend you not to use it on Rails virtual hosts. mod_alias rules can result
1316
1708
  in surprising problems.</p></div>
1317
1709
  <div class="para"><p>If you really want to use mod_rewrite on Rails virtual hosts, then please set
1318
1710
  the <a href="#RailsAllowModRewrite">RailsAllowModRewrite</a> configuration option. But
1319
1711
  please note that you will have to delete Rails applications' default .htaccess
1320
1712
  file, or add rewrite rules to negate its effects.</p></div>
1321
- <h4 id="_mod_userdir">5.4.2. mod_userdir</h4>
1713
+ <h4 id="_mod_userdir">6.4.2. mod_userdir</h4>
1322
1714
  <div class="para"><p><em>mod_userdir</em> is not compatible with Phusion Passenger at the moment.</p></div>
1323
- <h4 id="_virtualdocumentroot">5.4.3. VirtualDocumentRoot</h4>
1715
+ <h4 id="_virtualdocumentroot">6.4.3. VirtualDocumentRoot</h4>
1324
1716
  <div class="para"><p>VirtualDocumentRoot is not compatible with Phusion Passenger at the moment.</p></div>
1325
1717
  </div>
1326
- <h2 id="_tips_and_notes">6. Tips and notes</h2>
1718
+ <h2 id="_analysis_and_system_maintenance_tools">7. Analysis and system maintenance tools</h2>
1719
+ <div class="sectionbody">
1720
+ <div class="para"><p>Phusion Passenger provides a set of tools, which are useful for system analysis,
1721
+ maintenance and troubleshooting.</p></div>
1722
+ <h3 id="_inspecting_memory_usage">7.1. Inspecting memory usage</h3><div style="clear:left"></div>
1723
+ <div class="para"><p>Process inspection tools such as <tt>ps</tt> and <tt>top</tt> are useful, but they
1724
+ <a href="http://groups.google.com/group/phusion-passenger/msg/1fd1c233456d3180">rarely show the correct memory usage</a>.
1725
+ The real memory usage is usually lower than what <tt>ps</tt> and <tt>top</tt> report.</p></div>
1726
+ <div class="para"><p>There are many technical reasons why this is so, but an explanation is beyond
1727
+ the scope of this Users Guide. We kindly refer the interested reader to
1728
+ operating systems literature about <em>virtual memory</em> and <em>copy-on-write</em>.</p></div>
1729
+ <div class="para"><p>The tool <tt>passenger-memory-stats</tt> allows one to easily analyze Phusion Passenger's
1730
+ and Apache's real memory usage. For example:</p></div>
1731
+ <div class="listingblock">
1732
+ <div class="content">
1733
+ <pre><tt>[bash@localhost root]# passenger-memory-stats
1734
+ ------------- Apache processes --------------.
1735
+ PID PPID Threads VMSize Private Name
1736
+ ---------------------------------------------.
1737
+ 5947 1 9 90.6 MB 0.5 MB /usr/sbin/apache2 -k start
1738
+ 5948 5947 1 18.9 MB 0.7 MB /usr/sbin/fcgi-pm -k start
1739
+ 6029 5947 1 42.7 MB 0.5 MB /usr/sbin/apache2 -k start
1740
+ 6030 5947 1 42.7 MB 0.5 MB /usr/sbin/apache2 -k start
1741
+ 6031 5947 1 42.5 MB 0.3 MB /usr/sbin/apache2 -k start
1742
+ 6033 5947 1 42.5 MB 0.4 MB /usr/sbin/apache2 -k start
1743
+ 6034 5947 1 50.5 MB 0.4 MB /usr/sbin/apache2 -k start
1744
+ 23482 5947 1 82.6 MB 0.4 MB /usr/sbin/apache2 -k start
1745
+ ### Processes: 8
1746
+ ### Total private dirty RSS: 3.50 MB
1747
+
1748
+ --------- Passenger processes ---------.
1749
+ PID Threads VMSize Private Name
1750
+ ---------------------------------------.
1751
+ 6026 1 10.9 MB 4.7 MB Passenger spawn server
1752
+ 23481 1 26.7 MB 3.0 MB Passenger FrameworkSpawner: 2.0.2
1753
+ 23791 1 26.8 MB 2.9 MB Passenger ApplicationSpawner: /var/www/projects/app1-foobar
1754
+ 23793 1 26.9 MB 17.1 MB Rails: /var/www/projects/app1-foobar
1755
+ ### Processes: 4
1756
+ ### Total private dirty RSS: 27.76 M</tt></pre>
1757
+ </div></div>
1758
+ <div class="para"><p>The <em>Private</em> or <em>private dirty RSS</em> field shows the <strong>real</strong> memory usage of processes. Here,
1759
+ we see that all the Apache worker processes only take less than 1 MB memory each.
1760
+ This is a lot less than the 50 MB-ish memory usage as shown in the <em>VMSize</em> column
1761
+ (which is what a lot of people think is the real memory usage, but is actually not).</p></div>
1762
+ <div class="admonitionblock">
1763
+ <table><tr>
1764
+ <td class="icon">
1765
+ <img src="./images/icons/note.png" alt="Note" />
1766
+ </td>
1767
+ <td class="content">This tool only works on Linux. Unfortunately other operating systems don't
1768
+ provide facilities for determining processes' private dirty RSS.</td>
1769
+ </tr></table>
1770
+ </div>
1771
+ <h3 id="_inspecting_phusion_passenger_s_internal_status">7.2. Inspecting Phusion Passenger's internal status</h3><div style="clear:left"></div>
1772
+ <div class="para"><p>One can inspect Phusion Passenger's internal status with the tool <tt>passenger-status</tt>.
1773
+ This tool must typically be run as root. For example:</p></div>
1774
+ <div class="listingblock">
1775
+ <div class="content">
1776
+ <pre><tt>[bash@localhost root]# passenger-status
1777
+ ----------- General information -----------
1778
+ max = 6
1779
+ count = 1
1780
+ active = 0
1781
+ inactive = 1
1782
+
1783
+ ----------- Applications -----------
1784
+ /var/www/projects/app1-foobar:
1785
+ PID: 9617 Sessions: 0</tt></pre>
1786
+ </div></div>
1787
+ <div class="para"><p>The <em>general information</em> section shows the following information:</p></div>
1788
+ <div class="hlist"><table>
1789
+ <tr>
1790
+ <td class="hlist1">
1791
+ max
1792
+ </td>
1793
+ <td class="hlist2">
1794
+ The maximum number of application instances that Phusion Passenger will
1795
+ spawn. This equals the value given for <a href="#PassengerMaxPoolSize">PassengerMaxPoolSize</a>.
1796
+ </td>
1797
+ </tr>
1798
+ <tr>
1799
+ <td class="hlist1">
1800
+ count
1801
+ </td>
1802
+ <td class="hlist2">
1803
+ The number of application instances that are currently alive. This value
1804
+ is always less than or equal to <em>max</em>.
1805
+ </td>
1806
+ </tr>
1807
+ <tr>
1808
+ <td class="hlist1">
1809
+ active
1810
+ </td>
1811
+ <td class="hlist2">
1812
+ The number of application instances that are currently processing
1813
+ requests. This value is always less than or equal to <em>count</em>.
1814
+ </td>
1815
+ </tr>
1816
+ <tr>
1817
+ <td class="hlist1">
1818
+ inactive
1819
+ </td>
1820
+ <td class="hlist2">
1821
+ The number of application instances that are currently <strong>not</strong> processing
1822
+ requests, i.e. are idle. Idle application instances will be shutdown after a while,
1823
+ as can be specified with <a href="#PassengerPoolIdleTime">PassengerPoolIdleTime</a>. The value of <em>inactive</em>
1824
+ equals <tt>count - active</tt>.
1825
+ </td>
1826
+ </tr>
1827
+ </table></div>
1828
+ <div class="para"><p>The <em>applications</em> section shows each application instance, which directory it belongs
1829
+ to. The <em>sessions</em> field shows how many HTTP client are currently being processed by
1830
+ that application instance.</p></div>
1831
+ <div class="para"><p>Since Phusion Passenger uses fair load balancing by default, the number of sessions for the
1832
+ application instances should be fairly close to each other. For example, this is fairly
1833
+ normal:</p></div>
1834
+ <div class="listingblock">
1835
+ <div class="content">
1836
+ <pre><tt> PID: 4281 Sessions: 2
1837
+ PID: 4268 Sessions: 0
1838
+ PID: 4265 Sessions: 1
1839
+ PID: 4275 Sessions: 1</tt></pre>
1840
+ </div></div>
1841
+ <div class="para"><p>But if you see a "spike", i.e. an application instance has an unusually high number of
1842
+ sessions compared to the others, then there might be a problem:</p></div>
1843
+ <div class="listingblock">
1844
+ <div class="content">
1845
+ <pre><tt> PID: 4281 Sessions: 2
1846
+ PID: 17468 Sessions: 8 &lt;---- "spike"
1847
+ PID: 4265 Sessions: 1
1848
+ PID: 4275 Sessions: 1</tt></pre>
1849
+ </div></div>
1850
+ <div class="para"><p>Possible reasons why spikes can occur:</p></div>
1851
+ <div class="olist"><ol>
1852
+ <li>
1853
+ <p>
1854
+ Your application is busy processing a request that takes a very long time.
1855
+ </p>
1856
+ </li>
1857
+ <li>
1858
+ <p>
1859
+ Your application is frozen, i.e. has stopped responding. See
1860
+ <a href="#debugging_frozen">Debugging frozen applications</a> for tips.
1861
+ </p>
1862
+ </li>
1863
+ </ol></div>
1864
+ <h3 id="debugging_frozen">7.3. Debugging frozen applications</h3><div style="clear:left"></div>
1865
+ <div class="para"><p>If one of your application instances is frozen (stopped responding), then you
1866
+ can figure out where it is frozen by killing it with <em>SIGABRT</em>. This will cause the
1867
+ application to raise an exception, with a backtrace.</p></div>
1868
+ <div class="para"><p>The exception (with full backtrace information) is normally logged into the Apache
1869
+ error log. But if your application or if its web framework has its own exception logging
1870
+ routines, then exceptions might be logged into the application's log files instead.
1871
+ This is the case with Ruby on Rails. So if you kill a Ruby on Rails application with
1872
+ <em>SIGABRT</em>, please check the application's <em>production.log</em> first (assuming that you're
1873
+ running it in a <em>production</em> environment). If you don't see a backtrace there, check
1874
+ the Apache error log.</p></div>
1875
+ <div class="admonitionblock">
1876
+ <table><tr>
1877
+ <td class="icon">
1878
+ <img src="./images/icons/note.png" alt="Note" />
1879
+ </td>
1880
+ <td class="content">It is safe to kill application instances, even in live environments. Phusion Passenger
1881
+ will restart killed application instances, as if nothing bad happened.</td>
1882
+ </tr></table>
1883
+ </div>
1884
+ </div>
1885
+ <h2 id="_tips">8. Tips</h2>
1327
1886
  <div class="sectionbody">
1328
- <h3 id="user_switching">6.1. User switching (security)</h3><div style="clear:left"></div>
1887
+ <h3 id="user_switching">8.1. User switching (security)</h3><div style="clear:left"></div>
1329
1888
  <div class="para"><p>There is a problem that plagues most PHP web host, namely the fact that all PHP
1330
1889
  applications are run in the same user context as the web server. So for
1331
1890
  example, Joe's PHP application will be able to read Jane's PHP application's
1332
1891
  passwords. This is obviously undesirable on many servers.</p></div>
1333
- <div class="para"><p>Passenger solves this problem by implementing <em>user switching</em>. A Rails
1334
- application is started as the owner of the file <em>config/environment.rb</em>. So if
1335
- <em>/home/webapps/foo/config/environment.rb</em> is owned by <em>joe</em>, then Passenger
1336
- will launch the corresponding Rails application as <em>joe</em> as well.</p></div>
1892
+ <div class="para"><p>Phusion Passenger solves this problem by implementing <em>user switching</em>. A Rails
1893
+ application is started as the owner of the file <em>config/environment.rb</em>,
1894
+ and a Rack application is started as the owner of the file <em>config.ru</em>.
1895
+ So if <em>/home/webapps/foo/config/environment.rb</em> is owned by <em>joe</em>, then Phusion
1896
+ Passenger will launch the corresponding Rails application as <em>joe</em> as well.</p></div>
1337
1897
  <div class="para"><p>This behavior is the default, and you don't need to configure anything. But
1338
1898
  there are things that you should keep in mind:</p></div>
1339
1899
  <div class="ilist"><ul>
@@ -1341,6 +1901,8 @@ there are things that you should keep in mind:</p></div>
1341
1901
  <p>
1342
1902
  The owner of <em>environment.rb</em> must have read access to the Rails application's
1343
1903
  folder, and read/write access to the Rails application's <em>logs</em> folder.
1904
+ Likewise, the owner of <em>config.ru</em> must have read access to the Rack application's
1905
+ folder.
1344
1906
  </p>
1345
1907
  </li>
1346
1908
  <li>
@@ -1351,21 +1913,78 @@ This feature is only available if Apache is started by <em>root</em>. This is th
1351
1913
  </li>
1352
1914
  <li>
1353
1915
  <p>
1354
- Under no circumstances will Rails applications be run as <em>root</em>. If
1355
- <em>environment.rb</em> is owned as root or by an unknown user, then the Rails
1356
- application will run as the user specified by
1357
- <a href="#RailsDefaultUser">RailsDefaultUser</a>.
1916
+ Under no circumstances will applications be run as <em>root</em>. If
1917
+ <em>environment.rb</em>/<em>config.ru</em> is owned as root or by an unknown user, then the
1918
+ Rails/Rack application will run as the user specified by
1919
+ <a href="#PassengerDefaultUser">PassengerDefaultUser</a>.
1358
1920
  </p>
1359
1921
  </li>
1360
1922
  </ul></div>
1361
1923
  <div class="para"><p>User switching can be disabled with the
1362
- <a href="#RailsUserSwitching">RailsUserSwitching</a> option.</p></div>
1363
- <h3 id="reducing_memory_usage">6.2. Reducing memory consumption of Ruby on Rails apps by 33%</h3><div style="clear:left"></div>
1364
- <div class="para"><p>Is it possible to reduce memory consumption of your Rails apps by 33% on average,
1924
+ <a href="#PassengerUserSwitching">PassengerUserSwitching</a> option.</p></div>
1925
+ <h3 id="reducing_memory_usage">8.2. Reducing memory consumption of Ruby on Rails applications by 33%</h3><div style="clear:left"></div>
1926
+ <div class="para"><p>Is it possible to reduce memory consumption of your Rails applications by 33% on average,
1365
1927
  by using <a href="http://www.rubyenterpriseedition.com/">Ruby Enterprise Edition</a>.
1366
1928
  Please visit the website for details.</p></div>
1367
- <h3 id="_moving_passenger_to_a_different_directory">6.3. Moving Passenger to a different directory</h3><div style="clear:left"></div>
1368
- <div class="para"><p>It is possible to relocate the Passenger files to a different directory. It
1929
+ <div class="para"><p>Note that this feature does not apply to Rack applications.</p></div>
1930
+ <h3 id="capistrano">8.3. Capistrano recipe</h3><div style="clear:left"></div>
1931
+ <div class="para"><p>Phusion Passenger can be combined with <a href="http://capify.org/">Capistrano</a>.
1932
+ The following Capistrano recipe demonstrates Phusion Passenger support.
1933
+ It assumes that you're using Git as version control system.</p></div>
1934
+ <div class="listingblock">
1935
+ <div class="content">
1936
+ <pre><tt>set :application, "myapp"
1937
+ set :domain, "example.com"
1938
+ set :repository, "ssh://#{domain}/path-to-your-git-repo/#{application}.git"
1939
+ set :use_sudo, false
1940
+ set :deploy_to, "/path-to-your-web-app-directory/#{application}"
1941
+ set :scm, "git"
1942
+
1943
+ role :app, domain
1944
+ role :web, domain
1945
+ role :db, domain, :primary =&gt; true
1946
+
1947
+ namespace :deploy do
1948
+ desc "Restart Application"
1949
+ task :restart, :roles =&gt; :app do
1950
+ run "touch #{current_path}/tmp/restart.txt"
1951
+ end
1952
+ end</tt></pre>
1953
+ </div></div>
1954
+ <div class="admonitionblock">
1955
+ <table><tr>
1956
+ <td class="icon">
1957
+ <img src="./images/icons/note.png" alt="Note" />
1958
+ </td>
1959
+ <td class="content">
1960
+ <div class="para"><p>You may notice that for each deploy, a new spawner server is
1961
+ created (it'll show up in <tt>passenger-memory-stats</tt>). Indeed, Capistrano will deploy
1962
+ to a path ending with <em>/current</em> (ie : <em>/var/www/yourapp/current</em>), so that you don't
1963
+ have to care about revisions in your virtual host configuration. This <em>/current</em> directory
1964
+ is a symlink to the current revision deployed (<em>/path_to_app/releases/date_of_the_release</em>).
1965
+ Therefore, when deploying a new version, the symlink will change, and Phusion Passenger
1966
+ will think it's a new application, thereby creating a new spawner server:</p></div>
1967
+ <div class="listingblock">
1968
+ <div class="content">
1969
+ <pre><tt>1001 30291 [...] Passenger ApplicationSpawner: /var/www/my_app/releases/20080509104413
1970
+ 1001 31371 [...] Passenger ApplicationSpawner: /var/www/my_app/releases/20080509104632</tt></pre>
1971
+ </div></div>
1972
+ <div class="para"><p>Don't worry about this. The (old) spawner server will terminate itself after its default
1973
+ timeout (10 minutes), so you will not run out of memory.</p></div>
1974
+ <div class="para"><p>If you really want to release the spawner server's memory immediately, then you can add a command
1975
+ to your Capistrano script to terminate the Passenger spawn server after each deploy. That
1976
+ command is as follows:</p></div>
1977
+ <div class="listingblock">
1978
+ <div class="content">
1979
+ <pre><tt>kill $( passenger-memory-stats | grep 'Passenger spawn server' | awk '{ print $1 }' )</tt></pre>
1980
+ </div></div>
1981
+ <div class="para"><p>Killing the spawn server is completely safe, because Phusion Passenger will restart the
1982
+ spawn server if it has been terminated.</p></div>
1983
+ </td>
1984
+ </tr></table>
1985
+ </div>
1986
+ <h3 id="_moving_phusion_passenger_to_a_different_directory">8.4. Moving Phusion Passenger to a different directory</h3><div style="clear:left"></div>
1987
+ <div class="para"><p>It is possible to relocate the Phusion Passenger files to a different directory. It
1369
1988
  involves two steps:</p></div>
1370
1989
  <div class="olist"><ol>
1371
1990
  <li>
@@ -1375,11 +1994,11 @@ Moving the directory.
1375
1994
  </li>
1376
1995
  <li>
1377
1996
  <p>
1378
- Updating the &#8220;RailsSpawnServer&#8221; configuration option in Apache.
1997
+ Updating the &#8220;PassengerRoot&#8221; configuration option in Apache.
1379
1998
  </p>
1380
1999
  </li>
1381
2000
  </ol></div>
1382
- <div class="para"><p>For example, if Passenger is located in <em>/opt/passenger/</em>, and you'd like to
2001
+ <div class="para"><p>For example, if Phusion Passenger is located in <em>/opt/passenger/</em>, and you'd like to
1383
2002
  move it to <em>/usr/local/passenger/</em>, then do this:</p></div>
1384
2003
  <div class="olist"><ol>
1385
2004
  <li>
@@ -1397,11 +2016,11 @@ Edit your Apache configuration file, and set:
1397
2016
  </p>
1398
2017
  <div class="listingblock">
1399
2018
  <div class="content">
1400
- <pre><tt>RailsSpawnServer /usr/local/passenger/bin/passenger-spawn-server</tt></pre>
2019
+ <pre><tt>PassengerRoot /usr/local/passenger</tt></pre>
1401
2020
  </div></div>
1402
2021
  </li>
1403
2022
  </ol></div>
1404
- <h3 id="_installing_multiple_ruby_on_rails_versions">6.4. Installing multiple Ruby on Rails versions</h3><div style="clear:left"></div>
2023
+ <h3 id="_installing_multiple_ruby_on_rails_versions">8.5. Installing multiple Ruby on Rails versions</h3><div style="clear:left"></div>
1405
2024
  <div class="para"><p>Each Ruby on Rails applications that are going to be deployed may require a
1406
2025
  specific Ruby on Rails version. You can install a specific version with
1407
2026
  this command:</p></div>
@@ -1411,12 +2030,16 @@ this command:</p></div>
1411
2030
  </div></div>
1412
2031
  <div class="para"><p>where <em>X.X.X</em> is the version number of Ruby on Rails.</p></div>
1413
2032
  <div class="para"><p>All of these versions will exist in parallel, and will not conflict with each
1414
- other. Passenger will automatically make use of the correct version.</p></div>
1415
- <h3 id="_x_sendfile_support">6.5. X-Sendfile support</h3><div style="clear:left"></div>
1416
- <div class="para"><p>Passenger does not provide X-Sendfile support by itself. Please install
2033
+ other. Phusion Passenger will automatically make use of the correct version.</p></div>
2034
+ <h3 id="_x_sendfile_support">8.6. X-Sendfile support</h3><div style="clear:left"></div>
2035
+ <div class="para"><p>Phusion Passenger does not provide X-Sendfile support by itself. Please install
1417
2036
  <a href="http://tn123.ath.cx/mod_xsendfile/">mod_xsendfile</a> for X-Sendfile support.</p></div>
2037
+ <h3 id="_upload_progress">8.7. Upload progress</h3><div style="clear:left"></div>
2038
+ <div class="para"><p>Phusion Passenger does not provide upload progress support by itself. Please
2039
+ try drogus's <a href="http://github.com/drogus/apache-upload-progress-module/tree/master">
2040
+ Apache upload progress module</a> instead.</p></div>
1418
2041
  </div>
1419
- <h2 id="_appendix_a_about_this_document">7. Appendix A: About this document</h2>
2042
+ <h2 id="_appendix_a_about_this_document">9. Appendix A: About this document</h2>
1420
2043
  <div class="sectionbody">
1421
2044
  <div class="para"><p>The text of this document is licensed under the
1422
2045
  <a href="http://creativecommons.org/licenses/by-sa/3.0/">Creative Commons
@@ -1426,16 +2049,17 @@ Attribution-Share Alike 3.0 Unported License</a>.</p></div>
1426
2049
  <img src="images/by_sa.png" alt="images/by_sa.png" />
1427
2050
  </a>
1428
2051
  </span></p></div>
1429
- <div class="para"><p>Passenger is brought to you by Phusion.</p></div>
2052
+ <div class="para"><p>Phusion Passenger is brought to you by <a href="http://www.phusion.nl/">Phusion</a>.</p></div>
1430
2053
  <div class="para"><p><span class="image">
1431
2054
  <a class="image" href="http://www.phusion.nl/">
1432
2055
  <img src="images/phusion_banner.png" alt="images/phusion_banner.png" />
1433
2056
  </a>
1434
2057
  </span></p></div>
2058
+ <div class="para"><p>Phusion Passenger is a trademark of Hongli Lai &amp; Ninh Bui.</p></div>
1435
2059
  </div>
1436
2060
  <div id="footer">
1437
2061
  <div id="footer-text">
1438
- Last updated 2008-05-07 20:28:20 CEST
2062
+ Last updated 2008-06-24 14:03:45 CEST
1439
2063
  </div>
1440
2064
  </div>
1441
2065
  </body>