setup 4.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (205) hide show
  1. data/COPYING +515 -0
  2. data/HISTORY +7 -0
  3. data/MANIFEST +231 -0
  4. data/METADATA +25 -0
  5. data/NEWS +21 -0
  6. data/README +110 -0
  7. data/bin/setup.rb +7 -0
  8. data/doc/manual/doc.en/devel.html +208 -0
  9. data/doc/manual/doc.en/hookapi.html +91 -0
  10. data/doc/manual/doc.en/index.html +28 -0
  11. data/doc/manual/doc.en/metaconfapi.html +79 -0
  12. data/doc/manual/doc.en/news.html +189 -0
  13. data/doc/manual/doc.en/usage.html +297 -0
  14. data/doc/manual/doc.ja/devel.html +301 -0
  15. data/doc/manual/doc.ja/hookapi.html +84 -0
  16. data/doc/manual/doc.ja/index.html +28 -0
  17. data/doc/manual/doc.ja/metaconfapi.html +80 -0
  18. data/doc/manual/doc.ja/news.html +186 -0
  19. data/doc/manual/doc.ja/usage.html +319 -0
  20. data/doc/rdoc/classes/Errno.html +89 -0
  21. data/doc/rdoc/classes/Errno/ENOTEMPTY.html +92 -0
  22. data/doc/rdoc/classes/File.html +134 -0
  23. data/doc/rdoc/classes/Setup.html +107 -0
  24. data/doc/rdoc/classes/Setup/Command.html +276 -0
  25. data/doc/rdoc/classes/Setup/ConfigTable.html +622 -0
  26. data/doc/rdoc/classes/Setup/Installer.html +2454 -0
  27. data/doc/rdoc/classes/Setup/Installer/Shebang.html +187 -0
  28. data/doc/rdoc/classes/SetupError.html +92 -0
  29. data/doc/rdoc/created.rid +1 -0
  30. data/doc/rdoc/files/COPYING.html +759 -0
  31. data/doc/rdoc/files/HISTORY.html +104 -0
  32. data/doc/rdoc/files/METADATA.html +92 -0
  33. data/doc/rdoc/files/NEWS.html +113 -0
  34. data/doc/rdoc/files/README.html +214 -0
  35. data/doc/rdoc/files/bin/setup_rb.html +96 -0
  36. data/doc/rdoc/files/lib/setup/build_rb.html +96 -0
  37. data/doc/rdoc/files/lib/setup/command_rb.html +98 -0
  38. data/doc/rdoc/files/lib/setup/config_rb.html +98 -0
  39. data/doc/rdoc/files/lib/setup/error_rb.html +92 -0
  40. data/doc/rdoc/files/lib/setup/install_rb.html +116 -0
  41. data/doc/rdoc/files/lib/setup/rake_rb.html +97 -0
  42. data/doc/rdoc/files/lib/setup/rubyver_rb.html +96 -0
  43. data/doc/rdoc/files/lib/setup_rb.html +92 -0
  44. data/doc/rdoc/fr_class_index.html +55 -0
  45. data/doc/rdoc/fr_file_index.html +60 -0
  46. data/doc/rdoc/fr_method_index.html +182 -0
  47. data/doc/rdoc/index.html +26 -0
  48. data/doc/rdoc/rdoc-style.css +177 -0
  49. data/doc/ri/Errno/ENOTEMPTY/cdesc-ENOTEMPTY.yaml +15 -0
  50. data/doc/ri/Errno/cdesc-Errno.yaml +15 -0
  51. data/doc/ri/File/cdesc-File.yaml +18 -0
  52. data/doc/ri/File/dir%3f-c.yaml +12 -0
  53. data/doc/ri/File/read-c.yaml +10 -0
  54. data/doc/ri/Setup/Command/cdesc-Command.yaml +28 -0
  55. data/doc/ri/Setup/Command/help-i.yaml +12 -0
  56. data/doc/ri/Setup/Command/run-c.yaml +11 -0
  57. data/doc/ri/Setup/Command/run-i.yaml +11 -0
  58. data/doc/ri/Setup/ConfigTable/%5b%5d%3d-i.yaml +12 -0
  59. data/doc/ri/Setup/ConfigTable/%5b%5d-i.yaml +12 -0
  60. data/doc/ri/Setup/ConfigTable/attr_accessor-c.yaml +12 -0
  61. data/doc/ri/Setup/ConfigTable/attr_boolean-c.yaml +12 -0
  62. data/doc/ri/Setup/ConfigTable/attr_pathlist-c.yaml +12 -0
  63. data/doc/ri/Setup/ConfigTable/attr_pathname-c.yaml +12 -0
  64. data/doc/ri/Setup/ConfigTable/cdesc-ConfigTable.yaml +66 -0
  65. data/doc/ri/Setup/ConfigTable/compiles%3f-i.yaml +10 -0
  66. data/doc/ri/Setup/ConfigTable/env_config-i.yaml +12 -0
  67. data/doc/ri/Setup/ConfigTable/extconfs-i.yaml +11 -0
  68. data/doc/ri/Setup/ConfigTable/extensions-i.yaml +10 -0
  69. data/doc/ri/Setup/ConfigTable/initialize_defaults-i.yaml +14 -0
  70. data/doc/ri/Setup/ConfigTable/installdirs%3d-i.yaml +12 -0
  71. data/doc/ri/Setup/ConfigTable/load_config-i.yaml +12 -0
  72. data/doc/ri/Setup/ConfigTable/new-c.yaml +12 -0
  73. data/doc/ri/Setup/ConfigTable/save_config-i.yaml +12 -0
  74. data/doc/ri/Setup/ConfigTable/shebang%3d-i.yaml +12 -0
  75. data/doc/ri/Setup/ConfigTable/show-i.yaml +10 -0
  76. data/doc/ri/Setup/Installer/Shebang/cdesc-Shebang.yaml +28 -0
  77. data/doc/ri/Setup/Installer/Shebang/load-c.yaml +10 -0
  78. data/doc/ri/Setup/Installer/Shebang/new-c.yaml +10 -0
  79. data/doc/ri/Setup/Installer/Shebang/parse-c.yaml +10 -0
  80. data/doc/ri/Setup/Installer/Shebang/to_s-i.yaml +10 -0
  81. data/doc/ri/Setup/Installer/binread-i.yaml +14 -0
  82. data/doc/ri/Setup/Installer/cdesc-Installer.yaml +281 -0
  83. data/doc/ri/Setup/Installer/clean_dir_bin-i.yaml +12 -0
  84. data/doc/ri/Setup/Installer/clean_dir_data-i.yaml +12 -0
  85. data/doc/ri/Setup/Installer/clean_dir_doc-i.yaml +12 -0
  86. data/doc/ri/Setup/Installer/clean_dir_etc-i.yaml +12 -0
  87. data/doc/ri/Setup/Installer/clean_dir_ext-i.yaml +10 -0
  88. data/doc/ri/Setup/Installer/clean_dir_lib-i.yaml +12 -0
  89. data/doc/ri/Setup/Installer/clean_dir_man-i.yaml +12 -0
  90. data/doc/ri/Setup/Installer/command-i.yaml +10 -0
  91. data/doc/ri/Setup/Installer/compiles%3f-i.yaml +10 -0
  92. data/doc/ri/Setup/Installer/config_dir_bin-i.yaml +12 -0
  93. data/doc/ri/Setup/Installer/config_dir_data-i.yaml +12 -0
  94. data/doc/ri/Setup/Installer/config_dir_doc-i.yaml +12 -0
  95. data/doc/ri/Setup/Installer/config_dir_etc-i.yaml +12 -0
  96. data/doc/ri/Setup/Installer/config_dir_ext-i.yaml +10 -0
  97. data/doc/ri/Setup/Installer/config_dir_lib-i.yaml +12 -0
  98. data/doc/ri/Setup/Installer/config_dir_man-i.yaml +12 -0
  99. data/doc/ri/Setup/Installer/curr_objdir-i.yaml +10 -0
  100. data/doc/ri/Setup/Installer/curr_srcdir-i.yaml +12 -0
  101. data/doc/ri/Setup/Installer/diff%3f-i.yaml +10 -0
  102. data/doc/ri/Setup/Installer/directories_of-i.yaml +10 -0
  103. data/doc/ri/Setup/Installer/distclean_dir_bin-i.yaml +12 -0
  104. data/doc/ri/Setup/Installer/distclean_dir_data-i.yaml +12 -0
  105. data/doc/ri/Setup/Installer/distclean_dir_doc-i.yaml +10 -0
  106. data/doc/ri/Setup/Installer/distclean_dir_etc-i.yaml +12 -0
  107. data/doc/ri/Setup/Installer/distclean_dir_ext-i.yaml +10 -0
  108. data/doc/ri/Setup/Installer/distclean_dir_lib-i.yaml +12 -0
  109. data/doc/ri/Setup/Installer/distclean_dir_man-i.yaml +12 -0
  110. data/doc/ri/Setup/Installer/dive_into-i.yaml +10 -0
  111. data/doc/ri/Setup/Installer/dllext-i.yaml +10 -0
  112. data/doc/ri/Setup/Installer/exec_all-i.yaml +12 -0
  113. data/doc/ri/Setup/Installer/exec_clean-i.yaml +12 -0
  114. data/doc/ri/Setup/Installer/exec_config-i.yaml +12 -0
  115. data/doc/ri/Setup/Installer/exec_distclean-i.yaml +12 -0
  116. data/doc/ri/Setup/Installer/exec_doc-i.yaml +11 -0
  117. data/doc/ri/Setup/Installer/exec_install-i.yaml +12 -0
  118. data/doc/ri/Setup/Installer/exec_rdoc-i.yaml +14 -0
  119. data/doc/ri/Setup/Installer/exec_ri-i.yaml +12 -0
  120. data/doc/ri/Setup/Installer/exec_setup-i.yaml +14 -0
  121. data/doc/ri/Setup/Installer/exec_show-i.yaml +12 -0
  122. data/doc/ri/Setup/Installer/exec_task_traverse-i.yaml +12 -0
  123. data/doc/ri/Setup/Installer/exec_test-i.yaml +14 -0
  124. data/doc/ri/Setup/Installer/exec_uninstall-i.yaml +12 -0
  125. data/doc/ri/Setup/Installer/existfiles-i.yaml +10 -0
  126. data/doc/ri/Setup/Installer/extconf-i.yaml +10 -0
  127. data/doc/ri/Setup/Installer/extdir%3f-i.yaml +10 -0
  128. data/doc/ri/Setup/Installer/extensions-i.yaml +12 -0
  129. data/doc/ri/Setup/Installer/files_of-i.yaml +10 -0
  130. data/doc/ri/Setup/Installer/force_remove_file-i.yaml +10 -0
  131. data/doc/ri/Setup/Installer/get_config-i.yaml +11 -0
  132. data/doc/ri/Setup/Installer/glob_reject-i.yaml +10 -0
  133. data/doc/ri/Setup/Installer/glob_select-i.yaml +10 -0
  134. data/doc/ri/Setup/Installer/globs2re-i.yaml +10 -0
  135. data/doc/ri/Setup/Installer/hookfiles-i.yaml +10 -0
  136. data/doc/ri/Setup/Installer/inspect-i.yaml +10 -0
  137. data/doc/ri/Setup/Installer/install-i.yaml +10 -0
  138. data/doc/ri/Setup/Installer/install_dir_bin-i.yaml +10 -0
  139. data/doc/ri/Setup/Installer/install_dir_data-i.yaml +10 -0
  140. data/doc/ri/Setup/Installer/install_dir_doc-i.yaml +12 -0
  141. data/doc/ri/Setup/Installer/install_dir_etc-i.yaml +10 -0
  142. data/doc/ri/Setup/Installer/install_dir_ext-i.yaml +10 -0
  143. data/doc/ri/Setup/Installer/install_dir_lib-i.yaml +10 -0
  144. data/doc/ri/Setup/Installer/install_dir_man-i.yaml +10 -0
  145. data/doc/ri/Setup/Installer/install_files-i.yaml +10 -0
  146. data/doc/ri/Setup/Installer/installation%21-i.yaml +10 -0
  147. data/doc/ri/Setup/Installer/installation%3f-i.yaml +12 -0
  148. data/doc/ri/Setup/Installer/libfiles-i.yaml +10 -0
  149. data/doc/ri/Setup/Installer/make-i.yaml +10 -0
  150. data/doc/ri/Setup/Installer/mapdir-i.yaml +10 -0
  151. data/doc/ri/Setup/Installer/mkdir_p-i.yaml +10 -0
  152. data/doc/ri/Setup/Installer/move_file-i.yaml +10 -0
  153. data/doc/ri/Setup/Installer/new-c.yaml +12 -0
  154. data/doc/ri/Setup/Installer/new_shebang-i.yaml +10 -0
  155. data/doc/ri/Setup/Installer/no_harm%3f-i.yaml +10 -0
  156. data/doc/ri/Setup/Installer/noop-i.yaml +54 -0
  157. data/doc/ri/Setup/Installer/objdir_root-i.yaml +10 -0
  158. data/doc/ri/Setup/Installer/open_atomic_writer-i.yaml +10 -0
  159. data/doc/ri/Setup/Installer/quiet%3f-i.yaml +10 -0
  160. data/doc/ri/Setup/Installer/record_installation-i.yaml +10 -0
  161. data/doc/ri/Setup/Installer/relpath-i.yaml +10 -0
  162. data/doc/ri/Setup/Installer/remove_file-i.yaml +10 -0
  163. data/doc/ri/Setup/Installer/remove_tree-i.yaml +10 -0
  164. data/doc/ri/Setup/Installer/remove_tree0-i.yaml +10 -0
  165. data/doc/ri/Setup/Installer/report_header-i.yaml +11 -0
  166. data/doc/ri/Setup/Installer/rm_f-i.yaml +10 -0
  167. data/doc/ri/Setup/Installer/rm_rf-i.yaml +10 -0
  168. data/doc/ri/Setup/Installer/rmdir-i.yaml +10 -0
  169. data/doc/ri/Setup/Installer/ruby-i.yaml +10 -0
  170. data/doc/ri/Setup/Installer/rubyextentions-i.yaml +10 -0
  171. data/doc/ri/Setup/Installer/run_hook-i.yaml +10 -0
  172. data/doc/ri/Setup/Installer/set_config-i.yaml +12 -0
  173. data/doc/ri/Setup/Installer/setup_dir_bin-i.yaml +10 -0
  174. data/doc/ri/Setup/Installer/setup_dir_data-i.yaml +12 -0
  175. data/doc/ri/Setup/Installer/setup_dir_doc-i.yaml +12 -0
  176. data/doc/ri/Setup/Installer/setup_dir_etc-i.yaml +12 -0
  177. data/doc/ri/Setup/Installer/setup_dir_ext-i.yaml +10 -0
  178. data/doc/ri/Setup/Installer/setup_dir_lib-i.yaml +12 -0
  179. data/doc/ri/Setup/Installer/setup_dir_man-i.yaml +12 -0
  180. data/doc/ri/Setup/Installer/srcdir_root-i.yaml +12 -0
  181. data/doc/ri/Setup/Installer/srcdirectories-i.yaml +10 -0
  182. data/doc/ri/Setup/Installer/srcdirectory%3f-i.yaml +10 -0
  183. data/doc/ri/Setup/Installer/srcentries-i.yaml +10 -0
  184. data/doc/ri/Setup/Installer/srcexist%3f-i.yaml +10 -0
  185. data/doc/ri/Setup/Installer/srcfile%3f-i.yaml +10 -0
  186. data/doc/ri/Setup/Installer/srcfile-i.yaml +10 -0
  187. data/doc/ri/Setup/Installer/srcfiles-i.yaml +10 -0
  188. data/doc/ri/Setup/Installer/targetfiles-i.yaml +10 -0
  189. data/doc/ri/Setup/Installer/traverse-i.yaml +10 -0
  190. data/doc/ri/Setup/Installer/update_shebang_line-i.yaml +10 -0
  191. data/doc/ri/Setup/Installer/verbose%3f-i.yaml +10 -0
  192. data/doc/ri/Setup/Installer/verbose_off-i.yaml +10 -0
  193. data/doc/ri/Setup/cdesc-Setup.yaml +15 -0
  194. data/doc/ri/SetupError/cdesc-SetupError.yaml +15 -0
  195. data/doc/ri/created.rid +1 -0
  196. data/lib/setup.rb +5 -0
  197. data/lib/setup/build.rb +2 -0
  198. data/lib/setup/command.rb +169 -0
  199. data/lib/setup/config.rb +339 -0
  200. data/lib/setup/error.rb +1 -0
  201. data/lib/setup/install.rb +915 -0
  202. data/lib/setup/rake.rb +62 -0
  203. data/lib/setup/rubyver.rb +25 -0
  204. data/script/install +6 -0
  205. metadata +293 -0
