colouringcode-passenger 0.1 → 0.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (170) hide show
  1. data/NEWS +129 -0
  2. data/Rakefile +2 -2
  3. data/bin/passenger-install-apache2-module +1 -0
  4. data/bin/passenger-install-nginx-module +4 -2
  5. data/ext/apache2/Hooks.cpp +4 -2
  6. data/ext/common/ApplicationPoolServer.h +1 -1
  7. data/ext/common/ApplicationPoolServerExecutable.cpp +1 -1
  8. data/ext/common/MessageChannel.h +48 -4
  9. data/ext/common/StandardApplicationPool.h +4 -2
  10. data/ext/common/Version.h +1 -1
  11. data/ext/nginx/Configuration.c +1 -1
  12. data/ext/nginx/HttpStatusExtractor.h +1 -0
  13. data/ext/nginx/ScgiRequestParser.h +1 -0
  14. data/ext/oxt/system_calls.cpp +11 -0
  15. data/ext/oxt/system_calls.hpp +2 -1
  16. data/ext/oxt/thread.hpp +97 -1
  17. data/ext/phusion_passenger/native_support.c +30 -1
  18. data/lib/phusion_passenger/constants.rb +1 -1
  19. data/lib/phusion_passenger/dependencies.rb +32 -0
  20. data/lib/phusion_passenger/message_channel.rb +45 -3
  21. data/lib/phusion_passenger/platform_info.rb +1 -1
  22. data/lib/phusion_passenger/rack/application_spawner.rb +10 -4
  23. data/lib/phusion_passenger/rack/request_handler.rb +2 -5
  24. data/lib/phusion_passenger/railz/application_spawner.rb +59 -7
  25. data/lib/phusion_passenger/utils.rb +70 -16
  26. data/{vendor/rack-1.0.0-git/lib/rack → lib/phusion_passenger/utils}/rewindable_input.rb +34 -9
  27. data/test/ApplicationPoolTest.cpp +1 -1
  28. data/test/MessageChannelTest.cpp +9 -1
  29. data/test/stub/message_channel.rb +1 -1
  30. data/test/stub/message_channel_2.rb +1 -1
  31. data/test/stub/message_channel_3.rb +2 -2
  32. metadata +43 -155
  33. data/doc/Architectural overview.html +0 -1
  34. data/doc/rdoc/classes/ConditionVariable.html +0 -194
  35. data/doc/rdoc/classes/Exception.html +0 -120
  36. data/doc/rdoc/classes/GC.html +0 -113
  37. data/doc/rdoc/classes/IO.html +0 -169
  38. data/doc/rdoc/classes/PhusionPassenger.html +0 -238
  39. data/doc/rdoc/classes/PhusionPassenger/AbstractInstaller.html +0 -153
  40. data/doc/rdoc/classes/PhusionPassenger/AbstractRequestHandler.html +0 -517
  41. data/doc/rdoc/classes/PhusionPassenger/AbstractServer.html +0 -719
  42. data/doc/rdoc/classes/PhusionPassenger/AbstractServer/ServerAlreadyStarted.html +0 -97
  43. data/doc/rdoc/classes/PhusionPassenger/AbstractServer/ServerError.html +0 -96
  44. data/doc/rdoc/classes/PhusionPassenger/AbstractServer/ServerNotStarted.html +0 -97
  45. data/doc/rdoc/classes/PhusionPassenger/AbstractServer/UnknownMessage.html +0 -96
  46. data/doc/rdoc/classes/PhusionPassenger/AbstractServerCollection.html +0 -598
  47. data/doc/rdoc/classes/PhusionPassenger/AdminTools.html +0 -140
  48. data/doc/rdoc/classes/PhusionPassenger/AdminTools/ControlProcess.html +0 -317
  49. data/doc/rdoc/classes/PhusionPassenger/AdminTools/ControlProcess/Instance.html +0 -138
  50. data/doc/rdoc/classes/PhusionPassenger/AppInitError.html +0 -154
  51. data/doc/rdoc/classes/PhusionPassenger/Application.html +0 -283
  52. data/doc/rdoc/classes/PhusionPassenger/ConsoleTextTemplate.html +0 -172
  53. data/doc/rdoc/classes/PhusionPassenger/FrameworkInitError.html +0 -145
  54. data/doc/rdoc/classes/PhusionPassenger/HTMLTemplate.html +0 -181
  55. data/doc/rdoc/classes/PhusionPassenger/InitializationError.html +0 -141
  56. data/doc/rdoc/classes/PhusionPassenger/InvalidPath.html +0 -92
  57. data/doc/rdoc/classes/PhusionPassenger/MessageChannel.html +0 -489
  58. data/doc/rdoc/classes/PhusionPassenger/NativeSupport.html +0 -350
  59. data/doc/rdoc/classes/PhusionPassenger/Rack.html +0 -91
  60. data/doc/rdoc/classes/PhusionPassenger/Rack/ApplicationSpawner.html +0 -188
  61. data/doc/rdoc/classes/PhusionPassenger/Rack/RequestHandler.html +0 -199
  62. data/doc/rdoc/classes/PhusionPassenger/Railz.html +0 -95
  63. data/doc/rdoc/classes/PhusionPassenger/Railz/ApplicationSpawner.html +0 -438
  64. data/doc/rdoc/classes/PhusionPassenger/Railz/ApplicationSpawner/Error.html +0 -98
  65. data/doc/rdoc/classes/PhusionPassenger/Railz/CGIFixed.html +0 -200
  66. data/doc/rdoc/classes/PhusionPassenger/Railz/FrameworkSpawner.html +0 -436
  67. data/doc/rdoc/classes/PhusionPassenger/Railz/FrameworkSpawner/Error.html +0 -98
  68. data/doc/rdoc/classes/PhusionPassenger/Railz/RequestHandler.html +0 -155
  69. data/doc/rdoc/classes/PhusionPassenger/SpawnManager.html +0 -402
  70. data/doc/rdoc/classes/PhusionPassenger/UnknownError.html +0 -125
  71. data/doc/rdoc/classes/PhusionPassenger/Utils.html +0 -803
  72. data/doc/rdoc/classes/PhusionPassenger/Utils/PseudoIO.html +0 -169
  73. data/doc/rdoc/classes/PhusionPassenger/VersionNotFound.html +0 -140
  74. data/doc/rdoc/classes/PhusionPassenger/WSGI.html +0 -89
  75. data/doc/rdoc/classes/PhusionPassenger/WSGI/ApplicationSpawner.html +0 -188
  76. data/doc/rdoc/classes/PlatformInfo.html +0 -866
  77. data/doc/rdoc/classes/RakeExtensions.html +0 -197
  78. data/doc/rdoc/classes/Signal.html +0 -131
  79. data/doc/rdoc/created.rid +0 -1
  80. data/doc/rdoc/files/DEVELOPERS_TXT.html +0 -255
  81. data/doc/rdoc/files/README.html +0 -175
  82. data/doc/rdoc/files/ext/phusion_passenger/native_support_c.html +0 -92
  83. data/doc/rdoc/files/lib/phusion_passenger/abstract_installer_rb.html +0 -129
  84. data/doc/rdoc/files/lib/phusion_passenger/abstract_request_handler_rb.html +0 -129
  85. data/doc/rdoc/files/lib/phusion_passenger/abstract_server_collection_rb.html +0 -126
  86. data/doc/rdoc/files/lib/phusion_passenger/abstract_server_rb.html +0 -128
  87. data/doc/rdoc/files/lib/phusion_passenger/admin_tools/control_process_rb.html +0 -130
  88. data/doc/rdoc/files/lib/phusion_passenger/admin_tools_rb.html +0 -122
  89. data/doc/rdoc/files/lib/phusion_passenger/application_rb.html +0 -127
  90. data/doc/rdoc/files/lib/phusion_passenger/console_text_template_rb.html +0 -126
  91. data/doc/rdoc/files/lib/phusion_passenger/constants_rb.html +0 -122
  92. data/doc/rdoc/files/lib/phusion_passenger/dependencies_rb.html +0 -134
  93. data/doc/rdoc/files/lib/phusion_passenger/events_rb.html +0 -122
  94. data/doc/rdoc/files/lib/phusion_passenger/exceptions_rb.html +0 -122
  95. data/doc/rdoc/files/lib/phusion_passenger/html_template_rb.html +0 -126
  96. data/doc/rdoc/files/lib/phusion_passenger/message_channel_rb.html +0 -120
  97. data/doc/rdoc/files/lib/phusion_passenger/packaging_rb.html +0 -122
  98. data/doc/rdoc/files/lib/phusion_passenger/platform_info_rb.html +0 -127
  99. data/doc/rdoc/files/lib/phusion_passenger/rack/application_spawner_rb.html +0 -133
  100. data/doc/rdoc/files/lib/phusion_passenger/rack/request_handler_rb.html +0 -125
  101. data/doc/rdoc/files/lib/phusion_passenger/railz/application_spawner_rb.html +0 -140
  102. data/doc/rdoc/files/lib/phusion_passenger/railz/cgi_fixed_rb.html +0 -126
  103. data/doc/rdoc/files/lib/phusion_passenger/railz/framework_spawner_rb.html +0 -145
  104. data/doc/rdoc/files/lib/phusion_passenger/railz/request_handler_rb.html +0 -125
  105. data/doc/rdoc/files/lib/phusion_passenger/simple_benchmarking_rb.html +0 -122
  106. data/doc/rdoc/files/lib/phusion_passenger/spawn_manager_rb.html +0 -159
  107. data/doc/rdoc/files/lib/phusion_passenger/utils_rb.html +0 -174
  108. data/doc/rdoc/files/lib/phusion_passenger/wsgi/application_spawner_rb.html +0 -129
  109. data/doc/rdoc/files/misc/rake/extensions_rb.html +0 -130
  110. data/doc/rdoc/fr_class_index.html +0 -91
  111. data/doc/rdoc/fr_file_index.html +0 -76
  112. data/doc/rdoc/fr_method_index.html +0 -205
  113. data/doc/rdoc/index.html +0 -26
  114. data/doc/rdoc/rdoc-style.css +0 -187
  115. data/vendor/README +0 -13
  116. data/vendor/README_FOR_PACKAGERS +0 -1
  117. data/vendor/rack-1.0.0-git/COPYING +0 -18
  118. data/vendor/rack-1.0.0-git/KNOWN-ISSUES +0 -18
  119. data/vendor/rack-1.0.0-git/README +0 -353
  120. data/vendor/rack-1.0.0-git/Rakefile +0 -164
  121. data/vendor/rack-1.0.0-git/lib/rack.rb +0 -90
  122. data/vendor/rack-1.0.0-git/lib/rack/adapter/camping.rb +0 -22
  123. data/vendor/rack-1.0.0-git/lib/rack/auth/abstract/handler.rb +0 -37
  124. data/vendor/rack-1.0.0-git/lib/rack/auth/abstract/request.rb +0 -37
  125. data/vendor/rack-1.0.0-git/lib/rack/auth/basic.rb +0 -58
  126. data/vendor/rack-1.0.0-git/lib/rack/auth/digest/md5.rb +0 -124
  127. data/vendor/rack-1.0.0-git/lib/rack/auth/digest/nonce.rb +0 -51
  128. data/vendor/rack-1.0.0-git/lib/rack/auth/digest/params.rb +0 -55
  129. data/vendor/rack-1.0.0-git/lib/rack/auth/digest/request.rb +0 -40
  130. data/vendor/rack-1.0.0-git/lib/rack/auth/openid.rb +0 -487
  131. data/vendor/rack-1.0.0-git/lib/rack/builder.rb +0 -63
  132. data/vendor/rack-1.0.0-git/lib/rack/cascade.rb +0 -41
  133. data/vendor/rack-1.0.0-git/lib/rack/chunked.rb +0 -49
  134. data/vendor/rack-1.0.0-git/lib/rack/commonlogger.rb +0 -52
  135. data/vendor/rack-1.0.0-git/lib/rack/conditionalget.rb +0 -47
  136. data/vendor/rack-1.0.0-git/lib/rack/content_length.rb +0 -29
  137. data/vendor/rack-1.0.0-git/lib/rack/content_type.rb +0 -23
  138. data/vendor/rack-1.0.0-git/lib/rack/deflater.rb +0 -96
  139. data/vendor/rack-1.0.0-git/lib/rack/directory.rb +0 -153
  140. data/vendor/rack-1.0.0-git/lib/rack/file.rb +0 -88
  141. data/vendor/rack-1.0.0-git/lib/rack/handler.rb +0 -69
  142. data/vendor/rack-1.0.0-git/lib/rack/handler/cgi.rb +0 -61
  143. data/vendor/rack-1.0.0-git/lib/rack/handler/evented_mongrel.rb +0 -8
  144. data/vendor/rack-1.0.0-git/lib/rack/handler/fastcgi.rb +0 -88
  145. data/vendor/rack-1.0.0-git/lib/rack/handler/lsws.rb +0 -55
  146. data/vendor/rack-1.0.0-git/lib/rack/handler/mongrel.rb +0 -84
  147. data/vendor/rack-1.0.0-git/lib/rack/handler/scgi.rb +0 -59
  148. data/vendor/rack-1.0.0-git/lib/rack/handler/swiftiplied_mongrel.rb +0 -8
  149. data/vendor/rack-1.0.0-git/lib/rack/handler/thin.rb +0 -18
  150. data/vendor/rack-1.0.0-git/lib/rack/handler/webrick.rb +0 -67
  151. data/vendor/rack-1.0.0-git/lib/rack/head.rb +0 -19
  152. data/vendor/rack-1.0.0-git/lib/rack/lint.rb +0 -537
  153. data/vendor/rack-1.0.0-git/lib/rack/lobster.rb +0 -65
  154. data/vendor/rack-1.0.0-git/lib/rack/lock.rb +0 -16
  155. data/vendor/rack-1.0.0-git/lib/rack/methodoverride.rb +0 -27
  156. data/vendor/rack-1.0.0-git/lib/rack/mime.rb +0 -204
  157. data/vendor/rack-1.0.0-git/lib/rack/mock.rb +0 -184
  158. data/vendor/rack-1.0.0-git/lib/rack/recursive.rb +0 -57
  159. data/vendor/rack-1.0.0-git/lib/rack/reloader.rb +0 -106
  160. data/vendor/rack-1.0.0-git/lib/rack/request.rb +0 -248
  161. data/vendor/rack-1.0.0-git/lib/rack/response.rb +0 -183
  162. data/vendor/rack-1.0.0-git/lib/rack/session/abstract/id.rb +0 -142
  163. data/vendor/rack-1.0.0-git/lib/rack/session/cookie.rb +0 -91
  164. data/vendor/rack-1.0.0-git/lib/rack/session/memcache.rb +0 -109
  165. data/vendor/rack-1.0.0-git/lib/rack/session/pool.rb +0 -100
  166. data/vendor/rack-1.0.0-git/lib/rack/showexceptions.rb +0 -349
  167. data/vendor/rack-1.0.0-git/lib/rack/showstatus.rb +0 -106
  168. data/vendor/rack-1.0.0-git/lib/rack/static.rb +0 -38
  169. data/vendor/rack-1.0.0-git/lib/rack/urlmap.rb +0 -55
  170. data/vendor/rack-1.0.0-git/lib/rack/utils.rb +0 -522
