passenger 3.0.0 → 3.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 (538) hide show
  1. data/DEVELOPERS.TXT +9 -6
  2. data/NEWS +50 -0
  3. data/Rakefile +2 -1
  4. data/bin/passenger-install-apache2-module +4 -4
  5. data/bin/passenger-install-nginx-module +1 -1
  6. data/bin/passenger-make-enterprisey +1 -1
  7. data/build/agents.rb +26 -19
  8. data/build/apache2.rb +49 -46
  9. data/build/basics.rb +37 -13
  10. data/build/common_library.rb +134 -64
  11. data/build/config.rb +18 -11
  12. data/build/cplusplus_support.rb +4 -0
  13. data/build/cxx_tests.rb +26 -12
  14. data/build/documentation.rb +18 -11
  15. data/build/integration_tests.rb +18 -11
  16. data/build/misc.rb +18 -11
  17. data/build/nginx.rb +27 -19
  18. data/build/oxt_tests.rb +18 -11
  19. data/build/packaging.rb +45 -37
  20. data/build/rpm.rb +98 -0
  21. data/build/ruby_extension.rb +19 -13
  22. data/build/ruby_tests.rb +19 -12
  23. data/build/test_basics.rb +23 -11
  24. data/debian/README.Debian +15 -0
  25. data/debian/changelog +185 -0
  26. data/debian/control +47 -19
  27. data/debian/copyright +20 -0
  28. data/debian/libapache2-mod-passenger.install +1 -0
  29. data/debian/libapache2-mod-passenger.postinst +36 -0
  30. data/debian/libapache2-mod-passenger.prerm +15 -0
  31. data/debian/passenger-common.install +4 -0
  32. data/debian/passenger.conf +4 -0
  33. data/debian/passenger.load +1 -0
  34. data/debian/rules +37 -0
  35. data/debian/watch +3 -0
  36. data/{misc → dev}/copy_boost_headers.rb +3 -0
  37. data/{misc → dev}/find_owner_pipe_leaks.rb +0 -0
  38. data/{misc → dev}/render_error_pages.rb +0 -0
  39. data/doc/Users guide Apache.html +39 -1
  40. data/doc/Users guide Apache.txt +40 -0
  41. data/doc/Users guide Nginx.html +1 -1
  42. data/doc/Users guide Standalone.html +1 -1
  43. data/doc/cxxapi/Constants_8h_source.html +1 -1
  44. data/doc/cxxapi/DirectoryMapper_8h_source.html +6 -22
  45. data/doc/cxxapi/EventedClient_8h_source.html +572 -468
  46. data/doc/cxxapi/Exceptions_8h_source.html +142 -129
  47. data/doc/cxxapi/FileDescriptor_8h_source.html +263 -199
  48. data/doc/cxxapi/MessageChannel_8h_source.html +686 -770
  49. data/doc/cxxapi/MessageServer_8h_source.html +1 -1
  50. data/doc/cxxapi/PoolOptions_8h_source.html +79 -78
  51. data/doc/cxxapi/ResourceLocator_8h_source.html +105 -55
  52. data/doc/cxxapi/SafeLibev_8h_source.html +180 -0
  53. data/doc/cxxapi/ServerInstanceDir_8h_source.html +114 -110
  54. data/doc/cxxapi/Session_8h_source.html +1 -1
  55. data/doc/cxxapi/SpawnManager_8h_source.html +208 -208
  56. data/doc/cxxapi/StaticString_8h_source.html +258 -183
  57. data/doc/cxxapi/Utils_8h_source.html +71 -54
  58. data/doc/cxxapi/annotated.html +3 -0
  59. data/doc/cxxapi/classAgentWatcher.html +2 -2
  60. data/doc/cxxapi/classPassenger_1_1DirectoryMapper-members.html +0 -1
  61. data/doc/cxxapi/classPassenger_1_1DirectoryMapper.html +0 -27
  62. data/doc/cxxapi/classPassenger_1_1EventedClient-members.html +5 -0
  63. data/doc/cxxapi/classPassenger_1_1EventedClient.html +102 -7
  64. data/doc/cxxapi/classPassenger_1_1FileDescriptor-members.html +2 -1
  65. data/doc/cxxapi/classPassenger_1_1FileDescriptor.html +34 -8
  66. data/doc/cxxapi/classPassenger_1_1FileDescriptorPair-members.html +36 -0
  67. data/doc/cxxapi/classPassenger_1_1FileDescriptorPair.html +52 -0
  68. data/doc/cxxapi/classPassenger_1_1MessageChannel-members.html +0 -3
  69. data/doc/cxxapi/classPassenger_1_1MessageChannel.html +0 -120
  70. data/doc/cxxapi/classPassenger_1_1SafeLibev-members.html +36 -0
  71. data/doc/cxxapi/classPassenger_1_1SafeLibev.html +51 -0
  72. data/doc/cxxapi/classPassenger_1_1SpawnException-members.html +1 -0
  73. data/doc/cxxapi/classPassenger_1_1SpawnException.html +22 -0
  74. data/doc/cxxapi/classes.html +14 -14
  75. data/doc/cxxapi/files.html +2 -0
  76. data/doc/cxxapi/functions_0x63.html +6 -3
  77. data/doc/cxxapi/functions_0x64.html +9 -2
  78. data/doc/cxxapi/functions_0x67.html +6 -9
  79. data/doc/cxxapi/functions_0x69.html +3 -0
  80. data/doc/cxxapi/functions_0x77.html +8 -8
  81. data/doc/cxxapi/functions_eval.html +6 -0
  82. data/doc/cxxapi/functions_func.html +18 -17
  83. data/doc/cxxapi/functions_vars.html +8 -0
  84. data/doc/cxxapi/graph_legend.png +0 -0
  85. data/doc/cxxapi/group__Core.png +0 -0
  86. data/doc/cxxapi/group__Hooks.png +0 -0
  87. data/doc/cxxapi/hierarchy.html +3 -0
  88. data/doc/cxxapi/inherit__graph__14.map +1 -1
  89. data/doc/cxxapi/inherit__graph__14.md5 +1 -1
  90. data/doc/cxxapi/inherit__graph__14.png +0 -0
  91. data/doc/cxxapi/inherit__graph__15.map +1 -3
  92. data/doc/cxxapi/inherit__graph__15.md5 +1 -1
  93. data/doc/cxxapi/inherit__graph__15.png +0 -0
  94. data/doc/cxxapi/inherit__graph__16.map +3 -1
  95. data/doc/cxxapi/inherit__graph__16.md5 +1 -1
  96. data/doc/cxxapi/inherit__graph__16.png +0 -0
  97. data/doc/cxxapi/inherit__graph__17.map +1 -1
  98. data/doc/cxxapi/inherit__graph__17.md5 +1 -1
  99. data/doc/cxxapi/inherit__graph__17.png +0 -0
  100. data/doc/cxxapi/inherit__graph__18.map +1 -2
  101. data/doc/cxxapi/inherit__graph__18.md5 +1 -1
  102. data/doc/cxxapi/inherit__graph__18.png +0 -0
  103. data/doc/cxxapi/inherit__graph__19.map +2 -1
  104. data/doc/cxxapi/inherit__graph__19.md5 +1 -1
  105. data/doc/cxxapi/inherit__graph__19.png +0 -0
  106. data/doc/cxxapi/inherit__graph__20.map +1 -1
  107. data/doc/cxxapi/inherit__graph__20.md5 +1 -1
  108. data/doc/cxxapi/inherit__graph__20.png +0 -0
  109. data/doc/cxxapi/inherit__graph__21.map +1 -1
  110. data/doc/cxxapi/inherit__graph__21.md5 +1 -1
  111. data/doc/cxxapi/inherit__graph__21.png +0 -0
  112. data/doc/cxxapi/inherit__graph__22.map +1 -1
  113. data/doc/cxxapi/inherit__graph__22.md5 +1 -1
  114. data/doc/cxxapi/inherit__graph__22.png +0 -0
  115. data/doc/cxxapi/inherit__graph__23.map +1 -1
  116. data/doc/cxxapi/inherit__graph__23.md5 +1 -1
  117. data/doc/cxxapi/inherit__graph__23.png +0 -0
  118. data/doc/cxxapi/inherit__graph__24.map +1 -1
  119. data/doc/cxxapi/inherit__graph__24.md5 +1 -1
  120. data/doc/cxxapi/inherit__graph__24.png +0 -0
  121. data/doc/cxxapi/inherit__graph__25.map +1 -1
  122. data/doc/cxxapi/inherit__graph__25.md5 +1 -1
  123. data/doc/cxxapi/inherit__graph__25.png +0 -0
  124. data/doc/cxxapi/inherit__graph__26.map +1 -1
  125. data/doc/cxxapi/inherit__graph__26.md5 +1 -1
  126. data/doc/cxxapi/inherit__graph__26.png +0 -0
  127. data/doc/cxxapi/inherit__graph__27.map +1 -1
  128. data/doc/cxxapi/inherit__graph__27.md5 +1 -1
  129. data/doc/cxxapi/inherit__graph__27.png +0 -0
  130. data/doc/cxxapi/inherit__graph__28.map +1 -2
  131. data/doc/cxxapi/inherit__graph__28.md5 +1 -1
  132. data/doc/cxxapi/inherit__graph__28.png +0 -0
  133. data/doc/cxxapi/inherit__graph__29.map +1 -1
  134. data/doc/cxxapi/inherit__graph__29.md5 +1 -1
  135. data/doc/cxxapi/inherit__graph__29.png +0 -0
  136. data/doc/cxxapi/inherit__graph__30.map +1 -1
  137. data/doc/cxxapi/inherit__graph__30.md5 +1 -1
  138. data/doc/cxxapi/inherit__graph__30.png +0 -0
  139. data/doc/cxxapi/inherit__graph__31.map +2 -1
  140. data/doc/cxxapi/inherit__graph__31.md5 +1 -1
  141. data/doc/cxxapi/inherit__graph__31.png +0 -0
  142. data/doc/cxxapi/inherit__graph__32.map +1 -3
  143. data/doc/cxxapi/inherit__graph__32.md5 +1 -1
  144. data/doc/cxxapi/inherit__graph__32.png +0 -0
  145. data/doc/cxxapi/inherit__graph__33.map +1 -1
  146. data/doc/cxxapi/inherit__graph__33.md5 +1 -1
  147. data/doc/cxxapi/inherit__graph__33.png +0 -0
  148. data/doc/cxxapi/inherit__graph__34.map +1 -1
  149. data/doc/cxxapi/inherit__graph__34.md5 +1 -1
  150. data/doc/cxxapi/inherit__graph__34.png +0 -0
  151. data/doc/cxxapi/inherit__graph__35.map +3 -1
  152. data/doc/cxxapi/inherit__graph__35.md5 +1 -1
  153. data/doc/cxxapi/inherit__graph__35.png +0 -0
  154. data/doc/cxxapi/inherit__graph__36.map +1 -1
  155. data/doc/cxxapi/inherit__graph__36.md5 +1 -1
  156. data/doc/cxxapi/inherit__graph__36.png +0 -0
  157. data/doc/cxxapi/inherit__graph__37.map +1 -1
  158. data/doc/cxxapi/inherit__graph__37.md5 +1 -1
  159. data/doc/cxxapi/inherit__graph__37.png +0 -0
  160. data/doc/cxxapi/inherit__graph__38.map +3 -1
  161. data/doc/cxxapi/inherit__graph__38.md5 +1 -1
  162. data/doc/cxxapi/inherit__graph__38.png +0 -0
  163. data/doc/cxxapi/inherit__graph__39.map +3 -1
  164. data/doc/cxxapi/inherit__graph__39.md5 +1 -1
  165. data/doc/cxxapi/inherit__graph__39.png +0 -0
  166. data/doc/cxxapi/inherits.html +33 -24
  167. data/doc/cxxapi/namespacePassenger.html +52 -0
  168. data/doc/cxxapi/namespacemembers.html +6 -0
  169. data/doc/cxxapi/namespacemembers_func.html +6 -0
  170. data/doc/cxxapi/tree.html +8 -0
  171. data/ext/apache2/Configuration.cpp +30 -8
  172. data/ext/apache2/Configuration.hpp +15 -14
  173. data/ext/apache2/DirectoryMapper.h +0 -16
  174. data/ext/apache2/Hooks.cpp +30 -29
  175. data/ext/boost/algorithm/string/detail/case_conv.hpp +6 -6
  176. data/ext/boost/algorithm/string/detail/find_format.hpp +14 -4
  177. data/ext/boost/algorithm/string/detail/find_format_all.hpp +13 -3
  178. data/ext/boost/algorithm/string/detail/find_format_store.hpp +11 -0
  179. data/ext/boost/algorithm/string/erase.hpp +2 -2
  180. data/ext/boost/bind/placeholders.hpp +2 -2
  181. data/ext/boost/concept/detail/backward_compatibility.hpp +16 -0
  182. data/ext/boost/concept/detail/general.hpp +15 -6
  183. data/ext/boost/concept/detail/has_constraints.hpp +5 -3
  184. data/ext/boost/concept/usage.hpp +5 -4
  185. data/ext/boost/concept_check.hpp +10 -1
  186. data/ext/boost/config/abi/borland_prefix.hpp +1 -1
  187. data/ext/boost/config/auto_link.hpp +68 -21
  188. data/ext/boost/config/compiler/borland.hpp +11 -3
  189. data/ext/boost/config/compiler/clang.hpp +62 -0
  190. data/ext/boost/config/compiler/codegear.hpp +21 -7
  191. data/ext/boost/config/compiler/common_edg.hpp +4 -2
  192. data/ext/boost/config/compiler/digitalmars.hpp +1 -1
  193. data/ext/boost/config/compiler/gcc.hpp +46 -7
  194. data/ext/boost/config/compiler/gcc_xml.hpp +25 -0
  195. data/ext/boost/config/compiler/intel.hpp +23 -0
  196. data/ext/boost/config/compiler/kai.hpp +1 -1
  197. data/ext/boost/config/compiler/metrowerks.hpp +1 -1
  198. data/ext/boost/config/compiler/nvcc.hpp +86 -0
  199. data/ext/boost/config/compiler/pgi.hpp +18 -3
  200. data/ext/boost/config/compiler/sunpro_cc.hpp +19 -5
  201. data/ext/boost/config/compiler/vacpp.hpp +8 -0
  202. data/ext/boost/config/compiler/visualc.hpp +27 -11
  203. data/ext/boost/config/platform/cygwin.hpp +0 -3
  204. data/ext/boost/config/platform/symbian.hpp +94 -0
  205. data/ext/boost/config/platform/win32.hpp +8 -1
  206. data/ext/boost/config/select_compiler_config.hpp +10 -0
  207. data/ext/boost/config/select_platform_config.hpp +4 -0
  208. data/ext/boost/config/stdlib/dinkumware.hpp +11 -1
  209. data/ext/boost/config/stdlib/libcomo.hpp +1 -0
  210. data/ext/boost/config/stdlib/libstdcpp3.hpp +1 -0
  211. data/ext/boost/config/stdlib/modena.hpp +1 -0
  212. data/ext/boost/config/stdlib/msl.hpp +1 -0
  213. data/ext/boost/config/stdlib/roguewave.hpp +1 -0
  214. data/ext/boost/config/stdlib/sgi.hpp +1 -0
  215. data/ext/boost/config/stdlib/stlport.hpp +1 -0
  216. data/ext/boost/config/stdlib/vacpp.hpp +1 -0
  217. data/ext/boost/config/suffix.hpp +40 -2
  218. data/ext/boost/cstdint.hpp +36 -7
  219. data/ext/boost/date_time/gregorian/conversion.hpp +4 -2
  220. data/ext/boost/date_time/microsec_time_clock.hpp +7 -7
  221. data/ext/boost/date_time/posix_time/conversion.hpp +4 -2
  222. data/ext/boost/date_time/time_facet.hpp +43 -4
  223. data/ext/boost/detail/endian.hpp +5 -2
  224. data/ext/boost/detail/lcast_precision.hpp +2 -2
  225. data/ext/boost/detail/sp_typeinfo.hpp +1 -1
  226. data/ext/boost/detail/workaround.hpp +5 -0
  227. data/ext/boost/exception/detail/error_info_impl.hpp +3 -3
  228. data/ext/boost/exception/detail/exception_ptr.hpp +76 -135
  229. data/ext/boost/exception/detail/is_output_streamable.hpp +15 -2
  230. data/ext/boost/exception/detail/type_info.hpp +9 -5
  231. data/ext/boost/exception/diagnostic_information.hpp +5 -3
  232. data/ext/boost/exception/exception.hpp +60 -46
  233. data/ext/boost/exception/info.hpp +47 -14
  234. data/ext/boost/function/function_base.hpp +4 -4
  235. data/ext/boost/integer.hpp +4 -0
  236. data/ext/boost/integer_fwd.hpp +9 -3
  237. data/ext/boost/iterator/iterator_concepts.hpp +284 -0
  238. data/ext/boost/iterator/transform_iterator.hpp +0 -1
  239. data/ext/boost/make_shared.hpp +17 -0
  240. data/ext/boost/mpl/aux_/config/has_xxx.hpp +4 -3
  241. data/ext/boost/mpl/aux_/preprocessed/gcc/template_arity.hpp +2 -6
  242. data/ext/boost/mpl/aux_/template_arity.hpp +4 -4
  243. data/ext/boost/mpl/eval_if.hpp +3 -3
  244. data/ext/boost/mpl/has_xxx.hpp +369 -3
  245. data/ext/boost/optional/optional.hpp +3 -1
  246. data/ext/boost/optional/optional_fwd.hpp +1 -1
  247. data/ext/boost/preprocessor/repetition/enum_trailing_params.hpp +38 -0
  248. data/ext/boost/range/algorithm/equal.hpp +188 -0
  249. data/ext/boost/range/as_literal.hpp +15 -15
  250. data/ext/boost/range/concepts.hpp +331 -0
  251. data/ext/boost/range/const_iterator.hpp +7 -4
  252. data/ext/boost/range/detail/extract_optional_type.hpp +52 -0
  253. data/ext/boost/range/detail/implementation_help.hpp +7 -7
  254. data/ext/boost/range/detail/misc_concept.hpp +33 -0
  255. data/ext/boost/range/iterator.hpp +32 -32
  256. data/ext/boost/range/iterator_range.hpp +8 -651
  257. data/ext/boost/range/iterator_range_core.hpp +542 -0
  258. data/ext/boost/range/iterator_range_io.hpp +93 -0
  259. data/ext/boost/range/mutable_iterator.hpp +7 -4
  260. data/ext/boost/range/size.hpp +1 -1
  261. data/ext/boost/range/size_type.hpp +2 -1
  262. data/ext/boost/shared_array.hpp +19 -0
  263. data/ext/boost/smart_ptr/detail/sp_convertible.hpp +2 -2
  264. data/ext/boost/smart_ptr/detail/yield_k.hpp +1 -1
  265. data/ext/boost/smart_ptr/make_shared.hpp +508 -0
  266. data/ext/boost/smart_ptr/shared_array.hpp +147 -0
  267. data/ext/boost/src/pthread/thread.cpp +16 -21
  268. data/ext/boost/src/pthread/timeconv.inl +7 -4
  269. data/ext/boost/thread/barrier.hpp +2 -1
  270. data/ext/boost/thread/detail/config.hpp +7 -1
  271. data/ext/boost/thread/detail/platform.hpp +1 -1
  272. data/ext/boost/thread/detail/thread.hpp +62 -18
  273. data/ext/boost/thread/detail/thread_group.hpp +5 -2
  274. data/ext/boost/thread/detail/tss_hooks.hpp +8 -25
  275. data/ext/boost/thread/future.hpp +45 -34
  276. data/ext/boost/thread/locks.hpp +184 -55
  277. data/ext/boost/thread/pthread/condition_variable.hpp +7 -7
  278. data/ext/boost/thread/pthread/condition_variable_fwd.hpp +4 -2
  279. data/ext/boost/thread/pthread/mutex.hpp +29 -17
  280. data/ext/boost/thread/pthread/once.hpp +5 -0
  281. data/ext/boost/thread/pthread/recursive_mutex.hpp +97 -18
  282. data/ext/boost/thread/pthread/shared_mutex.hpp +1 -1
  283. data/ext/boost/thread/pthread/thread_heap_alloc.hpp +1 -1
  284. data/ext/boost/thread/tss.hpp +2 -0
  285. data/ext/boost/throw_exception.hpp +21 -5
  286. data/ext/boost/token_functions.hpp +111 -91
  287. data/ext/boost/type_traits/add_reference.hpp +19 -1
  288. data/ext/boost/type_traits/function_traits.hpp +2 -2
  289. data/ext/boost/type_traits/is_const.hpp +24 -5
  290. data/ext/boost/type_traits/is_convertible.hpp +1 -1
  291. data/ext/boost/type_traits/is_function.hpp +3 -0
  292. data/ext/boost/type_traits/is_lvalue_reference.hpp +118 -0
  293. data/ext/boost/type_traits/is_reference.hpp +8 -81
  294. data/ext/boost/type_traits/is_rvalue_reference.hpp +29 -0
  295. data/ext/boost/type_traits/is_same.hpp +2 -2
  296. data/ext/boost/type_traits/is_volatile.hpp +26 -7
  297. data/ext/boost/type_traits/remove_const.hpp +12 -0
  298. data/ext/boost/type_traits/remove_cv.hpp +23 -1
  299. data/ext/boost/type_traits/remove_reference.hpp +21 -1
  300. data/ext/boost/type_traits/type_with_alignment.hpp +10 -10
  301. data/ext/boost/units/detail/utility.hpp +104 -0
  302. data/ext/boost/utility/compare_pointees.hpp +1 -1
  303. data/ext/common/AgentsStarter.hpp +151 -161
  304. data/ext/common/ApplicationPool/Pool.h +16 -4
  305. data/ext/common/Constants.h +1 -1
  306. data/ext/common/EventedClient.h +130 -26
  307. data/ext/common/Exceptions.h +15 -2
  308. data/ext/common/FileDescriptor.h +76 -12
  309. data/ext/common/IniFile.h +488 -0
  310. data/ext/common/LoggingAgent/LoggingServer.h +2 -2
  311. data/ext/common/LoggingAgent/RemoteSender.h +15 -6
  312. data/ext/common/MessageChannel.h +17 -101
  313. data/ext/common/PoolOptions.h +1 -0
  314. data/ext/common/ResourceLocator.h +78 -28
  315. data/ext/common/SafeLibev.h +149 -0
  316. data/ext/common/ServerInstanceDir.h +11 -7
  317. data/ext/common/Session.h +1 -1
  318. data/ext/common/SpawnManager.h +14 -14
  319. data/ext/common/StaticString.h +75 -0
  320. data/ext/common/Utils.cpp +304 -12
  321. data/ext/common/Utils.h +17 -0
  322. data/ext/common/Utils/BufferedIO.h +196 -0
  323. data/ext/common/Utils/IOUtils.cpp +159 -0
  324. data/ext/common/Utils/IOUtils.h +118 -1
  325. data/ext/common/Utils/ProcessMetricsCollector.h +184 -56
  326. data/ext/common/Utils/StrIntUtils.cpp +45 -11
  327. data/ext/common/Utils/StrIntUtils.h +8 -5
  328. data/ext/common/Utils/Timer.h +22 -0
  329. data/ext/common/Utils/utf8.h +35 -0
  330. data/ext/common/Utils/utf8/checked.h +324 -0
  331. data/ext/common/Utils/utf8/core.h +359 -0
  332. data/ext/common/Utils/utf8/unchecked.h +229 -0
  333. data/ext/common/Watchdog.cpp +52 -85
  334. data/ext/libev/config.h +122 -0
  335. data/ext/nginx/Configuration.c +7 -1
  336. data/ext/nginx/HelperAgent.cpp +16 -18
  337. data/ext/nginx/config +6 -4
  338. data/ext/oxt/system_calls.cpp +10 -0
  339. data/ext/oxt/system_calls.hpp +2 -0
  340. data/lib/phusion_passenger.rb +6 -11
  341. data/lib/phusion_passenger/dependencies.rb +2 -0
  342. data/lib/phusion_passenger/packaging.rb +5 -5
  343. data/lib/phusion_passenger/platform_info.rb +88 -0
  344. data/lib/phusion_passenger/platform_info/binary_compatibility.rb +3 -17
  345. data/lib/phusion_passenger/platform_info/compiler.rb +14 -32
  346. data/lib/phusion_passenger/platform_info/curl.rb +6 -1
  347. data/lib/phusion_passenger/platform_info/operating_system.rb +107 -0
  348. data/lib/phusion_passenger/public_api.rb +2 -2
  349. data/lib/phusion_passenger/rails3_extensions/init.rb +5 -2
  350. data/lib/phusion_passenger/standalone/command.rb +6 -2
  351. data/lib/phusion_passenger/standalone/package_runtime_command.rb +2 -2
  352. data/lib/phusion_passenger/standalone/runtime_installer.rb +17 -5
  353. data/lib/phusion_passenger/standalone/start_command.rb +12 -12
  354. data/lib/phusion_passenger/standalone/stop_command.rb +3 -3
  355. data/lib/phusion_passenger/standalone/utils.rb +6 -2
  356. data/lib/phusion_passenger/templates/standalone/config.erb +37 -5
  357. data/lib/phusion_passenger/utils.rb +4 -7
  358. data/resources/mime.types +73 -0
  359. data/{misc → resources}/union_station_gateway.crt +0 -0
  360. data/test/cxx/BufferedIOTest.cpp +364 -0
  361. data/test/cxx/EventedClientTest.cpp +150 -13
  362. data/test/cxx/IOUtilsTest.cpp +399 -1
  363. data/test/cxx/MessageChannelTest.cpp +5 -120
  364. data/test/cxx/ProcessMetricsCollectorTest.cpp +121 -0
  365. data/test/cxx/StaticStringTest.cpp +134 -0
  366. data/test/cxx/UtilsTest.cpp +16 -46
  367. data/test/stub/rails_apps/2.3/mycook/public/dispatch.cgi +2 -2
  368. data/test/stub/rails_apps/2.3/mycook/public/dispatch.fcgi +1 -1
  369. data/test/stub/rails_apps/2.3/mycook/public/dispatch.rb +1 -1
  370. data/test/stub/rails_apps/3.0/empty/Gemfile.lock +73 -0
  371. data/test/support/allocate_memory.c +14 -0
  372. data/test/support/test_helper.rb +3 -0
  373. metadata +57 -174
  374. data/bin/passenger-stress-test +0 -345
  375. data/debian/postinst +0 -24
  376. data/doc/rdoc/classes/ConditionVariable.html +0 -215
  377. data/doc/rdoc/classes/Exception.html +0 -120
  378. data/doc/rdoc/classes/GC.html +0 -113
  379. data/doc/rdoc/classes/IO.html +0 -221
  380. data/doc/rdoc/classes/PhusionPassenger.html +0 -397
  381. data/doc/rdoc/classes/PhusionPassenger/AbstractInstaller.html +0 -180
  382. data/doc/rdoc/classes/PhusionPassenger/AbstractRequestHandler.html +0 -647
  383. data/doc/rdoc/classes/PhusionPassenger/AbstractServer.html +0 -654
  384. data/doc/rdoc/classes/PhusionPassenger/AbstractServer/InvalidPassword.html +0 -92
  385. data/doc/rdoc/classes/PhusionPassenger/AbstractServer/ServerAlreadyStarted.html +0 -97
  386. data/doc/rdoc/classes/PhusionPassenger/AbstractServer/ServerError.html +0 -96
  387. data/doc/rdoc/classes/PhusionPassenger/AbstractServer/ServerNotStarted.html +0 -97
  388. data/doc/rdoc/classes/PhusionPassenger/AbstractServer/UnknownMessage.html +0 -96
  389. data/doc/rdoc/classes/PhusionPassenger/AbstractServerCollection.html +0 -619
  390. data/doc/rdoc/classes/PhusionPassenger/AdminTools.html +0 -142
  391. data/doc/rdoc/classes/PhusionPassenger/AdminTools/MemoryStats.html +0 -368
  392. data/doc/rdoc/classes/PhusionPassenger/AdminTools/MemoryStats/Process.html +0 -231
  393. data/doc/rdoc/classes/PhusionPassenger/AdminTools/ServerInstance.html +0 -588
  394. data/doc/rdoc/classes/PhusionPassenger/AdminTools/ServerInstance/CorruptedDirectoryError.html +0 -92
  395. data/doc/rdoc/classes/PhusionPassenger/AdminTools/ServerInstance/GenerationsAbsentError.html +0 -92
  396. data/doc/rdoc/classes/PhusionPassenger/AdminTools/ServerInstance/Group.html +0 -147
  397. data/doc/rdoc/classes/PhusionPassenger/AdminTools/ServerInstance/Process.html +0 -279
  398. data/doc/rdoc/classes/PhusionPassenger/AdminTools/ServerInstance/RoleDeniedError.html +0 -92
  399. data/doc/rdoc/classes/PhusionPassenger/AdminTools/ServerInstance/StaleDirectoryError.html +0 -92
  400. data/doc/rdoc/classes/PhusionPassenger/AdminTools/ServerInstance/Stats.html +0 -123
  401. data/doc/rdoc/classes/PhusionPassenger/AdminTools/ServerInstance/UnsupportedGenerationStructureVersionError.html +0 -92
  402. data/doc/rdoc/classes/PhusionPassenger/AnalyticsLogger.html +0 -341
  403. data/doc/rdoc/classes/PhusionPassenger/AnalyticsLogger/Log.html +0 -294
  404. data/doc/rdoc/classes/PhusionPassenger/AnalyticsLogger/SharedData.html +0 -199
  405. data/doc/rdoc/classes/PhusionPassenger/AppInitError.html +0 -155
  406. data/doc/rdoc/classes/PhusionPassenger/AppProcess.html +0 -367
  407. data/doc/rdoc/classes/PhusionPassenger/ClassicRails.html +0 -95
  408. data/doc/rdoc/classes/PhusionPassenger/ClassicRails/ApplicationSpawner.html +0 -351
  409. data/doc/rdoc/classes/PhusionPassenger/ClassicRails/ApplicationSpawner/Error.html +0 -98
  410. data/doc/rdoc/classes/PhusionPassenger/ClassicRails/CGIFixed.html +0 -200
  411. data/doc/rdoc/classes/PhusionPassenger/ClassicRails/FrameworkSpawner.html +0 -410
  412. data/doc/rdoc/classes/PhusionPassenger/ClassicRails/FrameworkSpawner/Error.html +0 -98
  413. data/doc/rdoc/classes/PhusionPassenger/ClassicRails/RequestHandler.html +0 -156
  414. data/doc/rdoc/classes/PhusionPassenger/ClassicRailsExtensions.html +0 -115
  415. data/doc/rdoc/classes/PhusionPassenger/ClassicRailsExtensions/AnalyticsLogging.html +0 -202
  416. data/doc/rdoc/classes/PhusionPassenger/ConsoleTextTemplate.html +0 -172
  417. data/doc/rdoc/classes/PhusionPassenger/DebugLogging.html +0 -273
  418. data/doc/rdoc/classes/PhusionPassenger/FrameworkInitError.html +0 -145
  419. data/doc/rdoc/classes/PhusionPassenger/HTMLTemplate.html +0 -162
  420. data/doc/rdoc/classes/PhusionPassenger/InitializationError.html +0 -141
  421. data/doc/rdoc/classes/PhusionPassenger/InvalidPath.html +0 -92
  422. data/doc/rdoc/classes/PhusionPassenger/MessageChannel.html +0 -673
  423. data/doc/rdoc/classes/PhusionPassenger/MessageChannel/InvalidHashError.html +0 -92
  424. data/doc/rdoc/classes/PhusionPassenger/MessageClient.html +0 -415
  425. data/doc/rdoc/classes/PhusionPassenger/NativeSupportLoader.html +0 -134
  426. data/doc/rdoc/classes/PhusionPassenger/Packaging.html +0 -129
  427. data/doc/rdoc/classes/PhusionPassenger/PlatformInfo.html +0 -1809
  428. data/doc/rdoc/classes/PhusionPassenger/Plugin.html +0 -237
  429. data/doc/rdoc/classes/PhusionPassenger/Rack.html +0 -91
  430. data/doc/rdoc/classes/PhusionPassenger/Rack/ApplicationSpawner.html +0 -312
  431. data/doc/rdoc/classes/PhusionPassenger/Rack/ApplicationSpawner/Error.html +0 -98
  432. data/doc/rdoc/classes/PhusionPassenger/Rack/RequestHandler.html +0 -218
  433. data/doc/rdoc/classes/PhusionPassenger/Rails3Extensions.html +0 -114
  434. data/doc/rdoc/classes/PhusionPassenger/Rails3Extensions/AnalyticsLogging.html +0 -256
  435. data/doc/rdoc/classes/PhusionPassenger/Rails3Extensions/AnalyticsLogging/ACExtension.html +0 -139
  436. data/doc/rdoc/classes/PhusionPassenger/Rails3Extensions/AnalyticsLogging/ASBenchmarkableExtension.html +0 -118
  437. data/doc/rdoc/classes/PhusionPassenger/Rails3Extensions/AnalyticsLogging/ExceptionLogger.html +0 -135
  438. data/doc/rdoc/classes/PhusionPassenger/SpawnManager.html +0 -378
  439. data/doc/rdoc/classes/PhusionPassenger/Standalone.html +0 -111
  440. data/doc/rdoc/classes/PhusionPassenger/Standalone/AppFinder.html +0 -252
  441. data/doc/rdoc/classes/PhusionPassenger/Standalone/Command.html +0 -161
  442. data/doc/rdoc/classes/PhusionPassenger/Standalone/ConfigFile.html +0 -368
  443. data/doc/rdoc/classes/PhusionPassenger/Standalone/ConfigFile/DisallowedContextError.html +0 -132
  444. data/doc/rdoc/classes/PhusionPassenger/Standalone/HelpCommand.html +0 -151
  445. data/doc/rdoc/classes/PhusionPassenger/Standalone/Main.html +0 -189
  446. data/doc/rdoc/classes/PhusionPassenger/Standalone/PackageRuntimeCommand.html +0 -177
  447. data/doc/rdoc/classes/PhusionPassenger/Standalone/RuntimeInstaller.html +0 -341
  448. data/doc/rdoc/classes/PhusionPassenger/Standalone/StartCommand.html +0 -203
  449. data/doc/rdoc/classes/PhusionPassenger/Standalone/StatusCommand.html +0 -156
  450. data/doc/rdoc/classes/PhusionPassenger/Standalone/StopCommand.html +0 -168
  451. data/doc/rdoc/classes/PhusionPassenger/Standalone/Utils.html +0 -86
  452. data/doc/rdoc/classes/PhusionPassenger/Standalone/VersionCommand.html +0 -135
  453. data/doc/rdoc/classes/PhusionPassenger/UnknownError.html +0 -125
  454. data/doc/rdoc/classes/PhusionPassenger/Utils.html +0 -1550
  455. data/doc/rdoc/classes/PhusionPassenger/Utils/FileSystemWatcher.html +0 -204
  456. data/doc/rdoc/classes/PhusionPassenger/Utils/FileSystemWatcher/DirInfo.html +0 -171
  457. data/doc/rdoc/classes/PhusionPassenger/Utils/FileSystemWatcher/FileInfo.html +0 -140
  458. data/doc/rdoc/classes/PhusionPassenger/Utils/HostsFileParser.html +0 -260
  459. data/doc/rdoc/classes/PhusionPassenger/Utils/PseudoIO.html +0 -169
  460. data/doc/rdoc/classes/PhusionPassenger/Utils/RewindableInput.html +0 -265
  461. data/doc/rdoc/classes/PhusionPassenger/Utils/RewindableInput/Tempfile.html +0 -120
  462. data/doc/rdoc/classes/PhusionPassenger/Utils/UnseekableSocket.html +0 -561
  463. data/doc/rdoc/classes/PhusionPassenger/VersionNotFound.html +0 -140
  464. data/doc/rdoc/classes/PhusionPassenger/WSGI.html +0 -89
  465. data/doc/rdoc/classes/PhusionPassenger/WSGI/ApplicationSpawner.html +0 -182
  466. data/doc/rdoc/classes/Process.html +0 -115
  467. data/doc/rdoc/classes/Signal.html +0 -139
  468. data/doc/rdoc/created.rid +0 -1
  469. data/doc/rdoc/files/DEVELOPERS_TXT.html +0 -276
  470. data/doc/rdoc/files/README.html +0 -157
  471. data/doc/rdoc/files/lib/phusion_passenger/abstract_installer_rb.html +0 -130
  472. data/doc/rdoc/files/lib/phusion_passenger/abstract_request_handler_rb.html +0 -135
  473. data/doc/rdoc/files/lib/phusion_passenger/abstract_server_collection_rb.html +0 -126
  474. data/doc/rdoc/files/lib/phusion_passenger/abstract_server_rb.html +0 -128
  475. data/doc/rdoc/files/lib/phusion_passenger/admin_tools/memory_stats_rb.html +0 -126
  476. data/doc/rdoc/files/lib/phusion_passenger/admin_tools/server_instance_rb.html +0 -132
  477. data/doc/rdoc/files/lib/phusion_passenger/admin_tools_rb.html +0 -122
  478. data/doc/rdoc/files/lib/phusion_passenger/analytics_logger_rb.html +0 -129
  479. data/doc/rdoc/files/lib/phusion_passenger/app_process_rb.html +0 -127
  480. data/doc/rdoc/files/lib/phusion_passenger/classic_rails/application_spawner_rb.html +0 -141
  481. data/doc/rdoc/files/lib/phusion_passenger/classic_rails/cgi_fixed_rb.html +0 -126
  482. data/doc/rdoc/files/lib/phusion_passenger/classic_rails/framework_spawner_rb.html +0 -146
  483. data/doc/rdoc/files/lib/phusion_passenger/classic_rails/request_handler_rb.html +0 -125
  484. data/doc/rdoc/files/lib/phusion_passenger/classic_rails_extensions/init_rb.html +0 -132
  485. data/doc/rdoc/files/lib/phusion_passenger/console_text_template_rb.html +0 -126
  486. data/doc/rdoc/files/lib/phusion_passenger/constants_rb.html +0 -122
  487. data/doc/rdoc/files/lib/phusion_passenger/debug_logging_rb.html +0 -122
  488. data/doc/rdoc/files/lib/phusion_passenger/dependencies_rb.html +0 -147
  489. data/doc/rdoc/files/lib/phusion_passenger/exceptions_rb.html +0 -122
  490. data/doc/rdoc/files/lib/phusion_passenger/html_template_rb.html +0 -127
  491. data/doc/rdoc/files/lib/phusion_passenger/message_channel_rb.html +0 -120
  492. data/doc/rdoc/files/lib/phusion_passenger/message_client_rb.html +0 -127
  493. data/doc/rdoc/files/lib/phusion_passenger/native_support_rb.html +0 -132
  494. data/doc/rdoc/files/lib/phusion_passenger/packaging_rb.html +0 -122
  495. data/doc/rdoc/files/lib/phusion_passenger/platform_info/apache_rb.html +0 -127
  496. data/doc/rdoc/files/lib/phusion_passenger/platform_info/binary_compatibility_rb.html +0 -129
  497. data/doc/rdoc/files/lib/phusion_passenger/platform_info/compiler_rb.html +0 -126
  498. data/doc/rdoc/files/lib/phusion_passenger/platform_info/curl_rb.html +0 -126
  499. data/doc/rdoc/files/lib/phusion_passenger/platform_info/documentation_tools_rb.html +0 -126
  500. data/doc/rdoc/files/lib/phusion_passenger/platform_info/linux_rb.html +0 -126
  501. data/doc/rdoc/files/lib/phusion_passenger/platform_info/operating_system_rb.html +0 -127
  502. data/doc/rdoc/files/lib/phusion_passenger/platform_info/ruby_rb.html +0 -128
  503. data/doc/rdoc/files/lib/phusion_passenger/platform_info/zlib_rb.html +0 -126
  504. data/doc/rdoc/files/lib/phusion_passenger/platform_info_rb.html +0 -122
  505. data/doc/rdoc/files/lib/phusion_passenger/plugin_rb.html +0 -127
  506. data/doc/rdoc/files/lib/phusion_passenger/public_api_rb.html +0 -127
  507. data/doc/rdoc/files/lib/phusion_passenger/rack/application_spawner_rb.html +0 -137
  508. data/doc/rdoc/files/lib/phusion_passenger/rack/request_handler_rb.html +0 -125
  509. data/doc/rdoc/files/lib/phusion_passenger/rails3_extensions/init_rb.html +0 -127
  510. data/doc/rdoc/files/lib/phusion_passenger/simple_benchmarking_rb.html +0 -122
  511. data/doc/rdoc/files/lib/phusion_passenger/spawn_manager_rb.html +0 -160
  512. data/doc/rdoc/files/lib/phusion_passenger/standalone/app_finder_rb.html +0 -127
  513. data/doc/rdoc/files/lib/phusion_passenger/standalone/command_rb.html +0 -135
  514. data/doc/rdoc/files/lib/phusion_passenger/standalone/config_file_rb.html +0 -126
  515. data/doc/rdoc/files/lib/phusion_passenger/standalone/help_command_rb.html +0 -126
  516. data/doc/rdoc/files/lib/phusion_passenger/standalone/main_rb.html +0 -126
  517. data/doc/rdoc/files/lib/phusion_passenger/standalone/package_runtime_command_rb.html +0 -127
  518. data/doc/rdoc/files/lib/phusion_passenger/standalone/runtime_installer_rb.html +0 -133
  519. data/doc/rdoc/files/lib/phusion_passenger/standalone/start_command_rb.html +0 -136
  520. data/doc/rdoc/files/lib/phusion_passenger/standalone/status_command_rb.html +0 -126
  521. data/doc/rdoc/files/lib/phusion_passenger/standalone/stop_command_rb.html +0 -126
  522. data/doc/rdoc/files/lib/phusion_passenger/standalone/utils_rb.html +0 -126
  523. data/doc/rdoc/files/lib/phusion_passenger/standalone/version_command_rb.html +0 -127
  524. data/doc/rdoc/files/lib/phusion_passenger/utils/file_system_watcher_rb.html +0 -126
  525. data/doc/rdoc/files/lib/phusion_passenger/utils/hosts_file_parser_rb.html +0 -120
  526. data/doc/rdoc/files/lib/phusion_passenger/utils/rewindable_input_rb.html +0 -100
  527. data/doc/rdoc/files/lib/phusion_passenger/utils/tmpdir_rb.html +0 -122
  528. data/doc/rdoc/files/lib/phusion_passenger/utils/unseekable_socket_rb.html +0 -126
  529. data/doc/rdoc/files/lib/phusion_passenger/utils_rb.html +0 -179
  530. data/doc/rdoc/files/lib/phusion_passenger/wsgi/application_spawner_rb.html +0 -132
  531. data/doc/rdoc/fr_class_index.html +0 -138
  532. data/doc/rdoc/fr_file_index.html +0 -108
  533. data/doc/rdoc/fr_method_index.html +0 -430
  534. data/doc/rdoc/index.html +0 -26
  535. data/doc/rdoc/rdoc-style.css +0 -187
  536. data/ext/apache2/LICENSE-CNRI.TXT +0 -79
  537. data/ext/common/Utils/BlockingScalar.h +0 -50
  538. data/ext/common/Utils/FileHandleGuard.h +0 -81
