ronin.gcc¶
-
class
ronin.gcc.GccBuild(command=None, ccache=True, platform=None)¶ Bases:
ronin.gcc._GccWithMakefilegcc executor combining compilation and linking.
The phase inputs are “.c” source files. The phase output is an executable (the default), an “.so” or “.dll” shared library (call
GccExecutor.create_shared_library()), or a static library (“.a”).Parameters: - command (basestring or FunctionType) –
gcc(org++, etc.) command; defaults to the context’sgcc.gcc_command - ccache (bool) – whether to use ccache; defaults to True
- platform (basestring or FunctionType or Project) – target platform or project
- command (basestring or FunctionType) –
-
class
ronin.gcc.GccCompile(command=None, ccache=True, platform=None)¶ Bases:
ronin.gcc._GccWithMakefilegcc compile executor.
The phase inputs are “.c” source files. The phase outputs are “.o” object files.
Parameters: - command (basestring or FunctionType) –
gcc(org++, etc.) command; defaults to the context’sgcc.gcc_command - ccache (bool) – whether to use ccache; defaults to True
- platform (basestring or FunctionType or Project) – target platform or project
- command (basestring or FunctionType) –
-
class
ronin.gcc.GccExecutor(command=None, ccache=True, platform=None)¶ Bases:
ronin.executors.ExecutorWithArgumentsBase class for gcc executors.
For a summary of all options accepted see the documentation.
Parameters: - command (basestring or FunctionType) –
gcc(org++, etc.) command; defaults to the context’sgcc.gcc_command - ccache (bool) – whether to use ccache; defaults to True
- platform (basestring or FunctionType or Project) – target platform or project
-
add_include_path(*value)¶
-
add_input(value)¶
-
add_library(value)¶
-
add_library_path(*value)¶
-
add_linker_argument(name, value=None, xlinker=True)¶ Add a command line argument to the linker.
For options accepted by ld see the documentation
-
compile_only()¶
-
create_makefile()¶
-
create_makefile_ignore_system()¶
-
create_makefile_only()¶
-
define(name, value=None)¶
-
disable_warning(value)¶
-
enable_debug()¶
-
enable_openmp()¶
-
enable_threads()¶
-
enable_warning(value='all')¶
-
link_static_only()¶
-
linker_exclude_symbols(*values)¶
-
linker_export_all_symbols_dynamically()¶
-
linker_no_symbol_table()¶
-
linker_no_undefined_symbols()¶
-
linker_no_undefined_symbols_in_libraries()¶
-
linker_rpath(value)¶ Add a directory to the runtime library search path.
-
linker_rpath_origin()¶
-
linker_undefine_symbols(*values)¶
-
optimize(value)¶
-
pic(compact=False)¶
-
set_machine(value)¶
-
set_machine_floating_point(value)¶
-
set_machine_tune(value)¶
-
set_makefile_path(value)¶
-
standard(value)¶
-
use_linker(value)¶
- command (basestring or FunctionType) –
-
class
ronin.gcc.GccLink(command=None, ccache=True, platform=None)¶ Bases:
ronin.gcc.GccExecutorgcc link executor.
The phase inputs are “.o” object files. The phase output is an executable (the default), an “.so” or “.dll” shared library (call
create_shared_library), or a static library (“.a”).Parameters: - command (basestring or FunctionType) –
gcc(org++, etc.) command; defaults to the context’sgcc.gcc_command - ccache (bool) – whether to use ccache; defaults to True
- platform (basestring or FunctionType or Project) – target platform or project
- command (basestring or FunctionType) –
-
ronin.gcc.configure_gcc(gcc_command=None, ccache=None, ccache_path=None)¶ Configures the current context’s gcc support.
Parameters: - gcc_command (basestring or FunctionType) –
gcc(org++, etc.) command; defaults to “gcc” - ccache (bool) – whether to use ccache; defaults to True
- ccache_path (basestring or FunctionType) – ccache path; defaults to “/usr/lib/ccache”
- gcc_command (basestring or FunctionType) –
-
ronin.gcc.gcc_platform_command(command, platform)¶ Finds the gcc command name for a specific target platform.
Behind the scenes uses
ronin.utils.platform.platform_command().Parameters: - command (basestring or FunctionType) –
gcc(org++, etc.) command - platform (basestring or FunctionType or Project) – target platform or project
Returns: command
Return type: - command (basestring or FunctionType) –
-
ronin.gcc.gcc_platform_machine_bits(platform)¶ Bits for target platform.
Parameters: platform (basestring or FunctionType or Project) – target platform or project Returns: ‘64’ or ‘32’ Return type: basestring
-
ronin.gcc.which_gcc(command, ccache, platform, exception=True)¶ A specialized version of
ronin.utils.platform.which()for gcc that supports cross-compiling and ccache.Behind the scenes uses
gcc_platform_command().Parameters: - command (basestring or FunctionType) –
gcc(org++, etc.) command - ccache (bool) – set to True to attempt to use ccache; if a ccache version is not found, will silently try to use the standard gcc command
- platform (basestring or FunctionType or Project) – target platform or project
- exception (bool) – set to False in order to return None upon failure, instead of raising an exception
Returns: absolute path to command
Return type: Raises: WhichException – if
exceptionis True and could not find command- command (basestring or FunctionType) –