Changeset 33
- Timestamp:
- 04/28/05 20:14:24 (7 years ago)
- Files:
-
- downloads/build-2.04.doc.zip (added)
- downloads/build-2.04.src.zip (added)
- downloads/build_win_2.04.exe (added)
- trunk/Docs/AUTO_BUILD_NUMBER.htm (modified) (1 diff)
- trunk/Docs/CHANGE_LOG.htm (modified) (2 diffs)
- trunk/Docs/COMMAND_LINE.htm (modified) (2 diffs)
- trunk/Docs/DLL_LIBRARIES.htm (modified) (1 diff)
- trunk/Docs/PRAGMA.htm (modified) (1 diff)
- trunk/Docs/RESPONSE_FILE.htm (modified) (1 diff)
- trunk/Docs/RULE_DEFINITION_FILE.htm (modified) (1 diff)
- trunk/Docs/SWITCHES.htm (modified) (26 diffs)
- trunk/Docs/TO_DO.htm (modified) (1 diff)
- trunk/Docs/index.htm (modified) (2 diffs)
- trunk/Source/build.d (modified) (16 diffs)
- trunk/Source/build_bn.d (modified) (1 diff)
- trunk/Source/source.d (modified) (5 diffs)
- trunk/Source/source_bn.d (modified) (1 diff)
- trunk/Source/util/bmscanner_bn.d (modified) (1 diff)
- trunk/Source/util/fdt_bn.d (modified) (1 diff)
- trunk/Source/util/fileex_bn.d (modified) (1 diff)
- trunk/Source/util/linetoken_bn.d (modified) (1 diff)
- trunk/Source/util/pathex.d (modified) (2 diffs)
- trunk/Source/util/pathex_bn.d (modified) (1 diff)
- trunk/Source/util/str_bn.d (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
trunk/Docs/AUTO_BUILD_NUMBER.htm
r32 r33 2 2 <head> 3 3 <!-- Generated by MAKEDOC v1.1, (c) 2000,2003 by David Cuny, Derek Parnell, Matt Lewis --> 4 <!-- on 2005/04/2 0 at 11h48m04-->4 <!-- on 2005/04/29 at 09h50m47 --> 5 5 <style>h4 {text-align: right}</style> 6 6 <title></title> trunk/Docs/CHANGE_LOG.htm
r32 r33 2 2 <head> 3 3 <!-- Generated by MAKEDOC v1.1, (c) 2000,2003 by David Cuny, Derek Parnell, Matt Lewis --> 4 <!-- on 2005/04/2 0 at 11h48m04-->4 <!-- on 2005/04/29 at 09h50m47 --> 5 5 <style>h4 {text-align: right}</style> 6 6 <title></title> … … 12 12 <p><h3>A list of changes and fixes that have been made. 13 13 </h3><br> 14 <p> 15 <strong> -- v2.04 -- 29/Apr/2005 </strong> 16 <ul> 17 <li> ** <strong>FIX</strong>: <em>thanks to Nils Hensel</em>: The utility was not correctly 18 parsing the DFLAGS line in the configuration file when it contained 19 embedded quote characters. 20 <li> ** <strong>FIX</strong>: <em>thanks to Anders F Bjoerklund</em>: The utility was not treating 21 directory names that contained dots correctly. 22 <li> ** <strong>FIX</strong>: <em>thanks to Carlos</em>: Unix-style files that end with a nested comment 23 delimiter are now handled correctly. 24 <li> ** <strong>ENH</strong>: <em>thanks to qbert(Charlie)</em>: The location of the librarian tool can now 25 be specified. It can be explictly named on a LIBCMD= line inside the 26 DMD configuration file, or failing that, implictly assumed to be in the 27 same directory as the DMD linker. 28 <li> ** <strong>ENH</strong>: A new commandline switch -LIBOPT which allows you to pass 29 commandline options to the librarian. 30 </ul> 14 31 <p> 15 32 <strong> -- v2.03 -- 20/Apr/2005 </strong> trunk/Docs/COMMAND_LINE.htm
r32 r33 2 2 <head> 3 3 <!-- Generated by MAKEDOC v1.1, (c) 2000,2003 by David Cuny, Derek Parnell, Matt Lewis --> 4 <!-- on 2005/04/2 0 at 11h48m04-->4 <!-- on 2005/04/29 at 09h50m47 --> 5 5 <style>h4 {text-align: right}</style> 6 6 <title></title> … … 73 73 <strong>-dll</strong> Forces a DLL library to be created. 74 74 (Only needed if DllMain is not found in the source files. 75 <strong>-LIBOPT<opt></strong> Allows you to pass <opt> to the librarian 75 76 <strong>-X<module></strong> Packages and Modules to ignore (eg. -Xmylib) 76 77 <strong>-M<module></strong> Packages and Modules to notice (eg. -Mphobos) trunk/Docs/DLL_LIBRARIES.htm
r32 r33 2 2 <head> 3 3 <!-- Generated by MAKEDOC v1.1, (c) 2000,2003 by David Cuny, Derek Parnell, Matt Lewis --> 4 <!-- on 2005/04/2 0 at 11h48m04-->4 <!-- on 2005/04/29 at 09h50m47 --> 5 5 <style>h4 {text-align: right}</style> 6 6 <title></title> trunk/Docs/PRAGMA.htm
r32 r33 2 2 <head> 3 3 <!-- Generated by MAKEDOC v1.1, (c) 2000,2003 by David Cuny, Derek Parnell, Matt Lewis --> 4 <!-- on 2005/04/2 0 at 11h48m04-->4 <!-- on 2005/04/29 at 09h50m47 --> 5 5 <style>h4 {text-align: right}</style> 6 6 <title></title> trunk/Docs/RESPONSE_FILE.htm
r32 r33 2 2 <head> 3 3 <!-- Generated by MAKEDOC v1.1, (c) 2000,2003 by David Cuny, Derek Parnell, Matt Lewis --> 4 <!-- on 2005/04/2 0 at 11h48m04-->4 <!-- on 2005/04/29 at 09h50m47 --> 5 5 <style>h4 {text-align: right}</style> 6 6 <title></title> trunk/Docs/RULE_DEFINITION_FILE.htm
r32 r33 2 2 <head> 3 3 <!-- Generated by MAKEDOC v1.1, (c) 2000,2003 by David Cuny, Derek Parnell, Matt Lewis --> 4 <!-- on 2005/04/2 0 at 11h48m04-->4 <!-- on 2005/04/29 at 09h50m47 --> 5 5 <style>h4 {text-align: right}</style> 6 6 <title></title> trunk/Docs/SWITCHES.htm
r32 r33 2 2 <head> 3 3 <!-- Generated by MAKEDOC v1.1, (c) 2000,2003 by David Cuny, Derek Parnell, Matt Lewis --> 4 <!-- on 2005/04/2 0 at 11h48m04-->4 <!-- on 2005/04/29 at 09h50m47 --> 5 5 <style>h4 {text-align: right}</style> 6 6 <title></title> … … 24 24 <li><a href="#_INFO"><i>switch</i> -info</a> Displays the version and path of the <em>build</em> application 25 25 <li><a href="#_LIB"><i>switch</i> -lib</a> Forces the object files to be placed in a library. 26 <li><a href="#_LIBOPT"><i>switch</i> -LIBOPT</a> Allows commandline options to be passed to the librarian. 26 27 <li><a href="#_LINK"><i>switch</i> -link</a> Forces the linker to be called instead of the librarian. 27 28 <li><a href="#_M"><i>switch</i> -M</a> Identifies a module or a package to notice (not ignore) … … 35 36 <li><a href="#_T"><i>switch</i> -T</a> Identifies the target name to build. 36 37 <li><a href="#_TEST"><i>switch</i> -test</a> Does a test run only. No compiling, linking or library work is done. 38 <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 37 39 <li><a href="#_V"><i>switch</i> -v</a> Set <em>verbose</em> mode on for both <em>build</em> and for the compiler 38 <li><a href="#_V"><i>switch</i> -V</a> Set <em>verbose</em> mode on for just <em>build</em> and not for the compiler39 40 <li><a href="#_X"><i>switch</i> -X</a> Identifies a module or package to ignore 40 41 <hr> … … 58 59 <a href="#_INFO">-info</a>, 59 60 <a href="#_LIB">-lib</a>, 60 <a href="#_LINK">-link</a>, 61 <a href="#_M">-M</a>, 62 <a href="#_NAMES">-names</a>, 63 <a href="#_NOLIB">-nolib</a>, 64 <a href="#_NOLINK">-nolink</a>, 65 <a href="#_OBJ">-obj</a>, 66 <a href="#_R">-R</a>, 67 <a href="#_RDF">-RDF</a>, 68 <a href="#_SILENT">-silent</a>, 69 <a href="#_T">-T</a>, 70 <a href="#_TEST">-test</a>, 71 <a href="#_V">-v</a>, 72 <a href="#_V">-V</a>, 61 <a href="#_LIBOPT">-LIBOPT</a>, 62 <a href="#_LINK">-link</a>, 63 <a href="#_M">-M</a>, 64 <a href="#_NAMES">-names</a>, 65 <a href="#_NOLIB">-nolib</a>, 66 <a href="#_NOLINK">-nolink</a>, 67 <a href="#_OBJ">-obj</a>, 68 <a href="#_R">-R</a>, 69 <a href="#_RDF">-RDF</a>, 70 <a href="#_SILENT">-silent</a>, 71 <a href="#_T">-T</a>, 72 <a href="#_TEST">-test</a>, 73 <a href="#_V">-V</a>, 74 <a href="#_V">-v</a>, 73 75 <a href="#_X">-X</a> 74 76 <hr> … … 97 99 <a href="#_INFO">-info</a>, 98 100 <a href="#_LIB">-lib</a>, 99 <a href="#_LINK">-link</a>, 100 <a href="#_M">-M</a>, 101 <a href="#_NAMES">-names</a>, 102 <a href="#_NOLIB">-nolib</a>, 103 <a href="#_NOLINK">-nolink</a>, 104 <a href="#_OBJ">-obj</a>, 105 <a href="#_R">-R</a>, 106 <a href="#_RDF">-RDF</a>, 107 <a href="#_SILENT">-silent</a>, 108 <a href="#_T">-T</a>, 109 <a href="#_TEST">-test</a>, 110 <a href="#_V">-v</a>, 111 <a href="#_V">-V</a>, 101 <a href="#_LIBOPT">-LIBOPT</a>, 102 <a href="#_LINK">-link</a>, 103 <a href="#_M">-M</a>, 104 <a href="#_NAMES">-names</a>, 105 <a href="#_NOLIB">-nolib</a>, 106 <a href="#_NOLINK">-nolink</a>, 107 <a href="#_OBJ">-obj</a>, 108 <a href="#_R">-R</a>, 109 <a href="#_RDF">-RDF</a>, 110 <a href="#_SILENT">-silent</a>, 111 <a href="#_T">-T</a>, 112 <a href="#_TEST">-test</a>, 113 <a href="#_V">-V</a>, 114 <a href="#_V">-v</a>, 112 115 <a href="#_X">-X</a> 113 116 <hr> … … 133 136 <a href="#_INFO">-info</a>, 134 137 <a href="#_LIB">-lib</a>, 135 <a href="#_LINK">-link</a>, 136 <a href="#_M">-M</a>, 137 <a href="#_NAMES">-names</a>, 138 <a href="#_NOLIB">-nolib</a>, 139 <a href="#_NOLINK">-nolink</a>, 140 <a href="#_OBJ">-obj</a>, 141 <a href="#_R">-R</a>, 142 <a href="#_RDF">-RDF</a>, 143 <a href="#_SILENT">-silent</a>, 144 <a href="#_T">-T</a>, 145 <a href="#_TEST">-test</a>, 146 <a href="#_V">-v</a>, 147 <a href="#_V">-V</a>, 138 <a href="#_LIBOPT">-LIBOPT</a>, 139 <a href="#_LINK">-link</a>, 140 <a href="#_M">-M</a>, 141 <a href="#_NAMES">-names</a>, 142 <a href="#_NOLIB">-nolib</a>, 143 <a href="#_NOLINK">-nolink</a>, 144 <a href="#_OBJ">-obj</a>, 145 <a href="#_R">-R</a>, 146 <a href="#_RDF">-RDF</a>, 147 <a href="#_SILENT">-silent</a>, 148 <a href="#_T">-T</a>, 149 <a href="#_TEST">-test</a>, 150 <a href="#_V">-V</a>, 151 <a href="#_V">-v</a>, 148 152 <a href="#_X">-X</a> 149 153 <hr> … … 178 182 <a href="#_INFO">-info</a>, 179 183 <a href="#_LIB">-lib</a>, 180 <a href="#_LINK">-link</a>, 181 <a href="#_M">-M</a>, 182 <a href="#_NAMES">-names</a>, 183 <a href="#_NOLIB">-nolib</a>, 184 <a href="#_NOLINK">-nolink</a>, 185 <a href="#_OBJ">-obj</a>, 186 <a href="#_R">-R</a>, 187 <a href="#_RDF">-RDF</a>, 188 <a href="#_SILENT">-silent</a>, 189 <a href="#_T">-T</a>, 190 <a href="#_TEST">-test</a>, 191 <a href="#_V">-v</a>, 192 <a href="#_V">-V</a>, 184 <a href="#_LIBOPT">-LIBOPT</a>, 185 <a href="#_LINK">-link</a>, 186 <a href="#_M">-M</a>, 187 <a href="#_NAMES">-names</a>, 188 <a href="#_NOLIB">-nolib</a>, 189 <a href="#_NOLINK">-nolink</a>, 190 <a href="#_OBJ">-obj</a>, 191 <a href="#_R">-R</a>, 192 <a href="#_RDF">-RDF</a>, 193 <a href="#_SILENT">-silent</a>, 194 <a href="#_T">-T</a>, 195 <a href="#_TEST">-test</a>, 196 <a href="#_V">-V</a>, 197 <a href="#_V">-v</a>, 193 198 <a href="#_X">-X</a> 194 199 <hr> … … 213 218 <a href="#_INFO">-info</a>, 214 219 <a href="#_LIB">-lib</a>, 215 <a href="#_LINK">-link</a>, 216 <a href="#_M">-M</a>, 217 <a href="#_NAMES">-names</a>, 218 <a href="#_NOLIB">-nolib</a>, 219 <a href="#_NOLINK">-nolink</a>, 220 <a href="#_OBJ">-obj</a>, 221 <a href="#_R">-R</a>, 222 <a href="#_RDF">-RDF</a>, 223 <a href="#_SILENT">-silent</a>, 224 <a href="#_T">-T</a>, 225 <a href="#_TEST">-test</a>, 226 <a href="#_V">-v</a>, 227 <a href="#_V">-V</a>, 220 <a href="#_LIBOPT">-LIBOPT</a>, 221 <a href="#_LINK">-link</a>, 222 <a href="#_M">-M</a>, 223 <a href="#_NAMES">-names</a>, 224 <a href="#_NOLIB">-nolib</a>, 225 <a href="#_NOLINK">-nolink</a>, 226 <a href="#_OBJ">-obj</a>, 227 <a href="#_R">-R</a>, 228 <a href="#_RDF">-RDF</a>, 229 <a href="#_SILENT">-silent</a>, 230 <a href="#_T">-T</a>, 231 <a href="#_TEST">-test</a>, 232 <a href="#_V">-V</a>, 233 <a href="#_V">-v</a>, 228 234 <a href="#_X">-X</a> 229 235 <hr> … … 248 254 <a href="#_INFO">-info</a>, 249 255 <a href="#_LIB">-lib</a>, 250 <a href="#_LINK">-link</a>, 251 <a href="#_M">-M</a>, 252 <a href="#_NAMES">-names</a>, 253 <a href="#_NOLIB">-nolib</a>, 254 <a href="#_NOLINK">-nolink</a>, 255 <a href="#_OBJ">-obj</a>, 256 <a href="#_R">-R</a>, 257 <a href="#_RDF">-RDF</a>, 258 <a href="#_SILENT">-silent</a>, 259 <a href="#_T">-T</a>, 260 <a href="#_TEST">-test</a>, 261 <a href="#_V">-v</a>, 262 <a href="#_V">-V</a>, 256 <a href="#_LIBOPT">-LIBOPT</a>, 257 <a href="#_LINK">-link</a>, 258 <a href="#_M">-M</a>, 259 <a href="#_NAMES">-names</a>, 260 <a href="#_NOLIB">-nolib</a>, 261 <a href="#_NOLINK">-nolink</a>, 262 <a href="#_OBJ">-obj</a>, 263 <a href="#_R">-R</a>, 264 <a href="#_RDF">-RDF</a>, 265 <a href="#_SILENT">-silent</a>, 266 <a href="#_T">-T</a>, 267 <a href="#_TEST">-test</a>, 268 <a href="#_V">-V</a>, 269 <a href="#_V">-v</a>, 263 270 <a href="#_X">-X</a> 264 271 <hr> … … 290 297 <a href="#_INFO">-info</a>, 291 298 <a href="#_LIB">-lib</a>, 292 <a href="#_LINK">-link</a>, 293 <a href="#_M">-M</a>, 294 <a href="#_NAMES">-names</a>, 295 <a href="#_NOLIB">-nolib</a>, 296 <a href="#_NOLINK">-nolink</a>, 297 <a href="#_OBJ">-obj</a>, 298 <a href="#_R">-R</a>, 299 <a href="#_RDF">-RDF</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>, 299 <a href="#_LIBOPT">-LIBOPT</a>, 300 <a href="#_LINK">-link</a>, 301 <a href="#_M">-M</a>, 302 <a href="#_NAMES">-names</a>, 303 <a href="#_NOLIB">-nolib</a>, 304 <a href="#_NOLINK">-nolink</a>, 305 <a href="#_OBJ">-obj</a>, 306 <a href="#_R">-R</a>, 307 <a href="#_RDF">-RDF</a>, 308 <a href="#_SILENT">-silent</a>, 309 <a href="#_T">-T</a>, 310 <a href="#_TEST">-test</a>, 311 <a href="#_V">-V</a>, 312 <a href="#_V">-v</a>, 305 313 <a href="#_X">-X</a> 306 314 <hr> … … 321 329 <a href="#_INFO">-info</a>, 322 330 <a href="#_LIB">-lib</a>, 323 <a href="#_LINK">-link</a>, 324 <a href="#_M">-M</a>, 325 <a href="#_NAMES">-names</a>, 326 <a href="#_NOLIB">-nolib</a>, 327 <a href="#_NOLINK">-nolink</a>, 328 <a href="#_OBJ">-obj</a>, 329 <a href="#_R">-R</a>, 330 <a href="#_RDF">-RDF</a>, 331 <a href="#_SILENT">-silent</a>, 332 <a href="#_T">-T</a>, 333 <a href="#_TEST">-test</a>, 334 <a href="#_V">-v</a>, 335 <a href="#_V">-V</a>, 331 <a href="#_LIBOPT">-LIBOPT</a>, 332 <a href="#_LINK">-link</a>, 333 <a href="#_M">-M</a>, 334 <a href="#_NAMES">-names</a>, 335 <a href="#_NOLIB">-nolib</a>, 336 <a href="#_NOLINK">-nolink</a>, 337 <a href="#_OBJ">-obj</a>, 338 <a href="#_R">-R</a>, 339 <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>, 336 345 <a href="#_X">-X</a> 337 346 <hr> … … 351 360 <a href="#_HELP">-help</a>, 352 361 <a href="#_LIB">-lib</a>, 353 <a href="#_LINK">-link</a>, 354 <a href="#_M">-M</a>, 355 <a href="#_NAMES">-names</a>, 356 <a href="#_NOLIB">-nolib</a>, 357 <a href="#_NOLINK">-nolink</a>, 358 <a href="#_OBJ">-obj</a>, 359 <a href="#_R">-R</a>, 360 <a href="#_RDF">-RDF</a>, 361 <a href="#_SILENT">-silent</a>, 362 <a href="#_T">-T</a>, 363 <a href="#_TEST">-test</a>, 364 <a href="#_V">-v</a>, 365 <a href="#_V">-V</a>, 362 <a href="#_LIBOPT">-LIBOPT</a>, 363 <a href="#_LINK">-link</a>, 364 <a href="#_M">-M</a>, 365 <a href="#_NAMES">-names</a>, 366 <a href="#_NOLIB">-nolib</a>, 367 <a href="#_NOLINK">-nolink</a>, 368 <a href="#_OBJ">-obj</a>, 369 <a href="#_R">-R</a>, 370 <a href="#_RDF">-RDF</a>, 371 <a href="#_SILENT">-silent</a>, 372 <a href="#_T">-T</a>, 373 <a href="#_TEST">-test</a>, 374 <a href="#_V">-V</a>, 375 <a href="#_V">-v</a>, 366 376 <a href="#_X">-X</a> 367 377 <hr> … … 388 398 <a href="#_HELP">-help</a>, 389 399 <a href="#_INFO">-info</a>, 390 <a href="#_LINK">-link</a>, 391 <a href="#_M">-M</a>, 392 <a href="#_NAMES">-names</a>, 393 <a href="#_NOLIB">-nolib</a>, 394 <a href="#_NOLINK">-nolink</a>, 395 <a href="#_OBJ">-obj</a>, 396 <a href="#_R">-R</a>, 397 <a href="#_RDF">-RDF</a>, 398 <a href="#_SILENT">-silent</a>, 399 <a href="#_T">-T</a>, 400 <a href="#_TEST">-test</a>, 401 <a href="#_V">-v</a>, 402 <a href="#_V">-V</a>, 400 <a href="#_LIBOPT">-LIBOPT</a>, 401 <a href="#_LINK">-link</a>, 402 <a href="#_M">-M</a>, 403 <a href="#_NAMES">-names</a>, 404 <a href="#_NOLIB">-nolib</a>, 405 <a href="#_NOLINK">-nolink</a>, 406 <a href="#_OBJ">-obj</a>, 407 <a href="#_R">-R</a>, 408 <a href="#_RDF">-RDF</a>, 409 <a href="#_SILENT">-silent</a>, 410 <a href="#_T">-T</a>, 411 <a href="#_TEST">-test</a>, 412 <a href="#_V">-V</a>, 413 <a href="#_V">-v</a>, 414 <a href="#_X">-X</a> 415 <hr> 416 <h4><br> 417 <a href="index.htm#makedocTOC">Table of Contents</a></h4> 418 <h2><a name="_LIBOPT">[<i>switch</i>]<br>-LIBOPT</a> </h2> 419 <h3>Allows commandline options to be passed to the librarian.</h3> 420 Category: <a href="#SWITCHES">Switches</a><br> 421 <p><p>Example: 422 <pre> 423 (Set the page size to 32Kb) 424 -LIBOPT-p32 425 <p> 426 (Embedded spaces enclosed in quotes.) 427 "-LIBOPT -l -i" 428 </pre> 429 <p>See Also: 430 <a href="#_ALLOBJ">-allobj</a>, 431 <a href="#_CFPATH">-CFPATH</a>, 432 <a href="#_CLEANUP">-cleanup</a>, 433 <a href="#_DCPATH">-DCPATH</a>, 434 <a href="#_DLL">-dll</a>, 435 <a href="#_FULL">-full</a>, 436 <a href="#_GUI">-gui</a>, 437 <a href="#_HELP">-help</a>, 438 <a href="#_INFO">-info</a>, 439 <a href="#_LIB">-lib</a>, 440 <a href="#_LINK">-link</a>, 441 <a href="#_M">-M</a>, 442 <a href="#_NAMES">-names</a>, 443 <a href="#_NOLIB">-nolib</a>, 444 <a href="#_NOLINK">-nolink</a>, 445 <a href="#_OBJ">-obj</a>, 446 <a href="#_R">-R</a>, 447 <a href="#_RDF">-RDF</a>, 448 <a href="#_SILENT">-silent</a>, 449 <a href="#_T">-T</a>, 450 <a href="#_TEST">-test</a>, 451 <a href="#_V">-V</a>, 452 <a href="#_V">-v</a>, 403 453 <a href="#_X">-X</a> 404 454 <hr> … … 426 476 <a href="#_INFO">-info</a>, 427 477 <a href="#_LIB">-lib</a>, 428 <a href="#_M">-M</a>, 429 <a href="#_NAMES">-names</a>, 430 <a href="#_NOLIB">-nolib</a>, 431 <a href="#_NOLINK">-nolink</a>, 432 <a href="#_OBJ">-obj</a>, 433 <a href="#_R">-R</a>, 434 <a href="#_RDF">-RDF</a>, 435 <a href="#_SILENT">-silent</a>, 436 <a href="#_T">-T</a>, 437 <a href="#_TEST">-test</a>, 438 <a href="#_V">-v</a>, 439 <a href="#_V">-V</a>, 478 <a href="#_LIBOPT">-LIBOPT</a>, 479 <a href="#_M">-M</a>, 480 <a href="#_NAMES">-names</a>, 481 <a href="#_NOLIB">-nolib</a>, 482 <a href="#_NOLINK">-nolink</a>, 483 <a href="#_OBJ">-obj</a>, 484 <a href="#_R">-R</a>, 485 <a href="#_RDF">-RDF</a>, 486 <a href="#_SILENT">-silent</a>, 487 <a href="#_T">-T</a>, 488 <a href="#_TEST">-test</a>, 489 <a href="#_V">-V</a>, 490 <a href="#_V">-v</a>, 440 491 <a href="#_X">-X</a> 441 492 <hr> … … 465 516 <a href="#_INFO">-info</a>, 466 517 <a href="#_LIB">-lib</a>, 467 <a href="#_LINK">-link</a>, 468 <a href="#_NAMES">-names</a>, 469 <a href="#_NOLIB">-nolib</a>, 470 <a href="#_NOLINK">-nolink</a>, 471 <a href="#_OBJ">-obj</a>, 472 <a href="#_R">-R</a>, 473 <a href="#_RDF">-RDF</a>, 474 <a href="#_SILENT">-silent</a>, 475 <a href="#_T">-T</a>, 476 <a href="#_TEST">-test</a>, 477 <a href="#_V">-v</a>, 478 <a href="#_V">-V</a>, 518 <a href="#_LIBOPT">-LIBOPT</a>, 519 <a href="#_LINK">-link</a>, 520 <a href="#_NAMES">-names</a>, 521 <a href="#_NOLIB">-nolib</a>, 522 <a href="#_NOLINK">-nolink</a>, 523 <a href="#_OBJ">-obj</a>, 524 <a href="#_R">-R</a>, 525 <a href="#_RDF">-RDF</a>, 526 <a href="#_SILENT">-silent</a>, 527 <a href="#_T">-T</a>, 528 <a href="#_TEST">-test</a>, 529 <a href="#_V">-V</a>, 530 <a href="#_V">-v</a>, 479 531 <a href="#_X">-X</a> 480 532 <hr> … … 495 547 <a href="#_INFO">-info</a>, 496 548 <a href="#_LIB">-lib</a>, 497 <a href="#_LINK">-link</a>, 498 <a href="#_M">-M</a>, 499 <a href="#_NOLIB">-nolib</a>, 500 <a href="#_NOLINK">-nolink</a>, 501 <a href="#_OBJ">-obj</a>, 502 <a href="#_R">-R</a>, 503 <a href="#_RDF">-RDF</a>, 504 <a href="#_SILENT">-silent</a>, 505 <a href="#_T">-T</a>, 506 <a href="#_TEST">-test</a>, 507 <a href="#_V">-v</a>, 508 <a href="#_V">-V</a>, 549 <a href="#_LIBOPT">-LIBOPT</a>, 550 <a href="#_LINK">-link</a>, 551 <a href="#_M">-M</a>, 552 <a href="#_NOLIB">-nolib</a>, 553 <a href="#_NOLINK">-nolink</a>, 554 <a href="#_OBJ">-obj</a>, 555 <a href="#_R">-R</a>, 556 <a href="#_RDF">-RDF</a>, 557 <a href="#_SILENT">-silent</a>, 558 <a href="#_T">-T</a>, 559 <a href="#_TEST">-test</a>, 560 <a href="#_V">-V</a>, 561 <a href="#_V">-v</a>, 509 562 <a href="#_X">-X</a> 510 563 <hr> … … 531 584 <a href="#_INFO">-info</a>, 532 585 <a href="#_LIB">-lib</a>, 533 <a href="#_LINK">-link</a>, 534 <a href="#_M">-M</a>, 535 <a href="#_NAMES">-names</a>, 536 <a href="#_NOLINK">-nolink</a>, 537 <a href="#_OBJ">-obj</a>, 538 <a href="#_R">-R</a>, 539 <a href="#_RDF">-RDF</a>, 540 <a href="#_SILENT">-silent</a>, 541 <a href="#_T">-T</a>, 542 <a href="#_TEST">-test</a>, 543 <a href="#_V">-v</a>, 544 <a href="#_V">-V</a>, 586 <a href="#_LIBOPT">-LIBOPT</a>, 587 <a href="#_LINK">-link</a>, 588 <a href="#_M">-M</a>, 589 <a href="#_NAMES">-names</a>, 590 <a href="#_NOLINK">-nolink</a>, 591 <a href="#_OBJ">-obj</a>, 592 <a href="#_R">-R</a>, 593 <a href="#_RDF">-RDF</a>, 594 <a href="#_SILENT">-silent</a>, 595 <a href="#_T">-T</a>, 596 <a href="#_TEST">-test</a>, 597 <a href="#_V">-V</a>, 598 <a href="#_V">-v</a>, 545 599 <a href="#_X">-X</a> 546 600 <hr> … … 569 623 <a href="#_INFO">-info</a>, 570 624 <a href="#_LIB">-lib</a>, 571 <a href="#_LINK">-link</a>, 572 <a href="#_M">-M</a>, 573 <a href="#_NAMES">-names</a>, 574 <a href="#_NOLIB">-nolib</a>, 575 <a href="#_OBJ">-obj</a>, 576 <a href="#_R">-R</a>, 577 <a href="#_RDF">-RDF</a>, 578 <a href="#_SILENT">-silent</a>, 579 <a href="#_T">-T</a>, 580 <a href="#_TEST">-test</a>, 581 <a href="#_V">-v</a>, 582 <a href="#_V">-V</a>, 625 <a href="#_LIBOPT">-LIBOPT</a>, 626 <a href="#_LINK">-link</a>, 627 <a href="#_M">-M</a>, 628 <a href="#_NAMES">-names</a>, 629 <a href="#_NOLIB">-nolib</a>, 630 <a href="#_OBJ">-obj</a>, 631 <a href="#_R">-R</a>, 632 <a href="#_RDF">-RDF</a>, 633 <a href="#_SILENT">-silent</a>, 634 <a href="#_T">-T</a>, 635 <a href="#_TEST">-test</a>, 636 <a href="#_V">-V</a>, 637 <a href="#_V">-v</a>, 583 638 <a href="#_X">-X</a> 584 639 <hr> … … 603 658 <a href="#_INFO">-info</a>, 604 659 <a href="#_LIB">-lib</a>, 605 <a href="#_LINK">-link</a>, 606 <a href="#_M">-M</a>, 607 <a href="#_NAMES">-names</a>, 608 <a href="#_NOLIB">-nolib</a>, 609 <a href="#_NOLINK">-nolink</a>, 610 <a href="#_R">-R</a>, 611 <a href="#_RDF">-RDF</a>, 612 <a href="#_SILENT">-silent</a>, 613 <a href="#_T">-T</a>, 614 <a href="#_TEST">-test</a>, 615 <a href="#_V">-v</a>, 616 <a href="#_V">-V</a>, 660 <a href="#_LIBOPT">-LIBOPT</a>, 661 <a href="#_LINK">-link</a>, 662 <a href="#_M">-M</a>, 663 <a href="#_NAMES">-names</a>, 664 <a href="#_NOLIB">-nolib</a>, 665 <a href="#_NOLINK">-nolink</a>, 666 <a href="#_R">-R</a>, 667 <a href="#_RDF">-RDF</a>, 668 <a href="#_SILENT">-silent</a>, 669 <a href="#_T">-T</a>, 670 <a href="#_TEST">-test</a>, 671 <a href="#_V">-V</a>, 672 <a href="#_V">-v</a>, 617 673 <a href="#_X">-X</a> 618 674 <hr> … … 670 726 <a href="#_INFO">-info</a>, 671 727 <a href="#_LIB">-lib</a>, 672 <a href="#_LINK">-link</a>, 673 <a href="#_M">-M</a>, 674 <a href="#_NAMES">-names</a>, 675 <a href="#_NOLIB">-nolib</a>, 676 <a href="#_NOLINK">-nolink</a>, 677 <a href="#_OBJ">-obj</a>, 678 <a href="#_RDF">-RDF</a>, 679 <a href="#_SILENT">-silent</a>, 680 <a href="#_T">-T</a>, 681 <a href="#_TEST">-test</a>, 682 <a href="#_V">-v</a>, 683 <a href="#_V">-V</a>, 728 <a href="#_LIBOPT">-LIBOPT</a>, 729 <a href="#_LINK">-link</a>, 730 <a href="#_M">-M</a>, 731 <a href="#_NAMES">-names</a>, 732 <a href="#_NOLIB">-nolib</a>, 733 <a href="#_NOLINK">-nolink</a>, 734 <a href="#_OBJ">-obj</a>, 735 <a href="#_RDF">-RDF</a>, 736 <a href="#_SILENT">-silent</a>, 737 <a href="#_T">-T</a>, 738 <a href="#_TEST">-test</a>, 739 <a href="#_V">-V</a>, 740 <a href="#_V">-v</a>, 684 741 <a href="#_X">-X</a> 685 742 <hr> … … 707 764 <a href="#_INFO">-info</a>, 708 765 <a href="#_LIB">-lib</a>, 709 <a href="#_LINK">-link</a>, 710 <a href="#_M">-M</a>, 711 <a href="#_NAMES">-names</a>, 712 <a href="#_NOLIB">-nolib</a>, 713 <a href="#_NOLINK">-nolink</a>, 714 <a href="#_OBJ">-obj</a>, 715 <a href="#_R">-R</a>, 716 <a href="#_SILENT">-silent</a>, 717 <a href="#_T">-T</a>, 718 <a href="#_TEST">-test</a>, 719 <a href="#_V">-v</a>, 720 <a href="#_V">-V</a>, 766 <a href="#_LIBOPT">-LIBOPT</a>, 767 <a href="#_LINK">-link</a>, 768 <a href="#_M">-M</a>, 769 <a href="#_NAMES">-names</a>, 770 <a href="#_NOLIB">-nolib</a>, 771 <a href="#_NOLINK">-nolink</a>, 772 <a href="#_OBJ">-obj</a>, 773 <a href="#_R">-R</a>, 774 <a href="#_SILENT">-silent</a>, 775 <a href="#_T">-T</a>, 776 <a href="#_TEST">-test</a>, 777 <a href="#_V">-V</a>, 778 <a href="#_V">-v</a>, 721 779 <a href="#_X">-X</a> 722 780 <hr> … … 739 797 <a href="#_INFO">-info</a>, 740 798 <a href="#_LIB">-lib</a>, 741 <a href="#_LINK">-link</a>, 742 <a href="#_M">-M</a>, 743 <a href="#_NAMES">-names</a>, 744 <a href="#_NOLIB">-nolib</a>, 745 <a href="#_NOLINK">-nolink</a>, 746 <a href="#_OBJ">-obj</a>, 747 <a href="#_R">-R</a>, 748 <a href="#_RDF">-RDF</a>, 749 <a href="#_T">-T</a>, 750 <a href="#_TEST">-test</a>, 751 <a href="#_V">-v</a>, 752 <a href="#_V">-V</a>, 799 <a href="#_LIBOPT">-LIBOPT</a>, 800 <a href="#_LINK">-link</a>, 801 <a href="#_M">-M</a>, 802 <a href="#_NAMES">-names</a>, 803 <a href="#_NOLIB">-nolib</a>, 804 <a href="#_NOLINK">-nolink</a>, 805 <a href="#_OBJ">-obj</a>, 806 <a href="#_R">-R</a>, 807 <a href="#_RDF">-RDF</a>, 808 <a href="#_T">-T</a>, 809 <a href="#_TEST">-test</a>, 810 <a href="#_V">-V</a>, 811 <a href="#_V">-v</a>, 753 812 <a href="#_X">-X</a> 754 813 <hr> … … 784 843 <a href="#_INFO">-info</a>, 785 844 <a href="#_LIB">-lib</a>, 786 <a href="#_LINK">-link</a>, 787 <a href="#_M">-M</a>, 788 <a href="#_NAMES">-names</a>, 789 <a href="#_NOLIB">-nolib</a>, 790 <a href="#_NOLINK">-nolink</a>, 791 <a href="#_OBJ">-obj</a>, 792 <a href="#_R">-R</a>, 793 <a href="#_RDF">-RDF</a>, 794 <a href="#_SILENT">-silent</a>, 795 <a href="#_TEST">-test</a>, 796 <a href="#_V">-v</a>, 797 <a href="#_V">-V</a>, 845 <a href="#_LIBOPT">-LIBOPT</a>, 846 <a href="#_LINK">-link</a>, 847 <a href="#_M">-M</a>, 848 <a href="#_NAMES">-names</a>, 849 <a href="#_NOLIB">-nolib</a>, 850 <a href="#_NOLINK">-nolink</a>, 851 <a href="#_OBJ">-obj</a>, 852 <a href="#_R">-R</a>, 853 <a href="#_RDF">-RDF</a>, 854 <a href="#_SILENT">-silent</a>, 855 <a href="#_TEST">-test</a>, 856 <a href="#_V">-V</a>, 857 <a href="#_V">-v</a>, 798 858 <a href="#_X">-X</a> 799 859 <hr> … … 816 876 <a href="#_INFO">-info</a>, 817 877 <a href="#_LIB">-lib</a>, 818 <a href="#_LINK">-link</a>, 819 <a href="#_M">-M</a>, 820 <a href="#_NAMES">-names</a>, 821 <a href="#_NOLIB">-nolib</a>, 822 <a href="#_NOLINK">-nolink</a>, 823 <a href="#_OBJ">-obj</a>, 824 <a href="#_R">-R</a>, 825 <a href="#_RDF">-RDF</a>, 826 <a href="#_SILENT">-silent</a>, 827 <a href="#_T">-T</a>, 828 <a href="#_V">-v</a>, 829 <a href="#_V">-V</a>, 878 <a href="#_LIBOPT">-LIBOPT</a>, 879 <a href="#_LINK">-link</a>, 880 <a href="#_M">-M</a>, 881 <a href="#_NAMES">-names</a>, 882 <a href="#_NOLIB">-nolib</a>, 883 <a href="#_NOLINK">-nolink</a>, 884 <a href="#_OBJ">-obj</a>, 885 <a href="#_R">-R</a>, 886 <a href="#_RDF">-RDF</a>, 887 <a href="#_SILENT">-silent</a>, 888 <a href="#_T">-T</a>, 889 <a href="#_V">-V</a>, 890 <a href="#_V">-v</a>, 891 <a href="#_X">-X</a> 892 <hr> 893 <h4><br> 894 <a href="index.htm#makedocTOC">Table of Contents</a></h4> 895 <h2><a name="_V">[<i>switch</i>]<br>-V</a> </h2> 896 <h3> Set <em>verbose</em> mode on for just <em>build</em> and not for the compiler</h3> 897 Category: <a href="#SWITCHES">Switches</a><br> 898 <p><p><p>See Also: 899 <a href="#_ALLOBJ">-allobj</a>, 900 <a href="#_CFPATH">-CFPATH</a>, 901 <a href="#_CLEANUP">-cleanup</a>, 902 <a href="#_DCPATH">-DCPATH</a>, 903 <a href="#_DLL">-dll</a>, 904 <a href="#_FULL">-full</a>, 905 <a href="#_GUI">-gui</a>, 906 <a href="#_HELP">-help</a>, 907 <a href="#_INFO">-info</a>, 908 <a href="#_LIB">-lib</a>, 909 <a href="#_LIBOPT">-LIBOPT</a>, 910 <a href="#_LINK">-link</a>, 911 <a href="#_M">-M</a>, 912 <a href="#_NAMES">-names</a>, 913 <a href="#_NOLIB">-nolib</a>, 914 <a href="#_NOLINK">-nolink</a>, 915 <a href="#_OBJ">-obj</a>, 916 <a href="#_R">-R</a>, 917 <a href="#_RDF">-RDF</a>, 918 <a href="#_SILENT">-silent</a>, 919 <a href="#_T">-T</a>, 920 <a href="#_TEST">-test</a>, 921 <a href="#_V">-v</a>, 830 922 <a href="#_X">-X</a> 831 923 <hr> … … 846 938 <a href="#_INFO">-info</a>, 847 939 <a href="#_LIB">-lib</a>, 848 <a href="#_LINK">-link</a>, 849 <a href="#_M">-M</a>, 850 <a href="#_NAMES">-names</a>, 851 <a href="#_NOLIB">-nolib</a>, 852 <a href="#_NOLINK">-nolink</a>, 853 <a href="#_OBJ">-obj</a>, 854 <a href="#_R">-R</a>, 855 <a href="#_RDF">-RDF</a>, 856 <a href="#_SILENT">-silent</a>, 857 <a href="#_T">-T</a>, 858 <a href="#_TEST">-test</a>, 859 <a href="#_V">-V</a>, 860 <a href="#_X">-X</a> 861 <hr> 862 <h4><br> 863 <a href="index.htm#makedocTOC">Table of Contents</a></h4> 864 <h2><a name="_V">[<i>switch</i>]<br>-V</a> </h2> 865 <h3> Set <em>verbose</em> mode on for just <em>build</em> and not for the compiler</h3> 866 Category: <a href="#SWITCHES">Switches</a><br> 867 <p><p><p>See Also: 868 <a href="#_ALLOBJ">-allobj</a>, 869 <a href="#_CFPATH">-CFPATH</a>, 870 <a href="#_CLEANUP">-cleanup</a>, 871 <a href="#_DCPATH">-DCPATH</a>, 872 <a href="#_DLL">-dll</a>, 873 <a href="#_FULL">-full</a>, 874 <a href="#_GUI">-gui</a>, 875 <a href="#_HELP">-help</a>, 876 <a href="#_INFO">-info</a>, 877 <a href="#_LIB">-lib</a>, 878 <a href="#_LINK">-link</a>, 879 <a href="#_M">-M</a>, 880 <a href="#_NAMES">-names</a>, 881 <a href="#_NOLIB">-nolib</a>, 882 <a href="#_NOLINK">-nolink</a>, 883 <a href="#_OBJ">-obj</a>, 884 <a href="#_R">-R</a>, 885 <a href="#_RDF">-RDF</a>, 886 <a href="#_SILENT">-silent</a>, 887 <a href="#_T">-T</a>, 888 <a href="#_TEST">-test</a>, 889 <a href="#_V">-v</a>, 940 <a href="#_LIBOPT">-LIBOPT</a>, 941 <a href="#_LINK">-link</a>, 942 <a href="#_M">-M</a>, 943 <a href="#_NAMES">-names</a>, 944 <a href="#_NOLIB">-nolib</a>, 945 <a href="#_NOLINK">-nolink</a>, 946 <a href="#_OBJ">-obj</a>, 947 <a href="#_R">-R</a>, 948 <a href="#_RDF">-RDF</a>, 949 <a href="#_SILENT">-silent</a>, 950 <a href="#_T">-T</a>, 951 <a href="#_TEST">-test</a>, 952 <a href="#_V">-V</a>, 890 953 <a href="#_X">-X</a> 891 954 <hr> … … 917 980 <a href="#_INFO">-info</a>, 918 981 <a href="#_LIB">-lib</a>, 919 <a href="#_LINK">-link</a>, 920 <a href="#_M">-M</a>, 921 <a href="#_NAMES">-names</a>, 922 <a href="#_NOLIB">-nolib</a>, 923 <a href="#_NOLINK">-nolink</a>, 924 <a href="#_OBJ">-obj</a>, 925 <a href="#_R">-R</a>, 926 <a href="#_RDF">-RDF</a>, 927 <a href="#_SILENT">-silent</a>, 928 <a href="#_T">-T</a>, 929 <a href="#_TEST">-test</a>, 930 <a href="#_V">-v</a>, 931 <a href="#_V">-V</a> 932 <hr> 982 <a href="#_LIBOPT">-LIBOPT</a>, 983 <a href="#_LINK">-link</a>, 984 <a href="#_M">-M</a>, 985 <a href="#_NAMES">-names</a>, 986 <a href="#_NOLIB">-nolib</a>, 987 <a href="#_NOLINK">-nolink</a>, 988 <a href="#_OBJ">-obj</a>, 989 <a href="#_R">-R</a>, 990 <a href="#_RDF">-RDF</a>, 991 <a href="#_SILENT">-silent</a>, 992 <a href="#_T">-T</a>, 993 <a href="#_TEST">-test</a>, 994 <a href="#_V">-V</a>, 995 <a href="#_V">-v</a> 996 <hr> trunk/Docs/TO_DO.htm
r32 r33 2 2 <head> 3 3 <!-- Generated by MAKEDOC v1.1, (c) 2000,2003 by David Cuny, Derek Parnell, Matt Lewis --> 4 <!-- on 2005/04/2 0 at 11h48m04-->4 <!-- on 2005/04/29 at 09h50m47 --> 5 5 <style>h4 {text-align: right}</style> 6 6 <title></title> trunk/Docs/index.htm
r32 r33 2 2 <head> 3 3 <!-- Generated by MAKEDOC v1.1, (c) 2000,2003 by David Cuny, Derek Parnell, Matt Lewis --> 4 <!-- on 2005/04/2 0 at 11h48m04-->4 <!-- on 2005/04/29 at 09h50m47 --> 5 5 <style>h4 {text-align: right}</style> 6 6 <title></title> … … 56 56 <a href="SWITCHES.htm#_INFO">-info</a> [<i><code>switch</code></i>] Displays the version and path of the <em>build</em> application<br> 57 57 <a href="SWITCHES.htm#_LIB">-lib</a> [<i><code>switch</code></i>] Forces the object files to be placed in a library.<br> 58 <a href="SWITCHES.htm#_LIBOPT">-LIBOPT</a> [<i><code>switch</code></i>] Allows commandline options to be passed to the librarian.<br> 58 59 <a href="SWITCHES.htm#_LINK">-link</a> [<i><code>switch</code></i>] Forces the linker to be called instead of the librarian.<br> 59 60 <a href="SWITCHES.htm#_M">-M</a> [<i><code>switch</code></i>] Identifies a module or a package to notice (not ignore)<br> trunk/Source/build.d
r32 r33 52 52 ///info 53 53 //A list of changes and fixes that have been made. 54 // 55 // /b"-- v2.04 -- 29/Apr/2005" 56 //<ul> 57 ///li ** /b FIX: /i"thanks to Nils Hensel": The utility was not correctly 58 //parsing the DFLAGS line in the configuration file when it contained 59 //embedded quote characters. 60 ///li ** /b FIX: /i"thanks to Anders F Bjoerklund": The utility was not treating 61 //directory names that contained dots correctly. 62 ///li ** /b FIX: /i"thanks to Carlos": Unix-style files that end with a nested comment 63 //delimiter are now handled correctly. 64 ///li ** /b ENH: /i"thanks to qbert(Charlie)": The location of the librarian tool can now 65 //be specified. It can be explictly named on a LIBCMD= line inside the 66 //DMD configuration file, or failing that, implictly assumed to be in the 67 //same directory as the DMD linker. 68 ///li ** /b ENH: A new commandline switch -LIBOPT which allows you to pass 69 //commandline options to the librarian. 70 //</ul> 54 71 // 55 72 // /b"-- v2.03 -- 20/Apr/2005" … … 294 311 version(Windows) { 295 312 // OptLink Definition File 296 pragma (build_def, "VERSION 2.0 3");313 pragma (build_def, "VERSION 2.04"); 297 314 } 298 315 } … … 368 385 char[] vConfigSep = ";"; 369 386 char[] vLibrarian = `lib`; 370 char[] vLibrarianOpts = `-c `;387 char[] vLibrarianOpts = `-c -p256`; 371 388 } 372 389 … … 417 434 } 418 435 436 char[] vLibrarianPath = ""; 419 437 char[]* vDelayedValue = null; 420 438 char[] vObjWritePath = ""; … … 438 456 char[] vAppPath; 439 457 char[] vAppName; 440 char[] vAppVersion = "2.0 3";458 char[] vAppVersion = "2.04"; 441 459 char[] vTargetName; // Output name from first file name. 442 460 char[] vPragmaTargetName; // Output name from pragma. … … 554 572 } 555 573 574 writefln(" -LIBOPT<opt> Allows you to pass <opt> to the librarian."); 556 575 writefln(" -test Does everything as normal except it displays the commands"); 557 576 writefln(" instead of running them."); … … 966 985 } 967 986 } else if (lCurrentSource.NoLink == false) { 968 lFilesToLink ~= lCurrentSource.ObjectName; //ReplaceExtention(lShortFileName, kObjExtention);987 lFilesToLink ~= lCurrentSource.ObjectName; 969 988 } 970 989 … … 1171 1190 lResponseFileName = ReplaceExtention(vTargetName, "lsp"); 1172 1191 util.fileex.CreateTextFile(lResponseFileName,lOutText); 1173 lCommand = vLibrarian ~ " @" ~ lResponseFileName;1192 lCommand = vLibrarianPath ~ vLibrarian ~ " @" ~ lResponseFileName; 1174 1193 } 1175 1194 else 1176 1195 { // using commandline, may run into limits 1177 lCommand = vLibrarian ~ " " ~ std.string.replace(lOutText,std.path.linesep," ");1196 lCommand = vLibrarianPath ~ vLibrarian ~ " " ~ std.string.replace(lOutText,std.path.linesep," "); 1178 1197 } 1179 1198 … … 1353 1372 return ""; 1354 1373 } 1374 } 1375 1376 char[][] GetImportRoots() 1377 { 1378 return vImportRoots; 1355 1379 } 1356 1380 … … 1402 1426 int lPos; 1403 1427 int lEndPos; 1404 char[] lSwitch;1405 1428 char[] lRootName; 1406 1429 char[][] lRoots; 1407 1408 lPos = 0; 1409 while(lPos < pText.length) 1430 char[][] lArgs; 1431 int lArg; 1432 bool lInArg; 1433 char lQuote; 1434 1435 lInArg = false; 1436 lArg = -1; 1437 lQuote = 0; 1438 foreach (char lArgChar; pText) 1410 1439 { 1411 if ( pText[lPos] == '"')1440 if ( (lArgChar == '"') || (lArgChar == '\'') ) 1412 1441 { 1413 // Extract up to next quote 1414 lEndPos = std.string.find(pText[lPos+1.. length], "\""); 1415 if (lEndPos == -1) 1442 if (lQuote == lArgChar) 1416 1443 { 1417 l EndPos = pText.length;1418 pText ~= '"';1444 lQuote = 0; 1445 continue; 1419 1446 } 1420 else 1447 1448 if (lQuote == 0) 1421 1449 { 1422 lEndPos += (lPos + 1); 1450 lQuote = lArgChar; 1451 continue; 1423 1452 } 1424 lSwitch = pText[lPos+1 .. lEndPos]; 1425 lPos = lEndPos+1; 1426 } 1427 else 1453 } 1454 1455 if (lArgChar == ' ') 1428 1456 { 1429 // Extract up to next whitespace 1430 lEndPos = std.string.find(pText[lPos .. length], " "); 1431 if (lEndPos == -1) 1457 if (lQuote == 0) 1432 1458 { 1433 lEndPos = pText.length; 1459 lInArg = false; 1460 continue; 1434 1461 } 1435 else 1436 { 1437 lEndPos += lPos; 1438 } 1439 lSwitch = pText[lPos .. lEndPos]; 1440 lPos = lEndPos+1; 1441 } 1442 1462 } 1463 1464 if (lInArg == false) 1465 { 1466 lArg++; 1467 lArgs.length = lArg+1; 1468 lInArg = true; 1469 } 1470 lArgs[lArg] ~= lArgChar; 1471 1472 } 1473 1474 foreach(char[] lSwitch; lArgs) 1475 { 1443 1476 if ((lSwitch.length > 0) && (lSwitch[0] == '-')) 1444 1477 { 1478 if (vDelayedValue != null) 1479 { 1480 // Used when an switch needs the subsequent arg to 1481 // be its value. 1482 *vDelayedValue = lSwitch; 1483 vDelayedValue = null; 1484 vBuildArgs ~= lSwitch; 1485 continue; 1486 } 1487 1445 1488 if (lSwitch[1] == 'I') 1446 1489 { … … 1461 1504 } 1462 1505 else 1506 { 1507 version(DigitalMars) 1508 { 1509 if (util.str.IsLike(lSwitch, (vOutFileSwitch ~ "*"))) 1510 { 1511 // Target name (eg. -oftestapp) 1512 vCommandTargetName = lSwitch[vOutFileSwitch.length .. $]; 1513 vBuildArgs ~= lSwitch; 1514 continue; 1515 } 1516 } 1517 1518 version(GNU) 1519 { 1520 if (lSwitch == vOutFileSwitch) 1521 { 1522 // Target name (eg. -o testapp) 1523 vDelayedValue = &vCommandTargetName; 1524 vBuildArgs ~= lSwitch; 1525 continue; 1526 } 1527 } 1528 1529 version(DigitalMars) 1530 { 1531 if (util.str.IsLike(lSwitch, std.utf.toUTF32(vObjWritePathSwitch ~ "*"))) 1532 { 1533 char[] lbRoot; 1534 1535 vObjWritePath = lSwitch[vObjWritePathSwitch.length .. $]; 1536 if (vObjWritePath.length > 0 && vObjWritePath[$-1..$] != std.path.sep) 1537 vObjWritePath ~= std.path.sep; 1538 1539 lbRoot = AddRoot(vObjWritePath); 1540 if (lbRoot.length > 0){ 1541 if(vVerbose) { 1542 writefln("Added root from config file Object Write Path = %s",lbRoot); 1543 } 1544 util.pathex.MakePath(lbRoot); 1545 } 1546 1547 vBuildArgs ~= lSwitch; 1548 // This one actually *is* passed thru. 1549 } 1550 } 1551 1463 1552 vCompilerArgs ~= lSwitch; 1553 } 1464 1554 } 1465 1555 } … … 1542 1632 writefln(" use %s",vLibPaths); 1543 1633 } 1634 continue; 1635 } 1636 1637 // Examine LINKCMD 1638 lPos = bmfind(lLine, "LINKCMD="); 1639 if(lPos == 0) { 1640 // Strip out any quotes 1641 while( (lPos = bmfind(lLine, "\"")) != -1) 1642 { 1643 lLine = lLine[0..lPos] ~ lLine[lPos+1 .. $]; 1644 } 1645 1646 if (vLibrarianPath.length == 0) 1647 { 1648 vLibrarianPath = std.path.getDirName(lLine[8..$]) ~ std.path.sep; 1649 vLibrarianPath = util.pathex.CanonicalPath(vLibrarianPath); 1650 if(vVerbose) { 1651 writefln(" librarian path %s",vLibrarianPath); 1652 } 1653 } 1654 continue; 1655 } 1656 1657 lPos = bmfind(lLine, "LIBCMD="); 1658 if(lPos == 0) { 1659 // Strip out any quotes 1660 while( (lPos = bmfind(lLine, "\"")) != -1) 1661 { 1662 lLine = lLine[0..lPos] ~ lLine[lPos+1 .. $]; 1663 } 1664 vLibrarianPath = std.path.getDirName(lLine[7..$]) ~ std.path.sep; 1665 vLibrarianPath = util.pathex.CanonicalPath(vLibrarianPath); 1666 1667 vLibrarian = std.path.getBaseName(lLine[7..$]); 1668 if(vVerbose) { 1669 writefln(" librarian path %s",vLibrarianPath); 1670 writefln(" librarian is %s",vLibrarian); 1671 } 1544 1672 } 1545 1673 } … … 1689 1817 */ 1690 1818 source.AddRoot = &AddRoot; 1819 source.GetImportRoots = &GetImportRoots; 1691 1820 source.ModulesToIgnore = &ModulesToIgnore; 1692 1821 source.AddTarget = &AddTarget; … … 2009 2138 { 2010 2139 if (pArg[0] == '-') { 2140 // Test for Librarian options. 2141 if (util.str.IsLike(pArg, cast(dchar[])"-LIBOPT*")) 2142 { 2143 vLibrarianOpts ~= " " ~ pArg[7..$].dup; 2144 vBuildArgs ~= pArg; 2145 break; 2146 2147 } 2148 2011 2149 // Test for alternate install locations. 2012 2150 if (util.str.IsLike(pArg, cast(dchar[])"-DCPATH*")) … … 2574 2712 // /b"-dll" Forces a DLL library to be created. 2575 2713 // (Only needed if DllMain is not found in the source files. 2714 // /b"-LIBOPT~<opt~>" Allows you to pass ~<opt~> to the librarian 2576 2715 // /b"-X~<module~>" Packages and Modules to ignore (eg. -Xmylib) 2577 2716 // /b"-M~<module~>" Packages and Modules to notice (eg. -Mphobos) … … 2726 2865 2727 2866 ///topic switches 2867 ///switch -LIBOPT 2868 ///desc Allows commandline options to be passed to the librarian. 2869 //Example: 2870 ///code 2871 // (Set the page size to 32Kb) 2872 // -LIBOPT-p32 2873 // 2874 // (Embedded spaces enclosed in quotes.) 2875 // "-LIBOPT -l -i" 2876 ///endcode 2877 2878 ///topic switches 2728 2879 ///switch -R 2729 2880 ///desc Determines if the compiler tools use a response file or not. trunk/Source/build_bn.d
r32 r33 2 2 // This file is automatically maintained by the BUILD utility, 3 3 // Please refrain from manually editing it. 4 long auto_build_number = 746;4 long auto_build_number = 809; trunk/Source/source.d
r32 r33 84 84 85 85 char[] function(char[] pPath) AddRoot; 86 char[][] function () GetImportRoots; 86 87 void function(char[] pPath) AddTarget; 87 88 void function(char[] pPath) AddLink; … … 886 887 887 888 pPos += 2; 888 while (pPos < lLastPos) {889 while (pPos <= lLastPos) { 889 890 if (pFileText [pPos] == '/'){ 890 891 if ((pPos < lLastPos) && (pFileText [pPos+1] == '+')) { … … 909 910 } 910 911 911 if (pPos > =lLastPos) { throw new Exception("Mismatched nested comments in " ~ mFileName); }912 if (pPos > lLastPos) { throw new Exception("Mismatched nested comments in " ~ mFileName); } 912 913 } 913 914 } // else … … 1005 1006 1006 1007 // Copy the name 1007 lModuleName = util.pathex.AbbreviateFileName(pFileName );1008 lModuleName = util.pathex.AbbreviateFileName(pFileName, GetImportRoots() ); 1008 1009 1009 1010 1010 1011 // Remove file extension. 1011 if (lModuleName[ length-2 .. $] == ".d")1012 if (lModuleName[$-2 .. $] == ".d") 1012 1013 { 1013 1014 lModuleName.length = lModuleName.length - 2; … … 1019 1020 { 1020 1021 lModuleName = lModuleName[2..$]; 1022 } 1023 if (lModuleName.length > 0 && lModuleName[0] == std.path.sep[0]) 1024 { 1025 lModuleName = lModuleName[1..$]; 1021 1026 } 1022 1027 } trunk/Source/source_bn.d
r32 r33 2 2 // This file is automatically maintained by the BUILD utility, 3 3 // Please refrain from manually editing it. 4 long auto_build_number = 5 36;4 long auto_build_number = 599; trunk/Source/util/bmscanner_bn.d
r32 r33 2 2 // This file is automatically maintained by the BUILD utility, 3 3 // Please refrain from manually editing it. 4 long auto_build_number = 154;4 long auto_build_number = 219; trunk/Source/util/fdt_bn.d
r32 r33 2 2 // This file is automatically maintained by the BUILD utility, 3 3 // Please refrain from manually editing it. 4 long auto_build_number = 356;4 long auto_build_number = 421; trunk/Source/util/fileex_bn.d
r32 r33 2 2 // This file is automatically maintained by the BUILD utility, 3 3 // Please refrain from manually editing it. 4 long auto_build_number = 299;4 long auto_build_number = 364; trunk/Source/util/linetoken_bn.d
r32 r33 2 2 // This file is automatically maintained by the BUILD utility, 3 3 // Please refrain from manually editing it. 4 long auto_build_number = 2 23;4 long auto_build_number = 288; trunk/Source/util/pathex.d
r27 r33 253 253 } 254 254 255 char[] AbbreviateFileName(char[] pName )255 char[] AbbreviateFileName(char[] pName, char[][] pPrefixList = null) 256 256 { 257 257 // If the file path supplied can be expressed relative to … … 259 259 // is returned in its shortened form. 260 260 261 char[] lCurDir;261 char[][] lPrefixList; 262 262 char[] lShortName; 263 263 char[] lTemp; 264 265 lCurDir = util.pathex.GetInitCurDir(); 266 if (pName.length <= lCurDir.length) 267 { 268 version(Windows) 269 // Remove any double path seps. 270 { 271 uint lPos; 272 while ( (lPos = bmfind(pName, `\\`)) != -1) 264 char[] lOrigName; 265 266 lPrefixList ~= util.pathex.GetInitCurDir(); 267 if (pPrefixList.length != 0) 268 { 269 lPrefixList.length = lPrefixList.length + pPrefixList.length; 270 lPrefixList[1..$] = pPrefixList[]; 271 } 272 273 LBL_CheckDirs: 274 foreach (char[] lCurDir; lPrefixList) 275 { 276 lOrigName = pName.dup; 277 if (lOrigName.length > lCurDir.length) 278 { 279 version(Windows) 273 280 { 274 pName = pName[0..lPos] ~ pName[lPos+1 .. $]; 281 if (std.string.tolower(lOrigName[0.. lCurDir.length]) == 282 std.string.tolower(lCurDir) ) 283 { 284 lShortName = lOrigName[lCurDir.length .. $]; 285 break LBL_CheckDirs; 286 } 287 275 288 } 276 } 277 return pName; 278 } 279 280 lShortName = pName.dup; 289 else 290 { 291 if (lOrigName[0.. lCurDir.length] == lCurDir ) 292 { 293 lShortName = lOrigName[lCurDir.length .. $]; 294 break LBL_CheckDirs; 295 } 296 } 297 } 298 } 299 300 if (lShortName.length == 0) 301 lShortName = pName.dup; 281 302 282 303 version(Windows) 283 { 284 285 if (std.string.tolower(lShortName[0.. lCurDir.length]) == 286 std.string.tolower(lCurDir) ) 287 { 288 lShortName = lShortName[lCurDir.length .. $]; 289 } 290 291 // Remove any double path seps. 292 { 293 uint lPos; 294 while ( (lPos = bmfind(lShortName, `\\`)) != -1) 295 { 296 lShortName = lShortName[0..lPos] ~ lShortName[lPos+1 .. $]; 297 } 298 } 299 } 300 else 301 { 302 if (lShortName[0.. lCurDir.length] == lCurDir ) 303 { 304 lShortName = lShortName[lCurDir.length .. $]; 305 } 306 } 307 304 // Remove any double path seps. 305 {{ 306 uint lPos; 307 while ( (lPos = bmfind(lShortName, `\\`)) != -1) 308 { 309 lShortName = lShortName[0..lPos] ~ lShortName[lPos+1 .. $]; 310 } 311 }} 308 312 return lShortName; 309 313 } trunk/Source/util/pathex_bn.d
r32 r33 2 2 // This file is automatically maintained by the BUILD utility, 3 3 // Please refrain from manually editing it. 4 long auto_build_number = 379;4 long auto_build_number = 444; trunk/Source/util/str_bn.d
r32 r33 2 2 // This file is automatically maintained by the BUILD utility, 3 3 // Please refrain from manually editing it. 4 long auto_build_number = 351;4 long auto_build_number = 416;