@@ -8,9 +8,6 @@
8
8
  // cygwin specific config options:
9
9
 
10
10
  #define BOOST_PLATFORM "Cygwin"
11
- #define BOOST_NO_CWCTYPE
12
- #define BOOST_NO_CWCHAR
13
- #define BOOST_NO_SWPRINTF
14
11
  #define BOOST_HAS_DIRENT_H
15
12
  #define BOOST_HAS_LOG1P
16
13
  #define BOOST_HAS_EXPM1
@@ -0,0 +1,94 @@
1
+ // (C) Copyright Yuriy Krasnoschek 2009.
2
+ // (C) Copyright John Maddock 2001 - 2003.
3
+ // (C) Copyright Jens Maurer 2001 - 2003.
4
+ // Use, modification and distribution are subject to the
5
+ // Boost Software License, Version 1.0. (See accompanying file
6
+ // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
7
+
8
+ // See http://www.boost.org for most recent version.
9
+
10
+ // symbian specific config options:
11
+
12
+
13
+ #define BOOST_PLATFORM "Symbian"
14
+ #define BOOST_SYMBIAN 1
15
+
16
+
17
+ #if defined(__S60_3X__)
18
+ // Open C / C++ plugin was introdused in this SDK, earlier versions don't have CRT / STL
19
+ # define BOOST_S60_3rd_EDITION_FP2_OR_LATER_SDK
20
+ // make sure we have __GLIBC_PREREQ if available at all
21
+ # include <cstdlib>
22
+ // boilerplate code:
23
+ # define BOOST_HAS_UNISTD_H
24
+ # include <boost/config/posix_features.hpp>
25
+ // S60 SDK defines _POSIX_VERSION as POSIX.1
26
+ # ifndef BOOST_HAS_STDINT_H
27
+ # define BOOST_HAS_STDINT_H
28
+ # endif
29
+ # ifndef BOOST_HAS_GETTIMEOFDAY
30
+ # define BOOST_HAS_GETTIMEOFDAY
31
+ # endif
32
+ # ifndef BOOST_HAS_DIRENT_H
33
+ # define BOOST_HAS_DIRENT_H
34
+ # endif
35
+ # ifndef BOOST_HAS_SIGACTION
36
+ # define BOOST_HAS_SIGACTION
37
+ # endif
38
+ # ifndef BOOST_HAS_PTHREADS
39
+ # define BOOST_HAS_PTHREADS
40
+ # endif
41
+ # ifndef BOOST_HAS_NANOSLEEP
42
+ # define BOOST_HAS_NANOSLEEP
43
+ # endif
44
+ # ifndef BOOST_HAS_SCHED_YIELD
45
+ # define BOOST_HAS_SCHED_YIELD
46
+ # endif
47
+ # ifndef BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE
48
+ # define BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE
49
+ # endif
50
+ # ifndef BOOST_HAS_LOG1P
51
+ # define BOOST_HAS_LOG1P
52
+ # endif
53
+ # ifndef BOOST_HAS_EXPM1
54
+ # define BOOST_HAS_EXPM1
55
+ # endif
56
+ # ifndef BOOST_POSIX_API
57
+ # define BOOST_POSIX_API
58
+ # endif
59
+ // endianess support
60
+ # include <sys/endian.h>
61
+ // Symbian SDK provides _BYTE_ORDER instead of __BYTE_ORDER
62
+ # ifndef __LITTLE_ENDIAN
63
+ # ifdef _LITTLE_ENDIAN
64
+ # define __LITTLE_ENDIAN _LITTLE_ENDIAN
65
+ # else
66
+ # define __LITTLE_ENDIAN 1234
67
+ # endif
68
+ # endif
69
+ # ifndef __BIG_ENDIAN
70
+ # ifdef _BIG_ENDIAN
71
+ # define __BIG_ENDIAN _BIG_ENDIAN
72
+ # else
73
+ # define __BIG_ENDIAN 4321
74
+ # endif
75
+ # endif
76
+ # ifndef __BYTE_ORDER
77
+ # define __BYTE_ORDER __LITTLE_ENDIAN // Symbian is LE
78
+ # endif
79
+ // Known limitations
80
+ # define BOOST_ASIO_DISABLE_SERIAL_PORT
81
+ # define BOOST_DATE_TIME_NO_LOCALE
82
+ # define BOOST_NO_STD_WSTRING
83
+ # define BOOST_EXCEPTION_DISABLE
84
+ # define BOOST_NO_EXCEPTIONS
85
+
86
+ #else // TODO: More platform support e.g. UIQ
87
+ # error "Unsuppoted Symbian SDK"
88
+ #endif
89
+
90
+ #if defined(__WINSCW__) && !defined(BOOST_DISABLE_WIN32)
91
+ # define BOOST_DISABLE_WIN32 // winscw defines WIN32 macro
92
+ #endif
93
+
94
+
@@ -21,10 +21,17 @@
21
21
  # define BOOST_NO_SWPRINTF
