passenger 4.0.20 → 4.0.21

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 (496) hide show
  1. checksums.yaml +8 -8
  2. checksums.yaml.gz.asc +7 -7
  3. data.tar.gz.asc +7 -7
  4. data/.gitignore +1 -0
  5. data/.travis.yml +1 -1
  6. data/NEWS +15 -0
  7. data/README.md +5 -3
  8. data/Rakefile +1 -0
  9. data/bin/passenger-config +1 -5
  10. data/bin/passenger-install-apache2-module +53 -5
  11. data/bin/passenger-install-nginx-module +19 -6
  12. data/bin/passenger-memory-stats +3 -3
  13. data/build/agents.rb +11 -8
  14. data/build/apache2.rb +9 -5
  15. data/build/basics.rb +15 -21
  16. data/build/common_library.rb +16 -6
  17. data/build/cplusplus_support.rb +5 -5
  18. data/build/cxx_tests.rb +3 -3
  19. data/build/documentation.rb +1 -1
  20. data/build/misc.rb +4 -37
  21. data/build/node_tests.rb +29 -0
  22. data/build/oxt_tests.rb +1 -1
  23. data/build/packaging.rb +29 -10
  24. data/build/preprocessor.rb +2 -1
  25. data/build/test_basics.rb +15 -6
  26. data/debian.template/locations.ini.template +1 -0
  27. data/debian.template/passenger.install.template +1 -0
  28. data/dev/copy_boost_headers.rb +7 -3
  29. data/dev/run_travis.sh +32 -16
  30. data/doc/Users guide Apache.idmap.txt +22 -34
  31. data/doc/Users guide Apache.txt +20 -234
  32. data/doc/Users guide Nginx.idmap.txt +84 -66
  33. data/doc/Users guide Nginx.txt +50 -1
  34. data/doc/Users guide Standalone.idmap.txt +74 -0
  35. data/doc/Users guide Standalone.txt +22 -9
  36. data/doc/Users guide.txt +51 -0
  37. data/doc/users_guide_snippets/environment_variables.txt +0 -3
  38. data/doc/users_guide_snippets/installation.txt +337 -380
  39. data/doc/users_guide_snippets/installation/run_installer.txt +58 -0
  40. data/doc/users_guide_snippets/installation/verify_running_epilogue.txt +6 -0
  41. data/doc/users_guide_snippets/support_information.txt +2 -9
  42. data/doc/users_guide_snippets/troubleshooting/default.txt +112 -0
  43. data/doc/users_guide_snippets/troubleshooting/rails.txt +56 -0
  44. data/doc/users_guide_snippets/where_to_get_support.txt +9 -0
  45. data/ext/apache2/Bucket.h +1 -1
  46. data/ext/apache2/Configuration.hpp +0 -44
  47. data/ext/apache2/CreateDirConfig.cpp +1 -1
  48. data/ext/apache2/CreateDirConfig.cpp.erb +1 -1
  49. data/ext/apache2/Hooks.cpp +28 -21
  50. data/ext/apache2/MergeDirConfig.cpp +1 -0
  51. data/ext/apache2/MergeDirConfig.cpp.erb +1 -1
  52. data/ext/apache2/SetHeaders.cpp +73 -0
  53. data/ext/apache2/SetHeaders.cpp.erb +88 -0
  54. data/ext/boost/algorithm/string/detail/find_format.hpp +5 -5
  55. data/ext/boost/algorithm/string/detail/find_format_all.hpp +5 -5
  56. data/ext/boost/algorithm/string/detail/finder.hpp +1 -1
  57. data/ext/boost/algorithm/string/formatter.hpp +2 -2
  58. data/ext/boost/assert.hpp +6 -1
  59. data/ext/boost/atomic.hpp +18 -0
  60. data/ext/boost/atomic/atomic.hpp +241 -0
  61. data/ext/boost/atomic/detail/base.hpp +585 -0
  62. data/ext/boost/atomic/detail/cas32strong.hpp +885 -0
  63. data/ext/boost/atomic/detail/cas32weak.hpp +947 -0
  64. data/ext/boost/atomic/detail/cas64strong.hpp +443 -0
  65. data/ext/boost/atomic/detail/config.hpp +54 -0
  66. data/ext/boost/atomic/detail/gcc-alpha.hpp +368 -0
  67. data/ext/boost/atomic/detail/gcc-armv6plus.hpp +252 -0
  68. data/ext/boost/atomic/detail/gcc-cas.hpp +157 -0
  69. data/ext/boost/atomic/detail/gcc-ppc.hpp +2850 -0
  70. data/ext/boost/atomic/detail/gcc-sparcv9.hpp +1259 -0
  71. data/ext/boost/atomic/detail/gcc-x86.hpp +1766 -0
  72. data/ext/boost/atomic/detail/generic-cas.hpp +206 -0
  73. data/ext/boost/atomic/detail/interlocked.hpp +200 -0
  74. data/ext/boost/atomic/detail/linux-arm.hpp +189 -0
  75. data/ext/boost/atomic/detail/lockpool.hpp +97 -0
  76. data/ext/boost/atomic/detail/platform.hpp +62 -0
  77. data/ext/boost/atomic/detail/type-classification.hpp +45 -0
  78. data/ext/boost/chrono/config.hpp +8 -3
  79. data/ext/boost/chrono/duration.hpp +9 -10
  80. data/ext/boost/chrono/system_clocks.hpp +1 -1
  81. data/ext/boost/chrono/time_point.hpp +4 -3
  82. data/ext/boost/config/auto_link.hpp +53 -52
  83. data/ext/boost/config/compiler/borland.hpp +1 -0
  84. data/ext/boost/config/compiler/clang.hpp +24 -1
  85. data/ext/boost/config/compiler/codegear.hpp +1 -0
  86. data/ext/boost/config/compiler/common_edg.hpp +1 -0
  87. data/ext/boost/config/compiler/cray.hpp +1 -0
  88. data/ext/boost/config/compiler/digitalmars.hpp +1 -0
  89. data/ext/boost/config/compiler/gcc.hpp +29 -3
  90. data/ext/boost/config/compiler/gcc_xml.hpp +2 -1
  91. data/ext/boost/config/compiler/hp_acc.hpp +1 -0
  92. data/ext/boost/config/compiler/intel.hpp +1 -1
  93. data/ext/boost/config/compiler/metrowerks.hpp +1 -0
  94. data/ext/boost/config/compiler/mpw.hpp +1 -0
  95. data/ext/boost/config/compiler/pathscale.hpp +1 -0
  96. data/ext/boost/config/compiler/pgi.hpp +1 -0
  97. data/ext/boost/config/compiler/sunpro_cc.hpp +1 -0
  98. data/ext/boost/config/compiler/vacpp.hpp +3 -2
  99. data/ext/boost/config/compiler/visualc.hpp +25 -11
  100. data/ext/boost/config/platform/vxworks.hpp +353 -15
  101. data/ext/boost/config/select_compiler_config.hpp +4 -4
  102. data/ext/boost/config/stdlib/dinkumware.hpp +10 -3
  103. data/ext/boost/config/stdlib/libstdcpp3.hpp +2 -1
  104. data/ext/boost/config/suffix.hpp +45 -19
  105. data/ext/boost/date_time/format_date_parser.hpp +1 -11
  106. data/ext/boost/date_time/strings_from_facet.hpp +5 -3
  107. data/ext/boost/detail/atomic_redef_macros.hpp +19 -0
  108. data/ext/boost/detail/atomic_undef_macros.hpp +39 -0
  109. data/ext/boost/detail/endian.hpp +52 -4
  110. data/ext/boost/detail/scoped_enum_emulation.hpp +10 -10
  111. data/ext/boost/detail/select_type.hpp +36 -0
  112. data/ext/boost/exception/current_exception_cast.hpp +1 -1
  113. data/ext/boost/exception/detail/error_info_impl.hpp +3 -5
  114. data/ext/boost/exception/detail/exception_ptr.hpp +3 -3
  115. data/ext/boost/exception/detail/is_output_streamable.hpp +1 -1
  116. data/ext/boost/exception/detail/object_hex_dump.hpp +1 -1
  117. data/ext/boost/exception/detail/type_info.hpp +1 -1
  118. data/ext/boost/exception/diagnostic_information.hpp +15 -14
  119. data/ext/boost/exception/exception.hpp +1 -1
  120. data/ext/boost/exception/get_error_info.hpp +1 -1
  121. data/ext/boost/exception/info.hpp +12 -13
  122. data/ext/boost/exception/to_string.hpp +6 -1
  123. data/ext/boost/exception/to_string_stub.hpp +9 -1
  124. data/ext/boost/foreach.hpp +5 -5
  125. data/ext/boost/function/function_template.hpp +6 -6
  126. data/ext/boost/functional/hash/detail/float_functions.hpp +90 -0
  127. data/ext/boost/functional/hash/detail/hash_float.hpp +11 -2
  128. data/ext/boost/functional/hash/extensions.hpp +14 -2
  129. data/ext/boost/functional/hash/hash.hpp +26 -5
  130. data/ext/boost/get_pointer.hpp +17 -2
  131. data/ext/boost/integer_traits.hpp +1 -1
  132. data/ext/boost/lexical_cast.hpp +615 -395
  133. data/ext/boost/libs/atomic/lockpool.cpp +24 -0
  134. data/ext/boost/libs/system/src/error_code.cpp +25 -18
  135. data/ext/boost/libs/thread/src/future.cpp +7 -5
  136. data/ext/boost/libs/thread/src/pthread/once.cpp +9 -3
  137. data/ext/boost/libs/thread/src/pthread/once_atomic.cpp +90 -0
  138. data/ext/boost/libs/thread/src/pthread/thread.cpp +129 -95
  139. data/ext/boost/libs/thread/src/pthread/timeconv.inl +20 -1
  140. data/ext/boost/limits.hpp +1 -1
  141. data/ext/boost/math/policies/policy.hpp +10 -0
  142. data/ext/boost/math/special_functions/detail/round_fwd.hpp +17 -4
  143. data/ext/boost/math/special_functions/fpclassify.hpp +114 -45
  144. data/ext/boost/math/special_functions/math_fwd.hpp +195 -83
  145. data/ext/boost/math/special_functions/sign.hpp +13 -8
  146. data/ext/boost/math/tools/config.hpp +38 -16
  147. data/ext/boost/move/algorithm.hpp +275 -0
  148. data/ext/boost/move/core.hpp +332 -0
  149. data/ext/boost/move/detail/config_begin.hpp +23 -0
  150. data/ext/boost/move/detail/config_end.hpp +20 -0
  151. data/ext/boost/move/detail/meta_utils.hpp +158 -0
  152. data/ext/boost/move/iterator.hpp +298 -0
  153. data/ext/boost/move/move.hpp +10 -1256
  154. data/ext/boost/move/traits.hpp +142 -0
  155. data/ext/boost/move/utility.hpp +194 -0
  156. data/ext/boost/mpl/assert.hpp +72 -4
  157. data/ext/boost/noncopyable.hpp +15 -3
  158. data/ext/boost/pointer_to_other.hpp +55 -0
  159. data/ext/boost/range/concepts.hpp +4 -4
  160. data/ext/boost/range/detail/extract_optional_type.hpp +1 -1
  161. data/ext/boost/range/empty.hpp +1 -1
  162. data/ext/boost/range/iterator_range_core.hpp +4 -1
  163. data/ext/boost/range/iterator_range_io.hpp +2 -2
  164. data/ext/boost/ratio/config.hpp +6 -0
  165. data/ext/boost/ratio/detail/overflow_helpers.hpp +2 -2
  166. data/ext/boost/smart_ptr/allocate_shared_array.hpp +250 -0
  167. data/ext/boost/smart_ptr/detail/allocate_array_helper.hpp +169 -0
  168. data/ext/boost/smart_ptr/detail/array_deleter.hpp +124 -0
  169. data/ext/boost/smart_ptr/detail/array_traits.hpp +53 -0
  170. data/ext/boost/smart_ptr/detail/array_utility.hpp +178 -0
  171. data/ext/boost/smart_ptr/detail/make_array_helper.hpp +157 -0
  172. data/ext/boost/smart_ptr/detail/operator_bool.hpp +16 -9
  173. data/ext/boost/smart_ptr/detail/shared_count.hpp +78 -7
  174. data/ext/boost/smart_ptr/detail/sp_convertible.hpp +15 -0
  175. data/ext/boost/smart_ptr/detail/sp_counted_base.hpp +12 -6
  176. data/ext/boost/smart_ptr/detail/sp_counted_base_acc_ia64.hpp +1 -0
  177. data/ext/boost/smart_ptr/detail/sp_counted_base_aix.hpp +1 -0
  178. data/ext/boost/smart_ptr/detail/sp_counted_base_cw_ppc.hpp +1 -0
  179. data/ext/boost/smart_ptr/detail/sp_counted_base_cw_x86.hpp +1 -0
  180. data/ext/boost/smart_ptr/detail/sp_counted_base_gcc_ia64.hpp +1 -0
  181. data/ext/boost/smart_ptr/detail/sp_counted_base_gcc_mips.hpp +1 -0
  182. data/ext/boost/smart_ptr/detail/sp_counted_base_gcc_ppc.hpp +1 -0
  183. data/ext/boost/smart_ptr/detail/sp_counted_base_gcc_sparc.hpp +1 -0
  184. data/ext/boost/smart_ptr/detail/sp_counted_base_gcc_x86.hpp +1 -0
  185. data/ext/boost/smart_ptr/detail/sp_counted_base_nt.hpp +1 -0
  186. data/ext/boost/smart_ptr/detail/sp_counted_base_pt.hpp +1 -0
  187. data/ext/boost/smart_ptr/detail/sp_counted_base_snc_ps3.hpp +162 -0
  188. data/ext/boost/smart_ptr/detail/sp_counted_base_solaris.hpp +1 -0
  189. data/ext/boost/smart_ptr/detail/sp_counted_base_spin.hpp +1 -0
  190. data/ext/boost/smart_ptr/detail/sp_counted_base_sync.hpp +1 -0
  191. data/ext/boost/smart_ptr/detail/sp_counted_base_vacpp_ppc.hpp +1 -0
  192. data/ext/boost/smart_ptr/detail/sp_counted_impl.hpp +15 -0
  193. data/ext/boost/smart_ptr/detail/sp_forward.hpp +39 -0
  194. data/ext/boost/smart_ptr/detail/sp_has_sync.hpp +19 -3
  195. data/ext/boost/smart_ptr/detail/sp_if_array.hpp +31 -0
  196. data/ext/boost/smart_ptr/detail/sp_nullptr_t.hpp +45 -0
  197. data/ext/boost/smart_ptr/detail/spinlock_gcc_arm.hpp +5 -12
  198. data/ext/boost/smart_ptr/enable_shared_from_this.hpp +4 -4
  199. data/ext/boost/smart_ptr/make_shared.hpp +5 -1060
  200. data/ext/boost/smart_ptr/make_shared_array.hpp +247 -0
  201. data/ext/boost/smart_ptr/make_shared_object.hpp +1128 -0
  202. data/ext/boost/smart_ptr/scoped_array.hpp +32 -7
  203. data/ext/boost/smart_ptr/scoped_ptr.hpp +31 -5
  204. data/ext/boost/smart_ptr/shared_array.hpp +135 -20
  205. data/ext/boost/smart_ptr/shared_ptr.hpp +444 -126
  206. data/ext/boost/smart_ptr/weak_ptr.hpp +39 -28
  207. data/ext/boost/static_assert.hpp +74 -17
  208. data/ext/boost/system/error_code.hpp +76 -68
  209. data/ext/boost/system/system_error.hpp +5 -1
  210. data/ext/boost/thread/barrier.hpp +6 -2
  211. data/ext/boost/thread/completion_latch.hpp +233 -0
  212. data/ext/boost/thread/condition.hpp +6 -1
  213. data/ext/boost/thread/detail/async_func.hpp +571 -0
  214. data/ext/boost/thread/detail/config.hpp +248 -40
  215. data/ext/boost/thread/detail/counter.hpp +93 -0
  216. data/ext/boost/thread/detail/delete.hpp +12 -0
  217. data/ext/boost/thread/detail/invoke.hpp +1351 -0
  218. data/ext/boost/thread/detail/is_convertible.hpp +48 -0
  219. data/ext/boost/thread/detail/lockable_wrapper.hpp +45 -0
  220. data/ext/boost/thread/detail/log.hpp +83 -0
  221. data/ext/boost/thread/detail/make_tuple_indices.hpp +224 -0
  222. data/ext/boost/thread/detail/move.hpp +32 -16
  223. data/ext/boost/thread/detail/thread.hpp +236 -41
  224. data/ext/boost/thread/detail/thread_group.hpp +55 -9
  225. data/ext/boost/thread/detail/thread_interruption.hpp +4 -1
  226. data/ext/boost/thread/exceptions.hpp +2 -0
  227. data/ext/boost/thread/externally_locked.hpp +351 -0
  228. data/ext/boost/thread/externally_locked_stream.hpp +170 -0
  229. data/ext/boost/thread/future.hpp +2517 -455
  230. data/ext/boost/thread/future_error_code.hpp +61 -0
  231. data/ext/boost/thread/is_locked_by_this_thread.hpp +39 -0
  232. data/ext/boost/thread/latch.hpp +142 -0
  233. data/ext/boost/thread/lock_algorithms.hpp +468 -0
  234. data/ext/boost/thread/lock_concepts.hpp +197 -0
  235. data/ext/boost/thread/lock_factories.hpp +78 -0
  236. data/ext/boost/thread/lock_guard.hpp +88 -0
  237. data/ext/boost/thread/lock_options.hpp +31 -0
  238. data/ext/boost/thread/lock_traits.hpp +45 -0
  239. data/ext/boost/thread/lock_types.hpp +1226 -0
  240. data/ext/boost/thread/lockable_adapter.hpp +226 -0
  241. data/ext/boost/thread/lockable_concepts.hpp +157 -0
  242. data/ext/boost/thread/lockable_traits.hpp +207 -0
  243. data/ext/boost/thread/locks.hpp +5 -1816
  244. data/ext/boost/thread/mutex.hpp +33 -1
  245. data/ext/boost/thread/null_mutex.hpp +243 -0
  246. data/ext/boost/thread/once.hpp +10 -1
  247. data/ext/boost/thread/poly_lockable.hpp +68 -0
  248. data/ext/boost/thread/poly_lockable_adapter.hpp +89 -0
  249. data/ext/boost/thread/poly_shared_lockable.hpp +135 -0
  250. data/ext/boost/thread/poly_shared_lockable_adapter.hpp +170 -0
  251. data/ext/boost/thread/pthread/condition_variable.hpp +74 -26
  252. data/ext/boost/thread/pthread/condition_variable_fwd.hpp +54 -27
  253. data/ext/boost/thread/pthread/mutex.hpp +101 -38
  254. data/ext/boost/thread/pthread/once.hpp +459 -44
  255. data/ext/boost/thread/pthread/once_atomic.hpp +313 -0
  256. data/ext/boost/thread/pthread/recursive_mutex.hpp +19 -10
  257. data/ext/boost/thread/pthread/shared_mutex.hpp +226 -61
  258. data/ext/boost/thread/pthread/shared_mutex_assert.hpp +724 -0
  259. data/ext/boost/thread/pthread/thread_data.hpp +53 -50
  260. data/ext/boost/thread/pthread/timespec.hpp +96 -12
  261. data/ext/boost/thread/recursive_mutex.hpp +44 -1
  262. data/ext/boost/thread/reverse_lock.hpp +3 -2
  263. data/ext/boost/thread/scoped_thread.hpp +285 -0
  264. data/ext/boost/thread/shared_lock_guard.hpp +2 -1
  265. data/ext/boost/thread/shared_mutex.hpp +23 -0
  266. data/ext/boost/thread/strict_lock.hpp +235 -0
  267. data/ext/boost/thread/sync_bounded_queue.hpp +594 -0
  268. data/ext/boost/thread/sync_queue.hpp +516 -0
  269. data/ext/boost/thread/synchronized_value.hpp +1001 -0
  270. data/ext/boost/thread/testable_mutex.hpp +148 -0
  271. data/ext/boost/thread/thread.hpp +1 -13
  272. data/ext/boost/thread/thread_functors.hpp +57 -0
  273. data/ext/boost/thread/thread_guard.hpp +46 -0
  274. data/ext/boost/thread/thread_only.hpp +29 -0
  275. data/ext/boost/thread/v2/shared_mutex.hpp +1062 -0
  276. data/ext/boost/thread/v2/thread.hpp +37 -10
  277. data/ext/boost/thread/xtime.hpp +2 -1
  278. data/ext/boost/token_functions.hpp +16 -16
  279. data/ext/boost/type_traits/add_lvalue_reference.hpp +26 -0
  280. data/ext/boost/type_traits/add_reference.hpp +1 -1
  281. data/ext/boost/type_traits/add_rvalue_reference.hpp +4 -4
  282. data/ext/boost/type_traits/aligned_storage.hpp +13 -0
  283. data/ext/boost/type_traits/common_type.hpp +11 -12
  284. data/ext/boost/type_traits/config.hpp +1 -1
  285. data/ext/boost/type_traits/detail/common_type_imp.hpp +1 -1
  286. data/ext/boost/type_traits/detail/has_binary_operator.hpp +1 -1
  287. data/ext/boost/type_traits/detail/is_function_ptr_tester.hpp +1 -1
  288. data/ext/boost/type_traits/has_left_shift.hpp +49 -0
  289. data/ext/boost/type_traits/has_right_shift.hpp +49 -0
  290. data/ext/boost/type_traits/has_trivial_move_assign.hpp +57 -0
  291. data/ext/boost/type_traits/has_trivial_move_constructor.hpp +57 -0
  292. data/ext/boost/type_traits/intrinsics.hpp +18 -2
  293. data/ext/boost/type_traits/is_abstract.hpp +1 -1
  294. data/ext/boost/type_traits/is_array.hpp +1 -1
  295. data/ext/boost/type_traits/is_const.hpp +1 -1
  296. data/ext/boost/type_traits/is_convertible.hpp +78 -17
  297. data/ext/boost/type_traits/is_function.hpp +6 -1
  298. data/ext/boost/type_traits/is_integral.hpp +6 -1
  299. data/ext/boost/type_traits/is_nothrow_move_assignable.hpp +84 -0
  300. data/ext/boost/type_traits/is_nothrow_move_constructible.hpp +84 -0
  301. data/ext/boost/type_traits/is_pod.hpp +3 -1
  302. data/ext/boost/type_traits/is_rvalue_reference.hpp +1 -1
  303. data/ext/boost/type_traits/is_volatile.hpp +1 -1
  304. data/ext/boost/type_traits/make_signed.hpp +153 -0
  305. data/ext/boost/type_traits/make_unsigned.hpp +16 -0
  306. data/ext/boost/type_traits/remove_const.hpp +1 -1
  307. data/ext/boost/type_traits/remove_cv.hpp +1 -1
  308. data/ext/boost/type_traits/remove_reference.hpp +1 -1
  309. data/ext/boost/type_traits/remove_volatile.hpp +1 -1
  310. data/ext/boost/unordered/detail/allocate.hpp +1120 -0
  311. data/ext/boost/unordered/detail/buckets.hpp +876 -0
  312. data/ext/boost/unordered/detail/equivalent.hpp +680 -0
  313. data/ext/boost/unordered/detail/extract_key.hpp +183 -0
  314. data/ext/boost/unordered/detail/fwd.hpp +23 -0
  315. data/ext/boost/unordered/detail/table.hpp +861 -0
  316. data/ext/boost/unordered/detail/unique.hpp +622 -0
  317. data/ext/boost/unordered/detail/util.hpp +260 -0
  318. data/ext/boost/unordered/unordered_map.hpp +1652 -0
  319. data/ext/boost/unordered/unordered_map_fwd.hpp +65 -0
  320. data/ext/boost/unordered/unordered_set.hpp +1549 -0
  321. data/ext/boost/unordered/unordered_set_fwd.hpp +63 -0
  322. data/ext/boost/unordered_map.hpp +18 -0
  323. data/ext/boost/unordered_set.hpp +18 -0
  324. data/ext/boost/utility/addressof.hpp +2 -2
  325. data/ext/boost/utility/result_of.hpp +8 -1
  326. data/ext/boost/version.hpp +2 -2
  327. data/ext/common/Account.h +1 -1
  328. data/ext/common/AccountsDatabase.h +1 -1
  329. data/ext/common/AgentsStarter.cpp +3 -1
  330. data/ext/common/AgentsStarter.h +2 -2
  331. data/ext/common/ApplicationPool2/AppTypes.cpp +24 -6
  332. data/ext/common/ApplicationPool2/AppTypes.h +17 -8
  333. data/ext/common/ApplicationPool2/Common.h +12 -12
  334. data/ext/common/ApplicationPool2/DirectSpawner.h +2 -2
  335. data/ext/common/ApplicationPool2/DummySpawner.h +3 -3
  336. data/ext/common/ApplicationPool2/Group.h +6 -6
  337. data/ext/common/ApplicationPool2/Implementation.cpp +19 -19
  338. data/ext/common/ApplicationPool2/PipeWatcher.h +5 -5
  339. data/ext/common/ApplicationPool2/Pool.h +21 -21
  340. data/ext/common/ApplicationPool2/Process.h +6 -6
  341. data/ext/common/ApplicationPool2/Session.h +1 -1
  342. data/ext/common/ApplicationPool2/SmartSpawner.h +24 -12
  343. data/ext/common/ApplicationPool2/Socket.h +2 -2
  344. data/ext/common/ApplicationPool2/Spawner.h +64 -14
  345. data/ext/common/ApplicationPool2/SpawnerFactory.h +7 -7
  346. data/ext/common/ApplicationPool2/SuperGroup.h +5 -5
  347. data/ext/common/BackgroundEventLoop.cpp +4 -4
  348. data/ext/common/BackgroundEventLoop.h +1 -1
  349. data/ext/common/Constants.h +13 -1
  350. data/ext/common/EventedBufferedInput.h +8 -8
  351. data/ext/common/Exceptions.cpp +71 -0
  352. data/ext/common/Exceptions.h +60 -7
  353. data/ext/common/FileDescriptor.h +4 -4
  354. data/ext/common/MessageClient.h +1 -1
  355. data/ext/common/MessageServer.h +5 -5
  356. data/ext/common/MultiLibeio.cpp +3 -3
  357. data/ext/common/MultiLibeio.h +2 -2
  358. data/ext/common/RandomGenerator.h +11 -11
  359. data/ext/common/ResourceLocator.h +8 -1
  360. data/ext/common/SafeLibev.h +12 -12
  361. data/ext/common/ServerInstanceDir.h +11 -3
  362. data/ext/common/UnionStation.h +10 -10
  363. data/ext/common/Utils.cpp +11 -13
  364. data/ext/common/Utils.h +9 -9
  365. data/ext/common/Utils/BlockingQueue.h +10 -10
  366. data/ext/common/Utils/BufferedIO.h +1 -1
  367. data/ext/common/Utils/CachedFileStat.hpp +2 -2
  368. data/ext/common/Utils/FileChangeChecker.h +1 -1
  369. data/ext/common/Utils/HashMap.h +13 -4
  370. data/ext/common/Utils/IOUtils.cpp +33 -10
  371. data/ext/common/Utils/IniFile.h +3 -3
  372. data/ext/common/Utils/Lock.h +2 -2
  373. data/ext/common/Utils/MessagePassing.h +10 -10
  374. data/ext/common/Utils/ProcessMetricsCollector.h +24 -6
  375. data/ext/common/Utils/ScopeGuard.h +5 -5
  376. data/ext/common/Utils/jsoncpp.cpp +2 -0
  377. data/ext/common/agents/HelperAgent/FileBackedPipe.h +26 -26
  378. data/ext/common/agents/HelperAgent/Main.cpp +18 -18
  379. data/ext/common/agents/HelperAgent/RequestHandler.cpp +4 -4
  380. data/ext/common/agents/HelperAgent/RequestHandler.h +30 -21
  381. data/ext/common/agents/LoggingAgent/AdminController.h +1 -1
  382. data/ext/common/agents/LoggingAgent/FilterSupport.h +13 -11
  383. data/ext/common/agents/LoggingAgent/LoggingServer.h +11 -11
  384. data/ext/common/agents/LoggingAgent/Main.cpp +9 -9
  385. data/ext/common/agents/LoggingAgent/RemoteSender.h +3 -3
  386. data/ext/common/agents/SpawnPreparer.cpp +1 -0
  387. data/ext/common/agents/Watchdog/AgentWatcher.cpp +8 -7
  388. data/ext/common/agents/Watchdog/Main.cpp +81 -73
  389. data/ext/common/agents/Watchdog/ServerInstanceDirToucher.cpp +1 -1
  390. data/ext/libev/Changes +57 -0
  391. data/ext/libev/LICENSE +2 -1
  392. data/ext/libev/Makefile.in +110 -50
  393. data/ext/libev/README +8 -8
  394. data/ext/libev/aclocal.m4 +1503 -861
  395. data/ext/libev/config.guess +290 -304
  396. data/ext/libev/config.sub +77 -198
  397. data/ext/libev/configure +1735 -890
  398. data/ext/libev/configure.ac +3 -2
  399. data/ext/libev/ev++.h +6 -6
  400. data/ext/libev/ev.c +541 -214
  401. data/ext/libev/ev.h +106 -100
  402. data/ext/libev/ev_epoll.c +1 -1
  403. data/ext/libev/ev_kqueue.c +20 -4
  404. data/ext/libev/ev_vars.h +15 -16
  405. data/ext/libev/ev_win32.c +12 -2
  406. data/ext/libev/ev_wrap.h +162 -160
  407. data/ext/libev/event.c +29 -6
  408. data/ext/libev/event.h +9 -2
  409. data/ext/libev/ltmain.sh +2632 -1384
  410. data/ext/nginx/ConfigurationCommands.c +1 -1
  411. data/ext/nginx/ConfigurationCommands.c.erb +3 -1
  412. data/ext/nginx/ContentHandler.c +25 -2
  413. data/ext/nginx/CreateLocationConfig.c +1 -0
  414. data/ext/nginx/CreateLocationConfig.c.erb +1 -1
  415. data/ext/nginx/MergeLocationConfig.c +1 -0
  416. data/ext/nginx/MergeLocationConfig.c.erb +1 -1
  417. data/ext/nginx/config +12 -0
  418. data/ext/oxt/dynamic_thread_group.hpp +7 -4
  419. data/ext/oxt/system_calls.cpp +5 -1
  420. data/ext/oxt/system_calls.hpp +3 -0
  421. data/helper-scripts/node-loader.js +117 -249
  422. data/lib/phusion_passenger.rb +27 -5
  423. data/lib/phusion_passenger/abstract_installer.rb +104 -9
  424. data/lib/phusion_passenger/admin_tools/memory_stats.rb +10 -9
  425. data/lib/phusion_passenger/apache2/config_options.rb +6 -3
  426. data/lib/phusion_passenger/common_library.rb +7 -1
  427. data/lib/phusion_passenger/constants.rb +6 -0
  428. data/lib/phusion_passenger/loader_shared_helpers.rb +7 -4
  429. data/lib/phusion_passenger/nginx/config_options.rb +2 -1
  430. data/lib/phusion_passenger/packaging.rb +3 -0
  431. data/lib/phusion_passenger/platform_info/apache.rb +43 -6
  432. data/lib/phusion_passenger/platform_info/apache_detector.rb +15 -5
  433. data/lib/phusion_passenger/platform_info/compiler.rb +167 -32
  434. data/lib/phusion_passenger/platform_info/cxx_portability.rb +133 -77
  435. data/lib/phusion_passenger/platform_info/depcheck.rb +17 -7
  436. data/lib/phusion_passenger/platform_info/depcheck_specs/apache2.rb +3 -3
  437. data/lib/phusion_passenger/platform_info/depcheck_specs/compiler_toolchain.rb +4 -4
  438. data/lib/phusion_passenger/platform_info/depcheck_specs/ruby.rb +5 -6
  439. data/lib/phusion_passenger/platform_info/linux.rb +2 -1
  440. data/lib/phusion_passenger/platform_info/operating_system.rb +1 -1
  441. data/lib/phusion_passenger/platform_info/ruby.rb +18 -3
  442. data/lib/phusion_passenger/standalone/runtime_installer.rb +6 -2
  443. data/lib/phusion_passenger/standalone/start_command.rb +8 -2
  444. data/lib/phusion_passenger/utils/ansi_colors.rb +9 -0
  445. data/lib/phusion_passenger/utils/hosts_file_parser.rb +4 -2
  446. data/node_lib/phusion_passenger/httplib_emulation.js +141 -0
  447. data/node_lib/phusion_passenger/line_reader.js +154 -0
  448. data/node_lib/phusion_passenger/request_handler.js +65 -0
  449. data/node_lib/phusion_passenger/session_protocol_parser.js +113 -0
  450. data/resources/templates/apache2/deployment_example.txt.erb +2 -1
  451. data/resources/templates/apache2/installing_against_a_different_apache.txt.erb +14 -0
  452. data/resources/templates/apache2/multiple_apache_installations_detected.txt.erb +15 -0
  453. data/resources/templates/apache2/possible_solutions_for_compilation_and_installation_problems.txt.erb +4 -5
  454. data/resources/templates/general_error_with_html.html.template +1 -1
  455. data/resources/templates/installer_common/gem_install_permission_problems.txt.erb +17 -0
  456. data/resources/templates/installer_common/low_amount_of_memory_warning.txt.erb +6 -4
  457. data/resources/templates/installer_common/world_inaccessible_directories.txt.erb +16 -0
  458. data/resources/templates/nginx/deployment_example.txt.erb +2 -1
  459. data/resources/templates/nginx/possible_solutions_for_compilation_and_installation_problems.txt.erb +4 -5
  460. data/resources/templates/standalone/config.erb +1 -0
  461. data/test/cxx/ApplicationPool2/DirectSpawnerTest.cpp +3 -3
  462. data/test/cxx/ApplicationPool2/PoolTest.cpp +4 -4
  463. data/test/cxx/ApplicationPool2/ProcessTest.cpp +5 -5
  464. data/test/cxx/ApplicationPool2/SmartSpawnerTest.cpp +5 -5
  465. data/test/cxx/ApplicationPool2/SpawnerTestCases.cpp +1 -1
  466. data/test/cxx/EventedBufferedInputTest.cpp +6 -6
  467. data/test/cxx/FileBackedPipeTest.cpp +1 -1
  468. data/test/cxx/MessagePassingTest.cpp +1 -1
  469. data/test/cxx/MessageServerTest.cpp +4 -4
  470. data/test/cxx/RequestHandlerTest.cpp +7 -7
  471. data/test/cxx/UnionStationTest.cpp +2 -2
  472. data/test/node/line_reader_spec.js +338 -0
  473. data/test/node/spec_helper.js +27 -0
  474. data/test/ruby/standalone/runtime_installer_spec.rb +2 -1
  475. metadata +131 -22
  476. metadata.gz.asc +7 -7
  477. data/ext/boost/functional/hash/detail/container_fwd_0x.hpp +0 -29
  478. data/ext/boost/lambda/core.hpp +0 -79
  479. data/ext/boost/lambda/detail/actions.hpp +0 -174
  480. data/ext/boost/lambda/detail/arity_code.hpp +0 -110
  481. data/ext/boost/lambda/detail/function_adaptors.hpp +0 -789
  482. data/ext/boost/lambda/detail/is_instance_of.hpp +0 -104
  483. data/ext/boost/lambda/detail/lambda_config.hpp +0 -48
  484. data/ext/boost/lambda/detail/lambda_functor_base.hpp +0 -615
  485. data/ext/boost/lambda/detail/lambda_functors.hpp +0 -324
  486. data/ext/boost/lambda/detail/lambda_fwd.hpp +0 -74
  487. data/ext/boost/lambda/detail/lambda_traits.hpp +0 -578
  488. data/ext/boost/lambda/detail/member_ptr.hpp +0 -737
  489. data/ext/boost/lambda/detail/operator_actions.hpp +0 -139
  490. data/ext/boost/lambda/detail/operator_lambda_func_base.hpp +0 -271
  491. data/ext/boost/lambda/detail/operator_return_type_traits.hpp +0 -917
  492. data/ext/boost/lambda/detail/operators.hpp +0 -370
  493. data/ext/boost/lambda/detail/ret.hpp +0 -325
  494. data/ext/boost/lambda/detail/return_type_traits.hpp +0 -282
  495. data/ext/boost/lambda/detail/select_functions.hpp +0 -74
  496. data/ext/boost/lambda/lambda.hpp +0 -34
