passenger 4.0.5 → 4.0.6

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 (162) hide show
  1. data.tar.gz.asc +7 -7
  2. data/.travis.yml +1 -2
  3. data/CONTRIBUTING.md +20 -5
  4. data/CONTRIBUTORS +67 -0
  5. data/LICENSE +1 -1
  6. data/NEWS +48 -0
  7. data/Rakefile +2 -2
  8. data/bin/passenger-config +18 -0
  9. data/bin/passenger-install-apache2-module +2 -0
  10. data/bin/passenger-install-nginx-module +11 -12
  11. data/bin/passenger-memory-stats +2 -0
  12. data/bin/passenger-status +152 -69
  13. data/build/agents.rb +1 -5
  14. data/build/basics.rb +26 -13
  15. data/build/cplusplus_support.rb +9 -0
  16. data/build/debian.rb +129 -0
  17. data/build/documentation.rb +6 -2
  18. data/build/integration_tests.rb +13 -2
  19. data/build/misc.rb +16 -0
  20. data/build/packaging.rb +67 -51
  21. data/build/preprocessor.rb +314 -0
  22. data/build/test_basics.rb +1 -0
  23. data/{debian → debian.template}/README.Debian +0 -0
  24. data/{debian → debian.template}/changelog +131 -0
  25. data/debian.template/compat +1 -0
  26. data/debian.template/control +71 -0
  27. data/debian.template/copyright +385 -0
  28. data/debian.template/libapache2-mod-passenger.install +3 -0
  29. data/{debian → debian.template}/libapache2-mod-passenger.postinst +0 -0
  30. data/{debian → debian.template}/libapache2-mod-passenger.prerm +0 -0
  31. data/debian.template/locations.ini +12 -0
  32. data/debian.template/passenger.conf +4 -0
  33. data/{debian → debian.template}/passenger.load +0 -0
  34. data/debian.template/patches/series +0 -0
  35. data/debian.template/repack.sh +42 -0
  36. data/debian.template/ruby-passenger-dev.install +3 -0
  37. data/debian.template/ruby-passenger-doc.install +2 -0
  38. data/debian.template/ruby-passenger.docs +4 -0
  39. data/debian.template/ruby-passenger.install +11 -0
  40. data/debian.template/ruby-passenger.manpages +4 -0
  41. data/debian.template/rules.template +35 -0
  42. data/debian.template/source/format +1 -0
  43. data/debian.template/watch +3 -0
  44. data/dev/run_travis.sh +46 -46
  45. data/doc/Architectural overview.html +2 -2
  46. data/doc/Packaging.html +27 -18
  47. data/doc/Packaging.txt.md +27 -18
  48. data/doc/Security of user switching support.html +2 -2
  49. data/doc/Users guide Apache.html +881 -95
  50. data/doc/Users guide Apache.idmap.txt +48 -6
  51. data/doc/Users guide Apache.txt +13 -1
  52. data/doc/Users guide Nginx.html +1063 -190
  53. data/doc/Users guide Nginx.idmap.txt +89 -45
  54. data/doc/Users guide Nginx.txt +45 -0
  55. data/doc/Users guide Standalone.html +7 -7
  56. data/doc/users_guide_snippets/alternative_for_flying_passenger.txt +1 -0
  57. data/doc/users_guide_snippets/environment_variables.txt +221 -0
  58. data/doc/users_guide_snippets/installation.txt +66 -17
  59. data/doc/users_guide_snippets/support_information.txt +3 -3
  60. data/doc/users_guide_snippets/tips.txt +352 -40
  61. data/ext/common/Account.h +4 -3
  62. data/ext/common/AccountsDatabase.h +6 -6
  63. data/ext/common/AgentsStarter.h +1 -13
  64. data/ext/common/ApplicationPool2/DirectSpawner.h +4 -4
  65. data/ext/common/ApplicationPool2/DummySpawner.h +1 -1
  66. data/ext/common/ApplicationPool2/Group.h +9 -4
  67. data/ext/common/ApplicationPool2/Implementation.cpp +6 -1
  68. data/ext/common/ApplicationPool2/Options.h +65 -37
  69. data/ext/common/ApplicationPool2/Pool.h +91 -41
  70. data/ext/common/ApplicationPool2/Process.h +6 -6
  71. data/ext/common/ApplicationPool2/SmartSpawner.h +14 -14
  72. data/ext/common/ApplicationPool2/Socket.h +1 -1
  73. data/ext/common/ApplicationPool2/Spawner.h +24 -16
  74. data/ext/common/ApplicationPool2/SpawnerFactory.h +9 -1
  75. data/ext/common/ApplicationPool2/SuperGroup.h +1 -1
  76. data/ext/common/Constants.h +1 -1
  77. data/ext/common/Logging.cpp +12 -7
  78. data/ext/common/MessageServer.h +7 -12
  79. data/ext/common/MultiLibeio.cpp +5 -5
  80. data/ext/common/ResourceLocator.h +2 -6
  81. data/ext/common/ServerInstanceDir.h +37 -10
  82. data/ext/common/UnionStation.h +10 -10
  83. data/ext/common/Utils.cpp +30 -4
  84. data/ext/common/Utils.h +7 -0
  85. data/ext/common/Utils/BlockingQueue.h +2 -2
  86. data/ext/common/Utils/Lock.h +2 -2
  87. data/ext/common/Utils/MessagePassing.h +2 -2
  88. data/ext/common/Utils/Timer.h +4 -4
  89. data/ext/common/agents/HelperAgent/AgentOptions.h +2 -0
  90. data/ext/common/agents/HelperAgent/Main.cpp +57 -16
  91. data/ext/common/agents/HelperAgent/RequestHandler.h +4 -1
  92. data/ext/common/agents/LoggingAgent/AdminController.h +91 -0
  93. data/ext/common/agents/LoggingAgent/LoggingServer.h +46 -29
  94. data/ext/common/agents/LoggingAgent/Main.cpp +43 -16
  95. data/ext/common/agents/LoggingAgent/RemoteSender.h +7 -7
  96. data/ext/common/agents/Watchdog/AgentWatcher.cpp +11 -11
  97. data/ext/common/agents/Watchdog/LoggingAgentWatcher.cpp +3 -1
  98. data/ext/common/agents/Watchdog/Main.cpp +62 -0
  99. data/ext/libeio/config.guess +206 -167
  100. data/ext/libeio/config.sub +142 -68
  101. data/ext/libev/config.guess +304 -290
  102. data/ext/libev/config.sub +198 -77
  103. data/ext/nginx/config +4 -0
  104. data/ext/nginx/ngx_http_passenger_module.c +1 -0
  105. data/ext/oxt/implementation.cpp +4 -4
  106. data/lib/phusion_passenger.rb +14 -5
  107. data/lib/phusion_passenger/abstract_installer.rb +41 -0
  108. data/lib/phusion_passenger/admin_tools/server_instance.rb +48 -39
  109. data/lib/phusion_passenger/message_client.rb +31 -7
  110. data/lib/phusion_passenger/native_support.rb +35 -12
  111. data/lib/phusion_passenger/packaging.rb +16 -2
  112. data/lib/phusion_passenger/platform_info/binary_compatibility.rb +6 -31
  113. data/lib/phusion_passenger/platform_info/operating_system.rb +1 -1
  114. data/lib/phusion_passenger/preloader_shared_helpers.rb +3 -1
  115. data/lib/phusion_passenger/request_handler.rb +1 -1
  116. data/lib/phusion_passenger/standalone/command.rb +6 -6
  117. data/lib/phusion_passenger/standalone/main.rb +23 -8
  118. data/lib/phusion_passenger/standalone/package_runtime_command.rb +9 -5
  119. data/lib/phusion_passenger/standalone/runtime_installer.rb +9 -10
  120. data/lib/phusion_passenger/standalone/start_command.rb +20 -4
  121. data/resources/templates/installer_common/freebsd9_broken_cxx_runtime.txt.erb +19 -0
  122. data/resources/templates/installer_common/low_amount_of_memory_warning.txt.erb +22 -0
  123. data/resources/templates/standalone/config.erb +3 -2
  124. data/test/cxx/ApplicationPool2/DirectSpawnerTest.cpp +4 -4
  125. data/test/cxx/ApplicationPool2/PoolTest.cpp +1 -1
  126. data/test/cxx/ApplicationPool2/SmartSpawnerTest.cpp +7 -7
  127. data/test/cxx/ApplicationPool2/SpawnerTestCases.cpp +9 -9
  128. data/test/cxx/EventedBufferedInputTest.cpp +17 -17
  129. data/test/cxx/RequestHandlerTest.cpp +5 -5
  130. data/test/cxx/ServerInstanceDirTest.cpp +3 -1
  131. data/test/cxx/TestSupport.h +4 -4
  132. data/test/cxx/UnionStationTest.cpp +3 -1
  133. data/test/cxx/UtilsTest.cpp +2 -0
  134. data/test/integration_tests/apache2_tests.rb +2 -2
  135. data/test/integration_tests/native_packaging_spec.rb +170 -0
  136. data/test/ruby/spec_helper.rb +0 -1
  137. data/test/stub/apache2/httpd.conf.erb +1 -1
  138. data/test/stub/nginx/nginx.conf.erb +1 -0
  139. data/test/support/apache2_controller.rb +1 -1
  140. data/test/support/placebo-preloader.rb +1 -1
  141. data/test/support/test_helper.rb +5 -2
  142. metadata +32 -26
  143. metadata.gz.asc +7 -7
  144. data/debian/compat +0 -1
  145. data/debian/control +0 -49
  146. data/debian/copyright +0 -20
  147. data/debian/libapache2-mod-passenger.install +0 -1
  148. data/debian/passenger-common.install +0 -4
  149. data/debian/passenger.conf +0 -4
  150. data/debian/prerm +0 -2
  151. data/debian/rules +0 -37
  152. data/debian/watch +0 -3
  153. data/dev/googlecode_upload.py +0 -265
  154. data/ext/common/agents/HelperAgent/BacktracesServer.h +0 -60
  155. data/resources/templates/nginx/not_available_when_natively_packaged.txt.erb +0 -8
  156. data/test/stub/rails3.1/app/assets/javascripts/application.js +0 -9
  157. data/test/stub/rails3.2/app/assets/javascripts/application.js +0 -15
  158. data/test/stub/rails_apps/2.3/mycook/public/javascripts/application.js +0 -2
  159. data/test/stub/rails_apps/2.3/mycook/public/javascripts/controls.js +0 -963
  160. data/test/stub/rails_apps/2.3/mycook/public/javascripts/dragdrop.js +0 -973
  161. data/test/stub/rails_apps/2.3/mycook/public/javascripts/effects.js +0 -1128
  162. data/test/stub/rails_apps/2.3/mycook/public/javascripts/prototype.js +0 -4320