22
22
  #endif
23
23
 
24
- #if !defined(__GNUC__) && !defined(BOOST_HAS_DECLSPEC)
24
+ // Default defines for BOOST_SYMBOL_EXPORT and BOOST_SYMBOL_IMPORT
25
+ // If a compiler doesn't support __declspec(dllexport)/__declspec(dllimport),
26
+ // its boost/config/compiler/ file must define BOOST_SYMBOL_EXPORT and
27
+ // BOOST_SYMBOL_IMPORT
28
+ #ifndef BOOST_SYMBOL_EXPORT
25
29
  # define BOOST_HAS_DECLSPEC
30
+ # define BOOST_SYMBOL_EXPORT __declspec(dllexport)
31
+ # define BOOST_SYMBOL_IMPORT __declspec(dllimport)
26
32
  #endif
27
33
 
34
+
28
35
  #if defined(__MINGW32__) && ((__MINGW32_MAJOR_VERSION > 2) || ((__MINGW32_MAJOR_VERSION == 2) && (__MINGW32_MINOR_VERSION >= 0)))
29
36
  # define BOOST_HAS_STDINT_H
30
37
  # define __STDC_LIMIT_MACROS
@@ -15,6 +15,7 @@
15
15
  // compilers we support:
16
16
 
17
17
  # define BOOST_CXX_GCCXML 0
