Revert r28526 for now until a problem for the livecd breakage has been found

svn path=/trunk/; revision=28536
This commit is contained in:
Colin Finck 2007-08-25 09:00:19 +00:00
parent c8983b1354
commit 9ec7d785cb
8 changed files with 96 additions and 84 deletions

View file

@ -1,23 +1,21 @@
<group>
<installfile base="inf">acpi.inf</installfile>
<installfile base="inf">cdrom.inf</installfile>
<installfile base="inf">display.inf</installfile>
<installfile base="inf">hdc.inf</installfile>
<installfile base="inf">keyboard.inf</installfile>
<installfile base="inf">layout.inf</installfile>
<installfile base="inf">machine.inf</installfile>
<installfile base="inf">msmouse.inf</installfile>
<installfile base="inf">NET_NIC.inf</installfile>
<installfile base="inf">netamd.inf</installfile>
<installfile base="inf">netisa.inf</installfile>
<installfile base="inf">netrtpnt.inf</installfile>
<installfile base="inf">nettcpip.inf</installfile>
<installfile base="inf">ports.inf</installfile>
<installfile base="inf">scsi.inf</installfile>
<installfile base="inf">usbport.inf</installfile>
<installfile base="inf">usbstor.inf</installfile>
<installfile base="inf">xboxdisp.inf</installfile>
<!-- Don't change this , rbuild places the generated file there-->
<installfile base="inf" base="$(OUTPUT)">syssetup.inf</installfile>
</group>
<installfile base="inf">acpi.inf</installfile>
<installfile base="inf">cdrom.inf</installfile>
<installfile base="inf">display.inf</installfile>
<installfile base="inf">hdc.inf</installfile>
<installfile base="inf">keyboard.inf</installfile>
<installfile base="inf">layout.inf</installfile>
<installfile base="inf">machine.inf</installfile>
<installfile base="inf">msmouse.inf</installfile>
<installfile base="inf">NET_NIC.inf</installfile>
<installfile base="inf">netamd.inf</installfile>
<installfile base="inf">netisa.inf</installfile>
<installfile base="inf">netrtpnt.inf</installfile>
<installfile base="inf">nettcpip.inf</installfile>
<installfile base="inf">ports.inf</installfile>
<installfile base="inf">scsi.inf</installfile>
<installfile base="inf" root="output">syssetup.inf</installfile>
<installfile base="inf">usbport.inf</installfile>
<installfile base="inf">usbstor.inf</installfile>
<installfile base="inf">xboxdisp.inf</installfile>
<group>

View file