@@ -1,10 +1,10 @@
1
1
  #! /bin/sh
2
2
  # Configuration validation subroutine script.
3
3
  # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
4
- # 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008
5
- # Free Software Foundation, Inc.
4
+ # 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010,
5
+ # 2011, 2012 Free Software Foundation, Inc.
6
6
 
7
- timestamp='2008-01-16'
7
+ timestamp='2012-04-18'
8
8
 
9
9
  # This file is (in principle) common to ALL GNU software.
10
10
  # The presence of a machine in this file suggests that SOME GNU software
@@ -21,9 +21,7 @@ timestamp='2008-01-16'
21
21
  # GNU General Public License for more details.
22
22
  #
23
23
  # You should have received a copy of the GNU General Public License
24
- # along with this program; if not, write to the Free Software
25
- # Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA
26
- # 02110-1301, USA.
24
+ # along with this program; if not, see <http://www.gnu.org/licenses/>.
27
25
  #
28
26
  # As a special exception to the GNU General Public License, if you
29
27
  # distribute this file as part of a program that contains a
@@ -32,13 +30,16 @@ timestamp='2008-01-16'
32
30
 
33
31
 
34
32
  # Please send patches to <config-patches@gnu.org>. Submit a context
35
- # diff and a properly formatted ChangeLog entry.
33
+ # diff and a properly formatted GNU ChangeLog entry.
36
34
  #