18
+ # define BOOST_CXX_CLANG 0
18
19
  # define BOOST_CXX_COMO 0
19
20
  # define BOOST_CXX_DMC 0
20
21
  # define BOOST_CXX_INTEL 0
@@ -31,6 +32,7 @@
31
32
  # define BOOST_CXX_IBMCPP 0
32
33
  # define BOOST_CXX_MSVC 0
33
34
  # define BOOST_CXX_PGI 0
35
+ # define BOOST_CXX_NVCC 0
34
36
 
35
37
 
36
38
  // locate which compiler we are using and define
@@ -40,10 +42,18 @@
40
42
  // GCC-XML emulates other compilers, it has to appear first here!
41
43
  # define BOOST_COMPILER_CONFIG "boost/config/compiler/gcc_xml.hpp"
42
44
 
45
+ #elif defined __CUDACC__
46
+ // NVIDIA CUDA C++ compiler for GPU
47
+ # define BOOST_COMPILER_CONFIG "boost/config/compiler/nvcc.hpp"
48
+
43
49
  #elif defined __COMO__
44
50
  // Comeau C++
45
51
  # define BOOST_COMPILER_CONFIG "boost/config/compiler/comeau.hpp"
46
52
 
53
+ #elif defined __clang__
54
+ // Clang C++ emulates GCC, so it has to appear early.
55
+ # define BOOST_COMPILER_CONFIG "boost/config/compiler/clang.hpp"
56
+
47
57
  #elif defined __DMC__
