Added: branches/xmlbuildsystem/reactos/lib/acledit/acledit.xml
Added: branches/xmlbuildsystem/reactos/lib/aclui/aclui.xml
Added: branches/xmlbuildsystem/reactos/lib/comctl32/comctl32.xml
Added: branches/xmlbuildsystem/reactos/lib/comctl32/idb_hist_large.bmp
Added: branches/xmlbuildsystem/reactos/lib/comctl32/idb_hist_small.bmp
Added: branches/xmlbuildsystem/reactos/lib/comctl32/idb_std_large.bmp
Added: branches/xmlbuildsystem/reactos/lib/comctl32/idb_std_small.bmp
Added: branches/xmlbuildsystem/reactos/lib/comctl32/idb_view_large.bmp
Added: branches/xmlbuildsystem/reactos/lib/comctl32/idb_view_small.bmp
Added: branches/xmlbuildsystem/reactos/lib/comctl32/idc_copy.cur
Added: branches/xmlbuildsystem/reactos/lib/comctl32/idc_divider.cur
Added: branches/xmlbuildsystem/reactos/lib/comctl32/idc_divideropen.cur
Added: branches/xmlbuildsystem/reactos/lib/comctl32/idc_movebutton.cur
Added: branches/xmlbuildsystem/reactos/lib/comctl32/idi_dragarrow.ico
Added: branches/xmlbuildsystem/reactos/lib/comctl32/idi_tt_error_sm.ico
Added: branches/xmlbuildsystem/reactos/lib/comctl32/idi_tt_info_sm.ico
Added: branches/xmlbuildsystem/reactos/lib/comctl32/idi_tt_warn_sm.ico
Added: branches/xmlbuildsystem/reactos/lib/comctl32/idt_check.bmp
Modified: branches/xmlbuildsystem/reactos/lib/directory.xml
Added: branches/xmlbuildsystem/reactos/lib/winmm/winmm.xml
Added: branches/xmlbuildsystem/reactos/tools/bin2res/bin2res.xml
Modified: branches/xmlbuildsystem/reactos/tools/rbuild/backend/mingw/mingw.cpp
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/makefile
Modified: branches/xmlbuildsystem/reactos/tools/rbuild/module.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/functiontest.cpp
Modified: branches/xmlbuildsystem/reactos/tools/tools.xml
Property changes on: branches/xmlbuildsystem/reactos/drivers/video/displays/vga
___________________________________________________________________
Name: svn:ignore
- vgaddi.coff
*.sym
*.o
*.a
*.dll
*.map
*.tmp
.*.d
+ vgaddi.coff
*.sym
*.o
*.a
*.dll
*.map
*.tmp
.*.d
*.sys
--- branches/xmlbuildsystem/reactos/lib/acledit/acledit.xml 2005-01-20 21:03:35 UTC (rev 13167)
+++ branches/xmlbuildsystem/reactos/lib/acledit/acledit.xml 2005-01-20 22:19:01 UTC (rev 13168)
@@ -0,0 +1,14 @@
+<module name="acledit" type="win32dll">
+ <importlibrary definition="acledit.def" />
+ <include base="acledit">.</include>
+ <define name="UNICODE" />
+ <define name="_UNICODE" />
+ <define name="__REACTOS__" />
+ <library>ntdll</library>
+ <library>kernel32</library>
+ <library>advapi32</library>
+ <library>user32</library>
+ <file>acledit.c</file>
+ <file>stubs.c</file>
+ <file>acledit.rc</file>
+</module>
--- branches/xmlbuildsystem/reactos/lib/aclui/aclui.xml 2005-01-20 21:03:35 UTC (rev 13167)
+++ branches/xmlbuildsystem/reactos/lib/aclui/aclui.xml 2005-01-20 22:19:01 UTC (rev 13168)
@@ -0,0 +1,18 @@
+<module name="aclui" type="win32dll">
+ <importlibrary definition="aclui.def" />
+ <include base="aclui">.</include>
+ <define name="UNICODE" />
+ <define name="_UNICODE" />
+ <define name="__REACTOS__" />
+ <define name="__USE_W32API" />
+ <define name="_WIN32_IE">0x0500</define>
+ <define name="_WIN32_WINNT">0x501</define>
+ <define name="WINVER">0x0600</define>
+ <library>rosrtl</library>
+ <library>ntdll</library>
+ <library>kernel32</library>
+ <library>user32</library>
+ <library>comctl32</library>
+ <file>aclui.c</file>
+ <file>aclui.rc</file>
+</module>
Property changes on: branches/xmlbuildsystem/reactos/lib/comctl32
___________________________________________________________________
Name: svn:ignore
- *.coff
*.dll
*.d
*.a
*.o
*.sym
*.map
*.tmp
Makefile.ros
*.spec.def
*.stubs.c
*.ico
*.bmp
*.cur
+ *.coff
*.dll
*.d
*.a
*.o
*.sym
*.map
*.tmp
Makefile.ros
*.spec.def
*.stubs.c
--- branches/xmlbuildsystem/reactos/lib/comctl32/comctl32.xml 2005-01-20 21:03:35 UTC (rev 13167)
+++ branches/xmlbuildsystem/reactos/lib/comctl32/comctl32.xml 2005-01-20 22:19:01 UTC (rev 13168)
@@ -0,0 +1,51 @@
+<module name="comctl32" type="win32dll">
+ <dependency>bin2res</dependency>
+ <dependency>winebuild</dependency>
+ <importlibrary definition="comctl32.spec.def" />
+ <include base="comctl32">.</include>
+ <include base="ReactOS">include/wine</include>
+ <define name="UNICODE" />
+ <define name="_UNICODE" />
+ <define name="__REACTOS__" />
+ <define name="__USE_W32API" />
+ <define name="_WIN32_IE">0x600</define>
+ <define name="_WIN32_WINNT">0x501</define>
+ <define name="WINVER">0x501</define>
+ <library>wine</library>
+ <library>ntdll</library>
+ <library>kernel32</library>
+ <library>advapi32</library>
+ <library>gdi32</library>
+ <library>user32</library>
+ <library>winmm</library>
+ <file>animate.c</file>
+ <file>comboex.c</file>
+ <file>comctl32undoc.c</file>
+ <file>commctrl.c</file>
+ <file>datetime.c</file>
+ <file>draglist.c</file>
+ <file>flatsb.c</file>
+ <file>header.c</file>
+ <file>hotkey.c</file>
+ <file>imagelist.c</file>
+ <file>ipaddress.c</file>
+ <file>listview.c</file>
+ <file>monthcal.c</file>
+ <file>nativefont.c</file>
+ <file>pager.c</file>
+ <file>progress.c</file>
+ <file>propsheet.c</file>
+ <file>rebar.c</file>
+ <file>smoothscroll.c</file>
+ <file>string.c</file>
+ <file>status.c</file>
+ <file>syslink.c</file>
+ <file>tab.c</file>
+ <file>toolbar.c</file>
+ <file>tooltips.c</file>
+ <file>trackbar.c</file>
+ <file>treeview.c</file>
+ <file>updown.c</file>
+ <file>rsrc.rc</file>
+ <file>comctl32.spec</file>
+</module>
(Binary files differ)
Property changes on: branches/xmlbuildsystem/reactos/lib/comctl32/idb_hist_large.bmp
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
(Binary files differ)
Property changes on: branches/xmlbuildsystem/reactos/lib/comctl32/idb_hist_small.bmp
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
(Binary files differ)
Property changes on: branches/xmlbuildsystem/reactos/lib/comctl32/idb_std_large.bmp
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
(Binary files differ)
Property changes on: branches/xmlbuildsystem/reactos/lib/comctl32/idb_std_small.bmp
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
(Binary files differ)
Property changes on: branches/xmlbuildsystem/reactos/lib/comctl32/idb_view_large.bmp
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
(Binary files differ)
Property changes on: branches/xmlbuildsystem/reactos/lib/comctl32/idb_view_small.bmp
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
(Binary files differ)
Property changes on: branches/xmlbuildsystem/reactos/lib/comctl32/idc_copy.cur
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
(Binary files differ)
Property changes on: branches/xmlbuildsystem/reactos/lib/comctl32/idc_divider.cur
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
(Binary files differ)
Property changes on: branches/xmlbuildsystem/reactos/lib/comctl32/idc_divideropen.cur
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
(Binary files differ)
Property changes on: branches/xmlbuildsystem/reactos/lib/comctl32/idc_movebutton.cur
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
(Binary files differ)
Property changes on: branches/xmlbuildsystem/reactos/lib/comctl32/idi_dragarrow.ico
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
(Binary files differ)
Property changes on: branches/xmlbuildsystem/reactos/lib/comctl32/idi_tt_error_sm.ico
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
(Binary files differ)
Property changes on: branches/xmlbuildsystem/reactos/lib/comctl32/idi_tt_info_sm.ico
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
(Binary files differ)
Property changes on: branches/xmlbuildsystem/reactos/lib/comctl32/idi_tt_warn_sm.ico
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
(Binary files differ)
Property changes on: branches/xmlbuildsystem/reactos/lib/comctl32/idt_check.bmp
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
--- branches/xmlbuildsystem/reactos/lib/directory.xml 2005-01-20 21:03:35 UTC (rev 13167)
+++ branches/xmlbuildsystem/reactos/lib/directory.xml 2005-01-20 22:19:01 UTC (rev 13168)
@@ -1,3 +1,9 @@
+<directory name="acledit">
+ <xi:include href="acledit/acledit.xml" />
+</directory>
+<directory name="aclui">
+ <xi:include href="aclui/aclui.xml" />
+</directory>
<directory name="adns">
<xi:include href="adns/adns.xml" />
</directory>
@@ -4,6 +10,9 @@
<directory name="advapi32">
<xi:include href="advapi32/advapi32.xml" />
</directory>
+<directory name="comctl32">
+ <xi:include href="comctl32/comctl32.xml" />
+</directory>
<directory name="dnsapi">
<xi:include href="dnsapi/dnsapi.xml" />
</directory>
@@ -46,6 +55,9 @@
<directory name="user32">
<xi:include href="user32/user32.xml" />
</directory>
+<directory name="winmm">
+ <xi:include href="winmm/winmm.xml" />
+</directory>
<directory name="ws2_32">
<xi:include href="ws2_32/ws2_32.xml" />
</directory>
--- branches/xmlbuildsystem/reactos/lib/winmm/winmm.xml 2005-01-20 21:03:35 UTC (rev 13167)
+++ branches/xmlbuildsystem/reactos/lib/winmm/winmm.xml 2005-01-20 22:19:01 UTC (rev 13168)
@@ -0,0 +1,29 @@
+<module name="winmm" type="win32dll">
+ <dependency>bin2res</dependency>
+ <dependency>winebuild</dependency>
+ <importlibrary definition="winmm.spec.def" />
+ <include base="winmm">.</include>
+ <include base="ReactOS">include/wine</include>
+ <define name="UNICODE" />
+ <define name="_UNICODE" />
+ <define name="__REACTOS__" />
+ <define name="__USE_W32API" />
+ <define name="_WIN32_IE">0x600</define>
+ <define name="_WIN32_WINNT">0x501</define>
+ <define name="WINVER">0x501</define>
+ <library>wine</library>
+ <library>ntdll</library>
+ <library>kernel32</library>
+ <library>advapi32</library>
+ <library>user32</library>
+ <file>driver.c</file>
+ <file>joystick.c</file>
+ <file>lolvldrv.c</file>
+ <file>mci.c</file>
+ <file>mmio.c</file>
+ <file>playsound.c</file>
+ <file>time.c</file>
+ <file>winmm.c</file>
+ <file>winmm_res.rc</file>
+ <file>winmm.spec</file>
+</module>
--- branches/xmlbuildsystem/reactos/tools/bin2res/bin2res.xml 2005-01-20 21:03:35 UTC (rev 13167)
+++ branches/xmlbuildsystem/reactos/tools/bin2res/bin2res.xml 2005-01-20 22:19:01 UTC (rev 13168)
@@ -0,0 +1,6 @@
+<module name="bin2res" type="buildtool">
+ <include base="ReactOS">include/wine</include>
+ <define name="__REACTOS__" />
+ <file>bin2res.c</file>
+ <file>mkstemps.c</file>
+</module>
--- branches/xmlbuildsystem/reactos/tools/rbuild/backend/mingw/mingw.cpp 2005-01-20 21:03:35 UTC (rev 13167)
+++ branches/xmlbuildsystem/reactos/tools/rbuild/backend/mingw/mingw.cpp 2005-01-20 22:19:01 UTC (rev 13168)
@@ -184,6 +184,7 @@
fprintf ( fMakefile, "mkdir = tools%crmkdir\n", CSEP );
fprintf ( fMakefile, "NUL=NUL\n" );
fprintf ( fMakefile, "winebuild = tools" SSEP "winebuild" SSEP "winebuild\n" );
+ fprintf ( fMakefile, "bin2res = tools" SSEP "winebuild" SSEP "bin2res\n" );
fprintf ( fMakefile, "\n" );
GenerateGlobalCFlagsAndProperties (
"=",
@@ -197,13 +198,12 @@
fprintf ( fMakefile, "\n" );
fprintf ( fMakefile, ".PHONY: clean\n\n" );
- //fprintf ( fMakefile, "clean:\n\t-@${rm} $(PROJECT_CLEAN)\n\n" );
}
void
MingwBackend::GenerateAllTarget ()
{
- fprintf ( fMakefile, "all:" );
+ fprintf ( fMakefile, "all:" );
for ( size_t i = 0; i < ProjectNode.modules.size (); i++ )
{
Module& module = *ProjectNode.modules[i];
@@ -227,5 +227,5 @@
string
FixupTargetFilename ( const string& targetFilename )
{
- return string("$(ROS_INTERMEDIATE)") + targetFilename;
+ return string("$(ROS_INTERMEDIATE)") + NormalizeFilename ( targetFilename );
}
--- branches/xmlbuildsystem/reactos/tools/rbuild/backend/mingw/modulehandler.cpp 2005-01-20 21:03:35 UTC (rev 13167)
+++ branches/xmlbuildsystem/reactos/tools/rbuild/backend/mingw/modulehandler.cpp 2005-01-20 22:19:01 UTC (rev 13168)
@@ -136,6 +136,16 @@
".a" );
}
+bool
+MingwModuleHandler::IsGeneratedFile ( const File& file ) const
+{
+ string extension = GetExtension ( file.name );
+ if ( extension == ".spec" || extension == "SPEC" )
+ return true;
+ else
+ return false;
+}
+
string
MingwModuleHandler::GetImportLibraryDependencies ( const Module& module ) const
{
@@ -191,13 +201,17 @@
}
string
-MingwModuleHandler::GetSourceFilenames ( const Module& module ) const
+MingwModuleHandler::GetSourceFilenames ( const Module& module,
+ bool includeGeneratedFiles ) const
{
size_t i;
string sourceFilenames ( "" );
for ( i = 0; i < module.files.size (); i++ )
- sourceFilenames += " " + GetActualSourceFilename ( module.files[i]->name );
+ {
+ if ( includeGeneratedFiles || !IsGeneratedFile ( *module.files[i] ) )
+ sourceFilenames += " " + GetActualSourceFilename ( module.files[i]->name );
+ }
vector<If*> ifs = module.ifs;
for ( i = 0; i < ifs.size(); i++ )
{
@@ -206,12 +220,29 @@
for ( j = 0; j < rIf.ifs.size(); j++ )
ifs.push_back ( rIf.ifs[j] );
for ( j = 0; j < rIf.files.size(); j++ )
- sourceFilenames += " " + GetActualSourceFilename ( rIf.files[j]->name );
+ {
+ if ( includeGeneratedFiles || !IsGeneratedFile ( *rIf.files[j] ) )
+ sourceFilenames += " " + GetActualSourceFilename ( rIf.files[j]->name );
+ }
}
return sourceFilenames;
}
string
+MingwModuleHandler::GetSourceFilenames ( const Module& module ) const
+{
+ return GetSourceFilenames ( module,
+ true );
+}
+
+string
+MingwModuleHandler::GetSourceFilenamesWithoutGeneratedFiles ( const Module& module ) const
+{
+ return GetSourceFilenames ( module,
+ false );
+}
+
+string
MingwModuleHandler::GetObjectFilename ( const string& sourceFilename ) const
{
string newExtension;
@@ -1009,7 +1040,7 @@
parameters += invokeFile.switches;
parameters += " ";
}
- parameters += invokeFile.name;
+ parameters += invokeFile.name ;
}
return parameters;
@@ -1033,20 +1064,20 @@
string invokeTarget = module.GetInvocationTarget ( i );
fprintf ( fMakefile,
- "%s: %s\n\n",
- invoke.GetTargets ().c_str (),
+ ".PHONY: %s\n\n",
invokeTarget.c_str () );
fprintf ( fMakefile,
+ "%s: %s\n\n",
+ invokeTarget.c_str (),
+ invoke.GetTargets ().c_str () );
+ fprintf ( fMakefile,
"%s: %s\n",
- invokeTarget.c_str (),
+ invoke.GetTargets ().c_str (),
FixupTargetFilename ( invoke.invokeModule->GetPath () ).c_str () );
fprintf ( fMakefile,
"\t%s %s\n\n",
FixupTargetFilename ( invoke.invokeModule->GetPath () ).c_str (),
GetInvocationParameters ( invoke ).c_str () );
- fprintf ( fMakefile,
- ".PNONY: %s\n\n",
- invokeTarget.c_str () );
}
}
@@ -1061,7 +1092,7 @@
MingwModuleHandler::GeneratePreconditionDependencies ( const Module& module ) const
{
string preconditionDependenciesName = GetPreconditionDependenciesName ( module );
- string sourceFilenames = GetSourceFilenames ( module );
+ string sourceFilenames = GetSourceFilenamesWithoutGeneratedFiles ( module );
string dependencies = GetModuleDependencies ( module );
string s = GetInvocationDependencies ( module );
if ( s.length () > 0 )
@@ -1330,10 +1361,10 @@
}
else
{
+ fprintf ( fMakefile, ".PHONY: %s\n\n",
+ target.c_str ());
fprintf ( fMakefile, "%s:\n",
target.c_str ());
- fprintf ( fMakefile, ".PHONY: %s\n\n",
- target.c_str ());
}
}
@@ -1385,10 +1416,10 @@
}
else
{
+ fprintf ( fMakefile, ".PHONY: %s\n\n",
+ target.c_str ());
fprintf ( fMakefile, "%s:\n",
target.c_str () );
- fprintf ( fMakefile, ".PHONY: %s\n\n",
- target.c_str ());
}
}
@@ -1447,10 +1478,10 @@
}
else
{
+ fprintf ( fMakefile, ".PHONY: %s\n\n",
+ target.c_str ());
fprintf ( fMakefile, "%s:\n\n",
target.c_str ());
- fprintf ( fMakefile, ".PHONY: %s\n\n",
- target.c_str ());
}
}
@@ -1465,12 +1496,34 @@
void
MingwWin32DLLModuleHandler::Process ( const Module& module )
{
+ GenerateExtractWineDLLResourcesTarget ( module );
GeneratePreconditionDependencies ( module );
GenerateWin32DLLModuleTarget ( module );
GenerateInvocations ( module );
}
void
+MingwWin32DLLModuleHandler::GenerateExtractWineDLLResourcesTarget ( const Module& module )
+{
+ fprintf ( fMakefile, ".PHONY: %s_extractresources\n\n",
+ module.name.c_str () );
+ fprintf ( fMakefile, "%s_extractresources: bin2res\n",
+ module.name.c_str () );
+ for ( size_t i = 0; i < module.files.size (); i++ )
+ {
+ File& file = *module.files[i];
+ string extension = GetExtension ( file.name );
+ if ( extension == ".rc" || extension == ".RC" )
+ {
+ string resource = FixupTargetFilename ( file.name );
+ fprintf ( fMakefile, "\t@echo ${bin2res} -f -x %s\n",
+ resource.c_str () );
+ }
+ }
+ fprintf ( fMakefile, "\n");
+}
+
+void
MingwWin32DLLModuleHandler::GenerateWin32DLLModuleTarget ( const Module& module )
{
static string ros_junk ( "$(ROS_TEMPORARY)" );
@@ -1497,10 +1550,10 @@
}
else
{
+ fprintf ( fMakefile, ".PHONY: %s\n\n",
+ target.c_str () );
fprintf ( fMakefile, "%s:\n\n",
- target.c_str ());
- fprintf ( fMakefile, ".PHONY: %s\n\n",
- target.c_str ());
+ target.c_str () );
}
}
@@ -1548,9 +1601,9 @@
}
else
{
+ fprintf ( fMakefile, ".PHONY: %s\n\n",
+ target.c_str ());
fprintf ( fMakefile, "%s:\n\n",
target.c_str ());
- fprintf ( fMakefile, ".PHONY: %s\n\n",
- target.c_str ());
}
}
--- branches/xmlbuildsystem/reactos/tools/rbuild/backend/mingw/modulehandler.h 2005-01-20 21:03:35 UTC (rev 13167)
+++ branches/xmlbuildsystem/reactos/tools/rbuild/backend/mingw/modulehandler.h 2005-01-20 22:19:01 UTC (rev 13168)
@@ -19,7 +19,7 @@
void GenerateDirectoryTargets () const;
protected:
- const std::string &PassThruCacheDirectory ( const std::string &f ) const;
+ const std::string &PassThruCacheDirectory ( const std::string &f ) const;
std::string GetWorkingDirectory () const;
std::string GetDirectory (const std::string& filename ) const;
std::string GetExtension ( const std::string& filename ) const;
@@ -28,10 +28,14 @@
const std::string& newExtension ) const;
std::string GetActualSourceFilename ( const std::string& filename ) const;
std::string GetModuleArchiveFilename ( const Module& module ) const;
+ bool IsGeneratedFile ( const File& file ) const;
std::string GetImportLibraryDependencies ( const Module& module ) const;
std::string GetModuleDependencies ( const Module& module ) const;
std::string GetAllDependencies ( const Module& module ) const;
+ std::string GetSourceFilenames ( const Module& module,
+ bool includeGeneratedFiles ) const;
std::string GetSourceFilenames ( const Module& module ) const;
+ std::string GetSourceFilenamesWithoutGeneratedFiles ( const Module& module ) const;
std::string GetObjectFilename ( const std::string& sourceFilename ) const;
std::string GetObjectFilenames ( const Module& module ) const;
@@ -54,7 +58,7 @@
std::string GetDefinitionDependencies ( const Module& module ) const;
std::string GetLinkingDependencies ( const Module& module ) const;
static FILE* fMakefile;
- static std::set<std::string> directory_set;
+ static std::set<std::string> directory_set;
private:
std::string ConcatenatePaths ( const std::string& path1,
const std::string& path2 ) const;
@@ -202,6 +206,7 @@
MingwWin32DLLModuleHandler ();
virtual void Process ( const Module& module );
private:
+ void GenerateExtractWineDLLResourcesTarget ( const Module& module );
void GenerateWin32DLLModuleTarget ( const Module& module );
};
--- branches/xmlbuildsystem/reactos/tools/rbuild/makefile 2005-01-20 21:03:35 UTC (rev 13167)
+++ branches/xmlbuildsystem/reactos/tools/rbuild/makefile 2005-01-20 22:19:01 UTC (rev 13168)
@@ -30,6 +30,7 @@
TESTS = \
tests/definetest.o \
+ tests/functiontest.o \
tests/iftest.o \
tests/includetest.o \
tests/invoketest.o \
--- branches/xmlbuildsystem/reactos/tools/rbuild/module.cpp 2005-01-20 21:03:35 UTC (rev 13167)
+++ branches/xmlbuildsystem/reactos/tools/rbuild/module.cpp 2005-01-20 22:19:01 UTC (rev 13168)
@@ -21,6 +21,15 @@
return s2;
}
+string
+NormalizeFilename ( const string& filename )
+{
+ Path path;
+ string normalizedPath = path.Fixup ( filename, true );
+ string relativeNormalizedPath = path.RelativeFromWorkingDirectory ( normalizedPath );
+ return FixSeparator ( relativeNormalizedPath );
+}
+
Module::Module ( const Project& project,
const XMLElement& moduleNode,
const string& modulePath )
@@ -449,7 +458,7 @@
InvokeFile& file = *output[i];
if ( targets.length () > 0 )
targets += " ";
- targets += file.name;
+ targets += NormalizeFilename ( file.name );
}
return targets;
}
--- branches/xmlbuildsystem/reactos/tools/rbuild/rbuild.h 2005-01-20 21:03:35 UTC (rev 13167)
+++ branches/xmlbuildsystem/reactos/tools/rbuild/rbuild.h 2005-01-20 22:19:01 UTC (rev 13168)
@@ -315,4 +315,7 @@
extern std::string
FixSeparator ( const std::string& s );
+extern std::string
+NormalizeFilename ( const std::string& filename );
+
#endif /* __RBUILD_H */
--- branches/xmlbuildsystem/reactos/tools/rbuild/test.h 2005-01-20 21:03:35 UTC (rev 13167)
+++ branches/xmlbuildsystem/reactos/tools/rbuild/test.h 2005-01-20 22:19:01 UTC (rev 13168)
@@ -2,6 +2,7 @@
#define __TEST_H
#include "rbuild.h"
+#include "backend/mingw/mingw.h"
class BaseTest
{
@@ -95,4 +96,10 @@
void Run();
};
+class FunctionTest : public BaseTest
+{
+public:
+ void Run();
+};
+
#endif /* __TEST_H */
--- branches/xmlbuildsystem/reactos/tools/rbuild/tests/alltests.cpp 2005-01-20 21:03:35 UTC (rev 13167)
+++ branches/xmlbuildsystem/reactos/tools/rbuild/tests/alltests.cpp 2005-01-20 22:19:01 UTC (rev 13168)
@@ -176,6 +176,7 @@
tests.push_back(new InvokeTest());
tests.push_back(new LinkerFlagTest());
tests.push_back(new IfTest());
+ tests.push_back(new FunctionTest());
}
};
--- branches/xmlbuildsystem/reactos/tools/rbuild/tests/functiontest.cpp 2005-01-20 21:03:35 UTC (rev 13167)
+++ branches/xmlbuildsystem/reactos/tools/rbuild/tests/functiontest.cpp 2005-01-20 22:19:01 UTC (rev 13168)
@@ -0,0 +1,9 @@
+#include "test.h"
+
+using std::string;
+
+void FunctionTest::Run ()
+{
+ string fixedupFilename = FixupTargetFilename ( "." SSEP "dir1" SSEP "dir2" SSEP ".." SSEP "filename.txt" );
+ ARE_EQUAL ( "$(ROS_INTERMEDIATE)dir1" SSEP "filename.txt", fixedupFilename );
+}
--- branches/xmlbuildsystem/reactos/tools/tools.xml 2005-01-20 21:03:35 UTC (rev 13167)
+++ branches/xmlbuildsystem/reactos/tools/tools.xml 2005-01-20 22:19:01 UTC (rev 13168)
@@ -1,3 +1,6 @@
+<directory name="bin2res">
+ <xi:include href="bin2res/bin2res.xml" />
+</directory>
<module name="buildno" type="buildtool">
<include base="buildno">.</include>
<file>buildno.c</file>