@@ -0,0 +1,622 @@
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>Class: Setup::ConfigTable</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 = "+"
36
+ }
37
+ else
38
+ {
39
+ elem.style.display = "block"
40
+ link.innerHTML = "-"
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">Class</span><br />Setup::ConfigTable</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/setup/config_rb.html">lib/setup/config.rb</a>
61
+ </td>
62
+ </tr>
63
+ <tr>
64
+ <td>Parent:</td>
65
+ <td>
66
+ Object
67
+ </td>
68
+ </tr>
69
+ </table>
70
+ </td>
71
+ </tr>
72
+ </table>
73
+ <!-- banner header -->
74
+
75
+ <div id="bodyContent">
76
+ <div id="content">
77
+
78
+ <div class="description"><p>
79
+ Config stores platform information.
80
+ </p>
81
+ </div>
82
+
83
+
84
+
85
+ <div class="sectiontitle">Methods</div>
86
+ <span style="padding-right: 5px;"><a href="#M000005">attr_accessor</a></span>
87
+ <span style="padding-right: 5px;"><a href="#M000006">attr_boolean</a></span>
88
+ <span style="padding-right: 5px;"><a href="#M000004">attr_pathlist</a></span>
89
+ <span style="padding-right: 5px;"><a href="#M000003">attr_pathname</a></span>
90
+ <span style="padding-right: 5px;"><a href="#M000017">compiles?</a></span>
91
+ <span style="padding-right: 5px;"><a href="#M000011">env_config</a></span>
92
+ <span style="padding-right: 5px;"><a href="#M000015">extconfs</a></span>
93
+ <span style="padding-right: 5px;"><a href="#M000016">extensions</a></span>
94
+ <span style="padding-right: 5px;"><a href="#M000010">initialize_defaults</a></span>
95
+ <span style="padding-right: 5px;"><a href="#M000008">installdirs=</a></span>
96
+ <span style="padding-right: 5px;"><a href="#M000012">load_config</a></span>
97
+ <span style="padding-right: 5px;"><a href="#M000009">new</a></span>
98
+ <span style="padding-right: 5px;"><a href="#M000013">save_config</a></span>
99
+ <span style="padding-right: 5px;"><a href="#M000007">shebang=</a></span>
100
+ <span style="padding-right: 5px;"><a href="#M000014">show</a></span>
101
+
102
+
103
+
104
+
105
+ <div class="sectiontitle">Constants</div>
106
+ <table border='0' cellpadding='5'>
107
+ <tr valign='top'>
108
+ <td class="attr-name">RBCONFIG</td>
109
+ <td>=</td>
110
+ <td class="attr-value">::Config::CONFIG</td>
111
+ </tr>
112
+ <tr valign='top'>
113
+ <td class="attr-name">CONFIGFILE</td>
114
+ <td>=</td>
115
+ <td class="attr-value">'.config'</td>
116
+ </tr>
117
+ <tr valign='top'>
118
+ <td class="attr-name">DESCRIPTIONS</td>
119
+ <td>=</td>
120
+ <td class="attr-value">[ [:prefix , :path, 'path prefix of target environment'], [:bindir , :path, 'directory for commands'], [:libdir , :path, 'directory for libraries'], [:datadir , :path, 'directory for shared data'], [:mandir , :path, 'directory for man pages'], [:docdir , :path, 'Directory for documentation'], [:sysconfdir , :path, 'directory for system configuration files'], [:localstatedir , :path, 'directory for local state data'], [:libruby , :path, 'directory for ruby libraries'], [:librubyver , :path, 'directory for standard ruby libraries'], [:librubyverarch , :path, 'directory for standard ruby extensions'], [:siteruby , :path, 'directory for version-independent aux ruby libraries'], [:siterubyver , :path, 'directory for aux ruby libraries'], [:siterubyverarch , :path, 'directory for aux ruby binaries'], [:rbdir , :path, 'directory for ruby scripts'], [:sodir , :path, 'directory for ruby extentions'], [:rubypath , :prog, 'path to set to #! line'], [:rubyprog , :prog, 'ruby program using for installation'], [:makeprog , :prog, 'make program to compile ruby extentions'], [:extconfopt , :name, 'options to pass-thru to extconf.rb'], [:without_ext , :bool, 'do not compile/install ruby extentions'], [:without_doc , :bool, 'do not generate html documentation'], [:shebang , :pick, 'shebang line (#!) editing mode (all,ruby,never)'], [:doctemplate , :pick, 'document template to use (html|xml)'], [:testrunner , :pick, 'Runner to use for testing (auto|console|tk|gtk|gtk2)'], [:installdirs , :pick, 'install location mode (std,site,home :: libruby,site_ruby,$HOME)']</td>
121
+ </tr>
122
+ <tr valign='top'>
123
+ <td class="attr-name">OPTIONS</td>
124
+ <td>=</td>
125
+ <td class="attr-value">DESCRIPTIONS.collect{ |(k,t,v)| k.to_s }</td>
126
+ </tr>
127
+ <tr valign='top'>
128
+ <td>&nbsp;</td>
129
+ <td colspan="2" class="attr-desc">
130
+ List of configurable options.
131
+
132
+ </td>
133
+ </tr>
134
+ </table>
135
+
136
+
137
+ <div class="sectiontitle">Public Class methods</div>
138
+ <div class="method">
139
+ <div class="title">
140
+ <a name="M000005"></a><b>attr_accessor</b>(*names)
141
+ </div>
142
+ <div class="description">
143
+ <p>
144
+ Adds boolean support.
145
+ </p>
146
+ </div>
147
+ <div class="sourcecode">
148
+ <p class="source-link">[ <a href="javascript:toggleSource('M000005_source')" id="l_M000005_source">+</a> ]</p>
149
+ <div id="M000005_source" class="dyn-source">
150
+ <pre>
151
+ <span class="ruby-comment cmt"># File lib/setup/config.rb, line 79</span>
152
+ <span class="ruby-keyword kw">def</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">attr_accessor</span>(<span class="ruby-operator">*</span><span class="ruby-identifier">names</span>)
153
+ <span class="ruby-identifier">bools</span>, <span class="ruby-identifier">attrs</span> = <span class="ruby-identifier">names</span>.<span class="ruby-identifier">partition</span>{ <span class="ruby-operator">|</span><span class="ruby-identifier">name</span><span class="ruby-operator">|</span> <span class="ruby-identifier">name</span>.<span class="ruby-identifier">to_s</span> <span class="ruby-operator">=~</span> <span class="ruby-regexp re">/\?$/</span> }
154
+ <span class="ruby-identifier">attr_boolean</span> <span class="ruby-operator">*</span><span class="ruby-identifier">bools</span>
155
+ <span class="ruby-keyword kw">super</span> <span class="ruby-operator">*</span><span class="ruby-identifier">attrs</span>
156
+ <span class="ruby-keyword kw">end</span>
157
+ </pre>
158
+ </div>
159
+ </div>
160
+ </div>
161
+ <div class="method">
162
+ <div class="title">
163
+ <a name="M000006"></a><b>attr_boolean</b>(*names)
164
+ </div>
165
+ <div class="description">
166
+ <p>
167
+ Boolean attribute. Can be assigned true, false, nil, or a string matching
168
+ yes|true|y|t or no|false|n|f.
169
+ </p>
170
+ </div>
171
+ <div class="sourcecode">
172
+ <p class="source-link">[ <a href="javascript:toggleSource('M000006_source')" id="l_M000006_source">+</a> ]</p>
173
+ <div id="M000006_source" class="dyn-source">
174
+ <pre>
175
+ <span class="ruby-comment cmt"># File lib/setup/config.rb, line 87</span>
176
+ <span class="ruby-keyword kw">def</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">attr_boolean</span>(<span class="ruby-operator">*</span><span class="ruby-identifier">names</span>)
177
+ <span class="ruby-identifier">names</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>
178
+ <span class="ruby-identifier">name</span> = <span class="ruby-identifier">name</span>.<span class="ruby-identifier">to_s</span>.<span class="ruby-identifier">chomp</span>(<span class="ruby-value str">'?'</span>)
179
+ <span class="ruby-identifier">attr_reader</span> <span class="ruby-identifier">name</span> <span class="ruby-comment cmt"># MAYBE: Deprecate</span>
180
+ <span class="ruby-identifier">code</span> = <span class="ruby-node">%{
181
+ def #{name}?; @#{name}; end
182
+ def #{name}=(val)
183
+ case val
184
+ when true, false, nil
185
+ @#{name} = val
186
+ else
187
+ case val.to_s.downcase
188
+ when 'y', 'yes', 't', 'true'
189
+ @#{name} = true
190
+ when 'n', 'no', 'f', 'false'
191
+ @#{name} = false
192
+ else
193
+ raise SetupError, &quot;bad config: use #{name.upcase}=(yes|no) [\#{val}]&quot;
194
+ end
195
+ end
196
+ end
197
+ }</span>
198
+ <span class="ruby-identifier">class_eval</span> <span class="ruby-identifier">code</span>
199
+ <span class="ruby-keyword kw">end</span>
200
+ <span class="ruby-keyword kw">end</span>
201
+ </pre>
202
+ </div>
203
+ </div>
204
+ </div>
205
+ <div class="method">
206
+ <div class="title">
207
+ <a name="M000004"></a><b>attr_pathlist</b>(name)
208
+ </div>
209
+ <div class="description">
210
+ <p>
211
+ List of pathnames. These are not expanded though.
212
+ </p>
213
+ </div>
214
+ <div class="sourcecode">
215
+ <p class="source-link">[ <a href="javascript:toggleSource('M000004_source')" id="l_M000004_source">+</a> ]</p>
216
+ <div id="M000004_source" class="dyn-source">
217
+ <pre>
218
+ <span class="ruby-comment cmt"># File lib/setup/config.rb, line 62</span>
219
+ <span class="ruby-keyword kw">def</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">attr_pathlist</span>(<span class="ruby-identifier">name</span>)
220
+ <span class="ruby-identifier">class_eval</span> <span class="ruby-node">%{
221
+ def #{name}
222
+ @#{name}
223
+ end
224
+ def #{name}=(pathlist)
225
+ case pathlist
226
+ when Array
227
+ @#{name} = pathlist
228
+ else
229
+ @#{name} = pathlist.to_s.split(/[:;,]/)
230
+ end
231
+ end
232
+ }</span>
233
+ <span class="ruby-keyword kw">end</span>
234
+ </pre>
235
+ </div>
236
+ </div>
237
+ </div>
238
+ <div class="method">
239
+ <div class="title">
240
+ <a name="M000003"></a><b>attr_pathname</b>(name)
241
+ </div>
242
+ <div class="description">
243
+ <p>
244
+ Pathname attribute. Pathnames are automatically expanded unless they start
245
+ with &#8217;$&#8217;, a path variable.
246
+ </p>
247
+ </div>
248
+ <div class="sourcecode">
249
+ <p class="source-link">[ <a href="javascript:toggleSource('M000003_source')" id="l_M000003_source">+</a> ]</p>
250
+ <div id="M000003_source" class="dyn-source">
251
+ <pre>
252
+ <span class="ruby-comment cmt"># File lib/setup/config.rb, line 49</span>
253
+ <span class="ruby-keyword kw">def</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">attr_pathname</span>(<span class="ruby-identifier">name</span>)
254
+ <span class="ruby-identifier">class_eval</span> <span class="ruby-node">%{
255
+ def #{name}
256
+ @#{name}.gsub(%r&lt;\\$([^/]+)&gt;){ self[$1] }
257
+ end
258
+ def #{name}=(path)
259
+ raise SetupError, &quot;bad config: #{name.to_s.upcase} requires argument&quot; unless path
260
+ @#{name} = (path[0,1] == '$' ? path : File.expand_path(path))
261
+ end
262
+ }</span>
263
+ <span class="ruby-keyword kw">end</span>
264
+ </pre>
265
+ </div>
266
+ </div>
267
+ </div>
268
+ <div class="method">
269
+ <div class="title">
270
+ <a name="M000009"></a><b>new</b>(values=nil)
271
+ </div>
272
+ <div class="description">
273
+ <p>
274
+ New <a href="ConfigTable.html">ConfigTable</a>
275
+ </p>
276
+ </div>
277
+ <div class="sourcecode">
278
+ <p class="source-link">[ <a href="javascript:toggleSource('M000009_source')" id="l_M000009_source">+</a> ]</p>
279
+ <div id="M000009_source" class="dyn-source">
280
+ <pre>
281
+ <span class="ruby-comment cmt"># File lib/setup/config.rb, line 160</span>
282
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">values</span>=<span class="ruby-keyword kw">nil</span>)
283
+ <span class="ruby-identifier">initialize_defaults</span>
284
+ <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">values</span>
285
+ <span class="ruby-identifier">values</span>.<span class="ruby-identifier">each</span>{ <span class="ruby-operator">|</span><span class="ruby-identifier">k</span>,<span class="ruby-identifier">v</span><span class="ruby-operator">|</span> <span class="ruby-identifier">__send__</span>(<span class="ruby-node">&quot;#{k}=&quot;</span>, <span class="ruby-identifier">v</span>) }
286
+ <span class="ruby-keyword kw">end</span>
287
+ <span class="ruby-identifier">yeild</span>(<span class="ruby-keyword kw">self</span>) <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">block_given?</span>
288
+ <span class="ruby-identifier">load_config</span> <span class="ruby-keyword kw">if</span> <span class="ruby-constant">File</span>.<span class="ruby-identifier">file?</span>(<span class="ruby-constant">CONFIGFILE</span>)
289
+ <span class="ruby-keyword kw">end</span>
290
+ </pre>
291
+ </div>
292
+ </div>
293
+ </div>
294
+ <div class="sectiontitle">Public Instance methods</div>
295
+ <div class="method">
296
+ <div class="title">
297
+ <a name="M000017"></a><b>compiles?</b>()
298
+ </div>
299
+ <div class="sourcecode">
300
+ <p class="source-link">[ <a href="javascript:toggleSource('M000017_source')" id="l_M000017_source">+</a> ]</p>
301
+ <div id="M000017_source" class="dyn-source">
302
+ <pre>
303
+ <span class="ruby-comment cmt"># File lib/setup/config.rb, line 315</span>
304
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">compiles?</span>
305
+ <span class="ruby-operator">!</span><span class="ruby-identifier">extensions</span>.<span class="ruby-identifier">empty?</span>
306
+ <span class="ruby-keyword kw">end</span>
307
+ </pre>
308
+ </div>
309
+ </div>
310
+ </div>
311
+ <div class="method">
312
+ <div class="title">
313
+ <a name="M000011"></a><b>env_config</b>()
314
+ </div>
315
+ <div class="description">
316
+ <p>
317
+ Get configuration from environment.
318
+ </p>
319
+ </div>
320
+ <div class="sourcecode">
321
+ <p class="source-link">[ <a href="javascript:toggleSource('M000011_source')" id="l_M000011_source">+</a> ]</p>
322
+ <div id="M000011_source" class="dyn-source">
323
+ <pre>
324
+ <span class="ruby-comment cmt"># File lib/setup/config.rb, line 255</span>
325
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">env_config</span>
326
+ <span class="ruby-constant">OPTIONS</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>
327
+ <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">value</span> = <span class="ruby-constant">ENV</span>[<span class="ruby-identifier">name</span>]
328
+ <span class="ruby-identifier">__send__</span>(<span class="ruby-node">&quot;#{name}=&quot;</span>,<span class="ruby-identifier">value</span>)
329
+ <span class="ruby-keyword kw">end</span>
330
+ <span class="ruby-keyword kw">end</span>
331
+ <span class="ruby-keyword kw">end</span>
332
+ </pre>
333
+ </div>
334
+ </div>
335
+ </div>
336
+ <div class="method">
337
+ <div class="title">
338
+ <a name="M000015"></a><b>extconfs</b>()
339
+ </div>
340
+ <div class="sourcecode">
341
+ <p class="source-link">[ <a href="javascript:toggleSource('M000015_source')" id="l_M000015_source">+</a> ]</p>
342
+ <div id="M000015_source" class="dyn-source">
343
+ <pre>
344
+ <span class="ruby-comment cmt"># File lib/setup/config.rb, line 307</span>
345
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">extconfs</span>
346
+ <span class="ruby-ivar">@extconfs</span> <span class="ruby-operator">||=</span> <span class="ruby-constant">Dir</span>[<span class="ruby-value str">'ext/**/extconf.rb'</span>]
347
+ <span class="ruby-keyword kw">end</span>
348
+ </pre>
349
+ </div>
350
+ </div>
351
+ </div>
352
+ <div class="method">
353
+ <div class="title">
354
+ <a name="M000016"></a><b>extensions</b>()
355
+ </div>
356
+ <div class="sourcecode">
357
+ <p class="source-link">[ <a href="javascript:toggleSource('M000016_source')" id="l_M000016_source">+</a> ]</p>
358
+ <div id="M000016_source" class="dyn-source">
359
+ <pre>
360
+ <span class="ruby-comment cmt"># File lib/setup/config.rb, line 311</span>
361
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">extensions</span>
362
+ <span class="ruby-ivar">@extensions</span> <span class="ruby-operator">||=</span> <span class="ruby-identifier">extconfs</span>.<span class="ruby-identifier">collect</span>{ <span class="ruby-operator">|</span><span class="ruby-identifier">f</span><span class="ruby-operator">|</span> <span class="ruby-constant">File</span>.<span class="ruby-identifier">dirname</span>(<span class="ruby-identifier">f</span>) }
363
+ <span class="ruby-keyword kw">end</span>
364
+ </pre>
365
+ </div>
366
+ </div>
367
+ </div>
368
+ <div class="method">
369
+ <div class="title">
370
+ <a name="M000010"></a><b>initialize_defaults</b>()
371
+ </div>
372
+ <div class="description">
373
+ <p>
374
+ Assign CONFIG defaults
375
+ </p>
376
+ <p>
377
+ TODO: Does this handle &#8216;nmake&#8217; on windows?
378
+ </p>
379
+ </div>
380
+ <div class="sourcecode">
381
+ <p class="source-link">[ <a href="javascript:toggleSource('M000010_source')" id="l_M000010_source">+</a> ]</p>
382
+ <div id="M000010_source" class="dyn-source">
383
+ <pre>
384
+ <span class="ruby-comment cmt"># File lib/setup/config.rb, line 172</span>
385
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize_defaults</span>
386
+ <span class="ruby-identifier">prefix</span> = <span class="ruby-constant">RBCONFIG</span>[<span class="ruby-value str">'prefix'</span>]
387
+
388
+ <span class="ruby-identifier">rubypath</span> = <span class="ruby-constant">File</span>.<span class="ruby-identifier">join</span>(<span class="ruby-constant">RBCONFIG</span>[<span class="ruby-value str">'bindir'</span>], <span class="ruby-constant">RBCONFIG</span>[<span class="ruby-value str">'ruby_install_name'</span>] <span class="ruby-operator">+</span> <span class="ruby-constant">RBCONFIG</span>[<span class="ruby-value str">'EXEEXT'</span>])
389
+
390
+ <span class="ruby-identifier">major</span> = <span class="ruby-constant">RBCONFIG</span>[<span class="ruby-value str">'MAJOR'</span>].<span class="ruby-identifier">to_i</span>
391
+ <span class="ruby-identifier">minor</span> = <span class="ruby-constant">RBCONFIG</span>[<span class="ruby-value str">'MINOR'</span>].<span class="ruby-identifier">to_i</span>
392
+ <span class="ruby-identifier">teeny</span> = <span class="ruby-constant">RBCONFIG</span>[<span class="ruby-value str">'TEENY'</span>].<span class="ruby-identifier">to_i</span>
393
+ <span class="ruby-identifier">version</span> = <span class="ruby-node">&quot;#{major}.#{minor}&quot;</span>
394
+
395
+ <span class="ruby-comment cmt"># ruby ver. &gt;= 1.4.4?</span>
396
+ <span class="ruby-identifier">newpath_p</span> = ((<span class="ruby-identifier">major</span> <span class="ruby-operator">&gt;=</span> <span class="ruby-value">2</span>) <span class="ruby-keyword kw">or</span>
397
+ ((<span class="ruby-identifier">major</span> <span class="ruby-operator">==</span> <span class="ruby-value">1</span>) <span class="ruby-keyword kw">and</span>
398
+ ((<span class="ruby-identifier">minor</span> <span class="ruby-operator">&gt;=</span> <span class="ruby-value">5</span>) <span class="ruby-keyword kw">or</span>
399
+ ((<span class="ruby-identifier">minor</span> <span class="ruby-operator">==</span> <span class="ruby-value">4</span>) <span class="ruby-keyword kw">and</span> (<span class="ruby-identifier">teeny</span> <span class="ruby-operator">&gt;=</span> <span class="ruby-value">4</span>)))))
400
+
401
+ <span class="ruby-keyword kw">if</span> <span class="ruby-constant">RBCONFIG</span>[<span class="ruby-value str">'rubylibdir'</span>]
402
+ <span class="ruby-comment cmt"># V &gt; 1.6.3</span>
403
+ <span class="ruby-identifier">libruby</span> = <span class="ruby-node">&quot;#{prefix}/lib/ruby&quot;</span>
404
+ <span class="ruby-identifier">librubyver</span> = <span class="ruby-constant">RBCONFIG</span>[<span class="ruby-value str">'rubylibdir'</span>]
405
+ <span class="ruby-identifier">librubyverarch</span> = <span class="ruby-constant">RBCONFIG</span>[<span class="ruby-value str">'archdir'</span>]
406
+ <span class="ruby-identifier">siteruby</span> = <span class="ruby-constant">RBCONFIG</span>[<span class="ruby-value str">'sitedir'</span>]
407
+ <span class="ruby-identifier">siterubyver</span> = <span class="ruby-constant">RBCONFIG</span>[<span class="ruby-value str">'sitelibdir'</span>]
408
+ <span class="ruby-identifier">siterubyverarch</span> = <span class="ruby-constant">RBCONFIG</span>[<span class="ruby-value str">'sitearchdir'</span>]
409
+ <span class="ruby-keyword kw">elsif</span> <span class="ruby-identifier">newpath_p</span>
410
+ <span class="ruby-comment cmt"># 1.4.4 &lt;= V &lt;= 1.6.3</span>
411
+ <span class="ruby-identifier">libruby</span> = <span class="ruby-node">&quot;#{prefix}/lib/ruby&quot;</span>
412
+ <span class="ruby-identifier">librubyver</span> = <span class="ruby-node">&quot;#{prefix}/lib/ruby/#{version}&quot;</span>
413
+ <span class="ruby-identifier">librubyverarch</span> = <span class="ruby-node">&quot;#{prefix}/lib/ruby/#{version}/#{c['arch']}&quot;</span>
414
+ <span class="ruby-identifier">siteruby</span> = <span class="ruby-constant">RBCONFIG</span>[<span class="ruby-value str">'sitedir'</span>]
415
+ <span class="ruby-identifier">siterubyver</span> = <span class="ruby-node">&quot;$siteruby/#{version}&quot;</span>
416
+ <span class="ruby-identifier">siterubyverarch</span> = <span class="ruby-node">&quot;$siterubyver/#{RBCONFIG['arch']}&quot;</span>
417
+ <span class="ruby-keyword kw">else</span>
418
+ <span class="ruby-comment cmt"># V &lt; 1.4.4</span>
419
+ <span class="ruby-identifier">libruby</span> = <span class="ruby-node">&quot;#{prefix}/lib/ruby&quot;</span>
420
+ <span class="ruby-identifier">librubyver</span> = <span class="ruby-node">&quot;#{prefix}/lib/ruby/#{version}&quot;</span>
421
+ <span class="ruby-identifier">librubyverarch</span> = <span class="ruby-node">&quot;#{prefix}/lib/ruby/#{version}/#{c['arch']}&quot;</span>
422
+ <span class="ruby-identifier">siteruby</span> = <span class="ruby-node">&quot;#{prefix}/lib/ruby/#{version}/site_ruby&quot;</span>
423
+ <span class="ruby-identifier">siterubyver</span> = <span class="ruby-identifier">siteruby</span>
424
+ <span class="ruby-identifier">siterubyverarch</span> = <span class="ruby-node">&quot;$siterubyver/#{RBCONFIG['arch']}&quot;</span>
425
+ <span class="ruby-keyword kw">end</span>
426
+
427
+ <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">arg</span> = <span class="ruby-constant">RBCONFIG</span>[<span class="ruby-value str">'configure_args'</span>].<span class="ruby-identifier">split</span>.<span class="ruby-identifier">detect</span> {<span class="ruby-operator">|</span><span class="ruby-identifier">arg</span><span class="ruby-operator">|</span> <span class="ruby-regexp re">/--with-make-prog=/</span> <span class="ruby-operator">=~</span> <span class="ruby-identifier">arg</span> }
428
+ <span class="ruby-identifier">makeprog</span> = <span class="ruby-identifier">arg</span>.<span class="ruby-identifier">sub</span>(<span class="ruby-regexp re">/'/</span>, <span class="ruby-value str">''</span>).<span class="ruby-identifier">split</span>(<span class="ruby-regexp re">/=/</span>, <span class="ruby-value">2</span>)[<span class="ruby-value">1</span>]
429
+ <span class="ruby-keyword kw">else</span>
430
+ <span class="ruby-identifier">makeprog</span> = <span class="ruby-value str">'make'</span>
431
+ <span class="ruby-keyword kw">end</span>
432
+
433
+ <span class="ruby-identifier">parameterize</span> = <span class="ruby-identifier">lambda</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">path</span><span class="ruby-operator">|</span>
434
+ <span class="ruby-identifier">val</span> = <span class="ruby-constant">RBCONFIG</span>[<span class="ruby-identifier">path</span>]
435
+ <span class="ruby-identifier">raise</span> <span class="ruby-node">&quot;Unknown path -- #{path}&quot;</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">val</span>.<span class="ruby-identifier">nil?</span>
436
+ <span class="ruby-identifier">val</span>.<span class="ruby-identifier">sub</span>(<span class="ruby-node">/\A#{Regexp.quote(prefix)}/</span>, <span class="ruby-value str">'$prefix'</span>)
437
+ <span class="ruby-keyword kw">end</span>
438
+
439
+ <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">prefix</span> = <span class="ruby-identifier">prefix</span>
440
+ <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">bindir</span> = <span class="ruby-identifier">parameterize</span>[<span class="ruby-value str">'bindir'</span>]
441
+ <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">libdir</span> = <span class="ruby-identifier">parameterize</span>[<span class="ruby-value str">'libdir'</span>]
442
+ <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">datadir</span> = <span class="ruby-identifier">parameterize</span>[<span class="ruby-value str">'datadir'</span>]
443
+ <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">mandir</span> = <span class="ruby-identifier">parameterize</span>[<span class="ruby-value str">'mandir'</span>]
444
+ <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">docdir</span> = <span class="ruby-constant">File</span>.<span class="ruby-identifier">dirname</span>(<span class="ruby-identifier">parameterize</span>[<span class="ruby-value str">'docdir'</span>]) <span class="ruby-comment cmt"># b/c of trailing $(PACKAGE)</span>
445
+ <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">sysconfdir</span> = <span class="ruby-identifier">parameterize</span>[<span class="ruby-value str">'sysconfdir'</span>]
446
+ <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">localstatedir</span> = <span class="ruby-identifier">parameterize</span>[<span class="ruby-value str">'localstatedir'</span>]
447
+ <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">libruby</span> = <span class="ruby-identifier">libruby</span>
448
+ <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">librubyver</span> = <span class="ruby-identifier">librubyver</span>
449
+ <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">librubyverarch</span> = <span class="ruby-identifier">librubyverarch</span>
450
+ <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">siteruby</span> = <span class="ruby-identifier">siteruby</span>
451
+ <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">siterubyver</span> = <span class="ruby-identifier">siterubyver</span>
452
+ <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">siterubyverarch</span> = <span class="ruby-identifier">siterubyverarch</span>
453
+ <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">rbdir</span> = <span class="ruby-value str">'$siterubyver'</span>
454
+ <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">sodir</span> = <span class="ruby-value str">'$siterubyverarch'</span>
455
+ <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">rubypath</span> = <span class="ruby-identifier">rubypath</span>
456
+ <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">rubyprog</span> = <span class="ruby-identifier">rubypath</span>
457
+ <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">makeprog</span> = <span class="ruby-identifier">makeprog</span>
458
+ <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">extconfopt</span> = <span class="ruby-value str">''</span>
459
+ <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">shebang</span> = <span class="ruby-value str">'ruby'</span>
460
+ <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">without_ext</span> = <span class="ruby-value str">'no'</span>
461
+ <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">without_doc</span> = <span class="ruby-value str">'yes'</span>
462
+ <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">doctemplate</span> = <span class="ruby-value str">'html'</span>
463
+ <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">testrunner</span> = <span class="ruby-value str">'auto'</span>
464
+ <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">installdirs</span> = <span class="ruby-value str">'site'</span>
465
+ <span class="ruby-keyword kw">end</span>
466
+ </pre>
467
+ </div>
468
+ </div>
469
+ </div>
470
+ <div class="method">
471
+ <div class="title">
472
+ <a name="M000008"></a><b>installdirs=</b>(val)
473
+ </div>
474
+ <div class="description">
475
+ <p>
476
+ installdirs has only three options; and it has side-effects.
477
+ </p>
478
+ </div>
479
+ <div class="sourcecode">
480
+ <p class="source-link">[ <a href="javascript:toggleSource('M000008_source')" id="l_M000008_source">+</a> ]</p>
481
+ <div id="M000008_source" class="dyn-source">
482
+ <pre>
483
+ <span class="ruby-comment cmt"># File lib/setup/config.rb, line 140</span>
484
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">installdirs=</span>(<span class="ruby-identifier">val</span>)
485
+ <span class="ruby-ivar">@installdirs</span> = <span class="ruby-identifier">val</span>
486
+ <span class="ruby-keyword kw">case</span> <span class="ruby-identifier">val</span>.<span class="ruby-identifier">to_s</span>
487
+ <span class="ruby-keyword kw">when</span> <span class="ruby-value str">'std'</span>
488
+ <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">rbdir</span> = <span class="ruby-value str">'$librubyver'</span>
489
+ <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">sodir</span> = <span class="ruby-value str">'$librubyverarch'</span>
490
+ <span class="ruby-keyword kw">when</span> <span class="ruby-value str">'site'</span>
491
+ <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">rbdir</span> = <span class="ruby-value str">'$siterubyver'</span>
492
+ <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">sodir</span> = <span class="ruby-value str">'$siterubyverarch'</span>
493
+ <span class="ruby-keyword kw">when</span> <span class="ruby-value str">'home'</span>
494
+ <span class="ruby-identifier">raise</span> <span class="ruby-constant">SetupError</span>, <span class="ruby-value str">'HOME is not set.'</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-constant">ENV</span>[<span class="ruby-value str">'HOME'</span>]
495
+ <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">prefix</span> = <span class="ruby-constant">ENV</span>[<span class="ruby-value str">'HOME'</span>]
496
+ <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">rbdir</span> = <span class="ruby-value str">'$libdir/ruby'</span>
497
+ <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">sodir</span> = <span class="ruby-value str">'$libdir/ruby'</span>
498
+ <span class="ruby-keyword kw">else</span>
499
+ <span class="ruby-identifier">raise</span> <span class="ruby-constant">SetupError</span>, <span class="ruby-node">&quot;bad config: use INSTALLDIRS=(std|site|home|local) [#{val}]&quot;</span>
500
+ <span class="ruby-keyword kw">end</span>
501
+ <span class="ruby-keyword kw">end</span>
502
+ </pre>
503
+ </div>
504
+ </div>
505
+ </div>
506
+ <div class="method">
507
+ <div class="title">
508
+ <a name="M000012"></a><b>load_config</b>()
509
+ </div>
510
+ <div class="description">
511
+ <p>
512
+ Load configuration.
513
+ </p>
514
+ </div>
515
+ <div class="sourcecode">
516
+ <p class="source-link">[ <a href="javascript:toggleSource('M000012_source')" id="l_M000012_source">+</a> ]</p>
517
+ <div id="M000012_source" class="dyn-source">
518
+ <pre>
519
+ <span class="ruby-comment cmt"># File lib/setup/config.rb, line 264</span>
520
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">load_config</span>
521
+ <span class="ruby-comment cmt">#if File.file?(CONFIGFILE)</span>
522
+ <span class="ruby-keyword kw">begin</span>
523
+ <span class="ruby-constant">File</span>.<span class="ruby-identifier">foreach</span>(<span class="ruby-constant">CONFIGFILE</span>) <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">line</span><span class="ruby-operator">|</span>
524
+ <span class="ruby-identifier">k</span>, <span class="ruby-identifier">v</span> = <span class="ruby-operator">*</span><span class="ruby-identifier">line</span>.<span class="ruby-identifier">split</span>(<span class="ruby-regexp re">/=/</span>, <span class="ruby-value">2</span>)
525
+ <span class="ruby-identifier">k</span>.<span class="ruby-identifier">gsub!</span>(<span class="ruby-value str">'-'</span>,<span class="ruby-value str">'_'</span>)
526
+ <span class="ruby-identifier">__send__</span>(<span class="ruby-node">&quot;#{k}=&quot;</span>,<span class="ruby-identifier">v</span>.<span class="ruby-identifier">strip</span>) <span class="ruby-comment cmt">#self[k] = v.strip</span>
527
+ <span class="ruby-keyword kw">end</span>
528
+ <span class="ruby-keyword kw">rescue</span> <span class="ruby-constant">Errno</span><span class="ruby-operator">::</span><span class="ruby-constant">ENOENT</span>
529
+ <span class="ruby-identifier">raise</span> <span class="ruby-constant">SetupError</span>, <span class="ruby-identifier">$!</span>.<span class="ruby-identifier">message</span> <span class="ruby-operator">+</span> <span class="ruby-node">&quot;\n#{File.basename($0)} config first&quot;</span>
530
+ <span class="ruby-keyword kw">end</span>
531
+ <span class="ruby-comment cmt">#end</span>
532
+ <span class="ruby-keyword kw">end</span>
533
+ </pre>
534
+ </div>
535
+ </div>
536
+ </div>
537
+ <div class="method">
538
+ <div class="title">
539
+ <a name="M000013"></a><b>save_config</b>()
540
+ </div>
541
+ <div class="description">
542
+ <p>
543
+ Save configuration.
544
+ </p>
545
+ </div>
546
+ <div class="sourcecode">
547
+ <p class="source-link">[ <a href="javascript:toggleSource('M000013_source')" id="l_M000013_source">+</a> ]</p>
548
+ <div id="M000013_source" class="dyn-source">
549
+ <pre>
550
+ <span class="ruby-comment cmt"># File lib/setup/config.rb, line 279</span>
551
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">save_config</span>
552
+ <span class="ruby-constant">File</span>.<span class="ruby-identifier">open</span>(<span class="ruby-constant">CONFIGFILE</span>, <span class="ruby-value str">'w'</span>) <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">f</span><span class="ruby-operator">|</span>
553
+ <span class="ruby-constant">OPTIONS</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>
554
+ <span class="ruby-identifier">val</span> = <span class="ruby-keyword kw">self</span>[<span class="ruby-identifier">name</span>]
555
+ <span class="ruby-identifier">f</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-node">&quot;#{name}=#{val}\n&quot;</span>
556
+ <span class="ruby-keyword kw">end</span>
557
+ <span class="ruby-keyword kw">end</span>
558
+ <span class="ruby-keyword kw">end</span>
559
+ </pre>
560
+ </div>
561
+ </div>
562
+ </div>
563
+ <div class="method">
564
+ <div class="title">
565
+ <a name="M000007"></a><b>shebang=</b>(val)
566
+ </div>
567
+ <div class="description">
568
+ <p>
569
+ shebang has only three options.
570
+ </p>
571
+ </div>
572
+ <div class="sourcecode">
573
+ <p class="source-link">[ <a href="javascript:toggleSource('M000007_source')" id="l_M000007_source">+</a> ]</p>
574
+ <div id="M000007_source" class="dyn-source">
575
+ <pre>
576
+ <span class="ruby-comment cmt"># File lib/setup/config.rb, line 131</span>
577
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">shebang=</span>(<span class="ruby-identifier">val</span>)
578
+ <span class="ruby-keyword kw">if</span> <span class="ruby-node">%w(all ruby never)</span>.<span class="ruby-identifier">include?</span>(<span class="ruby-identifier">val</span>)
579
+ <span class="ruby-ivar">@shebang</span> = <span class="ruby-identifier">val</span>
580
+ <span class="ruby-keyword kw">else</span>
581
+ <span class="ruby-identifier">raise</span> <span class="ruby-constant">SetupError</span>, <span class="ruby-node">&quot;bad config: use SHEBANG=(all|ruby|never) [#{val}]&quot;</span>
582
+ <span class="ruby-keyword kw">end</span>
583
+ <span class="ruby-keyword kw">end</span>
584
+ </pre>
585
+ </div>
586
+ </div>
587
+ </div>
588
+ <div class="method">
589
+ <div class="title">
590
+ <a name="M000014"></a><b>show</b>()
591
+ </div>
592
+ <div class="sourcecode">
593
+ <p class="source-link">[ <a href="javascript:toggleSource('M000014_source')" id="l_M000014_source">+</a> ]</p>
594
+ <div id="M000014_source" class="dyn-source">
595
+ <pre>
596
+ <span class="ruby-comment cmt"># File lib/setup/config.rb, line 288</span>
597
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">show</span>
598
+ <span class="ruby-identifier">fmt</span> = <span class="ruby-value str">&quot;%-20s %s\n&quot;</span>
599
+ <span class="ruby-constant">OPTIONS</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>
600
+ <span class="ruby-identifier">value</span> = <span class="ruby-keyword kw">self</span>[<span class="ruby-identifier">name</span>]
601
+ <span class="ruby-identifier">reslv</span> = <span class="ruby-identifier">__send__</span>(<span class="ruby-identifier">name</span>)
602
+ <span class="ruby-keyword kw">case</span> <span class="ruby-identifier">reslv</span>
603
+ <span class="ruby-keyword kw">when</span> <span class="ruby-constant">String</span>
604
+ <span class="ruby-identifier">reslv</span> = <span class="ruby-value str">&quot;(none)&quot;</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">reslv</span>.<span class="ruby-identifier">empty?</span>
605
+ <span class="ruby-keyword kw">when</span> <span class="ruby-keyword kw">false</span>, <span class="ruby-keyword kw">nil</span>
606
+ <span class="ruby-identifier">reslv</span> = <span class="ruby-value str">&quot;no&quot;</span>
607
+ <span class="ruby-keyword kw">when</span> <span class="ruby-keyword kw">true</span>
608
+ <span class="ruby-identifier">reslv</span> = <span class="ruby-value str">&quot;yes&quot;</span>
609
+ <span class="ruby-keyword kw">end</span>
610
+ <span class="ruby-identifier">printf</span> <span class="ruby-identifier">fmt</span>, <span class="ruby-identifier">name</span>, <span class="ruby-identifier">reslv</span>
611
+ <span class="ruby-keyword kw">end</span>
612
+ <span class="ruby-keyword kw">end</span>
613
+ </pre>
614
+ </div>
615
+ </div>
616
+ </div>
617
+ </div>
618
+
619
+ </div>
620
+
621
+ </body>
622
+ </html>