@@ -1,10 +1,10 @@
1
1
  #! /bin/sh
2
2
  # Attempt to guess a canonical system name.
3
3
  # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
4
- # 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010,
5
- # 2011, 2012 Free Software Foundation, Inc.
4
+ # 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008
5
+ # Free Software Foundation, Inc.
6
6
 
7
- timestamp='2012-02-10'
7
+ timestamp='2008-01-23'
8
8
 
9
9
  # This file is free software; you can redistribute it and/or modify it
10
10
  # under the terms of the GNU General Public License as published by
@@ -17,7 +17,9 @@ timestamp='2012-02-10'
17
17
  # General Public License for more details.
18
18
  #
19
19
  # You should have received a copy of the GNU General Public License
20
- # along with this program; if not, see <http://www.gnu.org/licenses/>.
20
+ # along with this program; if not, write to the Free Software
21
+ # Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA
22
+ # 02110-1301, USA.
21
23
  #
22
24
  # As a special exception to the GNU General Public License, if you
23
25
  # distribute this file as part of a program that contains a
@@ -25,16 +27,16 @@ timestamp='2012-02-10'
25
27
  # the same distribution terms that you use for the rest of that program.
26
28
 
27
29
 
28
- # Originally written by Per Bothner. Please send patches (context
29
- # diff format) to <config-patches@gnu.org> and include a ChangeLog
30
- # entry.
30
+ # Originally written by Per Bothner <per@bothner.com>.
31
+ # Please send patches to <config-patches@gnu.org>. Submit a context
32
+ # diff and a properly formatted ChangeLog entry.
31
33
  #
