Changeset 38

Show
Ignore:
Timestamp:
08/09/05 20:11:18 (7 years ago)
Author:
Derek Parnell
Message:

Upload on version 2.09 (Build #1197)

See Docs/CHANGE_LOG.htm for details

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/Docs/AUTO_BUILD_NUMBER.htm

    r37 r38  
    22<head> 
    33<!-- Generated by MAKEDOC v1.1, (c) 2000,2003 by David Cuny, Derek Parnell, Matt Lewis --> 
    4 <!-- on 2005/05/30 at 10h23m56 --> 
     4<!-- on 2005/08/10 at 11h01m17 --> 
    55<style>h4 {text-align: right}</style> 
    6 <title>Documentation for Build v2.08</title> 
     6<title>Documentation for Build v2.09</title> 
    77</head> 
    88<body> 
    9 <h4>Documentation for Build v2.08<br> 
     9<h4>Documentation for Build v2.09<br> 
    1010<a href="index.htm#makedocTOC">Table of Contents</a></h4> 
    1111<h1><a name="AUTO_BUILD_NUMBER">Auto Build Number</a></h1> 
  • trunk/Docs/CHANGE_LOG.htm

    r37 r38  
    22<head> 
    33<!-- Generated by MAKEDOC v1.1, (c) 2000,2003 by David Cuny, Derek Parnell, Matt Lewis --> 
    4 <!-- on 2005/05/30 at 10h23m56 --> 
     4<!-- on 2005/08/10 at 11h01m17 --> 
    55<style>h4 {text-align: right}</style> 
    6 <title>Documentation for Build v2.08</title> 
     6<title>Documentation for Build v2.09</title> 
    77</head> 
    88<body> 
    9 <h4>Documentation for Build v2.08<br> 
     9<h4>Documentation for Build v2.09<br> 
    1010<a href="index.htm#makedocTOC">Table of Contents</a></h4> 
    1111<h1><a name="CHANGE_LOG">Change Log</a></h1> 
    1212<p><h3>A list of changes and fixes that have been made. 
    1313</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 
     18from Unix system() call. 
     19 <li> ** <strong>FIX</strong>: <em>thanks to oniony</em>: Now handles non_ASCII characters in PATH 
     20environment 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 
     24be passed to all modules being compiled. 
     25 <li> ** <strong>ENH</strong>: New command line switch "-run" to run the program 
     26after a successful link. 
     27 </ul>  
    1428<p> 
    1529 <strong> -- v2.08 -- 29/May/2005 </strong> 
  • trunk/Docs/COMMAND_LINE.htm

    r37 r38  
    22<head> 
    33<!-- Generated by MAKEDOC v1.1, (c) 2000,2003 by David Cuny, Derek Parnell, Matt Lewis --> 
    4 <!-- on 2005/05/30 at 10h23m56 --> 
     4<!-- on 2005/08/10 at 11h01m17 --> 
    55<style>h4 {text-align: right}</style> 
    6 <title>Documentation for Build v2.08</title> 
     6<title>Documentation for Build v2.09</title> 
    77</head> 
    88<body> 
    9 <h4>Documentation for Build v2.08<br> 
     9<h4>Documentation for Build v2.09<br> 
    1010<a href="index.htm#makedocTOC">Table of Contents</a></h4> 
    1111<h1><a name="COMMAND_LINE">Command Line</a></h1> 
     
    9595 <strong>-noautoimport</strong> Turns off the automatic addition of source paths 
    9696to the list of Import Roots. 
     97 <strong>-run&lt;param&gt;</strong>   If the link is successful, this will cause the 
     98executable just created to run. You can give it 
     99run time parameters. Anything after the '-run' will 
     100placed in the program's command line. You will need 
     101to quote any embedded spaces. 
    97102 <strong>-od&lt;path&gt;</strong>  Nominate the directory where temporary (work) files 
    98103are to be created. By default they are created in 
  • trunk/Docs/CONFIGURATION_FILE.htm

    r37 r38  
    22<head> 
    33<!-- Generated by MAKEDOC v1.1, (c) 2000,2003 by David Cuny, Derek Parnell, Matt Lewis --> 
    4 <!-- on 2005/05/30 at 10h23m56 --> 
     4<!-- on 2005/08/10 at 11h01m17 --> 
    55<style>h4 {text-align: right}</style> 
    6 <title>Documentation for Build v2.08</title> 
     6<title>Documentation for Build v2.09</title> 
    77</head> 
    88<body> 
    9 <h4>Documentation for Build v2.08<br> 
     9<h4>Documentation for Build v2.09<br> 
    1010<a href="index.htm#makedocTOC">Table of Contents</a></h4> 
    1111<h1><a name="CONFIGURATION_FILE">Configuration File</a></h1> 
  • trunk/Docs/DLL_LIBRARIES.htm

    r37 r38  
    22<head> 
    33<!-- Generated by MAKEDOC v1.1, (c) 2000,2003 by David Cuny, Derek Parnell, Matt Lewis --> 
    4 <!-- on 2005/05/30 at 10h23m57 --> 
     4<!-- on 2005/08/10 at 11h01m17 --> 
    55<style>h4 {text-align: right}</style> 
    6 <title>Documentation for Build v2.08</title> 
     6<title>Documentation for Build v2.09</title> 
    77</head> 
    88<body> 
    9 <h4>Documentation for Build v2.08<br> 
     9<h4>Documentation for Build v2.09<br> 
    1010<a href="index.htm#makedocTOC">Table of Contents</a></h4> 
    1111<h1><a name="DLL_LIBRARIES">DLL Libraries</a></h1> 
  • trunk/Docs/PRAGMA.htm

    r37 r38  
    22<head> 
    33<!-- Generated by MAKEDOC v1.1, (c) 2000,2003 by David Cuny, Derek Parnell, Matt Lewis --> 
    4 <!-- on 2005/05/30 at 10h23m57 --> 
     4<!-- on 2005/08/10 at 11h01m17 --> 
    55<style>h4 {text-align: right}</style> 
    6 <title>Documentation for Build v2.08</title> 
     6<title>Documentation for Build v2.09</title> 
    77</head> 
    88<body> 
    9 <h4>Documentation for Build v2.08<br> 
     9<h4>Documentation for Build v2.09<br> 
    1010<a href="index.htm#makedocTOC">Table of Contents</a></h4> 
    1111<h1><a name="PRAGMA">Pragma</a></h1> 
     
    3434<li><a href="#BUILD"><i>pragma</i> build</a> &nbsp;&nbsp;This identifies a file that needs an external program to build it. 
    3535<li><a href="#BUILD_DEF"><i>pragma</i> build_def</a> &nbsp;&nbsp;This supplies an option to be placed in an OptLink definition file. 
     36<li><a href="#EXPORT_VERSION"><i>pragma</i> export_version</a> &nbsp;&nbsp;This allows you to set a global version identifier. 
    3637<li><a href="#INCLUDE"><i>pragma</i> include</a> &nbsp;&nbsp;This identifies a required file which is not otherwise imported. 
    3738<li><a href="#LINK"><i>pragma</i> link</a> &nbsp;&nbsp;This nominates one or more libraries that are required to be linked in. 
     
    3940<li><a href="#TARGET"><i>pragma</i> target</a> &nbsp;&nbsp;This identifies the basename of the target file. 
    4041<hr> 
    41 <h4>Documentation for Build v2.08<br> 
     42<h4>Documentation for Build v2.09<br> 
    4243<a href="index.htm#makedocTOC">Table of Contents</a></h4> 
    4344<h2><a name="BUILD">[<i>pragma</i>]<br>build</a> </h2> 
     
    99100<p>See Also:  
    100101<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> 
    107109<a href="index.htm#makedocTOC">Table of Contents</a></h4> 
    108110<h2><a name="BUILD_DEF">[<i>pragma</i>]<br>build_def</a> </h2> 
     
    144146<p>See Also:  
    145147<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> 
     158Category: <a href="#PRAGMA">Pragma</a><br> 
     159<p><p>DMD allows you to set a version identifier in your code, but the scope 
     160of that is only for the module it is set in. This pragma gives you the 
     161ability to declare a version identifier which is applied to all modules 
     162being compiled, and not just the 'current' module. 
     163<p> 
     164Example: 
     165<pre> 
     166version(build) pragma(export_version, Unix); 
     167version(build) pragma(export_version, Limited); 
     168</pre> 
     169These lines will cause the compiler to have these version identifiers 
     170added to the command line switches, thus making them effectively global. 
     171<p> 
     172You can list more than one identifier on the pragma statement ... 
     173<pre> 
     174version(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> 
    152185<a href="index.htm#makedocTOC">Table of Contents</a></h4> 
    153186<h2><a name="INCLUDE">[<i>pragma</i>]<br>include</a> </h2> 
     
    168201<a href="#BUILD">build</a>, 
    169202<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> 
    175209<a href="index.htm#makedocTOC">Table of Contents</a></h4> 
    176210<h2><a name="LINK">[<i>pragma</i>]<br>link</a> </h2> 
     
    195229<a href="#BUILD">build</a>, 
    196230<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> 
    202237<a href="index.htm#makedocTOC">Table of Contents</a></h4> 
    203238<h2><a name="NOLINK">[<i>pragma</i>]<br>nolink</a> </h2> 
     
    215250<a href="#BUILD">build</a>, 
    216251<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> 
    222258<a href="index.htm#makedocTOC">Table of Contents</a></h4> 
    223259<h2><a name="TARGET">[<i>pragma</i>]<br>target</a> </h2> 
     
    239275<a href="#BUILD">build</a>, 
    240276<a href="#BUILD_DEF">build_def</a>, 
     277<a href="#EXPORT_VERSION">export_version</a>, 
    241278<a href="#INCLUDE">include</a>, 
    242279<a href="#LINK">link</a>, 
  • trunk/Docs/RESPONSE_FILE.htm

    r37 r38  
    22<head> 
    33<!-- Generated by MAKEDOC v1.1, (c) 2000,2003 by David Cuny, Derek Parnell, Matt Lewis --> 
    4 <!-- on 2005/05/30 at 10h23m57 --> 
     4<!-- on 2005/08/10 at 11h01m17 --> 
    55<style>h4 {text-align: right}</style> 
    6 <title>Documentation for Build v2.08</title> 
     6<title>Documentation for Build v2.09</title> 
    77</head> 
    88<body> 
    9 <h4>Documentation for Build v2.08<br> 
     9<h4>Documentation for Build v2.09<br> 
    1010<a href="index.htm#makedocTOC">Table of Contents</a></h4> 
    1111<h1><a name="RESPONSE_FILE">Response File</a></h1> 
  • trunk/Docs/RULE_DEFINITION_FILE.htm

    r37 r38  
    22<head> 
    33<!-- Generated by MAKEDOC v1.1, (c) 2000,2003 by David Cuny, Derek Parnell, Matt Lewis --> 
    4 <!-- on 2005/05/30 at 10h23m57 --> 
     4<!-- on 2005/08/10 at 11h01m17 --> 
    55<style>h4 {text-align: right}</style> 
    6 <title>Documentation for Build v2.08</title> 
     6<title>Documentation for Build v2.09</title> 
    77</head> 
    88<body> 
    9 <h4>Documentation for Build v2.08<br> 
     9<h4>Documentation for Build v2.09<br> 
    1010<a href="index.htm#makedocTOC">Table of Contents</a></h4> 
    1111<h1><a name="RULE_DEFINITION_FILE">Rule Definition File</a></h1> 
  • trunk/Docs/SWITCHES.htm

    r37 r38  
    22<head> 
    33<!-- Generated by MAKEDOC v1.1, (c) 2000,2003 by David Cuny, Derek Parnell, Matt Lewis --> 
    4 <!-- on 2005/05/30 at 10h23m57 --> 
     4<!-- on 2005/08/10 at 11h01m17 --> 
    55<style>h4 {text-align: right}</style> 
    6 <title>Documentation for Build v2.08</title> 
     6<title>Documentation for Build v2.09</title> 
    77</head> 
    88<body> 
    9 <h4>Documentation for Build v2.08<br> 
     9<h4>Documentation for Build v2.09<br> 
    1010<a href="index.htm#makedocTOC">Table of Contents</a></h4> 
    1111<h1><a name="SWITCHES">Switches</a></h1> 
     
    3737<li><a href="#_R"><i>switch</i> -R</a> &nbsp;&nbsp;Determines if the compiler tools use a response file or not. 
    3838<li><a href="#_RDF"><i>switch</i> -RDF</a> &nbsp;&nbsp; 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> &nbsp;&nbsp;Runs a program after successful linking. 
    3940<li><a href="#_SILENT"><i>switch</i> -silent</a> &nbsp;&nbsp;Prevents unnecessary messages being displayed. 
    4041<li><a href="#_T"><i>switch</i> -T</a> &nbsp;&nbsp;Identifies the target name to build. 
    4142<li><a href="#_TEST"><i>switch</i> -test</a> &nbsp;&nbsp;Does a test run only. No compiling, linking or library work is done. 
     43<li><a href="#_V"><i>switch</i> -v</a> &nbsp;&nbsp; Set <em>verbose</em> mode on for both <em>build</em> and for the compiler 
    4244<li><a href="#_V"><i>switch</i> -V</a> &nbsp;&nbsp; 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> &nbsp;&nbsp; Set <em>verbose</em> mode on for both <em>build</em> and for the compiler 
    4445<li><a href="#_X"><i>switch</i> -X</a> &nbsp;&nbsp;Identifies a module or package to ignore 
    4546<hr> 
    46 <h4>Documentation for Build v2.08<br> 
     47<h4>Documentation for Build v2.09<br> 
    4748<a href="index.htm#makedocTOC">Table of Contents</a></h4> 
    4849<h2><a name="_ALLOBJ">[<i>switch</i>]<br>-allobj</a> </h2> 
     
    7677<a href="#_R">-R</a>, 
    7778<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> 
    8688<a href="index.htm#makedocTOC">Table of Contents</a></h4> 
    8789<h2><a name="_CFPATH">[<i>switch</i>]<br>-CFPATH</a> </h2> 
     
    120122<a href="#_R">-R</a>, 
    121123<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> 
    130133<a href="index.htm#makedocTOC">Table of Contents</a></h4> 
    131134<h2><a name="_CLEANUP">[<i>switch</i>]<br>-cleanup</a> </h2> 
     
    161164<a href="#_R">-R</a>, 
    162165<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> 
    171175<a href="index.htm#makedocTOC">Table of Contents</a></h4> 
    172176<h2><a name="_DCPATH">[<i>switch</i>]<br>-DCPATH</a> </h2> 
     
    211215<a href="#_R">-R</a>, 
    212216<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> 
    221226<a href="index.htm#makedocTOC">Table of Contents</a></h4> 
    222227<h2><a name="_DLL">[<i>switch</i>]<br>-dll</a> </h2> 
     
    251256<a href="#_R">-R</a>, 
    252257<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> 
    261267<a href="index.htm#makedocTOC">Table of Contents</a></h4> 
    262268<h2><a name="_FULL">[<i>switch</i>]<br>-full</a> </h2> 
     
    291297<a href="#_R">-R</a>, 
    292298<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> 
    301308<a href="index.htm#makedocTOC">Table of Contents</a></h4> 
    302309<h2><a name="_GUI">[<i>switch</i>]<br>-gui</a> </h2> 
     
    338345<a href="#_R">-R</a>, 
    339346<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> 
    348356<a href="index.htm#makedocTOC">Table of Contents</a></h4> 
    349357<h2><a name="_HELP">[<i>switch</i>]<br>-help</a> </h2> 
     
    374382<a href="#_R">-R</a>, 
    375383<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> 
    384393<a href="index.htm#makedocTOC">Table of Contents</a></h4> 
    385394<h2><a name="_INFO">[<i>switch</i>]<br>-info</a> </h2> 
     
    409418<a href="#_R">-R</a>, 
    410419<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> 
    419429<a href="index.htm#makedocTOC">Table of Contents</a></h4> 
    420430<h2><a name="_LIB">[<i>switch</i>]<br>-lib</a> </h2> 
     
    451461<a href="#_R">-R</a>, 
    452462<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> 
    461472<a href="index.htm#makedocTOC">Table of Contents</a></h4> 
    462473<h2><a name="_LIBOPT">[<i>switch</i>]<br>-LIBOPT</a> </h2> 
     
    494505<a href="#_R">-R</a>, 
    495506<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> 
    504516<a href="index.htm#makedocTOC">Table of Contents</a></h4> 
    505517<h2><a name="_LIBPATH">[<i>switch</i>]<br>-LIBPATH</a> </h2> 
     
    535547<a href="#_R">-R</a>, 
    536548<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> 
    545558<a href="index.htm#makedocTOC">Table of Contents</a></h4> 
    546559<h2><a name="_LINK">[<i>switch</i>]<br>-link</a> </h2> 
     
    577590<a href="#_R">-R</a>, 
    578591<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> 
    587601<a href="index.htm#makedocTOC">Table of Contents</a></h4> 
    588602<h2><a name="_M">[<i>switch</i>]<br>-M</a> </h2> 
     
    621635<a href="#_R">-R</a>, 
    622636<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> 
    631646<a href="index.htm#makedocTOC">Table of Contents</a></h4> 
    632647<h2><a name="_NAMES">[<i>switch</i>]<br>-names</a> </h2> 
     
    656671<a href="#_R">-R</a>, 
    657672<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> 
    666682<a href="index.htm#makedocTOC">Table of Contents</a></h4> 
    667683<h2><a name="_NOAUTOIMPORT">[<i>switch</i>]<br>-noautoimport</a> </h2> 
     
    702718<a href="#_R">-R</a>, 
    703719<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> 
    712729<a href="index.htm#makedocTOC">Table of Contents</a></h4> 
    713730<h2><a name="_NODEF">[<i>switch</i>]<br>-nodef</a> </h2> 
     
    742759<a href="#_R">-R</a>, 
    743760<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> 
    752770<a href="index.htm#makedocTOC">Table of Contents</a></h4> 
    753771<h2><a name="_NOLIB">[<i>switch</i>]<br>-nolib</a> </h2> 
     
    783801<a href="#_R">-R</a>, 
    784802<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> 
    793812<a href="index.htm#makedocTOC">Table of Contents</a></h4> 
    794813<h2><a name="_NOLINK">[<i>switch</i>]<br>-nolink</a> </h2> 
     
    826845<a href="#_R">-R</a>, 
    827846<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> 
    836856<a href="index.htm#makedocTOC">Table of Contents</a></h4> 
    837857<h2><a name="_OBJ">[<i>switch</i>]<br>-obj</a> </h2> 
     
    865885<a href="#_R">-R</a>, 
    866886<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> 
    875896<a href="index.htm#makedocTOC">Table of Contents</a></h4> 
    876897<h2><a name="_OD">[<i>switch</i>]<br>-od</a> </h2> 
     
    912933<a href="#_R">-R</a>, 
    913934<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> 
    922944<a href="index.htm#makedocTOC">Table of Contents</a></h4> 
    923945<h2><a name="_R">[<i>switch</i>]<br>-R</a> </h2> 
     
    9841006<a href="#_OD">-od</a>, 
    9851007<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> 
    9941017<a href="index.htm#makedocTOC">Table of Contents</a></h4> 
    9951018<h2><a name="_RDF">[<i>switch</i>]<br>-RDF</a> </h2> 
     
    10261049<a href="#_OD">-od</a>, 
    10271050<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> 
     1063Category: <a href="#SWITCHES">Switches</a><br> 
     1064<p><p>If the link is successful, this will cause the 
     1065executable just created to run. You can give it 
     1066run time parameters. Anything after the '-run' will 
     1067placed in the program's command line. You will need 
     1068to quote any embedded spaces. 
     1069<p> 
     1070Example: 
     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> 
    10361106<a href="index.htm#makedocTOC">Table of Contents</a></h4> 
    10371107<h2><a name="_SILENT">[<i>switch</i>]<br>-silent</a> </h2> 
     
    10641134<a href="#_R">-R</a>, 
    10651135<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> 
    10731144<a href="index.htm#makedocTOC">Table of Contents</a></h4> 
    10741145<h2><a name="_T">[<i>switch</i>]<br>-T</a> </h2> 
     
    11141185<a href="#_R">-R</a>, 
    11151186<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> 
    11231195<a href="index.htm#makedocTOC">Table of Contents</a></h4> 
    11241196<h2><a name="_TEST">[<i>switch</i>]<br>-test</a> </h2> 
     
    11511223<a href="#_R">-R</a>, 
    11521224<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> 
     1236Category: <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> 
    11601269<a href="index.htm#makedocTOC">Table of Contents</a></h4> 
    11611270<h2><a name="_V">[<i>switch</i>]<br>-V</a> </h2> 
     
    11861295<a href="#_R">-R</a>, 
    11871296<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> 
    12301305<a href="index.htm#makedocTOC">Table of Contents</a></h4> 
    12311306<h2><a name="_X">[<i>switch</i>]<br>-X</a> </h2> 
     
    12671342<a href="#_R">-R</a>, 
    12681343<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  
    22<head> 
    33<!-- Generated by MAKEDOC v1.1, (c) 2000,2003 by David Cuny, Derek Parnell, Matt Lewis --> 
    4 <!-- on 2005/05/30 at 10h23m57 --> 
     4<!-- on 2005/08/10 at 11h01m17 --> 
    55<style>h4 {text-align: right}</style> 
    6 <title>Documentation for Build v2.08</title> 
     6<title>Documentation for Build v2.09</title> 
    77</head> 
    88<body> 
    9 <h4>Documentation for Build v2.08<br> 
     9<h4>Documentation for Build v2.09<br> 
    1010<a href="index.htm#makedocTOC">Table of Contents</a></h4> 
    1111<h1><a name="TO_DO">To Do</a></h1> 
  • trunk/Docs/index.htm

    r37 r38  
    22<head> 
    33<!-- Generated by MAKEDOC v1.1, (c) 2000,2003 by David Cuny, Derek Parnell, Matt Lewis --> 
    4 <!-- on 2005/05/30 at 10h23m56 --> 
     4<!-- on 2005/08/10 at 11h01m17 --> 
    55<style>h4 {text-align: right}</style> 
    6 <title>Documentation for Build v2.08</title> 
     6<title>Documentation for Build v2.09</title> 
    77</head> 
    88<body> 
    9 <h4>Documentation for Build v2.08<br> 
     9<h4>Documentation for Build v2.09<br> 
    1010<a href="index.htm#makedocTOC">Table of Contents</a></h4> 
    1111<h1><b>Introduction</b></h1> 
     
    7171<a href="SWITCHES.htm#_R">-R</a>  [<i><code>switch</code></i>] Determines if the compiler tools use a response file or not.<br> 
    7272<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> 
    7374<a href="SWITCHES.htm#_SILENT">-silent</a>  [<i><code>switch</code></i>] Prevents unnecessary messages being displayed.<br> 
    7475<a href="SWITCHES.htm#_T">-T</a>  [<i><code>switch</code></i>] Identifies the target name to build.<br> 
     
    8485<a href="CONFIGURATION_FILE.htm#CONFIGURATION_FILE">Configuration File</a> <br> 
    8586<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> 
    8688<a href="PRAGMA.htm#INCLUDE">include</a>  [<i><code>pragma</code></i>] This identifies a required file which is not otherwise imported.<br> 
    8789<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  
    11CMDLINE=-info           # Show the version of build 
     2CMDLINE=-silent         # hide linker output 
    23 
    34LIBCMD=%@D%\..\..\dm\bin\lib.exe 
  • trunk/Source/build.d

    r37 r38  
    5050 
    5151/* --------- CHANGE LOG -------------------- 
    52 __ /makedoc title Documentation for Build v2.08 
     52__ /makedoc title Documentation for Build v2.09 
    5353 
    5454__ /topic Change Log 
    5555__ /info 
    5656__ 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> 
    5771__ 
    5872__ /b"-- v2.08 -- 29/May/2005" 
     
    412426    version(Windows) { 
    413427        // OptLink Definition File 
    414         pragma (build_def, "VERSION 2.8"); 
     428        pragma (build_def, "VERSION 2.9"); 
    415429    } 
    416430} 
     
    425439    import util.pathex;    // Extended Path routines. 
    426440    import util.fileex;    // Extended File routines. 
    427     import util.bmscanner; // Boyer-Moore string find 
    428441    import util.macro;     // Macro processing routines. 
    429442 
     
    550563    char[]       vBuildImportPathSwitch = "-I"; 
    551564    char[]       vTemporaryPathSwitch = "-od"; 
     565    char[]       vRunSwitch = "-run"; 
    552566    char[]       vLibrarianPath = ""; 
    553567    char[]*      vDelayedValue = null; 
     
    564578    bool         vAutoImports = true; 
    565579    bool         vMacroInput = true; 
     580    bool         vExecuteProgram = false; 
     581    char[]       vRunParms; 
     582    char[]       vTargetExe; 
    566583    char[][]     vImportRoots; 
    567584    char[][]     vModulesToIgnore; 
     
    573590    char[]       vAppPath; 
    574591    char[]       vAppName; 
    575     char[]       vAppVersion = "2.08"; 
     592    char[]       vAppVersion = "2.9"; 
    576593    char[]       vTargetName;           // Output name from first file name. 
    577594    char[]       vPragmaTargetName;     // Output name from pragma. 
     
    600617    } 
    601618 
    602     alias util.bmscanner.BMScan!(char).BMScan bmfind; 
    603     alias util.bmscanner.BMScan!(char).BMScanElement bmfind_elem; 
    604619} 
    605620 
     
    722737    writefln("               ** The default is to use command line arguments"); } 
    723738 
     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."); 
    724744    writefln("  -od<path>  Nominate the directory where temporary (work) files"); 
    725745    writefln("             are to be created. By default they are created in"); 
     
    757777{ 
    758778    int lRC; 
     779    int lTrueRC; 
    759780 
    760781    if (vTestRun) { 
    761782        writefln("Command: '%s'",pCommand); 
    762783        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    } 
    781806} 
    782807 
     
    10631088            if (Source.WasMainDLL) 
    10641089                lTargetName = ReplaceExtention(vTargetName, kShrLibExtention); 
    1065             else 
     1090            else { 
    10661091                lTargetName = ReplaceExtention(vTargetName, kExeExtention); 
     1092                vTargetExe = lTargetName; 
     1093            } 
    10671094        else 
    10681095            lTargetName = "not defined"; 
     
    13001327            // Run Compiler to compile the source files that need it. 
    13011328            lRunResult = RunCommand(lCommand); 
     1329            if (lRunResult != 0) 
     1330                vExecuteProgram = false; 
    13021331        } 
    13031332 
     
    13091338            char[] lSmallName; 
    13101339            lSmallName = util.pathex.AbbreviateFileName(lTargetName); 
    1311             if (bmfind(lSmallName, " ") != -1) { 
     1340            if (find(lSmallName, " ") != -1) { 
    13121341                version(Posix) { 
    13131342                    lOutText ~= std.string.format(`%s"%s"`,vOutFileSwitch,lSmallName); 
     
    13841413 
    13851414            // Run Linker 
     1415            if (vSilent) 
     1416            { 
     1417                version(Posix) lCommand ~= " >/dev/null"; 
     1418                version(Windows) lCommand ~= " >nul"; 
     1419            } 
     1420 
    13861421            lRunResult = RunCommand(lCommand); 
     1422            if (lRunResult != 0) 
     1423                vExecuteProgram = false; 
    13871424        } 
    13881425 
     
    14011438        char[] lImpLibPath; 
    14021439        ulong[] lImpManf; 
     1440 
     1441        vExecuteProgram = false; 
    14031442 
    14041443        lImpLibPath = util.pathex.LocateFile("implib.exe", GetEnv("PATH")); 
     
    14181457    else if ( (vLibraryAction == LibOpt.Build) && (lRunResult == 0) ) 
    14191458    { 
     1459        vExecuteProgram = false; 
     1460 
    14201461        lOutText.length = 0; 
    1421  
    14221462        lOutText ~= vLibrarianOpts ~ std.path.linesep; 
    1423  
    14241463        lOutText ~= lTargetName ~  std.path.linesep;  // Create a new library 
    14251464 
     
    15291568    foreach(char[] lArg; vDefaultCompArgs) 
    15301569    { 
    1531         vCompilerArgs ~= lArg
     1570        AddCompilerArg( lArg )
    15321571    } 
    15331572 
     
    15391578        { 
    15401579            // Enclose in quotes if no quotes are currently present. 
    1541             if (bmfind(lCompileArg, "\"") == -1) 
     1580            if (find(lCompileArg, "\"") == -1) 
    15421581                // Arguments containing a blank need to be quoted. 
    1543                 if (bmfind(lCompileArg, " ") != -1) 
     1582                if (find(lCompileArg, " ") != -1) 
    15441583                { 
    15451584                    // Strip off any trailing shell escape lead-in character. 
     
    15621601        if (vNoLinkSwitch.length > 0) 
    15631602        { 
    1564             if (bmfind(vNoLinkSwitch, " ") != -1) 
     1603            if (find(vNoLinkSwitch, " ") != -1) 
    15651604                lOutText ~= std.string.format(`"%s"`,vNoLinkSwitch); 
    15661605            else 
     
    15691608            lOutText ~= "\n"; 
    15701609 
    1571             vCompilerArgs ~= vNoLinkSwitch
     1610            AddCompilerArg( vNoLinkSwitch )
    15721611        } 
    15731612    } 
     
    16601699 
    16611700// ------------------------------------------- 
     1701void 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// ------------------------------------------- 
    16621730char[] AddRoot(char[] pRootName) 
    16631731// ------------------------------------------- 
     
    18401908                version(GNU) 
    18411909                { 
    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                   
    18491917                } 
    18501918 
     
    18721940                } 
    18731941 
    1874                 vCompilerArgs ~= lSwitch
     1942                AddCompilerArg ( lSwitch )
    18751943            } 
    18761944        } 
     
    19281996 
    19291997        // Examine DFLAGS 
    1930         lPos = bmfind(lLine, "DFLAGS="); 
     1998        lPos = find(lLine, "DFLAGS="); 
    19311999        if(lPos == 0) 
    19322000        { 
     
    19352003 
    19362004        // Examine LIB 
    1937         lPos = bmfind(lLine, "LIB="); 
     2005        lPos = find(lLine, "LIB="); 
    19382006        if(lPos == 0) 
    19392007        { 
     
    19762044 
    19772045        // Examine LINKCMD 
    1978         lPos = bmfind(lLine, "LINKCMD="); 
     2046        lPos = find(lLine, "LINKCMD="); 
    19792047        if(lPos == 0) { 
    19802048            // Strip out any quotes 
    1981             while( (lPos = bmfind(lLine, "\"")) != -1) 
     2049            while( (lPos = find(lLine, "\"")) != -1) 
    19822050            { 
    19832051                lLine = lLine[0..lPos] ~ lLine[lPos+1 .. $]; 
     
    19952063        } 
    19962064 
    1997         lPos = bmfind(lLine, "LIBCMD="); 
     2065        lPos = find(lLine, "LIBCMD="); 
    19982066        if(lPos == 0) { 
    19992067            // Strip out any quotes 
    2000             while( (lPos = bmfind(lLine, "\"")) != -1) 
     2068            while( (lPos = find(lLine, "\"")) != -1) 
    20012069            { 
    20022070                lLine = lLine[0..lPos] ~ lLine[lPos+1 .. $]; 
     
    21012169 
    21022170    // 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); 
    21042172 
    21052173    lCompilerPath.length = 0; 
     
    21472215    source.GetObjWritePath  = &GetTemporaryPath; 
    21482216    source.GetMacros        = &GetMacros; 
     2217    source.AddCompilerArg   = &AddCompilerArg; 
    21492218 
    21502219    // Scan the PATH env symbol to locate the D compiler. 
     
    21552224        vCompilerPath = lCompPath.dup; 
    21562225        // 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)) 
    21582227            vConfigPath = lCompPath.dup; 
    21592228    } 
     
    21842253        return 0; 
    21852254    } 
    2186     else { 
     2255 
    21872256 
    21882257    GatherArgs( pArgs ); 
     
    23052374    } 
    23062375 
     2376    if (vExecuteProgram && (vTargetExe.length > 0)) 
     2377    { 
     2378        RunCommand( vTargetExe ~ " " ~ std.string.strip(vRunParms)); 
     2379    } 
     2380 
    23072381    return lBuildResult; 
    2308     } 
     2382 
    23092383 
    23102384} 
     
    24672541            break; 
    24682542 
     2543        case "-usage": 
    24692544        case "-help": 
    24702545        case "-h": 
     
    25842659                    break; 
    25852660                } 
     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 
    25862669 
    25872670                // Special check for Object Write Path 
     
    26922775                } 
    26932776 
    2694                 vCompilerArgs ~= pArg
     2777                AddCompilerArg( pArg )
    26952778 
    26962779            } else { 
     
    30753158 
    30763159 
    3077                 while ((lPos = bmfind(lArg, "{Group}")) != -1) 
     3160                while ((lPos = find(lArg, "{Group}")) != -1) 
    30783161                { 
    30793162                    lArg = lArg[0..lPos] ~ pArg ~ lArg[lPos + 7 .. $]; 
     
    31003183                        else 
    31013184                        { 
    3102                             if (bmfind_elem("-+@", lArg[lEndPos]) != -1) 
     3185                            if (find("-+@", lArg[lEndPos..lEndPos+1]) != -1) 
    31033186                            { 
    31043187                                GatherOneArg( lArg[lStartPos..lEndPos] ); 
     
    31173200                    int lPos; 
    31183201 
    3119                     while( (lPos = bmfind(lArg, "\"")) != -1) 
     3202                    while( (lPos = find(lArg, "\"")) != -1) 
    31203203                    { 
    31213204                        lArg = lArg[0..lPos] ~ lArg[lPos+1 .. $]; 
     
    33423425__  tool=dmc -c {COPT} {@IN} -o{@OUT} {HDR} 
    33433426__ 
     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); 
    33443448__ /endcode 
    33453449 
     
    35253629__     /b"-noautoimport" Turns off the automatic addition of source paths 
    35263630__                    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. 
    35273636__     /b"-od~<path~>"  Nominate the directory where temporary (work) files 
    35283637__                    are to be created. By default they are created in 
     
    36143723__ You would typically use this if the main() function was being supplied 
    36153724__ 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 
    36163739 
    36173740__ /topic switches 
  • trunk/Source/build.def

    r27 r38  
    1 VERSION 1.1
     1VERSION 2.
    22EXETYPE 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\ 
     8build.def 
     9util\linetoken.d 
     10build_bn.d 
     11util\pathex.d 
     12util\fileex.d 
     13util\str_bn.d 
     14util\macro.d 
     15source.d 
     16source_bn.d 
     17build.d 
     18util\fdt.d 
     19util\pathex_bn.d 
     20util\linetoken_bn.d 
     21util\str.d 
     22util\fdt_bn.d 
     23util\fileex_bn.d 
  • trunk/Source/build_bn.d

    r37 r38  
    22// This file is automatically maintained by the BUILD utility, 
    33// Please refrain from manually editing it. 
    4 long auto_build_number = 1137; 
     4long auto_build_number = 1197; 
  • trunk/Source/source.d

    r37 r38  
    5050    import util.pathex; 
    5151    import util.fileex; 
    52     import util.bmscanner; 
    5352    import util.macro; 
    5453 
     
    9089    long         vDebugLevel = 0; 
    9190 
    92     alias util.bmscanner.BMScan!(char).BMScan bmfind; 
    9391} 
    9492 
     
    9694 
    9795    char[] function(char[] pPath) AddRoot; 
     96    void function(char[] pArg) AddCompilerArg; 
    9897    char[][] function () GetImportRoots; 
    9998    bool function() AutoImports; 
     
    300299 
    301300                            // Check for package name 
    302                             lFindPos = bmfind(lLowerFile, 
     301                            lFindPos = find(lLowerFile, 
    303302                                                    std.path.sep ~ lLowerMod ~ std.path.sep); 
    304303                            if (lFindPos == -1) { 
    305304                                // It might be a package at the current module level. 
    306                                 lFindPos = bmfind(lLowerFile, 
     305                                lFindPos = find(lLowerFile, 
    307306                                                    lLowerMod ~ std.path.sep); 
    308307                                if (lFindPos != 0) 
     
    312311                            if (lFindPos == -1) { 
    313312                                lType = "module"; 
    314                                 lFindPos = bmfind(lLowerFile, 
     313                                lFindPos = find(lLowerFile, 
    315314                                                    std.path.sep ~ lLowerMod ~ ".d"); 
    316315                            } 
     
    325324                        version(Posix) { 
    326325                            // Check for package name 
    327                             lFindPos = bmfind(lNextFile, 
     326                            lFindPos = find(lNextFile, 
    328327                                                    std.path.sep ~ lNextModule ~ std.path.sep); 
    329328                            if (lFindPos == -1) { 
    330329                                // It might be a package at the current module level. 
    331                                 lFindPos = bmfind(lNextFile, 
     330                                lFindPos = find(lNextFile, 
    332331                                                    lNextModule ~ std.path.sep); 
    333332                                if (lFindPos != 0) 
     
    337336                            if (lFindPos == -1) { 
    338337                                lType = "module"; 
    339                                 lFindPos = bmfind(lNextFile, 
     338                                lFindPos = find(lNextFile, 
    340339                                                    std.path.sep ~ lNextModule ~ ".d"); 
    341340                            } 
     
    481480        } 
    482481        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 ; 
    485484    } 
    486485 
     
    517516        } 
    518517        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 ; 
    521520    } 
    522521 
     
    536535 
    537536        lblNextToken: 
    538         while ((lPrevToken = lCurToken.dup, lCurToken = GetNextToken (pFileText, pPos)) !== null) { 
     537        while ((lPrevToken = lCurToken.dup, lCurToken = GetNextToken (pFileText, pPos)) !is null) { 
    539538 
    540539            switch(lCurToken) { 
     
    872871 
    873872        while ((lSavedPos = pPos, 
    874                 lCurrentToken = GetNextToken (pFileText, pPos)) !== null 
     873                lCurrentToken = GetNextToken (pFileText, pPos)) !is null 
    875874                   && (lCurrentToken != ";")) 
    876875        { 
     
    898897        // module lModName [.lModName]; 
    899898        while ((lSavedPos = pPos, 
    900                 lCurrentToken = GetNextToken (pFileText, pPos)) !== null 
     899                lCurrentToken = GetNextToken (pFileText, pPos)) !is null 
    901900                   && (lCurrentToken != ";")) 
    902901        { 
     
    920919    void doPragma (in char[] pFileText, inout int pPos) 
    921920    { 
    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>]...] ); 
    925922        */ 
    926923        char[] lCurrentToken; 
     
    937934                { 
    938935                    lPragmaId = ""; 
    939                     while ( (lCurrentToken = GetNextToken(pFileText,pPos)) !== null) 
     936                    while ( (lCurrentToken = GetNextToken(pFileText,pPos)) !is null) 
    940937                    { 
    941938                        if ( (lCurrentToken == "\"") || (lCurrentToken == "`") ) { 
     
    967964                        { 
    968965                            // Not a dot to be seen ;-) 
    969                             lPragmaId ~= "." ~ LibExt;                             
     966                            lPragmaId ~= "." ~ LibExt; 
    970967                        } 
    971968                    } 
     
    981978                // Collect records for the optlink module definition file. 
    982979                lPragmaId = ""; 
    983                 while ( (lCurrentToken = GetNextToken(pFileText,pPos)) !== null) 
     980                while ( (lCurrentToken = GetNextToken(pFileText,pPos)) !is null) 
    984981                { 
    985982                    if ( (lCurrentToken == "\"") || (lCurrentToken == "`") ) { 
     
    10631060                } 
    10641061 
    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 
    10661080        } 
    10671081    } 
     
    12021216        char[] lCurrentToken; 
    12031217 
    1204         while ((lCurrentToken = GetNextToken (pFileText, pPos)) !== null) 
     1218        while ((lCurrentToken = GetNextToken (pFileText, pPos)) !is null) 
    12051219        { 
    12061220            if (lCurrentToken == pEndStmt) 
     
    13121326            if ( util.str.IsLike(lLine, cast(dchar[])"*long auto_build_number = *;*") ) 
    13131327            { 
    1314                 for(int i = bmfind(lLine,"=") + 2; i < lLine.length; i++) 
     1328                for(int i = find(lLine,"=") + 2; i < lLine.length; i++) 
    13151329                { 
    1316                     int n = bmfind("0123456789", lLine[i..i+1] ); 
     1330                    int n = find("0123456789", lLine[i..i+1] ); 
    13171331                    if (n >= 0) 
    13181332                        lBuildNumber = lBuildNumber * 10 + n; 
  • trunk/Source/source_bn.d

    r37 r38  
    22// This file is automatically maintained by the BUILD utility, 
    33// Please refrain from manually editing it. 
    4 long auto_build_number = 989; 
     4long auto_build_number = 1049; 
  • trunk/Source/util/fdt_bn.d

    r37 r38  
    22// This file is automatically maintained by the BUILD utility, 
    33// Please refrain from manually editing it. 
    4 long auto_build_number = 755; 
     4long auto_build_number = 815; 
  • trunk/Source/util/fileex.d

    r34 r38  
    4646    import std.ctype; 
    4747 
    48     import util.bmscanner; 
    49  
    5048    debug(1) 
    5149    { 
     
    5452 
    5553 
    56     alias util.bmscanner.BMScan!(char).BMScan bmfind; 
    57     alias util.bmscanner.BMScan!(char).BMScanElement bmfind; 
    5854 
    5955} 
     
    133129        for(int i = lText.length-1; i >= 0; i--) 
    134130        { 
    135             if (bmfind(std.path.linesep, lText[i]) == -1) 
     131            if (find(std.path.linesep, lText[i]) == -1) 
    136132            { 
    137133                if (i != lText.length-1) 
     
    173169 
    174170    lCaseSensitive = true; 
    175     if (bmfind(pOptions, 'i') != -1) 
     171    if (find(pOptions, 'i') != -1) 
    176172        lCaseSensitive = true; 
    177     if (bmfind(pOptions, 'I') != -1) 
     173    if (find(pOptions, 'I') != -1) 
    178174        lCaseSensitive = true; 
    179175 
    180176    lRegExp = false; 
    181     if (bmfind(pOptions, 'r') != -1) 
     177    if (find(pOptions, 'r') != -1) 
    182178        lRegExp = true; 
    183     if (bmfind(pOptions, 'R') != -1) 
     179    if (find(pOptions, 'R') != -1) 
    184180        lRegExp = true; 
    185181 
    186182    lWordOnly = false; 
    187     if (bmfind(pOptions, 'w') != -1) 
     183    if (find(pOptions, 'w') != -1) 
    188184        lWordOnly = true; 
    189     if (bmfind(pOptions, 'W') != -1) 
     185    if (find(pOptions, 'W') != -1) 
    190186        lWordOnly = true; 
    191187 
    192188    lCounting = true; 
    193     if (bmfind(pOptions, 'a') != -1) 
     189    if (find(pOptions, 'a') != -1) 
    194190        lCounting = false; 
    195     if (bmfind(pOptions, 'A') != -1) 
     191    if (find(pOptions, 'A') != -1) 
    196192        lCounting = false; 
    197193 
     
    200196    lPos = 0; 
    201197 
    202     while ( (lPos = bmfind(lBuffer[lPos..$], pText)) != -1) 
     198    while ( (lPos = find(lBuffer[lPos..$], pText)) != -1) 
    203199    { 
    204200        if (lWordOnly) 
     
    261257    foreach(char[] lFile; lKeys) 
    262258    { 
    263         delete lExistingFiles[lFile]
    264     } 
    265 } 
     259        lExistingFiles.remove(lFile)
     260    } 
     261} 
  • trunk/Source/util/fileex_bn.d

    r37 r38  
    22// This file is automatically maintained by the BUILD utility, 
    33// Please refrain from manually editing it. 
    4 long auto_build_number = 698; 
     4long auto_build_number = 758; 
  • trunk/Source/util/linetoken.d

    r25 r38  
    66    import std.string; 
    77    import std.utf; 
    8     import util.bmscanner; 
    9  
    10     alias util.bmscanner.BMScan!(dchar).BMScanElement bmfind; 
     8 
    119} 
    1210char[][] TokenizeLine(char[] pSource, 
     
    131129        { 
    132130            // 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)); 
    134136            if (lPos != -1) 
    135137            { 
  • trunk/Source/util/linetoken_bn.d

    r37 r38  
    22// This file is automatically maintained by the BUILD utility, 
    33// Please refrain from manually editing it. 
    4 long auto_build_number = 622
     4long auto_build_number = 859
  • trunk/Source/util/macro.d

    r37 r38  
    22 
    33private { 
    4     import util.bmscanner; 
    54    import util.str; 
    65 
    76    import std.stdio; 
    87 
    9     alias util.bmscanner.BMScan!(char).BMScan bmfind; 
    10     alias util.bmscanner.BMScan!(char).BMScanElement bmfind_elem; 
    118} 
    129 
  • trunk/Source/util/pathex.d

    r34 r38  
    4545private { 
    4646    import util.str; 
    47     import util.bmscanner; 
    4847    import util.fileex; 
    4948 
     
    5150    import std.file; 
    5251    import std.stdio; 
     52    import std.string; 
    5353} 
    5454 
    5555private { 
    5656    char[] vInitCurDir; 
    57     alias util.bmscanner.BMScan!(char).BMScan bmfind; 
    5857} 
    5958    debug(1) 
     
    167166 
    168167    lLevel = std.path.sep ~ "." ~ std.path.sep; 
    169     lPosA = bmfind(lPath, lLevel); 
     168    lPosA = find(lPath, lLevel); 
    170169    while( lPosA != -1 ){ 
    171170        lPath = lPath[0..lPosA] ~ 
    172171                lPath[lPosA + lLevel.length - std.path.sep.length .. length]; 
    173172 
    174         lPosA = bmfind(lPath, lLevel); 
     173        lPosA = find(lPath, lLevel); 
    175174    } 
    176175 
    177176    lLevel = std.path.sep ~ ".." ~ std.path.sep; 
    178     lPosA = bmfind(lPath, lLevel); 
     177    lPosA = find(lPath, lLevel); 
    179178    while( lPosA != -1 ){ 
    180179        // Locate preceding directory separator. 
     
    188187                lPath[lPosA + lLevel.length - std.path.sep.length .. length]; 
    189188 
    190         lPosA = bmfind(lPath, lLevel); 
     189        lPosA = find(lPath, lLevel); 
    191190    } 
    192191 
     
    347346    {{ 
    348347        uint lPos; 
    349         while ( (lPos = bmfind(lShortName, `\\`)) != -1) 
     348        while ( (lPos = find(lShortName, `\\`)) != -1) 
    350349        { 
    351350            lShortName = lShortName[0..lPos] ~ lShortName[lPos+1 .. $]; 
  • trunk/Source/util/pathex_bn.d

    r37 r38  
    22// This file is automatically maintained by the BUILD utility, 
    33// Please refrain from manually editing it. 
    4 long auto_build_number = 778; 
     4long auto_build_number = 838; 
  • trunk/Source/util/str.d

    r37 r38  
    4848    import std.ctype; 
    4949    import util.linetoken; 
    50     import util.bmscanner; 
    5150 
    5251    import std.string; 
    5352    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; 
    6053} 
    6154 
     
    677670{ 
    678671    if ( (pString.length > 0) && 
    679          (bmfind_elem(pString, pTrigger) != -1) 
     672         (find(pString, pTrigger) != -1) 
    680673       ) 
    681674        return pPrefix ~ pString ~ pSuffix; 
     
    688681//------------------------------------------------------- 
    689682{ 
     683    wchar[] lTrigger; 
     684    lTrigger.length = 1; 
     685    lTrigger[0] = pTrigger; 
    690686    if ( (pString.length > 0) && 
    691          (bmfind_elem(pString, pTrigger) != -1) 
     687         (find(toUTF8(pString), toUTF8(lTrigger) ) != -1) 
    692688       ) 
    693689        return pPrefix ~ pString ~ pSuffix; 
     
    700696//------------------------------------------------------- 
    701697{ 
     698    dchar[] lTrigger; 
     699    lTrigger.length = 1; 
     700    lTrigger[0] = pTrigger; 
    702701    if ( (pString.length > 0) && 
    703          (bmfind_elem(pString, pTrigger) != -1) 
     702         (find(toUTF8(pString), toUTF8(lTrigger)) != -1) 
    704703       ) 
    705704        return pPrefix ~ pString ~ pSuffix; 
     
    868867        while( true) 
    869868        { 
    870             lPos = bmfind(lResult, lToken); 
     869            lPos = find(toUTF8(lResult), toUTF8(lToken) ); 
    871870            if (lPos == -1) 
    872871                break; 
     
    878877 
    879878    // Now remove all unused tokens. 
    880     while( (lPos = bmfind(lResult, pLeading)) != -1) 
     879    while( (lPos = find(toUTF8(lResult), toUTF8(pLeading) )) != -1) 
    881880    { 
    882881        int lPos2; 
    883882 
    884         lPos2 = bmfind(lResult[lPos+1 .. $], pTrailing); 
     883        lPos2 = find(toUTF8(lResult[lPos+1 .. $]), toUTF8(pTrailing) ); 
    885884        if (lPos2 == -1) 
    886885            break; 
     
    892891    return lResult; 
    893892} 
     893 
     894dchar[] 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 
     906dchar[] 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 
     918dchar[] strip(dchar[] s) 
     919{ 
     920    return stripr(stripl(s)); 
     921} 
     922 
     923unittest 
     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 
     935char[] 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  
    22// This file is automatically maintained by the BUILD utility, 
    33// Please refrain from manually editing it. 
    4 long auto_build_number = 750
     4long auto_build_number = 987