@@ -1,866 +0,0 @@
1
- <?xml version="1.0" encoding="iso-8859-1"?>
2
- <!DOCTYPE html
3
- PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
4
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
5
- <html>
6
- <head>
7
- <title>Module: PlatformInfo</title>
8
- <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
9
- <link rel="stylesheet" href=".././rdoc-style.css" type="text/css" media="screen" />
10
-
11
- <script language="JavaScript" type="text/javascript">
12
- // <![CDATA[
13
-
14
- function toggleSource( id )
15
- {
16
- var elem
17
- var link
18
-
19
- if( document.getElementById )
20
- {
21
- elem = document.getElementById( id )
22
- link = document.getElementById( "l_" + id )
23
- }
24
- else if ( document.all )
25
- {
26
- elem = eval( "document.all." + id )
27
- link = eval( "document.all.l_" + id )
28
- }
29
- else
30
- return false;
31
-
32
- if( elem.style.display == "block" )
33
- {
34
- elem.style.display = "none"
35
- link.innerHTML = "show source"
36
- }
37
- else
38
- {
39
- elem.style.display = "block"
40
- link.innerHTML = "hide source"
41
- }
42
- }
43
-
44
- function openCode( url )
45
- {
46
- window.open( url, "SOURCE_CODE", "resizable=yes,scrollbars=yes,toolbar=no,status=no,height=480,width=750" ).focus();
47
- }
48
- // ]]>
49
- </script>
50
- </head>
51
-
52
- <body>
53
- <table width="100%" border='0' cellpadding='0' cellspacing='0' class='banner'><tr>
54
- <td class="file-title"><span class="file-title-prefix">Module</span><br />PlatformInfo</td>
55
- <td align="right">
56
- <table cellspacing="0" cellpadding="2">
57
- <tr valign="top">
58
- <td>In:</td>
59
- <td>
60
- <a href="../files/lib/phusion_passenger/platform_info_rb.html">lib/phusion_passenger/platform_info.rb</a>
61
- </td>
62
- </tr>
63
- </table>
64
- </td>
65
- </tr>
66
- </table>
67
- <!-- banner header -->
68
-
69
- <div id="bodyContent">
70
- <div id="content">
71
-
72
- <div class="description"><p>
73
- This module autodetects various platform-specific information, and provides
74
- that information through constants.
75
- </p>
76
- <p>
77
- Users can change the detection behavior by setting the environment variable
78
- <tt>APXS2</tt> to the correct &#8216;apxs&#8217; (or &#8216;<a
79
- href="PlatformInfo.html#M000013">apxs2</a>&#8217;) binary, as provided by
80
- Apache.
81
- </p>
82
- </div>
83
-
84
-
85
-
86
- <div class="sectiontitle">Methods</div>
87
- <ul>
88
- <li><a href="#M000018">apache2_bindir</a></li>
89
- <li><a href="#M000023">apache2_module_cflags</a></li>
90
- <li><a href="#M000024">apache2_module_ldflags</a></li>
91
- <li><a href="#M000019">apache2_sbindir</a></li>
92
- <li><a href="#M000014">apache2ctl</a></li>
93
- <li><a href="#M000016">apr_config</a></li>
94
- <li><a href="#M000029">apr_config_needed_for_building_apache_modules?</a></li>
95
- <li><a href="#M000025">apr_flags</a></li>
96
- <li><a href="#M000026">apr_libs</a></li>
97
- <li><a href="#M000017">apu_config</a></li>
98
- <li><a href="#M000027">apu_flags</a></li>
99
- <li><a href="#M000028">apu_libs</a></li>
100
- <li><a href="#M000013">apxs2</a></li>
101
- <li><a href="#M000022">debugging_cflags</a></li>
102
- <li><a href="#M000010">find_command</a></li>
103
- <li><a href="#M000015">httpd</a></li>
104
- <li><a href="#M000030">library_extension</a></li>
105
- <li><a href="#M000031">linux_distro</a></li>
106
- <li><a href="#M000032">linux_distro_tags</a></li>
107
- <li><a href="#M000020">portability_cflags</a></li>
108
- <li><a href="#M000021">portability_ldflags</a></li>
109
- <li><a href="#M000011">rake</a></li>
110
- <li><a href="#M000012">rspec</a></li>
111
- </ul>
112
-
113
-
114
-
115
-
116
- <div class="sectiontitle">Constants</div>
117
- <table border='0' cellpadding='5'>
118
- <tr valign='top'>
119
- <td class="attr-name">RUBY</td>
120
- <td>=</td>
121
- <td class="attr-value">Config::CONFIG['bindir'] + '/' + Config::CONFIG['RUBY_INSTALL_NAME'] + Config::CONFIG['EXEEXT']</td>
122
- </tr>
123
- <tr valign='top'>
124
- <td>&nbsp;</td>
125
- <td colspan="2" class="attr-desc">
126
- The absolute path to the current Ruby interpreter.
127
-
128
- </td>
129
- </tr>
130
- <tr valign='top'>
131
- <td class="attr-name">GEM</td>
132
- <td>=</td>
133
- <td class="attr-value">locate_ruby_executable('gem')</td>
134
- </tr>
135
- <tr valign='top'>
136
- <td>&nbsp;</td>
137
- <td colspan="2" class="attr-desc">
138
- The correct &#8216;gem&#8217; command for this Ruby interpreter.
139
-
140
- </td>
141
- </tr>
142
- </table>
143
-
144
-
145
- <div class="sectiontitle">Public Class methods</div>
146
- <div class="method">
147
- <div class="title">
148
- <a name="M000018"></a><b>apache2_bindir</b>()
149
- </div>
150
- <div class="description">
151
- <p>
152
- The absolute path to the Apache 2 &#8216;bin&#8217; directory.
153
- </p>
154
- </div>
155
- <div class="sourcecode">
156
- <p class="source-link">[ <a href="javascript:toggleSource('M000018_source')" id="l_M000018_source">show source</a> ]</p>
157
- <div id="M000018_source" class="dyn-source">
158
- <pre>
159
- <span class="ruby-comment cmt"># File lib/phusion_passenger/platform_info.rb, line 312</span>
160
- 312: <span class="ruby-keyword kw">def</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">apache2_bindir</span>
161
- 313: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">apxs2</span>.<span class="ruby-identifier">nil?</span>
162
- 314: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">nil</span>
163
- 315: <span class="ruby-keyword kw">else</span>
164
- 316: <span class="ruby-keyword kw">return</span> <span class="ruby-node">`#{apxs2} -q BINDIR 2&gt;/dev/null`</span>.<span class="ruby-identifier">strip</span>
165
- 317: <span class="ruby-keyword kw">end</span>
166
- 318: <span class="ruby-keyword kw">end</span>
167
- </pre>
168
- </div>
169
- </div>
170
- </div>
171
- <div class="method">
172
- <div class="title">
173
- <a name="M000023"></a><b>apache2_module_cflags</b>(with_apr_flags = true)
174
- </div>
175
- <div class="description">
176
- <p>
177
- The C compiler flags that are necessary to compile an Apache module.
178
- Possibly includes APR and APU compiler flags.
179
- </p>
180
- </div>
181
- <div class="sourcecode">
182
- <p class="source-link">[ <a href="javascript:toggleSource('M000023_source')" id="l_M000023_source">show source</a> ]</p>
183
- <div id="M000023_source" class="dyn-source">
184
- <pre>
185
- <span class="ruby-comment cmt"># File lib/phusion_passenger/platform_info.rb, line 384</span>
186
- 384: <span class="ruby-keyword kw">def</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">apache2_module_cflags</span>(<span class="ruby-identifier">with_apr_flags</span> = <span class="ruby-keyword kw">true</span>)
187
- 385: <span class="ruby-identifier">flags</span> = [<span class="ruby-value str">&quot;-fPIC&quot;</span>]
188
- 386: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">with_apr_flags</span>
189
- 387: <span class="ruby-identifier">flags</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">apr_flags</span>
190
- 388: <span class="ruby-identifier">flags</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">apu_flags</span>
191
- 389: <span class="ruby-keyword kw">end</span>
192
- 390: <span class="ruby-keyword kw">if</span> <span class="ruby-operator">!</span><span class="ruby-identifier">apxs2</span>.<span class="ruby-identifier">nil?</span>
193
- 391: <span class="ruby-identifier">apxs2_flags</span> = <span class="ruby-node">`#{apxs2} -q CFLAGS`</span>.<span class="ruby-identifier">strip</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-value str">&quot; -I&quot;</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-node">`#{apxs2} -q INCLUDEDIR`</span>.<span class="ruby-identifier">strip</span>
194
- 392: <span class="ruby-identifier">apxs2_flags</span>.<span class="ruby-identifier">gsub!</span>(<span class="ruby-regexp re">/-O\d? /</span>, <span class="ruby-value str">''</span>)
195
- 393:
196
- 394: <span class="ruby-comment cmt"># Remove flags not supported by GCC</span>
197
- 395: <span class="ruby-keyword kw">if</span> <span class="ruby-constant">RUBY_PLATFORM</span> <span class="ruby-operator">=~</span> <span class="ruby-regexp re">/solaris/</span> <span class="ruby-comment cmt"># TODO: Add support for people using SunStudio</span>
198
- 396: <span class="ruby-comment cmt"># The big problem is Coolstack apxs includes a bunch of solaris -x directives.</span>
199
- 397: <span class="ruby-identifier">options</span> = <span class="ruby-identifier">apxs2_flags</span>.<span class="ruby-identifier">split</span>
200
- 398: <span class="ruby-identifier">options</span>.<span class="ruby-identifier">reject!</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">f</span><span class="ruby-operator">|</span> <span class="ruby-identifier">f</span> <span class="ruby-operator">=~</span> <span class="ruby-regexp re">/^\-x/</span> }
201
- 399: <span class="ruby-identifier">options</span>.<span class="ruby-identifier">reject!</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">f</span><span class="ruby-operator">|</span> <span class="ruby-identifier">f</span> <span class="ruby-operator">=~</span> <span class="ruby-regexp re">/^\-Xa/</span> }
202
- 400: <span class="ruby-identifier">options</span>.<span class="ruby-identifier">reject!</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">f</span><span class="ruby-operator">|</span> <span class="ruby-identifier">f</span> <span class="ruby-operator">=~</span> <span class="ruby-regexp re">/^\-fast/</span> }
203
- 401: <span class="ruby-identifier">options</span>.<span class="ruby-identifier">reject!</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">f</span><span class="ruby-operator">|</span> <span class="ruby-identifier">f</span> <span class="ruby-operator">=~</span> <span class="ruby-regexp re">/^\-mt/</span> }
204
- 402: <span class="ruby-identifier">apxs2_flags</span> = <span class="ruby-identifier">options</span>.<span class="ruby-identifier">join</span>(<span class="ruby-value str">' '</span>)
205
- 403: <span class="ruby-keyword kw">end</span>
206
- 404:
207
- 405: <span class="ruby-identifier">apxs2_flags</span>.<span class="ruby-identifier">strip!</span>
208
- 406: <span class="ruby-identifier">flags</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">apxs2_flags</span>
209
- 407: <span class="ruby-keyword kw">end</span>
210
- 408: <span class="ruby-keyword kw">if</span> <span class="ruby-operator">!</span><span class="ruby-identifier">httpd</span>.<span class="ruby-identifier">nil?</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-constant">RUBY_PLATFORM</span> <span class="ruby-operator">=~</span> <span class="ruby-regexp re">/darwin/</span>
211
- 409: <span class="ruby-comment cmt"># The default Apache install on OS X is a universal binary.</span>
212
- 410: <span class="ruby-comment cmt"># Figure out which architectures it's compiled for and do the same</span>
213
- 411: <span class="ruby-comment cmt"># thing for mod_passenger. We use the 'file' utility to do this.</span>
214
- 412: <span class="ruby-comment cmt">#</span>
215
- 413: <span class="ruby-comment cmt"># Running 'file' on the Apache executable usually outputs something</span>
216
- 414: <span class="ruby-comment cmt"># like this:</span>
217
- 415: <span class="ruby-comment cmt">#</span>
218
- 416: <span class="ruby-comment cmt"># /usr/sbin/httpd: Mach-O universal binary with 4 architectures</span>
219
- 417: <span class="ruby-comment cmt"># /usr/sbin/httpd (for architecture ppc7400): Mach-O executable ppc</span>
220
- 418: <span class="ruby-comment cmt"># /usr/sbin/httpd (for architecture ppc64): Mach-O 64-bit executable ppc64</span>
221
- 419: <span class="ruby-comment cmt"># /usr/sbin/httpd (for architecture i386): Mach-O executable i386</span>
222
- 420: <span class="ruby-comment cmt"># /usr/sbin/httpd (for architecture x86_64): Mach-O 64-bit executable x86_64</span>
223
- 421: <span class="ruby-comment cmt">#</span>
224
- 422: <span class="ruby-comment cmt"># But on some machines, it may output just:</span>
225
- 423: <span class="ruby-comment cmt">#</span>
226
- 424: <span class="ruby-comment cmt"># /usr/sbin/httpd: Mach-O fat file with 4 architectures</span>
227
- 425: <span class="ruby-comment cmt">#</span>
228
- 426: <span class="ruby-comment cmt"># (http://code.google.com/p/phusion-passenger/issues/detail?id=236)</span>
229
- 427: <span class="ruby-identifier">output</span> = <span class="ruby-node">`file &quot;#{httpd}&quot;`</span>.<span class="ruby-identifier">strip</span>
230
- 428: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">output</span> <span class="ruby-operator">=~</span> <span class="ruby-regexp re">/Mach-O fat file/</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">output</span> <span class="ruby-operator">!~</span> <span class="ruby-regexp re">/for architecture/</span>
231
- 429: <span class="ruby-identifier">architectures</span> = [<span class="ruby-value str">&quot;-arch i386 -arch ppc -arch x86_64 -arch ppc64&quot;</span>]
232
- 430: <span class="ruby-keyword kw">else</span>
233
- 431: <span class="ruby-identifier">architectures</span> = []
234
- 432: <span class="ruby-identifier">output</span>.<span class="ruby-identifier">split</span>(<span class="ruby-value str">&quot;\n&quot;</span>).<span class="ruby-identifier">grep</span>(<span class="ruby-regexp re">/for architecture/</span>).<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">line</span><span class="ruby-operator">|</span>
235
- 433: <span class="ruby-identifier">line</span> <span class="ruby-operator">=~</span> <span class="ruby-regexp re">/for architecture (.*?)\)/</span>
236
- 434: <span class="ruby-identifier">architectures</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-node">&quot;-arch #{$1}&quot;</span>
237
- 435: <span class="ruby-keyword kw">end</span>
238
- 436: <span class="ruby-keyword kw">end</span>
239
- 437: <span class="ruby-identifier">flags</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">architectures</span>.<span class="ruby-identifier">compact</span>.<span class="ruby-identifier">join</span>(<span class="ruby-value str">' '</span>)
240
- 438: <span class="ruby-keyword kw">end</span>
241
- 439: <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">flags</span>.<span class="ruby-identifier">compact</span>.<span class="ruby-identifier">join</span>(<span class="ruby-value str">' '</span>).<span class="ruby-identifier">strip</span>
242
- 440: <span class="ruby-keyword kw">end</span>
243
- </pre>
244
- </div>
245
- </div>
246
- </div>
247
- <div class="method">
248
- <div class="title">
249
- <a name="M000024"></a><b>apache2_module_ldflags</b>()
250
- </div>
251
- <div class="description">
252
- <p>
253
- Linker flags that are necessary for linking an Apache module. Possibly
254
- includes APR and APU linker flags.
255
- </p>
256
- </div>
257
- <div class="sourcecode">
258
- <p class="source-link">[ <a href="javascript:toggleSource('M000024_source')" id="l_M000024_source">show source</a> ]</p>
259
- <div id="M000024_source" class="dyn-source">
260
- <pre>
261
- <span class="ruby-comment cmt"># File lib/phusion_passenger/platform_info.rb, line 445</span>
262
- 445: <span class="ruby-keyword kw">def</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">apache2_module_ldflags</span>
263
- 446: <span class="ruby-identifier">flags</span> = <span class="ruby-node">&quot;-fPIC #{apr_libs} #{apu_libs}&quot;</span>
264
- 447: <span class="ruby-identifier">flags</span>.<span class="ruby-identifier">strip!</span>
265
- 448: <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">flags</span>
266
- 449: <span class="ruby-keyword kw">end</span>
267
- </pre>
268
- </div>
269
- </div>
270
- </div>
271
- <div class="method">
272
- <div class="title">
273
- <a name="M000019"></a><b>apache2_sbindir</b>()
274
- </div>
275
- <div class="description">
276
- <p>
277
- The absolute path to the Apache 2 &#8216;sbin&#8217; directory.
278
- </p>
279
- </div>
280
- <div class="sourcecode">
281
- <p class="source-link">[ <a href="javascript:toggleSource('M000019_source')" id="l_M000019_source">show source</a> ]</p>
282
- <div id="M000019_source" class="dyn-source">
283
- <pre>
284
- <span class="ruby-comment cmt"># File lib/phusion_passenger/platform_info.rb, line 322</span>
285
- 322: <span class="ruby-keyword kw">def</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">apache2_sbindir</span>
286
- 323: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">apxs2</span>.<span class="ruby-identifier">nil?</span>
287
- 324: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">nil</span>
288
- 325: <span class="ruby-keyword kw">else</span>
289
- 326: <span class="ruby-keyword kw">return</span> <span class="ruby-node">`#{apxs2} -q SBINDIR`</span>.<span class="ruby-identifier">strip</span>
290
- 327: <span class="ruby-keyword kw">end</span>
291
- 328: <span class="ruby-keyword kw">end</span>
292
- </pre>
293
- </div>
294
- </div>
295
- </div>
296
- <div class="method">
297
- <div class="title">
298
- <a name="M000014"></a><b>apache2ctl</b>()
299
- </div>
300
- <div class="description">
301
- <p>
302
- The absolute path to the &#8216;apachectl&#8217; or &#8216;<a
303
- href="PlatformInfo.html#M000014">apache2ctl</a>&#8217; binary.
304
- </p>
305
- </div>
306
- <div class="sourcecode">
307
- <p class="source-link">[ <a href="javascript:toggleSource('M000014_source')" id="l_M000014_source">show source</a> ]</p>
308
- <div id="M000014_source" class="dyn-source">
309
- <pre>
310
- <span class="ruby-comment cmt"># File lib/phusion_passenger/platform_info.rb, line 234</span>
311
- 234: <span class="ruby-keyword kw">def</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">apache2ctl</span>
312
- 235: <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">find_apache2_executable</span>(<span class="ruby-value str">'apache2ctl'</span>, <span class="ruby-value str">'apachectl2'</span>, <span class="ruby-value str">'apachectl'</span>)
313
- 236: <span class="ruby-keyword kw">end</span>
314
- </pre>
315
- </div>
316
- </div>
317
- </div>
318
- <div class="method">
319
- <div class="title">
320
- <a name="M000016"></a><b>apr_config</b>()
321
- </div>
322
- <div class="description">
323
- <p>
324
- The absolute path to the &#8216;apr-config&#8217; or
325
- &#8216;apr-1-config&#8217; executable.
326
- </p>
327
- </div>
328
- <div class="sourcecode">
329
- <p class="source-link">[ <a href="javascript:toggleSource('M000016_source')" id="l_M000016_source">show source</a> ]</p>
330
- <div id="M000016_source" class="dyn-source">
331
- <pre>
332
- <span class="ruby-comment cmt"># File lib/phusion_passenger/platform_info.rb, line 258</span>
333
- 258: <span class="ruby-keyword kw">def</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">apr_config</span>
334
- 259: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">env_defined?</span>(<span class="ruby-value str">'APR_CONFIG'</span>)
335
- 260: <span class="ruby-keyword kw">return</span> <span class="ruby-constant">ENV</span>[<span class="ruby-value str">'APR_CONFIG'</span>]
336
- 261: <span class="ruby-keyword kw">elsif</span> <span class="ruby-identifier">apxs2</span>.<span class="ruby-identifier">nil?</span>
337
- 262: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">nil</span>
338
- 263: <span class="ruby-keyword kw">else</span>
339
- 264: <span class="ruby-identifier">filename</span> = <span class="ruby-node">`#{apxs2} -q APR_CONFIG 2&gt;/dev/null`</span>.<span class="ruby-identifier">strip</span>
340
- 265: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">filename</span>.<span class="ruby-identifier">empty?</span>
341
- 266: <span class="ruby-identifier">apr_bindir</span> = <span class="ruby-node">`#{apxs2} -q APR_BINDIR 2&gt;/dev/null`</span>.<span class="ruby-identifier">strip</span>
342
- 267: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">apr_bindir</span>.<span class="ruby-identifier">empty?</span>
343
- 268: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">nil</span>
344
- 269: <span class="ruby-keyword kw">else</span>
345
- 270: <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">select_executable</span>(<span class="ruby-identifier">apr_bindir</span>,
346
- 271: <span class="ruby-value str">&quot;apr-1-config&quot;</span>, <span class="ruby-value str">&quot;apr-config&quot;</span>)
347
- 272: <span class="ruby-keyword kw">end</span>
348
- 273: <span class="ruby-keyword kw">elsif</span> <span class="ruby-constant">File</span>.<span class="ruby-identifier">exist?</span>(<span class="ruby-identifier">filename</span>)
349
- 274: <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">filename</span>
350
- 275: <span class="ruby-keyword kw">else</span>
351
- 276: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">nil</span>
352
- 277: <span class="ruby-keyword kw">end</span>
353
- 278: <span class="ruby-keyword kw">end</span>
354
- 279: <span class="ruby-keyword kw">end</span>
355
- </pre>
356
- </div>
357
- </div>
358
- </div>
359
- <div class="method">
360
- <div class="title">
361
- <a name="M000029"></a><b>apr_config_needed_for_building_apache_modules?</b>()
362
- </div>
363
- <div class="description">
364
- <p>
365
- Returns whether it is necessary to use information outputted by
366
- &#8216;apr-config&#8217; and &#8216;apu-config&#8217; in order to compile
367
- an Apache module. When Apache is installed with &#8212;with-included-apr,
368
- the APR/APU headers are placed into the same directory as the Apache
369
- headers, and so &#8216;apr-config&#8217; and &#8216;apu-config&#8217;
370
- won&#8216;t be necessary in that case.
371
- </p>
372
- </div>
373
- <div class="sourcecode">
374
- <p class="source-link">[ <a href="javascript:toggleSource('M000029_source')" id="l_M000029_source">show source</a> ]</p>
375
- <div id="M000029_source" class="dyn-source">
376
- <pre>
377
- <span class="ruby-comment cmt"># File lib/phusion_passenger/platform_info.rb, line 481</span>
378
- 481: <span class="ruby-keyword kw">def</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">apr_config_needed_for_building_apache_modules?</span>
379
- 482: <span class="ruby-identifier">filename</span> = <span class="ruby-constant">File</span>.<span class="ruby-identifier">join</span>(<span class="ruby-node">&quot;/tmp/passenger-platform-check-#{Process.pid}.c&quot;</span>)
380
- 483: <span class="ruby-constant">File</span>.<span class="ruby-identifier">open</span>(<span class="ruby-identifier">filename</span>, <span class="ruby-value str">&quot;w&quot;</span>) <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">f</span><span class="ruby-operator">|</span>
381
- 484: <span class="ruby-identifier">f</span>.<span class="ruby-identifier">puts</span>(<span class="ruby-value str">&quot;#include &lt;apr.h&gt;&quot;</span>)
382
- 485: <span class="ruby-keyword kw">end</span>
383
- 486: <span class="ruby-keyword kw">begin</span>
384
- 487: <span class="ruby-keyword kw">return</span> <span class="ruby-operator">!</span><span class="ruby-identifier">system</span>(<span class="ruby-node">&quot;(gcc #{apache2_module_cflags(false)} -c '#{filename}' -o '#{filename}.o') &gt;/dev/null 2&gt;/dev/null&quot;</span>)
385
- 488: <span class="ruby-keyword kw">ensure</span>
386
- 489: <span class="ruby-constant">File</span>.<span class="ruby-identifier">unlink</span>(<span class="ruby-identifier">filename</span>) <span class="ruby-keyword kw">rescue</span> <span class="ruby-keyword kw">nil</span>
387
- 490: <span class="ruby-constant">File</span>.<span class="ruby-identifier">unlink</span>(<span class="ruby-node">&quot;#{filename}.o&quot;</span>) <span class="ruby-keyword kw">rescue</span> <span class="ruby-keyword kw">nil</span>
388
- 491: <span class="ruby-keyword kw">end</span>
389
- 492: <span class="ruby-keyword kw">end</span>
390
- </pre>
391
- </div>
392
- </div>
393
- </div>
394
- <div class="method">
395
- <div class="title">
396
- <a name="M000025"></a><b>apr_flags</b>()
397
- </div>
398
- <div class="description">
399
- <p>
400
- The C compiler flags that are necessary for programs that use APR.
401
- </p>
402
- </div>
403
- <div class="sourcecode">
404
- <p class="source-link">[ <a href="javascript:toggleSource('M000025_source')" id="l_M000025_source">show source</a> ]</p>
405
- <div id="M000025_source" class="dyn-source">
406
- <pre>
407
- <span class="ruby-comment cmt"># File lib/phusion_passenger/platform_info.rb, line 453</span>
408
- 453: <span class="ruby-keyword kw">def</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">apr_flags</span>
409
- 454: <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">determine_apr_info</span>[<span class="ruby-value">0</span>]
410
- 455: <span class="ruby-keyword kw">end</span>
411
- </pre>
412
- </div>
413
- </div>
414
- </div>
415
- <div class="method">
416
- <div class="title">
417
- <a name="M000026"></a><b>apr_libs</b>()
418
- </div>
419
- <div class="description">
420
- <p>
421
- The linker flags that are necessary for linking programs that use APR.
422
- </p>
423
- </div>
424
- <div class="sourcecode">
425
- <p class="source-link">[ <a href="javascript:toggleSource('M000026_source')" id="l_M000026_source">show source</a> ]</p>
426
- <div id="M000026_source" class="dyn-source">
427
- <pre>
428
- <span class="ruby-comment cmt"># File lib/phusion_passenger/platform_info.rb, line 458</span>
429
- 458: <span class="ruby-keyword kw">def</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">apr_libs</span>
430
- 459: <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">determine_apr_info</span>[<span class="ruby-value">1</span>]
431
- 460: <span class="ruby-keyword kw">end</span>
432
- </pre>
433
- </div>
434
- </div>
435
- </div>
436
- <div class="method">
437
- <div class="title">
438
- <a name="M000017"></a><b>apu_config</b>()
439
- </div>
440
- <div class="description">
441
- <p>
442
- The absolute path to the &#8216;apu-config&#8217; or
443
- &#8216;apu-1-config&#8217; executable.
444
- </p>
445
- </div>
446
- <div class="sourcecode">
447
- <p class="source-link">[ <a href="javascript:toggleSource('M000017_source')" id="l_M000017_source">show source</a> ]</p>
448
- <div id="M000017_source" class="dyn-source">
449
- <pre>
450
- <span class="ruby-comment cmt"># File lib/phusion_passenger/platform_info.rb, line 283</span>
451
- 283: <span class="ruby-keyword kw">def</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">apu_config</span>
452
- 284: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">env_defined?</span>(<span class="ruby-value str">'APU_CONFIG'</span>)
453
- 285: <span class="ruby-keyword kw">return</span> <span class="ruby-constant">ENV</span>[<span class="ruby-value str">'APU_CONFIG'</span>]
454
- 286: <span class="ruby-keyword kw">elsif</span> <span class="ruby-identifier">apxs2</span>.<span class="ruby-identifier">nil?</span>
455
- 287: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">nil</span>
456
- 288: <span class="ruby-keyword kw">else</span>
457
- 289: <span class="ruby-identifier">filename</span> = <span class="ruby-node">`#{apxs2} -q APU_CONFIG 2&gt;/dev/null`</span>.<span class="ruby-identifier">strip</span>
458
- 290: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">filename</span>.<span class="ruby-identifier">empty?</span>
459
- 291: <span class="ruby-identifier">apu_bindir</span> = <span class="ruby-node">`#{apxs2} -q APU_BINDIR 2&gt;/dev/null`</span>.<span class="ruby-identifier">strip</span>
460
- 292: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">apu_bindir</span>.<span class="ruby-identifier">empty?</span>
461
- 293: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">nil</span>
462
- 294: <span class="ruby-keyword kw">else</span>
463
- 295: <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">select_executable</span>(<span class="ruby-identifier">apu_bindir</span>,
464
- 296: <span class="ruby-value str">&quot;apu-1-config&quot;</span>, <span class="ruby-value str">&quot;apu-config&quot;</span>)
465
- 297: <span class="ruby-keyword kw">end</span>
466
- 298: <span class="ruby-keyword kw">elsif</span> <span class="ruby-constant">File</span>.<span class="ruby-identifier">exist?</span>(<span class="ruby-identifier">filename</span>)
467
- 299: <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">filename</span>
468
- 300: <span class="ruby-keyword kw">else</span>
469
- 301: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">nil</span>
470
- 302: <span class="ruby-keyword kw">end</span>
471
- 303: <span class="ruby-keyword kw">end</span>
472
- 304: <span class="ruby-keyword kw">end</span>
473
- </pre>
474
- </div>
475
- </div>
476
- </div>
477
- <div class="method">
478
- <div class="title">
479
- <a name="M000027"></a><b>apu_flags</b>()
480
- </div>
481
- <div class="description">
482
- <p>
483
- The C compiler flags that are necessary for programs that use APR-Util.
484
- </p>
485
- </div>
486
- <div class="sourcecode">
487
- <p class="source-link">[ <a href="javascript:toggleSource('M000027_source')" id="l_M000027_source">show source</a> ]</p>
488
- <div id="M000027_source" class="dyn-source">
489
- <pre>
490
- <span class="ruby-comment cmt"># File lib/phusion_passenger/platform_info.rb, line 463</span>
491
- 463: <span class="ruby-keyword kw">def</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">apu_flags</span>
492
- 464: <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">determine_apu_info</span>[<span class="ruby-value">0</span>]
493
- 465: <span class="ruby-keyword kw">end</span>
494
- </pre>
495
- </div>
496
- </div>
497
- </div>
498
- <div class="method">
499
- <div class="title">
500
- <a name="M000028"></a><b>apu_libs</b>()
501
- </div>
502
- <div class="description">
503
- <p>
504
- The linker flags that are necessary for linking programs that use APR-Util.
505
- </p>
506
- </div>
507
- <div class="sourcecode">
508
- <p class="source-link">[ <a href="javascript:toggleSource('M000028_source')" id="l_M000028_source">show source</a> ]</p>
509
- <div id="M000028_source" class="dyn-source">
510
- <pre>
511
- <span class="ruby-comment cmt"># File lib/phusion_passenger/platform_info.rb, line 468</span>
512
- 468: <span class="ruby-keyword kw">def</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">apu_libs</span>
513
- 469: <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">determine_apu_info</span>[<span class="ruby-value">1</span>]
514
- 470: <span class="ruby-keyword kw">end</span>
515
- </pre>
516
- </div>
517
- </div>
518
- </div>
519
- <div class="method">
520
- <div class="title">
521
- <a name="M000013"></a><b>apxs2</b>()
522
- </div>
523
- <div class="description">
524
- <p>
525
- The absolute path to the &#8216;apxs&#8217; or &#8216;<a
526
- href="PlatformInfo.html#M000013">apxs2</a>&#8217; executable, or nil if not
527
- found.
528
- </p>
529
- </div>
530
- <div class="sourcecode">
531
- <p class="source-link">[ <a href="javascript:toggleSource('M000013_source')" id="l_M000013_source">show source</a> ]</p>
532
- <div id="M000013_source" class="dyn-source">
533
- <pre>
534
- <span class="ruby-comment cmt"># File lib/phusion_passenger/platform_info.rb, line 219</span>
535
- 219: <span class="ruby-keyword kw">def</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">apxs2</span>
536
- 220: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">env_defined?</span>(<span class="ruby-value str">&quot;APXS2&quot;</span>)
537
- 221: <span class="ruby-keyword kw">return</span> <span class="ruby-constant">ENV</span>[<span class="ruby-value str">&quot;APXS2&quot;</span>]
538
- 222: <span class="ruby-keyword kw">end</span>
539
- 223: [<span class="ruby-value str">'apxs2'</span>, <span class="ruby-value str">'apxs'</span>].<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">name</span><span class="ruby-operator">|</span>
540
- 224: <span class="ruby-identifier">command</span> = <span class="ruby-identifier">find_command</span>(<span class="ruby-identifier">name</span>)
541
- 225: <span class="ruby-keyword kw">if</span> <span class="ruby-operator">!</span><span class="ruby-identifier">command</span>.<span class="ruby-identifier">nil?</span>
542
- 226: <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">command</span>
543
- 227: <span class="ruby-keyword kw">end</span>
544
- 228: <span class="ruby-keyword kw">end</span>
545
- 229: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">nil</span>
546
- 230: <span class="ruby-keyword kw">end</span>
547
- </pre>
548
- </div>
549
- </div>
550
- </div>
551
- <div class="method">
552
- <div class="title">
553
- <a name="M000022"></a><b>debugging_cflags</b>()
554
- </div>
555
- <div class="description">
556
- <p>
557
- C compiler flags that should be passed in order to enable debugging
558
- information.
559
- </p>
560
- </div>
561
- <div class="sourcecode">
562
- <p class="source-link">[ <a href="javascript:toggleSource('M000022_source')" id="l_M000022_source">show source</a> ]</p>
563
- <div id="M000022_source" class="dyn-source">
564
- <pre>
565
- <span class="ruby-comment cmt"># File lib/phusion_passenger/platform_info.rb, line 371</span>
566
- 371: <span class="ruby-keyword kw">def</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">debugging_cflags</span>
567
- 372: <span class="ruby-keyword kw">if</span> <span class="ruby-constant">RUBY_PLATFORM</span> <span class="ruby-operator">=~</span> <span class="ruby-regexp re">/openbsd/</span>
568
- 373: <span class="ruby-comment cmt"># According to OpenBSD's pthreads man page, pthreads do not work</span>
569
- 374: <span class="ruby-comment cmt"># correctly when an app is compiled with -g. It recommends using</span>
570
- 375: <span class="ruby-comment cmt"># -ggdb instead.</span>
571
- 376: <span class="ruby-keyword kw">return</span> <span class="ruby-value str">'-ggdb'</span>
572
- 377: <span class="ruby-keyword kw">else</span>
573
- 378: <span class="ruby-keyword kw">return</span> <span class="ruby-value str">'-g'</span>
574
- 379: <span class="ruby-keyword kw">end</span>
575
- 380: <span class="ruby-keyword kw">end</span>
576
- </pre>
577
- </div>
578
- </div>
579
- </div>
580
- <div class="method">
581
- <div class="title">
582
- <a name="M000010"></a><b>find_command</b>(name)
583
- </div>
584
- <div class="description">
585
- <p>
586
- Check whether the specified command is in $PATH, and return its absolute
587
- filename. Returns nil if the command is not found.
588
- </p>
589
- <p>
590
- This function exists because system(&#8216;which&#8217;) doesn&#8216;t
591
- always behave correctly, for some weird reason.
592
- </p>
593
- </div>
594
- <div class="sourcecode">
595
- <p class="source-link">[ <a href="javascript:toggleSource('M000010_source')" id="l_M000010_source">show source</a> ]</p>
596
- <div id="M000010_source" class="dyn-source">
597
- <pre>
598
- <span class="ruby-comment cmt"># File lib/phusion_passenger/platform_info.rb, line 188</span>
599
- 188: <span class="ruby-keyword kw">def</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">find_command</span>(<span class="ruby-identifier">name</span>)
600
- 189: <span class="ruby-constant">ENV</span>[<span class="ruby-value str">'PATH'</span>].<span class="ruby-identifier">split</span>(<span class="ruby-constant">File</span><span class="ruby-operator">::</span><span class="ruby-constant">PATH_SEPARATOR</span>).<span class="ruby-identifier">detect</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">directory</span><span class="ruby-operator">|</span>
601
- 190: <span class="ruby-identifier">path</span> = <span class="ruby-constant">File</span>.<span class="ruby-identifier">join</span>(<span class="ruby-identifier">directory</span>, <span class="ruby-identifier">name</span>.<span class="ruby-identifier">to_s</span>)
602
- 191: <span class="ruby-keyword kw">if</span> <span class="ruby-constant">File</span>.<span class="ruby-identifier">executable?</span>(<span class="ruby-identifier">path</span>)
603
- 192: <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">path</span>
604
- 193: <span class="ruby-keyword kw">end</span>
605
- 194: <span class="ruby-keyword kw">end</span>
606
- 195: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">nil</span>
607
- 196: <span class="ruby-keyword kw">end</span>
608
- </pre>
609
- </div>
610
- </div>
611
- </div>
612
- <div class="method">
613
- <div class="title">
614
- <a name="M000015"></a><b>httpd</b>()
615
- </div>
616
- <div class="description">
617
- <p>
618
- The absolute path to the Apache binary (that is, &#8216;<a
619
- href="PlatformInfo.html#M000015">httpd</a>&#8217;, &#8216;httpd2&#8217;,
620
- &#8216;apache&#8217; or &#8216;apache2&#8217;).
621
- </p>
622
- </div>
623
- <div class="sourcecode">
624
- <p class="source-link">[ <a href="javascript:toggleSource('M000015_source')" id="l_M000015_source">show source</a> ]</p>
625
- <div id="M000015_source" class="dyn-source">
626
- <pre>
627
- <span class="ruby-comment cmt"># File lib/phusion_passenger/platform_info.rb, line 240</span>
628
- 240: <span class="ruby-keyword kw">def</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">httpd</span>
629
- 241: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">env_defined?</span>(<span class="ruby-value str">'HTTPD'</span>)
630
- 242: <span class="ruby-keyword kw">return</span> <span class="ruby-constant">ENV</span>[<span class="ruby-value str">'HTTPD'</span>]
631
- 243: <span class="ruby-keyword kw">elsif</span> <span class="ruby-identifier">apxs2</span>.<span class="ruby-identifier">nil?</span>
632
- 244: [<span class="ruby-value str">&quot;apache2&quot;</span>, <span class="ruby-value str">&quot;httpd2&quot;</span>, <span class="ruby-value str">&quot;apache&quot;</span>, <span class="ruby-value str">&quot;httpd&quot;</span>].<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">name</span><span class="ruby-operator">|</span>
633
- 245: <span class="ruby-identifier">command</span> = <span class="ruby-identifier">find_command</span>(<span class="ruby-identifier">name</span>)
634
- 246: <span class="ruby-keyword kw">if</span> <span class="ruby-operator">!</span><span class="ruby-identifier">command</span>.<span class="ruby-identifier">nil?</span>
635
- 247: <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">command</span>
636
- 248: <span class="ruby-keyword kw">end</span>
637
- 249: <span class="ruby-keyword kw">end</span>
638
- 250: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">nil</span>
639
- 251: <span class="ruby-keyword kw">else</span>
640
- 252: <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">find_apache2_executable</span>(<span class="ruby-node">`#{apxs2} -q TARGET`</span>.<span class="ruby-identifier">strip</span>)
641
- 253: <span class="ruby-keyword kw">end</span>
642
- 254: <span class="ruby-keyword kw">end</span>
643
- </pre>
644
- </div>
645
- </div>
646
- </div>
647
- <div class="method">
648
- <div class="title">
649
- <a name="M000030"></a><b>library_extension</b>()
650
- </div>
651
- <div class="description">
652
- <p>
653
- The current platform&#8216;s shared library extension (&#8216;so&#8217; on
654
- most Unices).
655
- </p>
656
- </div>
657
- <div class="sourcecode">
658
- <p class="source-link">[ <a href="javascript:toggleSource('M000030_source')" id="l_M000030_source">show source</a> ]</p>
659
- <div id="M000030_source" class="dyn-source">
660
- <pre>
661
- <span class="ruby-comment cmt"># File lib/phusion_passenger/platform_info.rb, line 496</span>
662
- 496: <span class="ruby-keyword kw">def</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">library_extension</span>
663
- 497: <span class="ruby-keyword kw">if</span> <span class="ruby-constant">RUBY_PLATFORM</span> <span class="ruby-operator">=~</span> <span class="ruby-regexp re">/darwin/</span>
664
- 498: <span class="ruby-keyword kw">return</span> <span class="ruby-value str">&quot;bundle&quot;</span>
665
- 499: <span class="ruby-keyword kw">else</span>
666
- 500: <span class="ruby-keyword kw">return</span> <span class="ruby-value str">&quot;so&quot;</span>
667
- 501: <span class="ruby-keyword kw">end</span>
668
- 502: <span class="ruby-keyword kw">end</span>
669
- </pre>
670
- </div>
671
- </div>
672
- </div>
673
- <div class="method">
674
- <div class="title">
675
- <a name="M000031"></a><b>linux_distro</b>()
676
- </div>
677
- <div class="description">
678
- <p>
679
- An identifier for the current Linux distribution. nil if the operating
680
- system is not Linux.
681
- </p>
682
- </div>
683
- <div class="sourcecode">
684
- <p class="source-link">[ <a href="javascript:toggleSource('M000031_source')" id="l_M000031_source">show source</a> ]</p>
685
- <div id="M000031_source" class="dyn-source">
686
- <pre>
687
- <span class="ruby-comment cmt"># File lib/phusion_passenger/platform_info.rb, line 505</span>
688
- 505: <span class="ruby-keyword kw">def</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">linux_distro</span>
689
- 506: <span class="ruby-identifier">tags</span> = <span class="ruby-identifier">linux_distro_tags</span>
690
- 507: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">tags</span>
691
- 508: <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">tags</span>.<span class="ruby-identifier">first</span>
692
- 509: <span class="ruby-keyword kw">else</span>
693
- 510: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">nil</span>
694
- 511: <span class="ruby-keyword kw">end</span>
695
- 512: <span class="ruby-keyword kw">end</span>
696
- </pre>
697
- </div>
698
- </div>
699
- </div>
700
- <div class="method">
701
- <div class="title">
702
- <a name="M000032"></a><b>linux_distro_tags</b>()
703
- </div>
704
- <div class="description">
705
- <p>
706
- Autodetects the current Linux distribution and return a number of
707
- identifier tags. The first tag identifies the distribution while the other
708
- tags indicate which distributions it is likely compatible with. Returns nil
709
- if the operating system is not Linux.
710
- </p>
711
- </div>
712
- <div class="sourcecode">
713
- <p class="source-link">[ <a href="javascript:toggleSource('M000032_source')" id="l_M000032_source">show source</a> ]</p>
714
- <div id="M000032_source" class="dyn-source">
715
- <pre>
716
- <span class="ruby-comment cmt"># File lib/phusion_passenger/platform_info.rb, line 518</span>
717
- 518: <span class="ruby-keyword kw">def</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">linux_distro_tags</span>
718
- 519: <span class="ruby-keyword kw">if</span> <span class="ruby-constant">RUBY_PLATFORM</span> <span class="ruby-operator">!~</span> <span class="ruby-regexp re">/linux/</span>
719
- 520: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">nil</span>
720
- 521: <span class="ruby-keyword kw">end</span>
721
- 522: <span class="ruby-identifier">lsb_release</span> = <span class="ruby-identifier">read_file</span>(<span class="ruby-value str">&quot;/etc/lsb-release&quot;</span>)
722
- 523: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">lsb_release</span> <span class="ruby-operator">=~</span> <span class="ruby-regexp re">/Ubuntu/</span>
723
- 524: <span class="ruby-keyword kw">return</span> [<span class="ruby-identifier">:ubuntu</span>, <span class="ruby-identifier">:debian</span>]
724
- 525: <span class="ruby-keyword kw">elsif</span> <span class="ruby-constant">File</span>.<span class="ruby-identifier">exist?</span>(<span class="ruby-value str">&quot;/etc/debian_version&quot;</span>)
725
- 526: <span class="ruby-keyword kw">return</span> [<span class="ruby-identifier">:debian</span>]
726
- 527: <span class="ruby-keyword kw">elsif</span> <span class="ruby-constant">File</span>.<span class="ruby-identifier">exist?</span>(<span class="ruby-value str">&quot;/etc/redhat-release&quot;</span>)
727
- 528: <span class="ruby-identifier">redhat_release</span> = <span class="ruby-identifier">read_file</span>(<span class="ruby-value str">&quot;/etc/redhat-release&quot;</span>)
728
- 529: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">redhat_release</span> <span class="ruby-operator">=~</span> <span class="ruby-regexp re">/CentOS/</span>
729
- 530: <span class="ruby-keyword kw">return</span> [<span class="ruby-identifier">:centos</span>, <span class="ruby-identifier">:redhat</span>]
730
- 531: <span class="ruby-keyword kw">elsif</span> <span class="ruby-identifier">redhat_release</span> <span class="ruby-operator">=~</span> <span class="ruby-regexp re">/Fedora/</span>
731
- 532: <span class="ruby-keyword kw">return</span> [<span class="ruby-identifier">:fedora</span>, <span class="ruby-identifier">:redhat</span>]
732
- 533: <span class="ruby-keyword kw">elsif</span> <span class="ruby-identifier">redhat_release</span> <span class="ruby-operator">=~</span> <span class="ruby-regexp re">/Mandriva/</span>
733
- 534: <span class="ruby-keyword kw">return</span> [<span class="ruby-identifier">:mandriva</span>, <span class="ruby-identifier">:redhat</span>]
734
- 535: <span class="ruby-keyword kw">else</span>
735
- 536: <span class="ruby-comment cmt"># On official RHEL distros, the content is in the form of</span>
736
- 537: <span class="ruby-comment cmt"># &quot;Red Hat Enterprise Linux Server release 5.1 (Tikanga)&quot;</span>
737
- 538: <span class="ruby-keyword kw">return</span> [<span class="ruby-identifier">:rhel</span>, <span class="ruby-identifier">:redhat</span>]
738
- 539: <span class="ruby-keyword kw">end</span>
739
- 540: <span class="ruby-keyword kw">elsif</span> <span class="ruby-constant">File</span>.<span class="ruby-identifier">exist?</span>(<span class="ruby-value str">&quot;/etc/suse-release&quot;</span>)
740
- 541: <span class="ruby-keyword kw">return</span> [<span class="ruby-identifier">:suse</span>]
741
- 542: <span class="ruby-keyword kw">elsif</span> <span class="ruby-constant">File</span>.<span class="ruby-identifier">exist?</span>(<span class="ruby-value str">&quot;/etc/gentoo-release&quot;</span>)
742
- 543: <span class="ruby-keyword kw">return</span> [<span class="ruby-identifier">:gentoo</span>]
743
- 544: <span class="ruby-keyword kw">else</span>
744
- 545: <span class="ruby-keyword kw">return</span> [<span class="ruby-identifier">:unknown</span>]
745
- 546: <span class="ruby-keyword kw">end</span>
746
- 547: <span class="ruby-comment cmt"># TODO: Slackware</span>
747
- 548: <span class="ruby-keyword kw">end</span>
748
- </pre>
749
- </div>
750
- </div>
751
- </div>
752
- <div class="method">
753
- <div class="title">
754
- <a name="M000020"></a><b>portability_cflags</b>()
755
- </div>
756
- <div class="description">
757
- <p>
758
- Compiler flags that should be used for compiling every C/C++ program, for
759
- portability reasons. These flags should be specified as last when invoking
760
- the compiler.
761
- </p>
762
- </div>
763
- <div class="sourcecode">
764
- <p class="source-link">[ <a href="javascript:toggleSource('M000020_source')" id="l_M000020_source">show source</a> ]</p>
765
- <div id="M000020_source" class="dyn-source">
766
- <pre>
767
- <span class="ruby-comment cmt"># File lib/phusion_passenger/platform_info.rb, line 338</span>
768
- 338: <span class="ruby-keyword kw">def</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">portability_cflags</span>
769
- 339: <span class="ruby-identifier">flags</span> = [<span class="ruby-value str">&quot;-D_REENTRANT -I/usr/local/include&quot;</span>]
770
- 340: <span class="ruby-keyword kw">if</span> <span class="ruby-constant">RUBY_PLATFORM</span> <span class="ruby-operator">=~</span> <span class="ruby-regexp re">/solaris/</span>
771
- 341: <span class="ruby-identifier">flags</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-value str">'-D_XOPEN_SOURCE=500 -D_XPG4_2 -D__EXTENSIONS__ -D__SOLARIS__ -D_FILE_OFFSET_BITS=64'</span>
772
- 342: <span class="ruby-identifier">flags</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-value str">'-DBOOST_HAS_STDINT_H'</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-constant">RUBY_PLATFORM</span> <span class="ruby-operator">=~</span> <span class="ruby-regexp re">/solaris2.9/</span>
773
- 343: <span class="ruby-identifier">flags</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-value str">'-D__SOLARIS9__ -DBOOST__STDC_CONSTANT_MACROS_DEFINED'</span> <span class="ruby-keyword kw">if</span> <span class="ruby-constant">RUBY_PLATFORM</span> <span class="ruby-operator">=~</span> <span class="ruby-regexp re">/solaris2.9/</span>
774
- 344: <span class="ruby-identifier">flags</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-value str">'-mcpu=ultrasparc'</span> <span class="ruby-keyword kw">if</span> <span class="ruby-constant">RUBY_PLATFORM</span> <span class="ruby-operator">=~</span> <span class="ruby-regexp re">/sparc/</span>
775
- 345: <span class="ruby-keyword kw">elsif</span> <span class="ruby-constant">RUBY_PLATFORM</span> <span class="ruby-operator">=~</span> <span class="ruby-regexp re">/openbsd/</span>
776
- 346: <span class="ruby-identifier">flags</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-value str">'-DBOOST_HAS_STDINT_H -D_GLIBCPP__PTHREADS'</span>
777
- 347: <span class="ruby-keyword kw">elsif</span> <span class="ruby-constant">RUBY_PLATFORM</span> <span class="ruby-operator">=~</span> <span class="ruby-regexp re">/aix/</span>
778
- 348: <span class="ruby-identifier">flags</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-value str">'-DOXT_DISABLE_BACKTRACES'</span>
779
- 349: <span class="ruby-keyword kw">elsif</span> <span class="ruby-constant">RUBY_PLATFORM</span> <span class="ruby-operator">=~</span> <span class="ruby-regexp re">/(sparc-linux|arm-linux)/</span>
780
- 350: <span class="ruby-comment cmt"># http://code.google.com/p/phusion-passenger/issues/detail?id=200</span>
781
- 351: <span class="ruby-comment cmt"># http://groups.google.com/group/phusion-passenger/t/6b904a962ee28e5c</span>
782
- 352: <span class="ruby-identifier">flags</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-value str">'-DBOOST_SP_USE_PTHREADS'</span>
783
- 353: <span class="ruby-keyword kw">end</span>
784
- 354: <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">flags</span>.<span class="ruby-identifier">compact</span>.<span class="ruby-identifier">join</span>(<span class="ruby-value str">&quot; &quot;</span>).<span class="ruby-identifier">strip</span>
785
- 355: <span class="ruby-keyword kw">end</span>
786
- </pre>
787
- </div>
788
- </div>
789
- </div>
790
- <div class="method">
791
- <div class="title">
792
- <a name="M000021"></a><b>portability_ldflags</b>()
793
- </div>
794
- <div class="description">
795
- <p>
796
- Linker flags that should be used for linking every C/C++ program, for
797
- portability reasons. These flags should be specified as last when invoking
798
- the linker.
799
- </p>
800
- </div>
801
- <div class="sourcecode">
802
- <p class="source-link">[ <a href="javascript:toggleSource('M000021_source')" id="l_M000021_source">show source</a> ]</p>
803
- <div id="M000021_source" class="dyn-source">
804
- <pre>
805
- <span class="ruby-comment cmt"># File lib/phusion_passenger/platform_info.rb, line 361</span>
806
- 361: <span class="ruby-keyword kw">def</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">portability_ldflags</span>
807
- 362: <span class="ruby-keyword kw">if</span> <span class="ruby-constant">RUBY_PLATFORM</span> <span class="ruby-operator">=~</span> <span class="ruby-regexp re">/solaris/</span>
808
- 363: <span class="ruby-keyword kw">return</span> <span class="ruby-value str">'-lxnet -lrt -lsocket -lnsl -lpthread'</span>
809
- 364: <span class="ruby-keyword kw">else</span>
810
- 365: <span class="ruby-keyword kw">return</span> <span class="ruby-value str">'-lpthread'</span>
811
- 366: <span class="ruby-keyword kw">end</span>
812
- 367: <span class="ruby-keyword kw">end</span>
813
- </pre>
814
- </div>
815
- </div>
816
- </div>
817
- <div class="method">
818
- <div class="title">
819
- <a name="M000011"></a><b>rake</b>()
820
- </div>
821
- <div class="description">
822
- <p>
823
- Returns the absolute path to the Rake executable that belongs to the
824
- current Ruby interpreter. Returns nil if it doesn&#8216;t exist.
825
- </p>
826
- </div>
827
- <div class="sourcecode">
828
- <p class="source-link">[ <a href="javascript:toggleSource('M000011_source')" id="l_M000011_source">show source</a> ]</p>
829
- <div id="M000011_source" class="dyn-source">
830
- <pre>
831
- <span class="ruby-comment cmt"># File lib/phusion_passenger/platform_info.rb, line 205</span>
832
- 205: <span class="ruby-keyword kw">def</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">rake</span>
833
- 206: <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">locate_ruby_executable</span>(<span class="ruby-value str">'rake'</span>)
834
- 207: <span class="ruby-keyword kw">end</span>
835
- </pre>
836
- </div>
837
- </div>
838
- </div>
839
- <div class="method">
840
- <div class="title">
841
- <a name="M000012"></a><b>rspec</b>()
842
- </div>
843
- <div class="description">
844
- <p>
845
- Returns the absolute path to the RSpec runner program that belongs to the
846
- current Ruby interpreter. Returns nil if it doesn&#8216;t exist.
847
- </p>
848
- </div>
849
- <div class="sourcecode">
850
- <p class="source-link">[ <a href="javascript:toggleSource('M000012_source')" id="l_M000012_source">show source</a> ]</p>
851
- <div id="M000012_source" class="dyn-source">
852
- <pre>
853
- <span class="ruby-comment cmt"># File lib/phusion_passenger/platform_info.rb, line 213</span>
854
- 213: <span class="ruby-keyword kw">def</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">rspec</span>
855
- 214: <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">locate_ruby_executable</span>(<span class="ruby-value str">'spec'</span>)
856
- 215: <span class="ruby-keyword kw">end</span>
857
- </pre>
858
- </div>
859
- </div>
860
- </div>
861
- </div>
862
-
863
- </div>
864
-
865
- </body>
866
- </html>