[ros-diffs] [royce] 19827: store pointer to Backend in the Project
class so properties of the Backend object can eventually be
queried from the generic rbuild code
royce at svn.reactos.com
royce at svn.reactos.com
Fri Dec 2 14:59:40 CET 2005
store pointer to Backend in the Project class so properties of the
Backend object can eventually be queried from the generic rbuild code
Modified: trunk/reactos/tools/rbuild/project.cpp
Modified: trunk/reactos/tools/rbuild/rbuild.cpp
Modified: trunk/reactos/tools/rbuild/rbuild.h
_____
Modified: trunk/reactos/tools/rbuild/project.cpp
--- trunk/reactos/tools/rbuild/project.cpp 2005-12-02 12:47:42 UTC
(rev 19826)
+++ trunk/reactos/tools/rbuild/project.cpp 2005-12-02 13:59:35 UTC
(rev 19827)
@@ -19,6 +19,7 @@
#include <assert.h>
#include "rbuild.h"
+#include "backend/backend.h"
using std::string;
using std::vector;
@@ -87,13 +88,15 @@
node (NULL),
head (NULL),
configuration (configuration)
-{
+{
ReadXml();
}
Project::~Project ()
{
size_t i;
+ if ( _backend )
+ delete _backend;
for ( i = 0; i < modules.size (); i++ )
delete modules[i];
for ( i = 0; i < linkerFlags.size (); i++ )
_____
Modified: trunk/reactos/tools/rbuild/rbuild.cpp
--- trunk/reactos/tools/rbuild/rbuild.cpp 2005-12-02 12:47:42 UTC
(rev 19826)
+++ trunk/reactos/tools/rbuild/rbuild.cpp 2005-12-02 13:59:35 UTC
(rev 19827)
@@ -243,18 +243,20 @@
try
{
string projectFilename ( RootXmlFile );
+
printf ( "Reading build files..." );
Project project ( configuration, projectFilename );
printf ( "done\n" );
- project.WriteConfigurationFile ();
- project.ExecuteInvocations ();
- Backend* backend = Backend::Factory::Create (
+
+ project.SetBackend ( Backend::Factory::Create (
BuildSystem,
project,
- configuration );
- backend->Process ();
- delete backend;
+ configuration ) );
+ project.WriteConfigurationFile ();
+ project.ExecuteInvocations ();
+ project.GetBackend().Process();
+
return 0;
}
catch ( Exception& ex )
_____
Modified: trunk/reactos/tools/rbuild/rbuild.h
--- trunk/reactos/tools/rbuild/rbuild.h 2005-12-02 12:47:42 UTC (rev
19826)
+++ trunk/reactos/tools/rbuild/rbuild.h 2005-12-02 13:59:35 UTC (rev
19827)
@@ -35,11 +35,14 @@
#endif/*WIN32*/
#endif/*_MSC_VER*/
+#include <infhost.h>
+
#include "ssprintf.h"
#include "exception.h"
#include "xml.h"
-#include <infhost.h>
+class Backend; // forward declaration
+
typedef std::vector<std::string> string_list;
extern std::string ExePrefix;
@@ -191,6 +194,7 @@
{
std::string xmlfile;
XMLElement *node, *head;
+ Backend* _backend;
public:
const Configuration& configuration;
std::string name;
@@ -205,8 +209,11 @@
Project ( const Configuration& configuration,
const std::string& filename );
~Project ();
+ void SetBackend ( Backend* backend ) { _backend = backend; }
+ Backend& GetBackend() { return *_backend; }
void WriteConfigurationFile ();
void ExecuteInvocations ();
+
void ProcessXML ( const std::string& path );
Module* LocateModule ( const std::string& name );
const Module* LocateModule ( const std::string& name ) const;
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://www.reactos.org/pipermail/ros-diffs/attachments/20051202/04914bf6/attachment.html
More information about the Ros-diffs
mailing list