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/src/data | |
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 '')
-rw-r--r-- | Prebuild/src/data/autotools.xml | 790 | ||||
-rw-r--r-- | Prebuild/src/data/prebuild-1.7.xsd | 480 |
2 files changed, 1036 insertions, 234 deletions
diff --git a/Prebuild/src/data/autotools.xml b/Prebuild/src/data/autotools.xml new file mode 100644 index 0000000..ee4b064 --- /dev/null +++ b/Prebuild/src/data/autotools.xml | |||
@@ -0,0 +1,790 @@ | |||
1 | <?xml version="1.0" encoding="utf-8" ?> | ||
2 | <Autotools> | ||
3 | <ProjectAutogenSh> | ||
4 | <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" | ||
5 | xmlns:dnpb="http://dnpb.sourceforge.net/schemas/prebuild-1.7.xsd" | ||
6 | exclude-result-prefixes="dnpb" | ||
7 | > | ||
8 | <xsl:template match="/"><xsl:text disable-output-escaping="yes">#!/bin/sh | ||
9 | # Run this to generate all the initial makefiles, etc. | ||
10 | # Ripped off from Mono, which ripped off from GNOME macros version | ||
11 | |||
12 | DIE=0 | ||
13 | |||
14 | srcdir=`dirname $0` | ||
15 | test -z "$srcdir" && srcdir=. | ||
16 | |||
17 | if [ -n "$MONO_PATH" ]; then | ||
18 | # from -> /mono/lib:/another/mono/lib | ||
19 | # to -> /mono /another/mono | ||
20 | for i in `echo ${MONO_PATH} | tr ":" " "`; do | ||
21 | i=`dirname ${i}` | ||
22 | if [ -n "{i}" -a -d "${i}/share/aclocal" ]; then | ||
23 | ACLOCAL_FLAGS="-I ${i}/share/aclocal $ACLOCAL_FLAGS" | ||
24 | fi | ||
25 | if [ -n "{i}" -a -d "${i}/bin" ]; then | ||
26 | PATH="${i}/bin:$PATH" | ||
27 | fi | ||
28 | done | ||
29 | export PATH | ||
30 | fi | ||
31 | |||
32 | (autoconf --version) < /dev/null > /dev/null 2>&1 || { | ||
33 | echo | ||
34 | echo "**Error**: You must have \`autoconf' installed to compile Mono." | ||
35 | echo "Download the appropriate package for your distribution," | ||
36 | echo "or get the source tarball at ftp://ftp.gnu.org/pub/gnu/" | ||
37 | DIE=1 | ||
38 | } | ||
39 | |||
40 | if [ -z "$LIBTOOL" ]; then | ||
41 | LIBTOOL=`which glibtool 2>/dev/null` | ||
42 | if [ ! -x "$LIBTOOL" ]; then | ||
43 | LIBTOOL=`which libtool` | ||
44 | fi | ||
45 | fi | ||
46 | |||
47 | (grep "^AM_PROG_LIBTOOL" $srcdir/configure.ac >/dev/null) && { | ||
48 | ($LIBTOOL --version) < /dev/null > /dev/null 2>&1 || { | ||
49 | echo | ||
50 | echo "**Error**: You must have \`libtool' installed to compile Mono." | ||
51 | echo "Get ftp://ftp.gnu.org/pub/gnu/libtool-1.2d.tar.gz" | ||
52 | echo "(or a newer version if it is available)" | ||
53 | DIE=1 | ||
54 | } | ||
55 | } | ||
56 | |||
57 | grep "^AM_GNU_GETTEXT" $srcdir/configure.ac >/dev/null && { | ||
58 | grep "sed.*POTFILES" $srcdir/configure.ac >/dev/null || \ | ||
59 | (gettext --version) < /dev/null > /dev/null 2>&1 || { | ||
60 | echo | ||
61 | echo "**Error**: You must have \`gettext' installed to compile Mono." | ||
62 | echo "Get ftp://alpha.gnu.org/gnu/gettext-0.10.35.tar.gz" | ||
63 | echo "(or a newer version if it is available)" | ||
64 | DIE=1 | ||
65 | } | ||
66 | } | ||
67 | |||
68 | (automake --version) < /dev/null > /dev/null 2>&1 || { | ||
69 | echo | ||
70 | echo "**Error**: You must have \`automake' installed to compile Mono." | ||
71 | echo "Get ftp://ftp.gnu.org/pub/gnu/automake-1.3.tar.gz" | ||
72 | echo "(or a newer version if it is available)" | ||
73 | DIE=1 | ||
74 | NO_AUTOMAKE=yes | ||
75 | } | ||
76 | |||
77 | # if no automake, don't bother testing for aclocal | ||
78 | test -n "$NO_AUTOMAKE" || (aclocal --version) < /dev/null > /dev/null 2>&1 || { | ||
79 | echo | ||
80 | echo "**Error**: Missing \`aclocal'. The version of \`automake'" | ||
81 | echo "installed doesn't appear recent enough." | ||
82 | echo "Get ftp://ftp.gnu.org/pub/gnu/automake-1.3.tar.gz" | ||
83 | echo "(or a newer version if it is available)" | ||
84 | DIE=1 | ||
85 | } | ||
86 | |||
87 | if test "$DIE" -eq 1; then | ||
88 | exit 1 | ||
89 | fi | ||
90 | |||
91 | if test -z "$NOCONFIGURE"; then | ||
92 | |||
93 | if test -z "$*"; then | ||
94 | echo "**Warning**: I am going to run \`configure' with no arguments." | ||
95 | echo "If you wish to pass any to it, please specify them on the" | ||
96 | echo \`$0\'" command line." | ||
97 | echo | ||
98 | fi | ||
99 | |||
100 | fi | ||
101 | |||
102 | case $CC in | ||
103 | xlc ) | ||
104 | am_opt=--include-deps;; | ||
105 | esac | ||
106 | |||
107 | |||
108 | if grep "^AM_PROG_LIBTOOL" configure.ac >/dev/null; then | ||
109 | if test -z "$NO_LIBTOOLIZE" ; then | ||
110 | echo "Running libtoolize..." | ||
111 | ${LIBTOOL}ize --force --copy | ||
112 | fi | ||
113 | fi | ||
114 | |||
115 | echo "Running aclocal $ACLOCAL_FLAGS ..." | ||
116 | aclocal $ACLOCAL_FLAGS || { | ||
117 | echo | ||
118 | echo "**Error**: aclocal failed. This may mean that you have not" | ||
119 | echo "installed all of the packages you need, or you may need to" | ||
120 | echo "set ACLOCAL_FLAGS to include \"-I \$prefix/share/aclocal\"" | ||
121 | echo "for the prefix where you installed the packages whose" | ||
122 | echo "macros were not found" | ||
123 | exit 1 | ||
124 | } | ||
125 | |||
126 | if grep "^AM_CONFIG_HEADER" configure.ac >/dev/null; then | ||
127 | echo "Running autoheader..." | ||
128 | autoheader || { echo "**Error**: autoheader failed."; exit 1; } | ||
129 | fi | ||
130 | |||
131 | echo "Running automake --gnu $am_opt ..." | ||
132 | automake --add-missing --gnu $am_opt || | ||
133 | { echo "**Error**: automake failed."; exit 1; } | ||
134 | echo "Running autoconf ..." | ||
135 | autoconf || { echo "**Error**: autoconf failed."; exit 1; } | ||
136 | |||
137 | conf_flags="--enable-maintainer-mode --enable-compile-warnings" #--enable-iso-c | ||
138 | |||
139 | if test x$NOCONFIGURE = x; then | ||
140 | echo Running $srcdir/configure $conf_flags "$@" ... | ||
141 | $srcdir/configure $conf_flags "$@" \ | ||
142 | && echo Now type \`make\' to compile $PKG_NAME || exit 1 | ||
143 | else | ||
144 | echo Skipping configure process. | ||
145 | fi | ||
146 | </xsl:text> | ||
147 | </xsl:template> | ||
148 | </xsl:stylesheet> | ||
149 | </ProjectAutogenSh> | ||
150 | |||
151 | <ProjectConfigureAc> | ||
152 | <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" | ||
153 | xmlns:dnpb="http://dnpb.sourceforge.net/schemas/prebuild-1.7.xsd" | ||
154 | exclude-result-prefixes="dnpb" | ||
155 | xml:space="preserve" | ||
156 | > | ||
157 | <!-- Removes the xml version header in the generated file --> | ||
158 | <xsl:output method="text"/> | ||
159 | <xsl:param name="solutionName" /> | ||
160 | <xsl:param name="projectName" /> | ||
161 | <xsl:param name="projectVersion" /> | ||
162 | <xsl:param name="assemblyName" /> | ||
163 | <xsl:variable name="lcProjectName"><xsl:value-of select="translate($projectName, 'ABCDEFGHIJKLMNOPQRSTUVWXYZ', 'abcdefghijklmnopqrstuvwxyz')"/></xsl:variable> | ||
164 | <xsl:template match="/"> | ||
165 | <xsl:for-each select="//dnpb:Solution[@name=$solutionName]/dnpb:Project[@name=$projectName]" | ||
166 | >AC_INIT([<xsl:value-of select="$projectName" />],[<xsl:value-of select="$projectVersion" />]) | ||
167 | |||
168 | AC_PREREQ(2.60) | ||
169 | AC_CANONICAL_SYSTEM | ||
170 | AC_CONFIG_AUX_DIR(.) | ||
171 | AM_INIT_AUTOMAKE([1.9 tar-ustar foreign]) | ||
172 | AM_MAINTAINER_MODE | ||
173 | dnl AC_PROG_INTLTOOL([0.25]) | ||
174 | AC_PROG_INSTALL | ||
175 | |||
176 | ASSEMBLY_NAME=<xsl:value-of select="$assemblyName" /> | ||
177 | PROJECT_NAME=<xsl:value-of select="$projectName" /> | ||
178 | PROJECT_VERSION=$VERSION | ||
179 | PROJECT_DESCRIPTION="<xsl:value-of select="dnpb:Description/text()" />" | ||
180 | PROJECT_TYPE="<xsl:value-of select="@type" />" | ||
181 | |||
182 | AC_SUBST(ASSEMBLY_NAME) | ||
183 | AC_SUBST(PROJECT_NAME) | ||
184 | AC_SUBST(PROJECT_VERSION) | ||
185 | AC_SUBST(DESCRIPTION) | ||
186 | |||
187 | AC_MSG_CHECKING([assembly type]) | ||
188 | case $PROJECT_TYPE in | ||
189 | *Exe) | ||
190 | ASSEMBLY_EXTENSION=exe | ||
191 | ;; | ||
192 | *Library) | ||
193 | ASSEMBLY_EXTENSION=dll | ||
194 | ;; | ||
195 | *) | ||
196 | AC_MSG_ERROR([*** Please add support for project type $PROJECT_TYPE to configure.ac checks!]) | ||
197 | ;; | ||
198 | esac | ||
199 | AC_MSG_RESULT([$PROJECT_TYPE]) | ||
200 | |||
201 | AC_SUBST(ASSEMBLY_EXTENSION) | ||
202 | |||
203 | AC_MSG_CHECKING([whether we're compiling from an RCS]) | ||
204 | if test -f "$srcdir/.cvs_version" ; then | ||
205 | from_rcs=cvs | ||
206 | else | ||
207 | if test -f "$srcdir/.svn/entries" ; then | ||
208 | from_rcs=svn | ||
209 | else | ||
210 | from_rcs=no | ||
211 | fi | ||
212 | fi | ||
213 | |||
214 | AC_MSG_RESULT($from_rcs) | ||
215 | |||
216 | MONO_REQUIRED_VERSION=1.1 | ||
217 | <xsl:text disable-output-escaping="yes"> | ||
218 | PKG_CHECK_MODULES(MONO_DEPENDENCY, mono >= $MONO_REQUIRED_VERSION, has_mono=true, has_mono=false) | ||
219 | </xsl:text> | ||
220 | if test "x$has_mono" = "xtrue"; then | ||
221 | AC_PATH_PROG(RUNTIME, mono, no) | ||
222 | AC_PATH_PROG(CSC, gmcs, no) | ||
223 | AC_PATH_PROG(RESGEN, resgen2, no) | ||
224 | if test `uname -s` = "Darwin"; then | ||
225 | LIB_PREFIX= | ||
226 | LIB_SUFFIX=.dylib | ||
227 | else | ||
228 | LIB_PREFIX=.so | ||
229 | LIB_SUFFIX= | ||
230 | fi | ||
231 | else | ||
232 | AC_PATH_PROG(CSC, csc.exe, no) | ||
233 | if test x$CSC = "xno"; then | ||
234 | AC_MSG_ERROR([You need to install either mono or .Net]) | ||
235 | else | ||
236 | RUNTIME= | ||
237 | LIB_PREFIX= | ||
238 | LIB_SUFFIX= | ||
239 | fi | ||
240 | fi | ||
241 | |||
242 | AC_PATH_PROG(GACUTIL, gacutil) | ||
243 | if test "x$GACUTIL" = "xno" ; then | ||
244 | AC_MSG_ERROR([No gacutil tool found]) | ||
245 | fi | ||
246 | |||
247 | GACUTIL_FLAGS='/package <xsl:value-of select="$assemblyName" /> /gacdir $(DESTDIR)$(prefix)/lib' | ||
248 | AC_SUBST(GACUTIL_FLAGS) | ||
249 | |||
250 | AC_SUBST(PATH) | ||
251 | AC_SUBST(LD_LIBRARY_PATH) | ||
252 | |||
253 | AC_SUBST(LIB_PREFIX) | ||
254 | AC_SUBST(LIB_SUFFIX) | ||
255 | AC_SUBST(RUNTIME) | ||
256 | AC_SUBST(CSC) | ||
257 | AC_SUBST(RESGEN) | ||
258 | AC_SUBST(GACUTIL) | ||
259 | |||
260 | AC_SUBST(BASE_DEPENDENCIES_CFLAGS) | ||
261 | AC_SUBST(BASE_DEPENDENCIES_LIBS) | ||
262 | |||
263 | dnl Find monodoc | ||
264 | MONODOC_REQUIRED_VERSION=1.0 | ||
265 | AC_SUBST(MONODOC_REQUIRED_VERSION) | ||
266 | <xsl:text disable-output-escaping="yes"> | ||
267 | PKG_CHECK_MODULES(MONODOC_DEPENDENCY, monodoc >= $MONODOC_REQUIRED_VERSION, enable_monodoc=yes, enable_monodoc=no) | ||
268 | </xsl:text> | ||
269 | if test "x$enable_monodoc" = "xyes"; then | ||
270 | AC_PATH_PROG(MONODOC, monodoc, no) | ||
271 | if test x$MONODOC = xno; then | ||
272 | enable_monodoc=no | ||
273 | fi | ||
274 | else | ||
275 | MONODOC= | ||
276 | fi | ||
277 | |||
278 | AC_SUBST(MONODOC) | ||
279 | AM_CONDITIONAL(ENABLE_MONODOC, test "x$enable_monodoc" = "xyes") | ||
280 | |||
281 | winbuild=no | ||
282 | case "$host" in | ||
283 | *-*-mingw*|*-*-cygwin*) | ||
284 | winbuild=yes | ||
285 | ;; | ||
286 | esac | ||
287 | AM_CONDITIONAL(WINBUILD, test x$winbuild = xyes) | ||
288 | |||
289 | <xsl:if test="@type='Exe' or @type='WinExe'">AC_CONFIG_FILES(<xsl:value-of select="$lcProjectName" />)</xsl:if> | ||
290 | <xsl:if test="@type='Library'">AC_CONFIG_FILES(<xsl:value-of select="$projectName" />.pc)</xsl:if> | ||
291 | |||
292 | AC_CONFIG_FILES(Makefile) | ||
293 | AC_OUTPUT | ||
294 | |||
295 | echo "===" | ||
296 | echo "" | ||
297 | echo "Project configuration summary" | ||
298 | echo "" | ||
299 | echo " * Installation prefix: $prefix" | ||
300 | echo " * compiler: $CSC" | ||
301 | echo " * Documentation: $enable_monodoc ($MONODOC)" | ||
302 | echo " * Project Name: $PROJECT_NAME" | ||
303 | echo " * Version: $PROJECT_VERSION" | ||
304 | echo "" | ||
305 | echo "===" | ||
306 | |||
307 | </xsl:for-each> | ||
308 | </xsl:template> | ||
309 | </xsl:stylesheet> | ||
310 | </ProjectConfigureAc> | ||
311 | |||
312 | <ProjectMakefileAm> | ||
313 | <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" | ||
314 | xmlns:dnpb="http://dnpb.sourceforge.net/schemas/prebuild-1.7.xsd" | ||
315 | exclude-result-prefixes="dnpb" | ||
316 | xml:space="preserve" | ||
317 | > | ||
318 | <xsl:param name="projectName" /> | ||
319 | <xsl:param name="solutionName" /> | ||
320 | <xsl:param name="assemblyName" /> | ||
321 | <xsl:variable name="lcProjectName"><xsl:value-of select="translate($projectName, 'ABCDEFGHIJKLMNOPQRSTUVWXYZ', 'abcdefghijklmnopqrstuvwxyz')"/></xsl:variable> | ||
322 | <xsl:param name="embeddedFiles" /> | ||
323 | <xsl:param name="compiledFiles" /> | ||
324 | <xsl:param name="contentFiles" /> | ||
325 | <xsl:param name="extraDistFiles" /> | ||
326 | <xsl:param name="pkgLibs" /> | ||
327 | <xsl:param name="binaryLibs" /> | ||
328 | <xsl:param name="systemLibs" /> | ||
329 | <xsl:param name="localCopyTargets" /> | ||
330 | <xsl:param name="hasAssemblyConfig" /> | ||
331 | |||
332 | <xsl:template match="/"> | ||
333 | <xsl:for-each select="//dnpb:Solution[@name=$solutionName]/dnpb:Project[@name=$projectName]"> | ||
334 | <xsl:variable name="lcType"><xsl:value-of select="translate(@type, 'ABCDEFGHIJKLMNOPQRSTUVWXYZ', 'abcdefghijklmnopqrstuvwxyz')" /></xsl:variable> | ||
335 | |||
336 | ASSEMBLY=$(ASSEMBLY_NAME).$(ASSEMBLY_EXTENSION) | ||
337 | <!-- | ||
338 | If the project is an application, create targets for the wrapper script | ||
339 | --> | ||
340 | <xsl:if test="@type='Exe' or @type='WinExe'"> | ||
341 | <xsl:value-of select="$lcProjectName" />dir = $(prefix)/lib/<xsl:value-of select="$lcProjectName" /> | ||
342 | <xsl:value-of select="$lcProjectName" />_DATA = $(ASSEMBLY)<xsl:if test="$hasAssemblyConfig='true'"> $(ASSEMBLY).config</xsl:if> | ||
343 | |||
344 | bin_SCRIPTS=<xsl:value-of select="$lcProjectName" /> | ||
345 | </xsl:if><xsl:if test="@type='Library'"> | ||
346 | pkgconfigdir = $(prefix)/lib/pkgconfig | ||
347 | pkgconfig_DATA = <xsl:value-of select="$projectName" />.pc | ||
348 | <xsl:if test="$hasAssemblyConfig='true'"> | ||
349 | <xsl:value-of select="translate($lcProjectName, '.', '_')" />dir = $(prefix)/lib/mono/<xsl:value-of select="$projectName" /> | ||
350 | <xsl:value-of select="translate($lcProjectName, '.', '_')" />_DATA = $(ASSEMBLY).config | ||
351 | </xsl:if> | ||
352 | noinst_DATA = $(ASSEMBLY) | ||
353 | </xsl:if> | ||
354 | |||
355 | PACKAGES =<xsl:value-of select="$pkgLibs" /> | ||
356 | BINARY_LIBS =<xsl:value-of select="$binaryLibs" /> | ||
357 | SYSTEM_LIBS =<xsl:value-of select="$systemLibs" /> | ||
358 | RESOURCES_SRC =<xsl:value-of select="$embeddedFiles" /> | ||
359 | RESOURCES = $(RESOURCES_SRC:.resx=.resources) | ||
360 | SOURCES =<xsl:value-of select="$compiledFiles" /> | ||
361 | |||
362 | EXTRA_DIST=$(SOURCES) $(BINARY_LIBS) $(RESOURCES_SRC) install-sh missing <xsl:value-of select="$extraDistFiles" /> | ||
363 | |||
364 | CLEANFILES=$(ASSEMBLY) | ||
365 | |||
366 | <xsl:value-of select="$localCopyTargets" /> | ||
367 | |||
368 | <xsl:for-each select="//dnpb:Solution[@name=$solutionName]/dnpb:Project[@name=$projectName]/dnpb:Configuration"> | ||
369 | <xsl:variable name="outputPath"><xsl:value-of select="dnpb:Options/dnpb:OutputPath/text()" /></xsl:variable> | ||
370 | <xsl:variable name="keyFile"><xsl:value-of select="dnpb:Options/dnpb:KeyFile/text()" /></xsl:variable> | ||
371 | <xsl:variable name="docFile"><xsl:value-of select="dnpb:Options/dnpb:XmlDocFile/text()" /></xsl:variable> | ||
372 | <xsl:value-of select="$outputPath"/>/$(ASSEMBLY): $(srcdir)/$(ASSEMBLY).response $(RESOURCES) $(SOURCES) $(BINARY_LIBS) <xsl:call-template name="substring-after-last-mod"><xsl:with-param name="input" select="$keyFile" /><xsl:with-param name="substr" select="'/'" /></xsl:call-template> | ||
373 | <xsl:if test="$docFile!=''">mkdir -p doc <xsl:text disable-output-escaping="yes">&&</xsl:text> </xsl:if>mkdir -p <xsl:value-of select="$outputPath" /> <xsl:text disable-output-escaping="yes">&&</xsl:text> $(CSC) /out:$@ \ | ||
374 | /target:<xsl:value-of select="$lcType" /> \<xsl:if test="$embeddedFiles!=''"> | ||
375 | $(addprefix /resource:$(srcdir)/, $(RESOURCES)) \</xsl:if><xsl:if test="$pkgLibs!=''"> | ||
376 | $(addprefix /pkg:, $(PACKAGES)) \</xsl:if><xsl:if test="$systemLibs!=''"> | ||
377 | $(addprefix /r:, $(SYSTEM_LIBS)) \</xsl:if><xsl:if test="$binaryLibs!=''"> | ||
378 | $(addprefix /r:$(srcdir)/, $(BINARY_LIBS)) \</xsl:if> | ||
379 | @$(srcdir)/$(ASSEMBLY).response \<xsl:if test="$docFile!=''"> | ||
380 | /doc:doc/<xsl:value-of select="$docFile" /> \</xsl:if><xsl:if test="$keyFile!=''"> | ||
381 | /keyfile:$(srcdir)/<xsl:call-template name="substring-after-last-mod"><xsl:with-param name="input" select="$keyFile" /><xsl:with-param name="substr" select="'/'" /></xsl:call-template> \</xsl:if><xsl:if test="dnpb:Options/dnpb:AllowUnsafe/text()='true'"> | ||
382 | /unsafe \</xsl:if><xsl:text disable-output-escaping="yes"> | ||
383 | && rm -f $(ASSEMBLY) \ | ||
384 | && ln $@ $(ASSEMBLY)</xsl:text> | ||
385 | |||
386 | CLEANFILES+=<xsl:value-of select="$outputPath"/>/$(ASSEMBLY) | ||
387 | |||
388 | <!-- if this project config has a KeyFile --> | ||
389 | <xsl:if test="$keyFile!=''">EXTRA_DIST+=<xsl:call-template name="substring-after-last-mod"><xsl:with-param name="input" select="$keyFile" /><xsl:with-param name="substr" select="'/'" /></xsl:call-template></xsl:if> | ||
390 | |||
391 | <xsl:value-of select="@name" />: <xsl:value-of select="$outputPath"/>/$(ASSEMBLY)<xsl:text disable-output-escaping="yes"> | ||
392 | rm -f $(ASSEMBLY) \ | ||
393 | &&</xsl:text> ln <xsl:value-of select="$outputPath"/>/$(ASSEMBLY) $(ASSEMBLY) | ||
394 | <!-- If the project is a library, create library-specific targets --> | ||
395 | <xsl:if test="//dnpb:Solution[@name=$solutionName]/dnpb:Project[@name=$projectName]/@type='Library'"> | ||
396 | <xsl:choose> | ||
397 | <!-- | ||
398 | If the project has a keyfile, make a gac install/uninstall target | ||
399 | --> | ||
400 | <xsl:when test="dnpb:Options/dnpb:KeyFile/text()!=''"> | ||
401 | <xsl:value-of select="@name" />_install-data-local: <xsl:value-of select="$outputPath"/>/$(ASSEMBLY) | ||
402 | echo "$(GACUTIL) /i $(ASSEMBLY) /f $(GACUTIL_FLAGS)"; \ | ||
403 | $(GACUTIL) /i $(ASSEMBLY) /f $(GACUTIL_FLAGS) || exit 1; | ||
404 | |||
405 | <xsl:value-of select="@name" />_uninstall-local: | ||
406 | if [`gacutil -l <xsl:value-of select="$projectName" /> | grep "Number" | awk -F= '{print $$2}'` -gt "0" ] ; \ | ||
407 | then \ | ||
408 | echo "$(GACUTIL) /u $(ASSEMBLY_NAME) $(GACUTIL_FLAGS)"; \ | ||
409 | $(GACUTIL) /u $(ASSEMBLY_NAME) $(GACUTIL_FLAGS) || exit 1; \ | ||
410 | fi | ||
411 | </xsl:when> | ||
412 | <!-- | ||
413 | If there is no keyfile for the project, define a filesystem | ||
414 | install target | ||
415 | --> | ||
416 | <xsl:otherwise> | ||
417 | noinst_<xsl:value-of select="@name" />_<xsl:value-of select="translate($lcProjectName, '.', '_')" />dir = $(prefix)/lib/mono/<xsl:value-of select="$projectName" /> | ||
418 | noinst_<xsl:value-of select="@name" />_<xsl:value-of select="translate($lcProjectName, '.', '_')" />_DATA = <xsl:value-of select="$outputPath"/>/$(ASSEMBLY) | ||
419 | </xsl:otherwise> | ||
420 | </xsl:choose> | ||
421 | </xsl:if> | ||
422 | </xsl:for-each> | ||
423 | |||
424 | <xsl:variable name="defaultConfig"><xsl:value-of select="//dnpb:Solution[@name=$solutionName]/dnpb:Project[@name=$projectName]/dnpb:Configuration/@name" /></xsl:variable> | ||
425 | $(ASSEMBLY): <xsl:value-of select="$defaultConfig" /> | ||
426 | |||
427 | <xsl:text disable-output-escaping="yes"> | ||
428 | $(srcdir)/$(ASSEMBLY).response: $(srcdir)/Makefile | ||
429 | echo "$(addprefix $(srcdir)/, $(SOURCES))" > $@ | ||
430 | </xsl:text> | ||
431 | |||
432 | all: $(ASSEMBLY) | ||
433 | |||
434 | # rule to compile .resx files to .resources | ||
435 | %.resources: %.resx | ||
436 | $(RESGEN) /useSourcePath /compile $(@:.resources=.resx) | ||
437 | |||
438 | <xsl:if test="@type='Library'"> | ||
439 | <!-- if the default config has a KeyFile --> | ||
440 | <xsl:choose> | ||
441 | <xsl:when test="//dnpb:Solution[@name=$solutionName]/dnpb:Project[@name=$projectName]/dnpb:Configuration[@name=$defaultConfig]/dnpb:Options/dnpb:KeyFile/text()!=''"> | ||
442 | install-data-local: <xsl:value-of select="$defaultConfig" />_install-data-local | ||
443 | |||
444 | uninstall-local: <xsl:value-of select="$defaultConfig" />_uninstall-local | ||
445 | </xsl:when> | ||
446 | <!-- | ||
447 | If the default config does not have a KeyFile, don't really do | ||
448 | anything | ||
449 | --> | ||
450 | <xsl:otherwise> | ||
451 | #<xsl:value-of select="translate($lcProjectName, '.', '_')" />dir+=$(noinst_<xsl:value-of select="$defaultConfig" />_<xsl:value-of select="translate($lcProjectName, '.', '_')" />dir) | ||
452 | #<xsl:value-of select="translate($lcProjectName, '.', '_')" />_DATA+=$(noinst_<xsl:value-of select="$defaultConfig" />_<xsl:value-of select="translate($lcProjectName, '.', '_')" />_DATA) | ||
453 | </xsl:otherwise> | ||
454 | </xsl:choose> | ||
455 | </xsl:if> | ||
456 | </xsl:for-each> | ||
457 | </xsl:template> | ||
458 | |||
459 | <xsl:template name="substring-after-last" xml:space="default"> | ||
460 | <xsl:param name="input" /> | ||
461 | <xsl:param name="substr" /> | ||
462 | |||
463 | <!-- Extract the string which comes after the first occurence --> | ||
464 | <xsl:variable name="temp" select="substring-after($input,$substr)" /> | ||
465 | |||
466 | <xsl:choose> | ||
467 | <!-- If it still contains the search string then recursively process --> | ||
468 | <xsl:when test="$substr and contains($temp,$substr)"> | ||
469 | <xsl:call-template name="substring-after-last"> | ||
470 | <xsl:with-param name="input" select="$temp" /> | ||
471 | <xsl:with-param name="substr" select="$substr" /> | ||
472 | </xsl:call-template> | ||
473 | </xsl:when> | ||
474 | <xsl:otherwise> | ||
475 | <xsl:value-of select="$temp" /> | ||
476 | </xsl:otherwise> | ||
477 | </xsl:choose> | ||
478 | </xsl:template> | ||
479 | |||
480 | <xsl:template name="substring-after-last-mod" xml:space="default"> | ||
481 | <xsl:param name="input" /> | ||
482 | <xsl:param name="substr" /> | ||
483 | |||
484 | <xsl:choose> | ||
485 | <xsl:when test="contains($input,$substr)"> | ||
486 | <xsl:call-template name="substring-after-last"> | ||
487 | <xsl:with-param name="input" select="$input" /> | ||
488 | <xsl:with-param name="substr" select="$substr" /> | ||
489 | </xsl:call-template> | ||
490 | </xsl:when> | ||
491 | <xsl:otherwise> | ||
492 | <xsl:value-of select="$input" /> | ||
493 | </xsl:otherwise> | ||
494 | </xsl:choose> | ||
495 | </xsl:template> | ||
496 | </xsl:stylesheet> | ||
497 | </ProjectMakefileAm> | ||
498 | |||
499 | <ProjectPcIn> | ||
500 | <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" | ||
501 | xmlns:dnpb="http://dnpb.sourceforge.net/schemas/prebuild-1.7.xsd" | ||
502 | exclude-result-prefixes="dnpb" | ||
503 | xml:space="preserve" | ||
504 | > | ||
505 | <!-- Removes the xml version header in the generated file --> | ||
506 | <xsl:output method="text"/> | ||
507 | <xsl:param name="projectName" /> | ||
508 | <xsl:param name="solutionName" /> | ||
509 | <xsl:variable name="lcProjectName"><xsl:value-of select="translate($projectName, 'ABCDEFGHIJKLMNOPQRSTUVWXYZ', 'abcdefghijklmnopqrstuvwxyz')"/></xsl:variable> | ||
510 | <xsl:template match="/"><xsl:for-each select="//dnpb:Solution[@name=$solutionName]/dnpb:Project[@name=$projectName]">prefix=@prefix@ | ||
511 | exec_prefix=${prefix} | ||
512 | libdir=${exec_prefix}/lib/mono/@PROJECT_NAME@ | ||
513 | |||
514 | Name: <xsl:value-of select="@name" /> | ||
515 | Description: <xsl:value-of select="Description/text()" /> | ||
516 | Version: @PROJECT_VERSION@ | ||
517 | Requires:<xsl:for-each select="Reference"><xsl:if test="@localCopy=false"><xsl:text disable-output-escaping="yes"> </xsl:text><xsl:value-of select="@name" /></xsl:if></xsl:for-each> | ||
518 | Libs: -r:${libdir}/@PROJECT_NAME@.dll | ||
519 | |||
520 | </xsl:for-each> | ||
521 | |||
522 | </xsl:template> | ||
523 | </xsl:stylesheet> | ||
524 | </ProjectPcIn> | ||
525 | |||
526 | <SolutionAutogenSh> | ||
527 | <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" | ||
528 | xmlns:dnpb="http://dnpb.sourceforge.net/schemas/prebuild-1.7.xsd" | ||
529 | exclude-result-prefixes="dnpb" | ||
530 | > | ||
531 | <xsl:param name="solutionName" /> | ||
532 | <xsl:template match="/"><xsl:text disable-output-escaping="yes">#!/bin/sh | ||
533 | # Run this to generate all the initial makefiles, etc. | ||
534 | # Ripped off from Mono, which ripped off from GNOME macros version | ||
535 | |||
536 | DIE=0 | ||
537 | |||
538 | srcdir=`dirname $0` | ||
539 | test -z "$srcdir" && srcdir=. | ||
540 | |||
541 | if [ -n "$MONO_PATH" ]; then | ||
542 | # from -> /mono/lib:/another/mono/lib | ||
543 | # to -> /mono /another/mono | ||
544 | for i in `echo ${MONO_PATH} | tr ":" " "`; do | ||
545 | i=`dirname ${i}` | ||
546 | if [ -n "{i}" -a -d "${i}/share/aclocal" ]; then | ||
547 | ACLOCAL_FLAGS="-I ${i}/share/aclocal $ACLOCAL_FLAGS" | ||
548 | fi | ||
549 | if [ -n "{i}" -a -d "${i}/bin" ]; then | ||
550 | PATH="${i}/bin:$PATH" | ||
551 | fi | ||
552 | done | ||
553 | export PATH | ||
554 | fi | ||
555 | |||
556 | (autoconf --version) < /dev/null > /dev/null 2>&1 || { | ||
557 | echo | ||
558 | echo "**Error**: You must have \`autoconf' installed to compile Mono." | ||
559 | echo "Download the appropriate package for your distribution," | ||
560 | echo "or get the source tarball at ftp://ftp.gnu.org/pub/gnu/" | ||
561 | DIE=1 | ||
562 | } | ||
563 | |||
564 | if [ -z "$LIBTOOL" ]; then | ||
565 | LIBTOOL=`which glibtool 2>/dev/null` | ||
566 | if [ ! -x "$LIBTOOL" ]; then | ||
567 | LIBTOOL=`which libtool` | ||
568 | fi | ||
569 | fi | ||
570 | |||
571 | (grep "^AM_PROG_LIBTOOL" $srcdir/configure.ac >/dev/null) && { | ||
572 | ($LIBTOOL --version) < /dev/null > /dev/null 2>&1 || { | ||
573 | echo | ||
574 | echo "**Error**: You must have \`libtool' installed to compile Mono." | ||
575 | echo "Get ftp://ftp.gnu.org/pub/gnu/libtool-1.2d.tar.gz" | ||
576 | echo "(or a newer version if it is available)" | ||
577 | DIE=1 | ||
578 | } | ||
579 | } | ||
580 | |||
581 | grep "^AM_GNU_GETTEXT" $srcdir/configure.ac >/dev/null && { | ||
582 | grep "sed.*POTFILES" $srcdir/configure.ac >/dev/null || \ | ||
583 | (gettext --version) < /dev/null > /dev/null 2>&1 || { | ||
584 | echo | ||
585 | echo "**Error**: You must have \`gettext' installed to compile Mono." | ||
586 | echo "Get ftp://alpha.gnu.org/gnu/gettext-0.10.35.tar.gz" | ||
587 | echo "(or a newer version if it is available)" | ||
588 | DIE=1 | ||
589 | } | ||
590 | } | ||
591 | |||
592 | (automake --version) < /dev/null > /dev/null 2>&1 || { | ||
593 | echo | ||
594 | echo "**Error**: You must have \`automake' installed to compile Mono." | ||
595 | echo "Get ftp://ftp.gnu.org/pub/gnu/automake-1.3.tar.gz" | ||
596 | echo "(or a newer version if it is available)" | ||
597 | DIE=1 | ||
598 | NO_AUTOMAKE=yes | ||
599 | } | ||
600 | |||
601 | |||
602 | # if no automake, don't bother testing for aclocal | ||
603 | test -n "$NO_AUTOMAKE" || (aclocal --version) < /dev/null > /dev/null 2>&1 || { | ||
604 | echo | ||
605 | echo "**Error**: Missing \`aclocal'. The version of \`automake'" | ||
606 | echo "installed doesn't appear recent enough." | ||
607 | echo "Get ftp://ftp.gnu.org/pub/gnu/automake-1.3.tar.gz" | ||
608 | echo "(or a newer version if it is available)" | ||
609 | DIE=1 | ||
610 | } | ||
611 | |||
612 | if test "$DIE" -eq 1; then | ||
613 | exit 1 | ||
614 | fi | ||
615 | |||
616 | if test -z "$*"; then | ||
617 | echo "**Warning**: I am going to run \`configure' with no arguments." | ||
618 | echo "If you wish to pass any to it, please specify them on the" | ||
619 | echo \`$0\'" command line." | ||
620 | echo | ||
621 | fi | ||
622 | |||
623 | case $CC in | ||
624 | xlc ) | ||
625 | am_opt=--include-deps;; | ||
626 | esac | ||
627 | |||
628 | |||
629 | if grep "^AM_PROG_LIBTOOL" configure.ac >/dev/null; then | ||
630 | if test -z "$NO_LIBTOOLIZE" ; then | ||
631 | echo "Running libtoolize..." | ||
632 | ${LIBTOOL}ize --force --copy | ||
633 | fi | ||
634 | fi | ||
635 | |||
636 | echo "Running aclocal $ACLOCAL_FLAGS ..." | ||
637 | aclocal $ACLOCAL_FLAGS || { | ||
638 | echo | ||
639 | echo "**Error**: aclocal failed. This may mean that you have not" | ||
640 | echo "installed all of the packages you need, or you may need to" | ||
641 | echo "set ACLOCAL_FLAGS to include \"-I \$prefix/share/aclocal\"" | ||
642 | echo "for the prefix where you installed the packages whose" | ||
643 | echo "macros were not found" | ||
644 | exit 1 | ||
645 | } | ||
646 | |||
647 | if grep "^AM_CONFIG_HEADER" configure.ac >/dev/null; then | ||
648 | echo "Running autoheader..." | ||
649 | autoheader || { echo "**Error**: autoheader failed."; exit 1; } | ||
650 | fi | ||
651 | |||
652 | echo "Running automake --gnu $am_opt ..." | ||
653 | automake --add-missing --gnu $am_opt || | ||
654 | { echo "**Error**: automake failed."; exit 1; } | ||
655 | echo "Running autoconf ..." | ||
656 | autoconf || { echo "**Error**: autoconf failed."; exit 1; } | ||
657 | </xsl:text> | ||
658 | <xsl:for-each select="/dnpb:Prebuild/dnpb:Solution[@name=$solutionName]/dnpb:Project"> | ||
659 | echo Running <xsl:value-of select="@name" />/autogen.sh ... | ||
660 | (cd $srcdir/<xsl:value-of select="@name" /> ; NOCONFIGURE=1 /bin/sh ./autogen.sh "$@") | ||
661 | echo Done running <xsl:value-of select="@name" />/autogen.sh ... | ||
662 | </xsl:for-each> | ||
663 | <xsl:text disable-output-escaping="yes"> | ||
664 | conf_flags="--enable-maintainer-mode --enable-compile-warnings" #--enable-iso-c | ||
665 | |||
666 | if test x$NOCONFIGURE = x; then | ||
667 | echo Running $srcdir/configure $conf_flags "$@" ... | ||
668 | $srcdir/configure $conf_flags "$@" \ | ||
669 | && echo Now type \`make\' to compile $PKG_NAME || exit 1 | ||
670 | else | ||
671 | echo Skipping configure process. | ||
672 | fi | ||
673 | </xsl:text> | ||
674 | </xsl:template> | ||
675 | </xsl:stylesheet> | ||
676 | </SolutionAutogenSh> | ||
677 | |||
678 | <SolutionConfigureAc> | ||
679 | <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" | ||
680 | xmlns:dnpb="http://dnpb.sourceforge.net/schemas/prebuild-1.7.xsd" | ||
681 | exclude-result-prefixes="dnpb" | ||
682 | xml:space="preserve" | ||
683 | > | ||
684 | <!-- Removes the xml version header in the generated file --> | ||
685 | <xsl:output method="text"/> | ||
686 | <xsl:param name="solutionName" /> | ||
687 | <xsl:template match="/" | ||
688 | >AC_INIT([<xsl:value-of select="$solutionName" />]-solution,[<xsl:value-of select="/dnpb:Prebuild/dnpb:Solution[@name=$solutionName]/@version" />]) | ||
689 | AC_CONFIG_AUX_DIR(.) | ||
690 | AM_INIT_AUTOMAKE([1.9 tar-ustar foreign]) | ||
691 | EXTRA_DIST="install-sh missing" | ||
692 | SOLUTION_NAME=<xsl:value-of select="$solutionName" /> | ||
693 | SOLUTION_VERSION=$VERSION | ||
694 | SOLUTION_DESCRIPTION="<xsl:value-of select="/dnpb:Prebuild/dnpb:Solution[@name=$solutionName]/dnpb:Description" />" | ||
695 | AC_SUBST(DESCRIPTION) | ||
696 | |||
697 | AM_MAINTAINER_MODE | ||
698 | |||
699 | dnl AC_PROG_INTLTOOL([0.25]) | ||
700 | |||
701 | AC_PROG_INSTALL | ||
702 | |||
703 | AC_MSG_CHECKING([whether we're building from an RCS]) | ||
704 | if test -f "$srcdir/.cvs_version" ; then | ||
705 | from_rcs=cvs | ||
706 | else | ||
707 | if test -f "$srcdir/.svn/entries" ; then | ||
708 | from_rcs=svn | ||
709 | else | ||
710 | from_rcs=no | ||
711 | fi | ||
712 | fi | ||
713 | |||
714 | AC_MSG_RESULT($from_rcs) | ||
715 | |||
716 | CONFIG="Release" | ||
717 | AC_SUBST(CONFIG) | ||
718 | <!-- TODO: Ensure that these SUBDIRS are processed in dependency order --> | ||
719 | AC_CONFIG_SUBDIRS(<xsl:for-each select="/dnpb:Prebuild/dnpb:Solution[@name=$solutionName]/dnpb:Project"><xsl:text disable-output-escaping="yes"> </xsl:text><xsl:value-of select="@name" /> | ||
720 | </xsl:for-each>) | ||
721 | <xsl:text disable-output-escaping="yes"> | ||
722 | |||
723 | AC_OUTPUT([ | ||
724 | Makefile | ||
725 | ]) | ||
726 | |||
727 | echo "===" | ||
728 | echo "" | ||
729 | echo "Solution configuration summary" | ||
730 | echo "" | ||
731 | echo " * Solution Name: $SOLUTION_NAME" | ||
732 | echo " * Version: $SOLUTION_VERSION" | ||
733 | echo " * Packages:"</xsl:text> | ||
734 | <xsl:for-each select="/dnpb:Prebuild/dnpb:Solution[@name=$solutionName]/dnpb:Project">echo " - <xsl:value-of select="@name" />" | ||
735 | </xsl:for-each><xsl:text disable-output-escaping="yes">echo "" | ||
736 | echo "===" | ||
737 | </xsl:text> | ||
738 | </xsl:template> | ||
739 | </xsl:stylesheet> | ||
740 | </SolutionConfigureAc> | ||
741 | |||
742 | <SolutionMakefileAm> | ||
743 | <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" | ||
744 | xmlns:dnpb="http://dnpb.sourceforge.net/schemas/prebuild-1.7.xsd" | ||
745 | exclude-result-prefixes="dnpb" | ||
746 | xml:space="preserve" | ||
747 | > | ||
748 | <xsl:param name="solutionName" /> | ||
749 | <xsl:template match="/">SUBDIRS =<xsl:for-each select="//dnpb:Solution[@name=$solutionName]/dnpb:Project"><xsl:text disable-output-escaping="yes"> </xsl:text><xsl:value-of select="@name" /></xsl:for-each> | ||
750 | </xsl:template> | ||
751 | </xsl:stylesheet> | ||
752 | </SolutionMakefileAm> | ||
753 | <ProjectWrapperScriptIn> | ||
754 | <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" | ||
755 | xmlns:dnpb="http://dnpb.sourceforge.net/schemas/prebuild-1.7.xsd" | ||
756 | exclude-result-prefixes="dnpb" | ||
757 | xml:space="preserve" | ||
758 | > | ||
759 | <!-- Removes the xml version header in the generated file --> | ||
760 | <xsl:output method="text"/> | ||
761 | <xsl:param name="projectName" /> | ||
762 | <xsl:param name="assemblyName" /> | ||
763 | <xsl:param name="solutionName" /> | ||
764 | <xsl:param name="monoPath" /> | ||
765 | <xsl:variable name="lcProjectName"><xsl:value-of select="translate($projectName, 'ABCDEFGHIJKLMNOPQRSTUVWXYZ', 'abcdefghijklmnopqrstuvwxyz')"/></xsl:variable> | ||
766 | <xsl:template match="/"><xsl:for-each select="//dnpb:Solution[@name=$solutionName]/dnpb:Project[@name=$projectName]">#! /bin/sh | ||
767 | |||
768 | PACKAGE=<xsl:value-of select="$assemblyName" /> | ||
769 | prefix=@prefix@ | ||
770 | exec_prefix=@exec_prefix@ | ||
771 | |||
772 | # %%$@%$# why oh why isn't it $sharedir/<xsl:value-of select="$lcProjectName" /> | ||
773 | # Day changed to 30 Mar 2007 | ||
774 | # ... | ||
775 | # 07:50 < cj> why are we installing .exe assemblies to $prefix/lib/$package/ and | ||
776 | # not $prefix/share/$package ? | ||
777 | # 07:50 < jonp> momentum. | ||
778 | # 07:50 < jonp> and it's hard to say that a .exe isn't platform specific | ||
779 | # 07:50 < jonp> as it can still contain DllImport's which make platform | ||
780 | # assumptions | ||
781 | |||
782 | packagedir=$prefix/lib/<xsl:value-of select="$lcProjectName" /> | ||
783 | export MONO_PATH=$MONO_PATH<xsl:value-of select="$monoPath" /> | ||
784 | |||
785 | exec @RUNTIME@ $packagedir/$PACKAGE.exe "$@" | ||
786 | </xsl:for-each> | ||
787 | </xsl:template> | ||
788 | </xsl:stylesheet> | ||
789 | </ProjectWrapperScriptIn> | ||
790 | </Autotools> | ||
diff --git a/Prebuild/src/data/prebuild-1.7.xsd b/Prebuild/src/data/prebuild-1.7.xsd index 381b9f0..3c108f3 100644 --- a/Prebuild/src/data/prebuild-1.7.xsd +++ b/Prebuild/src/data/prebuild-1.7.xsd | |||
@@ -1,14 +1,17 @@ | |||
1 | <?xml version="1.0" encoding="utf-8" ?> | 1 | <?xml version="1.0" encoding="utf-8"?> |
2 | <xs:schema elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://dnpb.sourceforge.net/schemas/prebuild-1.7.xsd" | 2 | <xs:schema elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://dnpb.sourceforge.net/schemas/prebuild-1.7.xsd" xmlns="http://dnpb.sourceforge.net/schemas/prebuild-1.7.xsd"> |
3 | xmlns="http://dnpb.sourceforge.net/schemas/prebuild-1.7.xsd"> | 3 | <xs:annotation> |
4 | <xs:annotation> | 4 | <xs:documentation> |
5 | <xs:documentation> | 5 | Copyright (c) 2004-2007 |
6 | Copyright (c) 2004-2005 Matthew Holmes (calefaction at houston . rr . com), Dan Moorehead (dan05a at gmail . com), David Hudson (jendave at yahoo dot com) | 6 | Matthew Holmes (calefaction at houston . rr . com), |
7 | Dan Moorehead (dan05a at gmail . com), | ||
8 | David Hudson (jendave at yahoo dot com), | ||
9 | C.J. Adams-Collier (cjac at colliertech dot com) | ||
7 | 10 | ||
8 | .NET Prebuild is a cross-platform XML-driven pre-build tool which | 11 | .NET Prebuild is a cross-platform XML-driven pre-build tool which |
9 | allows developers to easily generate project or make files for major | 12 | allows developers to easily generate project or make files for major |
10 | IDE's and .NET development tools including: Visual Studio .NET 2002 and | 13 | IDE's and .NET development tools including: Visual Studio .NET 2002, |
11 | 2003, SharpDevelop, MonoDevelop, and NAnt. | 14 | 2003, and 2005, SharpDevelop, MonoDevelop, NAnt, Xcode and the GNU Autotools. |
12 | 15 | ||
13 | BSD License: | 16 | BSD License: |
14 | 17 | ||
@@ -31,231 +34,240 @@ | |||
31 | OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING | 34 | OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING |
32 | IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | 35 | IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
33 | </xs:documentation> | 36 | </xs:documentation> |
34 | </xs:annotation> | 37 | </xs:annotation> |
35 | <xs:element name="Prebuild"> | 38 | <xs:element name="Prebuild"> |
36 | <xs:complexType> | 39 | <xs:complexType> |
37 | <xs:sequence> | 40 | <xs:sequence> |
38 | <xs:element ref="Process" minOccurs="0" maxOccurs="unbounded" /> | 41 | <xs:element ref="Process" minOccurs="0" maxOccurs="unbounded" /> |
39 | <xs:element ref="Solution" minOccurs="0" maxOccurs="unbounded" /> | 42 | <xs:element ref="Solution" minOccurs="0" maxOccurs="unbounded" /> |
40 | </xs:sequence> | 43 | </xs:sequence> |
41 | <xs:attribute name="version" /> | 44 | <xs:attribute name="version" /> |
42 | <xs:attribute name="checkOsVars" /> | 45 | <xs:attribute name="checkOsVars" /> |
43 | </xs:complexType> | ||
44 | </xs:element> | ||
45 | <xs:element name="Process" type="xs:string" /> | ||
46 | <xs:element name="Solution"> | ||
47 | <xs:complexType> | ||
48 | <xs:sequence> | ||
49 | <xs:element ref="Options" minOccurs="0" /> | ||
50 | <xs:element ref="Configuration" minOccurs="1" maxOccurs="unbounded" /> | ||
51 | <xs:element ref="Files" minOccurs="0" /> | ||
52 | <xs:element ref="Project" minOccurs="1" maxOccurs="unbounded" /> | ||
53 | </xs:sequence> | ||
54 | <xs:attribute name="name" type="xs:string" use="required" /> | ||
55 | <xs:attribute name="activeConfig" type="xs:string" default="Debug" /> | ||
56 | <xs:attribute name="path" type="xs:string" default="" /> | ||
57 | <xs:attribute name="version" type="xs:string" default="1.0.0" /> | ||
58 | </xs:complexType> | ||
59 | </xs:element> | ||
60 | <xs:element name="Project"> | ||
61 | <xs:complexType> | ||
62 | <xs:sequence> | ||
63 | <xs:element ref="Configuration" minOccurs="0" maxOccurs="unbounded" /> | ||
64 | <xs:element name="ReferencePath" type="xs:string" minOccurs="0" maxOccurs="unbounded" /> | ||
65 | <xs:element name="Reference" minOccurs="0" maxOccurs="unbounded"> | ||
66 | <xs:complexType> | ||
67 | <xs:attribute name="name" type="xs:string" use="required" /> | ||
68 | <xs:attribute name="path" type="xs:string" /> | ||
69 | <xs:attribute name="localCopy" type="xs:boolean" /> | ||
70 | <xs:attribute name="version" type="xs:string" default="1.0.0"/> | ||
71 | </xs:complexType> | ||
72 | </xs:element> | ||
73 | <xs:element ref="Files" /> | ||
74 | </xs:sequence> | ||
75 | <xs:attribute name="name" type="xs:string" use="required" /> | ||
76 | <xs:attribute name="designerFolder" type="xs:string" default="" /> | ||
77 | <xs:attribute name="filterGroups" type="xs:string" default="" /> | ||
78 | <xs:attribute name="path" type="xs:string" default="" /> | ||
79 | <xs:attribute name="icon" type="xs:string" default="" /> | ||
80 | <xs:attribute name="language" default="C#"> | ||
81 | <xs:simpleType> | ||
82 | <xs:restriction base="xs:string"> | ||
83 | <xs:enumeration value="C#" /> | ||
84 | <xs:enumeration value="VB.NET" /> | ||
85 | </xs:restriction> | ||
86 | </xs:simpleType> | ||
87 | </xs:attribute> | ||
88 | <xs:attribute name="type" default="Exe"> | ||
89 | <xs:simpleType> | ||
90 | <xs:restriction base="xs:string"> | ||
91 | <xs:enumeration value="Exe" /> | ||
92 | <xs:enumeration value="WinExe" /> | ||
93 | <xs:enumeration value="Library" /> | ||
94 | </xs:restriction> | ||
95 | </xs:simpleType> | ||
96 | </xs:attribute> | ||
97 | <xs:attribute name="runtime" default="Microsoft"> | ||
98 | <xs:simpleType> | ||
99 | <xs:restriction base="xs:string"> | ||
100 | <xs:enumeration value="Microsoft" /> | ||
101 | <xs:enumeration value="Mono" /> | ||
102 | </xs:restriction> | ||
103 | </xs:simpleType> | ||
104 | </xs:attribute> | ||
105 | <xs:attribute name="startupObject" type="xs:string" default="" /> | ||
106 | <xs:attribute name="rootNamespace" type="xs:string" /> | ||
107 | <xs:attribute name="assemblyName" type="xs:string" /> | ||
108 | <xs:attribute name="generateAssemblyInfoFile" type="xs:boolean" default="false"/> | ||
109 | </xs:complexType> | 46 | </xs:complexType> |
110 | </xs:element> | 47 | </xs:element> |
111 | <xs:element name="Configuration"> | 48 | <xs:element name="Process" type="xs:string" /> |
112 | <xs:complexType> | 49 | <xs:element name="Solution"> |
113 | <xs:sequence> | 50 | <xs:complexType> |
114 | <xs:element ref="Options" minOccurs="0" /> | 51 | <xs:sequence> |
115 | </xs:sequence> | 52 | <xs:element ref="Options" minOccurs="0" /> |
116 | <xs:attribute name="name" type="xs:string" use="required" /> | 53 | <xs:element ref="Configuration" minOccurs="1" maxOccurs="unbounded" /> |
117 | </xs:complexType> | 54 | <xs:element ref="Files" minOccurs="0" /> |
118 | </xs:element> | 55 | <xs:element ref="Project" minOccurs="1" maxOccurs="unbounded" /> |
119 | <xs:element name="Options"> | 56 | </xs:sequence> |
120 | <xs:complexType> | 57 | <xs:attribute name="name" type="xs:string" use="required" /> |
121 | <xs:all> | 58 | <xs:attribute name="activeConfig" type="xs:string" default="Debug" /> |
122 | <xs:element name="CompilerDefines" type="xs:string" minOccurs="0" /> | 59 | <xs:attribute name="path" type="xs:string" default="" /> |
123 | <xs:element name="OptimizeCode" type="xs:boolean" minOccurs="0" /> | 60 | <xs:attribute name="version" type="xs:string" default="1.0.0" /> |
124 | <xs:element name="CheckUnderflowOverflow" type="xs:boolean" minOccurs="0" /> | 61 | </xs:complexType> |
125 | <xs:element name="AllowUnsafe" type="xs:boolean" minOccurs="0" /> | 62 | </xs:element> |
126 | <xs:element name="PreBuildEvent" type="xs:string" minOccurs="0" /> | 63 | <xs:element name="Project"> |
127 | <xs:element name="PostBuildEvent" type="xs:string" minOccurs="0" /> | 64 | <xs:complexType> |
128 | <xs:element name="RunPostBuildEvent" minOccurs="0" default="OnBuildSuccess"> | 65 | <xs:sequence> |
129 | <xs:simpleType> | 66 | <xs:element name="Author" type="xs:string" minOccurs="0" maxOccurs="unbounded" /> |
130 | <xs:restriction base="xs:string"> | 67 | <xs:element name="Description" type="xs:string" minOccurs="0" maxOccurs="1" /> |
131 | <xs:enumeration value="OnBuildSuccess" /> | 68 | <xs:element ref="Configuration" minOccurs="0" maxOccurs="unbounded" /> |
132 | <xs:enumeration value="Always" /> | 69 | <xs:element name="ReferencePath" type="xs:string" minOccurs="0" maxOccurs="unbounded" /> |
133 | <xs:enumeration value="OnOutputUpdated" /> | 70 | <xs:element name="Reference" minOccurs="0" maxOccurs="unbounded"> |
134 | </xs:restriction> | 71 | <xs:complexType> |
135 | </xs:simpleType> | 72 | <xs:attribute name="name" type="xs:string" use="required" /> |
136 | </xs:element> | 73 | <xs:attribute name="path" type="xs:string" /> |
137 | <xs:element name="RunScript" type="xs:string" minOccurs="0" /> | 74 | <xs:attribute name="localCopy" type="xs:boolean" /> |
138 | <xs:element name="PreBuildEventArgs" type="xs:string" minOccurs="0" /> | 75 | <xs:attribute name="version" type="xs:string" /> |
139 | <xs:element name="PostBuildEventArgs" type="xs:string" minOccurs="0" /> | 76 | </xs:complexType> |
140 | <xs:element name="WarningLevel" minOccurs="0"> | 77 | </xs:element> |
141 | <xs:simpleType> | 78 | <xs:element ref="Files" /> |
142 | <xs:restriction base="xs:integer"> | 79 | </xs:sequence> |
143 | <xs:minInclusive value="0" /> | 80 | <xs:attribute name="name" type="xs:string" use="required" /> |
144 | <xs:maxInclusive value="4" /> | 81 | <xs:attribute name="designerFolder" type="xs:string" default="" /> |
145 | </xs:restriction> | 82 | <xs:attribute name="filterGroups" type="xs:string" default="" /> |
146 | </xs:simpleType> | 83 | <xs:attribute name="path" type="xs:string" default="" /> |
147 | </xs:element> | 84 | <xs:attribute name="icon" type="xs:string" default="" /> |
148 | <xs:element name="WarningsAsErrors" type="xs:boolean" minOccurs="0" /> | 85 | <xs:attribute name="configFile" type="xs:string" default="" /> |
149 | <xs:element name="SuppressWarnings" type="xs:string" minOccurs="0" /> | 86 | <xs:attribute name="version" type="xs:string" default="1.0.0" /> |
150 | <xs:element name="OutputPath" type="xs:string" minOccurs="0" /> | 87 | <xs:attribute name="language" default="C#"> |
151 | <xs:element name="GenerateDocumentation" type="xs:boolean" minOccurs="0" /> | 88 | <xs:simpleType> |
152 | <xs:element name="XmlDocFile" type="xs:string" minOccurs="0" /> | 89 | <xs:restriction base="xs:string"> |
153 | <xs:element name="DebugInformation" type="xs:boolean" minOccurs="0" /> | 90 | <xs:enumeration value="C#" /> |
154 | <xs:element name="RegisterComInterop" type="xs:boolean" minOccurs="0" /> | 91 | <xs:enumeration value="VB.NET" /> |
155 | <xs:element name="RemoveIntegerChecks" type="xs:boolean" minOccurs="0" /> | 92 | </xs:restriction> |
156 | <xs:element name="IncrementalBuild" type="xs:boolean" minOccurs="0" /> | 93 | </xs:simpleType> |
157 | <xs:element name="BaseAddress" type="xs:string" minOccurs="0" /> | 94 | </xs:attribute> |
158 | <xs:element name="FileAlignment" type="xs:integer" minOccurs="0" /> | 95 | <xs:attribute name="type" default="Exe"> |
159 | <xs:element name="NoStdLib" type="xs:boolean" minOccurs="0" /> | 96 | <xs:simpleType> |
160 | <xs:element name="KeyFile" type="xs:string" minOccurs="0" /> | 97 | <xs:restriction base="xs:string"> |
161 | </xs:all> | 98 | <xs:enumeration value="Exe" /> |
162 | </xs:complexType> | 99 | <xs:enumeration value="WinExe" /> |
163 | </xs:element> | 100 | <xs:enumeration value="Library" /> |
164 | <xs:element name="Files"> | 101 | </xs:restriction> |
165 | <xs:complexType> | 102 | </xs:simpleType> |
166 | <xs:sequence> | 103 | </xs:attribute> |
167 | <xs:element ref="File" minOccurs="0" maxOccurs="unbounded" /> | 104 | <xs:attribute name="runtime" default="Microsoft"> |
168 | <xs:element ref="Match" minOccurs="0" maxOccurs="unbounded" /> | 105 | <xs:simpleType> |
169 | </xs:sequence> | 106 | <xs:restriction base="xs:string"> |
170 | </xs:complexType> | 107 | <xs:enumeration value="Microsoft" /> |
171 | </xs:element> | 108 | <xs:enumeration value="Mono" /> |
172 | <xs:element name="File"> | 109 | </xs:restriction> |
173 | <xs:complexType> | 110 | </xs:simpleType> |
174 | <xs:simpleContent> | 111 | </xs:attribute> |
175 | <xs:extension base="xs:string"> | 112 | <xs:attribute name="startupObject" type="xs:string" default="" /> |
176 | <xs:attribute name="resourceName" type="xs:string" default="" /> | 113 | <xs:attribute name="rootNamespace" type="xs:string" /> |
177 | <xs:attribute name="buildAction" default="Compile"> | 114 | <xs:attribute name="assemblyName" type="xs:string" /> |
178 | <xs:simpleType> | 115 | <xs:attribute name="generateAssemblyInfoFile" type="xs:boolean" default="false" /> |
179 | <xs:restriction base="xs:string"> | 116 | </xs:complexType> |
180 | <xs:enumeration value="None" /> | 117 | </xs:element> |
181 | <xs:enumeration value="Compile" /> | 118 | <xs:element name="Configuration"> |
182 | <xs:enumeration value="Content" /> | 119 | <xs:complexType> |
183 | <xs:enumeration value="EmbeddedResource" /> | 120 | <xs:sequence> |
184 | </xs:restriction> | 121 | <xs:element ref="Options" minOccurs="0" /> |
185 | </xs:simpleType> | 122 | </xs:sequence> |
186 | </xs:attribute> | 123 | <xs:attribute name="name" type="xs:string" use="required" /> |
187 | <xs:attribute name="subType" default="Code"> | 124 | </xs:complexType> |
188 | <xs:simpleType> | 125 | </xs:element> |
189 | <xs:restriction base="xs:string"> | 126 | <xs:element name="Options"> |
190 | <xs:enumeration value="Code" /> | 127 | <xs:complexType> |
191 | <xs:enumeration value="Component" /> | 128 | <xs:all> |
192 | <xs:enumeration value="Form" /> | 129 | <xs:element name="CompilerDefines" type="xs:string" minOccurs="0" /> |
193 | <xs:enumeration value="Settings" /> | 130 | <xs:element name="OptimizeCode" type="xs:boolean" minOccurs="0" /> |
194 | <xs:enumeration value="UserControl" /> | 131 | <xs:element name="CheckUnderflowOverflow" type="xs:boolean" minOccurs="0" /> |
195 | </xs:restriction> | 132 | <xs:element name="AllowUnsafe" type="xs:boolean" minOccurs="0" /> |
196 | </xs:simpleType> | 133 | <xs:element name="PreBuildEvent" type="xs:string" minOccurs="0" /> |
197 | </xs:attribute> | 134 | <xs:element name="PostBuildEvent" type="xs:string" minOccurs="0" /> |
198 | <xs:attribute name="link" type="xs:boolean" /> | 135 | <xs:element name="RunPostBuildEvent" minOccurs="0" default="OnBuildSuccess"> |
199 | <xs:attribute name="copyToOutput" default="Never"> | 136 | <xs:simpleType> |
200 | <xs:simpleType> | 137 | <xs:restriction base="xs:string"> |
201 | <xs:restriction base="xs:string"> | 138 | <xs:enumeration value="OnBuildSuccess" /> |
202 | <xs:enumeration value="Never" /> | 139 | <xs:enumeration value="Always" /> |
203 | <xs:enumeration value="Always" /> | 140 | <xs:enumeration value="OnOutputUpdated" /> |
204 | <xs:enumeration value="PreserveNewest" /> | 141 | </xs:restriction> |
205 | </xs:restriction> | 142 | </xs:simpleType> |
206 | </xs:simpleType> | 143 | </xs:element> |
207 | </xs:attribute> | 144 | <xs:element name="RunScript" type="xs:string" minOccurs="0" /> |
208 | </xs:extension> | 145 | <xs:element name="PreBuildEventArgs" type="xs:string" minOccurs="0" /> |
209 | </xs:simpleContent> | 146 | <xs:element name="PostBuildEventArgs" type="xs:string" minOccurs="0" /> |
210 | </xs:complexType> | 147 | <xs:element name="WarningLevel" minOccurs="0"> |
211 | </xs:element> | 148 | <xs:simpleType> |
212 | <xs:element name="Match"> | 149 | <xs:restriction base="xs:integer"> |
213 | <xs:complexType> | 150 | <xs:minInclusive value="0" /> |
214 | <xs:sequence> | 151 | <xs:maxInclusive value="4" /> |
215 | <xs:element ref="Exclude" minOccurs="0" maxOccurs="unbounded" /> | 152 | </xs:restriction> |
216 | </xs:sequence> | 153 | </xs:simpleType> |
217 | <xs:attribute name="path" type="xs:string" /> | 154 | </xs:element> |
218 | <xs:attribute name="pattern" type="xs:string" use="required" /> | 155 | <xs:element name="WarningsAsErrors" type="xs:boolean" minOccurs="0" /> |
219 | <xs:attribute name="recurse" type="xs:boolean" default="false" /> | 156 | <xs:element name="SuppressWarnings" type="xs:string" minOccurs="0" /> |
220 | <xs:attribute name="useRegex" type="xs:boolean" default="false" /> | 157 | <xs:element name="OutputPath" type="xs:string" minOccurs="0" /> |
221 | <xs:attribute name="buildAction" default="Compile"> | 158 | <xs:element name="GenerateDocumentation" type="xs:boolean" minOccurs="0" /> |
222 | <xs:simpleType> | 159 | <xs:element name="XmlDocFile" type="xs:string" minOccurs="0" /> |
223 | <xs:restriction base="xs:string"> | 160 | <xs:element name="DebugInformation" type="xs:boolean" minOccurs="0" /> |
224 | <xs:enumeration value="None" /> | 161 | <xs:element name="RegisterComInterop" type="xs:boolean" minOccurs="0" /> |
225 | <xs:enumeration value="Compile" /> | 162 | <xs:element name="RemoveIntegerChecks" type="xs:boolean" minOccurs="0" /> |
226 | <xs:enumeration value="Content" /> | 163 | <xs:element name="IncrementalBuild" type="xs:boolean" minOccurs="0" /> |
227 | <xs:enumeration value="EmbeddedResource" /> | 164 | <xs:element name="BaseAddress" type="xs:string" minOccurs="0" /> |
228 | </xs:restriction> | 165 | <xs:element name="FileAlignment" type="xs:integer" minOccurs="0" /> |
229 | </xs:simpleType> | 166 | <xs:element name="NoStdLib" type="xs:boolean" minOccurs="0" /> |
230 | </xs:attribute> | 167 | <xs:element name="KeyFile" type="xs:string" minOccurs="0" /> |
231 | <xs:attribute name="resourceName" type="xs:string" default="" /> | 168 | </xs:all> |
232 | <xs:attribute name="subType" default="Code"> | 169 | </xs:complexType> |
233 | <xs:simpleType> | 170 | </xs:element> |
234 | <xs:restriction base="xs:string"> | 171 | <xs:element name="Files"> |
235 | <xs:enumeration value="Code" /> | 172 | <xs:complexType> |
236 | <xs:enumeration value="Component" /> | 173 | <xs:sequence> |
237 | <xs:enumeration value="Designer" /> | 174 | <xs:element ref="File" minOccurs="0" maxOccurs="unbounded" /> |
238 | <xs:enumeration value="Form" /> | 175 | <xs:element ref="Match" minOccurs="0" maxOccurs="unbounded" /> |
239 | <xs:enumeration value="Settings" /> | 176 | </xs:sequence> |
240 | <xs:enumeration value="UserControl" /> | 177 | </xs:complexType> |
241 | </xs:restriction> | 178 | </xs:element> |
242 | </xs:simpleType> | 179 | <xs:element name="File"> |
243 | </xs:attribute> | 180 | <xs:complexType> |
244 | <xs:attribute name="link" type="xs:boolean" /> | 181 | <xs:simpleContent> |
245 | <xs:attribute name="copyToOutput" default="Never"> | 182 | <xs:extension base="xs:string"> |
246 | <xs:simpleType> | 183 | <xs:attribute name="resourceName" type="xs:string" default="" /> |
247 | <xs:restriction base="xs:string"> | 184 | <xs:attribute name="buildAction" default="Compile"> |
248 | <xs:enumeration value="Never" /> | 185 | <xs:simpleType> |
249 | <xs:enumeration value="Always" /> | 186 | <xs:restriction base="xs:string"> |
250 | <xs:enumeration value="PreserveNewest" /> | 187 | <xs:enumeration value="None" /> |
251 | </xs:restriction> | 188 | <xs:enumeration value="Compile" /> |
252 | </xs:simpleType> | 189 | <xs:enumeration value="Content" /> |
253 | </xs:attribute> | 190 | <xs:enumeration value="EmbeddedResource" /> |
254 | </xs:complexType> | 191 | </xs:restriction> |
255 | </xs:element> | 192 | </xs:simpleType> |
256 | <xs:element name="Exclude"> | 193 | </xs:attribute> |
257 | <xs:complexType> | 194 | <xs:attribute name="subType" default="Code"> |
258 | <xs:attribute name="name" type="xs:string" use="required" /> | 195 | <xs:simpleType> |
259 | </xs:complexType> | 196 | <xs:restriction base="xs:string"> |
260 | </xs:element> | 197 | <xs:enumeration value="Code" /> |
198 | <xs:enumeration value="Component" /> | ||
199 | <xs:enumeration value="Form" /> | ||
200 | <xs:enumeration value="Settings" /> | ||
201 | <xs:enumeration value="UserControl" /> | ||
202 | </xs:restriction> | ||
203 | </xs:simpleType> | ||
204 | </xs:attribute> | ||
205 | <xs:attribute name="link" type="xs:boolean" /> | ||
206 | <xs:attribute name="copyToOutput" default="Never"> | ||
207 | <xs:simpleType> | ||
208 | <xs:restriction base="xs:string"> | ||
209 | <xs:enumeration value="Never" /> | ||
210 | <xs:enumeration value="Always" /> | ||
211 | <xs:enumeration value="PreserveNewest" /> | ||
212 | </xs:restriction> | ||
213 | </xs:simpleType> | ||
214 | </xs:attribute> | ||
215 | <xs:attribute name="preservePath" type="xs:boolean" /> | ||
216 | <xs:attribute name="linkPath" type="xs:string" /> | ||
217 | </xs:extension> | ||
218 | </xs:simpleContent> | ||
219 | </xs:complexType> | ||
220 | </xs:element> | ||
221 | <xs:element name="Match"> | ||
222 | <xs:complexType> | ||
223 | <xs:sequence> | ||
224 | <xs:element ref="Exclude" minOccurs="0" maxOccurs="unbounded" /> | ||
225 | </xs:sequence> | ||
226 | <xs:attribute name="path" type="xs:string" /> | ||
227 | <xs:attribute name="pattern" type="xs:string" use="required" /> | ||
228 | <xs:attribute name="recurse" type="xs:boolean" default="false" /> | ||
229 | <xs:attribute name="useRegex" type="xs:boolean" default="false" /> | ||
230 | <xs:attribute name="buildAction" default="Compile"> | ||
231 | <xs:simpleType> | ||
232 | <xs:restriction base="xs:string"> | ||
233 | <xs:enumeration value="None" /> | ||
234 | <xs:enumeration value="Compile" /> | ||
235 | <xs:enumeration value="Content" /> | ||
236 | <xs:enumeration value="EmbeddedResource" /> | ||
237 | </xs:restriction> | ||
238 | </xs:simpleType> | ||
239 | </xs:attribute> | ||
240 | <xs:attribute name="resourceName" type="xs:string" default="" /> | ||
241 | <xs:attribute name="subType" default="Code"> | ||
242 | <xs:simpleType> | ||
243 | <xs:restriction base="xs:string"> | ||
244 | <xs:enumeration value="Code" /> | ||
245 | <xs:enumeration value="Component" /> | ||
246 | <xs:enumeration value="Designer" /> | ||
247 | <xs:enumeration value="Form" /> | ||
248 | <xs:enumeration value="Settings" /> | ||
249 | <xs:enumeration value="UserControl" /> | ||
250 | </xs:restriction> | ||
251 | </xs:simpleType> | ||
252 | </xs:attribute> | ||
253 | <xs:attribute name="link" type="xs:boolean" /> | ||
254 | <xs:attribute name="copyToOutput" default="Never"> | ||
255 | <xs:simpleType> | ||
256 | <xs:restriction base="xs:string"> | ||
257 | <xs:enumeration value="Never" /> | ||
258 | <xs:enumeration value="Always" /> | ||
259 | <xs:enumeration value="PreserveNewest" /> | ||
260 | </xs:restriction> | ||
261 | </xs:simpleType> | ||
262 | </xs:attribute> | ||
263 | <xs:attribute name="preservePath" type="xs:boolean" /> | ||
264 | <xs:attribute name="linkPath" type="xs:string" /> | ||
265 | </xs:complexType> | ||
266 | </xs:element> | ||
267 | <xs:element name="Exclude"> | ||
268 | <xs:complexType> | ||
269 | <xs:attribute name="name" type="xs:string" /> | ||
270 | <xs:attribute name="pattern" type="xs:string" /> | ||
271 | </xs:complexType> | ||
272 | </xs:element> | ||
261 | </xs:schema> | 273 | </xs:schema> |