Changeset 9
- Timestamp:
- 02/24/05 00:08:53 (7 years ago)
- Files:
-
- downloads/build_win_1.4.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) (1 diff)
- trunk/Docs/PRAGMA.htm (modified) (1 diff)
- trunk/Docs/RESPONSE_FILE.htm (modified) (1 diff)
- trunk/Docs/SWITCHES.htm (modified) (1 diff)
- trunk/Docs/TO_DO.htm (modified) (1 diff)
- trunk/Docs/index.htm (modified) (1 diff)
- trunk/Source/build.d (modified) (11 diffs)
- trunk/Source/build.def (modified) (1 diff)
- trunk/Source/build.rsp (modified) (2 diffs)
- trunk/Source/build_bn.d (modified) (1 diff)
- trunk/Source/source_bn.d (modified) (1 diff)
- trunk/Source/util/fdt_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
r6 r9 2 2 <head> 3 3 <!-- Generated by MAKEDOC v1.1, (c) 2000,2003 by David Cuny, Derek Parnell, Matt Lewis --> 4 <!-- on 2005/02/2 3 at 22h45m50-->4 <!-- on 2005/02/24 at 15h41m52 --> 5 5 <style>h4 {text-align: right}</style> 6 6 <title></title> trunk/Docs/CHANGE_LOG.htm
r6 r9 2 2 <head> 3 3 <!-- Generated by MAKEDOC v1.1, (c) 2000,2003 by David Cuny, Derek Parnell, Matt Lewis --> 4 <!-- on 2005/02/2 3 at 22h45m50-->4 <!-- on 2005/02/24 at 15h41m52 --> 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> -- v1.4 -- 24/Feb/2005 </strong> 16 <ul> 17 <li> ** <strong>FIX</strong>: <em>Thanks to Abscissa.</em> The -version switch was being interpreted as 18 a file to compile. 19 <li> ** <strong>FIX</strong>: <em>Thanks to brad.</em> Linux version was using the wrong package name 20 when formatting a file date for display. 21 <li> ** <strong>FIX</strong>: <em>Thanks to brad.</em> Linux version was not setting the target 22 name correctly which resulted in the first source file being compiled twice. 23 <li> ** <strong>FIX</strong>: <em>Thanks to brad.</em> Parsing the DFLAG line in the dmd options 24 file was not dealing with whitespace delimiters. 25 <li> ** <strong>ENH</strong>: When specifing an alternate target file, you can now also 26 specify a path for the target, and that path is created for you if it 27 doesn't exist. 28 </ul> 14 29 <p> 15 30 <strong> -- v1.3 -- 23/Feb/2005 </strong> trunk/Docs/COMMAND_LINE.htm
r6 r9 2 2 <head> 3 3 <!-- Generated by MAKEDOC v1.1, (c) 2000,2003 by David Cuny, Derek Parnell, Matt Lewis --> 4 <!-- on 2005/02/2 3 at 22h45m50-->4 <!-- on 2005/02/24 at 15h41m52 --> 5 5 <style>h4 {text-align: right}</style> 6 6 <title></title> trunk/Docs/PRAGMA.htm
r6 r9 2 2 <head> 3 3 <!-- Generated by MAKEDOC v1.1, (c) 2000,2003 by David Cuny, Derek Parnell, Matt Lewis --> 4 <!-- on 2005/02/2 3 at 22h45m50-->4 <!-- on 2005/02/24 at 15h41m52 --> 5 5 <style>h4 {text-align: right}</style> 6 6 <title></title> trunk/Docs/RESPONSE_FILE.htm
r6 r9 2 2 <head> 3 3 <!-- Generated by MAKEDOC v1.1, (c) 2000,2003 by David Cuny, Derek Parnell, Matt Lewis --> 4 <!-- on 2005/02/2 3 at 22h45m50-->4 <!-- on 2005/02/24 at 15h41m52 --> 5 5 <style>h4 {text-align: right}</style> 6 6 <title></title> trunk/Docs/SWITCHES.htm
r6 r9 2 2 <head> 3 3 <!-- Generated by MAKEDOC v1.1, (c) 2000,2003 by David Cuny, Derek Parnell, Matt Lewis --> 4 <!-- on 2005/02/2 3 at 22h45m50-->4 <!-- on 2005/02/24 at 15h41m52 --> 5 5 <style>h4 {text-align: right}</style> 6 6 <title></title> trunk/Docs/TO_DO.htm
r6 r9 2 2 <head> 3 3 <!-- Generated by MAKEDOC v1.1, (c) 2000,2003 by David Cuny, Derek Parnell, Matt Lewis --> 4 <!-- on 2005/02/2 3 at 22h45m50-->4 <!-- on 2005/02/24 at 15h41m52 --> 5 5 <style>h4 {text-align: right}</style> 6 6 <title></title> trunk/Docs/index.htm
r6 r9 2 2 <head> 3 3 <!-- Generated by MAKEDOC v1.1, (c) 2000,2003 by David Cuny, Derek Parnell, Matt Lewis --> 4 <!-- on 2005/02/2 3 at 22h45m50-->4 <!-- on 2005/02/24 at 15h41m52 --> 5 5 <style>h4 {text-align: right}</style> 6 6 <title></title> trunk/Source/build.d
r6 r9 55 55 //A list of changes and fixes that have been made. 56 56 // 57 // /b"-- v1.4 -- 24/Feb/2005" 58 //<ul> 59 ///li ** /b FIX: /i"Thanks to Abscissa." The -version switch was being interpreted as 60 // a file to compile. 61 ///li ** /b FIX: /i"Thanks to brad." Linux version was using the wrong package name 62 //when formatting a file date for display. 63 ///li ** /b FIX: /i"Thanks to brad." Linux version was not setting the target 64 //name correctly which resulted in the first source file being compiled twice. 65 ///li ** /b FIX: /i"Thanks to brad." Parsing the DFLAG line in the dmd options 66 //file was not dealing with whitespace delimiters. 67 ///li ** /b ENH: When specifing an alternate target file, you can now also 68 // specify a path for the target, and that path is created for you if it 69 //doesn't exist. 70 //</ul> 71 // 57 72 // /b"-- v1.3 -- 23/Feb/2005" 58 73 //<ul> … … 85 100 version(Windows) { 86 101 // OptLink Definition File 87 pragma (build_def, "VERSION 1. 3");102 pragma (build_def, "VERSION 1.4"); 88 103 pragma (build_def, "EXETYPE DOS"); 89 104 } … … 196 211 char[] vAppPath; 197 212 char[] vAppName; 198 char[] vAppVersion = "1. 3";213 char[] vAppVersion = "1.4"; 199 214 char[] vTargetName; // Output name. 200 215 char[][] vCmdLineFiles; // List of source files from command line … … 471 486 foreach (char[] arg; vCompilerArgs) 472 487 { 473 lOutText ~= arg ~ " ";488 lOutText ~= arg ~ std.path.linesep; 474 489 } 475 490 … … 478 493 vNoLink 479 494 ) { 480 lOutText ~= "-c " ; // No linking allowed.495 lOutText ~= "-c " ~ std.path.linesep; // No linking allowed. 481 496 vCompilerArgs ~= "-c"; 482 497 lLinking = false; … … 485 500 } 486 501 487 lOutText ~= std.path.linesep;488 502 foreach(char[] lFileName; lFilesToLink) { 489 503 // Use all files if linking otherwise just the source code files. … … 530 544 if(lLinking) { 531 545 // Ensure the linker gets the right executable name to create. 532 lOutText ~= lTargetName ~ std.path.linesep;546 lOutText ~= "-of" ~ lTargetName ~ std.path.linesep; 533 547 534 548 // Include the default libraries. … … 742 756 char[][] lTextLines; 743 757 char[][] lFlags; 758 char[][] lSwitches; 744 759 char[] lRootName; 745 760 int pos,pos2; … … 768 783 // Examine DFLAGS 769 784 pos = std.string.find(lLine, "DFLAGS="); 770 if(pos==0) { 785 if(pos == 0) 786 { 771 787 lLine = lLine[pos+7..length]; 772 788 lFlags = split(lLine, ";"); 773 789 foreach (char[] lFlag; lFlags) 774 790 { 775 // Strip off enclosing quotes. 776 if (lFlag[0] == '"' && lFlag[length-1] == '"') { 777 lFlag = lFlag[1..length-1]; 778 } 779 780 lFlag=" " ~ lFlag ~ " "; 781 while((pos=std.string.find(lFlag," -I"))>=0) { 782 pos=pos+3; 783 pos2=pos; 784 while(lFlag[pos2]!=' ') { 785 pos2++; 791 if (lFlag.length > 0) 792 { 793 // Strip off enclosing quotes. 794 if (lFlag[0] == '"' && lFlag[length-1] == '"') { 795 lSwitches.length = 1; 796 lSwitches[0] = lFlag[1..length-1]; 786 797 } 787 lRootName = AddRoot(lFlag[pos..pos2]); 788 vDefaultCompArgs ~= lFlag[1..length-1]; 789 if(vVerbose) { 790 if (lRootName.length > 0){ 791 writefln(" added root from config file %s", lRootName); 798 else 799 lSwitches = split(lFlag, " "); 800 801 foreach (char[] lSwitch; lSwitches) 802 { 803 if (lSwitch.length > 0) 804 { 805 lSwitch=" " ~ lSwitch ~ " "; 806 while((pos=std.string.find(lSwitch," -I"))>=0) 807 { 808 pos=pos+3; 809 pos2=pos; 810 while(lSwitch[pos2] != ' ') 811 pos2++; 812 813 lRootName = AddRoot(lSwitch[pos..pos2]); 814 vDefaultCompArgs ~= lSwitch[1..length-1]; 815 if(vVerbose) { 816 if (lRootName.length > 0){ 817 writefln(" added root from config file %s", lRootName); 818 } 819 } 820 821 lSwitch=lSwitch[pos2..length]; 822 } 792 823 } 793 824 } 794 795 lFlag=lFlag[pos2..length];796 825 } 797 826 } 798 } 827 } // end of DFLAGS processing. 799 828 800 829 version(Windows){ … … 990 1019 throw new Exception("No target name supplied."); 991 1020 } 1021 util.pathex.MakePath(vTargetName); 992 1022 993 1023 if (vVerbose){ … … 1120 1150 if(pArg.length>9) { 1121 1151 if(pArg[0..9]=="-version=") { 1122 pArg=pArg [9 .. pArg.length]; 1123 if (std.ctype.isdigit (pArg [0])) { 1152 char[] lVersionString; 1153 1154 lVersionString=pArg [9 .. pArg.length]; 1155 if (std.ctype.isdigit (lVersionString [0])) { 1124 1156 // Note that even though we capture this here, 1125 1157 // version levels are not yet implemented in the 1126 1158 // source scanner. 1127 vVersionLevel = atoi ( pArg);1159 vVersionLevel = atoi (lVersionString); 1128 1160 } else { 1129 vActiveVersions [ pArg] = true;1161 vActiveVersions [lVersionString] = true; 1130 1162 } 1131 1163 } trunk/Source/build.def
r5 r9 1 VERSION 1. 21 VERSION 1.4 2 2 EXETYPE DOS trunk/Source/build.rsp
r5 r9 1 -op -unittest 1 -release 2 -op 3 -IC:\DPARNELL\DMD\BIN\..\src\phobos 4 -IC:\dparnell\dlibs 5 2 6 build.d 3 7 util\pathex_bn.d … … 11 15 util\fdt.d 12 16 build.def 13 build.exe17 -ofbuild.exe trunk/Source/build_bn.d
r6 r9 2 2 // This file is automatically maintained by the BUILD utility, 3 3 // Please refrain from manually editing it. 4 long auto_build_number = 198;4 long auto_build_number = 223; trunk/Source/source_bn.d
r6 r9 2 2 // This file is automatically maintained by the BUILD utility, 3 3 // Please refrain from manually editing it. 4 long auto_build_number = 72;4 long auto_build_number = 94; trunk/Source/util/fdt_bn.d
r6 r9 2 2 // This file is automatically maintained by the BUILD utility, 3 3 // Please refrain from manually editing it. 4 long auto_build_number = 54;4 long auto_build_number = 62; trunk/Source/util/pathex.d
r6 r9 47 47 import std.path; 48 48 import std.file; 49 import std.stdio; 49 50 } 50 51 … … 166 167 return lNewFileName; 167 168 } 169 170 // ---------------------------------------------- 171 bool MakePath(char[] pNewPath) 172 // ---------------------------------------------- 173 { 174 /* 175 This creates the path, including all intervening 176 parent directories, specified by the parameter. 177 178 Note that the path is only that portion of the 179 parameter up to the last directory separator. This 180 means that you can provide a file name in the parameter 181 and it will still create the path for that file. 182 183 This returns False if the path was not created. That 184 could occur if the path already exists or if you do not 185 permissions to create the path on the device, or if 186 device is read-only or doesn't exist. 187 188 This returns true if the path was created. 189 */ 190 bool lResult; // false means it did not create a new path. 191 char[] lNewPath; 192 char[] lParentPath; 193 194 // extract out the directory part of the parameter. 195 for (int i = pNewPath.length-1; i >= 0; i--) 196 { 197 if (pNewPath[i] == std.path.sep[0]) 198 { 199 lNewPath = pNewPath[0 .. i].dup; 200 break; 201 } 202 } 203 version(Windows) { 204 if ((lNewPath.length > 0) && (lNewPath[length-1] == ':')) 205 lNewPath.length = 0; 206 } 207 208 if (lNewPath.length == 0) 209 return false; 210 211 // extract out the parent directory 212 for (int i = lNewPath.length-1; i >= 0; i--) 213 { 214 if (lNewPath[i] == std.path.sep[0]) 215 { 216 lParentPath = lNewPath[0 .. i].dup; 217 break; 218 } 219 } 220 221 // make sure the parent exists. 222 version(Windows) { 223 if ((lParentPath.length > 0) && (lParentPath[length-1] == ':')) 224 lParentPath.length = 0; 225 } 226 if (lParentPath.length != 0) 227 { 228 MakePath(lParentPath ~ std.path.sep); 229 } 230 231 232 // create this directory 233 try { 234 std.file.mkdir(lNewPath); 235 lResult = true; 236 } 237 catch (FileException E) { 238 // Assume the exception is that the directory already exists. 239 lResult = false; 240 } 241 return lResult; 242 } trunk/Source/util/pathex_bn.d
r6 r9 2 2 // This file is automatically maintained by the BUILD utility, 3 3 // Please refrain from manually editing it. 4 long auto_build_number = 56;4 long auto_build_number = 78; trunk/Source/util/str_bn.d
r6 r9 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 0;4 long auto_build_number = 54;