32
34
  # This script attempts to guess a canonical system name similar to
33
35
  # config.sub. If it succeeds, it prints the system name on stdout, and
34
36
  # exits with 0. Otherwise, it exits with 1.
35
37
  #
36
- # You can get the latest version of this script from:
37
- # http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD
38
+ # The plan is that this can be called by configure scripts if you
39
+ # don't specify an explicit build system type.
38
40
 
39
41
  me=`echo "$0" | sed -e 's,.*/,,'`
40
42
 
@@ -54,9 +56,8 @@ version="\
54
56
  GNU config.guess ($timestamp)
55
57
 
56
58
  Originally written by Per Bothner.
57
- Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
58
- 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012
59
- Free Software Foundation, Inc.
59
+ Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001,
60
+ 2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
60
61
 
61
62
  This is free software; see the source for copying conditions. There is NO
62
63
  warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
@@ -138,22 +139,12 @@ UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown
138
139
  UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown
139
140
  UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown
140
141
 
141
- case "${UNAME_MACHINE}" in
142
- i?86)
143
- test -z "$VENDOR" && VENDOR=pc
144
- ;;
145
- *)
146
- test -z "$VENDOR" && VENDOR=unknown
147
- ;;
148
- esac
149
- test -f /etc/SuSE-release -o -f /.buildenv && VENDOR=suse
150
-
151
142
  # Note: order is significant - the case branches are not exclusive.