37
35
  # Configuration subroutine to validate and canonicalize a configuration type.
38
36
  # Supply the specified configuration type as an argument.
39
37
  # If it is invalid, we print an error message on stderr and exit with code 1.
40
38
  # Otherwise, we print the canonical config type on stdout and succeed.
41
39
 
40
+ # You can get the latest version of this script from:
41
+ # http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD
42
+
42
43
  # This file is supposed to be the same for all GNU packages
43
44
  # and recognize all the CPU types, system types and aliases
44
45
  # that are meaningful with *any* GNU software.
@@ -72,8 +73,9 @@ Report bugs and patches to <config-patches@gnu.org>."
72
73
  version="\
73
74
  GNU config.sub ($timestamp)
74
75
 
75
- Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001,
76
- 2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
76
+ Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
77
+ 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012
78
+ Free Software Foundation, Inc.
77
79
 
78
80
  This is free software; see the source for copying conditions. There is NO
79
81
  warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
@@ -120,12 +122,18 @@ esac
120
122
  # Here we must recognize all the valid KERNEL-OS combinations.
121
123
  maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
122
124
  case $maybe_os in
123
- nto-qnx* | linux-gnu* | linux-dietlibc | linux-newlib* | linux-uclibc* | \
124
- uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* | \
125
+ nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \
126
+ linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \
127
+ knetbsd*-gnu* | netbsd*-gnu* | \
128
+ kopensolaris*-gnu* | \
125
129
  storm-chaos* | os2-emx* | rtmk-nova*)
126
130
  os=-$maybe_os
127
131
  basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
128
132
  ;;
