CppADCodeGen
HEAD
A C++ Algorithmic Differentiation Package with Source Code Generation
|
Public Member Functions | |
AbstractCCompiler (const std::string &compilerPath) | |
AbstractCCompiler (const AbstractCCompiler &orig)=delete | |
AbstractCCompiler & | operator= (const AbstractCCompiler &rhs)=delete |
std::string | getCompilerPath () const |
void | setCompilerPath (const std::string &path) |
const std::string & | getTemporaryFolder () const override |
void | setTemporaryFolder (const std::string &tmpFolder) override |
bool | isSaveToDiskFirst () const override |
void | setSaveToDiskFirst (bool saveToDiskFirst) override |
const std::string & | getSourcesFolder () const override |
void | setSourcesFolder (const std::string &srcFolder) override |
const std::set< std::string > & | getObjectFiles () const override |
const std::set< std::string > & | getSourceFiles () const override |
const std::vector< std::string > & | getCompileFlags () const |
void | setCompileFlags (const std::vector< std::string > &compileFlags) |
void | addCompileFlag (const std::string &compileFlag) |
const std::vector< std::string > & | getLinkFlags () const |
void | setLinkFlags (const std::vector< std::string > &linkFlags) |
void | addLinkFlag (const std::string &linkFlag) |
const std::vector< std::string > & | getCompileLibFlags () const |
void | setCompileLibFlags (const std::vector< std::string > &compileLibFlags) |
void | addCompileLibFlag (const std::string &compileLibFlag) |
bool | isVerbose () const override |
void | setVerbose (bool verbose) override |
void | compileSources (const std::map< std::string, std::string > &sources, bool posIndepCode, JobTimer *timer=nullptr) override |
virtual void | compileSources (const std::map< std::string, std::string > &sources, bool posIndepCode, JobTimer *timer, const std::string &outputExtension, std::set< std::string > &outputFiles) |
virtual void | buildDynamic (const std::string &library, JobTimer *timer=nullptr) override=0 |
void | cleanup () override |
Protected Member Functions | |
virtual void | compileSource (const std::string &source, const std::string &output, bool posIndepCode)=0 |
virtual void | compileFile (const std::string &path, const std::string &output, bool posIndepCode)=0 |
Default implementation of a C compiler class used to create dynamic and static libraries
Definition at line 29 of file abstract_c_compiler.hpp.
|
overridepure virtual |
Creates a dynamic library from a set of object files
library | the path to the dynamic library to be created |
Implements CppAD::cg::CCompiler< Base >.
Implemented in CppAD::cg::ClangCompiler< Base >, and CppAD::cg::GccCompiler< Base >.
Referenced by CppAD::cg::AbstractCCompiler< Base >::compileSources().
|
inlineoverridevirtual |
Deletes the previously compiled object files and clears of files to include in a dynamic library
Implements CppAD::cg::CCompiler< Base >.
Reimplemented in CppAD::cg::ClangCompiler< Base >.
Definition at line 254 of file abstract_c_compiler.hpp.
Referenced by CppAD::cg::ClangCompiler< Base >::cleanup().
|
protectedpure virtual |
Compiles a single source file into an object file.
path | the path to the source file |
output | the compiled output file name (the object file path) |
Implemented in CppAD::cg::ClangCompiler< Base >, and CppAD::cg::GccCompiler< Base >.
Referenced by CppAD::cg::AbstractCCompiler< Base >::cleanup(), and CppAD::cg::AbstractCCompiler< Base >::compileSources().
|
protectedpure virtual |
Compiles a single source file into an object file.
source | the content of the source file |
output | the compiled output file name (the object file path) |
Implemented in CppAD::cg::ClangCompiler< Base >, and CppAD::cg::GccCompiler< Base >.
Referenced by CppAD::cg::AbstractCCompiler< Base >::cleanup(), and CppAD::cg::AbstractCCompiler< Base >::compileSources().
|
inlineoverridevirtual |
Compiles the provided C source code.
library | the path of the dynamic library to be created |
sources | maps the names to the content of the source files |
posIndepCode | whether or not to create position-independent code for dynamic linking |
Implements CppAD::cg::CCompiler< Base >.
Definition at line 146 of file abstract_c_compiler.hpp.
|
inlineoverridevirtual |
Provides the path to a folder where the source files should be created when the option to save files to disk is active.
Implements CppAD::cg::CCompiler< Base >.
Definition at line 78 of file abstract_c_compiler.hpp.
|
inlineoverridevirtual |
Provides the path to a temporary folder that should not exist (it will be deleted after the dynamic library is created)
Implements CppAD::cg::CCompiler< Base >.
Definition at line 62 of file abstract_c_compiler.hpp.
|
inlineoverridevirtual |
Defines the path to a folder where the source files should be created when the option to save files to disk is active.
srcFolder | path to the folder. |
Implements CppAD::cg::CCompiler< Base >.
Definition at line 82 of file abstract_c_compiler.hpp.
|
inlineoverridevirtual |
Defines the path to a temporary folder that should not exist (it will be deleted after the dynamic library is created)
tmpFolder | path to a temporary folder. |
Implements CppAD::cg::CCompiler< Base >.
Definition at line 66 of file abstract_c_compiler.hpp.