using std::vector;
using std::map;
+static std::string
+GetExtension ( const std::string& filename )
+{
+ size_t index = filename.find_last_of ( '/' );
+ if (index == string::npos) index = 0;
+ string tmp = filename.substr( index, filename.size() - index );
+ size_t ext_index = tmp.find_last_of( '.' );
+ if (ext_index != string::npos)
+ return filename.substr ( index + ext_index, filename.size() );
+ return "";
+}
+
SourceFile::SourceFile ( AutomaticDependency* automaticDependency,
const Module& module,
const string& filename,
return false;
}
-string
-AutomaticDependency::GetFilename ( const string& filename )
-{
- size_t index = filename.find_last_of ( cSep );
- if (index == string::npos)
- return filename;
- else
- return filename.substr ( index + 1,
- filename.length () - index - 1);
-}
-
void
AutomaticDependency::GetIncludeDirectories ( vector<Include*>& includes,
const Module& module,
}
}
+static std::string
+GetExtension ( const std::string& filename )
+{
+ size_t index = filename.find_last_of ( '/' );
+ if (index == string::npos) index = 0;
+ string tmp = filename.substr( index, filename.size() - index );
+ size_t ext_index = tmp.find_last_of( '.' );
+ if (ext_index != string::npos)
+ return filename.substr ( index + ext_index, filename.size() );
+ return "";
+}
+
static bool FileExists(string &filename)
{
ifstream file(filename.c_str());
string path_basedir = module.GetPathToBaseDir ();
string intenv = Environment::GetIntermediatePath ();
string outenv = Environment::GetOutputPath ();
- string module_type = GetExtension(module.output->name);
+ string module_type = GetExtension(*module.output);
string cbproj_path = module.output->relative_path;
string CompilerVar;
string baseaddr;
{
string filename = file->name;
- string extension = GetExtension ( filename );
+ string extension = GetExtension ( *file );
if ( extension == ".spec" || extension == ".SPEC" )
{
string basename = GetBasename ( filename );
MingwModuleHandler::GetExtraDependencies (
const FileLocation *file ) const
{
- string extension = GetExtension ( file->name );
+ string extension = GetExtension ( *file );
if ( extension == ".idl" || extension == ".IDL" )
{
if ( (module.type == RpcServer) || (module.type == RpcClient) )
bool
MingwModuleHandler::IsGeneratedFile ( const File& file ) const
{
- string extension = GetExtension ( file.file.name );
+ string extension = GetExtension ( file.file );
return ( extension == ".spec" || extension == ".SPEC" );
}
const FileLocation* sourceFile,
string_list* pclean_files ) const
{
- string sourceFilename = sourceFile->name;
DirectoryLocation destination_directory;
string newExtension;
- string extension = GetExtension ( sourceFilename );
+ string extension = GetExtension ( *sourceFile );
if ( extension == ".rc" || extension == ".RC" )
newExtension = ".coff";
else if ( extension == ".spec" || extension == ".SPEC" )
const string& widlflagsMacro )
{
const FileLocation* sourceFile = compilationUnit.GetFilename ();
- string filename = backend->GetFullName ( *sourceFile );
- string extension = GetExtension ( filename );
+ string extension = GetExtension ( *sourceFile );
if ( extension == ".c" || extension == ".C" )
{
GenerateGccCommand ( sourceFile,
__LINE__,
"Unsupported filename extension '%s' in file '%s'",
extension.c_str (),
- filename.c_str () );
+ backend->GetFullName ( *sourceFile ).c_str () );
}
void
fprintf ( fMakefile,
"ifeq ($(ROS_BUILDNOSTRIP),yes)\n" );
- string filename = module.output->name;
FileLocation nostripFilename ( OutputDirectory,
module.output->relative_path,
- GetBasename ( filename ) + ".nostrip" + GetExtension ( filename ) );
+ GetBasename ( module.output->name ) + ".nostrip" + GetExtension ( *module.output ) );
CLEAN_FILE ( nostripFilename );
OutputCopyCommand ( *module.output, nostripFilename );
{
CompilationUnit& compilationUnit = *library.importedModule->non_if_data.compilationUnits[j];
const FileLocation* sourceFile = compilationUnit.GetFilename ();
- string extension = GetExtension ( sourceFile->name );
+ string extension = GetExtension ( *sourceFile );
if ( extension == ".idl" || extension == ".IDL" )
{
string basename = GetBasename ( sourceFile->name );
{
CompilationUnit& compilationUnit = *compilationUnits[i];
const FileLocation* sourceFile = compilationUnit.GetFilename ();
- string extension = GetExtension ( sourceFile->name );
+ string extension = GetExtension ( *sourceFile );
if ( extension == ".spec" || extension == ".SPEC" )
GetSpecObjectDependencies ( s, sourceFile );
}
{
CompilationUnit& compilationUnit = *compilationUnits[i];
const FileLocation* sourceFile = compilationUnit.GetFilename ();
- string extension = GetExtension ( sourceFile->name );
+ string extension = GetExtension ( *sourceFile );
if ( extension == ".spec" || extension == ".SPEC" )
GetSpecObjectDependencies ( dependencies, sourceFile );
if ( extension == ".idl" || extension == ".IDL" )
{\r
size_t i;\r
\r
- string module_type = GetExtension(module.output->name);\r
+ string module_type = GetExtension(*module.output);\r
vector<string> source_files, resource_files, includes, libraries;\r
vector<string> header_files, common_defines, compiler_flags;\r
vector<string> vars, values;\r
imports.push_back ( module.non_if_data.libraries[i]->name );
}
- string module_type = GetExtension(module.output->name);
+ string module_type = GetExtension(*module.output);
bool lib = (module_type == ".lib") || (module_type == ".a");
bool dll = (module_type == ".dll") || (module_type == ".cpl");
bool exe = (module_type == ".exe") || (module_type == ".scr");
FILE* OUT = fopen ( vcproj_file.c_str(), "wb" );
vector<string> imports;
- string module_type = GetExtension(module.output->name);
+ string module_type = GetExtension(*module.output);
bool lib = (module.type == ObjectLibrary) || (module.type == RpcClient) ||(module.type == RpcServer) || (module_type == ".lib") || (module_type == ".a");
bool dll = (module_type == ".dll") || (module_type == ".cpl");
bool exe = (module_type == ".exe") || (module_type == ".scr");
if ( files.size () != 1 )
return false;
File* file = files[0];
- string extension = GetExtension ( file->file.name );
+ string extension = GetExtension ( file->file );
return ( extension == ".spec" || extension == ".SPEC" );
}
for ( i = 0; i < files.size (); i++ )
{
File& file = *files[i];
- string fileExtension = GetExtension ( file.file.name );
+ string fileExtension = GetExtension ( file.file );
if ( !stricmp ( fileExtension.c_str (), extension.c_str () ) )
return true;
}
return FixSeparator(path + cSep + att_value);
}
-string
+static string
GetExtension ( const string& filename )
{
size_t index = filename.find_last_of ( '/' );
}
string
-GetDirectory ( const string& filename )
-{
- size_t index = filename.find_last_of ( cSep );
- if ( index == string::npos )
- return "";
- else
- return filename.substr ( 0, index );
-}
-
-string
-GetFilename ( const string& filename )
+GetExtension ( const FileLocation& file )
{
- size_t index = filename.find_last_of ( cSep );
- if ( index == string::npos )
- return filename;
- else
- return filename.substr ( index + 1, filename.length () - index );
+ return GetExtension ( file.name );
}
string
AutomaticDependency ( const Project& project );
~AutomaticDependency ();
- std::string GetFilename ( const std::string& filename );
bool LocateIncludedFile ( const FileLocation& directory,
const std::string& includedFilename,
std::string& resolvedFilename );
const std::string& att_value );
extern std::string
-GetExtension ( const std::string& filename );
-
-extern std::string
-GetDirectory ( const std::string& filename );
-
-extern std::string
-GetFilename ( const std::string& filename );
+GetExtension ( const FileLocation& file );
extern std::string
NormalizeFilename ( const std::string& filename );
using std::string;
using std::vector;
+static std::string
+GetFilename ( const std::string& filename )
+{
+ size_t index = filename.find_last_of ( cSep );
+ if ( index == string::npos )
+ return filename;
+ else
+ return filename.substr ( index + 1, filename.length () - index );
+}
+
TestSupportCode::TestSupportCode ( const Project& project )
: project ( project )
{
bool
WineResource::IsSpecFile ( const File& file )
{
- string extension = GetExtension ( file.file.name );
+ string extension = GetExtension ( file.file );
if ( extension == ".spec" || extension == ".SPEC" )
return true;
return false;
bool
WineResource::IsResourceFile ( const File& file )
{
- string extension = GetExtension ( file.file.name );
+ string extension = GetExtension ( file.file );
if ( extension == ".rc" || extension == ".RC" )
return true;
return false;