RetroLinker
Linker for several 8-bit, 16-bit and 32-bit formats
Loading...
Searching...
No Matches
Classes | Public Member Functions | Public Attributes | List of all members
Linker::ModuleCollector Class Reference

Helper class that collects object files and libraries, and includes library objects for required symbols. More...

#include <module_collector.h>

Classes

struct  definition
 

Public Member Functions

void SetupOptions (char special_char, std::shared_ptr< OutputFormat > output_format)
 Initializes the reader for linking purposes.
 
std::shared_ptr< ModuleCreateModule (std::shared_ptr< const InputFormat > input_format, std::string file_name="")
 
void AddModule (std::shared_ptr< Module > module, bool is_library=false)
 
void AddLibraryModule (std::shared_ptr< Module > module)
 
void CombineModulesInto (Module &output_module)
 

Public Attributes

std::vector< std::shared_ptr< Module > > modules
 
std::set< std::string > required_symbols
 
std::map< std::string, definitionsymbol_definitions
 

Detailed Description

Helper class that collects object files and libraries, and includes library objects for required symbols.

Member Function Documentation

◆ SetupOptions()

void ModuleCollector::SetupOptions ( char special_char,
std::shared_ptr< OutputFormat > output_format )

Initializes the reader for linking purposes.

Parameters
special_charMost input formats do not provide support for the special requirements of the output format (such as segmentation for ELF). We work around this by introducing special name prefixes $$SEGOF$ where $ is the value of special_char.
output_formatThe output format that will be used. This is required to know which extra special features need to be implemented (such as segmentation).

The documentation for this class was generated from the following files: