setup 4.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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>