133
+ android-linux)
134
+ os=-linux-android
135
+ basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`-unknown
136
+ ;;
129
137
  *)
130
138
  basic_machine=`echo $1 | sed 's/-[^-]*$//'`
131
139
  if [ $basic_machine != $1 ]
@@ -148,10 +156,13 @@ case $os in
148
156
  -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\
149
157
  -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \
150
158
  -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \
151
- -apple | -axis | -knuth | -cray)
159
+ -apple | -axis | -knuth | -cray | -microblaze)
152
160
  os=
153
161
  basic_machine=$1
154
162
  ;;
163
+ -bluegene*)
164
+ os=-cnk
165
+ ;;
155
166
  -sim | -cisco | -oki | -wec | -winbond)
156
167
  os=
157
168
  basic_machine=$1
@@ -166,10 +177,10 @@ case $os in
166
177
  os=-chorusos
167
178
  basic_machine=$1
168
179
  ;;
169
- -chorusrdb)
170
- os=-chorusrdb
180
+ -chorusrdb)
181
+ os=-chorusrdb
171
182
  basic_machine=$1
172
- ;;
183
+ ;;
173
184
  -hiux*)
174
185
  os=-hiuxwe2
175
186
  ;;
@@ -214,6 +225,12 @@ case $os in
214
225
  -isc*)
215
226
  basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
216
227
  ;;
228
+ -lynx*178)
229
+ os=-lynxos178
230
+ ;;
231
+ -lynx*5)
232
+ os=-lynxos5
233
+ ;;
217
234
  -lynx*)
218
235
  os=-lynxos
219
236
  ;;
@@ -238,24 +255,32 @@ case $basic_machine in
238
255
  # Some are omitted here because they have special meanings below.
239
256
  1750a | 580 \
240
257
  | a29k \
258
+ | aarch64 | aarch64_be \
241
259
  | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \
242
260
  | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
243
261
  | am33_2.0 \
244
262
  | arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr | avr32 \
263
+ | be32 | be64 \
245
264
  | bfin \
246
265
  | c4x | clipper \
247
266
  | d10v | d30v | dlx | dsp16xx \
267
+ | epiphany \
248
268
  | fido | fr30 | frv \
249
269
  | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
270
+ | hexagon \
250
271
  | i370 | i860 | i960 | ia64 \
251
272
  | ip2k | iq2000 \
273
+ | le32 | le64 \
274
+ | lm32 \
252
275
  | m32c | m32r | m32rle | m68000 | m68k | m88k \
253
- | maxq | mb | microblaze | mcore | mep \
276
+ | maxq | mb | microblaze | mcore | mep | metag \
254
277
  | mips | mipsbe | mipseb | mipsel | mipsle \
255
278
  | mips16 \
256
279
  | mips64 | mips64el \
257
- | mips64vr | mips64vrel \
280
+ | mips64octeon | mips64octeonel \
258
281
  | mips64orion | mips64orionel \
282
+ | mips64r5900 | mips64r5900el \
283
+ | mips64vr | mips64vrel \
259
284
  | mips64vr4100 | mips64vr4100el \
260
285
  | mips64vr4300 | mips64vr4300el \
261
286
  | mips64vr5000 | mips64vr5000el \
@@ -268,29 +293,42 @@ case $basic_machine in
268
293
  | mipsisa64sr71k | mipsisa64sr71kel \
269
294
  | mipstx39 | mipstx39el \
270
295
  | mn10200 | mn10300 \
296
+ | moxie \
271
297
  | mt \
272
298
  | msp430 \
299
+ | nds32 | nds32le | nds32be \
273
300
  | nios | nios2 \
274
301
  | ns16k | ns32k \
302
+ | open8 \
275
303
  | or32 \
276
304
  | pdp10 | pdp11 | pj | pjl \
277
- | powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \
305
+ | powerpc | powerpc64 | powerpc64le | powerpcle \
278
306
  | pyramid \
307
+ | rl78 | rx \
279
308
  | score \
280
- | sh | sh[1234] | sh[24]a | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
309
+ | sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
281
310
  | sh64 | sh64le \
282
311
  | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \
283
312
  | sparcv8 | sparcv9 | sparcv9b | sparcv9v \
284
- | spu | strongarm \
285
- | tahoe | thumb | tic4x | tic80 | tron \
286
- | v850 | v850e \
313
+ | spu \
314
+ | tahoe | tic4x | tic54x | tic55x | tic6x | tic80 | tron \
315
+ | ubicom32 \
316
+ | v850 | v850e | v850e1 | v850e2 | v850es | v850e2v3 \
287
317
  | we32k \
288
- | x86 | xc16x | xscale | xscalee[bl] | xstormy16 | xtensa \
289
- | z8k)
318
+ | x86 | xc16x | xstormy16 | xtensa \
319
+ | z8k | z80)
290
320
  basic_machine=$basic_machine-unknown
291
321
  ;;
292
- m6811 | m68hc11 | m6812 | m68hc12)
293
- # Motorola 68HC11/12.
322
+ c54x)
323
+ basic_machine=tic54x-unknown
324
+ ;;
325
+ c55x)
326
+ basic_machine=tic55x-unknown
327
+ ;;
328
+ c6x)
329
+ basic_machine=tic6x-unknown
330
+ ;;
331
+ m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x | picochip)
294
332
  basic_machine=$basic_machine-unknown
295
333
  os=-none
296
334
  ;;
@@ -300,6 +338,21 @@ case $basic_machine in
300
338
  basic_machine=mt-unknown
301
339
  ;;
302
340
 
341
+ strongarm | thumb | xscale)
342
+ basic_machine=arm-unknown
343
+ ;;
344
+ xgate)
345
+ basic_machine=$basic_machine-unknown
346
+ os=-none
347
+ ;;
348
+ xscaleeb)
349
+ basic_machine=armeb-unknown
350
+ ;;
351
+
352
+ xscaleel)
353
+ basic_machine=armel-unknown
354
+ ;;
355
+
303
356
  # We use `pc' rather than `unknown'
304
357
  # because (1) that's what they normally are, and
305
358
  # (2) the word "unknown" tends to confuse beginning users.
@@ -314,29 +367,36 @@ case $basic_machine in
314
367
  # Recognize the basic CPU types with company name.
315
368
  580-* \
316
369
  | a29k-* \
370
+ | aarch64-* | aarch64_be-* \
317
371
  | alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \
318
372
  | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \
319
373
  | alphapca5[67]-* | alpha64pca5[67]-* | arc-* \
320
374
  | arm-* | armbe-* | armle-* | armeb-* | armv*-* \
321
375
  | avr-* | avr32-* \
376
+ | be32-* | be64-* \
322
377
  | bfin-* | bs2000-* \
323
- | c[123]* | c30-* | [cjt]90-* | c4x-* | c54x-* | c55x-* | c6x-* \
378
+ | c[123]* | c30-* | [cjt]90-* | c4x-* \
324
379
  | clipper-* | craynv-* | cydra-* \
325
380
  | d10v-* | d30v-* | dlx-* \
326
381
  | elxsi-* \
327
382
  | f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \
328
383
  | h8300-* | h8500-* \
329
384
  | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
385
+ | hexagon-* \
330
386
  | i*86-* | i860-* | i960-* | ia64-* \
331
387
  | ip2k-* | iq2000-* \
388
+ | le32-* | le64-* \
389
+ | lm32-* \
332
390
  | m32c-* | m32r-* | m32rle-* \
333
391
  | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
334
- | m88110-* | m88k-* | maxq-* | mcore-* \
392
+ | m88110-* | m88k-* | maxq-* | mcore-* | metag-* | microblaze-* \
335
393
  | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \
336
394
  | mips16-* \
337
395
  | mips64-* | mips64el-* \
338
- | mips64vr-* | mips64vrel-* \
396
+ | mips64octeon-* | mips64octeonel-* \
339
397
  | mips64orion-* | mips64orionel-* \
398
+ | mips64r5900-* | mips64r5900el-* \
399
+ | mips64vr-* | mips64vrel-* \
340
400
  | mips64vr4100-* | mips64vr4100el-* \
341
401
  | mips64vr4300-* | mips64vr4300el-* \
342
402
  | mips64vr5000-* | mips64vr5000el-* \
@@ -351,27 +411,32 @@ case $basic_machine in
351
411
  | mmix-* \
352
412
  | mt-* \
353
413
  | msp430-* \
414
+ | nds32-* | nds32le-* | nds32be-* \
354
415
  | nios-* | nios2-* \
355
416
  | none-* | np1-* | ns16k-* | ns32k-* \
417
+ | open8-* \
356
418
  | orion-* \
357
419
  | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
358
- | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \
420
+ | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \
359
421
  | pyramid-* \
360
- | romp-* | rs6000-* \
361
- | sh-* | sh[1234]-* | sh[24]a-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \
422
+ | rl78-* | romp-* | rs6000-* | rx-* \
423
+ | sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \
362
424
  | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
363
425
  | sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \
364
426
  | sparclite-* \
365
- | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | strongarm-* | sv1-* | sx?-* \
366
- | tahoe-* | thumb-* \
427
+ | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | sv1-* | sx?-* \
428
+ | tahoe-* \
367
429
  | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \
