static const FileLocation* GetImportLibraryFilename (
const Module& module,
- string_list* pclean_files );
+ string_list* pclean_files,
+ bool delayimp );
static std::string GenerateGccDefineParametersFromVector ( const std::vector<Define*>& defines, std::set<std::string> &used_defs );
- static std::string GenerateGccIncludeParametersFromVector ( const std::vector<Include*>& includes );
+ static std::string GenerateDefineParametersFromVector ( const std::vector<Define*>& defines, CompilerType compiler );
+ static std::string GenerateCompilerParametersFromVector ( const std::vector<CompilerFlag*>& compilerFlags, const CompilerType type );
+ static std::string GenerateIncludeParametersFromVector ( const std::vector<Include*>& includes, CompilerType compiler );
+
+ static void GenerateParameters ( const char* prefix,
+ const char* assignmentOperation,
+ const IfableData& data );
std::string GetModuleTargets ( const Module& module );
void GetObjectsVector ( const IfableData& data,
void OutputCopyCommand ( const FileLocation& source,
const FileLocation& destination );
+ void OutputCopyCommandSingle ( const FileLocation& source,
+ const FileLocation& destination );
protected:
virtual void GetModuleSpecificCompilationUnits ( std::vector<CompilationUnit*>& compilationUnits );
std::string GetWorkingDirectory () const;
std::string GetBasename ( const std::string& filename ) const;
std::string GetCompilationUnitDependencies ( const CompilationUnit& compilationUnit ) const;
const FileLocation* GetModuleArchiveFilename () const;
- std::string GetImportLibraryDependency ( const Module& importedModule );
+ std::string GetImportLibraryDependency ( const Module& importedModule, bool delayimp );
void GetTargets ( const Module& dependencyModule,
string_list& targets );
void GetModuleDependencies ( string_list& dependencies );
std::string GetLinkingDependenciesMacro () const;
std::string GetLibsMacro () const;
std::string GetLinkerMacro () const;
- std::string GetDebugFormat () const;
+ static std::string GetDebugFormat ();
void GenerateCleanObjectsAsYouGoCode () const;
void GenerateRunRsymCode () const;
void GenerateRunStripCode () const;
void GeneratePhonyTarget() const;
void GenerateBuildMapCode ( const FileLocation *mapTarget = NULL );
void GenerateRules ();
+ void GenerateImportLibraryTarget (const FileLocation *defFilename, const FileLocation *library_target, bool delayimp);
void GenerateImportLibraryTargetIfNeeded ();
void GetDefinitionDependencies ( std::vector<FileLocation>& dependencies ) const;
std::string GetLinkingDependencies () const;
private:
std::string ConcatenatePaths ( const std::string& path1,
const std::string& path2 ) const;
- std::string GenerateCompilerParametersFromVector ( const std::vector<CompilerFlag*>& compilerFlags, const CompilerType type ) const;
std::string GenerateLinkerParametersFromVector ( const std::vector<LinkerFlag*>& linkerFlags ) const;
std::string GenerateImportLibraryDependenciesFromVector ( const std::vector<Library*>& libraries );
std::string GenerateLinkerParameters () const;
- void GenerateMacro ( const char* assignmentOperation,
- const std::string& macro,
- const IfableData& data,
- std::set<const Define *>* used_defs,
- bool generatingCompilerMacro );
void GenerateMacros ( const char* op,
const IfableData& data,
const std::vector<LinkerFlag*>* linkerFlags,
void GenerateSourceMacros ( const IfableData& data );
void GenerateObjectMacros ( const IfableData& data );
const FileLocation* GetPrecompiledHeaderFilename () const;
+ const FileLocation* GetPrecompiledHeaderPath () const;
const FileLocation* GetDlldataFilename () const;
void GenerateGccCommand ( const FileLocation* sourceFile,
const Rule *rule,
void GetBootstrapCdFiles ( std::vector<FileLocation>& out ) const;
void GetNonModuleCdFiles ( std::vector<FileLocation>& out ) const;
void GetCdFiles ( std::vector<FileLocation>& out ) const;
- void OutputBootstrapfileCopyCommands ( const std::string& bootcdDirectory );
- void OutputCdfileCopyCommands ( const std::string& bootcdDirectory );
+ void OutputBootstrapfileCopyCommands ( const std::string& bootcdDirectory,
+ std::vector<FileLocation>& destinations );
+ void OutputCdfileCopyCommands ( const std::string& bootcdDirectory,
+ std::vector<FileLocation>& destinations );
};
void GenerateLiveIsoModuleTarget ();
void CreateDirectory ( const std::string& directory );
void OutputModuleCopyCommands ( std::string& livecdDirectory,
- std::string& livecdReactos );
+ std::string& livecdReactos,
+ std::vector<FileLocation>& destinations );
void OutputNonModuleCopyCommands ( std::string& livecdDirectory,
- std::string& livecdReactos );
- void OutputProfilesDirectoryCommands ( std::string& livecdDirectory );
- void OutputLoaderCommands ( std::string& livecdDirectory );
+ std::string& livecdReactos,
+ std::vector<FileLocation>& destinations );
+ void OutputProfilesDirectoryCommands ( std::string& livecdDirectory,
+ std::vector<FileLocation>& destinations );
+ void OutputLoaderCommands ( std::string& livecdDirectory,
+ std::vector<FileLocation>& destinations );
void OutputRegistryCommands ( std::string& livecdDirectory );
};