152
143
 
153
144
  case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
154
145
  *:NetBSD:*:*)
155
146
  # NetBSD (nbsd) targets should (where applicable) match one or
156
- # more of the tuples: *-*-netbsdelf*, *-*-netbsdaout*,
147
+ # more of the tupples: *-*-netbsdelf*, *-*-netbsdaout*,
157
148
  # *-*-netbsdecoff* and *-*-netbsd*. For targets that recently
158
149
  # switched to ELF, *-*-netbsd* would select the old
159
150
  # object file format. This provides both forward
@@ -179,7 +170,7 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
179
170
  arm*|i386|m68k|ns32k|sh3*|sparc|vax)
180
171
  eval $set_cc_for_build
181
172
  if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \
182
- | grep -q __ELF__
173
+ | grep __ELF__ >/dev/null
183
174
  then
184
175
  # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout).
185
176
  # Return netbsd for either. FIX?
@@ -189,7 +180,7 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
189
180
  fi
190
181
  ;;
191
182
  *)
192
- os=netbsd
183
+ os=netbsd
193
184
  ;;
194
185
  esac
195
186
  # The OS release
@@ -212,19 +203,19 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
212
203
  exit ;;
213
204
  *:OpenBSD:*:*)
214
205
  UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'`
215
- echo ${UNAME_MACHINE_ARCH}-${VENDOR}-openbsd${UNAME_RELEASE}
206
+ echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE}
216
207
  exit ;;
217
208
  *:ekkoBSD:*:*)
218
- echo ${UNAME_MACHINE}-${VENDOR}-ekkobsd${UNAME_RELEASE}
209
+ echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE}
219
210
  exit ;;
220
211
  *:SolidBSD:*:*)
221
- echo ${UNAME_MACHINE}-${VENDOR}-solidbsd${UNAME_RELEASE}
212
+ echo ${UNAME_MACHINE}-unknown-solidbsd${UNAME_RELEASE}
222
213
  exit ;;
223
214
  macppc:MirBSD:*:*)
224
- echo powerpc-${VENDOR}-mirbsd${UNAME_RELEASE}
215
+ echo powerpc-unknown-mirbsd${UNAME_RELEASE}
225
216
  exit ;;
226
217
  *:MirBSD:*:*)