430
+ | tile*-* \
368
431
  | tron-* \
369
- | v850-* | v850e-* | vax-* \
432
+ | ubicom32-* \
433
+ | v850-* | v850e-* | v850e1-* | v850es-* | v850e2-* | v850e2v3-* \
434
+ | vax-* \
370
435
  | we32k-* \
371
- | x86-* | x86_64-* | xc16x-* | xps100-* | xscale-* | xscalee[bl]-* \
436
+ | x86-* | x86_64-* | xc16x-* | xps100-* \
372
437
  | xstormy16-* | xtensa*-* \
373
438
  | ymp-* \
374
- | z8k-*)
439
+ | z8k-* | z80-*)
375
440
  ;;
376
441
  # Recognize the basic CPU types without company name, with glob match.
377
442
  xtensa*)
@@ -393,7 +458,7 @@ case $basic_machine in
393
458
  basic_machine=a29k-amd
394
459
  os=-udi
395
460
  ;;
396
- abacus)
461
+ abacus)
397
462
  basic_machine=abacus-unknown
398
463
  ;;
399
464
  adobe68k)
@@ -439,6 +504,10 @@ case $basic_machine in
439
504
  basic_machine=m68k-apollo
440
505
  os=-bsd
441
506
  ;;
507
+ aros)
508
+ basic_machine=i386-pc
509
+ os=-aros
510
+ ;;
442
511
  aux)
443
512
  basic_machine=m68k-apple
444
513
  os=-aux
@@ -455,10 +524,27 @@ case $basic_machine in
455
524
  basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'`
456
525
  os=-linux
457
526
  ;;
527
+ bluegene*)
528
+ basic_machine=powerpc-ibm
529
+ os=-cnk
530
+ ;;
531
+ c54x-*)
532
+ basic_machine=tic54x-`echo $basic_machine | sed 's/^[^-]*-//'`
533
+ ;;
534
+ c55x-*)
535
+ basic_machine=tic55x-`echo $basic_machine | sed 's/^[^-]*-//'`
536
+ ;;
537
+ c6x-*)
538
+ basic_machine=tic6x-`echo $basic_machine | sed 's/^[^-]*-//'`
539
+ ;;
458
540
  c90)
459
541
  basic_machine=c90-cray
460
542
  os=-unicos
461
543
  ;;
544
+ cegcc)
545
+ basic_machine=arm-unknown
546
+ os=-cegcc
547
+ ;;
462
548
  convex-c1)
463
549
  basic_machine=c1-convex
464
550
  os=-bsd
@@ -487,7 +573,7 @@ case $basic_machine in
487
573
  basic_machine=craynv-cray
488
574
  os=-unicosmp
489
575
  ;;
490
- cr16)
576
+ cr16 | cr16-*)
491
577
  basic_machine=cr16-unknown
492
578
  os=-elf
493
579
  ;;
@@ -526,6 +612,10 @@ case $basic_machine in
526
612
  basic_machine=m88k-motorola
527
613
  os=-sysv3
528
614
  ;;
615
+ dicos)
616
+ basic_machine=i686-pc
617
+ os=-dicos
618
+ ;;
529
619
  djgpp)
530
620
  basic_machine=i586-pc
531
621
  os=-msdosdjgpp
@@ -641,7 +731,6 @@ case $basic_machine in
641
731
  i370-ibm* | ibm*)
642
732
  basic_machine=i370-ibm
643
733
  ;;
644
- # I'm not sure what "Sysv32" means. Should this be sysv3.2?
645
734
  i*86v32)
646
735
  basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
647
736
  os=-sysv32
@@ -699,6 +788,9 @@ case $basic_machine in
699
788
  basic_machine=ns32k-utek
700
789
  os=-sysv
701
790
  ;;
791
+ microblaze)
792
+ basic_machine=microblaze-xilinx
793
+ ;;
702
794
  mingw32)
703
795
  basic_machine=i386-pc
704
796
  os=-mingw32
@@ -735,10 +827,18 @@ case $basic_machine in
735
827
  ms1-*)
736
828
  basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'`
737
829
  ;;
830
+ msys)
831
+ basic_machine=i386-pc
832
+ os=-msys
833
+ ;;
738
834
  mvs)
739
835
  basic_machine=i370-ibm
740
836
  os=-mvs
741
837
  ;;
838
+ nacl)
839
+ basic_machine=le32-unknown
840
+ os=-nacl
841
+ ;;
742
842
  ncr3000)
743
843
  basic_machine=i486-ncr
744
844
  os=-sysv4
@@ -803,6 +903,12 @@ case $basic_machine in
803
903
  np1)
804
904
  basic_machine=np1-gould