48
58
  // Digital Mars C++
49
59
  # define BOOST_COMPILER_CONFIG "boost/config/compiler/digitalmars.hpp"
@@ -65,6 +65,10 @@
65
65
  // vxWorks:
66
66
  # define BOOST_PLATFORM_CONFIG "boost/config/platform/vxworks.hpp"
67
67
 
68
+ #elif defined(__SYMBIAN32__)
69
+ // Symbian:
70
+ # define BOOST_PLATFORM_CONFIG "boost/config/platform/symbian.hpp"
71
+
68
72
  #else
69
73
 
70
74
  # if defined(unix) \
@@ -86,6 +86,11 @@
86
86
  # define BOOST_NO_STD_LOCALE
87
87
  #endif
88
88
 
89
+ #include <typeinfo>
90
+ #if !_HAS_EXCEPTIONS
91
+ # define BOOST_NO_STD_TYPEINFO
92
+ #endif
93
+
89
94
  // C++0x headers implemented in 520 (as shipped by Microsoft)
90
95
  //
91
96
  #if !defined(_CPPLIB_VER) || _CPPLIB_VER < 520
@@ -100,6 +105,12 @@
100
105
  # define BOOST_NO_STD_UNORDERED // deprecated; see following
101
106
  # define BOOST_NO_0X_HDR_UNORDERED_MAP