227
- echo ${UNAME_MACHINE}-${VENDOR}-mirbsd${UNAME_RELEASE}
218
+ echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE}
228
219
  exit ;;
229
220
  alpha:OSF1:*:*)
230
221
  case $UNAME_RELEASE in
@@ -232,7 +223,7 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
232
223
  UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'`
233
224
  ;;
234
225
  *5.*)
235
- UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'`
226
+ UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'`
236
227
  ;;
237
228
  esac
238
229
  # According to Compaq, /usr/sbin/psrinfo has been available on
@@ -278,10 +269,7 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
278
269
  # A Xn.n version is an unreleased experimental baselevel.
279
270
  # 1.2 uses "1.2" for uname -r.
280
271
  echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
281
- # Reset EXIT trap before exiting to avoid spurious non-zero exit code.
282
- exitcode=$?
283
- trap '' 0
284
- exit $exitcode ;;
272
+ exit ;;
285
273
  Alpha\ *:Windows_NT*:*)
286
274
  # How do we know it's Interix rather than the generic POSIX subsystem?
287
275
  # Should we change UNAME_MACHINE based on the output of uname instead
@@ -292,13 +280,13 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
292
280
  echo alpha-dec-winnt3.5
293
281
  exit ;;
294
282
  Amiga*:UNIX_System_V:4.0:*)
295
- echo m68k-${VENDOR}-sysv4
283
+ echo m68k-unknown-sysv4
296
284
  exit ;;
297
285
  *:[Aa]miga[Oo][Ss]:*:*)
298
- echo ${UNAME_MACHINE}-${VENDOR}-amigaos
286
+ echo ${UNAME_MACHINE}-unknown-amigaos
299
287
  exit ;;
300
288
  *:[Mm]orph[Oo][Ss]:*:*)
301
- echo ${UNAME_MACHINE}-${VENDOR}-morphos
289
+ echo ${UNAME_MACHINE}-unknown-morphos
302
290
  exit ;;
303
291
  *:OS/390:*:*)
304
292
  echo i370-ibm-openedition
@@ -307,13 +295,13 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
307
295
  echo s390-ibm-zvmoe
308
296
  exit ;;
309
297
  *:OS400:*:*)
310
- echo powerpc-ibm-os400
298
+ echo powerpc-ibm-os400
311
299
  exit ;;
312
300
  arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*)
313
301
  echo arm-acorn-riscix${UNAME_RELEASE}
314
302
  exit ;;
315
303
  arm:riscos:*:*|arm:RISCOS:*:*)
316
- echo arm-${VENDOR}-riscos
304
+ echo arm-unknown-riscos
317
305
  exit ;;
318
306
  SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*)
319
307
  echo hppa1.1-hitachi-hiuxmpp
@@ -336,33 +324,14 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
336
324
  case `/usr/bin/uname -p` in
337
325
  sparc) echo sparc-icl-nx7; exit ;;
338
326
  esac ;;
339
- s390x:SunOS:*:*)
340
- echo ${UNAME_MACHINE}-ibm-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
341
- exit ;;
342
327
  sun4H:SunOS:5.*:*)
343
328
  echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
344
329
  exit ;;
345
330
  sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*)
346
331
  echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
347
332
  exit ;;
348
- i86pc:AuroraUX:5.*:* | i86xen:AuroraUX:5.*:*)
349
- echo i386-pc-auroraux${UNAME_RELEASE}
350
- exit ;;
351
333
  i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*)
352
- eval $set_cc_for_build
353
- SUN_ARCH="i386"
354
- # If there is a compiler, see if it is configured for 64-bit objects.
355
- # Note that the Sun cc does not turn __LP64__ into 1 like gcc does.
356
- # This test works for both compilers.
357
- if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then
358
- if (echo '#ifdef __amd64'; echo IS_64BIT_ARCH; echo '#endif') | \
359
- (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \
360
- grep IS_64BIT_ARCH >/dev/null
361
- then
362
- SUN_ARCH="x86_64"
363
- fi
364
- fi
365
- echo ${SUN_ARCH}-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
334
+ echo i386-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
366
335
  exit ;;
367
336
  sun4*:SunOS:6*:*)
368
337
  # According to config.sub, this is the proper way to canonicalize
@@ -406,23 +375,23 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
406
375
  # MiNT. But MiNT is downward compatible to TOS, so this should
407
376
  # be no problem.
408
377
  atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*)
409
- echo m68k-atari-mint${UNAME_RELEASE}
378
+ echo m68k-atari-mint${UNAME_RELEASE}
410
379
  exit ;;
411
380
  atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*)
412
381
  echo m68k-atari-mint${UNAME_RELEASE}
413
- exit ;;
382
+ exit ;;
414
383
  *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*)
415
- echo m68k-atari-mint${UNAME_RELEASE}
384
+ echo m68k-atari-mint${UNAME_RELEASE}
416
385
  exit ;;
417
386
  milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*)
418
- echo m68k-milan-mint${UNAME_RELEASE}
419
- exit ;;
387
+ echo m68k-milan-mint${UNAME_RELEASE}
388
+ exit ;;
420
389
  hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*)
421
- echo m68k-hades-mint${UNAME_RELEASE}
422
- exit ;;
390
+ echo m68k-hades-mint${UNAME_RELEASE}
391
+ exit ;;
423
392
  *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*)
424
- echo m68k-${VENDOR}-mint${UNAME_RELEASE}
425
- exit ;;
393
+ echo m68k-unknown-mint${UNAME_RELEASE}
394
+ exit ;;
426
395
  m68k:machten:*:*)
427
396
  echo m68k-apple-machten${UNAME_RELEASE}
428
397
  exit ;;
@@ -492,8 +461,8 @@ EOF
492
461
  echo m88k-motorola-sysv3
493
462
  exit ;;
494
463
  AViiON:dgux:*:*)
495
- # DG/UX returns AViiON for all architectures
496
- UNAME_PROCESSOR=`/usr/bin/uname -p`
464
+ # DG/UX returns AViiON for all architectures
465
+ UNAME_PROCESSOR=`/usr/bin/uname -p`
497
466
  if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ]
498
467
  then
499
468
  if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \
@@ -506,7 +475,7 @@ EOF
506
475
  else
507
476
  echo i586-dg-dgux${UNAME_RELEASE}
508
477
  fi
509
- exit ;;
478
+ exit ;;
510
479
  M88*:DolphinOS:*:*) # DolphinOS (SVR3)
511
480
  echo m88k-dolphin-sysv3
512
481
  exit ;;
@@ -563,7 +532,7 @@ EOF
563
532
  echo rs6000-ibm-aix3.2
564
533
  fi
565
534
  exit ;;
566
- *:AIX:*:[4567])
535
+ *:AIX:*:[456])
567
536
  IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'`
568
537
  if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then
569
538
  IBM_ARCH=rs6000
@@ -606,52 +575,52 @@ EOF
606
575
  9000/[678][0-9][0-9])
607
576
  if [ -x /usr/bin/getconf ]; then
608
577
  sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null`
609
- sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null`
610
- case "${sc_cpu_version}" in
611
- 523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0
612
- 528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1
613
- 532) # CPU_PA_RISC2_0
614
- case "${sc_kernel_bits}" in
615
- 32) HP_ARCH="hppa2.0n" ;;
616
- 64) HP_ARCH="hppa2.0w" ;;
578
+ sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null`
579
+ case "${sc_cpu_version}" in
580
+ 523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0
581
+ 528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1
582
+ 532) # CPU_PA_RISC2_0
583
+ case "${sc_kernel_bits}" in
584
+ 32) HP_ARCH="hppa2.0n" ;;
585
+ 64) HP_ARCH="hppa2.0w" ;;
617
586
  '') HP_ARCH="hppa2.0" ;; # HP-UX 10.20
618
- esac ;;
619
- esac
587
+ esac ;;
588
+ esac
620
589
  fi
621
590
  if [ "${HP_ARCH}" = "" ]; then
622
591
  eval $set_cc_for_build
623
- sed 's/^ //' << EOF >$dummy.c
592
+ sed 's/^ //' << EOF >$dummy.c
624
593
 
625
- #define _HPUX_SOURCE
626
- #include <stdlib.h>
627
- #include <unistd.h>
594
+ #define _HPUX_SOURCE
595
+ #include <stdlib.h>
596
+ #include <unistd.h>
628
597
 
629
- int main ()
630
- {
631
- #if defined(_SC_KERNEL_BITS)
632
- long bits = sysconf(_SC_KERNEL_BITS);
633
- #endif
634
- long cpu = sysconf (_SC_CPU_VERSION);
598
+ int main ()
599
+ {
600
+ #if defined(_SC_KERNEL_BITS)
601
+ long bits = sysconf(_SC_KERNEL_BITS);
602
+ #endif
603
+ long cpu = sysconf (_SC_CPU_VERSION);
635
604
 
636
- switch (cpu)
637
- {
638
- case CPU_PA_RISC1_0: puts ("hppa1.0"); break;
639
- case CPU_PA_RISC1_1: puts ("hppa1.1"); break;
640
- case CPU_PA_RISC2_0:
641
- #if defined(_SC_KERNEL_BITS)
642
- switch (bits)
643
- {
644
- case 64: puts ("hppa2.0w"); break;
645
- case 32: puts ("hppa2.0n"); break;
646
- default: puts ("hppa2.0"); break;
647
- } break;
648
- #else /* !defined(_SC_KERNEL_BITS) */
649
- puts ("hppa2.0"); break;
650
- #endif
651
- default: puts ("hppa1.0"); break;
652
- }
653
- exit (0);
654
- }
605
+ switch (cpu)
606
+ {
607
+ case CPU_PA_RISC1_0: puts ("hppa1.0"); break;
608
+ case CPU_PA_RISC1_1: puts ("hppa1.1"); break;
609
+ case CPU_PA_RISC2_0:
610
+ #if defined(_SC_KERNEL_BITS)
611
+ switch (bits)
612
+ {
613
+ case 64: puts ("hppa2.0w"); break;
614
+ case 32: puts ("hppa2.0n"); break;
615
+ default: puts ("hppa2.0"); break;
616
+ } break;
617
+ #else /* !defined(_SC_KERNEL_BITS) */
618
+ puts ("hppa2.0"); break;
619
+ #endif
620
+ default: puts ("hppa1.0"); break;
621
+ }
622
+ exit (0);
623
+ }
655
624
  EOF
656
625
  (CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy`
657
626
  test -z "$HP_ARCH" && HP_ARCH=hppa
@@ -671,7 +640,7 @@ EOF
671
640
  # => hppa64-hp-hpux11.23
672
641
 
673
642
  if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) |