@ -354,7 +354,6 @@ AutomaticDependency::ReplaceVariable ( const string& name,
return path;
}
/*
string
AutomaticDependency::ResolveVariablesInPath ( const string& path )
{
@ -363,7 +362,6 @@ AutomaticDependency::ResolveVariablesInPath ( const string& path )
s = ReplaceVariable ( "$(INSTALL)", Environment::GetInstallPath (), s );
return s;
}
*/
bool
AutomaticDependency::LocateIncludedFile ( const string& directory,

View file

@ -74,6 +74,18 @@ Bootstrap::IsSupportedModuleType ( ModuleType type )
__LINE__ );
}
string
Bootstrap::ReplaceVariable ( const string& name,
const string& value,
string path )
{
size_t i = path.find ( name );
if ( i != string::npos )
return path.replace ( i, name.length (), value );
else
return path;
}
void
Bootstrap::Initialize ()
{

View file

@ -22,7 +22,6 @@
using std::string;
/*
string
CDFile::ReplaceVariable ( const string& name,
const string& value,
@ -34,7 +33,6 @@ CDFile::ReplaceVariable ( const string& name,
else
return path;
}
*/
CDFile::CDFile ( const Project& project_,
const XMLElement& cdfileNode,
@ -44,7 +42,7 @@ CDFile::CDFile ( const Project& project_,
{
const XMLAttribute* att = node.GetAttribute ( "base", false );
if ( att != NULL )
base = ResolveVariablesInPath ( att->value );
base = ReplaceVariable ( "$(CDOUTPUT)", Environment::GetCdOutputPath (), att->value );
else
base = "";

View file

@ -116,6 +116,28 @@ Directory::CreateDirectory ( string path )
return directoryWasCreated;
}
string
Directory::ReplaceVariable ( const string& name,
const string& value,
string path )
{
size_t i = path.find ( name );
if ( i != string::npos )
return path.replace ( i, name.length (), value );
else
return path;
}
void
Directory::ResolveVariablesInPath ( char* buf,
const string& path )
{
string s = ReplaceVariable ( "$(INTERMEDIATE)", Environment::GetIntermediatePath (), path );
s = ReplaceVariable ( "$(OUTPUT)", Environment::GetOutputPath (), s );
s = ReplaceVariable ( "$(INSTALL)", Environment::GetInstallPath (), s );
strcpy ( buf, s.c_str () );
}
void
Directory::GenerateTree ( const string& parent,
bool verbose )
@ -130,10 +152,8 @@ Directory::GenerateTree ( const string& parent,
path = parent + sSep + name;
else
path = parent;
path = ResolveVariablesInPath ( path );
if ( CreateDirectory ( path ) && verbose )
ResolveVariablesInPath ( buf, path );
if ( CreateDirectory ( buf ) && verbose )
printf ( "Created %s\n", buf );
}
else

View file

@ -28,22 +28,7 @@ InstallFile::InstallFile ( const Project& project_,
: project ( project_ ),
node ( installfileNode )
{
}
InstallFile::~InstallFile ()
{
}
void
InstallFile::ProcessXML()
{
const XMLAttribute* att = node.GetAttribute ( "root", false );
if ( att != NULL )
this->path = ResolveVariablesInPath ( att->value );
else
this->path = path;
att = node.GetAttribute ( "base", false );
const XMLAttribute* att = node.GetAttribute ( "base", false );
if ( att != NULL )
base = att->value;
else
@ -55,6 +40,28 @@ InstallFile::ProcessXML()
else
newname = node.value;
name = node.value;
att = node.GetAttribute ( "root", false );
if ( att != NULL)
{
if ( att->value == "intermediate" )
this->path = "$(INTERMEDIATE)" + sSep + path;
else if ( att->value == "output" )
this->path = "$(OUTPUT)" + sSep + path;
else
{
throw InvalidAttributeValueException (
node.location,
"root",
att->value );
}
}
else
this->path = path;
}
InstallFile::~InstallFile ()
{
}
string
@ -63,3 +70,7 @@ InstallFile::GetPath () const
return path + sSep + name;
}
void
InstallFile::ProcessXML()
{
}

View file

@ -23,31 +23,6 @@
using std::string;
using std::vector;
string
ResolveVariablesInPath ( const string& path )
{
string s;
s = ReplaceVariable ( "$(INTERMEDIATE)", Environment::GetIntermediatePath (), path );
s = ReplaceVariable ( "$(OUTPUT)", Environment::GetOutputPath (), s );
s = ReplaceVariable ( "$(INSTALL)", Environment::GetInstallPath (), s );
s = ReplaceVariable ( "$(CDOUTPUT)", Environment::GetCdOutputPath (), s );
return s;
}
string
ReplaceVariable ( const string& name,
const string& value,
string path )
{
size_t i = path.find ( name );
if ( i != string::npos )
return path.replace ( i, name.length (), value );
else
return path;
}
string
Right ( const string& s, size_t n )
{

View file

@ -119,9 +119,12 @@ public:
const std::string& parent );
private:
bool mkdir_p ( const char* path );
std::string ReplaceVariable ( const std::string& name,
const std::string& value,
std::string path );
std::string GetEnvironmentVariable ( const std::string& name );
//void ResolveVariablesInPath ( char* buf,
// const std::string& path );
void ResolveVariablesInPath ( char* buf,
const std::string& path );
bool CreateDirectory ( std::string path );
};
@ -780,7 +783,7 @@ private:
std::string ReplaceVariable ( const std::string& name,
const std::string& value,
std::string path );
// std::string ResolveVariablesInPath ( const std::string& path );
std::string ResolveVariablesInPath ( const std::string& path );
std::map<std::string, SourceFile*> sourcefile_map;
};
@ -802,6 +805,9 @@ public:
private:
bool IsSupportedModuleType ( ModuleType type );
void Initialize();
static std::string ReplaceVariable ( const std::string& name,
const std::string& value,
std::string path );
};
@ -822,6 +828,9 @@ public:
void ProcessXML();
std::string GetPath () const;
private:
static std::string ReplaceVariable ( const std::string& name,
const std::string& value,
std::string path );
};
@ -841,7 +850,6 @@ public:
~InstallFile ();
void ProcessXML ();
std::string GetPath () const;
private:
};
@ -988,14 +996,6 @@ private:
extern void
InitializeEnvironment ();
extern std::string
ResolveVariablesInPath ( const std::string& path );
extern std::string
ReplaceVariable ( const std::string& name,
const std::string& value,
std::string path );
extern std::string
Right ( const std::string& s, size_t n );