102
107
  # define BOOST_NO_0X_HDR_UNORDERED_SET
108
+ # define BOOST_NO_0X_HDR_TUPLE
109
+ # define BOOST_NO_0X_HDR_TYPEINDEX
110
+ #endif
111
+
112
+ #if !defined(_HAS_TR1_IMPORTS) && !defined(BOOST_NO_0X_HDR_TUPLE)
113
+ # define BOOST_NO_0X_HDR_TUPLE
103
114
  #endif
104
115
 
105
116
  // C++0x headers not yet implemented
@@ -114,7 +125,6 @@
114
125
  # define BOOST_NO_0X_HDR_MUTEX
115
126
  # define BOOST_NO_0X_HDR_RATIO
116
127
  # define BOOST_NO_0X_HDR_THREAD
117
- # define BOOST_NO_0X_HDR_TUPLE
118
128
 
119
129
  #ifdef _CPPLIB_VER
120
130
  # define BOOST_DINKUMWARE_STDLIB _CPPLIB_VER
@@ -54,6 +54,7 @@
54
54
  # define BOOST_NO_0X_HDR_THREAD
55
55
  # define BOOST_NO_0X_HDR_TUPLE
56
56
  # define BOOST_NO_0X_HDR_TYPE_TRAITS
57
+ # define BOOST_NO_0X_HDR_TYPEINDEX
57
58
  # define BOOST_NO_STD_UNORDERED // deprecated; see following
