* LinkerFlag tag support
* Build addsys, libwine.a, user32.dll, advapi32.dll, gdi32.dll,
msvcrt.dll, and welcome.exe
Modified: branches/xmlbuildsystem/reactos/ReactOS.xml
Added: branches/xmlbuildsystem/reactos/iface/addsys/addsys.xml
Modified: branches/xmlbuildsystem/reactos/iface/addsys/genw32k.c
Added: branches/xmlbuildsystem/reactos/iface/native/genntdll.xml
Deleted: branches/xmlbuildsystem/reactos/iface/native/module.xml
Added: branches/xmlbuildsystem/reactos/lib/advapi32/advapi32.xml
Modified: branches/xmlbuildsystem/reactos/lib/directory.xml
Added: branches/xmlbuildsystem/reactos/lib/gdi32/gdi32.xml
Added: branches/xmlbuildsystem/reactos/lib/libwine/libwine.xml
Modified: branches/xmlbuildsystem/reactos/lib/msvcrt/misc/dllmain.c
Modified: branches/xmlbuildsystem/reactos/lib/msvcrt/misc/environ.c
Added: branches/xmlbuildsystem/reactos/lib/msvcrt/msvcrt.xml
Added: branches/xmlbuildsystem/reactos/lib/user32/user32.xml
Added: branches/xmlbuildsystem/reactos/subsys/directory.xml
Added: branches/xmlbuildsystem/reactos/subsys/system/directory.xml
Added: branches/xmlbuildsystem/reactos/subsys/system/welcome/welcome.xml
Modified:
branches/xmlbuildsystem/reactos/tools/rbuild/backend/mingw/mingw.cpp
Modified:
branches/xmlbuildsystem/reactos/tools/rbuild/backend/mingw/mingw.h
Modified:
branches/xmlbuildsystem/reactos/tools/rbuild/backend/mingw/modulehandler
.cpp
Modified:
branches/xmlbuildsystem/reactos/tools/rbuild/backend/mingw/modulehandler
.h
Modified: branches/xmlbuildsystem/reactos/tools/rbuild/include.cpp
Added: branches/xmlbuildsystem/reactos/tools/rbuild/linkerflag.cpp
Modified: branches/xmlbuildsystem/reactos/tools/rbuild/makefile
Modified: branches/xmlbuildsystem/reactos/tools/rbuild/module.cpp
Modified: branches/xmlbuildsystem/reactos/tools/rbuild/project.cpp
Modified: branches/xmlbuildsystem/reactos/tools/rbuild/rbuild.h
Modified: branches/xmlbuildsystem/reactos/tools/rbuild/test.h
Modified:
branches/xmlbuildsystem/reactos/tools/rbuild/tests/alltests.cpp
Added:
branches/xmlbuildsystem/reactos/tools/rbuild/tests/data/linkerflag.xml
Added:
branches/xmlbuildsystem/reactos/tools/rbuild/tests/linkerflagtest.cpp
_____
Modified: branches/xmlbuildsystem/reactos/ReactOS.xml
--- branches/xmlbuildsystem/reactos/ReactOS.xml 2005-01-15 10:37:01 UTC
(rev 13054)
+++ branches/xmlbuildsystem/reactos/ReactOS.xml 2005-01-15 13:52:36 UTC
(rev 13055)
@@ -30,8 +30,11 @@
<xi:include href="hal/directory.xml" />
</directory>
<directory name="iface">
+ <directory name="addsys">
+ <xi:include href="iface/addsys/addsys.xml" />
+ </directory>
<directory name="native">
- <xi:include href="iface/native/module.xml" />
+ <xi:include href="iface/native/genntdll.xml" />
</directory>
</directory>
<directory name="lib">
@@ -40,4 +43,7 @@
<directory name="ntoskrnl">
<xi:include href="ntoskrnl/ntoskrnl.xml" />
</directory>
+ <directory name="subsys">
+ <xi:include href="subsys/directory.xml" />
+ </directory>
</project>
Property changes on: branches/xmlbuildsystem/reactos/iface/addsys
___________________________________________________________________
Name: svn:ignore
- genw32k
genw32k.exe
+ addsys
addsys.exe
_____
Added: branches/xmlbuildsystem/reactos/iface/addsys/addsys.xml
--- branches/xmlbuildsystem/reactos/iface/addsys/addsys.xml
2005-01-15 10:37:01 UTC (rev 13054)
+++ branches/xmlbuildsystem/reactos/iface/addsys/addsys.xml
2005-01-15 13:52:36 UTC (rev 13055)
@@ -0,0 +1,14 @@
+<module name="addsys" type="buildtool">
+ <include base="addsys">.</include>
+ <file>genw32k.c</file>
+ <invoke>
+ <input>
+ <inputfile>w32ksvc.db</inputfile>
+ </input>
+ <output>
+
<outputfile>../../subsys/win32k/main/svctab.c</outputfile>
+
<outputfile>../../lib/gdi32/misc/win32k.c</outputfile>
+
<outputfile>../../lib/user32/misc/win32k.c</outputfile>
+ </output>
+ </invoke>
+</module>
_____
Modified: branches/xmlbuildsystem/reactos/iface/addsys/genw32k.c
--- branches/xmlbuildsystem/reactos/iface/addsys/genw32k.c
2005-01-15 10:37:01 UTC (rev 13054)
+++ branches/xmlbuildsystem/reactos/iface/addsys/genw32k.c
2005-01-15 13:52:36 UTC (rev 13055)
@@ -299,11 +299,11 @@
void usage(char * argv0)
{
printf("Usage: %s w32ksvc.db w32k.lst ssdt.h win32k.c
win32k.c\n"
- " w32ksvc.db input file(system calls database)\n"
" w32k.lst system functions database\n"
" ssdt.h WIN32K service table\n"
" win32k.c GDI32 stubs\n"
- " win32k.c USER32 stubs\n",
+ " win32k.c USER32 stubs\n"
+ " w32ksvc.db input file(system calls database)\n",
argv0
);
}
@@ -322,34 +322,34 @@
return(1);
}
- in = fopen(argv[1],"rb");
- if (in == NULL)
- {
- perror("Failed to open input file (system calls
database)");
- return(1);
- }
-
- out1 = fopen(argv[2],"wb");
+ out1 = fopen(argv[1],"wb");
if (out1 == NULL)
{
perror("Failed to open output file (WIN32K service
table)");
return(1);
}
- out2 = fopen(argv[3],"wb");
+ out2 = fopen(argv[2],"wb");
if (out2 == NULL)
{
perror("Failed to open output file (GDI32 stubs)");
return(1);
}
- out3 = fopen(argv[4],"wb");
+ out3 = fopen(argv[3],"wb");
if (out3 == NULL)
{
perror("Failed to open output file (USER32 stubs)");
return(1);
}
+ in = fopen(argv[4],"rb");
+ if (in == NULL)
+ {
+ perror("Failed to open input file (system calls
database)");
+ return(1);
+ }
+
ret = process(in,out2,out3);
rewind(in);
ret = makeSystemServiceTable(in, out1);
_____
Copied: branches/xmlbuildsystem/reactos/iface/native/genntdll.xml (from
rev 12972, branches/xmlbuildsystem/reactos/iface/native/module.xml)
_____
Deleted: branches/xmlbuildsystem/reactos/iface/native/module.xml
--- branches/xmlbuildsystem/reactos/iface/native/module.xml
2005-01-15 10:37:01 UTC (rev 13054)
+++ branches/xmlbuildsystem/reactos/iface/native/module.xml
2005-01-15 13:52:36 UTC (rev 13055)
@@ -1,14 +0,0 @@
-<module name="genntdll" type="buildtool">
- <include base="genntdll">.</include>
- <file>genntdll.c</file>
- <invoke>
- <input>
- <inputfile>sysfuncs.lst</inputfile>
- </input>
- <output>
- <outputfile>../../lib/ntdll/napi.c</outputfile>
-
<outputfile>../../include/ntdll/napi.h</outputfile>
- <outputfile>../../ntoskrnl/nt/zw.c</outputfile>
- </output>
- </invoke>
-</module>
_____
Added: branches/xmlbuildsystem/reactos/lib/advapi32/advapi32.xml
--- branches/xmlbuildsystem/reactos/lib/advapi32/advapi32.xml
2005-01-15 10:37:01 UTC (rev 13054)
+++ branches/xmlbuildsystem/reactos/lib/advapi32/advapi32.xml
2005-01-15 13:52:36 UTC (rev 13055)
@@ -0,0 +1,47 @@
+<module name="advapi32" type="win32dll">
+ <importlibrary definition="advapi32.def" />
+ <include base="advapi32">.</include>
+ <define name="__USE_W32API" />
+ <define name="WINVER">0x600</define>
+ <define name="_WIN32_IE">0x0500</define>
+ <define name="_WIN32_WINNT">0x0501</define>
+ <library>ntdll</library>
+ <library>kernel32</library>
+ <directory name="crypt">
+ <file>crypt.c</file>
+ <file>crypt_des.c</file>
+ <file>crypt_lmhash.c</file>
+ <file>crypt_md4.c</file>
+ <file>crypt_md5.c</file>
+ <file>crypt_sha.c</file>
+ </directory>
+ <directory name="misc">
+ <file>dllmain.c</file>
+ <file>hwprofiles.c</file>
+ <file>logon.c</file>
+ <file>shutdown.c</file>
+ <file>sysfunc.c</file>
+ </directory>
+ <directory name="reg">
+ <file>reg.c</file>
+ </directory>
+ <directory name="sec">
+ <file>ac.c</file>
+ <file>audit.c</file>
+ <file>lsa.c</file>
+ <file>misc.c</file>
+ <file>sec.c</file>
+ <file>sid.c</file>
+ <file>trustee.c</file>
+ </directory>
+ <directory name="service">
+ <file>eventlog.c</file>
+ <file>scm.c</file>
+ <file>sctrl.c</file>
+ <file>undoc.c</file>
+ </directory>
+ <directory name="token">
+ <file>privilege.c</file>
+ <file>token.c</file>
+ </directory>
+</module>
_____
Modified: branches/xmlbuildsystem/reactos/lib/directory.xml
--- branches/xmlbuildsystem/reactos/lib/directory.xml 2005-01-15
10:37:01 UTC (rev 13054)
+++ branches/xmlbuildsystem/reactos/lib/directory.xml 2005-01-15
13:52:36 UTC (rev 13055)
@@ -1,3 +1,9 @@
+<directory name="advapi32">
+ <xi:include href="advapi32/advapi32.xml" />
+</directory>
+<directory name="gdi32">
+ <xi:include href="gdi32/gdi32.xml" />
+</directory>
<directory name="kernel32">
<xi:include href="kernel32/kernel32.xml" />
</directory>
@@ -4,6 +10,12 @@
<directory name="kjs">
<xi:include href="kjs/kjs.xml" />
</directory>
+<directory name="libwine">
+ <xi:include href="libwine/libwine.xml" />
+</directory>
+<directory name="msvcrt">
+ <xi:include href="msvcrt/msvcrt.xml" />
+</directory>
<directory name="ntdll">
<xi:include href="ntdll/ntdll.xml" />
</directory>
@@ -19,3 +31,6 @@
<directory name="string">
<xi:include href="string/string.xml" />
</directory>
+<directory name="user32">
+ <xi:include href="user32/user32.xml" />
+</directory>
_____
Added: branches/xmlbuildsystem/reactos/lib/gdi32/gdi32.xml
--- branches/xmlbuildsystem/reactos/lib/gdi32/gdi32.xml 2005-01-15
10:37:01 UTC (rev 13054)
+++ branches/xmlbuildsystem/reactos/lib/gdi32/gdi32.xml 2005-01-15
13:52:36 UTC (rev 13055)
@@ -0,0 +1,35 @@
+<module name="gdi32" type="win32dll">
+ <dependency>addsys</dependency>
+ <importlibrary definition="gdi32.def" />
+ <include base="gdi32">include</include>
+ <define name="_DISABLE_TIDENTS" />
+ <define name="UNICODE" />
+ <define name="__USE_W32API" />
+ <define name="WINVER">0x0600</define>
+ <define name="_WIN32_WINNT">0x0501</define>
+ <library>ntdll</library>
+ <library>rosrtl</library>
+ <library>kernel32</library>
+ <library>advapi32</library>
+ <directory name="main">
+ <file>dllmain.c</file>
+ </directory>
+ <directory name="misc">
+ <file>heap.c</file>
+ <file>misc.c</file>
+ <file>stubs.c</file>
+ <file>stubsa.c</file>
+ <file>stubsw.c</file>
+ <file>win32k.c</file>
+ <file>wingl.c</file>
+ </directory>
+ <directory name="objects">
+ <file>bitblt.c</file>
+ <file>dc.c</file>
+ <file>font.c</file>
+ <file>linedda.c</file>
+ <file>metafile.c</file>
+ <file>region.c</file>
+ <file>text.c</file>
+ </directory>
+</module>
_____
Added: branches/xmlbuildsystem/reactos/lib/libwine/libwine.xml
--- branches/xmlbuildsystem/reactos/lib/libwine/libwine.xml
2005-01-15 10:37:01 UTC (rev 13054)
+++ branches/xmlbuildsystem/reactos/lib/libwine/libwine.xml
2005-01-15 13:52:36 UTC (rev 13055)
@@ -0,0 +1,5 @@
+<module name="wine" type="staticlibrary">
+ <define name="_DISABLE_TIDENTS" />
+ <define name="__REACTOS__" />
+ <file>debug.c</file>
+</module>
_____
Modified: branches/xmlbuildsystem/reactos/lib/msvcrt/misc/dllmain.c
--- branches/xmlbuildsystem/reactos/lib/msvcrt/misc/dllmain.c
2005-01-15 10:37:01 UTC (rev 13054)
+++ branches/xmlbuildsystem/reactos/lib/msvcrt/misc/dllmain.c
2005-01-15 13:52:36 UTC (rev 13055)
@@ -91,8 +91,8 @@
return FALSE;
}
- _acmdln = strdup(GetCommandLineA());
- _wcmdln = wcsdup(GetCommandLineW());
+ _acmdln = _strdup(GetCommandLineA());
+ _wcmdln = _wcsdup(GetCommandLineW());
/* FIXME: more initializations... */
_____
Modified: branches/xmlbuildsystem/reactos/lib/msvcrt/misc/environ.c
--- branches/xmlbuildsystem/reactos/lib/msvcrt/misc/environ.c
2005-01-15 10:37:01 UTC (rev 13054)
+++ branches/xmlbuildsystem/reactos/lib/msvcrt/misc/environ.c
2005-01-15 13:52:36 UTC (rev 13055)
@@ -165,9 +165,9 @@
for (envptr = original_environment; count > 1; newenvptr++, count--)
{
if (wide)
- *newenvptr = (char*)wcsdup((wchar_t*)*envptr++);
+ *newenvptr = (char*)_wcsdup((wchar_t*)*envptr++);
else
- *newenvptr = strdup(*envptr++);
+ *newenvptr = _strdup(*envptr++);
if (*newenvptr == NULL)
{
for (newenvptr--; newenvptr >= newenv; newenvptr--);
@@ -243,7 +243,7 @@
/* Find the option we're trying to modify. */
for (index = 0, wenvptr = _wenviron; *wenvptr != NULL; wenvptr++,
index++)
{
- if (!wcsnicmp(*wenvptr, option, epos - option))
+ if (!_wcsnicmp(*wenvptr, option, epos - option))
{
found = 1;
break;
@@ -277,7 +277,7 @@
else
{
/* Make a copy of the option that we will store in the
environment block. */
- woption = wcsdup((wchar_t*)option);
+ woption = _wcsdup((wchar_t*)option);
if (woption == NULL)
{
free(name);
_____
Added: branches/xmlbuildsystem/reactos/lib/msvcrt/msvcrt.xml
--- branches/xmlbuildsystem/reactos/lib/msvcrt/msvcrt.xml
2005-01-15 10:37:01 UTC (rev 13054)
+++ branches/xmlbuildsystem/reactos/lib/msvcrt/msvcrt.xml
2005-01-15 13:52:36 UTC (rev 13055)
@@ -0,0 +1,443 @@
+<module name="msvcrt" type="win32dll">
+ <linkerflag>-nostartfiles</linkerflag>
+ <linkerflag>--enable-stdcall-fixup</linkerflag>
+ <linkerflag>-lgcc</linkerflag>
+ <importlibrary definition="msvcrt.def" />
+ <include base="msvcrt">.</include>
+ <define name="_DISABLE_TIDENTS" />
+ <define name="__USE_W32API" />
+ <define name="_WIN32_IE">0x600</define>
+ <define name="_WIN32_WINNT">0x501</define>
+ <define name="__REACTOS__" />
+ <define name="USE_MSVCRT_PREFIX" />
+ <define name="_MSVCRT_LIB_" />
+ <define name="_MT" />
+ <library>wine</library>
+ <library>string</library>
+ <library>kernel32</library>
+ <library>ntdll</library>
+ <directory name="conio">
+ <file>cgets.c</file>
+ <file>cprintf.c</file>
+ <file>cputs.c</file>
+ <file>cscanf.c</file>
+ <file>getch.c</file>
+ <file>getche.c</file>
+ <file>kbhit.c</file>
+ <file>putch.c</file>
+ <file>ungetch.c</file>
+ </directory>
+ <directory name="ctype">
+ <file>ctype.c</file>
+ <file>isalnum.c</file>
+ <file>isalpha.c</file>
+ <file>isascii.c</file>
+ <file>iscntrl.c</file>
+ <file>iscsym.c</file>
+ <file>isctype.c</file>
+ <file>isdigit.c</file>
+ <file>isgraph.c</file>
+ <file>islower.c</file>
+ <file>isprint.c</file>
+ <file>ispunct.c</file>
+ <file>isspace.c</file>
+ <file>isupper.c</file>
+ <file>isxdigit.c</file>
+ <file>toascii.c</file>
+ <file>tolower.c</file>
+ <file>toupper.c</file>
+ </directory>
+ <directory name="direct">
+ <file>chdir.c</file>
+ <file>chdrive.c</file>
+ <file>getcwd.c</file>
+ <file>getdcwd.c</file>
+ <file>getdfree.c</file>
+ <file>getdrive.c</file>
+ <file>mkdir.c</file>
+ <file>rmdir.c</file>
+ <file>wchdir.c</file>
+ <file>wgetcwd.c</file>
+ <file>wgetdcwd.c</file>
+ <file>wmkdir.c</file>
+ <file>wrmdir.c</file>
+ </directory>
+ <directory name="except">
+ <file>abnorter.c</file>
+ <file>exhand2.c</file>
+ <file>matherr.c</file>
+ <file>seh.s</file>
+ <file>unwind.c</file>
+ <file>xcptfil.c</file>
+ </directory>
+ <directory name="float">
+ <file>chgsign.c</file>
+ <file>clearfp.c</file>
+ <file>cntrlfp.c</file>
+ <file>copysign.c</file>
+ <file>fpclass.c</file>
+ <file>fpecode.c</file>
+ <file>fpreset.c</file>
+ <file>isnan.c</file>
+ <file>logb.c</file>
+ <file>nafter.c</file>
+ <file>scalb.c</file>
+ <file>statfp.c</file>
+ </directory>
+ <directory name="io">
+ <file>access.c</file>
+ <file>chmod.c</file>
+ <file>chsize.c</file>
+ <file>close.c</file>
+ <file>commit.c</file>
+ <file>create.c</file>
+ <file>dup2.c</file>
+ <file>dup.c</file>
+ <file>eof.c</file>
+ <file>filelen.c</file>
+ <file>fileleni.c</file>
+ <file>find.c</file>
+ <file>fmode.c</file>
+ <file>isatty.c</file>
+ <file>locking.c</file>
+ <file>lseek.c</file>
+ <file>lseeki64.c</file>
+ <file>mktemp.c</file>
+ <file>open.c</file>
+ <file>pipe.c</file>
+ <file>read.c</file>
+ <file>setmode.c</file>
+ <file>sopen.c</file>
+ <file>stubs.c</file>
+ <file>tell.c</file>
+ <file>telli64.c</file>
+ <file>umask.c</file>
+ <file>unlink.c</file>
+ <file>utime.c</file>
+ <file>waccess.c</file>
+ <file>wchmod.c</file>
+ <file>wcreate.c</file>
+ <file>wfind.c</file>
+ <file>wmktemp.c</file>
+ <file>wopen.c</file>
+ <file>write.c</file>
+ <file>wunlink.c</file>
+ <file>wutime.c</file>
+ </directory>
+ <directory name="locale">
+ <file>locale.c</file>
+ </directory>
+ <directory name="math">
+ <file>acos.c</file>
+ <file>adjust.c</file>
+ <file>asin.c</file>
+ <file>atan2.c</file>
+ <file>atan.c</file>
+ <file>cabs.c</file>
+ <file>ceil.c</file>
+ <file>cos.c</file>
+ <file>cosh.c</file>
+ <file>exp.c</file>
+ <file>fabs.c</file>
+ <file>floor.c</file>
+ <file>fmod.c</file>
+ <file>frexp.c</file>
+ <file>huge_val.c</file>
+ <file>hypot.c</file>
+ <file>j0_y0.c</file>
+ <file>j1_y1.c</file>
+ <file>jn_yn.c</file>
+ <file>ldexp.c</file>
+ <file>log10.c</file>
+ <file>log.c</file>
+ <file>math.c</file>
+ <file>modf.c</file>
+ <file>pow.c</file>
+ <file>sin.c</file>
+ <file>sinh.c</file>
+ <file>sqrt.c</file>
+ <file>stubs.c</file>
+ <file>tan.c</file>
+ <file>tanh.c</file>
+ </directory>
+ <directory name="mbstring">
+ <file>hanzen.c</file>
+ <file>ischira.c</file>
+ <file>iskana.c</file>
+ <file>iskmoji.c</file>
+ <file>iskpun.c</file>
+ <file>islead.c</file>
+ <file>islwr.c</file>
+ <file>ismbal.c</file>
+ <file>ismbaln.c</file>
+ <file>ismbc.c</file>
+ <file>ismbgra.c</file>
+ <file>ismbkaln.c</file>
+ <file>ismblead.c</file>
+ <file>ismbpri.c</file>
+ <file>ismbpun.c</file>
+ <file>ismbtrl.c</file>
+ <file>isuppr.c</file>
+ <file>jistojms.c</file>
+ <file>jmstojis.c</file>
+ <file>mbbtype.c</file>
+ <file>mbccpy.c</file>
+ <file>mbclen.c</file>
+ <file>mbscat.c</file>
+ <file>mbschr.c</file>
+ <file>mbscmp.c</file>
+ <file>mbscoll.c</file>
+ <file>mbscpy.c</file>
+ <file>mbscspn.c</file>
+ <file>mbsdec.c</file>
+ <file>mbsdup.c</file>
+ <file>mbsicmp.c</file>
+ <file>mbsicoll.c</file>
+ <file>mbsinc.c</file>
+ <file>mbslen.c</file>
+ <file>mbslwr.c</file>
+ <file>mbsncat.c</file>
+ <file>mbsnccnt.c</file>
+ <file>mbsncmp.c</file>
+ <file>mbsncoll.c</file>
+ <file>mbsncpy.c</file>
+ <file>mbsnextc.c</file>
+ <file>mbsnicmp.c</file>
+ <file>mbsnicoll.c</file>
+ <file>mbsninc.c</file>
+ <file>mbsnset.c</file>
+ <file>mbspbrk.c</file>
+ <file>mbsrchr.c</file>
+ <file>mbsrev.c</file>
+ <file>mbsset.c</file>
+ <file>mbsspn.c</file>
+ <file>mbsspnp.c</file>
+ <file>mbsstr.c</file>
+ <file>mbstok.c</file>
+ <file>mbstrlen.c</file>
+ <file>mbsupr.c</file>
+ </directory>
+ <directory name="misc">
+ <file>amsg.c</file>
+ <file>assert.c</file>
+ <file>crtmain.c</file>
+ <file>dllmain.c</file>
+ <file>environ.c</file>
+ <file>getargs.c</file>
+ <file>initterm.c</file>
+ <file>lock.c</file>
+ <file>purecall.c</file>
+ <file>stubs.c</file>
+ <file>tls.c</file>
+ </directory>
+ <directory name="process">
+ <file>_cwait.c</file>
+ <file>_system.c</file>
+ <file>dll.c</file>
+ <file>process.c</file>
+ <file>procid.c</file>
+ <file>thread.c</file>
+ <file>threadid.c</file>
+ <file>threadx.c</file>
+ </directory>
+ <directory name="search">
+ <file>lfind.c</file>
+ <file>lsearch.c</file>
+ </directory>
+ <directory name="setjmp">
+ <directory name="i386">
+ <file>setjmp.s</file>
+ </directory>
+ </directory>
+ <directory name="signal">
+ <file>signal.c</file>
+ </directory>
+ <directory name="stdio">
+ <file>allocfil.c</file>
+ <file>clearerr.c</file>
+ <file>fclose.c</file>
+ <file>fdopen.c</file>
+ <file>feof.c</file>
+ <file>ferror.c</file>
+ <file>fflush.c</file>
+ <file>fgetc.c</file>
+ <file>fgetchar.c</file>
+ <file>fgetpos.c</file>
+ <file>fgets.c</file>
+ <file>fgetws.c</file>
+ <file>filbuf.c</file>
+ <file>fileno.c</file>
+ <file>flsbuf.c</file>
+ <file>fopen.c</file>
+ <file>fprintf.c</file>
+ <file>fputc.c</file>
+ <file>fputchar.c</file>
+ <file>fputs.c</file>
+ <file>fread.c</file>
+ <file>freopen.c</file>
+ <file>fscanf.c</file>
+ <file>fseek.c</file>
+ <file>fsetpos.c</file>
+ <file>fsopen.c</file>
+ <file>ftell.c</file>
+ <file>fwalk.c</file>
+ <file>fwrite.c</file>
+ <file>getc.c</file>
+ <file>getchar.c</file>
+ <file>gets.c</file>
+ <file>getw.c</file>
+ <file>perror.c</file>
+ <file>popen.c</file>
+ <file>printf.c</file>
+ <file>putc.c</file>
+ <file>putchar.c</file>
+ <file>puts.c</file>
+ <file>putw.c</file>
+ <file>remove.c</file>
+ <file>rename.c</file>
+ <file>rewind.c</file>
+ <file>rmtmp.c</file>
+ <file>scanf.c</file>
+ <file>setbuf.c</file>
+ <file>setvbuf.c</file>
+ <file>sprintf.c</file>
+ <file>sscanf.c</file>
+ <file>stdhnd.c</file>
+ <file>tempnam.c</file>
+ <file>tmpfile.c</file>
+ <file>tmpnam.c</file>
+ <file>ungetc.c</file>
+ <file>vfprintf.c</file>
+ <file>vfscanf.c</file>
+ <file>vfwprint.c</file>
+ <file>vprintf.c</file>
+ <file>vscanf.c</file>
+ <file>vsprintf.c</file>
+ <file>vsscanf.c</file>
+ <file>wfdopen.c</file>
+ <file>wrename.c</file>
+ <file>wtempnam.c</file>
+ <file>wtmpnam.c</file>
+ </directory>
+ <directory name="stdlib">
+ <file>abort.c</file>
+ <file>abs.c</file>
+ <file>atexit.c</file>
+ <file>atof.c</file>
+ <file>atoi.c</file>
+ <file>atoi64.c</file>
+ <file>atol.c</file>
+ <file>atold.c</file>
+ <file>bsearch.c</file>
+ <file>div.c</file>
+ <file>ecvt.c</file>
+ <file>ecvtbuf.c</file>
+ <file>errno.c</file>
+ <file>fcvt.c</file>
+ <file>fcvtbuf.c</file>
+ <file>fullpath.c</file>
+ <file>gcvt.c</file>
+ <file>getenv.c</file>
+ <file>itoa.c</file>
+ <file>itow.c</file>
+ <file>labs.c</file>
+ <file>ldiv.c</file>
+ <file>makepath.c</file>
+ <file>malloc.c</file>
+ <file>mbstowcs.c</file>
+ <file>mbtowc.c</file>
+ <file>obsol.c</file>
+ <file>putenv.c</file>
+ <file>qsort.c</file>
+ <file>rand.c</file>
+ <file>rot.c</file>
+ <file>senv.c</file>
+ <file>splitp.c</file>
+ <file>strtod.c</file>
+ <file>strtol.c</file>
+ <file>strtold.c</file>
+ <file>strtoll.c</file>
+ <file>strtoul.c</file>
+ <file>strtoull.c</file>
+ <file>swab.c</file>
+ <file>wcstod.c</file>
+ <file>wcstol.c</file>
+ <file>wcstom.c</file>
+ <file>wcstomb.c</file>
+ <file>wcstombs.c</file>
+ <file>wcstoul.c</file>
+ <file>wctomb.c</file>
+ <file>wfulpath.c</file>
+ <file>witoa.c</file>
+ <file>witow.c</file>
+ <file>wmakpath.c</file>
+ <file>wputenv.c</file>
+ <file>wsenv.c</file>
+ <file>wsplitp.c</file>
+ <file>wtoi.c</file>
+ <file>wtoi64.c</file>
+ <file>_exit.c</file>
+ </directory>
+ <directory name="string">
+ <file>lasttok.c</file>
+ <file>memicmp.c</file>
+ <file>strcoll.c</file>
+ <file>strdup.c</file>
+ <file>strerror.c</file>
+ <file>stricmp.c</file>
+ <file>strlwr.c</file>
+ <file>strncoll.c</file>
+ <file>strnicmp.c</file>
+ <file>strpbrk.c</file>
+ <file>strrev.c</file>
+ <file>strset.c</file>
+ <file>strstr.c</file>
+ <file>strtok.c</file>
+ <file>strupr.c</file>
+ <file>strxfrm.c</file>
+ </directory>
+ <directory name="sys_stat">
+ <file>fstat.c</file>
+ <file>fstati64.c</file>
+ <file>futime.c</file>
+ <file>stat.c</file>
+ <file>wstat.c</file>
+ </directory>
+ <directory name="time">
+ <file>clock.c</file>
+ <file>ctime.c</file>
+ <file>difftime.c</file>
+ <file>ftime.c</file>
+ <file>strdate.c</file>
+ <file>strftime.c</file>
+ <file>strtime.c</file>
+ <file>time.c</file>
+ <file>tz_vars.c</file>
+ <file>wctime.c</file>
+ <file>wstrdate.c</file>
+ <file>wstrtime.c</file>
+ </directory>
+ <directory name="wine">
+ <file>cpp.c</file>
+ <file>cppexcept.c</file>
+ <file>heap.c</file>
+ <file>thread.c</file>
+ </directory>
+ <directory name="wstring">
+ <file>wcscoll.c</file>
+ <file>wcscspn.c</file>
+ <file>wcsdup.c</file>
+ <file>wcsicmp.c</file>
+ <file>wcslwr.c</file>
+ <file>wcsnicmp.c</file>
+ <file>wcspbrk.c</file>
+ <file>wcsrev.c</file>
+ <file>wcsset.c</file>
+ <file>wcsspn.c</file>
+ <file>wcsstr.c</file>
+ <file>wcstok.c</file>
+ <file>wcsupr.c</file>
+ <file>wcsxfrm.c</file>
+ <file>wlasttok.c</file>
+ </directory>
+</module>
_____
Added: branches/xmlbuildsystem/reactos/lib/user32/user32.xml
--- branches/xmlbuildsystem/reactos/lib/user32/user32.xml
2005-01-15 10:37:01 UTC (rev 13054)
+++ branches/xmlbuildsystem/reactos/lib/user32/user32.xml
2005-01-15 13:52:36 UTC (rev 13055)
@@ -0,0 +1,74 @@
+<module name="user32" type="win32dll">
+ <dependency>addsys</dependency>
+ <importlibrary definition="user32.def" />
+ <include base="user32">include</include>
+ <define name="_DISABLE_TIDENTS" />
+ <define name="UNICODE" />
+ <define name="__REACTOS__" />
+ <define name="__USE_W32API" />
+ <define name="WINVER">0x0600</define>
+ <define name="_WIN32_WINNT">0x0501</define>
+ <library>wine</library>
+ <library>ntdll</library>
+ <library>gdi32</library>
+ <library>rosrtl</library>
+ <library>kernel32</library>
+ <library>advapi32</library>
+ <directory name="controls">
+ <file>button.c</file>
+ <file>combo.c</file>
+ <file>edit.c</file>
+ <file>icontitle.c</file>
+ <file>listbox.c</file>
+ <file>regcontrol.c</file>
+ <file>scrollbar.c</file>
+ <file>static.c</file>
+ </directory>
+ <directory name="misc">
+ <file>dde.c</file>
+ <file>ddeclient.c</file>
+ <file>ddeserver.c</file>
+ <file>desktop.c</file>
+ <file>display.c</file>
+ <file>dllmain.c</file>
+ <file>exit.c</file>
+ <file>exticon.c</file>
+ <file>misc.c</file>
+ <file>object.c</file>
+ <file>resources.c</file>
+ <file>strpool.c</file>
+ <file>stubs.c</file>
+ <file>timer.c</file>
+ <file>win32k.c</file>
+ <file>winhelp.c</file>
+ <file>winsta.c</file>
+ <file>wsprintf.c</file>
+ </directory>
+ <directory name="windows">
+ <file>accel.c</file>
+ <file>bitmap.c</file>
+ <file>caret.c</file>
+ <file>class.c</file>
+ <file>clipboard.c</file>
+ <file>cursor.c</file>
+ <file>dc.c</file>
+ <file>defwnd.c</file>
+ <file>dialog.c</file>
+ <file>draw.c</file>
+ <file>font.c</file>
+ <file>hook.c</file>
+ <file>icon.c</file>
+ <file>input.c</file>
+ <file>mdi.c</file>
+ <file>menu.c</file>
+ <file>message.c</file>
+ <file>messagebox.c</file>
+ <file>nonclient.c</file>
+ <file>paint.c</file>
+ <file>prop.c</file>
+ <file>rect.c</file>
+ <file>text.c</file>
+ <file>window.c</file>
+ <file>winpos.c</file>
+ </directory>
+</module>
_____
Added: branches/xmlbuildsystem/reactos/subsys/directory.xml
--- branches/xmlbuildsystem/reactos/subsys/directory.xml
2005-01-15 10:37:01 UTC (rev 13054)
+++ branches/xmlbuildsystem/reactos/subsys/directory.xml
2005-01-15 13:52:36 UTC (rev 13055)
@@ -0,0 +1,3 @@
+<directory name="system">
+ <xi:include href="system/directory.xml" />
+</directory>
_____
Added: branches/xmlbuildsystem/reactos/subsys/system/directory.xml
--- branches/xmlbuildsystem/reactos/subsys/system/directory.xml
2005-01-15 10:37:01 UTC (rev 13054)
+++ branches/xmlbuildsystem/reactos/subsys/system/directory.xml
2005-01-15 13:52:36 UTC (rev 13055)
@@ -0,0 +1,3 @@
+<directory name="welcome">
+ <xi:include href="welcome/welcome.xml" />
+</directory>
_____
Added: branches/xmlbuildsystem/reactos/subsys/system/welcome/welcome.xml
--- branches/xmlbuildsystem/reactos/subsys/system/welcome/welcome.xml
2005-01-15 10:37:01 UTC (rev 13054)
+++ branches/xmlbuildsystem/reactos/subsys/system/welcome/welcome.xml
2005-01-15 13:52:36 UTC (rev 13055)
@@ -0,0 +1,9 @@
+<module name="welcome" type="win32gui">
+ <define name="_WIN32_IE">0x0501</define>
+ <define name="_WIN32_WINNT">0x0501</define>
+ <define name="__USE_W32API" />
+ <library>kernel32</library>
+ <library>gdi32</library>
+ <library>user32</library>
+ <file>welcome.c</file>
+</module>
_____
Modified:
branches/xmlbuildsystem/reactos/tools/rbuild/backend/mingw/mingw.cpp
--- branches/xmlbuildsystem/reactos/tools/rbuild/backend/mingw/mingw.cpp
2005-01-15 10:37:01 UTC (rev 13054)
+++ branches/xmlbuildsystem/reactos/tools/rbuild/backend/mingw/mingw.cpp
2005-01-15 13:52:36 UTC (rev 13055)
@@ -129,6 +129,20 @@
}
}
+string
+MingwBackend::GenerateProjectLFLAGS ()
+{
+ string lflags;
+ for ( size_t i = 0; i < ProjectNode.linkerFlags.size (); i++ )
+ {
+ LinkerFlag& linkerFlag = *ProjectNode.linkerFlags[i];
+ if ( lflags.length () > 0 )
+ lflags += " ";
+ lflags += linkerFlag.flag;
+ }
+ return lflags;
+}
+
void
MingwBackend::GenerateGlobalVariables ()
{
@@ -146,6 +160,7 @@
ProjectNode.includes,
ProjectNode.defines,
ProjectNode.ifs );
+ fprintf ( fMakefile, "PROJECT_LFLAGS = %s\n",
GenerateProjectLFLAGS ().c_str () );
fprintf ( fMakefile, "\n" );
fprintf ( fMakefile, ".PHONY: clean\n\n" );
_____
Modified:
branches/xmlbuildsystem/reactos/tools/rbuild/backend/mingw/mingw.h
--- branches/xmlbuildsystem/reactos/tools/rbuild/backend/mingw/mingw.h
2005-01-15 10:37:01 UTC (rev 13054)
+++ branches/xmlbuildsystem/reactos/tools/rbuild/backend/mingw/mingw.h
2005-01-15 13:52:36 UTC (rev 13055)
@@ -21,6 +21,7 @@
const std::vector<Include*>& includes,
const std::vector<Define*>& defines,
const std::vector<If*>& ifs );
+ std::string GenerateProjectLFLAGS ();
void GenerateGlobalVariables ();
void GenerateAllTarget ();
FILE* fMakefile;
_____
Modified:
branches/xmlbuildsystem/reactos/tools/rbuild/backend/mingw/modulehandler
.cpp
---
branches/xmlbuildsystem/reactos/tools/rbuild/backend/mingw/modulehandler
.cpp 2005-01-15 10:37:01 UTC (rev 13054)
+++
branches/xmlbuildsystem/reactos/tools/rbuild/backend/mingw/modulehandler
.cpp 2005-01-15 13:52:36 UTC (rev 13055)
@@ -265,15 +265,38 @@
return parameters;
}
+
+string
+MingwModuleHandler::GenerateLinkerParametersFromVector ( const
vector<LinkerFlag*>& linkerFlags ) const
+{
+ string parameters;
+ for ( size_t i = 0; i < linkerFlags.size (); i++ )
+ {
+ LinkerFlag& linkerFlag = *linkerFlags[i];
+ if ( parameters.length () > 0 )
+ parameters += " ";
+ parameters += linkerFlag.flag;
+ }
+ return parameters;
+}
+
+string
+MingwModuleHandler::GenerateLinkerParameters ( const Module& module )
const
+{
+ return GenerateLinkerParametersFromVector ( module.linkerFlags
);
+}
+
void
MingwModuleHandler::GenerateMacros (
- const char* op,
+ const char* assignmentOperation,
const vector<File*>& files,
const vector<Include*>& includes,
const vector<Define*>& defines,
+ const vector<LinkerFlag*>* linkerFlags,
const vector<If*>& ifs,
const string& cflags_macro,
const string& nasmflags_macro,
+ const string& linkerflags_macro,
const string& objs_macro) const
{
size_t i;
@@ -284,7 +307,7 @@
fMakefile,
"%s %s",
cflags_macro.c_str(),
- op );
+ assignmentOperation );
for ( i = 0; i < includes.size(); i++ )
{
fprintf (
@@ -307,14 +330,28 @@
}
fprintf ( fMakefile, "\n" );
}
-
+
+ if ( linkerFlags != NULL )
+ {
+ string linkerParameters =
GenerateLinkerParametersFromVector ( *linkerFlags );
+ if ( linkerParameters.size () > 0 )
+ {
+ fprintf (
+ fMakefile,
+ "%s %s %s\n",
+ linkerflags_macro.c_str (),
+ assignmentOperation,
+ linkerParameters.c_str() );
+ }
+ }
+
if ( files.size() )
{
fprintf (
fMakefile,
"%s %s",
objs_macro.c_str(),
[truncated at 1000 lines; 641 more skipped]