aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
-rw-r--r--Prebuild/AUTHORS10
-rw-r--r--Prebuild/COPYING65
-rw-r--r--Prebuild/ChangeLog461
-rw-r--r--Prebuild/INSTALL236
-rw-r--r--Prebuild/NEWS200
-rw-r--r--Prebuild/README274
-rw-r--r--Prebuild/THANKS18
-rw-r--r--Prebuild/TODO43
-rw-r--r--Prebuild/prebuild2
9 files changed, 0 insertions, 1309 deletions
diff --git a/Prebuild/AUTHORS b/Prebuild/AUTHORS
deleted file mode 100644
index 9e86ac0..0000000
--- a/Prebuild/AUTHORS
+++ /dev/null
@@ -1,10 +0,0 @@
1Dave Hudson (jendave@yahoo.com),
2Matthew Holmes (matthew@wildfiregames.com)
3Dan Moorehead (dan05a@gmail.com)
4Rob Loach (http://www.robloach.net)
5C.J. Adams-Collier (cjac@colliertech.org)
6
7Patch Contributers
8lbsa71
9chi11ken
10sdague
diff --git a/Prebuild/COPYING b/Prebuild/COPYING
deleted file mode 100644
index d3cdf7e..0000000
--- a/Prebuild/COPYING
+++ /dev/null
@@ -1,65 +0,0 @@
1BSD License
2Copyright (c)2004-2008
3
4See AUTHORS file for list of copyright holders
5
6Dave Hudson (jendave@yahoo.com),
7Matthew Holmes (matthew@wildfiregames.com)
8Dan Moorehead (dan05a@gmail.com)
9Rob Loach (http://www.robloach.net)
10C.J. Adams-Collier (cjac@colliertech.org)
11
12http://dnpb.sourceforge.net
13All rights reserved.
14
15Redistribution and use in source and binary forms, with or without
16modification, are permitted provided that the following conditions
17are met:
18
191. Redistributions of source code must retain the above copyright notice,
20 this list of conditions and the following disclaimer.
21
222. Redistributions in binary form must reproduce the above copyright notice,
23 this list of conditions and the following disclaimer in the documentation
24 and/or other materials provided with the distribution.
25
263. The names of the authors may not be used to endorse or promote
27 products derived from this software without specific prior written
28 permission.
29
30 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
31 "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
32 LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
33 FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
34 COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
35 INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
36 BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
37 LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
38 CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
39 LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
40 ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
41 POSSIBILITY OF SUCH DAMAGE.
42
43---
44
45Portions of src/Core/Targets/AutotoolsTarget.cs
46// Copyright (C) 2006 Novell, Inc (http://www.novell.com)
47//
48// Permission is hereby granted, free of charge, to any person obtaining
49// a copy of this software and associated documentation files (the
50// "Software"), to deal in the Software without restriction, including
51// without limitation the rights to use, copy, modify, merge, publish,
52// distribute, sublicense, and/or sell copies of the Software, and to
53// permit persons to whom the Software is furnished to do so, subject to
54// the following conditions:
55//
56// The above copyright notice and this permission notice shall be
57// included in all copies or substantial portions of the Software.
58//
59// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
60// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
61// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
62// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
63// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
64// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
65// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
diff --git a/Prebuild/ChangeLog b/Prebuild/ChangeLog
deleted file mode 100644
index bb8e7b0..0000000
--- a/Prebuild/ChangeLog
+++ /dev/null
@@ -1,461 +0,0 @@
12008-12-09T02:15 D. Moonfire <d.moonfire@mfgames.com>
2 * src/Core/Kernel.cs
3 - Added a /ppi target to get the results of processing but before
4 processing the actual results.
5 * src/Core/Preprocessor.cs
6 - Applied the patch from kanato with formatting changes.
7 - Uses the <?include file="" ?> format.
8 * tests/
9 - Added some lightweight tests to test the functionality of the
10 include patch.
11
122008-06-19T09:37 John Anderson <sontek@gmail.com>
13 * src/Core/Kernel.cs
14 - Only Loop through targets that are not abstract.
15 * src/Core/Targets/VSGenericTarget.cs
16 - Marked abstract and removed the Target attribute.
17
182008-06-16T17:37 John Anderson <sontek@gmail.com>
19 * src/Core/Nodes/ProjectNode.cs,data/prebuild-1.7.xsd
20 - Added the ability to hardcode guid's in the projects
21
222008-05-21T0737 C.J. Adams-Collier <cjac@colliertech.org>
23 * src/Core/Targets/AutotoolsTarget.cs
24 - catch exception when unable to compile AssemblyInfo.cs
25
262008-05-07T17:29 John Anderson <sontek@gmail.com>
27 * src/Core/Targets/VSGenericTarget.cs
28 - Generate asp.net output in bin\ folder (asp.net requires it there)
29
302008-04-30T17:29 John Anderson <sontek@gmail.com>
31 * src/Core/Nodes/DatabaseReferenceNode.cs,
32 src/Core/Nodes/Datanode.cs,
33 src/Core/Nodes/FileNode.cs,
34 src/Core/Nodes/FileNodes.cs,
35 src/Core/Nodes/MatchNode.cs,
36 src/Core/Targets/VS2008Target.cs,
37 src/data/prebuild-1.7.xsd
38 - Refactored the project generation code to handle web projects and more
39 logically handle embedded resources and designer files.
40
412008-04-30T17:29 Joseph Lombrozo <digitaljeebus@gmail.com>
42 * src/Core/Nodes/SolutionNode.cs
43 - Had solutions inherit Configurations in the same way that Projects do.
44
452008-04-29T06:35 Joseph Lombrozo <digitaljeebus@gmail.com>
46 * src/Core/Targets/VS2008Target.cs,
47 src/Core/Nodes/DatabaseProjectNode.cs,
48 src/Core/Nodes/DatabaseReferenceNode.cs,
49 src/data/prebuild-1.7.xsd
50 - Added database references to database projects.
51 - Prevented nested solutions from being written to disk.
52
532008-04-29T05:43 Joseph Lombrozo <digitaljeebus@gmail.com>
54 * src/Core/Targets/VS2008Target.cs
55 - Enabled embedded solutions to contain Files.
56
572008-04-29T04:13 Joseph Lombrozo <digitaljeebus@gmail.com>
58 * src/Core/VSVersion.cs
59 - Fixed spelling mistake in enum comment.
60 * src/Core/Attributes/DataNodeAttribute.cs
61 - Allowed the DataNodeAttribute to be attached to a single class
62 more than once, allowing one class to be used to parse more than
63 one node at a time.
64 * src/Core/Kernel.cs
65 - Changed CacheNodeTypes() to allow for multiple DataNodeAttribute
66 instances in one class. Refactored ProcessFile(...) to return Solutions,
67 rather than adding them to the Kernel.
68 * src/Core/Nodes/SolutionNode.cs
69 - Added Guid (for embedded folders)
70 - Added DatabaseProjects, Solutions and Processes to the SolutionNode
71 when parsing.
72 * src/Core/Nodes/ProjectNode.cs
73 - Added FrameworkVersion property to allow for 2.0/3.0/3.5 differentiation.
74 * src/Core/Targets/VS2008Target.cs, src/data/prebuild-1.7.xsd
75 - Added ability to have embedded solutions, and externally referenced
76 prebuild scripts.
77
782008-04-24T04:33 John M. Anderson <sontek@gmail.com>
79 * src/Core/Targets/VS2003Target.cs, src/Core/Targets/VSVersion.cs
80 - Moved the VSVersion enum into its own file.
81 * src/Core/Targets/VS2008Target.cs
82 - added support for VS2008
83 * src/Core/Nodes/ProjectNode.cs
84 - Added initial support for ASP.NET projects
85 * src/Core/Nodes/DatabaseProjectNode.cs
86 - Added support for Visual Studio database projects
87
882008-02-19T07:08 C.J. Adams-Collier <cjac@colliertech.org>
89 * TODO
90 - added some tasks from Sam Hocevar
91 * src/Core/Targets/AutotoolsTarget.cs
92 - added a missing end paren
93 * COPYING
94 - Removed Randy Ridge's name from the copyright. Looks to me like
95 his name was present only because the file was nabbed from Tao
96
972008-02-09T20:29 C.J. Adams-Collier <cjac@colliertech.org>
98 * COPYING
99 - added MIT/X11 license due to inclusion of code from Monodevelop
100 * THANKS
101 - added Lluis Sanchez Gual and Todd Berman - I yoinked code from
102 their pkg-config .pc file parser to build AutotoolsTarget.cs.
103 Sorry it took me so long to remember to add mention of you guys!
104 * src/Core/Targets/AutotoolsTarget.cs
105 - added MIT/X11 license. see above.
106
1072008-02-07T08:27 C.J. Adams-Collier <cjac@colliertech.org>
108 * AUTHORS
109 - consolidated names and contact info found laying around the
110 source
111 * src/Core/Kernel.cs
112 - updated copyright date
113 - re-formatted license for 80-column editor
114 - updated log banner to indicate new date, new authors
115 * src/Core/Targets/AutotoolsTarget.cs
116 - clarified reasoning behind use of constants in
117 AutotoolsTarget.ParsePCFile
118 - reduced length of some long lines using newline/indent
119 - added log messages for parsing .pc files, emitting solutions,
120 projects
121 - robustified the inter-package dependency resolution target
122 - log warning when we can't find assembly for <Reference />
123 - clarified code for case of inability to find embedded
124 autotools.xml
125 * src/data/autotools.xml
126 - adding system lookup of resgen2 to configure.ac
127 - fixed .resource -> .resources typo
128 - added a rule to create <foo>.response file containing all sources
129 - using @<foo>.response on $(CSC) command line instead of listing
130 all source files
131 * src/Properties/AssemblyInfo.cs
132 - re-formatted license for an 80-column editor
133 - added more authors to the AssemblyCopyright attribute
134 - bumped version to 2.0.3
135 * prebuild.xml
136 - bumped version to 2.0.3
137 * scripts/autotools.sh
138 - if 'mono' is in the path, run Prebuild.exe with it
139 - using dirname to capture correct path to prebuild.xml &c
140
1412008-02-06T17:18 C.J. Adams-Collier <cjac@colliertech.org>
142 * src/Core/Targets/NAntTarget.cs
143 - re-formatted the license for an 80-column editor
144 - added myself to the copyright
145 - added a fix submitted by Gryc Ueusp <gryc.ueusp@gmail.com>
146 * src/Core/Targets/AutotoolsTarget.cs
147 - updated copyright to include 2008
148 * THANKS
149 - created file, added Gryc Ueusp <gryc.ueusp@gmail.com>
150
1512008-01-01T14:50 C.J. Adams-Collier <cjac@colliertech.org>
152 * src/data/autotools.xml
153 - fixed .resx -> .resource compilation
154 - fixed failing edge case where Project is an unsigned Library
155 - added $(RESOURCE_SRC) to list of extra dist files
156 * src/Core/Targets/AutotoolsTarget.cs
157 - removed embeddedResources from extraDistFiles list
158
1592007-04-18T07:49 C.J. Adams-Collier <cjac@colliertech.org>
160 * src/data/prebuild-1.7.xsd
161 - removed default version from references
162
1632007-04-06T12:42 C.J. Adams-Collier <cjac@colliertech.org>
164 * src/data/autotools.xml
165 - added support for /doc: output when XmlDocFile is not empty
166 - not printing \t \\n on lines that have no content
167 - gacutil now installs the root assembly instead of the one under
168 bin/Debug or whatever
169
1702007-04-04T22:12 C.J. Adams-Collier <cjac@colliertech.org>
171 * src/Core/Targets/AutotoolsTarget.cs
172 - removed debugging Console.WriteLine()
173 * src/data/autotools.xml
174 - ensuring that install-sh and missing get distributed
175 - explicitly stating that the sources, snk, resources and binary
176 references live under $(srcdir)
177 - corrected uninstall target
178 - verified distcheck completes successfully
179
1802007-04-03T21:56 C.J. Adams-Collier <cjac@colliertech.org>
181 * src/Core/Targets/AutotoolsTarget.cs
182 - added a using for System.Diagnostics
183 - added enum ClrVersion for use with the pkg-config parser
184 - added class SystemPackage for use with the pkg-config parser
185 - removed explicit "private" property of members since it is implied
186 - flushing the stream-writer before it's closed
187 - removed excess braces around an if statement
188 ! NormalizeAsmName(), AddAssembly(), GetAssembliesWithLibInfo(),
189 GetAssembliesWithoutLibInfo(), ProcessPiece(),
190 GetVariableFromPkgConfig(), ParsePCFile(),
191 RegisterSystemAssemblies(), RunInitialization()
192 - pulled the above from MonoDevelop to parse the system pkgconfig
193 files and determine /pkg: arguments. Original sources are here:
194 http://svn.myrealbox.com/source/trunk/monodevelop/Core/src/MonoDevelop.Core/MonoDevelop.Core/SystemAssemblyService.cs
195 http://svn.myrealbox.com/source/trunk/monodevelop/Core/src/MonoDevelop.Core/MonoDevelop.Core/ClrVersion.cs
196 ! WriteProject()
197 - now gathering project version from AssemblyInfo.cs if it is part
198 of the project
199 - changed the declaration of the ArrayList's in the method
200 - now copying assembly .config files to the project, distributing,
201 installing
202 - making sure all needed files live under the Project directory
203 - copying strongname keys to project directory
204 - parsing AssemblyInfo.cs to determine assembly version
205 - removing all references to ".."
206 - removed superfluous if(project.References.Count > 0) around
207 for(int refNum = 0; refNum < project.References.Count; refNum++)
208 - removed use of runtimeLibs
209 - adding hook to copy sibling project's generated assemblies to
210 this project during Make time
211 - added extra dist target to ensure all files required to build
212 get distributed during "make dist"
213 - added new xslt processing args:
214 -- assemblyName
215 -- extraDistFiles
216 -- pkgLibs (/pkg:foo)
217 -- localCopyTargets (to copy sibling assemblies at Make time)
218 -- projectVersion (if determined from AssemblyInfo.cs)
219 -- hasAssemblyConfig (if there's a assembly.exe.config present)
220 ! Write()
221 - calling RunInitialization() to gather pkg-config data
222 * src/data/autotools.xml
223 - accepting new args passed from AutotoolsTarget.cs
224 - modernized configure.ac a bit
225 - using a version of tar that allows >99-char filenames
226 - added ASSEMBLY_NAME variable
227 - using assembly name rather than project name for gac installation
228 - generated assembly is now assembly name and not project name
229 - accepting /pkg: flags gathered from AutotoolsTarget.cs
230 - adding Makefile targets to copy sibling project assemblies to .
231 - fixed Debug, Release targets
232 - adding support for strongname key signing
233 - adding /unsafe support
234 - adding a clean make target
235 - only running gacutil /u if the assembly being uninstalled is in gac
236 - added some templates to determine each Configuration's .snk
237 - added explanation as to why .exe assemblies live in $prefix/lib
238 * src/Properties/AssemblyInfo.cs
239 - bumped assembly version
240 * prebuild.xml
241 - bumped assembly version
242
2432007-03-29T18:03 C.J. Adams-Collier <cjac@colliertech.org>
244 * src/Core/Targets/AutotoolsTarget.cs
245 ! WriteProject()
246 - re-named incorrectly-named variable gacLibs to systemLibs
247 - added another reference list, runtimeLibs which contains the
248 libs we will need at runtime. we use this to build a MONO_PATH
249 - added monoPath to the xslt args list
250 * src/data/autotools.xml
251 ! <ProjectMakefileAm />
252 - renamed gacLibs to systemLibs
253 - added the sources to the dist list
254 - added logic to install libs that aren't strongnamed
255 ! <ProjectWrapperScriptIn />
256 - accepting a param to update the MONO_PATH
257
2582007-03-28T19:46 C.J. Adams-Collier <cjac@colliertech.org>
259 * src/Core/Targets/MonoDevelopTarget.cs
260 ! CleanProject()
261 - using Assembly.LoadWithPartialName to locate the assembly
262 * src/Core/Targets/AutotoolsTarget.cs
263 ! WriteCombine()
264 - no longer using $PWD to determine a project's source dir; this
265 doesn't work with <Process /> elements
266 - passing the solution name to all templates - fixes
267 multi-solution prebuild systems
268 ! WriteProject()
269 - no longer using $PWD to determine a project's source dir; this
270 doesn't work with <Process /> elements
271 - passing the solution name to all templates - fixes
272 multi-solution prebuild systems
273 - copying strongname key to the autotools directory
274 - using Assembly.LoadWithPartialName to locate assemblies
275 * src/data/autotools.xml
276 ! <ProjectConfigureAc />
277 - fixed the .pc AC_CONFIG_FILES macro
278 ! <ProjectMakefileAm />
279 - added solution name param
280 - wrapping if type=exe check around script install macro
281 - added type=lib check and .pc file install macro
282 - added support for Configuration-specific builds (Debug, Release, etc)
283 - added strongname keyfile code
284 - TODO: support non-strongnamed library installation
285 ! <ProjectWrapperScriptIn />
286 - added space preservation attribute to stylesheet element
287 - added a lower-case project name variable
288 - added solution name param
289 - made for-each template more specific
290 ! <SolutionAutogenSh />
291 - added solution name param
292 ! <SolutionConfigureAc />
293 - added solution name param
294 ! <SolutionMakefileAm />
295 - added solution name param
296 ! <ProjectPcIn />
297 - added solution name param
298
2992007-03-27T09:33 C.J. Adams-Collier <cjac@colliertech.org>
300 * src/Core/Targets/AutotoolsTarget.cs
301 - now processing the wrapper script if type is "Exe" or "WinExe"
302 * src/data/autotools.xml
303 ! <ProjectConfigureAc />
304 - being more exact about where text escaping is used
305 - using the correct variable name for the GACUTIL_FLAGS template
306 - using correct test="" for the AC_CONFIG_FILES macros
307 ! <ProjectMakefileAm />
308 - uncommented the bin_SCRIPTS section now that the script is being
309 generated correctly
310 ! <ProjectWrapperScriptIn />
311 - fixed whitespace at beginning of file, before #!
312 - using lower-case packageName to indicate installation location
313
3142007-03-27T09:33 C.J. Adams-Collier <cjac@colliertech.org>
315 * src/data/autotools.xml
316 ! <ProjectConfigureAc />
317 * added a lcProjectName which is $projectName lower-cased
318 * moved autoconf template specifier near AC_OUTPUT
319 * AC_OUTPUT with args is deprecated. now using AC_CONFIG_FILES
320 * placed AC_CONFIG_FILES() calls for wrapper script or pkg-config
321 file in xslt project type checks
322 ! <ProjectMakefileAm />
323 * commented out bin_SCRIPTS
324 * added a lcProjectName which is $projectName lower-cased
325 * using $lcProjectName instead of the longer version
326
3272007-03-27T08:39 C.J. Adams-Collier <cjac@colliertech.org>
328 * src/data/autotools.xml
329 ! <ProjectMakefileAm />
330 - added whitespace-preservation
331 - added the missing projectName param
332 - replaced bin_SCRIPTS with something that worked
333
3342007-03-27T07:56 C.J. Adams-Collier <cjac@colliertech.org>
335 * src/data/autotools.xml
336 ! <ProjectConfigureAc />
337 - cleaned up duplicate checks
338 - placed initialization macros above system check macros
339 - added some more messages about what's going on
340 - added GACUTIL_FLAGS variable including /package option
341 ! <ProjectMakefileAm />
342 - added an incomplete bin_SCRIPTS
343 - RCS check says "building" instead of "compiling"
344 ! <SolutionConfigureAc />
345 - removed macros that are useful only for projects
346 ! <ProjectWrapperScriptIn />
347 - created this element on this revision
348 - this is a wrapper shell script that lives in the $PATH and runs
349 the CIL assembly
350
3512007-03-26T20:18 C.J. Adams-Collier <cjac@colliertech.org>
352 * src/Core/Targets/AutotoolsTarget.cs
353 - creating new template arguments to contain the list of libs to
354 reference: source, binary & GAC
355 - source libs are included as part of this solution (untested)
356 - binary libs are distributed with the source (untested)
357 - GAC libs are assumed to be in the GAC or other lib path (tested)
358 * src/data/autotools.xml
359 - created new params through which to accept reference info
360 - created a working $(CSC) line
361 - added a TODO item for ordering project dependency for
362 AC_CONFIG_SUBDIRS code
363
3642007-03-26T08:41 C.J. Adams-Collier <cjac@colliertech.org>
365 * src/Core/Targets/AutotoolsTarget.cs
366 - now creating list of source files in managed code and passing
367 them to the template via <xsl:param>s
368 * src/data/prebuild-1.7.xsd
369 - updated the header comment to 2007
370 * src/data/autotools.xml
371 ! <ProjectConfigureAc>
372 - copied checks from Solution-level configure.ac
373 - copied solution-level config status
374 ! <ProjectMakefileAm>
375 - added <xsl:param> elements for file list to be passed through
376 - made a temporary target for the assembly we're building
377 - added this target to the deps of "all:"
378 ! <SolutionConfigureAc>
379 - changed status header/footer from "- - -" to "==="
380
3812007-03-23T08:33 C.J. Adams-Collier <cjac@colliertech.org>
382 Added version attribute handling code for Property element
383 Added description element handling code
384 * prebuild.xml
385 - added /Prebuild/Solution/Property/@version attribute
386 - added /Prebuild/Solution/Property/Description element
387 * src/Core/Nodes/ProjectNode.cs
388 - added some docs where they were missing and obvious
389 - added code to handle @version
390 * src/Core/Nodes/DescriptionNode.cs
391 - new file. Used to handle /Prebuild/Solution/Property/Description
392 * src/Core/Targets/AutotoolsTarget.cs
393 - added mkdirDashP(), a recursive directory creation method
394 - WriteProject() now copies the files to autotools/
395 * src/data/prebuild-1.7.xsd
396 - added /Prebuild/Solution/Property/Description element
397 - added /Prebuild/Solution/Property/@version attribute
398 * src/data/autotools.xml
399 - removed excess <xsl:value-of select="$projectName"/>
400 - explicitly using dnpb: prefix
401
4022007-03-23T04:31 C.J. Adams-Collier <cjac@colliertech.org>
403 Merged code from my stripped-down test
404 Adding support for the /Prebuild/Solution/Project/Author element
405 * prebuild.xml
406 - added Author elements
407 - cleaned up the really long Project element
408 * src/Core/Nodes/ProjectNode.cs
409 - added Author tag processing code
410 * src/Core/Nodes/AuthorNode.cs
411 - Created to process Author elements
412 - based off of ReferencePathNode.cs
413 * src/Core/Targets/AutotoolsTarget.cs
414 - merged code from https://svn.colliertech.org/mono/dnpbAutotools/dnpbAutotools/test.cs
415 - renamed old WriteCombine to WriteCombineOld
416 - renamed old WriteProject to WriteProjectOld
417 * src/data/prebuild-1.7.xsd
418 - added Author element to Project
419 * src/data/autotools.xml
420 - lower-cased utf
421
422
4232007-03-22T13:58 C.J. Adams-Collier <cjac@colliertech.org>
424 Exposing an XmlDocument that represents the prebuild.xml file
425 passed to the program
426
427 * src/Core/Kernel.cs
428 - created an object member called XmlDocument m_CurrentDoc
429 - created a property to access its value
430 - using m_CurrentDoc to load up the prebuild.xml file rather than
431 a local variable called "doc"
432
4332007-03-22 C.J. Adams-Collier <cjac@colliertech.org>
434 * prebuild.xml
435 - added autotools.xml created at https://svn.colliertech.org/mono/dnpbAutotools/dnpbAutotools/autotools.xml
436 * src/data/autotools.xml
437 - the same
438 * src/Core/Targets/MonoDevelopTarget.cs
439 - fixed bug introduced in r206
440
4412007-03-07 C.J. Adams-Collier <cjcollier@colliertech.org>
442 * src/data/prebuild-1.7.xsd
443 - added version attribute to Solution and Project elements
444
4452006-11-04T00:38 C.J. Adams-Collier <cjcollier@colliertech.org>
446 * placing AssemblyInfo.cs into Properties/
447 * Fixed double-mention of the package name
448
4492006-11-03T15:23 C.J. Adams-Collier <cjcollier@colliertech.org>
450 * corrected a problem in the Include.am generation code
451 * created the new .exe
452 * copied it to the root of the build
453
4542006-11-03T14:57 C.J. Adams-Collier <cjcollier@colliertech.org>
455 * Updated the .exe file
456
4572006-11-03 C.J. Adams-Collier <cjcollier@colliertech.org>
458 * Added a TODO file
459 * Added a ChangeLog file
460 * applied some fixes for autotools gac and pkg-config installation
461 problems
diff --git a/Prebuild/INSTALL b/Prebuild/INSTALL
deleted file mode 100644
index 23e5f25..0000000
--- a/Prebuild/INSTALL
+++ /dev/null
@@ -1,236 +0,0 @@
1Installation Instructions
2*************************
3
4Copyright (C) 1994, 1995, 1996, 1999, 2000, 2001, 2002, 2004, 2005 Free
5Software Foundation, Inc.
6
7This file is free documentation; the Free Software Foundation gives
8unlimited permission to copy, distribute and modify it.
9
10Basic Installation
11==================
12
13These are generic installation instructions.
14
15 The `configure' shell script attempts to guess correct values for
16various system-dependent variables used during compilation. It uses
17those values to create a `Makefile' in each directory of the package.
18It may also create one or more `.h' files containing system-dependent
19definitions. Finally, it creates a shell script `config.status' that
20you can run in the future to recreate the current configuration, and a
21file `config.log' containing compiler output (useful mainly for
22debugging `configure').
23
24 It can also use an optional file (typically called `config.cache'
25and enabled with `--cache-file=config.cache' or simply `-C') that saves
26the results of its tests to speed up reconfiguring. (Caching is
27disabled by default to prevent problems with accidental use of stale
28cache files.)
29
30 If you need to do unusual things to compile the package, please try
31to figure out how `configure' could check whether to do them, and mail
32diffs or instructions to the address given in the `README' so they can
33be considered for the next release. If you are using the cache, and at
34some point `config.cache' contains results you don't want to keep, you
35may remove or edit it.
36
37 The file `configure.ac' (or `configure.in') is used to create
38`configure' by a program called `autoconf'. You only need
39`configure.ac' if you want to change it or regenerate `configure' using
40a newer version of `autoconf'.
41
42The simplest way to compile this package is:
43
44 1. `cd' to the directory containing the package's source code and type
45 `./configure' to configure the package for your system. If you're
46 using `csh' on an old version of System V, you might need to type
47 `sh ./configure' instead to prevent `csh' from trying to execute
48 `configure' itself.
49
50 Running `configure' takes awhile. While running, it prints some
51 messages telling which features it is checking for.
52
53 2. Type `make' to compile the package.
54
55 3. Optionally, type `make check' to run any self-tests that come with
56 the package.
57
58 4. Type `make install' to install the programs and any data files and
59 documentation.
60
61 5. You can remove the program binaries and object files from the
62 source code directory by typing `make clean'. To also remove the
63 files that `configure' created (so you can compile the package for
64 a different kind of computer), type `make distclean'. There is
65 also a `make maintainer-clean' target, but that is intended mainly
66 for the package's developers. If you use it, you may have to get
67 all sorts of other programs in order to regenerate files that came
68 with the distribution.
69
70Compilers and Options
71=====================
72
73Some systems require unusual options for compilation or linking that the
74`configure' script does not know about. Run `./configure --help' for
75details on some of the pertinent environment variables.
76
77 You can give `configure' initial values for configuration parameters
78by setting variables in the command line or in the environment. Here
79is an example:
80
81 ./configure CC=c89 CFLAGS=-O2 LIBS=-lposix
82
83 *Note Defining Variables::, for more details.
84
85Compiling For Multiple Architectures
86====================================
87
88You can compile the package for more than one kind of computer at the
89same time, by placing the object files for each architecture in their
90own directory. To do this, you must use a version of `make' that
91supports the `VPATH' variable, such as GNU `make'. `cd' to the
92directory where you want the object files and executables to go and run
93the `configure' script. `configure' automatically checks for the
94source code in the directory that `configure' is in and in `..'.
95
96 If you have to use a `make' that does not support the `VPATH'
97variable, you have to compile the package for one architecture at a
98time in the source code directory. After you have installed the
99package for one architecture, use `make distclean' before reconfiguring
100for another architecture.
101
102Installation Names
103==================
104
105By default, `make install' installs the package's commands under
106`/usr/local/bin', include files under `/usr/local/include', etc. You
107can specify an installation prefix other than `/usr/local' by giving
108`configure' the option `--prefix=PREFIX'.
109
110 You can specify separate installation prefixes for
111architecture-specific files and architecture-independent files. If you
112pass the option `--exec-prefix=PREFIX' to `configure', the package uses
113PREFIX as the prefix for installing programs and libraries.
114Documentation and other data files still use the regular prefix.
115
116 In addition, if you use an unusual directory layout you can give
117options like `--bindir=DIR' to specify different values for particular
118kinds of files. Run `configure --help' for a list of the directories
119you can set and what kinds of files go in them.
120
121 If the package supports it, you can cause programs to be installed
122with an extra prefix or suffix on their names by giving `configure' the
123option `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'.
124
125Optional Features
126=================
127
128Some packages pay attention to `--enable-FEATURE' options to
129`configure', where FEATURE indicates an optional part of the package.
130They may also pay attention to `--with-PACKAGE' options, where PACKAGE
131is something like `gnu-as' or `x' (for the X Window System). The
132`README' should mention any `--enable-' and `--with-' options that the
133package recognizes.
134
135 For packages that use the X Window System, `configure' can usually
136find the X include and library files automatically, but if it doesn't,
137you can use the `configure' options `--x-includes=DIR' and
138`--x-libraries=DIR' to specify their locations.
139
140Specifying the System Type
141==========================
142
143There may be some features `configure' cannot figure out automatically,
144but needs to determine by the type of machine the package will run on.
145Usually, assuming the package is built to be run on the _same_
146architectures, `configure' can figure that out, but if it prints a
147message saying it cannot guess the machine type, give it the
148`--build=TYPE' option. TYPE can either be a short name for the system
149type, such as `sun4', or a canonical name which has the form:
150
151 CPU-COMPANY-SYSTEM
152
153where SYSTEM can have one of these forms:
154
155 OS KERNEL-OS
156
157 See the file `config.sub' for the possible values of each field. If
158`config.sub' isn't included in this package, then this package doesn't
159need to know the machine type.
160
161 If you are _building_ compiler tools for cross-compiling, you should
162use the option `--target=TYPE' to select the type of system they will
163produce code for.
164
165 If you want to _use_ a cross compiler, that generates code for a
166platform different from the build platform, you should specify the
167"host" platform (i.e., that on which the generated programs will
168eventually be run) with `--host=TYPE'.
169
170Sharing Defaults
171================
172
173If you want to set default values for `configure' scripts to share, you
174can create a site shell script called `config.site' that gives default
175values for variables like `CC', `cache_file', and `prefix'.
176`configure' looks for `PREFIX/share/config.site' if it exists, then
177`PREFIX/etc/config.site' if it exists. Or, you can set the
178`CONFIG_SITE' environment variable to the location of the site script.
179A warning: not all `configure' scripts look for a site script.
180
181Defining Variables
182==================
183
184Variables not defined in a site shell script can be set in the
185environment passed to `configure'. However, some packages may run
186configure again during the build, and the customized values of these
187variables may be lost. In order to avoid this problem, you should set
188them in the `configure' command line, using `VAR=value'. For example:
189
190 ./configure CC=/usr/local2/bin/gcc
191
192causes the specified `gcc' to be used as the C compiler (unless it is
193overridden in the site shell script). Here is a another example:
194
195 /bin/bash ./configure CONFIG_SHELL=/bin/bash
196
197Here the `CONFIG_SHELL=/bin/bash' operand causes subsequent
198configuration-related scripts to be executed by `/bin/bash'.
199
200`configure' Invocation
201======================
202
203`configure' recognizes the following options to control how it operates.
204
205`--help'
206`-h'
207 Print a summary of the options to `configure', and exit.
208
209`--version'
210`-V'
211 Print the version of Autoconf used to generate the `configure'
212 script, and exit.
213
214`--cache-file=FILE'
215 Enable the cache: use and save the results of the tests in FILE,
216 traditionally `config.cache'. FILE defaults to `/dev/null' to
217 disable caching.
218
219`--config-cache'
220`-C'
221 Alias for `--cache-file=config.cache'.
222
223`--quiet'
224`--silent'
225`-q'
226 Do not print messages saying which checks are being made. To
227 suppress all normal output, redirect it to `/dev/null' (any error
228 messages will still be shown).
229
230`--srcdir=DIR'
231 Look for the package's source code in directory DIR. Usually
232 `configure' can determine that directory automatically.
233
234`configure' also accepts some other, not widely useful, options. Run
235`configure --help' for more details.
236
diff --git a/Prebuild/NEWS b/Prebuild/NEWS
deleted file mode 100644
index bea28da..0000000
--- a/Prebuild/NEWS
+++ /dev/null
@@ -1,200 +0,0 @@
1Prebuild 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, MonoDevelop, and NAnt.
2
3Documentation and downloads are available at http://dnpb.sourceforge.net.
4
5Prebuild is licensed under the BSD license.
6
7[ XXXXXXX XX, XXX - 1.3.2 ]
8 + Added Keyfile signing to NAnt target and VS2005 target
9 + Updated XSD file to 1.7
10 + Boo and VisualBasic Language support in VS2005 target
11 + Added basic Autotools target. It creates a non-recursive Autotools system.
12 ! Multiple files can be excluded from the Match node
13 ! VS2005 now handles .resx files correctly.
14 ! NAnt and Autotools now handle defines
15 ! NAnt and Autotools now handle resources
16 + Conditional XML variables can be passed through the command line.
17 + Added /install and /remove command line flags to install and remove assemblies from the GAC
18 + Many fixes to VS2005 target
19
20[ July 21, 2006 - 1.3.1 ]
21 ! VS2005 fixes from Rob Loach
22 ! NAnt fixes from Rob Loach and David Hudson
23 ! XML doc fixes from Rob Loach
24 + Added SharpDevelop2 target (really just uses VS2005 target)
25 ! Fixed bug with BuildEvents in Monodevelop target
26 + Passing /yes will default to answering yes to any warnings
27
28[ February 28, 2006 - 1.3 ]
29 + Added MonoDevelop target.
30 + Added NAnt target.
31 + Lots of fixes to all targets.
32 * Cleaned up the code using FXCop.
33 * Updated schema to 1.6 to fix a typo and add a new parameter.
34 * jendave is now the maintainer of the project. RobLoach has been added as a developer.
35 * Removed references to 'dnpb'.
36 + Added rudimentary support for pre- and post- build scripts
37 * Updated examples.
38
39[ August 5, 2004 - 1.2 ]
40 + Added Visual Studio Express (vs2005express) target contributed by Borrillis and modified for use with different languages
41 + Added the allowedgroups command line option 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
42 + Added the filterGroups XML attribute to the project node and updated the scheme to v1.5 for this addition, it is used to specified the delimited list of filter groups to which a project belongs
43 * Modified the removedir command line option to allow for a pipe-delimited list of directory names
44 ! Modified the resource loading code to search for resourced without the prepended namespace (as Visual Studio .NET does it) to allow for it to be compiled with SharpDevelop as well
45 + Added the GenerateXmlDocFile boolean option to the Options XML element
46 * Changed the behavior of the XmlDocFile option so that if not specified it uses the assemblyName (without file extension) + .xml for the file name instead of just not generating the file since the new GenerateXmlDocFile takes care of this
47
48[ January 3, 2004 - 1.1 ]
49 ! Replaced regex use for more efficient manual parsing to allow use on non-windows platforms with Mono which has Regex problems
50 + Added the checkOsVars attribute to the root element for enabling interpolation for Enviroment variables in the form ${var}, otherwise no checking is performed for efficiency-sake
51 * Make the version attribute on the root element optional as it isn't used and not needed since the schema url contains the version
52
53[ December 30, 2004 - 1.1 ]
54 ! Applied Leed's fix for SharpDevelop references
55 + Rewrote much of the processing for better validation and without the use of a temp file
56 + Added support for configurations at the project level which are named All. They now apply changes to all Solution level defined configs
57 * Changed all spaces into tabs
58 + Added support for the None build action
59 * Replaced all sequence's in the XML schema for all's because the order doesn't matter since the xml file is loaded into an XmlDocument
60
61[ December 25, 2004 - 1.0 ]
62 + Added the /removedir option for cleaning directories like obj before file releases
63 + Changed WriteTempXml() and the new DeleteTempXml() methods to be compiled only in DEBUG builds
64 * Made path optional for Match elements (defaults to current directory) and updates schema for it
65 ! Fixed XML example in the readme.txt
66 + Added example xml files to docs directory
67 * Updated license.txt to add Dan Moorehead and update copyright years
68 + Updated prebuild.xml to take advantage of the default path attribute for match elements
69 + Updated Clean to delete the obj directories
70
71[ December 25, 2004 - 0.13 ]
72 + Added dnpb.exe so that it can be used to generate the project files
73 + Added dnpb.ico
74 * Added parameterless Write statement to Log for writing a single line
75 * Changed scehema to version 1.3 for support of icon attribute
76 * Added support for All configuration name under a Project node signifying common settings for all configurations
77 ! Fixed the SupressWarnings by adding the corresponding field to OptionsNode
78 * Wrote documentation in docs/readme.txt
79 * Added Dan Moorehead to copyrights and extended date from 2004 to 2004-2005
80 * Updated prebuild.xml
81 * Optimized Log class
82 * Updated OutputUsage()
83 * /clean targets all by default
84 * No log file is used by default, /log without value specified uses default file name
85 + Added support for the /pause which pauses the utility after execution to observe output
86
87
88[ September 27, 2004 - 0.12.2a ]
89 ! Fixed a nasty bug when trying to delete our temp file for pre-processing.
90
91[ September 15, 2004 - 0.12.2 ]
92 + Expanded platform identification, thanks to the NAnt guys for shedding some
93 light on how to properly check for UNIX platforms! Thanks guys!
94 * POSIX OS identifier changed to UNIX. Valid OS names are now "Win32", "UNIX",
95 and "Unknown".
96 ! Fixed SharpDevelop target to properly use the 'rootNamespace' attribute of
97 the Project tag.
98 + New command-line switch, /ppo, forces DNPB to pre-process the file and write
99 the pre-processed file. This allows you to test/debug your pre-processor
100 macros. No other processing will be done. You can specify a target file as
101 a paramter for the /ppo switch, or DNPB will write the file 'preprocessed.xml'
102 if you do not specify a file.
103 + The Match tag now has a 'buildAction' attribute which functions exactly like
104 the attribute of the same name for the File tag.
105
106[ August 5, 2004 - 0.12.1 ]
107 + Added environment variable expansion for all values. Environment variables
108 should be listed in the form ${VAR}.
109
110[ July 30, 2004 - 0.12.0 ]
111 + Added preprocessing via XML processing information tags. Available tags
112 are: <?if <exp> ?>, <?elseif <exp> ?>, <?else ?> and <?endif ?>. The
113 current expression parser is very basic, but will be replaced with a more
114 capable parser over time. Current operators available are: =, !=, <, >,
115 <=, >=. Current test variables available: OS, RuntimeVersion, RuntimeMajor,
116 RuntimeMinor, RuntimeRevision.
117
118[ July 27, 2004 - 0.11.4 ]
119 + Added 'useRegex' attribute to the Match tag. Matches can now use regular
120 expressions to match filenames.
121 + Added the 'assemblyName' attribute to the Project tag. Projects can now
122 set their output assembly name.
123 ! Fixed several bugs in the way that Project tags inheirt their parent
124 Solutions configuration options. This operation should now work fully as
125 intended.
126 ! Due to some wierdness, Project Guid's are now stored as part of the Project
127 node and created at parse time.
128
129[ May 11, 2004 - 0.11.3 ]
130 ! Fixed a bug where I was writing the wrong property name for a projects root
131 namespace.
132 ! Removed a DEBUG statement I had left in the code in 0.11.2.
133 ! Fixed a bug in the VS2002 writer which caused the version variables to not
134 be overriden correctly.
135 + Added the rootNamespace property to the <Project> element, allowing you to
136 specify the root namespace.
137 * /target and /clean are now mutually exclusive command line switches, and
138 they both now take the all option. In the case of /target all, all build
139 file for all targets will be created. In the case of /clean all, the user
140 will be prompted to make sure they want to do it, and if so, will clean
141 all build files for all targets.
142
143[ April 22, 2004 - 0.11.2 ]
144 ! Fixed a bug with the /file command-line operator. Was using the unresolved
145 file path rather then the resolved one, was making the attempt to open the
146 dnpb file fail.
147 ! Fixed a bug in the schema that required at least 1 solution and 1 reference
148 path. We can do just fine with 0 of either of these. Some files may be all
149 <Process> statements and not have any <Solution> tags.
150 ! Fixed a bug that caused the project references not to be written with the
151 SharpDevelop target.
152 * Changed the schema to version 1.2, allowing for Configuration nodes to exist
153 under project nodes. The inheritance of values is hierarchical. Meaning, if
154 you define a configuration named Debug at the Soltion level, and one by the
155 same name at the Project level, the one at the Project level will first
156 inherit the options of the Solution level configuration, then set it's own
157 options. If you define a configuration at the Project level and it does not
158 exist at the Solution level, it will be created at the Solution level.
159 * Project references should now work correctly across the board. Note that due
160 to a restriction in Visual Studio, you can only reference projects in the same
161 solution.
162
163[ April 21, 2004 - 0.11.1 ]
164 ! Fixed a problem with resolving paths in various targets. Was not properly
165 setting the CWD.
166 * Schema updated to 1.1, moving the ReferencePath element from the Options
167 element to the Project element. This makes more logical sense, given that
168 reference paths are resolved relative to the project path. Any prebuild.xml
169 file referecning verison 1.0 will fail! Please update to the 1.1 schema.
170
171[ April 19, 2004 - 0.11.0 ]
172 * Added several attributes across the code to make FxCop happy
173 ! Fixed bugs in reference paths being written in the VS targets.
174 ! Fixed a bug in ProjectNode which was doing two CWDStack.Push() calls instead of
175 a Push/Pop pair. Was wreaking havoc with <Process> tags.
176 ! Fixed some bugs in the path tracking, both the Project and Solution nodes now
177 have a FullPath property, which is the full path to the file resolved at load
178 time. This should fix all path relativity problems.
179 + Added new /clean switch, allowing the target to clean up any files it generated.
180 in accordance, the ITarget interface has been updated to support a new Clean()
181 method.
182 + Completed addition of the <Process> tag, to allow the referencing of external
183 prebuild.xml files.
184 + Added the runtime attribute to the Project element. This allows the developer
185 to specify which runtime a project should target (Mono or Microsoft). This is
186 of course ignored in certain targets like the Visual Studio targets.
187 + Added the SharpDevelop target.
188
189[ April 13, 2004 - 0.10.1a ]
190 + Added the buildAction attribute to the File node. This is needed for dnpb
191 to even be able to bootstrap itself (dnpb-1.0.xsd must be an embedded resource)
192
193[ April 13, 2004 - 0.10.1 ]
194 * First Release
195
196[ Key ]
197* = Change or information
198+ = Addition
199! = Bug Fix
200
diff --git a/Prebuild/README b/Prebuild/README
deleted file mode 100644
index e8a2d69..0000000
--- a/Prebuild/README
+++ /dev/null
@@ -1,274 +0,0 @@
1Prebuild Instructions
2
3Prebuild 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
5_______________________________________________________________________________
6Overview
7
8Prebuild can be either be run from the command line to generate the
9project and make files or you can execute the included batch (*.bat)
10and Unix Shell script (*.sh) files.
11
12_______________________________________________________________________________
13The currently supported developement tools and their associated batch
14and shell script files.
15
16Visual Studio .NET 2005 (VS2005.bat)
17Visual Studio .NET 2003 (VS2003.bat)
18Visual Studio .NET 2002 (VS2002.bat)
19SharpDevelop (SharpDevelop.bat) - http://www.icsharpcode.net/OpenSource/SD/
20SharpDevelop2 (SharpDevelop.bat) - http://www.icsharpcode.net/OpenSource/SD/
21MonoDevelop (MonoDevelop.sh) - http://www.monodevelop.com/
22NAnt (nant.sh and nant.bat) - http://nant.sourceforge.net/
23Autotools (autotools.bat and autotools.sh) - http://en.wikipedia.org/wiki/GNU_build_system
24
25Notes:
26
27A Unix Shell script is provided for MonoDevelop, as it does not run on
28Windows at this time.
29
30Visual Studio .NET 2005 and the Visual Express IDE's can import
31solutions from older versions of Visual Studio .NET.
32
33Makefiles are not currently supported.
34
35_______________________________________________________________________________
36Command Line Syntax:
37
38Example:
39> Prebuild /target vs2003
40
41This will generate the project files for Visual Studio.NET 2003 and
42place the redirect the log to a file named PrebuildLog.txt in the
43parent directory
44
45
46The syntax structure is as below, where commandParameter is optional
47depending on the command and you can provide several option-value
48pairs.
49
50Note: The '> ' signifies the command prompt, do not enter this literally
51
52> Prebuild /<option> <commandParameter>
53
54> Prebuild /target vs2003 /pause
55
56> Prebuild /target vs2003 /log ../Log.txt /pause /ppo /file ProjectConfig.xml
57
58> Prebuild /target sharpdev /log
59
60> Prebuild /removedir obj|bin
61
62> Prebuild /target vs2003 /allowedgroups Group1|Group2
63
64> Prebuild /clean
65
66> Prebuild /clean /yes
67
68> Prebuild /clean vs2003
69
70_______________________________________________________________________________
71Command Line Options:
72
73/usage - Shows the help information on how to use Prebuild and what
74the different options are and what they do
75
76/clean - The project files generated for the target type specified as
77a parameter for this option will be deleted. If no value is specified
78or if 'all' is specified, then project files for all the target types
79will be deleted.
80
81/target - Specified the name of the development tool for which project
82or make files will be generated. Possible parameter values include:
83vs2003, vs2002, sharpdev
84
85/file - Specifies the name of the XML which defines what files are to
86be referenced by the generated project files as well as configures the
87options for them. If not specified, prebuild.xml in the current
88directory will be used as the default.
89
90/log - Specified the log file that should be written to for build
91errors. If this option is not specified, no log file is generated,
92but if just no value is specified, then the defaul filename will be
93used for the log (Prebuild.log).
94
95/ppo - Preprocesses the xml file to test for syntax errors or problems
96but doesn't generate the files
97
98/pause - Shows the console until you press a key so that you can view
99the messages written while performing the specified actions.
100
101This allows you to check if an errors occurred and - if so - what it
102was.
103
104/showtargets - Shows a list of all the targets that can be specified
105as values for the /clean and /target commands.
106
107/allowedgroups - This is followed by a pipe-delimited list of project
108group filter flags (eg. Group1|Group2) allow optional filtering of all
109projects that dont have at least one of these flags
110
111/removedir - This is followed by a pipe-delimited list of directory
112names that will be deleted while recursivly searching the directory of
113the prebuild application and its child directories (eg. use obj|bin to
114delete all output and temporary directories before file releases)
115
116/yes - Answer yes to any warnings (e.g. when cleaning all projects).
117
118_______________________________________________________________________________
119Example Batch Files and Shell Scripts
120
121NOTE: Common batch and shell script files are included with Prebuild source and file releases.
122______________________________
123MonoDevelop
124
125#!/bin/sh
126# Generates a solution (.mds) and a set of project files (.mdp)
127
128# for MonoDevelop, a Mono port of SharpDevelop
129# (http://icsharpcode.net/OpenSource/SD/Default.aspx)
130
131./Prebuild /target monodev /pause
132
133______________________________
134Visual Studio .NET 2003
135
136@rem Generates a solution (.sln) and a set of project files (.csproj)
137@rem for Microsoft Visual Studio .NET 2002
138Prebuild /target vs2003 /pause
139
140Notes:
141Text after lines that start with @rem are comments and are not evaluated
142You can also place pause on the last line instead of specifing the /pause command.
143
144_______________________________________________________________________________
145Example XML Configuration File
146
147Note:
148
149XML Comments (<!-- Comment -->) are used to markup the prebuild.xml
150file with notes
151
152The below file may be out-of-date, however the RealmForge Prebuild
153file serves as an up-to-date and extensive example.
154
155It can be viewed using Tigris.org's WebSVN
156(http://realmforge.tigris.org/source/browse/realmforge/trunk/src/prebuild.xml)
157by just clicking on the "view file" link for the latest revision.
158
159_________________________________
160
161<?xml version="1.0" encoding="utf-8"?>
162 <!--The version of the XML schema specified in the version and xmlns attributes should match the one for which the version of Prebuild.exe used was compiled for. In this example it is the version 1.3 schema, you can find the XSD schema file at the url specified in the xmlns attribute. -->
163<Prebuild version="1.6" xmlns="http://dnpb.sourceforge.net/schemas/prebuild-1.6.xsd">
164 <Solution name="RealmForge"> <!--The title and file name for the solution, combine, workspace, or project group (depending on what development tool you are using)-->
165 <!--Configurations found as children of Solution are used as templates for the configurations found in the project, this allows you to avoid writing the same options in each project (and maintaining each of these). You can provide defaults and then override them in the configurations defined for each project. All options are optional.-->
166 <Configuration name="Debug">
167 <Options>
168 <!-- simple logically expressions can be evaluated, if, else, elseif, and endif are valid statements. Note that it is not neccisary to define POSIX or WIN32 -->
169 <?if OS = "Win32" ?>
170 <CompilerDefines>DEBUG;TRACE;WIN32</CompilerDefines>
171 <?else ?>
172 <CompilerDefines>DEBUG;TRACE;POSIX</CompilerDefines>
173 <?endif ?>
174 <OptimizeCode>false</OptimizeCode>
175 <CheckUnderflowOverflow>false</CheckUnderflowOverflow>
176 <AllowUnsafe>false</AllowUnsafe>
177 <WarningLevel>4</WarningLevel>
178 <!-The filter for the number of warnings or errors shown and the tolerance level as to what is an error. This is value from 0 to 4 where 4 is the most strict (least tolerent).-->
179
180 <WarningsAsErrors>false</WarningsAsErrors>
181 <SuppressWarnings>1591;219;1573;1572;168</SuppressWarnings>
182 <!-- A semicolon ';' delimited list of the warnings that are filtered and not shown in the output window during compiling a project. Only include the number portion of the warning codes that are shown in output during compilation (eg CS1591, should be entered as 1591)-->
183
184 <OutputPath>..\bin</OutputPath>
185 <DebugInformation>true</DebugInformation>
186 <RegisterComInterop>false</RegisterComInterop>
187 <IncrementalBuild>true</IncrementalBuild>
188 <BaseAddress>285212672</BaseAddress>
189 <FileAlignment>4096</FileAlignment>
190 <NoStdLib>false</NoStdLib>
191 <XmlDocFile>Docs.xml</XmlDocFile>
192 </Options>
193 </Configuration>
194 <Configuration name="Release"> <!-- You can define multple configurations that projects can have, but there is no way to define which one is selected by default as this is a part of the user preferences for a project, not the solution or project files -->
195 <Options>
196 <CompilerDefines>TRACE</CompilerDefines>
197 <OptimizeCode>true</OptimizeCode>
198 <CheckUnderflowOverflow>false</CheckUnderflowOverflow>
199 <AllowUnsafe>false</AllowUnsafe>
200 <WarningLevel>4</WarningLevel>
201 <WarningsAsErrors>false</WarningsAsErrors>
202 <SuppressWarnings>1591;219;1573;1572;168</SuppressWarnings>
203 <OutputPath>..\bin</OutputPath>
204 <DebugInformation>false</DebugInformation>
205 <RegisterComInterop>false</RegisterComInterop>
206 <IncrementalBuild>true</IncrementalBuild>
207 <BaseAddress>285212672</BaseAddress>
208 <FileAlignment>4096</FileAlignment>
209 <NoStdLib>false</NoStdLib>
210 <GenerateXmlDocFile>true</GenerateXmlDocFile>
211 <XmlDocFile>Docs.xml</XmlDocFile>
212 </Options>
213 </Configuration>
214
215 <!-- One of the projects that is included in the Solution -->
216 <Project name="RealmForge.Utility" Language="VisualBasic" path="Utility" type="Library" assemblyName="RealmForge.Utility" rootNamespace="RealmForge">
217 <Configuration name="Debug">
218 <Options>
219 <OutputPath>..\bin\lib\Utility</OutputPath>
220 <XmlDocFile>RealmForge.Utility.xml</XmlDocFile>
221 </Options>
222 </Configuration>
223 <Configuration name="Release">
224 <Options>
225 <OutputPath>..\bin\lib\Utility</OutputPath>
226 <XmlDocFile>RealmForge.Utility.xml</XmlDocFile>
227 </Options>
228 </Configuration>
229 <ReferencePath>../bin</ReferencePath>
230 <Reference name="System"/>
231 <Reference name="System.Data"/>
232 <Reference name="System.Drawing"/>
233 <Reference name="System.Xml"/>
234 <Reference name="System.Runtime.Serialization.Formatters.Soap"/>
235 <Reference name="ICSharpCode.SharpZipLib"/>
236 <Files>
237 <Match path="." pattern="*.vb" recurse="true"/>
238 </Files>
239 </Project>
240
241 <!-- Another projects that is included in the Solution -->
242 <Project name="DemoGame" Language="C#" path="DemoGame" type="WinExe" icon="..\bin\RealmForge.ico" assemblyName="DemoGame" rootNamespace="RealmForge">
243 <!-- icon is used to define the location of the .ico file that is embeeded in the assembly when the project is compiled. This is relative to the project path -->
244 <!--type defines the type of project, valid types are Library (.dll), WinExe (.exe), and Exe (.exe). WinExe is not windows specific, it just defines that it is a GUI application and that no Console or Command window will show when it is started-->
245
246 <Configuration name="Debug">
247 <Options>
248 <OutputPath>..\bin</OutputPath>
249 <XmlDocFile>DemoGame.xml</XmlDocFile>
250 </Options>
251 </Configuration>
252 <Configuration name="Release">
253 <Options>
254 <OutputPath>..\bin</OutputPath>
255 <XmlDocFile>DemoGame.xml</XmlDocFile>
256 </Options>
257 </Configuration>
258 <ReferencePath>../bin</ReferencePath>
259 <Reference name="System"/> <!-- Assemblies that are located in the GAC (installed, global) can be referenced-->
260 <Reference name="ode"/> <!-- Assemblies that are located in the output directory to which the file is built can be referenced -->
261 <Reference name="RealmForge.Utility"/> <!-- When you reference the name of another project, then that project (and it's output) will be referenced instead of looking for a pre-built assembly-->
262 <Files>
263 <Match path="." pattern="*.cs" recurse="true"/>
264 <Match path="." pattern="*.bmp" recurse="true" buildAction="EmbeddedResource"/>
265 <Match path="." pattern="[^a]*\.(png|jpg)" useRegex="true" buildAction="EmbeddedResource"/>
266
267 <!-- Uses a regex or regular expression to find all files that end with .png or .jpg but dont have the letter 'a' in their name and add them to the project as EmbeddedResource's. Because recurse enabled (default is false), only the values in the files in that are directly in the project directory (not child directories) are checked.-->
268 <!--EmbeddedResource, Content, and Compile are valid buildAction's-->
269 </Files>
270 </Project>
271
272 </Solution>
273</Prebuild>
274
diff --git a/Prebuild/THANKS b/Prebuild/THANKS
deleted file mode 100644
index 576467c..0000000
--- a/Prebuild/THANKS
+++ /dev/null
@@ -1,18 +0,0 @@
1Gryc Ueusp <gryc.ueusp@gmail.com>
2
3 caught a problem with the NAnt target's .build output which caused
4 the Ubuntu build servers to choke on prebuild-generated packages
5
6Todd Berman <tberman@sevenl.net>
7Lluis Sanchez Gual <lluis@novell.com>
8
9 pkg-config .pc file parser used in AutotoolsTarget.cs was ripped off
10 from work contributed to MonoDevelop by Lluis and Todd. It came
11 from
12
13src/core/MonoDevelop.Core/MonoDevelop.Core/SystemPackage.cs (Lluis)
14
15 and
16
17src/core/MonoDevelop.Core/MonoDevelop.Core/SystemAssemblyService.cs
18 (Lluis && Todd)
diff --git a/Prebuild/TODO b/Prebuild/TODO
deleted file mode 100644
index 33b19a1..0000000
--- a/Prebuild/TODO
+++ /dev/null
@@ -1,43 +0,0 @@
1* monodev target should be able to detect whether the project is 1.x
2 or 2.x runtime
3
4* remove target which links ../project/foo.dll to each project's build
5 root
6
7* generate .config files
8
9* Fix the autotools target so that
10sub generate_project_files { ... }
11sub generate_solution_files { ... }
12sub generate_multi_solution_files { ... }
13sub generate_project {
14 ...
15 generate_project_files();
16}
17sub generate_solution {
18 foreach $project ( @projects ){
19 mkdir "$project/";
20 pushd "$project/";
21 generate_project();
22 popd;
23 }
24 generate_solution_files();
25}
26sub generate_multi_solution {
27 foreach $solution ( @solutions ){
28 mkdir "$solution/";
29 pushd "$solution/";
30 generate_solution();
31 popd;
32 }
33 generate_multi_solution_files();
34}
35
36if(numProjects == 1){
37 generate_project();
38}elsif(numSolutions == 1){
39 generate_solution();
40}else{
41 generate_multi_solution();
42}
43
diff --git a/Prebuild/prebuild b/Prebuild/prebuild
deleted file mode 100644
index 0dc648d..0000000
--- a/Prebuild/prebuild
+++ /dev/null
@@ -1,2 +0,0 @@
1#!/bin/sh
2exec mono [PREFIX]/prebuild.exe "$@"