58
59
  # define BOOST_NO_0X_HDR_UNORDERED_MAP
59
60
  # define BOOST_NO_0X_HDR_UNORDERED_SET
@@ -123,5 +123,6 @@
123
123
  # define BOOST_NO_0X_HDR_FUTURE
124
124
  # define BOOST_NO_0X_HDR_ITERATOR_CONCEPTS
125
125
  # define BOOST_NO_0X_HDR_MEMORY_CONCEPTS
126
+ # define BOOST_NO_0X_HDR_TYPEINDEX
126
127
 
127
128
  // --- end ---
@@ -43,6 +43,7 @@
43
43
  # define BOOST_NO_0X_HDR_THREAD
44
44
  # define BOOST_NO_0X_HDR_TUPLE
45
45
  # define BOOST_NO_0X_HDR_TYPE_TRAITS
46
+ # define BOOST_NO_0X_HDR_TYPEINDEX
46
47
  # define BOOST_NO_STD_UNORDERED // deprecated; see following
47
48
  # define BOOST_NO_0X_HDR_UNORDERED_MAP
48
49
  # define BOOST_NO_0X_HDR_UNORDERED_SET
@@ -67,6 +67,7 @@
67
67
  # define BOOST_NO_0X_HDR_THREAD
68
68
  # define BOOST_NO_0X_HDR_TUPLE
69
69
  # define BOOST_NO_0X_HDR_TYPE_TRAITS
70
+ # define BOOST_NO_0X_HDR_TYPEINDEX
70
71
  # define BOOST_NO_STD_UNORDERED // deprecated; see following
71
72
  # define BOOST_NO_0X_HDR_UNORDERED_MAP
72
73
  # define BOOST_NO_0X_HDR_UNORDERED_SET
@@ -173,6 +173,7 @@
173
173
  # define BOOST_NO_0X_HDR_THREAD
174
174
  # define BOOST_NO_0X_HDR_TUPLE
175
175
  # define BOOST_NO_0X_HDR_TYPE_TRAITS
176
+ # define BOOST_NO_0X_HDR_TYPEINDEX
176
177
  # define BOOST_NO_STD_UNORDERED // deprecated; see following
177
178
  # define BOOST_NO_0X_HDR_UNORDERED_MAP
178
179
  # define BOOST_NO_0X_HDR_UNORDERED_SET
@@ -126,6 +126,7 @@
126
126
  # define BOOST_NO_0X_HDR_THREAD
127
127
  # define BOOST_NO_0X_HDR_TUPLE
128
128
  # define BOOST_NO_0X_HDR_TYPE_TRAITS
129
+ # define BOOST_NO_0X_HDR_TYPEINDEX
129
130
  # define BOOST_NO_STD_UNORDERED // deprecated; see following
130
131
  # define BOOST_NO_0X_HDR_UNORDERED_MAP
131
132
  # define BOOST_NO_0X_HDR_UNORDERED_SET
@@ -221,6 +221,7 @@ namespace boost { using std::min; using std::max; }
221
221
  # define BOOST_NO_0X_HDR_THREAD
222
222
  # define BOOST_NO_0X_HDR_TUPLE
223
223
  # define BOOST_NO_0X_HDR_TYPE_TRAITS
224
+ # define BOOST_NO_0X_HDR_TYPEINDEX
224
225
  # define BOOST_NO_STD_UNORDERED // deprecated; see following
225
226
  # define BOOST_NO_0X_HDR_UNORDERED_MAP
226
227
  # define BOOST_NO_0X_HDR_UNORDERED_SET
@@ -33,6 +33,7 @@
33
33
  # define BOOST_NO_0X_HDR_THREAD
34
34
  # define BOOST_NO_0X_HDR_TUPLE
35
35
  # define BOOST_NO_0X_HDR_TYPE_TRAITS
36
+ # define BOOST_NO_0X_HDR_TYPEINDEX
36
37
  # define BOOST_NO_STD_UNORDERED // deprecated; see following
37
38
  # define BOOST_NO_0X_HDR_UNORDERED_MAP
38
39
  # define BOOST_NO_0X_HDR_UNORDERED_SET
@@ -8,7 +8,7 @@
8
8
  // Copyright (c) 2002-2003 David Abrahams
9
9
  // Copyright (c) 2003 Gennaro Prota