674
- grep -q __LP64__
643
+ grep __LP64__ >/dev/null
675
644
  then
676
645
  HP_ARCH="hppa2.0w"
677
646
  else
@@ -732,9 +701,9 @@ EOF
732
701
  exit ;;
733
702
  i*86:OSF1:*:*)
734
703
  if [ -x /usr/sbin/sysversion ] ; then
735
- echo ${UNAME_MACHINE}-${VENDOR}-osf1mk
704
+ echo ${UNAME_MACHINE}-unknown-osf1mk
736
705
  else
737
- echo ${UNAME_MACHINE}-${VENDOR}-osf1
706
+ echo ${UNAME_MACHINE}-unknown-osf1
738
707
  fi
739
708
  exit ;;
740
709
  parisc*:Lites*:*:*)
@@ -742,22 +711,22 @@ EOF
742
711
  exit ;;
743
712
  C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*)
744
713
  echo c1-convex-bsd
745
- exit ;;
714
+ exit ;;
746
715
  C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*)
747
716
  if getsysinfo -f scalar_acc
748
717
  then echo c32-convex-bsd
749
718
  else echo c2-convex-bsd
750
719
  fi
751
- exit ;;
720
+ exit ;;
752
721
  C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*)
753
722
  echo c34-convex-bsd
754
- exit ;;
723
+ exit ;;
755
724
  C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*)
756
725
  echo c38-convex-bsd
757
- exit ;;
726
+ exit ;;
758
727
  C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*)
759
728
  echo c4-convex-bsd
760
- exit ;;
729
+ exit ;;
761
730
  CRAY*Y-MP:*:*:*)
762
731
  echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
763
732
  exit ;;
@@ -781,31 +750,32 @@ EOF
781
750
  exit ;;
782
751
  F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*)
783
752
  FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
784
- FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
785
- FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'`
786
- echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
787
- exit ;;
753
+ FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
754
+ FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'`
755
+ echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
756
+ exit ;;
788
757
  5000:UNIX_System_V:4.*:*)
789
- FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
790
- FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'`
791
- echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
758
+ FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
759
+ FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'`
760
+ echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
792
761
  exit ;;
793
762
  i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*)
794
763
  echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE}
795
764
  exit ;;
796
765
  sparc*:BSD/OS:*:*)
797
- echo sparc-${VENDOR}-bsdi${UNAME_RELEASE}
766
+ echo sparc-unknown-bsdi${UNAME_RELEASE}
798
767
  exit ;;
799
768
  *:BSD/OS:*:*)
800
- echo ${UNAME_MACHINE}-${VENDOR}-bsdi${UNAME_RELEASE}
769
+ echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE}
801
770
  exit ;;
802
771
  *:FreeBSD:*:*)
803
- UNAME_PROCESSOR=`/usr/bin/uname -p`
804
- case ${UNAME_PROCESSOR} in
772
+ case ${UNAME_MACHINE} in
773
+ pc98)
774
+ echo i386-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
805
775
  amd64)
806
- echo x86_64-${VENDOR}-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
776
+ echo x86_64-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
807
777
  *)
808
- echo ${UNAME_PROCESSOR}-${VENDOR}-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
778
+ echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
809
779
  esac
810
780
  exit ;;
811
781
  i*:CYGWIN*:*)
@@ -814,34 +784,28 @@ EOF
814
784
  *:MINGW*:*)
815
785
  echo ${UNAME_MACHINE}-pc-mingw32
816
786
  exit ;;
817
- i*:MSYS*:*)
818
- echo ${UNAME_MACHINE}-pc-msys
819
- exit ;;
820
787
  i*:windows32*:*)
821
- # uname -m includes "-pc" on this system.
822
- echo ${UNAME_MACHINE}-mingw32
788
+ # uname -m includes "-pc" on this system.
789
+ echo ${UNAME_MACHINE}-mingw32
823
790
  exit ;;
824
791
  i*:PW*:*)
825
792
  echo ${UNAME_MACHINE}-pc-pw32
826
793
  exit ;;
827
- *:Interix*:*)
828
- case ${UNAME_MACHINE} in
794
+ *:Interix*:[3456]*)
795
+ case ${UNAME_MACHINE} in
829
796
  x86)
830
797
  echo i586-pc-interix${UNAME_RELEASE}
831
798
  exit ;;
832
- authenticamd | genuineintel | EM64T)
833
- echo x86_64-${VENDOR}-interix${UNAME_RELEASE}
799
+ EM64T | authenticamd)
800
+ echo x86_64-unknown-interix${UNAME_RELEASE}
834
801
  exit ;;
835
802
  IA64)
836
- echo ia64-${VENDOR}-interix${UNAME_RELEASE}
803
+ echo ia64-unknown-interix${UNAME_RELEASE}
837
804
  exit ;;
838
805
  esac ;;
839
806
  [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*)
840
807
  echo i${UNAME_MACHINE}-pc-mks
841
808
  exit ;;
842
- 8664:Windows_NT:*)
843
- echo x86_64-pc-mks
844
- exit ;;
845
809
  i*:Windows_NT*:* | Pentium*:Windows_NT*:*)
846
810
  # How do we know it's Interix rather than the generic POSIX subsystem?
847
811
  # It also conflicts with pre-2.0 versions of AT&T UWIN. Should we
@@ -852,163 +816,220 @@ EOF
852
816
  echo ${UNAME_MACHINE}-pc-uwin
853
817
  exit ;;
854
818
  amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*)
855
- echo x86_64-${VENDOR}-cygwin
819
+ echo x86_64-unknown-cygwin
856
820
  exit ;;
857
821
  p*:CYGWIN*:*)
858
- echo powerpcle-${VENDOR}-cygwin
822
+ echo powerpcle-unknown-cygwin
859
823
  exit ;;
860
824
  prep*:SunOS:5.*:*)
861
- echo powerpcle-${VENDOR}-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
825
+ echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
862
826
  exit ;;
863
827
  *:GNU:*:*)
864
828
  # the GNU system
865
- echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-${VENDOR}-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'`
829
+ echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'`
866
830
  exit ;;
