diff options
author | Jeff Ames | 2008-03-17 20:55:21 +0000 |
---|---|---|
committer | Jeff Ames | 2008-03-17 20:55:21 +0000 |
commit | 79209c429705beb57ad9b787718856ab2c9fd37c (patch) | |
tree | 6f459e172985bce8ffbfc09a5b9a4594dd881a62 /Prebuild/README | |
parent | * More almost completely unproductive log message fiddling (diff) | |
download | opensim-SC_OLD-79209c429705beb57ad9b787718856ab2c9fd37c.zip opensim-SC_OLD-79209c429705beb57ad9b787718856ab2c9fd37c.tar.gz opensim-SC_OLD-79209c429705beb57ad9b787718856ab2c9fd37c.tar.bz2 opensim-SC_OLD-79209c429705beb57ad9b787718856ab2c9fd37c.tar.xz |
Merged changes in Prebuild trunk up to r258 into OpenSim's Prebuild.
Hopefully this should make merging upstream easier.
Building with NAnt should still work, but Visual Studio is untested.
Diffstat (limited to 'Prebuild/README')
-rw-r--r-- | Prebuild/README | 128 |
1 files changed, 86 insertions, 42 deletions
diff --git a/Prebuild/README b/Prebuild/README index 4341e42..e8a2d69 100644 --- a/Prebuild/README +++ b/Prebuild/README | |||
@@ -2,14 +2,16 @@ Prebuild Instructions | |||
2 | 2 | ||
3 | Prebuild is an XML-driven pre-build tool allowing developers to easily generate project or make files for major IDE's and .NET development tools including: Visual Studio 2005, Visual Studio 2003, Visual Studio 2002, SharpDevelop, SharpDevelop2, MonoDevelop, and NAnt. | 3 | Prebuild is an XML-driven pre-build tool allowing developers to easily generate project or make files for major IDE's and .NET development tools including: Visual Studio 2005, Visual Studio 2003, Visual Studio 2002, SharpDevelop, SharpDevelop2, MonoDevelop, and NAnt. |
4 | 4 | ||
5 | _________________________________________________________________________________ | 5 | _______________________________________________________________________________ |
6 | Overview | 6 | Overview |
7 | 7 | ||
8 | Prebuild can be either be run from the command line to generate the project and make files or you can execute the included batch (*.bat) and Unix Shell script (*.sh) files. | 8 | Prebuild can be either be run from the command line to generate the |
9 | The Prebuild file | 9 | project and make files or you can execute the included batch (*.bat) |
10 | and Unix Shell script (*.sh) files. | ||
10 | 11 | ||
11 | _________________________________________________________________________________ | 12 | _______________________________________________________________________________ |
12 | The currently supported developement tools and their associated batch and shell script files. | 13 | The currently supported developement tools and their associated batch |
14 | and shell script files. | ||
13 | 15 | ||
14 | Visual Studio .NET 2005 (VS2005.bat) | 16 | Visual Studio .NET 2005 (VS2005.bat) |
15 | Visual Studio .NET 2003 (VS2003.bat) | 17 | Visual Studio .NET 2003 (VS2003.bat) |
@@ -18,70 +20,102 @@ SharpDevelop (SharpDevelop.bat) - http://www.icsharpcode.net/OpenSource/SD/ | |||
18 | SharpDevelop2 (SharpDevelop.bat) - http://www.icsharpcode.net/OpenSource/SD/ | 20 | SharpDevelop2 (SharpDevelop.bat) - http://www.icsharpcode.net/OpenSource/SD/ |
19 | MonoDevelop (MonoDevelop.sh) - http://www.monodevelop.com/ | 21 | MonoDevelop (MonoDevelop.sh) - http://www.monodevelop.com/ |
20 | NAnt (nant.sh and nant.bat) - http://nant.sourceforge.net/ | 22 | NAnt (nant.sh and nant.bat) - http://nant.sourceforge.net/ |
21 | Autotools (autotools.bat and autotools.sh) http://www.gnu.org. Only partial support | 23 | Autotools (autotools.bat and autotools.sh) - http://en.wikipedia.org/wiki/GNU_build_system |
22 | 24 | ||
23 | Notes: | 25 | Notes: |
24 | A Unix Shell script is provided for MonoDevelop, as this is more appropriate than a windows batch file. | 26 | |
25 | Visual Studio .NET 2005 and the Visual Express IDE's can import solutions from older versions of Visual Studio .NET. | 27 | A Unix Shell script is provided for MonoDevelop, as it does not run on |
28 | Windows at this time. | ||
29 | |||
30 | Visual Studio .NET 2005 and the Visual Express IDE's can import | ||
31 | solutions from older versions of Visual Studio .NET. | ||
32 | |||
26 | Makefiles are not currently supported. | 33 | Makefiles are not currently supported. |
27 | 34 | ||
28 | _________________________________________________________________________________ | 35 | _______________________________________________________________________________ |
29 | Command Line Syntax: | 36 | Command Line Syntax: |
30 | 37 | ||
31 | Example: | 38 | Example: |
32 | >Prebuild /target vs2003 | 39 | > Prebuild /target vs2003 |
33 | 40 | ||
34 | This will generate the project files for Visual Studio.NET 2003 and place the redirect the log to a file named PrebuildLog.txt in the parent directory | 41 | This will generate the project files for Visual Studio.NET 2003 and |
42 | place the redirect the log to a file named PrebuildLog.txt in the | ||
43 | parent directory | ||
35 | 44 | ||
36 | 45 | ||
37 | The syntax structure is as below, where commandParameter is optional depending on the command and you can provide several option-value pairs. | 46 | The syntax structure is as below, where commandParameter is optional |
38 | Note: The '>' signified the command line, do not actually enter this manually | 47 | depending on the command and you can provide several option-value |
48 | pairs. | ||
39 | 49 | ||
40 | >Prebuild /<option> <commandParameter> | 50 | Note: The '> ' signifies the command prompt, do not enter this literally |
41 | 51 | ||
42 | >Prebuild /target vs2003 /pause | 52 | > Prebuild /<option> <commandParameter> |
43 | 53 | ||
44 | >Prebuild /target vs2003 /log ../Log.txt /pause /ppo /file ProjectConfig.xml | 54 | > Prebuild /target vs2003 /pause |
45 | 55 | ||
46 | >Prebuild /target sharpdev /log | 56 | > Prebuild /target vs2003 /log ../Log.txt /pause /ppo /file ProjectConfig.xml |
47 | 57 | ||
48 | >Prebuild /removedir obj|bin | 58 | > Prebuild /target sharpdev /log |
49 | 59 | ||
50 | >Prebuild /target vs2003 /allowedgroups Group1|Group2 | 60 | > Prebuild /removedir obj|bin |
51 | 61 | ||
52 | >Prebuild /clean | 62 | > Prebuild /target vs2003 /allowedgroups Group1|Group2 |
53 | 63 | ||
54 | >Prebuild /clean /yes | 64 | > Prebuild /clean |
55 | 65 | ||
56 | >Prebuild /clean vs2003 | 66 | > Prebuild /clean /yes |
57 | 67 | ||
58 | _________________________________________________________________________________ | 68 | > Prebuild /clean vs2003 |
69 | |||
70 | _______________________________________________________________________________ | ||
59 | Command Line Options: | 71 | Command Line Options: |
60 | 72 | ||
61 | /usage - Shows the help information on how to use Prebuild and what the different options are and what they do | 73 | /usage - Shows the help information on how to use Prebuild and what |
74 | the different options are and what they do | ||
75 | |||
76 | /clean - The project files generated for the target type specified as | ||
77 | a parameter for this option will be deleted. If no value is specified | ||
78 | or if 'all' is specified, then project files for all the target types | ||
79 | will be deleted. | ||
62 | 80 | ||
63 | /clean - The project files generated for the target type specified as a parameter for this option will be deleted. If no value is specified or if 'all' is specified, then project files for all the target types will be deleted. | 81 | /target - Specified the name of the development tool for which project |
82 | or make files will be generated. Possible parameter values include: | ||
83 | vs2003, vs2002, sharpdev | ||
64 | 84 | ||
65 | /target - Specified the name of the development tool for which project or make files will be generated. Possible parameter values include: vs2003, vs2002, sharpdev | 85 | /file - Specifies the name of the XML which defines what files are to |
86 | be referenced by the generated project files as well as configures the | ||
87 | options for them. If not specified, prebuild.xml in the current | ||
88 | directory will be used as the default. | ||
66 | 89 | ||
67 | /file - Specifies the name of the XML which defines what files are to be referenced by the generated project files as well as configures the options for them. If not specified, prebuild.xml will be used as the default. | 90 | /log - Specified the log file that should be written to for build |
91 | errors. If this option is not specified, no log file is generated, | ||
92 | but if just no value is specified, then the defaul filename will be | ||
93 | used for the log (Prebuild.log). | ||
68 | 94 | ||
69 | /log - Specified the log file that should be written to for build errors. If this option is not specified, no log file is generated, but if just no value is specified, then the defaul filename will be used for the log (Prebuild.log). | 95 | /ppo - Preprocesses the xml file to test for syntax errors or problems |
96 | but doesn't generate the files | ||
70 | 97 | ||
71 | /ppo - Preprocesses the xml file to test for syntax errors or problems but doesn't generate the files | 98 | /pause - Shows the console until you press a key so that you can view |
99 | the messages written while performing the specified actions. | ||
72 | 100 | ||
73 | /pause - Shows the console until you press a key so that you can view the messages written while performing the specified actions. | 101 | This allows you to check if an errors occurred and - if so - what it |
74 | This allows you to check if an errors occurred and - if so - what it was. | 102 | was. |
75 | 103 | ||
76 | /showtargets - Shows a list of all the targets that can be specified as values for the /clean and /target commands. | 104 | /showtargets - Shows a list of all the targets that can be specified |
105 | as values for the /clean and /target commands. | ||
77 | 106 | ||
78 | /allowedgroups - This is followed by a pipe-delimited list of project group filter flags (eg. Group1|Group2) allow optional filtering of all projects that dont have at least one of these flags | 107 | /allowedgroups - This is followed by a pipe-delimited list of project |
108 | group filter flags (eg. Group1|Group2) allow optional filtering of all | ||
109 | projects that dont have at least one of these flags | ||
79 | 110 | ||
80 | /removedir - This is followed by a pipe-delimited list of directory names that will be deleted while recursivly searching the directory of the prebuild application and its child directories (eg. use obj|bin to delete all output and temporary directories before file releases) | 111 | /removedir - This is followed by a pipe-delimited list of directory |
112 | names that will be deleted while recursivly searching the directory of | ||
113 | the prebuild application and its child directories (eg. use obj|bin to | ||
114 | delete all output and temporary directories before file releases) | ||
81 | 115 | ||
82 | /yes - Answer yes to any warnings (e.g. when cleaning all projects). | 116 | /yes - Answer yes to any warnings (e.g. when cleaning all projects). |
83 | 117 | ||
84 | _________________________________________________________________________________ | 118 | _______________________________________________________________________________ |
85 | Example Batch Files and Shell Scripts | 119 | Example Batch Files and Shell Scripts |
86 | 120 | ||
87 | NOTE: Common batch and shell script files are included with Prebuild source and file releases. | 121 | NOTE: Common batch and shell script files are included with Prebuild source and file releases. |
@@ -89,9 +123,12 @@ ______________________________ | |||
89 | MonoDevelop | 123 | MonoDevelop |
90 | 124 | ||
91 | #!/bin/sh | 125 | #!/bin/sh |
92 | # Generates a combine (.cmbx) and a set of project files (.prjx) | 126 | # Generates a solution (.mds) and a set of project files (.mdp) |
93 | # for MonoDevelop, a Mono port of SharpDevelop (http://icsharpcode.net/OpenSource/SD/Default.aspx) | 127 | |
94 | ./Prebuild /target sharpdev /pause | 128 | # for MonoDevelop, a Mono port of SharpDevelop |
129 | # (http://icsharpcode.net/OpenSource/SD/Default.aspx) | ||
130 | |||
131 | ./Prebuild /target monodev /pause | ||
95 | 132 | ||
96 | ______________________________ | 133 | ______________________________ |
97 | Visual Studio .NET 2003 | 134 | Visual Studio .NET 2003 |
@@ -104,13 +141,20 @@ Notes: | |||
104 | Text after lines that start with @rem are comments and are not evaluated | 141 | Text after lines that start with @rem are comments and are not evaluated |
105 | You can also place pause on the last line instead of specifing the /pause command. | 142 | You can also place pause on the last line instead of specifing the /pause command. |
106 | 143 | ||
107 | ________________________________________________________________________________ | 144 | _______________________________________________________________________________ |
108 | Example XML Configuration File | 145 | Example XML Configuration File |
109 | 146 | ||
110 | Note: | 147 | Note: |
111 | XML Comments (<!-- Comment -->) are used to markup the prebuild.xml file with notes | 148 | |
112 | The below file may be out-of-date, however the RealmForge Prebuild file serves as an up-to-date and extensive example. | 149 | XML Comments (<!-- Comment -->) are used to markup the prebuild.xml |
113 | It can be viewed using Tigris.org's WebSVN (http://realmforge.tigris.org/source/browse/realmforge/trunk/src/prebuild.xml) by just clicking on the "view file" link for the latest revision. | 150 | file with notes |
151 | |||
152 | The below file may be out-of-date, however the RealmForge Prebuild | ||
153 | file serves as an up-to-date and extensive example. | ||
154 | |||
155 | It can be viewed using Tigris.org's WebSVN | ||
156 | (http://realmforge.tigris.org/source/browse/realmforge/trunk/src/prebuild.xml) | ||
157 | by just clicking on the "view file" link for the latest revision. | ||
114 | 158 | ||
115 | _________________________________ | 159 | _________________________________ |
116 | 160 | ||