Class: MxxRu::Cpp::Toolsets::GccSparcSolaris

Inherits:
GccUnixFamily show all
Defined in:
lib/mxx_ru/cpp/toolsets/gcc_sparc_solaris.rb

Overview

Toolset implemetation for GCC port on SPARC Solaris.

Constant Summary

Constants inherited from GccFamily

MxxRu::Cpp::Toolsets::GccFamily::GCC_PORT_CYGWIN, MxxRu::Cpp::Toolsets::GccFamily::GCC_PORT_MINGW, MxxRu::Cpp::Toolsets::GccFamily::GCC_PORT_TAG, MxxRu::Cpp::Toolsets::GccFamily::GCC_PORT_UNIX

Constants inherited from MxxRu::Cpp::Toolset

MxxRu::Cpp::Toolset::COMPILER_NAME_TAG, MxxRu::Cpp::Toolset::CPP_COMPILER_NAME_TAG, MxxRu::Cpp::Toolset::C_COMPILER_NAME_TAG, MxxRu::Cpp::Toolset::IMPORT_LIBRARIAN_NAME_TAG, MxxRu::Cpp::Toolset::LIBRARIAN_NAME_TAG, MxxRu::Cpp::Toolset::LINKER_NAME_TAG, MxxRu::Cpp::Toolset::RC_NAME_TAG, MxxRu::Cpp::Toolset::Unknown_tag_ex

Instance Attribute Summary

Attributes inherited from MxxRu::Cpp::Toolset

#cpp_std

Instance Method Summary collapse

Methods inherited from GccUnixFamily

#default_lib_linking_mode, #lib_linking_mode_switch, #make_linker_include_lib_options, #switch_to_default_lib_mode_if_needed

Methods inherited from GccFamily

#c_compiler_name, #cpp_compiler_name, #dll_file_name, #enclose_linker_include_lib_options_into_brackes, #exe_file_name, #implib_link_name, #implib_link_path, #lib_file_name, #lib_link_name, #librarian_name, #linker_name, #make_c_obj_command_lines, #make_cpp_obj_command_lines, #make_dll_command_lines, #make_dll_requirements, #make_exe_command_lines, #make_lib_command_lines, #make_linker_include_lib_options, #make_toolset_id_string, #obj_file_ext, #port_specific_lib_name_checker

Methods inherited from MxxRu::Cpp::Toolset

#clean_dll, #clean_dll_specific_files, #clean_exe, #clean_exe_specific_files, #clean_lib, #clean_lib_specific_files, #clean_mswin_res, #clean_mswin_res_specific_files, #clean_objs, #dll_file_name, #exe_file_name, #force_cpp03, #force_cpp0x_std, #force_cpp11, #force_cpp14, #full_dll_name, #full_exe_name, #full_lib_name, has_linkable_dependecies?, #implib_link_name, #implib_link_path, #lib_file_name, #lib_link_name, #make_c_obj_command_lines, #make_cpp_obj_command_lines, #make_dll, #make_dll_command_lines, #make_dll_requirements, #make_exe, #make_exe_command_lines, #make_identification_string, #make_lib, #make_lib_command_lines, #make_mswin_res, #make_mswin_res_command_lines, #make_objs, #name, #obj_file_ext, #setup_tag, #tag

Constructor Details

#initialize(a_name = "gcc") ⇒ GccSparcSolaris

Returns a new instance of GccSparcSolaris.



38
39
40
41
42
43
44
45
46
# File 'lib/mxx_ru/cpp/toolsets/gcc_sparc_solaris.rb', line 38

def initialize( a_name = "gcc" )
  super( a_name )

  setup_tag( GCC_PORT_TAG, GCC_PORT_UNIX )
  setup_tag( "host_os", "unix" )
  setup_tag( "target_os", "unix" )
  setup_tag( "unix_port", "solaris" )
  setup_tag( "arch", "sparc" )
end

Instance Method Details

See description at MxxRu::Cpp::Toolsets::GccFamily#port_specific_dll_link_options.

-mimpure-text linker option is added.



58
59
60
61
62
63
64
65
# File 'lib/mxx_ru/cpp/toolsets/gcc_sparc_solaris.rb', line 58

def port_specific_dll_link_options(
  a_dll_name, a_dll_info, a_linker_lists, a_target )

  r = super( a_dll_name, a_dll_info, a_linker_lists, a_target ) +
    " -mimpure-text"

  return r
end

Return string containing port-specific linker option for EXE linking.

-mimpure-text linker option is added.



70
71
72
73
74
75
76
77
# File 'lib/mxx_ru/cpp/toolsets/gcc_sparc_solaris.rb', line 70

def port_specific_exe_link_options(
  a_exe_name, a_exe_info, a_linker_lists, a_target )

  r = super( a_exe_name, a_exe_info, a_linker_lists, a_target ) +
    " -mimpure-text"

  return r
end

#setup_mandatory_options(target) ⇒ Object



48
49
50
51
52
# File 'lib/mxx_ru/cpp/toolsets/gcc_sparc_solaris.rb', line 48

def setup_mandatory_options( target )
  super( target )

  target.linker_option( "-L/usr/lib" )
end