867
831
  *:GNU/*:*:*)
868
832
  # other systems with GNU libc and userland
869
- echo ${UNAME_MACHINE}-${VENDOR}-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-gnu
833
+ echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-gnu
870
834
  exit ;;
871
835
  i*86:Minix:*:*)
872
836
  echo ${UNAME_MACHINE}-pc-minix
873
837
  exit ;;
874
- aarch64:Linux:*:*)
875
- echo ${UNAME_MACHINE}-${VENDOR}-linux-gnu
876
- exit ;;
877
- aarch64_be:Linux:*:*)
878
- UNAME_MACHINE=aarch64_be
879
- echo ${UNAME_MACHINE}-${VENDOR}-linux-gnu
880
- exit ;;
881
- alpha:Linux:*:*)
882
- case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in
883
- EV5) UNAME_MACHINE=alphaev5 ;;
884
- EV56) UNAME_MACHINE=alphaev56 ;;
885
- PCA56) UNAME_MACHINE=alphapca56 ;;
886
- PCA57) UNAME_MACHINE=alphapca56 ;;
887
- EV6) UNAME_MACHINE=alphaev6 ;;
888
- EV67) UNAME_MACHINE=alphaev67 ;;
889
- EV68*) UNAME_MACHINE=alphaev68 ;;
890
- esac
891
- objdump --private-headers /bin/sh | grep -q ld.so.1
892
- if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi
893
- echo ${UNAME_MACHINE}-${VENDOR}-linux-gnu${LIBC}
894
- exit ;;
895
838
  arm*:Linux:*:*)
896
839
  eval $set_cc_for_build
897
840
  if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \
898
841
  | grep -q __ARM_EABI__
899
842
  then
900
- echo ${UNAME_MACHINE}-${VENDOR}-linux-gnu
843
+ echo ${UNAME_MACHINE}-unknown-linux-gnu
901
844
  else
902
- if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \
903
- | grep -q __ARM_PCS_VFP
904
- then
905
- echo ${UNAME_MACHINE}-${VENDOR}-linux-gnueabi
906
- else
907
- echo ${UNAME_MACHINE}-${VENDOR}-linux-gnueabihf
908
- fi
845
+ echo ${UNAME_MACHINE}-unknown-linux-gnueabi
909
846
  fi
910
847
  exit ;;
911
848
  avr32*:Linux:*:*)
912
- echo ${UNAME_MACHINE}-${VENDOR}-linux-gnu
849
+ echo ${UNAME_MACHINE}-unknown-linux-gnu
913
850
  exit ;;
914
851
  cris:Linux:*:*)
915
- echo ${UNAME_MACHINE}-axis-linux-gnu
852
+ echo cris-axis-linux-gnu
916
853
  exit ;;
917
854
  crisv32:Linux:*:*)
918
- echo ${UNAME_MACHINE}-axis-linux-gnu
855
+ echo crisv32-axis-linux-gnu
919
856
  exit ;;
920
857
  frv:Linux:*:*)
921
- echo ${UNAME_MACHINE}-${VENDOR}-linux-gnu
922
- exit ;;
923
- hexagon:Linux:*:*)
924
- echo ${UNAME_MACHINE}-${VENDOR}-linux-gnu
925
- exit ;;
926
- i*86:Linux:*:*)
927
- LIBC=gnu
928
- eval $set_cc_for_build
929
- sed 's/^ //' << EOF >$dummy.c
930
- #ifdef __dietlibc__
931
- LIBC=dietlibc
932
- #endif
933
- EOF
934
- eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^LIBC'`
935
- echo "${UNAME_MACHINE}-pc-linux-${LIBC}"
858
+ echo frv-unknown-linux-gnu
936
859
  exit ;;
937
860
  ia64:Linux:*:*)
938
- echo ${UNAME_MACHINE}-${VENDOR}-linux-gnu
861
+ echo ${UNAME_MACHINE}-unknown-linux-gnu
939
862
  exit ;;
940
863
  m32r*:Linux:*:*)
941
- echo ${UNAME_MACHINE}-${VENDOR}-linux-gnu
864
+ echo ${UNAME_MACHINE}-unknown-linux-gnu
942
865
  exit ;;
943
866
  m68*:Linux:*:*)
944
- echo ${UNAME_MACHINE}-${VENDOR}-linux-gnu
867
+ echo ${UNAME_MACHINE}-unknown-linux-gnu
945
868
  exit ;;
946
- mips:Linux:*:* | mips64:Linux:*:*)
869
+ mips:Linux:*:*)
947
870
  eval $set_cc_for_build
948
871
  sed 's/^ //' << EOF >$dummy.c
949
872
  #undef CPU
950
- #undef ${UNAME_MACHINE}
951
- #undef ${UNAME_MACHINE}el
873
+ #undef mips
874
+ #undef mipsel
952
875
  #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
953
- CPU=${UNAME_MACHINE}el
876
+ CPU=mipsel
954
877
  #else
955
878
  #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
956
- CPU=${UNAME_MACHINE}
879
+ CPU=mips
957
880
  #else
958
881
  CPU=
959
882
  #endif
960
883
  #endif
961
884
  EOF
962
- eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^CPU'`
963
- test x"${CPU}" != x && { echo "${CPU}-${VENDOR}-linux-gnu"; exit; }
885
+ eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n '
886
+ /^CPU/{
887
+ s: ::g
888
+ p
889
+ }'`"
890
+ test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; }
891
+ ;;
892
+ mips64:Linux:*:*)
893
+ eval $set_cc_for_build
894
+ sed 's/^ //' << EOF >$dummy.c
895
+ #undef CPU
896
+ #undef mips64
897
+ #undef mips64el
898
+ #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
899
+ CPU=mips64el
900
+ #else
901
+ #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
902
+ CPU=mips64
903
+ #else
904
+ CPU=
905
+ #endif
906
+ #endif
907
+ EOF
908
+ eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n '
909
+ /^CPU/{
910
+ s: ::g
911
+ p
912
+ }'`"
913
+ test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; }
964
914
  ;;
965
915
  or32:Linux:*:*)
966
- echo ${UNAME_MACHINE}-${VENDOR}-linux-gnu
916
+ echo or32-unknown-linux-gnu
967
917
  exit ;;
968
- padre:Linux:*:*)
969
- echo sparc-${VENDOR}-linux-gnu
918
+ ppc:Linux:*:*)
919
+ echo powerpc-unknown-linux-gnu
970
920
  exit ;;
971
- parisc64:Linux:*:* | hppa64:Linux:*:*)
972
- echo hppa64-${VENDOR}-linux-gnu
921
+ ppc64:Linux:*:*)
922
+ echo powerpc64-unknown-linux-gnu
923
+ exit ;;
924
+ alpha:Linux:*:*)
925
+ case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in
926
+ EV5) UNAME_MACHINE=alphaev5 ;;
927
+ EV56) UNAME_MACHINE=alphaev56 ;;
928
+ PCA56) UNAME_MACHINE=alphapca56 ;;
929
+ PCA57) UNAME_MACHINE=alphapca56 ;;
930
+ EV6) UNAME_MACHINE=alphaev6 ;;
931
+ EV67) UNAME_MACHINE=alphaev67 ;;
932
+ EV68*) UNAME_MACHINE=alphaev68 ;;
933
+ esac
934
+ objdump --private-headers /bin/sh | grep ld.so.1 >/dev/null
935
+ if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi
936
+ echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC}
973
937
  exit ;;
974
938
  parisc:Linux:*:* | hppa:Linux:*:*)
975
939
  # Look for CPU level
976
940
  case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in
977
- PA7*) echo hppa1.1-${VENDOR}-linux-gnu ;;
978
- PA8*) echo hppa2.0-${VENDOR}-linux-gnu ;;
979
- *) echo hppa-${VENDOR}-linux-gnu ;;
941
+ PA7*) echo hppa1.1-unknown-linux-gnu ;;
942
+ PA8*) echo hppa2.0-unknown-linux-gnu ;;
943
+ *) echo hppa-unknown-linux-gnu ;;
980
944
  esac
981
945
  exit ;;
982
- ppc64:Linux:*:*)
983
- echo powerpc64-${VENDOR}-linux-gnu
984
- exit ;;
985
- ppc:Linux:*:*)
986
- echo powerpc-${VENDOR}-linux-gnu
946
+ parisc64:Linux:*:* | hppa64:Linux:*:*)
947
+ echo hppa64-unknown-linux-gnu
987
948
  exit ;;
988
949
  s390:Linux:*:* | s390x:Linux:*:*)
989
950
  echo ${UNAME_MACHINE}-ibm-linux
990
951
  exit ;;
991
952
  sh64*:Linux:*:*)
992
- echo ${UNAME_MACHINE}-${VENDOR}-linux-gnu
953
+ echo ${UNAME_MACHINE}-unknown-linux-gnu
993
954
  exit ;;
994
955
  sh*:Linux:*:*)
995
- echo ${UNAME_MACHINE}-${VENDOR}-linux-gnu
956
+ echo ${UNAME_MACHINE}-unknown-linux-gnu
996
957
  exit ;;
997
958
  sparc:Linux:*:* | sparc64:Linux:*:*)
998
- echo ${UNAME_MACHINE}-${VENDOR}-linux-gnu
999
- exit ;;
1000
- tile*:Linux:*:*)
1001
- echo ${UNAME_MACHINE}-${VENDOR}-linux-gnu
959
+ echo ${UNAME_MACHINE}-unknown-linux-gnu
1002
960
  exit ;;
1003
961
  vax:Linux:*:*)
1004
962
  echo ${UNAME_MACHINE}-dec-linux-gnu
1005
963
  exit ;;
1006
964
  x86_64:Linux:*:*)
1007
- echo ${UNAME_MACHINE}-${VENDOR}-linux-gnu
965
+ echo x86_64-unknown-linux-gnu
1008
966
  exit ;;
1009
967
  xtensa*:Linux:*:*)
1010
- echo ${UNAME_MACHINE}-${VENDOR}-linux-gnu
968
+ echo ${UNAME_MACHINE}-unknown-linux-gnu
1011
969
  exit ;;
970
+ i*86:Linux:*:*)
971
+ # The BFD linker knows what the default object file format is, so
972
+ # first see if it will tell us. cd to the root directory to prevent
973
+ # problems with other programs or directories called `ld' in the path.
974
+ # Set LC_ALL=C to ensure ld outputs messages in English.
975
+ ld_supported_targets=`cd /; LC_ALL=C ld --help 2>&1 \
976
+ | sed -ne '/supported targets:/!d
977
+ s/[ ][ ]*/ /g
978
+ s/.*supported targets: *//
979
+ s/ .*//
980
+ p'`
981
+ case "$ld_supported_targets" in
982
+ elf32-i386)
983
+ TENTATIVE="${UNAME_MACHINE}-pc-linux-gnu"
984
+ ;;
985
+ a.out-i386-linux)
986
+ echo "${UNAME_MACHINE}-pc-linux-gnuaout"
987
+ exit ;;
988
+ coff-i386)
989
+ echo "${UNAME_MACHINE}-pc-linux-gnucoff"
990
+ exit ;;
991
+ "")
992
+ # Either a pre-BFD a.out linker (linux-gnuoldld) or
993
+ # one that does not give us useful --help.
994
+ echo "${UNAME_MACHINE}-pc-linux-gnuoldld"
995
+ exit ;;
996
+ esac
997
+ # Determine whether the default compiler is a.out or elf
998
+ eval $set_cc_for_build
999
+ sed 's/^ //' << EOF >$dummy.c
1000
+ #include <features.h>
1001
+ #ifdef __ELF__
1002
+ # ifdef __GLIBC__
1003
+ # if __GLIBC__ >= 2
1004
+ LIBC=gnu
1005
+ # else
1006
+ LIBC=gnulibc1
1007
+ # endif
1008
+ # else
1009
+ LIBC=gnulibc1
1010
+ # endif
1011
+ #else
1012
+ #if defined(__INTEL_COMPILER) || defined(__PGI) || defined(__SUNPRO_C) || defined(__SUNPRO_CC)
1013
+ LIBC=gnu
1014
+ #else
1015
+ LIBC=gnuaout
1016
+ #endif
1017
+ #endif
1018
+ #ifdef __dietlibc__
1019
+ LIBC=dietlibc
1020
+ #endif
1021
+ EOF
1022
+ eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n '
1023
+ /^LIBC/{
1024
+ s: ::g
1025
+ p
1026
+ }'`"
1027
+ test x"${LIBC}" != x && {
1028
+ echo "${UNAME_MACHINE}-pc-linux-${LIBC}"
1029
+ exit
1030
+ }
1031
+ test x"${TENTATIVE}" != x && { echo "${TENTATIVE}"; exit; }
1032
+ ;;
1012
1033
  i*86:DYNIX/ptx:4*:*)
1013
1034
  # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there.
1014
1035
  # earlier versions are messed up and put the nodename in both
@@ -1016,11 +1037,11 @@ EOF
1016
1037
  echo i386-sequent-sysv4
1017
1038
  exit ;;
1018
1039
  i*86:UNIX_SV:4.2MP:2.*)
1019
- # Unixware is an offshoot of SVR4, but it has its own version
1020
- # number series starting with 2...
1021
- # I am not positive that other SVR4 systems won't match this,
1040
+ # Unixware is an offshoot of SVR4, but it has its own version
1041
+ # number series starting with 2...
1042
+ # I am not positive that other SVR4 systems won't match this,
1022
1043
  # I just have to hope. -- rms.
1023
- # Use sysv4.2uw... so that sysv4* matches it.
1044
+ # Use sysv4.2uw... so that sysv4* matches it.
1024
1045
  echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION}
1025
1046
  exit ;;
1026
1047
  i*86:OS/2:*:*)
@@ -1029,16 +1050,16 @@ EOF
1029
1050
  echo ${UNAME_MACHINE}-pc-os2-emx
1030
1051
  exit ;;
1031
1052
  i*86:XTS-300:*:STOP)
1032
- echo ${UNAME_MACHINE}-${VENDOR}-stop
1053
+ echo ${UNAME_MACHINE}-unknown-stop
1033
1054
  exit ;;
1034
1055
  i*86:atheos:*:*)
1035
- echo ${UNAME_MACHINE}-${VENDOR}-atheos
1056
+ echo ${UNAME_MACHINE}-unknown-atheos
1036
1057
  exit ;;
1037
1058
  i*86:syllable:*:*)
1038
1059
  echo ${UNAME_MACHINE}-pc-syllable
1039
1060
  exit ;;
1040
- i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.[02]*:*)
1041
- echo i386-${VENODR}-lynxos${UNAME_RELEASE}
1061
+ i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.0*:*)
1062
+ echo i386-unknown-lynxos${UNAME_RELEASE}
1042
1063
  exit ;;
1043
1064
  i*86:*DOS:*:*)
1044
1065
  echo ${UNAME_MACHINE}-pc-msdosdjgpp
@@ -1052,13 +1073,13 @@ EOF
1052
1073
  fi
1053
1074
  exit ;;
1054
1075
  i*86:*:5:[678]*)
