Changeset 38
- Timestamp:
- 08/09/05 20:11:18 (7 years ago)
- Files:
-
- downloads/build-2.09.doc.zip (added)
- downloads/build-2.09.src.zip (added)
- downloads/build_win_2.09.exe (added)
- trunk/Docs/AUTO_BUILD_NUMBER.htm (modified) (1 diff)
- trunk/Docs/CHANGE_LOG.htm (modified) (1 diff)
- trunk/Docs/COMMAND_LINE.htm (modified) (2 diffs)
- trunk/Docs/CONFIGURATION_FILE.htm (modified) (1 diff)
- trunk/Docs/DLL_LIBRARIES.htm (modified) (1 diff)
- trunk/Docs/PRAGMA.htm (modified) (9 diffs)
- trunk/Docs/RESPONSE_FILE.htm (modified) (1 diff)
- trunk/Docs/RULE_DEFINITION_FILE.htm (modified) (1 diff)
- trunk/Docs/SWITCHES.htm (modified) (30 diffs)
- trunk/Docs/TO_DO.htm (modified) (1 diff)
- trunk/Docs/index.htm (modified) (3 diffs)
- trunk/Source/build.cfg (modified) (1 diff)
- trunk/Source/build.d (modified) (40 diffs)
- trunk/Source/build.def (modified) (1 diff)
- trunk/Source/build.ksp (added)
- trunk/Source/build.rsp (modified) (1 diff)
- trunk/Source/build_bn.d (modified) (1 diff)
- trunk/Source/source.d (modified) (19 diffs)
- trunk/Source/source_bn.d (modified) (1 diff)
- trunk/Source/util/BMscanner.d (deleted)
- trunk/Source/util/bmscanner_bn.d (deleted)
- trunk/Source/util/fdt_bn.d (modified) (1 diff)
- trunk/Source/util/fileex.d (modified) (6 diffs)
- trunk/Source/util/fileex_bn.d (modified) (1 diff)
- trunk/Source/util/linetoken.d (modified) (2 diffs)
- trunk/Source/util/linetoken_bn.d (modified) (1 diff)
- trunk/Source/util/macro.d (modified) (1 diff)
- trunk/Source/util/pathex.d (modified) (5 diffs)
- trunk/Source/util/pathex_bn.d (modified) (1 diff)
- trunk/Source/util/str.d (modified) (7 diffs)
- trunk/Source/util/str_bn.d (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
trunk/Docs/AUTO_BUILD_NUMBER.htm
r37 r38 2 2 <head> 3 3 <!-- Generated by MAKEDOC v1.1, (c) 2000,2003 by David Cuny, Derek Parnell, Matt Lewis --> 4 <!-- on 2005/0 5/30 at 10h23m56-->4 <!-- on 2005/08/10 at 11h01m17 --> 5 5 <style>h4 {text-align: right}</style> 6 <title>Documentation for Build v2.0 8</title>6 <title>Documentation for Build v2.09</title> 7 7 </head> 8 8 <body> 9 <h4>Documentation for Build v2.0 8<br>9 <h4>Documentation for Build v2.09<br> 10 10 <a href="index.htm#makedocTOC">Table of Contents</a></h4> 11 11 <h1><a name="AUTO_BUILD_NUMBER">Auto Build Number</a></h1> trunk/Docs/CHANGE_LOG.htm
r37 r38 2 2 <head> 3 3 <!-- Generated by MAKEDOC v1.1, (c) 2000,2003 by David Cuny, Derek Parnell, Matt Lewis --> 4 <!-- on 2005/0 5/30 at 10h23m56-->4 <!-- on 2005/08/10 at 11h01m17 --> 5 5 <style>h4 {text-align: right}</style> 6 <title>Documentation for Build v2.0 8</title>6 <title>Documentation for Build v2.09</title> 7 7 </head> 8 8 <body> 9 <h4>Documentation for Build v2.0 8<br>9 <h4>Documentation for Build v2.09<br> 10 10 <a href="index.htm#makedocTOC">Table of Contents</a></h4> 11 11 <h1><a name="CHANGE_LOG">Change Log</a></h1> 12 12 <p><h3>A list of changes and fixes that have been made. 13 13 </h3><br> 14 <p> 15 <strong> -- v2.09 -- 10/Aug/2005 </strong> 16 <ul> 17 <li> ** <strong>FIX</strong>: <em>thanks to barrett9h (rodolfo)</em>: Now correctly handles the return value 18 from Unix system() call. 19 <li> ** <strong>FIX</strong>: <em>thanks to oniony</em>: Now handles non_ASCII characters in PATH 20 environment symbol. 21 <li> ** <strong>CHG</strong>: The "-silent" switch now also hides the linker stdout display. 22 <li> ** <strong>CHG</strong>: Now supports and requires DMD v0.126 and GDC v0.13 or later. 23 <li> ** <strong>ENH</strong>: New pragma(export_version) allows specified version identifiers to 24 be passed to all modules being compiled. 25 <li> ** <strong>ENH</strong>: New command line switch "-run" to run the program 26 after a successful link. 27 </ul> 14 28 <p> 15 29 <strong> -- v2.08 -- 29/May/2005 </strong> trunk/Docs/COMMAND_LINE.htm
r37 r38 2 2 <head> 3 3 <!-- Generated by MAKEDOC v1.1, (c) 2000,2003 by David Cuny, Derek Parnell, Matt Lewis --> 4 <!-- on 2005/0 5/30 at 10h23m56-->4 <!-- on 2005/08/10 at 11h01m17 --> 5 5 <style>h4 {text-align: right}</style> 6 <title>Documentation for Build v2.0 8</title>6 <title>Documentation for Build v2.09</title> 7 7 </head> 8 8 <body> 9 <h4>Documentation for Build v2.0 8<br>9 <h4>Documentation for Build v2.09<br> 10 10 <a href="index.htm#makedocTOC">Table of Contents</a></h4> 11 11 <h1><a name="COMMAND_LINE">Command Line</a></h1> … … 95 95 <strong>-noautoimport</strong> Turns off the automatic addition of source paths 96 96 to the list of Import Roots. 97 <strong>-run<param></strong> If the link is successful, this will cause the 98 executable just created to run. You can give it 99 run time parameters. Anything after the '-run' will 100 placed in the program's command line. You will need 101 to quote any embedded spaces. 97 102 <strong>-od<path></strong> Nominate the directory where temporary (work) files 98 103 are to be created. By default they are created in trunk/Docs/CONFIGURATION_FILE.htm
r37 r38 2 2 <head> 3 3 <!-- Generated by MAKEDOC v1.1, (c) 2000,2003 by David Cuny, Derek Parnell, Matt Lewis --> 4 <!-- on 2005/0 5/30 at 10h23m56-->4 <!-- on 2005/08/10 at 11h01m17 --> 5 5 <style>h4 {text-align: right}</style> 6 <title>Documentation for Build v2.0 8</title>6 <title>Documentation for Build v2.09</title> 7 7 </head> 8 8 <body> 9 <h4>Documentation for Build v2.0 8<br>9 <h4>Documentation for Build v2.09<br> 10 10 <a href="index.htm#makedocTOC">Table of Contents</a></h4> 11 11 <h1><a name="CONFIGURATION_FILE">Configuration File</a></h1> trunk/Docs/DLL_LIBRARIES.htm
r37 r38 2 2 <head> 3 3 <!-- Generated by MAKEDOC v1.1, (c) 2000,2003 by David Cuny, Derek Parnell, Matt Lewis --> 4 <!-- on 2005/0 5/30 at 10h23m57 -->4 <!-- on 2005/08/10 at 11h01m17 --> 5 5 <style>h4 {text-align: right}</style> 6 <title>Documentation for Build v2.0 8</title>6 <title>Documentation for Build v2.09</title> 7 7 </head> 8 8 <body> 9 <h4>Documentation for Build v2.0 8<br>9 <h4>Documentation for Build v2.09<br> 10 10 <a href="index.htm#makedocTOC">Table of Contents</a></h4> 11 11 <h1><a name="DLL_LIBRARIES">DLL Libraries</a></h1> trunk/Docs/PRAGMA.htm
r37 r38 2 2 <head> 3 3 <!-- Generated by MAKEDOC v1.1, (c) 2000,2003 by David Cuny, Derek Parnell, Matt Lewis --> 4 <!-- on 2005/0 5/30 at 10h23m57 -->4 <!-- on 2005/08/10 at 11h01m17 --> 5 5 <style>h4 {text-align: right}</style> 6 <title>Documentation for Build v2.0 8</title>6 <title>Documentation for Build v2.09</title> 7 7 </head> 8 8 <body> 9 <h4>Documentation for Build v2.0 8<br>9 <h4>Documentation for Build v2.09<br> 10 10 <a href="index.htm#makedocTOC">Table of Contents</a></h4> 11 11 <h1><a name="PRAGMA">Pragma</a></h1> … … 34 34 <li><a href="#BUILD"><i>pragma</i> build</a> This identifies a file that needs an external program to build it. 35 35 <li><a href="#BUILD_DEF"><i>pragma</i> build_def</a> This supplies an option to be placed in an OptLink definition file. 36 <li><a href="#EXPORT_VERSION"><i>pragma</i> export_version</a> This allows you to set a global version identifier. 36 37 <li><a href="#INCLUDE"><i>pragma</i> include</a> This identifies a required file which is not otherwise imported. 37 38 <li><a href="#LINK"><i>pragma</i> link</a> This nominates one or more libraries that are required to be linked in. … … 39 40 <li><a href="#TARGET"><i>pragma</i> target</a> This identifies the basename of the target file. 40 41 <hr> 41 <h4>Documentation for Build v2.0 8<br>42 <h4>Documentation for Build v2.09<br> 42 43 <a href="index.htm#makedocTOC">Table of Contents</a></h4> 43 44 <h2><a name="BUILD">[<i>pragma</i>]<br>build</a> </h2> … … 99 100 <p>See Also: 100 101 <a href="#BUILD_DEF">build_def</a>, 101 <a href="#INCLUDE">include</a>, 102 <a href="#LINK">link</a>, 103 <a href="#NOLINK">nolink</a>, 104 <a href="#TARGET">target</a> 105 <hr> 106 <h4>Documentation for Build v2.08<br> 102 <a href="#EXPORT_VERSION">export_version</a>, 103 <a href="#INCLUDE">include</a>, 104 <a href="#LINK">link</a>, 105 <a href="#NOLINK">nolink</a>, 106 <a href="#TARGET">target</a> 107 <hr> 108 <h4>Documentation for Build v2.09<br> 107 109 <a href="index.htm#makedocTOC">Table of Contents</a></h4> 108 110 <h2><a name="BUILD_DEF">[<i>pragma</i>]<br>build_def</a> </h2> … … 144 146 <p>See Also: 145 147 <a href="#BUILD">build</a>, 146 <a href="#INCLUDE">include</a>, 147 <a href="#LINK">link</a>, 148 <a href="#NOLINK">nolink</a>, 149 <a href="#TARGET">target</a> 150 <hr> 151 <h4>Documentation for Build v2.08<br> 148 <a href="#EXPORT_VERSION">export_version</a>, 149 <a href="#INCLUDE">include</a>, 150 <a href="#LINK">link</a>, 151 <a href="#NOLINK">nolink</a>, 152 <a href="#TARGET">target</a> 153 <hr> 154 <h4>Documentation for Build v2.09<br> 155 <a href="index.htm#makedocTOC">Table of Contents</a></h4> 156 <h2><a name="EXPORT_VERSION">[<i>pragma</i>]<br>export_version</a> </h2> 157 <h3>This allows you to set a global version identifier.</h3> 158 Category: <a href="#PRAGMA">Pragma</a><br> 159 <p><p>DMD allows you to set a version identifier in your code, but the scope 160 of that is only for the module it is set in. This pragma gives you the 161 ability to declare a version identifier which is applied to all modules 162 being compiled, and not just the 'current' module. 163 <p> 164 Example: 165 <pre> 166 version(build) pragma(export_version, Unix); 167 version(build) pragma(export_version, Limited); 168 </pre> 169 These lines will cause the compiler to have these version identifiers 170 added to the command line switches, thus making them effectively global. 171 <p> 172 You can list more than one identifier on the pragma statement ... 173 <pre> 174 version(build) pragma(export_version, Unix, Limited); 175 </pre> 176 <p>See Also: 177 <a href="#BUILD">build</a>, 178 <a href="#BUILD_DEF">build_def</a>, 179 <a href="#INCLUDE">include</a>, 180 <a href="#LINK">link</a>, 181 <a href="#NOLINK">nolink</a>, 182 <a href="#TARGET">target</a> 183 <hr> 184 <h4>Documentation for Build v2.09<br> 152 185 <a href="index.htm#makedocTOC">Table of Contents</a></h4> 153 186 <h2><a name="INCLUDE">[<i>pragma</i>]<br>include</a> </h2> … … 168 201 <a href="#BUILD">build</a>, 169 202 <a href="#BUILD_DEF">build_def</a>, 170 <a href="#LINK">link</a>, 171 <a href="#NOLINK">nolink</a>, 172 <a href="#TARGET">target</a> 173 <hr> 174 <h4>Documentation for Build v2.08<br> 203 <a href="#EXPORT_VERSION">export_version</a>, 204 <a href="#LINK">link</a>, 205 <a href="#NOLINK">nolink</a>, 206 <a href="#TARGET">target</a> 207 <hr> 208 <h4>Documentation for Build v2.09<br> 175 209 <a href="index.htm#makedocTOC">Table of Contents</a></h4> 176 210 <h2><a name="LINK">[<i>pragma</i>]<br>link</a> </h2> … … 195 229 <a href="#BUILD">build</a>, 196 230 <a href="#BUILD_DEF">build_def</a>, 197 <a href="#INCLUDE">include</a>, 198 <a href="#NOLINK">nolink</a>, 199 <a href="#TARGET">target</a> 200 <hr> 201 <h4>Documentation for Build v2.08<br> 231 <a href="#EXPORT_VERSION">export_version</a>, 232 <a href="#INCLUDE">include</a>, 233 <a href="#NOLINK">nolink</a>, 234 <a href="#TARGET">target</a> 235 <hr> 236 <h4>Documentation for Build v2.09<br> 202 237 <a href="index.htm#makedocTOC">Table of Contents</a></h4> 203 238 <h2><a name="NOLINK">[<i>pragma</i>]<br>nolink</a> </h2> … … 215 250 <a href="#BUILD">build</a>, 216 251 <a href="#BUILD_DEF">build_def</a>, 217 <a href="#INCLUDE">include</a>, 218 <a href="#LINK">link</a>, 219 <a href="#TARGET">target</a> 220 <hr> 221 <h4>Documentation for Build v2.08<br> 252 <a href="#EXPORT_VERSION">export_version</a>, 253 <a href="#INCLUDE">include</a>, 254 <a href="#LINK">link</a>, 255 <a href="#TARGET">target</a> 256 <hr> 257 <h4>Documentation for Build v2.09<br> 222 258 <a href="index.htm#makedocTOC">Table of Contents</a></h4> 223 259 <h2><a name="TARGET">[<i>pragma</i>]<br>target</a> </h2> … … 239 275 <a href="#BUILD">build</a>, 240 276 <a href="#BUILD_DEF">build_def</a>, 277 <a href="#EXPORT_VERSION">export_version</a>, 241 278 <a href="#INCLUDE">include</a>, 242 279 <a href="#LINK">link</a>, trunk/Docs/RESPONSE_FILE.htm
r37 r38 2 2 <head> 3 3 <!-- Generated by MAKEDOC v1.1, (c) 2000,2003 by David Cuny, Derek Parnell, Matt Lewis --> 4 <!-- on 2005/0 5/30 at 10h23m57 -->4 <!-- on 2005/08/10 at 11h01m17 --> 5 5 <style>h4 {text-align: right}</style> 6 <title>Documentation for Build v2.0 8</title>6 <title>Documentation for Build v2.09</title> 7 7 </head> 8 8 <body> 9 <h4>Documentation for Build v2.0 8<br>9 <h4>Documentation for Build v2.09<br> 10 10 <a href="index.htm#makedocTOC">Table of Contents</a></h4> 11 11 <h1><a name="RESPONSE_FILE">Response File</a></h1> trunk/Docs/RULE_DEFINITION_FILE.htm
r37 r38 2 2 <head> 3 3 <!-- Generated by MAKEDOC v1.1, (c) 2000,2003 by David Cuny, Derek Parnell, Matt Lewis --> 4 <!-- on 2005/0 5/30 at 10h23m57 -->4 <!-- on 2005/08/10 at 11h01m17 --> 5 5 <style>h4 {text-align: right}</style> 6 <title>Documentation for Build v2.0 8</title>6 <title>Documentation for Build v2.09</title> 7 7 </head> 8 8 <body> 9 <h4>Documentation for Build v2.0 8<br>9 <h4>Documentation for Build v2.09<br> 10 10 <a href="index.htm#makedocTOC">Table of Contents</a></h4> 11 11 <h1><a name="RULE_DEFINITION_FILE">Rule Definition File</a></h1> trunk/Docs/SWITCHES.htm
r37 r38 2 2 <head> 3 3 <!-- Generated by MAKEDOC v1.1, (c) 2000,2003 by David Cuny, Derek Parnell, Matt Lewis --> 4 <!-- on 2005/0 5/30 at 10h23m57 -->4 <!-- on 2005/08/10 at 11h01m17 --> 5 5 <style>h4 {text-align: right}</style> 6 <title>Documentation for Build v2.0 8</title>6 <title>Documentation for Build v2.09</title> 7 7 </head> 8 8 <body> 9 <h4>Documentation for Build v2.0 8<br>9 <h4>Documentation for Build v2.09<br> 10 10 <a href="index.htm#makedocTOC">Table of Contents</a></h4> 11 11 <h1><a name="SWITCHES">Switches</a></h1> … … 37 37 <li><a href="#_R"><i>switch</i> -R</a> Determines if the compiler tools use a response file or not. 38 38 <li><a href="#_RDF"><i>switch</i> -RDF</a> Defines a file to override the default <a href="RULE_DEFINITION_FILE.htm#RULE_DEFINITION_FILE">Rule Definition File</a> 39 <li><a href="#_RUN"><i>switch</i> -run</a> Runs a program after successful linking. 39 40 <li><a href="#_SILENT"><i>switch</i> -silent</a> Prevents unnecessary messages being displayed. 40 41 <li><a href="#_T"><i>switch</i> -T</a> Identifies the target name to build. 41 42 <li><a href="#_TEST"><i>switch</i> -test</a> Does a test run only. No compiling, linking or library work is done. 43 <li><a href="#_V"><i>switch</i> -v</a> Set <em>verbose</em> mode on for both <em>build</em> and for the compiler 42 44 <li><a href="#_V"><i>switch</i> -V</a> Set <em>verbose</em> mode on for just <em>build</em> and not for the compiler 43 <li><a href="#_V"><i>switch</i> -v</a> Set <em>verbose</em> mode on for both <em>build</em> and for the compiler44 45 <li><a href="#_X"><i>switch</i> -X</a> Identifies a module or package to ignore 45 46 <hr> 46 <h4>Documentation for Build v2.0 8<br>47 <h4>Documentation for Build v2.09<br> 47 48 <a href="index.htm#makedocTOC">Table of Contents</a></h4> 48 49 <h2><a name="_ALLOBJ">[<i>switch</i>]<br>-allobj</a> </h2> … … 76 77 <a href="#_R">-R</a>, 77 78 <a href="#_RDF">-RDF</a>, 78 <a href="#_SILENT">-silent</a>, 79 <a href="#_T">-T</a>, 80 <a href="#_TEST">-test</a>, 81 <a href="#_V">-V</a>, 82 <a href="#_V">-v</a>, 83 <a href="#_X">-X</a> 84 <hr> 85 <h4>Documentation for Build v2.08<br> 79 <a href="#_RUN">-run</a>, 80 <a href="#_SILENT">-silent</a>, 81 <a href="#_T">-T</a>, 82 <a href="#_TEST">-test</a>, 83 <a href="#_V">-v</a>, 84 <a href="#_V">-V</a>, 85 <a href="#_X">-X</a> 86 <hr> 87 <h4>Documentation for Build v2.09<br> 86 88 <a href="index.htm#makedocTOC">Table of Contents</a></h4> 87 89 <h2><a name="_CFPATH">[<i>switch</i>]<br>-CFPATH</a> </h2> … … 120 122 <a href="#_R">-R</a>, 121 123 <a href="#_RDF">-RDF</a>, 122 <a href="#_SILENT">-silent</a>, 123 <a href="#_T">-T</a>, 124 <a href="#_TEST">-test</a>, 125 <a href="#_V">-V</a>, 126 <a href="#_V">-v</a>, 127 <a href="#_X">-X</a> 128 <hr> 129 <h4>Documentation for Build v2.08<br> 124 <a href="#_RUN">-run</a>, 125 <a href="#_SILENT">-silent</a>, 126 <a href="#_T">-T</a>, 127 <a href="#_TEST">-test</a>, 128 <a href="#_V">-v</a>, 129 <a href="#_V">-V</a>, 130 <a href="#_X">-X</a> 131 <hr> 132 <h4>Documentation for Build v2.09<br> 130 133 <a href="index.htm#makedocTOC">Table of Contents</a></h4> 131 134 <h2><a name="_CLEANUP">[<i>switch</i>]<br>-cleanup</a> </h2> … … 161 164 <a href="#_R">-R</a>, 162 165 <a href="#_RDF">-RDF</a>, 163 <a href="#_SILENT">-silent</a>, 164 <a href="#_T">-T</a>, 165 <a href="#_TEST">-test</a>, 166 <a href="#_V">-V</a>, 167 <a href="#_V">-v</a>, 168 <a href="#_X">-X</a> 169 <hr> 170 <h4>Documentation for Build v2.08<br> 166 <a href="#_RUN">-run</a>, 167 <a href="#_SILENT">-silent</a>, 168 <a href="#_T">-T</a>, 169 <a href="#_TEST">-test</a>, 170 <a href="#_V">-v</a>, 171 <a href="#_V">-V</a>, 172 <a href="#_X">-X</a> 173 <hr> 174 <h4>Documentation for Build v2.09<br> 171 175 <a href="index.htm#makedocTOC">Table of Contents</a></h4> 172 176 <h2><a name="_DCPATH">[<i>switch</i>]<br>-DCPATH</a> </h2> … … 211 215 <a href="#_R">-R</a>, 212 216 <a href="#_RDF">-RDF</a>, 213 <a href="#_SILENT">-silent</a>, 214 <a href="#_T">-T</a>, 215 <a href="#_TEST">-test</a>, 216 <a href="#_V">-V</a>, 217 <a href="#_V">-v</a>, 218 <a href="#_X">-X</a> 219 <hr> 220 <h4>Documentation for Build v2.08<br> 217 <a href="#_RUN">-run</a>, 218 <a href="#_SILENT">-silent</a>, 219 <a href="#_T">-T</a>, 220 <a href="#_TEST">-test</a>, 221 <a href="#_V">-v</a>, 222 <a href="#_V">-V</a>, 223 <a href="#_X">-X</a> 224 <hr> 225 <h4>Documentation for Build v2.09<br> 221 226 <a href="index.htm#makedocTOC">Table of Contents</a></h4> 222 227 <h2><a name="_DLL">[<i>switch</i>]<br>-dll</a> </h2> … … 251 256 <a href="#_R">-R</a>, 252 257 <a href="#_RDF">-RDF</a>, 253 <a href="#_SILENT">-silent</a>, 254 <a href="#_T">-T</a>, 255 <a href="#_TEST">-test</a>, 256 <a href="#_V">-V</a>, 257 <a href="#_V">-v</a>, 258 <a href="#_X">-X</a> 259 <hr> 260 <h4>Documentation for Build v2.08<br> 258 <a href="#_RUN">-run</a>, 259 <a href="#_SILENT">-silent</a>, 260 <a href="#_T">-T</a>, 261 <a href="#_TEST">-test</a>, 262 <a href="#_V">-v</a>, 263 <a href="#_V">-V</a>, 264 <a href="#_X">-X</a> 265 <hr> 266 <h4>Documentation for Build v2.09<br> 261 267 <a href="index.htm#makedocTOC">Table of Contents</a></h4> 262 268 <h2><a name="_FULL">[<i>switch</i>]<br>-full</a> </h2> … … 291 297 <a href="#_R">-R</a>, 292 298 <a href="#_RDF">-RDF</a>, 293 <a href="#_SILENT">-silent</a>, 294 <a href="#_T">-T</a>, 295 <a href="#_TEST">-test</a>, 296 <a href="#_V">-V</a>, 297 <a href="#_V">-v</a>, 298 <a href="#_X">-X</a> 299 <hr> 300 <h4>Documentation for Build v2.08<br> 299 <a href="#_RUN">-run</a>, 300 <a href="#_SILENT">-silent</a>, 301 <a href="#_T">-T</a>, 302 <a href="#_TEST">-test</a>, 303 <a href="#_V">-v</a>, 304 <a href="#_V">-V</a>, 305 <a href="#_X">-X</a> 306 <hr> 307 <h4>Documentation for Build v2.09<br> 301 308 <a href="index.htm#makedocTOC">Table of Contents</a></h4> 302 309 <h2><a name="_GUI">[<i>switch</i>]<br>-gui</a> </h2> … … 338 345 <a href="#_R">-R</a>, 339 346 <a href="#_RDF">-RDF</a>, 340 <a href="#_SILENT">-silent</a>, 341 <a href="#_T">-T</a>, 342 <a href="#_TEST">-test</a>, 343 <a href="#_V">-V</a>, 344 <a href="#_V">-v</a>, 345 <a href="#_X">-X</a> 346 <hr> 347 <h4>Documentation for Build v2.08<br> 347 <a href="#_RUN">-run</a>, 348 <a href="#_SILENT">-silent</a>, 349 <a href="#_T">-T</a>, 350 <a href="#_TEST">-test</a>, 351 <a href="#_V">-v</a>, 352 <a href="#_V">-V</a>, 353 <a href="#_X">-X</a> 354 <hr> 355 <h4>Documentation for Build v2.09<br> 348 356 <a href="index.htm#makedocTOC">Table of Contents</a></h4> 349 357 <h2><a name="_HELP">[<i>switch</i>]<br>-help</a> </h2> … … 374 382 <a href="#_R">-R</a>, 375 383 <a href="#_RDF">-RDF</a>, 376 <a href="#_SILENT">-silent</a>, 377 <a href="#_T">-T</a>, 378 <a href="#_TEST">-test</a>, 379 <a href="#_V">-V</a>, 380 <a href="#_V">-v</a>, 381 <a href="#_X">-X</a> 382 <hr> 383 <h4>Documentation for Build v2.08<br> 384 <a href="#_RUN">-run</a>, 385 <a href="#_SILENT">-silent</a>, 386 <a href="#_T">-T</a>, 387 <a href="#_TEST">-test</a>, 388 <a href="#_V">-v</a>, 389 <a href="#_V">-V</a>, 390 <a href="#_X">-X</a> 391 <hr> 392 <h4>Documentation for Build v2.09<br> 384 393 <a href="index.htm#makedocTOC">Table of Contents</a></h4> 385 394 <h2><a name="_INFO">[<i>switch</i>]<br>-info</a> </h2> … … 409 418 <a href="#_R">-R</a>, 410 419 <a href="#_RDF">-RDF</a>, 411 <a href="#_SILENT">-silent</a>, 412 <a href="#_T">-T</a>, 413 <a href="#_TEST">-test</a>, 414 <a href="#_V">-V</a>, 415 <a href="#_V">-v</a>, 416 <a href="#_X">-X</a> 417 <hr> 418 <h4>Documentation for Build v2.08<br> 420 <a href="#_RUN">-run</a>, 421 <a href="#_SILENT">-silent</a>, 422 <a href="#_T">-T</a>, 423 <a href="#_TEST">-test</a>, 424 <a href="#_V">-v</a>, 425 <a href="#_V">-V</a>, 426 <a href="#_X">-X</a> 427 <hr> 428 <h4>Documentation for Build v2.09<br> 419 429 <a href="index.htm#makedocTOC">Table of Contents</a></h4> 420 430 <h2><a name="_LIB">[<i>switch</i>]<br>-lib</a> </h2> … … 451 461 <a href="#_R">-R</a>, 452 462 <a href="#_RDF">-RDF</a>, 453 <a href="#_SILENT">-silent</a>, 454 <a href="#_T">-T</a>, 455 <a href="#_TEST">-test</a>, 456 <a href="#_V">-V</a>, 457 <a href="#_V">-v</a>, 458 <a href="#_X">-X</a> 459 <hr> 460 <h4>Documentation for Build v2.08<br> 463 <a href="#_RUN">-run</a>, 464 <a href="#_SILENT">-silent</a>, 465 <a href="#_T">-T</a>, 466 <a href="#_TEST">-test</a>, 467 <a href="#_V">-v</a>, 468 <a href="#_V">-V</a>, 469 <a href="#_X">-X</a> 470 <hr> 471 <h4>Documentation for Build v2.09<br> 461 472 <a href="index.htm#makedocTOC">Table of Contents</a></h4> 462 473 <h2><a name="_LIBOPT">[<i>switch</i>]<br>-LIBOPT</a> </h2> … … 494 505 <a href="#_R">-R</a>, 495 506 <a href="#_RDF">-RDF</a>, 496 <a href="#_SILENT">-silent</a>, 497 <a href="#_T">-T</a>, 498 <a href="#_TEST">-test</a>, 499 <a href="#_V">-V</a>, 500 <a href="#_V">-v</a>, 501 <a href="#_X">-X</a> 502 <hr> 503 <h4>Documentation for Build v2.08<br> 507 <a href="#_RUN">-run</a>, 508 <a href="#_SILENT">-silent</a>, 509 <a href="#_T">-T</a>, 510 <a href="#_TEST">-test</a>, 511 <a href="#_V">-v</a>, 512 <a href="#_V">-V</a>, 513 <a href="#_X">-X</a> 514 <hr> 515 <h4>Documentation for Build v2.09<br> 504 516 <a href="index.htm#makedocTOC">Table of Contents</a></h4> 505 517 <h2><a name="_LIBPATH">[<i>switch</i>]<br>-LIBPATH</a> </h2> … … 535 547 <a href="#_R">-R</a>, 536 548 <a href="#_RDF">-RDF</a>, 537 <a href="#_SILENT">-silent</a>, 538 <a href="#_T">-T</a>, 539 <a href="#_TEST">-test</a>, 540 <a href="#_V">-V</a>, 541 <a href="#_V">-v</a>, 542 <a href="#_X">-X</a> 543 <hr> 544 <h4>Documentation for Build v2.08<br> 549 <a href="#_RUN">-run</a>, 550 <a href="#_SILENT">-silent</a>, 551 <a href="#_T">-T</a>, 552 <a href="#_TEST">-test</a>, 553 <a href="#_V">-v</a>, 554 <a href="#_V">-V</a>, 555 <a href="#_X">-X</a> 556 <hr> 557 <h4>Documentation for Build v2.09<br> 545 558 <a href="index.htm#makedocTOC">Table of Contents</a></h4> 546 559 <h2><a name="_LINK">[<i>switch</i>]<br>-link</a> </h2> … … 577 590 <a href="#_R">-R</a>, 578 591 <a href="#_RDF">-RDF</a>, 579 <a href="#_SILENT">-silent</a>, 580 <a href="#_T">-T</a>, 581 <a href="#_TEST">-test</a>, 582 <a href="#_V">-V</a>, 583 <a href="#_V">-v</a>, 584 <a href="#_X">-X</a> 585 <hr> 586 <h4>Documentation for Build v2.08<br> 592 <a href="#_RUN">-run</a>, 593 <a href="#_SILENT">-silent</a>, 594 <a href="#_T">-T</a>, 595 <a href="#_TEST">-test</a>, 596 <a href="#_V">-v</a>, 597 <a href="#_V">-V</a>, 598 <a href="#_X">-X</a> 599 <hr> 600 <h4>Documentation for Build v2.09<br> 587 601 <a href="index.htm#makedocTOC">Table of Contents</a></h4> 588 602 <h2><a name="_M">[<i>switch</i>]<br>-M</a> </h2> … … 621 635 <a href="#_R">-R</a>, 622 636 <a href="#_RDF">-RDF</a>, 623 <a href="#_SILENT">-silent</a>, 624 <a href="#_T">-T</a>, 625 <a href="#_TEST">-test</a>, 626 <a href="#_V">-V</a>, 627 <a href="#_V">-v</a>, 628 <a href="#_X">-X</a> 629 <hr> 630 <h4>Documentation for Build v2.08<br> 637 <a href="#_RUN">-run</a>, 638 <a href="#_SILENT">-silent</a>, 639 <a href="#_T">-T</a>, 640 <a href="#_TEST">-test</a>, 641 <a href="#_V">-v</a>, 642 <a href="#_V">-V</a>, 643 <a href="#_X">-X</a> 644 <hr> 645 <h4>Documentation for Build v2.09<br> 631 646 <a href="index.htm#makedocTOC">Table of Contents</a></h4> 632 647 <h2><a name="_NAMES">[<i>switch</i>]<br>-names</a> </h2> … … 656 671 <a href="#_R">-R</a>, 657 672 <a href="#_RDF">-RDF</a>, 658 <a href="#_SILENT">-silent</a>, 659 <a href="#_T">-T</a>, 660 <a href="#_TEST">-test</a>, 661 <a href="#_V">-V</a>, 662 <a href="#_V">-v</a>, 663 <a href="#_X">-X</a> 664 <hr> 665 <h4>Documentation for Build v2.08<br> 673 <a href="#_RUN">-run</a>, 674 <a href="#_SILENT">-silent</a>, 675 <a href="#_T">-T</a>, 676 <a href="#_TEST">-test</a>, 677 <a href="#_V">-v</a>, 678 <a href="#_V">-V</a>, 679 <a href="#_X">-X</a> 680 <hr> 681 <h4>Documentation for Build v2.09<br> 666 682 <a href="index.htm#makedocTOC">Table of Contents</a></h4> 667 683 <h2><a name="_NOAUTOIMPORT">[<i>switch</i>]<br>-noautoimport</a> </h2> … … 702 718 <a href="#_R">-R</a>, 703 719 <a href="#_RDF">-RDF</a>, 704 <a href="#_SILENT">-silent</a>, 705 <a href="#_T">-T</a>, 706 <a href="#_TEST">-test</a>, 707 <a href="#_V">-V</a>, 708 <a href="#_V">-v</a>, 709 <a href="#_X">-X</a> 710 <hr> 711 <h4>Documentation for Build v2.08<br> 720 <a href="#_RUN">-run</a>, 721 <a href="#_SILENT">-silent</a>, 722 <a href="#_T">-T</a>, 723 <a href="#_TEST">-test</a>, 724 <a href="#_V">-v</a>, 725 <a href="#_V">-V</a>, 726 <a href="#_X">-X</a> 727 <hr> 728 <h4>Documentation for Build v2.09<br> 712 729 <a href="index.htm#makedocTOC">Table of Contents</a></h4> 713 730 <h2><a name="_NODEF">[<i>switch</i>]<br>-nodef</a> </h2> … … 742 759 <a href="#_R">-R</a>, 743 760 <a href="#_RDF">-RDF</a>, 744 <a href="#_SILENT">-silent</a>, 745 <a href="#_T">-T</a>, 746 <a href="#_TEST">-test</a>, 747 <a href="#_V">-V</a>, 748 <a href="#_V">-v</a>, 749 <a href="#_X">-X</a> 750 <hr> 751 <h4>Documentation for Build v2.08<br> 761 <a href="#_RUN">-run</a>, 762 <a href="#_SILENT">-silent</a>, 763 <a href="#_T">-T</a>, 764 <a href="#_TEST">-test</a>, 765 <a href="#_V">-v</a>, 766 <a href="#_V">-V</a>, 767 <a href="#_X">-X</a> 768 <hr> 769 <h4>Documentation for Build v2.09<br> 752 770 <a href="index.htm#makedocTOC">Table of Contents</a></h4> 753 771 <h2><a name="_NOLIB">[<i>switch</i>]<br>-nolib</a> </h2> … … 783 801 <a href="#_R">-R</a>, 784 802 <a href="#_RDF">-RDF</a>, 785 <a href="#_SILENT">-silent</a>, 786 <a href="#_T">-T</a>, 787 <a href="#_TEST">-test</a>, 788 <a href="#_V">-V</a>, 789 <a href="#_V">-v</a>, 790 <a href="#_X">-X</a> 791 <hr> 792 <h4>Documentation for Build v2.08<br> 803 <a href="#_RUN">-run</a>, 804 <a href="#_SILENT">-silent</a>, 805 <a href="#_T">-T</a>, 806 <a href="#_TEST">-test</a>, 807 <a href="#_V">-v</a>, 808 <a href="#_V">-V</a>, 809 <a href="#_X">-X</a> 810 <hr> 811 <h4>Documentation for Build v2.09<br> 793 812 <a href="index.htm#makedocTOC">Table of Contents</a></h4> 794 813 <h2><a name="_NOLINK">[<i>switch</i>]<br>-nolink</a> </h2> … … 826 845 <a href="#_R">-R</a>, 827 846 <a href="#_RDF">-RDF</a>, 828 <a href="#_SILENT">-silent</a>, 829 <a href="#_T">-T</a>, 830 <a href="#_TEST">-test</a>, 831 <a href="#_V">-V</a>, 832 <a href="#_V">-v</a>, 833 <a href="#_X">-X</a> 834 <hr> 835 <h4>Documentation for Build v2.08<br> 847 <a href="#_RUN">-run</a>, 848 <a href="#_SILENT">-silent</a>, 849 <a href="#_T">-T</a>, 850 <a href="#_TEST">-test</a>, 851 <a href="#_V">-v</a>, 852 <a href="#_V">-V</a>, 853 <a href="#_X">-X</a> 854 <hr> 855 <h4>Documentation for Build v2.09<br> 836 856 <a href="index.htm#makedocTOC">Table of Contents</a></h4> 837 857 <h2><a name="_OBJ">[<i>switch</i>]<br>-obj</a> </h2> … … 865 885 <a href="#_R">-R</a>, 866 886 <a href="#_RDF">-RDF</a>, 867 <a href="#_SILENT">-silent</a>, 868 <a href="#_T">-T</a>, 869 <a href="#_TEST">-test</a>, 870 <a href="#_V">-V</a>, 871 <a href="#_V">-v</a>, 872 <a href="#_X">-X</a> 873 <hr> 874 <h4>Documentation for Build v2.08<br> 887 <a href="#_RUN">-run</a>, 888 <a href="#_SILENT">-silent</a>, 889 <a href="#_T">-T</a>, 890 <a href="#_TEST">-test</a>, 891 <a href="#_V">-v</a>, 892 <a href="#_V">-V</a>, 893 <a href="#_X">-X</a> 894 <hr> 895 <h4>Documentation for Build v2.09<br> 875 896 <a href="index.htm#makedocTOC">Table of Contents</a></h4> 876 897 <h2><a name="_OD">[<i>switch</i>]<br>-od</a> </h2> … … 912 933 <a href="#_R">-R</a>, 913 934 <a href="#_RDF">-RDF</a>, 914 <a href="#_SILENT">-silent</a>, 915 <a href="#_T">-T</a>, 916 <a href="#_TEST">-test</a>, 917 <a href="#_V">-V</a>, 918 <a href="#_V">-v</a>, 919 <a href="#_X">-X</a> 920 <hr> 921 <h4>Documentation for Build v2.08<br> 935 <a href="#_RUN">-run</a>, 936 <a href="#_SILENT">-silent</a>, 937 <a href="#_T">-T</a>, 938 <a href="#_TEST">-test</a>, 939 <a href="#_V">-v</a>, 940 <a href="#_V">-V</a>, 941 <a href="#_X">-X</a> 942 <hr> 943 <h4>Documentation for Build v2.09<br> 922 944 <a href="index.htm#makedocTOC">Table of Contents</a></h4> 923 945 <h2><a name="_R">[<i>switch</i>]<br>-R</a> </h2> … … 984 1006 <a href="#_OD">-od</a>, 985 1007 <a href="#_RDF">-RDF</a>, 986 <a href="#_SILENT">-silent</a>, 987 <a href="#_T">-T</a>, 988 <a href="#_TEST">-test</a>, 989 <a href="#_V">-V</a>, 990 <a href="#_V">-v</a>, 991 <a href="#_X">-X</a> 992 <hr> 993 <h4>Documentation for Build v2.08<br> 1008 <a href="#_RUN">-run</a>, 1009 <a href="#_SILENT">-silent</a>, 1010 <a href="#_T">-T</a>, 1011 <a href="#_TEST">-test</a>, 1012 <a href="#_V">-v</a>, 1013 <a href="#_V">-V</a>, 1014 <a href="#_X">-X</a> 1015 <hr> 1016 <h4>Documentation for Build v2.09<br> 994 1017 <a href="index.htm#makedocTOC">Table of Contents</a></h4> 995 1018 <h2><a name="_RDF">[<i>switch</i>]<br>-RDF</a> </h2> … … 1026 1049 <a href="#_OD">-od</a>, 1027 1050 <a href="#_R">-R</a>, 1028 <a href="#_SILENT">-silent</a>, 1029 <a href="#_T">-T</a>, 1030 <a href="#_TEST">-test</a>, 1031 <a href="#_V">-V</a>, 1032 <a href="#_V">-v</a>, 1033 <a href="#_X">-X</a> 1034 <hr> 1035 <h4>Documentation for Build v2.08<br> 1051 <a href="#_RUN">-run</a>, 1052 <a href="#_SILENT">-silent</a>, 1053 <a href="#_T">-T</a>, 1054 <a href="#_TEST">-test</a>, 1055 <a href="#_V">-v</a>, 1056 <a href="#_V">-V</a>, 1057 <a href="#_X">-X</a> 1058 <hr> 1059 <h4>Documentation for Build v2.09<br> 1060 <a href="index.htm#makedocTOC">Table of Contents</a></h4> 1061 <h2><a name="_RUN">[<i>switch</i>]<br>-run</a> </h2> 1062 <h3>Runs a program after successful linking.</h3> 1063 Category: <a href="#SWITCHES">Switches</a><br> 1064 <p><p>If the link is successful, this will cause the 1065 executable just created to run. You can give it 1066 run time parameters. Anything after the '-run' will 1067 placed in the program's command line. You will need 1068 to quote any embedded spaces. 1069 <p> 1070 Example: 1071 <pre> 1072 -run"abc.de second" 1073 </pre> 1074 <p>See Also: 1075 <a href="#_ALLOBJ">-allobj</a>, 1076 <a href="#_CFPATH">-CFPATH</a>, 1077 <a href="#_CLEANUP">-cleanup</a>, 1078 <a href="#_DCPATH">-DCPATH</a>, 1079 <a href="#_DLL">-dll</a>, 1080 <a href="#_FULL">-full</a>, 1081 <a href="#_GUI">-gui</a>, 1082 <a href="#_HELP">-help</a>, 1083 <a href="#_INFO">-info</a>, 1084 <a href="#_LIB">-lib</a>, 1085 <a href="#_LIBOPT">-LIBOPT</a>, 1086 <a href="#_LIBPATH">-LIBPATH</a>, 1087 <a href="#_LINK">-link</a>, 1088 <a href="#_M">-M</a>, 1089 <a href="#_NAMES">-names</a>, 1090 <a href="#_NOAUTOIMPORT">-noautoimport</a>, 1091 <a href="#_NODEF">-nodef</a>, 1092 <a href="#_NOLIB">-nolib</a>, 1093 <a href="#_NOLINK">-nolink</a>, 1094 <a href="#_OBJ">-obj</a>, 1095 <a href="#_OD">-od</a>, 1096 <a href="#_R">-R</a>, 1097 <a href="#_RDF">-RDF</a>, 1098 <a href="#_SILENT">-silent</a>, 1099 <a href="#_T">-T</a>, 1100 <a href="#_TEST">-test</a>, 1101 <a href="#_V">-v</a>, 1102 <a href="#_V">-V</a>, 1103 <a href="#_X">-X</a> 1104 <hr> 1105 <h4>Documentation for Build v2.09<br> 1036 1106 <a href="index.htm#makedocTOC">Table of Contents</a></h4> 1037 1107 <h2><a name="_SILENT">[<i>switch</i>]<br>-silent</a> </h2> … … 1064 1134 <a href="#_R">-R</a>, 1065 1135 <a href="#_RDF">-RDF</a>, 1066 <a href="#_T">-T</a>, 1067 <a href="#_TEST">-test</a>, 1068 <a href="#_V">-V</a>, 1069 <a href="#_V">-v</a>, 1070 <a href="#_X">-X</a> 1071 <hr> 1072 <h4>Documentation for Build v2.08<br> 1136 <a href="#_RUN">-run</a>, 1137 <a href="#_T">-T</a>, 1138 <a href="#_TEST">-test</a>, 1139 <a href="#_V">-v</a>, 1140 <a href="#_V">-V</a>, 1141 <a href="#_X">-X</a> 1142 <hr> 1143 <h4>Documentation for Build v2.09<br> 1073 1144 <a href="index.htm#makedocTOC">Table of Contents</a></h4> 1074 1145 <h2><a name="_T">[<i>switch</i>]<br>-T</a> </h2> … … 1114 1185 <a href="#_R">-R</a>, 1115 1186 <a href="#_RDF">-RDF</a>, 1116 <a href="#_SILENT">-silent</a>, 1117 <a href="#_TEST">-test</a>, 1118 <a href="#_V">-V</a>, 1119 <a href="#_V">-v</a>, 1120 <a href="#_X">-X</a> 1121 <hr> 1122 <h4>Documentation for Build v2.08<br> 1187 <a href="#_RUN">-run</a>, 1188 <a href="#_SILENT">-silent</a>, 1189 <a href="#_TEST">-test</a>, 1190 <a href="#_V">-v</a>, 1191 <a href="#_V">-V</a>, 1192 <a href="#_X">-X</a> 1193 <hr> 1194 <h4>Documentation for Build v2.09<br> 1123 1195 <a href="index.htm#makedocTOC">Table of Contents</a></h4> 1124 1196 <h2><a name="_TEST">[<i>switch</i>]<br>-test</a> </h2> … … 1151 1223 <a href="#_R">-R</a>, 1152 1224 <a href="#_RDF">-RDF</a>, 1153 <a href="#_SILENT">-silent</a>, 1154 <a href="#_T">-T</a>, 1155 <a href="#_V">-V</a>, 1156 <a href="#_V">-v</a>, 1157 <a href="#_X">-X</a> 1158 <hr> 1159 <h4>Documentation for Build v2.08<br> 1225 <a href="#_RUN">-run</a>, 1226 <a href="#_SILENT">-silent</a>, 1227 <a href="#_T">-T</a>, 1228 <a href="#_V">-v</a>, 1229 <a href="#_V">-V</a>, 1230 <a href="#_X">-X</a> 1231 <hr> 1232 <h4>Documentation for Build v2.09<br> 1233 <a href="index.htm#makedocTOC">Table of Contents</a></h4> 1234 <h2><a name="_V">[<i>switch</i>]<br>-v</a> </h2> 1235 <h3> Set <em>verbose</em> mode on for both <em>build</em> and for the compiler</h3> 1236 Category: <a href="#SWITCHES">Switches</a><br> 1237 <p><p><p>See Also: 1238 <a href="#_ALLOBJ">-allobj</a>, 1239 <a href="#_CFPATH">-CFPATH</a>, 1240 <a href="#_CLEANUP">-cleanup</a>, 1241 <a href="#_DCPATH">-DCPATH</a>, 1242 <a href="#_DLL">-dll</a>, 1243 <a href="#_FULL">-full</a>, 1244 <a href="#_GUI">-gui</a>, 1245 <a href="#_HELP">-help</a>, 1246 <a href="#_INFO">-info</a>, 1247 <a href="#_LIB">-lib</a>, 1248 <a href="#_LIBOPT">-LIBOPT</a>, 1249 <a href="#_LIBPATH">-LIBPATH</a>, 1250 <a href="#_LINK">-link</a>, 1251 <a href="#_M">-M</a>, 1252 <a href="#_NAMES">-names</a>, 1253 <a href="#_NOAUTOIMPORT">-noautoimport</a>, 1254 <a href="#_NODEF">-nodef</a>, 1255 <a href="#_NOLIB">-nolib</a>, 1256 <a href="#_NOLINK">-nolink</a>, 1257 <a href="#_OBJ">-obj</a>, 1258 <a href="#_OD">-od</a>, 1259 <a href="#_R">-R</a>, 1260 <a href="#_RDF">-RDF</a>, 1261 <a href="#_RUN">-run</a>, 1262 <a href="#_SILENT">-silent</a>, 1263 <a href="#_T">-T</a>, 1264 <a href="#_TEST">-test</a>, 1265 <a href="#_V">-V</a>, 1266 <a href="#_X">-X</a> 1267 <hr> 1268 <h4>Documentation for Build v2.09<br> 1160 1269 <a href="index.htm#makedocTOC">Table of Contents</a></h4> 1161 1270 <h2><a name="_V">[<i>switch</i>]<br>-V</a> </h2> … … 1186 1295 <a href="#_R">-R</a>, 1187 1296 <a href="#_RDF">-RDF</a>, 1188 <a href="#_SILENT">-silent</a>, 1189 <a href="#_T">-T</a>, 1190 <a href="#_TEST">-test</a>, 1191 <a href="#_V">-v</a>, 1192 <a href="#_X">-X</a> 1193 <hr> 1194 <h4>Documentation for Build v2.08<br> 1195 <a href="index.htm#makedocTOC">Table of Contents</a></h4> 1196 <h2><a name="_V">[<i>switch</i>]<br>-v</a> </h2> 1197 <h3> Set <em>verbose</em> mode on for both <em>build</em> and for the compiler</h3> 1198 Category: <a href="#SWITCHES">Switches</a><br> 1199 <p><p><p>See Also: 1200 <a href="#_ALLOBJ">-allobj</a>, 1201 <a href="#_CFPATH">-CFPATH</a>, 1202 <a href="#_CLEANUP">-cleanup</a>, 1203 <a href="#_DCPATH">-DCPATH</a>, 1204 <a href="#_DLL">-dll</a>, 1205 <a href="#_FULL">-full</a>, 1206 <a href="#_GUI">-gui</a>, 1207 <a href="#_HELP">-help</a>, 1208 <a href="#_INFO">-info</a>, 1209 <a href="#_LIB">-lib</a>, 1210 <a href="#_LIBOPT">-LIBOPT</a>, 1211 <a href="#_LIBPATH">-LIBPATH</a>, 1212 <a href="#_LINK">-link</a>, 1213 <a href="#_M">-M</a>, 1214 <a href="#_NAMES">-names</a>, 1215 <a href="#_NOAUTOIMPORT">-noautoimport</a>, 1216 <a href="#_NODEF">-nodef</a>, 1217 <a href="#_NOLIB">-nolib</a>, 1218 <a href="#_NOLINK">-nolink</a>, 1219 <a href="#_OBJ">-obj</a>, 1220 <a href="#_OD">-od</a>, 1221 <a href="#_R">-R</a>, 1222 <a href="#_RDF">-RDF</a>, 1223 <a href="#_SILENT">-silent</a>, 1224 <a href="#_T">-T</a>, 1225 <a href="#_TEST">-test</a>, 1226 <a href="#_V">-V</a>, 1227 <a href="#_X">-X</a> 1228 <hr> 1229 <h4>Documentation for Build v2.08<br> 1297 <a href="#_RUN">-run</a>, 1298 <a href="#_SILENT">-silent</a>, 1299 <a href="#_T">-T</a>, 1300 <a href="#_TEST">-test</a>, 1301 <a href="#_V">-v</a>, 1302 <a href="#_X">-X</a> 1303 <hr> 1304 <h4>Documentation for Build v2.09<br> 1230 1305 <a href="index.htm#makedocTOC">Table of Contents</a></h4> 1231 1306 <h2><a name="_X">[<i>switch</i>]<br>-X</a> </h2> … … 1267 1342 <a href="#_R">-R</a>, 1268 1343 <a href="#_RDF">-RDF</a>, 1269 <a href="#_SILENT">-silent</a>, 1270 <a href="#_T">-T</a>, 1271 <a href="#_TEST">-test</a>, 1272 <a href="#_V">-V</a>, 1273 <a href="#_V">-v</a> 1274 <hr> 1344 <a href="#_RUN">-run</a>, 1345 <a href="#_SILENT">-silent</a>, 1346 <a href="#_T">-T</a>, 1347 <a href="#_TEST">-test</a>, 1348 <a href="#_V">-v</a>, 1349 <a href="#_V">-V</a> 1350 <hr> trunk/Docs/TO_DO.htm
r37 r38 2 2 <head> 3 3 <!-- Generated by MAKEDOC v1.1, (c) 2000,2003 by David Cuny, Derek Parnell, Matt Lewis --> 4 <!-- on 2005/0 5/30 at 10h23m57 -->4 <!-- on 2005/08/10 at 11h01m17 --> 5 5 <style>h4 {text-align: right}</style> 6 <title>Documentation for Build v2.0 8</title>6 <title>Documentation for Build v2.09</title> 7 7 </head> 8 8 <body> 9 <h4>Documentation for Build v2.0 8<br>9 <h4>Documentation for Build v2.09<br> 10 10 <a href="index.htm#makedocTOC">Table of Contents</a></h4> 11 11 <h1><a name="TO_DO">To Do</a></h1> trunk/Docs/index.htm
r37 r38 2 2 <head> 3 3 <!-- Generated by MAKEDOC v1.1, (c) 2000,2003 by David Cuny, Derek Parnell, Matt Lewis --> 4 <!-- on 2005/0 5/30 at 10h23m56-->4 <!-- on 2005/08/10 at 11h01m17 --> 5 5 <style>h4 {text-align: right}</style> 6 <title>Documentation for Build v2.0 8</title>6 <title>Documentation for Build v2.09</title> 7 7 </head> 8 8 <body> 9 <h4>Documentation for Build v2.0 8<br>9 <h4>Documentation for Build v2.09<br> 10 10 <a href="index.htm#makedocTOC">Table of Contents</a></h4> 11 11 <h1><b>Introduction</b></h1> … … 71 71 <a href="SWITCHES.htm#_R">-R</a> [<i><code>switch</code></i>] Determines if the compiler tools use a response file or not.<br> 72 72 <a href="SWITCHES.htm#_RDF">-RDF</a> [<i><code>switch</code></i>] Defines a file to override the default <a href="RULE_DEFINITION_FILE.htm#RULE_DEFINITION_FILE">Rule Definition File</a><br> 73 <a href="SWITCHES.htm#_RUN">-run</a> [<i><code>switch</code></i>] Runs a program after successful linking.<br> 73 74 <a href="SWITCHES.htm#_SILENT">-silent</a> [<i><code>switch</code></i>] Prevents unnecessary messages being displayed.<br> 74 75 <a href="SWITCHES.htm#_T">-T</a> [<i><code>switch</code></i>] Identifies the target name to build.<br> … … 84 85 <a href="CONFIGURATION_FILE.htm#CONFIGURATION_FILE">Configuration File</a> <br> 85 86 <a href="DLL_LIBRARIES.htm#DLL_LIBRARIES">DLL Libraries</a> <br> 87 <a href="PRAGMA.htm#EXPORT_VERSION">export_version</a> [<i><code>pragma</code></i>] This allows you to set a global version identifier.<br> 86 88 <a href="PRAGMA.htm#INCLUDE">include</a> [<i><code>pragma</code></i>] This identifies a required file which is not otherwise imported.<br> 87 89 <a href="PRAGMA.htm#LINK">link</a> [<i><code>pragma</code></i>] This nominates one or more libraries that are required to be linked in.<br> trunk/Source/build.cfg
r37 r38 1 1 CMDLINE=-info # Show the version of build 2 CMDLINE=-silent # hide linker output 2 3 3 4 LIBCMD=%@D%\..\..\dm\bin\lib.exe trunk/Source/build.d
r37 r38 50 50 51 51 /* --------- CHANGE LOG -------------------- 52 __ /makedoc title Documentation for Build v2.0 852 __ /makedoc title Documentation for Build v2.09 53 53 54 54 __ /topic Change Log 55 55 __ /info 56 56 __ A list of changes and fixes that have been made. 57 __ 58 __ /b"-- v2.09 -- 10/Aug/2005" 59 __ <ul> 60 __ /li ** /b FIX: /i"thanks to barrett9h (rodolfo)": Now correctly handles the return value 61 __ from Unix system() call. 62 __ /li ** /b FIX: /i"thanks to oniony": Now handles non_ASCII characters in PATH 63 __ environment symbol. 64 __ /li ** /b CHG: The "-silent" switch now also hides the linker stdout display. 65 __ /li ** /b CHG: Now supports and requires DMD v0.126 and GDC v0.13 or later. 66 __ /li ** /b ENH: New pragma(export_version) allows specified version identifiers to 67 __ be passed to all modules being compiled. 68 __ /li ** /b ENH: New command line switch "-run" to run the program 69 __ after a successful link. 70 __ </ul> 57 71 __ 58 72 __ /b"-- v2.08 -- 29/May/2005" … … 412 426 version(Windows) { 413 427 // OptLink Definition File 414 pragma (build_def, "VERSION 2. 8");428 pragma (build_def, "VERSION 2.9"); 415 429 } 416 430 } … … 425 439 import util.pathex; // Extended Path routines. 426 440 import util.fileex; // Extended File routines. 427 import util.bmscanner; // Boyer-Moore string find428 441 import util.macro; // Macro processing routines. 429 442 … … 550 563 char[] vBuildImportPathSwitch = "-I"; 551 564 char[] vTemporaryPathSwitch = "-od"; 565 char[] vRunSwitch = "-run"; 552 566 char[] vLibrarianPath = ""; 553 567 char[]* vDelayedValue = null; … … 564 578 bool vAutoImports = true; 565 579 bool vMacroInput = true; 580 bool vExecuteProgram = false; 581 char[] vRunParms; 582 char[] vTargetExe; 566 583 char[][] vImportRoots; 567 584 char[][] vModulesToIgnore; … … 573 590 char[] vAppPath; 574 591 char[] vAppName; 575 char[] vAppVersion = "2. 08";592 char[] vAppVersion = "2.9"; 576 593 char[] vTargetName; // Output name from first file name. 577 594 char[] vPragmaTargetName; // Output name from pragma. … … 600 617 } 601 618 602 alias util.bmscanner.BMScan!(char).BMScan bmfind;603 alias util.bmscanner.BMScan!(char).BMScanElement bmfind_elem;604 619 } 605 620 … … 722 737 writefln(" ** The default is to use command line arguments"); } 723 738 739 writefln(" -run<param> If the link is successful, this will cause the"); 740 writefln(" executable just created to run. You can give it "); 741 writefln(" run time parameters. Anything after the '-run' will"); 742 writefln(" placed in the program's command line. You will need"); 743 writefln(" to quote any embedded spaces."); 724 744 writefln(" -od<path> Nominate the directory where temporary (work) files"); 725 745 writefln(" are to be created. By default they are created in"); … … 757 777 { 758 778 int lRC; 779 int lTrueRC; 759 780 760 781 if (vTestRun) { 761 782 writefln("Command: '%s'",pCommand); 762 783 return 0; 763 } else { 764 765 766 if(vVerbose) { 767 writefln("Running '%s'",pCommand); 768 } 769 770 lRC = system(std.string.toStringz(pCommand)); 771 772 if(vVerbose) { 773 if (lRC == 0){ 774 writefln("Successful"); 775 } else { 776 writefln("Failed. Return code: %d",lRC); 777 } 778 } 779 return lRC; 780 } 784 } 785 else 786 { 787 788 789 if(vVerbose) { 790 writefln("Running '%s'",pCommand); 791 } 792 793 lRC = system(std.string.toStringz(pCommand)); 794 version(Posix) lTrueRC = ((lRC & 0xFF00) >> 8); 795 version(Windows) lTrueRC = lRC; 796 797 if(vVerbose) { 798 if (lTrueRC == 0){ 799 writefln("Successful"); 800 } else { 801 writefln("Failed. Return code: %04x",lRC); 802 } 803 } 804 return lTrueRC; 805 } 781 806 } 782 807 … … 1063 1088 if (Source.WasMainDLL) 1064 1089 lTargetName = ReplaceExtention(vTargetName, kShrLibExtention); 1065 else 1090 else { 1066 1091 lTargetName = ReplaceExtention(vTargetName, kExeExtention); 1092 vTargetExe = lTargetName; 1093 } 1067 1094 else 1068 1095 lTargetName = "not defined"; … … 1300 1327 // Run Compiler to compile the source files that need it. 1301 1328 lRunResult = RunCommand(lCommand); 1329 if (lRunResult != 0) 1330 vExecuteProgram = false; 1302 1331 } 1303 1332 … … 1309 1338 char[] lSmallName; 1310 1339 lSmallName = util.pathex.AbbreviateFileName(lTargetName); 1311 if ( bmfind(lSmallName, " ") != -1) {1340 if (find(lSmallName, " ") != -1) { 1312 1341 version(Posix) { 1313 1342 lOutText ~= std.string.format(`%s"%s"`,vOutFileSwitch,lSmallName); … … 1384 1413 1385 1414 // Run Linker 1415 if (vSilent) 1416 { 1417 version(Posix) lCommand ~= " >/dev/null"; 1418 version(Windows) lCommand ~= " >nul"; 1419 } 1420 1386 1421 lRunResult = RunCommand(lCommand); 1422 if (lRunResult != 0) 1423 vExecuteProgram = false; 1387 1424 } 1388 1425 … … 1401 1438 char[] lImpLibPath; 1402 1439 ulong[] lImpManf; 1440 1441 vExecuteProgram = false; 1403 1442 1404 1443 lImpLibPath = util.pathex.LocateFile("implib.exe", GetEnv("PATH")); … … 1418 1457 else if ( (vLibraryAction == LibOpt.Build) && (lRunResult == 0) ) 1419 1458 { 1459 vExecuteProgram = false; 1460 1420 1461 lOutText.length = 0; 1421 1422 1462 lOutText ~= vLibrarianOpts ~ std.path.linesep; 1423 1424 1463 lOutText ~= lTargetName ~ std.path.linesep; // Create a new library 1425 1464 … … 1529 1568 foreach(char[] lArg; vDefaultCompArgs) 1530 1569 { 1531 vCompilerArgs ~= lArg;1570 AddCompilerArg( lArg ); 1532 1571 } 1533 1572 … … 1539 1578 { 1540 1579 // Enclose in quotes if no quotes are currently present. 1541 if ( bmfind(lCompileArg, "\"") == -1)1580 if (find(lCompileArg, "\"") == -1) 1542 1581 // Arguments containing a blank need to be quoted. 1543 if ( bmfind(lCompileArg, " ") != -1)1582 if (find(lCompileArg, " ") != -1) 1544 1583 { 1545 1584 // Strip off any trailing shell escape lead-in character. … … 1562 1601 if (vNoLinkSwitch.length > 0) 1563 1602 { 1564 if ( bmfind(vNoLinkSwitch, " ") != -1)1603 if (find(vNoLinkSwitch, " ") != -1) 1565 1604 lOutText ~= std.string.format(`"%s"`,vNoLinkSwitch); 1566 1605 else … … 1569 1608 lOutText ~= "\n"; 1570 1609 1571 vCompilerArgs ~= vNoLinkSwitch;1610 AddCompilerArg( vNoLinkSwitch ); 1572 1611 } 1573 1612 } … … 1660 1699 1661 1700 // ------------------------------------------- 1701 void AddCompilerArg(char[] pArg) 1702 // ------------------------------------------- 1703 { 1704 bool lFound; 1705 1706 if (pArg.length > 0) 1707 { 1708 // Translate exported version pragmas. 1709 if (pArg.length > 3) 1710 { 1711 if (pArg[0..3] == `+v+`) 1712 pArg = vVersionSwitch ~ pArg[3..$]; 1713 } 1714 1715 lFound = false; 1716 foreach(char[] lArg; vCompilerArgs) 1717 { 1718 if (lArg == pArg) 1719 { 1720 lFound = true; 1721 break; 1722 } 1723 } 1724 if (! lFound ) 1725 vCompilerArgs ~= pArg; 1726 } 1727 } 1728 1729 // ------------------------------------------- 1662 1730 char[] AddRoot(char[] pRootName) 1663 1731 // ------------------------------------------- … … 1840 1908 version(GNU) 1841 1909 { 1842 if (lSwitch == vOutFileSwitch)1843 {1844 // Target name (eg. -o testapp)1845 vDelayedValue = &vCommandTargetName;1846 vBuildArgs ~= lSwitch;1847 continue;1848 }1910 if (lSwitch == vOutFileSwitch) 1911 { 1912 // Target name (eg. -o testapp) 1913 vDelayedValue = &vCommandTargetName; 1914 vBuildArgs ~= lSwitch; 1915 continue; 1916 } 1849 1917 } 1850 1918 … … 1872 1940 } 1873 1941 1874 vCompilerArgs ~= lSwitch;1942 AddCompilerArg ( lSwitch ); 1875 1943 } 1876 1944 } … … 1928 1996 1929 1997 // Examine DFLAGS 1930 lPos = bmfind(lLine, "DFLAGS=");1998 lPos = find(lLine, "DFLAGS="); 1931 1999 if(lPos == 0) 1932 2000 { … … 1935 2003 1936 2004 // Examine LIB 1937 lPos = bmfind(lLine, "LIB=");2005 lPos = find(lLine, "LIB="); 1938 2006 if(lPos == 0) 1939 2007 { … … 1976 2044 1977 2045 // Examine LINKCMD 1978 lPos = bmfind(lLine, "LINKCMD=");2046 lPos = find(lLine, "LINKCMD="); 1979 2047 if(lPos == 0) { 1980 2048 // Strip out any quotes 1981 while( (lPos = bmfind(lLine, "\"")) != -1)2049 while( (lPos = find(lLine, "\"")) != -1) 1982 2050 { 1983 2051 lLine = lLine[0..lPos] ~ lLine[lPos+1 .. $]; … … 1995 2063 } 1996 2064 1997 lPos = bmfind(lLine, "LIBCMD=");2065 lPos = find(lLine, "LIBCMD="); 1998 2066 if(lPos == 0) { 1999 2067 // Strip out any quotes 2000 while( (lPos = bmfind(lLine, "\"")) != -1)2068 while( (lPos = find(lLine, "\"")) != -1) 2001 2069 { 2002 2070 lLine = lLine[0..lPos] ~ lLine[lPos+1 .. $]; … … 2101 2169 2102 2170 // Rearrange path list into an array of paths. 2103 lPaths = split( lRawValue, std.path.pathsep);2171 lPaths = split(util.str.toASCII(lRawValue), std.path.pathsep); 2104 2172 2105 2173 lCompilerPath.length = 0; … … 2147 2215 source.GetObjWritePath = &GetTemporaryPath; 2148 2216 source.GetMacros = &GetMacros; 2217 source.AddCompilerArg = &AddCompilerArg; 2149 2218 2150 2219 // Scan the PATH env symbol to locate the D compiler. … … 2155 2224 vCompilerPath = lCompPath.dup; 2156 2225 // Set config path to same as compiler unless it is already set. 2157 if ( (vConfigPath !==null) && (vConfigPath.length == 0))2226 if (!(vConfigPath is null) && (vConfigPath.length == 0)) 2158 2227 vConfigPath = lCompPath.dup; 2159 2228 } … … 2184 2253 return 0; 2185 2254 } 2186 else { 2255 2187 2256 2188 2257 GatherArgs( pArgs ); … … 2305 2374 } 2306 2375 2376 if (vExecuteProgram && (vTargetExe.length > 0)) 2377 { 2378 RunCommand( vTargetExe ~ " " ~ std.string.strip(vRunParms)); 2379 } 2380 2307 2381 return lBuildResult; 2308 } 2382 2309 2383 2310 2384 } … … 2467 2541 break; 2468 2542 2543 case "-usage": 2469 2544 case "-help": 2470 2545 case "-h": … … 2584 2659 break; 2585 2660 } 2661 if (util.str.IsLike(pArg, std.utf.toUTF32(vRunSwitch ~ "*"))) 2662 { 2663 vRunParms ~= pArg[vRunSwitch.length .. $] ~ " "; 2664 vExecuteProgram = true; 2665 vBuildArgs ~= pArg; 2666 break; 2667 } 2668 2586 2669 2587 2670 // Special check for Object Write Path … … 2692 2775 } 2693 2776 2694 vCompilerArgs ~= pArg;2777 AddCompilerArg( pArg ); 2695 2778 2696 2779 } else { … … 3075 3158 3076 3159 3077 while ((lPos = bmfind(lArg, "{Group}")) != -1)3160 while ((lPos = find(lArg, "{Group}")) != -1) 3078 3161 { 3079 3162 lArg = lArg[0..lPos] ~ pArg ~ lArg[lPos + 7 .. $]; … … 3100 3183 else 3101 3184 { 3102 if ( bmfind_elem("-+@", lArg[lEndPos]) != -1)3185 if (find("-+@", lArg[lEndPos..lEndPos+1]) != -1) 3103 3186 { 3104 3187 GatherOneArg( lArg[lStartPos..lEndPos] ); … … 3117 3200 int lPos; 3118 3201 3119 while( (lPos = bmfind(lArg, "\"")) != -1)3202 while( (lPos = find(lArg, "\"")) != -1) 3120 3203 { 3121 3204 lArg = lArg[0..lPos] ~ lArg[lPos+1 .. $]; … … 3342 3425 __ tool=dmc -c {COPT} {@IN} -o{@OUT} {HDR} 3343 3426 __ 3427 __ /endcode 3428 3429 __ /topic Pragma 3430 __ /pragma export_version 3431 __ /desc This allows you to set a global version identifier. 3432 __ DMD allows you to set a version identifier in your code, but the scope 3433 __ of that is only for the module it is set in. This pragma gives you the 3434 __ ability to declare a version identifier which is applied to all modules 3435 __ being compiled, and not just the 'current' module. 3436 __ 3437 __ Example: 3438 __ /code 3439 __ version(build) pragma(export_version, Unix); 3440 __ version(build) pragma(export_version, Limited); 3441 __ /endcode 3442 __ These lines will cause the compiler to have these version identifiers 3443 __ added to the command line switches, thus making them effectively global. 3444 __ 3445 __ You can list more than one identifier on the pragma statement ... 3446 __ /code 3447 __ version(build) pragma(export_version, Unix, Limited); 3344 3448 __ /endcode 3345 3449 … … 3525 3629 __ /b"-noautoimport" Turns off the automatic addition of source paths 3526 3630 __ to the list of Import Roots. 3631 __ /b"-run~<param~>" If the link is successful, this will cause the 3632 __ executable just created to run. You can give it 3633 __ run time parameters. Anything after the '-run' will 3634 __ placed in the program's command line. You will need 3635 __ to quote any embedded spaces. 3527 3636 __ /b"-od~<path~>" Nominate the directory where temporary (work) files 3528 3637 __ are to be created. By default they are created in … … 3614 3723 __ You would typically use this if the main() function was being supplied 3615 3724 __ from an existing library file rather than one you your source files. 3725 3726 __ /topic switches 3727 __ /switch -run 3728 __ /desc Runs a program after successful linking. 3729 __ If the link is successful, this will cause the 3730 __ executable just created to run. You can give it 3731 __ run time parameters. Anything after the '-run' will 3732 __ placed in the program's command line. You will need 3733 __ to quote any embedded spaces. 3734 __ 3735 __Example: 3736 __/code 3737 __ -run"abc.de second" 3738 __/endcode 3616 3739 3617 3740 __ /topic switches trunk/Source/build.def
r27 r38 1 VERSION 1.191 VERSION 2.9 2 2 EXETYPE DOS trunk/Source/build.rsp
r27 r38 1 "-op" 2 "-Ic:\dparnell\dmd\bin\..\src\phobos" 3 "-IC:\dparnell\DLibs" 4 "build.obj" 5 "util\pathex_bn.obj" 6 "util\bmscanner_bn.obj" 7 "util\pathex.obj" 8 "source_bn.obj" 9 "util\linetoken.obj" 10 "util\str.obj" 11 "build_bn.obj" 12 "util\fileex_bn.obj" 13 "util\fileex.obj" 14 "util\bmscanner.obj" 15 "util\fdt_bn.obj" 16 "util\str_bn.obj" 17 "source.obj" 18 "util\linetoken_bn.obj" 19 "util\fdt.obj" 20 "build.def" 21 "kernel32.lib" 22 "-ofbuild.exe" 1 -release 2 -inline 3 -op 4 -Iz:\d_proj\build\trunk\source\ 5 -Iz:\dlibs\ 6 -Iz:\dmd\src\phobos\ 7 -IZ:\D_Proj\build\trunk\Source\util\ 8 build.def 9 util\linetoken.d 10 build_bn.d 11 util\pathex.d 12 util\fileex.d 13 util\str_bn.d 14 util\macro.d 15 source.d 16 source_bn.d 17 build.d 18 util\fdt.d 19 util\pathex_bn.d 20 util\linetoken_bn.d 21 util\str.d 22 util\fdt_bn.d 23 util\fileex_bn.d trunk/Source/build_bn.d
r37 r38 2 2 // This file is automatically maintained by the BUILD utility, 3 3 // Please refrain from manually editing it. 4 long auto_build_number = 11 37;4 long auto_build_number = 1197; trunk/Source/source.d
r37 r38 50 50 import util.pathex; 51 51 import util.fileex; 52 import util.bmscanner;53 52 import util.macro; 54 53 … … 90 89 long vDebugLevel = 0; 91 90 92 alias util.bmscanner.BMScan!(char).BMScan bmfind;93 91 } 94 92 … … 96 94 97 95 char[] function(char[] pPath) AddRoot; 96 void function(char[] pArg) AddCompilerArg; 98 97 char[][] function () GetImportRoots; 99 98 bool function() AutoImports; … … 300 299 301 300 // Check for package name 302 lFindPos = bmfind(lLowerFile,301 lFindPos = find(lLowerFile, 303 302 std.path.sep ~ lLowerMod ~ std.path.sep); 304 303 if (lFindPos == -1) { 305 304 // It might be a package at the current module level. 306 lFindPos = bmfind(lLowerFile,305 lFindPos = find(lLowerFile, 307 306 lLowerMod ~ std.path.sep); 308 307 if (lFindPos != 0) … … 312 311 if (lFindPos == -1) { 313 312 lType = "module"; 314 lFindPos = bmfind(lLowerFile,313 lFindPos = find(lLowerFile, 315 314 std.path.sep ~ lLowerMod ~ ".d"); 316 315 } … … 325 324 version(Posix) { 326 325 // Check for package name 327 lFindPos = bmfind(lNextFile,326 lFindPos = find(lNextFile, 328 327 std.path.sep ~ lNextModule ~ std.path.sep); 329 328 if (lFindPos == -1) { 330 329 // It might be a package at the current module level. 331 lFindPos = bmfind(lNextFile,330 lFindPos = find(lNextFile, 332 331 lNextModule ~ std.path.sep); 333 332 if (lFindPos != 0) … … 337 336 if (lFindPos == -1) { 338 337 lType = "module"; 339 lFindPos = bmfind(lNextFile,338 lFindPos = find(lNextFile, 340 339 std.path.sep ~ lNextModule ~ ".d"); 341 340 } … … 481 480 } 482 481 else 483 return (pID in vActiveVersions) != =null ? true :484 (pID in mActiveVersions) != =null ? true : false ;482 return (pID in vActiveVersions) != null ? true : 483 (pID in mActiveVersions) != null ? true : false ; 485 484 } 486 485 … … 517 516 } 518 517 else 519 return (pID in vActiveDebugs) != =null ? true :520 (pID in mActiveDebugs) != =null ? true : false ;518 return (pID in vActiveDebugs) != null ? true : 519 (pID in mActiveDebugs) != null ? true : false ; 521 520 } 522 521 … … 536 535 537 536 lblNextToken: 538 while ((lPrevToken = lCurToken.dup, lCurToken = GetNextToken (pFileText, pPos)) ! ==null) {537 while ((lPrevToken = lCurToken.dup, lCurToken = GetNextToken (pFileText, pPos)) !is null) { 539 538 540 539 switch(lCurToken) { … … 872 871 873 872 while ((lSavedPos = pPos, 874 lCurrentToken = GetNextToken (pFileText, pPos)) ! ==null873 lCurrentToken = GetNextToken (pFileText, pPos)) !is null 875 874 && (lCurrentToken != ";")) 876 875 { … … 898 897 // module lModName [.lModName]; 899 898 while ((lSavedPos = pPos, 900 lCurrentToken = GetNextToken (pFileText, pPos)) ! ==null899 lCurrentToken = GetNextToken (pFileText, pPos)) !is null 901 900 && (lCurrentToken != ";")) 902 901 { … … 920 919 void doPragma (in char[] pFileText, inout int pPos) 921 920 { 922 /* Looking for syntax form ... pragma(link, <id> [,<id>]...) 923 If <id> does not have an object extension, make it have a 924 library extension. 921 /* Looking for syntax form ... pragma(<type> [ , <id> [,<id>]...] ); 925 922 */ 926 923 char[] lCurrentToken; … … 937 934 { 938 935 lPragmaId = ""; 939 while ( (lCurrentToken = GetNextToken(pFileText,pPos)) ! ==null)936 while ( (lCurrentToken = GetNextToken(pFileText,pPos)) !is null) 940 937 { 941 938 if ( (lCurrentToken == "\"") || (lCurrentToken == "`") ) { … … 967 964 { 968 965 // Not a dot to be seen ;-) 969 lPragmaId ~= "." ~ LibExt; 966 lPragmaId ~= "." ~ LibExt; 970 967 } 971 968 } … … 981 978 // Collect records for the optlink module definition file. 982 979 lPragmaId = ""; 983 while ( (lCurrentToken = GetNextToken(pFileText,pPos)) ! ==null)980 while ( (lCurrentToken = GetNextToken(pFileText,pPos)) !is null) 984 981 { 985 982 if ( (lCurrentToken == "\"") || (lCurrentToken == "`") ) { … … 1063 1060 } 1064 1061 1065 } 1062 } else if (lCurrentToken == "export_version"){ 1063 1064 while ( (lCurrentToken = GetNextToken(pFileText,pPos)) == ",") 1065 { 1066 lCurrentToken = GetNextToken(pFileText,pPos); 1067 if ( (lCurrentToken == `"`) || (lCurrentToken == "`") ) 1068 { 1069 lCurrentToken = `"` ~ GetStringLit(pFileText,pPos, lCurrentToken[0]) ~ `"`; 1070 } 1071 AddCompilerArg(`+v+` ~ lCurrentToken ); 1072 } 1073 1074 while(lCurrentToken != kCloseParen) 1075 { // Skip everything until we find a closing paren. 1076 lCurrentToken = GetNextToken(pFileText,pPos); 1077 } 1078 } 1079 1066 1080 } 1067 1081 } … … 1202 1216 char[] lCurrentToken; 1203 1217 1204 while ((lCurrentToken = GetNextToken (pFileText, pPos)) ! ==null)1218 while ((lCurrentToken = GetNextToken (pFileText, pPos)) !is null) 1205 1219 { 1206 1220 if (lCurrentToken == pEndStmt) … … 1312 1326 if ( util.str.IsLike(lLine, cast(dchar[])"*long auto_build_number = *;*") ) 1313 1327 { 1314 for(int i = bmfind(lLine,"=") + 2; i < lLine.length; i++)1328 for(int i = find(lLine,"=") + 2; i < lLine.length; i++) 1315 1329 { 1316 int n = bmfind("0123456789", lLine[i..i+1] );1330 int n = find("0123456789", lLine[i..i+1] ); 1317 1331 if (n >= 0) 1318 1332 lBuildNumber = lBuildNumber * 10 + n; trunk/Source/source_bn.d
r37 r38 2 2 // This file is automatically maintained by the BUILD utility, 3 3 // Please refrain from manually editing it. 4 long auto_build_number = 989;4 long auto_build_number = 1049; trunk/Source/util/fdt_bn.d
r37 r38 2 2 // This file is automatically maintained by the BUILD utility, 3 3 // Please refrain from manually editing it. 4 long auto_build_number = 755;4 long auto_build_number = 815; trunk/Source/util/fileex.d
r34 r38 46 46 import std.ctype; 47 47 48 import util.bmscanner;49 50 48 debug(1) 51 49 { … … 54 52 55 53 56 alias util.bmscanner.BMScan!(char).BMScan bmfind;57 alias util.bmscanner.BMScan!(char).BMScanElement bmfind;58 54 59 55 } … … 133 129 for(int i = lText.length-1; i >= 0; i--) 134 130 { 135 if ( bmfind(std.path.linesep, lText[i]) == -1)131 if (find(std.path.linesep, lText[i]) == -1) 136 132 { 137 133 if (i != lText.length-1) … … 173 169 174 170 lCaseSensitive = true; 175 if ( bmfind(pOptions, 'i') != -1)171 if (find(pOptions, 'i') != -1) 176 172 lCaseSensitive = true; 177 if ( bmfind(pOptions, 'I') != -1)173 if (find(pOptions, 'I') != -1) 178 174 lCaseSensitive = true; 179 175 180 176 lRegExp = false; 181 if ( bmfind(pOptions, 'r') != -1)177 if (find(pOptions, 'r') != -1) 182 178 lRegExp = true; 183 if ( bmfind(pOptions, 'R') != -1)179 if (find(pOptions, 'R') != -1) 184 180 lRegExp = true; 185 181 186 182 lWordOnly = false; 187 if ( bmfind(pOptions, 'w') != -1)183 if (find(pOptions, 'w') != -1) 188 184 lWordOnly = true; 189 if ( bmfind(pOptions, 'W') != -1)185 if (find(pOptions, 'W') != -1) 190 186 lWordOnly = true; 191 187 192 188 lCounting = true; 193 if ( bmfind(pOptions, 'a') != -1)189 if (find(pOptions, 'a') != -1) 194 190 lCounting = false; 195 if ( bmfind(pOptions, 'A') != -1)191 if (find(pOptions, 'A') != -1) 196 192 lCounting = false; 197 193 … … 200 196 lPos = 0; 201 197 202 while ( (lPos = bmfind(lBuffer[lPos..$], pText)) != -1)198 while ( (lPos = find(lBuffer[lPos..$], pText)) != -1) 203 199 { 204 200 if (lWordOnly) … … 261 257 foreach(char[] lFile; lKeys) 262 258 { 263 delete lExistingFiles[lFile];264 } 265 } 259 lExistingFiles.remove(lFile); 260 } 261 } trunk/Source/util/fileex_bn.d
r37 r38 2 2 // This file is automatically maintained by the BUILD utility, 3 3 // Please refrain from manually editing it. 4 long auto_build_number = 698;4 long auto_build_number = 758; trunk/Source/util/linetoken.d
r25 r38 6 6 import std.string; 7 7 import std.utf; 8 import util.bmscanner; 9 10 alias util.bmscanner.BMScan!(dchar).BMScanElement bmfind; 8 11 9 } 12 10 char[][] TokenizeLine(char[] pSource, … … 131 129 { 132 130 // Not started a token yet. 133 lPos = bmfind(vOpenBracket, c); 131 dchar[] lChar; 132 133 lChar.length = 1; 134 lChar[0] = c; 135 lPos = find(toUTF8(vOpenBracket), toUTF8(lChar)); 134 136 if (lPos != -1) 135 137 { trunk/Source/util/linetoken_bn.d
r37 r38 2 2 // This file is automatically maintained by the BUILD utility, 3 3 // Please refrain from manually editing it. 4 long auto_build_number = 622;4 long auto_build_number = 859; trunk/Source/util/macro.d
r37 r38 2 2 3 3 private { 4 import util.bmscanner;5 4 import util.str; 6 5 7 6 import std.stdio; 8 7 9 alias util.bmscanner.BMScan!(char).BMScan bmfind;10 alias util.bmscanner.BMScan!(char).BMScanElement bmfind_elem;11 8 } 12 9 trunk/Source/util/pathex.d
r34 r38 45 45 private { 46 46 import util.str; 47 import util.bmscanner;48 47 import util.fileex; 49 48 … … 51 50 import std.file; 52 51 import std.stdio; 52 import std.string; 53 53 } 54 54 55 55 private { 56 56 char[] vInitCurDir; 57 alias util.bmscanner.BMScan!(char).BMScan bmfind;58 57 } 59 58 debug(1) … … 167 166 168 167 lLevel = std.path.sep ~ "." ~ std.path.sep; 169 lPosA = bmfind(lPath, lLevel);168 lPosA = find(lPath, lLevel); 170 169 while( lPosA != -1 ){ 171 170 lPath = lPath[0..lPosA] ~ 172 171 lPath[lPosA + lLevel.length - std.path.sep.length .. length]; 173 172 174 lPosA = bmfind(lPath, lLevel);173 lPosA = find(lPath, lLevel); 175 174 } 176 175 177 176 lLevel = std.path.sep ~ ".." ~ std.path.sep; 178 lPosA = bmfind(lPath, lLevel);177 lPosA = find(lPath, lLevel); 179 178 while( lPosA != -1 ){ 180 179 // Locate preceding directory separator. … … 188 187 lPath[lPosA + lLevel.length - std.path.sep.length .. length]; 189 188 190 lPosA = bmfind(lPath, lLevel);189 lPosA = find(lPath, lLevel); 191 190 } 192 191 … … 347 346 {{ 348 347 uint lPos; 349 while ( (lPos = bmfind(lShortName, `\\`)) != -1)348 while ( (lPos = find(lShortName, `\\`)) != -1) 350 349 { 351 350 lShortName = lShortName[0..lPos] ~ lShortName[lPos+1 .. $]; trunk/Source/util/pathex_bn.d
r37 r38 2 2 // This file is automatically maintained by the BUILD utility, 3 3 // Please refrain from manually editing it. 4 long auto_build_number = 778;4 long auto_build_number = 838; trunk/Source/util/str.d
r37 r38 48 48 import std.ctype; 49 49 import util.linetoken; 50 import util.bmscanner;51 50 52 51 import std.string; 53 52 import std.stdio; 54 alias util.bmscanner.BMScan!(dchar).BMScan bmfind;55 alias util.bmscanner.BMScan!(dchar).BMScanElement bmfind_elem;56 alias util.bmscanner.BMScan!(wchar).BMScan bmfind;57 alias util.bmscanner.BMScan!(wchar).BMScanElement bmfind_elem;58 alias util.bmscanner.BMScan!(char).BMScan bmfind;59 alias util.bmscanner.BMScan!(char).BMScanElement bmfind_elem;60 53 } 61 54 … … 677 670 { 678 671 if ( (pString.length > 0) && 679 ( bmfind_elem(pString, pTrigger) != -1)672 (find(pString, pTrigger) != -1) 680 673 ) 681 674 return pPrefix ~ pString ~ pSuffix; … … 688 681 //------------------------------------------------------- 689 682 { 683 wchar[] lTrigger; 684 lTrigger.length = 1; 685 lTrigger[0] = pTrigger; 690 686 if ( (pString.length > 0) && 691 ( bmfind_elem(pString, pTrigger) != -1)687 (find(toUTF8(pString), toUTF8(lTrigger) ) != -1) 692 688 ) 693 689 return pPrefix ~ pString ~ pSuffix; … … 700 696 //------------------------------------------------------- 701 697 { 698 dchar[] lTrigger; 699 lTrigger.length = 1; 700 lTrigger[0] = pTrigger; 702 701 if ( (pString.length > 0) && 703 ( bmfind_elem(pString, pTrigger) != -1)702 (find(toUTF8(pString), toUTF8(lTrigger)) != -1) 704 703 ) 705 704 return pPrefix ~ pString ~ pSuffix; … … 868 867 while( true) 869 868 { 870 lPos = bmfind(lResult, lToken);869 lPos = find(toUTF8(lResult), toUTF8(lToken) ); 871 870 if (lPos == -1) 872 871 break; … … 878 877 879 878 // Now remove all unused tokens. 880 while( (lPos = bmfind(lResult, pLeading)) != -1)879 while( (lPos = find(toUTF8(lResult), toUTF8(pLeading) )) != -1) 881 880 { 882 881 int lPos2; 883 882 884 lPos2 = bmfind(lResult[lPos+1 .. $], pTrailing);883 lPos2 = find(toUTF8(lResult[lPos+1 .. $]), toUTF8(pTrailing) ); 885 884 if (lPos2 == -1) 886 885 break; … … 892 891 return lResult; 893 892 } 893 894 dchar[] stripl(dchar[] s) 895 { 896 uint i; 897 898 for (i = 0; i < s.length; i++) 899 { 900 if (!std.ctype.isspace(s[i])) 901 break; 902 } 903 return s[i .. s.length]; 904 } 905 906 dchar[] stripr(dchar[] s) 907 { 908 uint i; 909 910 for (i = s.length; i > 0; i--) 911 { 912 if (!std.ctype.isspace(s[i - 1])) 913 break; 914 } 915 return s[0 .. i]; 916 } 917 918 dchar[] strip(dchar[] s) 919 { 920 return stripr(stripl(s)); 921 } 922 923 unittest 924 { 925 dchar[] s; 926 927 s = strip(cast(dchar[])" foo\t "); 928 assert(s == "foo"); 929 s = stripr(cast(dchar[])" foo\t "); 930 assert(s == " foo"); 931 s = stripl(cast(dchar[])" foo\t "); 932 assert(s == "foo\t "); 933 } 934 935 char[] toASCII(char[] pUTF8) 936 { 937 bool lChanged; 938 char[] lResult; 939 // Convert non-ASCII chars based on the Microsoft DOS Western Europe charset 940 static char[] lTranslateTable = 941 "\x00\x01\x02\x03\x04\x05\x06\x07\x08\x09\x0A\x0B\x0C\x0D\x0E\x0F" 942 "\x10\x11\x12\x13\x14\x15\x16\x17\x18\x19\x1A\x1B\x1C\x1D\x1E\x1F" 943 " !\"#$%&'()*+,-./0123456789:;<=>?" 944 "@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_" 945 "`abcdefghijklmnopqrstuvwxyz{|}~ " 946 "CueaaaaceeeiiiAAEaAooouuyOUo$Oxf" 947 "aiounNa0?R!24!<>-----AAAC----c$-" 948 "------aA-------$dDEEEiIII----|I-" 949 "OBOOoOmdDUUUyY-'-+=3PS/,0:.132- "; 950 lResult = pUTF8; 951 for (int i = 0; i < lResult.length; i++) 952 { 953 if (lResult[i] > 127) 954 { 955 if (lChanged == false) 956 { 957 lResult = pUTF8.dup; 958 lChanged = true; 959 } 960 lResult[i] = lTranslateTable[lResult[i]]; 961 } 962 } 963 return lResult; 964 } trunk/Source/util/str_bn.d
r37 r38 2 2 // This file is automatically maintained by the BUILD utility, 3 3 // Please refrain from manually editing it. 4 long auto_build_number = 750;4 long auto_build_number = 987;