805
905
  ;;
906
+ neo-tandem)
907
+ basic_machine=neo-tandem
908
+ ;;
909
+ nse-tandem)
910
+ basic_machine=nse-tandem
911
+ ;;
806
912
  nsr-tandem)
807
913
  basic_machine=nsr-tandem
808
914
  ;;
@@ -885,9 +991,10 @@ case $basic_machine in
885
991
  ;;
886
992
  power) basic_machine=power-ibm
887
993
  ;;
888
- ppc) basic_machine=powerpc-unknown
994
+ ppc | ppcbe) basic_machine=powerpc-unknown
889
995
  ;;
890
- ppc-*) basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
996
+ ppc-* | ppcbe-*)
997
+ basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
891
998
  ;;
892
999
  ppcle | powerpclittle | ppc-le | powerpc-little)
893
1000
  basic_machine=powerpcle-unknown
@@ -981,6 +1088,9 @@ case $basic_machine in
981
1088
  basic_machine=i860-stratus
982
1089
  os=-sysv4
983
1090
  ;;
1091
+ strongarm-* | thumb-*)
1092
+ basic_machine=arm-`echo $basic_machine | sed 's/^[^-]*-//'`
1093
+ ;;
984
1094
  sun2)
985
1095
  basic_machine=m68000-sun
986
1096
  ;;
@@ -1037,20 +1147,8 @@ case $basic_machine in
1037
1147
  basic_machine=t90-cray
1038
1148
  os=-unicos
1039
1149
  ;;
1040
- tic54x | c54x*)
1041
- basic_machine=tic54x-unknown
1042
- os=-coff
1043
- ;;
1044
- tic55x | c55x*)
1045
- basic_machine=tic55x-unknown
1046
- os=-coff
1047
- ;;
1048
- tic6x | c6x*)
1049
- basic_machine=tic6x-unknown
1050
- os=-coff
1051
- ;;
1052
1150
  tile*)
1053
- basic_machine=tile-unknown
1151
+ basic_machine=$basic_machine-unknown
1054
1152
  os=-linux-gnu
1055
1153
  ;;
1056
1154
  tx39)
@@ -1120,6 +1218,9 @@ case $basic_machine in
1120
1218
  xps | xps100)
1121
1219
  basic_machine=xps100-honeywell
1122
1220
  ;;
1221
+ xscale-* | xscalee[bl]-*)
1222
+ basic_machine=`echo $basic_machine | sed 's/^xscale/arm/'`
1223
+ ;;
1123
1224
  ymp)
1124
1225
  basic_machine=ymp-cray
1125
1226
  os=-unicos
@@ -1128,6 +1229,10 @@ case $basic_machine in
1128
1229
  basic_machine=z8k-unknown
1129
1230
  os=-sim
1130
1231
  ;;
1232
+ z80-*-coff)
1233
+ basic_machine=z80-unknown
1234
+ os=-sim
1235
+ ;;
1131
1236
  none)
1132
1237
  basic_machine=none-none
1133
1238
  os=-none
@@ -1166,7 +1271,7 @@ case $basic_machine in
1166
1271
  we32k)
1167
1272
  basic_machine=we32k-att
1168
1273
  ;;
1169
- sh[1234] | sh[24]a | sh[34]eb | sh[1234]le | sh[23]ele)
1274
+ sh[1234] | sh[24]a | sh[24]aeb | sh[34]eb | sh[1234]le | sh[23]ele)
1170
1275
  basic_machine=sh-unknown
1171
1276
  ;;
1172
1277
  sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v)
@@ -1213,9 +1318,12 @@ esac
1213
1318
  if [ x"$os" != x"" ]
1214
1319
  then
1215
1320
  case $os in
1216
- # First match some system type aliases
1217
- # that might get confused with valid system types.
1321
+ # First match some system type aliases
1322
+ # that might get confused with valid system types.
1218
1323
  # -solaris* is a basic system type, with this one exception.
1324
+ -auroraux)
1325
+ os=-auroraux
1326
+ ;;
1219
1327
  -solaris1 | -solaris1.*)
1220
1328
  os=`echo $os | sed -e 's|solaris1|sunos4|'`
1221
1329
  ;;
@@ -1236,10 +1344,11 @@ case $os in
1236
1344
  # Each alternative MUST END IN A *, to match a version number.
1237
1345
  # -sysv* is not here because it comes later, after sysvr4.
1238
1346
  -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
1239
- | -*vms* | -sco* | -esix* | -isc* | -aix* | -sunos | -sunos[34]*\
1240
- | -hpux* | -unos* | -osf* | -luna* | -dgux* | -solaris* | -sym* \
1347
+ | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\
1348
+ | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \
1349
+ | -sym* | -kopensolaris* \
1241
1350
  | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