1055
- # UnixWare 7.x, OpenUNIX and OpenServer 6.
1076
+ # UnixWare 7.x, OpenUNIX and OpenServer 6.
1056
1077
  case `/bin/uname -X | grep "^Machine"` in
1057
1078
  *486*) UNAME_MACHINE=i486 ;;
1058
1079
  *Pentium) UNAME_MACHINE=i586 ;;
1059
1080
  *Pent*|*Celeron) UNAME_MACHINE=i686 ;;
1060
1081
  esac
1061
- echo ${UNAME_MACHINE}-${VENDOR}-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION}
1082
+ echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION}
1062
1083
  exit ;;
1063
1084
  i*86:*:3.2:*)
1064
1085
  if test -f /usr/options/cb.name; then
@@ -1080,13 +1101,10 @@ EOF
1080
1101
  exit ;;
1081
1102
  pc:*:*:*)
1082
1103
  # Left here for compatibility:
1083
- # uname -m prints for DJGPP always 'pc', but it prints nothing about
1084
- # the processor, so we play safe by assuming i586.
1085
- # Note: whatever this is, it MUST be the same as what config.sub
1086
- # prints for the "djgpp" host, or else GDB configury will decide that
1087
- # this is a cross-build.
1088
- echo i586-pc-msdosdjgpp
1089
- exit ;;
1104
+ # uname -m prints for DJGPP always 'pc', but it prints nothing about
1105
+ # the processor, so we play safe by assuming i386.
1106
+ echo i386-pc-msdosdjgpp
1107
+ exit ;;
1090
1108
  Intel:Mach:3*:*)
1091
1109
  echo i386-pc-mach3
1092
1110
  exit ;;
@@ -1097,7 +1115,7 @@ EOF
1097
1115
  if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then
1098
1116
  echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4
1099
1117
  else # Add other i860-SVR4 vendors below as they are discovered.
1100
- echo i860-${VENODR}-sysv${UNAME_RELEASE} # Unknown i860-SVR4
1118
+ echo i860-unknown-sysv${UNAME_RELEASE} # Unknown i860-SVR4
1101
1119
  fi
1102
1120
  exit ;;
1103
1121
  mini*:CTIX:SYS*5:*)
@@ -1121,32 +1139,22 @@ EOF
1121
1139
  /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
1122
1140
  && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;;
1123
1141
  3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*)
1124
- /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
1125
- && { echo i486-ncr-sysv4; exit; } ;;
1126
- NCR*:*:4.2:* | MPRAS*:*:4.2:*)
1127
- OS_REL='.3'
1128
- test -r /etc/.relid \
1129
- && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
1130
- /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
1131
- && { echo i486-ncr-sysv4.3${OS_REL}; exit; }
1132
- /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
1133
- && { echo i586-ncr-sysv4.3${OS_REL}; exit; }
1134
- /bin/uname -p 2>/dev/null | /bin/grep pteron >/dev/null \
1135
- && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;;
1142
+ /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
1143
+ && { echo i486-ncr-sysv4; exit; } ;;
1136
1144
  m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*)
1137
- echo m68k-${VENDOR}-lynxos${UNAME_RELEASE}
1145
+ echo m68k-unknown-lynxos${UNAME_RELEASE}
1138
1146
  exit ;;
1139
1147
  mc68030:UNIX_System_V:4.*:*)
1140
1148
  echo m68k-atari-sysv4
1141
1149
  exit ;;
1142
1150
  TSUNAMI:LynxOS:2.*:*)
1143
- echo sparc-${VENDOR}-lynxos${UNAME_RELEASE}
1151
+ echo sparc-unknown-lynxos${UNAME_RELEASE}
1144
1152
  exit ;;
1145
1153
  rs6000:LynxOS:2.*:*)
1146
- echo rs6000-${VENDOR}-lynxos${UNAME_RELEASE}
1154
+ echo rs6000-unknown-lynxos${UNAME_RELEASE}
1147
1155
  exit ;;
1148
- PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.[02]*:*)
1149
- echo powerpc-${VENDOR}-lynxos${UNAME_RELEASE}
1156
+ PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.0*:*)
1157
+ echo powerpc-unknown-lynxos${UNAME_RELEASE}
1150
1158
  exit ;;
1151
1159
  SM[BE]S:UNIX_SV:*:*)
1152
1160
  echo mips-dde-sysv${UNAME_RELEASE}
@@ -1165,10 +1173,10 @@ EOF
1165
1173
  echo ns32k-sni-sysv
1166
1174
  fi
1167
1175
  exit ;;
1168
- PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort
1169
- # says <Richard.M.Bartel@ccMail.Census.GOV>
1170
- echo i586-unisys-sysv4
1171
- exit ;;
1176
+ PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort
1177
+ # says <Richard.M.Bartel@ccMail.Census.GOV>
1178
+ echo i586-unisys-sysv4
1179
+ exit ;;
1172
1180
  *:UNIX_System_V:4*:FTX*)
1173
1181
  # From Gerald Hewes <hewes@openmarket.com>.
1174
1182
  # How about differentiating between stratus architectures? -djm
@@ -1194,11 +1202,11 @@ EOF
1194
1202
  exit ;;
1195
1203
  R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*)
1196
1204
  if [ -d /usr/nec ]; then
1197
- echo mips-nec-sysv${UNAME_RELEASE}
1205
+ echo mips-nec-sysv${UNAME_RELEASE}
1198
1206
  else
1199
- echo mips-${VENDOR}-sysv${UNAME_RELEASE}
1207
+ echo mips-unknown-sysv${UNAME_RELEASE}
1200
1208
  fi
1201
- exit ;;
1209
+ exit ;;
1202
1210
  BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only.
1203
1211
  echo powerpc-be-beos
1204
1212
  exit ;;
@@ -1208,9 +1216,6 @@ EOF
1208
1216
  BePC:BeOS:*:*) # BeOS running on Intel PC compatible.
1209
1217
  echo i586-pc-beos
1210
1218
  exit ;;
1211
- BePC:Haiku:*:*) # Haiku running on Intel PC compatible.
1212
- echo i586-pc-haiku
1213
- exit ;;
1214
1219
  SX-4:SUPER-UX:*:*)
1215
1220
  echo sx4-nec-superux${UNAME_RELEASE}
1216
1221
  exit ;;
@@ -1238,16 +1243,6 @@ EOF
1238
1243
  *:Darwin:*:*)
1239
1244
  UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown
1240
1245
  case $UNAME_PROCESSOR in
1241
- i386)
1242
- eval $set_cc_for_build
1243
- if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then
1244
- if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \
1245
- (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \
1246
- grep IS_64BIT_ARCH >/dev/null
1247
- then
1248
- UNAME_PROCESSOR="x86_64"
1249
- fi
1250
- fi ;;
1251
1246
  unknown) UNAME_PROCESSOR=powerpc ;;
1252
1247
  esac
1253
1248
  echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE}
@@ -1263,9 +1258,6 @@ EOF
1263
1258
  *:QNX:*:4*)
1264
1259
  echo i386-pc-qnx
1265
1260
  exit ;;
1266
- NEO-?:NONSTOP_KERNEL:*:*)
1267
- echo neo-tandem-nsk${UNAME_RELEASE}
1268
- exit ;;
1269
1261
  NSE-?:NONSTOP_KERNEL:*:*)
1270
1262
  echo nse-tandem-nsk${UNAME_RELEASE}
1271
1263
  exit ;;
@@ -1290,13 +1282,13 @@ EOF
1290
1282
  else
1291
1283
  UNAME_MACHINE="$cputype"
1292
1284
  fi
1293
- echo ${UNAME_MACHINE}-${VENDOR}-plan9
1285
+ echo ${UNAME_MACHINE}-unknown-plan9
1294
1286
  exit ;;
1295
1287
  *:TOPS-10:*:*)
1296
- echo pdp10-${VENDOR}-tops10
1288
+ echo pdp10-unknown-tops10
1297
1289
  exit ;;
1298
1290
  *:TENEX:*:*)
1299
- echo pdp10-${VENDOR}-tenex
1291
+ echo pdp10-unknown-tenex
1300
1292
  exit ;;
1301
1293
  KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*)
1302
1294
  echo pdp10-dec-tops20
@@ -1305,19 +1297,19 @@ EOF
1305
1297
  echo pdp10-xkl-tops20
1306
1298
  exit ;;
1307
1299
  *:TOPS-20:*:*)
1308
- echo pdp10-${VENDOR}-tops20
1300
+ echo pdp10-unknown-tops20
1309
1301
  exit ;;
1310
1302
  *:ITS:*:*)
1311
- echo pdp10-${VENDOR}-its
1303
+ echo pdp10-unknown-its
1312
1304
  exit ;;
1313
1305
  SEI:*:*:SEIUX)
1314
- echo mips-sei-seiux${UNAME_RELEASE}
1306
+ echo mips-sei-seiux${UNAME_RELEASE}
1315
1307
  exit ;;
1316
1308
  *:DragonFly:*:*)
1317
- echo ${UNAME_MACHINE}-${VENDOR}-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
1309
+ echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
1318
1310
  exit ;;
1319
1311
  *:*VMS:*:*)
1320
- UNAME_MACHINE=`(uname -p) 2>/dev/null`
1312
+ UNAME_MACHINE=`(uname -p) 2>/dev/null`
1321
1313
  case "${UNAME_MACHINE}" in
1322
1314
  A*) echo alpha-dec-vms ; exit ;;
1323
1315
  I*) echo ia64-dec-vms ; exit ;;
@@ -1332,12 +1324,6 @@ EOF
1332
1324
  i*86:rdos:*:*)
1333
1325
  echo ${UNAME_MACHINE}-pc-rdos
1334
1326
  exit ;;
1335
- i*86:AROS:*:*)
1336
- echo ${UNAME_MACHINE}-pc-aros
1337
- exit ;;
1338
- x86_64:VMkernel:*:*)
1339
- echo ${UNAME_MACHINE}-${VENDOR}-esx
1340
- exit ;;
1341
1327
  esac
1342
1328
 
1343
1329
  #echo '(No uname command or uname output not recognized.)' 1>&2
@@ -1360,11 +1346,11 @@ main ()
1360
1346
  #include <sys/param.h>
1361
1347
  printf ("m68k-sony-newsos%s\n",
1362
1348
  #ifdef NEWSOS4
1363
- "4"
1349
+ "4"
1364
1350
  #else
1365
- ""
1351
+ ""
1366
1352
  #endif
1367
- ); exit (0);
1353
+ ); exit (0);
1368
1354
  #endif
1369
1355
  #endif
1370
1356