10
10
  // Copyright (c) 2003 Eric Friedman
11
- //
11
+ // Copyright (c) 2010 Eric Jourdanneau, Joel Falcou
12
12
  // Distributed under the Boost Software License, Version 1.0. (See
13
13
  // accompanying file LICENSE_1_0.txt or copy at
14
14
  // http://www.boost.org/LICENSE_1_0.txt)
@@ -25,6 +25,19 @@
25
25
  #ifndef BOOST_CONFIG_SUFFIX_HPP
26
26
  #define BOOST_CONFIG_SUFFIX_HPP
27
27
 
28
+ //
29
+ // ensure that visibility macros are always defined, thus symplifying use
30
+ //
31
+ #ifndef BOOST_SYMBOL_EXPORT
32
+ # define BOOST_SYMBOL_EXPORT
33
+ #endif
34
+ #ifndef BOOST_SYMBOL_IMPORT
35
+ # define BOOST_SYMBOL_IMPORT
36
+ #endif
37
+ #ifndef BOOST_SYMBOL_VISIBLE
38
+ # define BOOST_SYMBOL_VISIBLE
39
+ #endif
40
+
28
41
  //
29
42
  // look for long long by looking for the appropriate macros in <limits.h>.
30
43
  // Note that we use limits.h rather than climits for maximal portability,
@@ -82,6 +95,13 @@
82
95
  # define BOOST_NO_LONG_LONG_NUMERIC_LIMITS
83
96
  #endif
84
97
 
98
+ //
99
+ // Normalize BOOST_NO_STATIC_ASSERT and (depricated) BOOST_HAS_STATIC_ASSERT:
100
+ //
101
+ #if !defined(BOOST_NO_STATIC_ASSERT) && !defined(BOOST_HAS_STATIC_ASSERT)
102
+ # define BOOST_HAS_STATIC_ASSERT
103
+ #endif
104
+
85
105
  //
86
106
  // if there is no __int64 then there is no specialisation
87
107
  // for numeric_limits<__int64> either:
@@ -314,6 +334,13 @@
314
334
  # define BOOST_NO_INITIALIZER_LISTS
315
335
  #endif
316
336
 
337
+ //
338
+ // Set BOOST_HAS_RVALUE_REFS when BOOST_NO_RVALUE_REFERENCES is not defined
339
+ //
340
+ #if !defined(BOOST_NO_RVALUE_REFERENCES) && !defined(BOOST_HAS_RVALUE_REFS)
341
+ #define BOOST_HAS_RVALUE_REFS
342
+ #endif
343
+
317
344
  // BOOST_HAS_ABI_HEADERS
318
345
  // This macro gets set if we have headers that fix the ABI,
319
346
  // and prevent ODR violations when linking to external libraries:
@@ -554,6 +581,12 @@ namespace boost{
554
581
 
555
582
  #endif // defined BOOST_NO_EXPLICIT_FUNCTION_TEMPLATE_ARGUMENTS
556
583
 
584
+ // When BOOST_NO_STD_TYPEINFO is defined, we can just import
585
+ // the global definition into std namespace:
586
+ #ifdef BOOST_NO_STD_TYPEINFO
587
+ #include <typeinfo>
588
+ namespace std{ using ::typeinfo; }
589
+ #endif
557
590
 
558
591
  // ---------------------------------------------------------------------------//
559
592
 
@@ -596,6 +629,11 @@ namespace boost{
596
629
  # endif
597
630
  # endif
598
631
 
632
+ //
633
+ // Set some default values GPU support
634
+ //
635
+ # ifndef BOOST_GPU_ENABLED
636
+ # define BOOST_GPU_ENABLED
637
+ # endif
599
638
  #endif
600
639
 
601
-
@@ -368,28 +368,56 @@ INT#_C macros if they're not already defined (John Maddock).
368
368
 
369
369
  ******************************************************/
370
370
 
371
- #if !defined(BOOST__STDC_CONSTANT_MACROS_DEFINED) && !defined(INT8_C)
371
+ #if !defined(BOOST__STDC_CONSTANT_MACROS_DEFINED) && \
372
+ (!defined(INT8_C) || !defined(INT16_C) || !defined(INT32_C) || !defined(INT64_C))
373
+ //
374
+ // For the following code we get several warnings along the lines of:
375
+ //
376
+ // boost/cstdint.hpp:428:35: error: use of C99 long long integer constant
377
+ //
378
+ // So we declare this a system header to suppress these warnings.
379
+ //
380
+ #if defined(__GNUC__) && (__GNUC__ >= 4)
381
+ #pragma GCC system_header
382
+ #endif
383
+
372
384
  #include <limits.h>
373
385
  # define BOOST__STDC_CONSTANT_MACROS_DEFINED
374
386
  # if defined(BOOST_HAS_MS_INT64)
375
387
  //
376
388
  // Borland/Intel/Microsoft compilers have width specific suffixes:
377
389
  //
390
+ #ifndef INT8_C
378
391
  # define INT8_C(value) value##i8
392
+ #endif
393
+ #ifndef INT16_C
379
394
  # define INT16_C(value) value##i16
395
+ #endif
396
+ #ifndef INT32_C
380
397
  # define INT32_C(value) value##i32
398
+ #endif
399
+ #ifndef INT64_C
381
400
  # define INT64_C(value) value##i64
401
+ #endif
382
402
  # ifdef __BORLANDC__
383
403
  // Borland bug: appending ui8 makes the type a signed char
384
404
  # define UINT8_C(value) static_cast<unsigned char>(value##u)
385
405
  # else
386
406
  # define UINT8_C(value) value##ui8
387
407
  # endif
408
+ #ifndef UINT16_C
388
409
  # define UINT16_C(value) value##ui16
410
+ #endif
411
+ #ifndef UINT32_C
389
412
  # define UINT32_C(value) value##ui32
413
+ #endif
414
+ #ifndef UINT64_C
390
415
  # define UINT64_C(value) value##ui64
416
+ #endif
417
+ #ifndef INTMAX_C
391
418
  # define INTMAX_C(value) value##i64
392
419
  # define UINTMAX_C(value) value##ui64
420
+ #endif
393
421
 
394
422
  # elif defined(__NetBSD__)
395
423
  # else
@@ -397,30 +425,31 @@ INT#_C macros if they're not already defined (John Maddock).
397
425
 
398
426
  // 8-bit types ------------------------------------------------------------//
399
427
 
400
- # if UCHAR_MAX == 0xff
428
+ # if (UCHAR_MAX == 0xff) && !defined(INT8_C)
401
429
  # define INT8_C(value) static_cast<boost::int8_t>(value)
402
430
  # define UINT8_C(value) static_cast<boost::uint8_t>(value##u)
403
431
  # endif
404
432
 
405
433
  // 16-bit types -----------------------------------------------------------//
406
434
 
407
- # if USHRT_MAX == 0xffff
435
+ # if (USHRT_MAX == 0xffff) && !defined(INT16_C)
408
436
  # define INT16_C(value) static_cast<boost::int16_t>(value)
409
437
  # define UINT16_C(value) static_cast<boost::uint16_t>(value##u)
410
438
  # endif
411
439
 
412
440
  // 32-bit types -----------------------------------------------------------//
413
-
414
- # if UINT_MAX == 0xffffffff
441
+ #ifndef INT32_C
442
+ # if (UINT_MAX == 0xffffffff)
415
443
  # define INT32_C(value) value
416
444
  # define UINT32_C(value) value##u
417
445
  # elif ULONG_MAX == 0xffffffff
418
446
  # define INT32_C(value) value##L
419
447
  # define UINT32_C(value) value##uL
420
448
  # endif
449
+ #endif
421
450
 
422
451
  // 64-bit types + intmax_t and uintmax_t ----------------------------------//
423
-
452
+ #ifndef INT64_C
424
453
  # if defined(BOOST_HAS_LONG_LONG) && \
425
454
  (defined(ULLONG_MAX) || defined(ULONG_LONG_MAX) || defined(ULONGLONG_MAX) || defined(_LLONG_MAX))
426
455
 
@@ -465,7 +494,7 @@ INT#_C macros if they're not already defined (John Maddock).
465
494
  # define INTMAX_C(value) INT64_C(value)
466
495
  # define UINTMAX_C(value) UINT64_C(value)
467
496
  # endif
468
-
497
+ #endif
469
498
  # endif // Borland/Microsoft specific width suffixes
470
499
 
471
500
  #endif // INT#_C macros.