1242
- | -aos* \
1351
+ | -aos* | -aros* \
1243
1352
  | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
1244
1353
  | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
1245
1354
  | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \
@@ -1248,9 +1357,10 @@ case $os in
1248
1357
  | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
1249
1358
  | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
1250
1359
  | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
1251
- | -chorusos* | -chorusrdb* \
1252
- | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
1253
- | -mingw32* | -linux-gnu* | -linux-newlib* | -linux-uclibc* \
1360
+ | -chorusos* | -chorusrdb* | -cegcc* \
1361
+ | -cygwin* | -msys* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
1362
+ | -mingw32* | -linux-gnu* | -linux-android* \
1363
+ | -linux-newlib* | -linux-uclibc* \
1254
1364
  | -uxpv* | -beos* | -mpeix* | -udk* \
1255
1365
  | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
1256
1366
  | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
@@ -1258,7 +1368,7 @@ case $os in
1258
1368
  | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
1259
1369
  | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
1260
1370
  | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \
1261
- | -skyos* | -haiku* | -rdos* | -toppers* | -drops*)
1371
+ | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es*)
1262
1372
  # Remember, each alternative MUST END IN *, to match a version number.
1263
1373
  ;;
1264
1374
  -qnx*)
@@ -1297,7 +1407,7 @@ case $os in
1297
1407
  -opened*)
1298
1408
  os=-openedition
1299
1409
  ;;
1300
- -os400*)
1410
+ -os400*)
1301
1411
  os=-os400
1302
1412
  ;;
1303
1413
  -wince*)
@@ -1346,7 +1456,7 @@ case $os in
1346
1456
  -sinix*)
1347
1457
  os=-sysv4
1348
1458
  ;;
1349
- -tpf*)
1459
+ -tpf*)
1350
1460
  os=-tpf
1351
1461
  ;;
1352
1462
  -triton*)
@@ -1388,6 +1498,11 @@ case $os in
1388
1498
  -zvmoe)
1389
1499
  os=-zvmoe
1390
1500
  ;;
1501
+ -dicos*)
1502
+ os=-dicos
1503
+ ;;
1504
+ -nacl*)
1505
+ ;;
1391
1506
  -none)
1392
1507
  ;;
1393
1508
  *)
@@ -1410,10 +1525,10 @@ else
1410
1525
  # system, and we'll never get to this point.
1411
1526
 
1412
1527
  case $basic_machine in
1413
- score-*)
1528
+ score-*)
1414
1529
  os=-elf
1415
1530
  ;;
1416
- spu-*)
1531
+ spu-*)
1417
1532
  os=-elf
1418
1533
  ;;
1419
1534
  *-acorn)
@@ -1425,8 +1540,17 @@ case $basic_machine in
1425
1540
  arm*-semi)
1426
1541
  os=-aout
1427
1542
  ;;
1428
- c4x-* | tic4x-*)
1429
- os=-coff
1543
+ c4x-* | tic4x-*)
1544
+ os=-coff
1545
+ ;;
1546
+ tic54x-*)
1547
+ os=-coff
1548
+ ;;
1549
+ tic55x-*)
1550
+ os=-coff
1551
+ ;;
1552
+ tic6x-*)
1553
+ os=-coff
1430
1554
  ;;
1431
1555
  # This must come before the *-dec entry.
1432
1556
  pdp10-*)
@@ -1446,14 +1570,11 @@ case $basic_machine in
1446
1570
  ;;
1447
1571
  m68000-sun)
1448
1572
  os=-sunos3
1449
- # This also exists in the configure program, but was not the
1450
- # default.
1451
- # os=-sunos4
1452
1573
  ;;
1453
1574
  m68*-cisco)
1454
1575
  os=-aout
1455
1576
  ;;
1456
- mep-*)
1577
+ mep-*)
1457
1578
  os=-elf
1458
1579
  ;;
1459
1580
  mips*-cisco)
@@ -1480,7 +1601,7 @@ case $basic_machine in
1480
1601
  *-ibm)
1481
1602
  os=-aix
1482
1603
  ;;
1483
- *-knuth)
1604
+ *-knuth)
1484
1605
  os=-mmixware
1485
1606
  ;;
1486
1607
  *-wec)
@@ -1585,7 +1706,7 @@ case $basic_machine in
1585
1706
  -sunos*)
1586
1707
  vendor=sun
1587
1708
  ;;
1588
- -aix*)
1709
+ -cnk*|-aix*)
1589
1710
  vendor=ibm
1590
1711
  ;;
1591
1712
  -beos*)