Mxx_ru 1.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/COPYING +26 -0
- data/NEWS +52 -0
- data/README +21 -0
- data/Rakefile +32 -0
- data/examples/exe_and_lib/main.cpp +15 -0
- data/examples/exe_and_lib/prj.rb +11 -0
- data/examples/exe_and_lib/say.cpp +13 -0
- data/examples/exe_and_lib/say.hpp +11 -0
- data/examples/exe_and_lib/say.rb +7 -0
- data/examples/exe_dll_lib/inout.cpp +15 -0
- data/examples/exe_dll_lib/inout.hpp +26 -0
- data/examples/exe_dll_lib/inout.rb +18 -0
- data/examples/exe_dll_lib/main.cpp +23 -0
- data/examples/exe_dll_lib/prj.rb +11 -0
- data/examples/exe_dll_lib/say.cpp +13 -0
- data/examples/exe_dll_lib/say.hpp +12 -0
- data/examples/exe_dll_lib/say.rb +9 -0
- data/examples/exe_dll_lib_2/build.rb +7 -0
- data/examples/exe_dll_lib_2/inout/inout.cpp +15 -0
- data/examples/exe_dll_lib_2/inout/inout.hpp +26 -0
- data/examples/exe_dll_lib_2/inout/prj.rb +16 -0
- data/examples/exe_dll_lib_2/main/main.cpp +23 -0
- data/examples/exe_dll_lib_2/main/prj.rb +9 -0
- data/examples/exe_dll_lib_2/say/prj.rb +8 -0
- data/examples/exe_dll_lib_2/say/say.cpp +13 -0
- data/examples/exe_dll_lib_2/say/say.hpp +12 -0
- data/examples/simple_exe/main.cpp +26 -0
- data/examples/simple_exe/prj.rb +7 -0
- data/lib/mxx_ru/abstract_target.rb +283 -0
- data/lib/mxx_ru/binary_target.rb +89 -0
- data/lib/mxx_ru/binary_unittest.rb +130 -0
- data/lib/mxx_ru/cpp/analyzer.rb +230 -0
- data/lib/mxx_ru/cpp/composite.rb +106 -0
- data/lib/mxx_ru/cpp/detect_toolset.rb +122 -0
- data/lib/mxx_ru/cpp/mode.rb +85 -0
- data/lib/mxx_ru/cpp/obj_placement.rb +321 -0
- data/lib/mxx_ru/cpp/qt.rb +333 -0
- data/lib/mxx_ru/cpp/rucodegen.rb +114 -0
- data/lib/mxx_ru/cpp/source_file.rb +71 -0
- data/lib/mxx_ru/cpp/target.rb +1371 -0
- data/lib/mxx_ru/cpp/toolset.rb +1029 -0
- data/lib/mxx_ru/cpp/toolsets/bcc_win32_5.rb +52 -0
- data/lib/mxx_ru/cpp/toolsets/bcc_win32_family.rb +451 -0
- data/lib/mxx_ru/cpp/toolsets/c89_etk_nsk.rb +56 -0
- data/lib/mxx_ru/cpp/toolsets/c89_nsk.rb +56 -0
- data/lib/mxx_ru/cpp/toolsets/c89_nsk_family.rb +273 -0
- data/lib/mxx_ru/cpp/toolsets/gcc_cygwin.rb +54 -0
- data/lib/mxx_ru/cpp/toolsets/gcc_family.rb +382 -0
- data/lib/mxx_ru/cpp/toolsets/gcc_linux.rb +60 -0
- data/lib/mxx_ru/cpp/toolsets/gcc_mingw.rb +144 -0
- data/lib/mxx_ru/cpp/toolsets/gcc_sparc_solaris.rb +87 -0
- data/lib/mxx_ru/cpp/toolsets/vc7.rb +62 -0
- data/lib/mxx_ru/cpp/toolsets/vc8.rb +452 -0
- data/lib/mxx_ru/cpp/toolsets/vc_family.rb +428 -0
- data/lib/mxx_ru/cpp.rb +36 -0
- data/lib/mxx_ru/ex.rb +134 -0
- data/lib/mxx_ru/makestyle_generator.rb +138 -0
- data/lib/mxx_ru/textfile_unittest.rb +284 -0
- data/lib/mxx_ru/util.rb +258 -0
- data/tests/c/pcre/chartables.c +183 -0
- data/tests/c/pcre/config.h +99 -0
- data/tests/c/pcre/dftables.c +167 -0
- data/tests/c/pcre/get.c +349 -0
- data/tests/c/pcre/internal.h +677 -0
- data/tests/c/pcre/maketables.c +140 -0
- data/tests/c/pcre/pcre.c +8304 -0
- data/tests/c/pcre/pcre.h +193 -0
- data/tests/c/pcre/pcre.rb +14 -0
- data/tests/c/pcre/pcredemo.c +316 -0
- data/tests/c/pcre/pcregrep.c +642 -0
- data/tests/c/pcre/pcreposix.c +305 -0
- data/tests/c/pcre/pcreposix.h +88 -0
- data/tests/c/pcre/pcretest.c +1483 -0
- data/tests/c/pcre/perltest +211 -0
- data/tests/c/pcre/printint.c +360 -0
- data/tests/c/pcre/study.c +472 -0
- data/tests/cpp/mswin_res_dll/build.rb +14 -0
- data/tests/cpp/mswin_res_dll/dll.cpp +17 -0
- data/tests/cpp/mswin_res_dll/dll.rb +30 -0
- data/tests/cpp/mswin_res_dll/dll.rc +48 -0
- data/tests/cpp/mswin_res_dll/h/dll.hpp +8 -0
- data/tests/cpp/mswin_res_dll/h/res.h +3 -0
- data/tests/cpp/mswin_res_dll/main.cpp +13 -0
- data/tests/cpp/mswin_res_dll/main.rb +20 -0
- data/tests/cpp/mswin_res_dll/res/tree_fol.bmp +0 -0
- data/tests/cpp/mswin_res_dll/res/tree_state_1.bmp +0 -0
- data/tests/cpp/mswin_res_dll/res/tree_state_2.bmp +0 -0
- data/tests/cpp/mswin_res_exe/build.rb +23 -0
- data/tests/cpp/mswin_res_exe/h/res.h +3 -0
- data/tests/cpp/mswin_res_exe/main.cpp +17 -0
- data/tests/cpp/mswin_res_exe/main.rc +48 -0
- data/tests/cpp/mswin_res_exe/res/tree_fol.bmp +0 -0
- data/tests/cpp/mswin_res_exe/res/tree_state_1.bmp +0 -0
- data/tests/cpp/mswin_res_exe/res/tree_state_2.bmp +0 -0
- data/tests/cpp/rucodegen/host_config.cpp +20 -0
- data/tests/cpp/rucodegen/host_config.rb +14 -0
- data/tests/cpp/rucodegen/impl/conn_params.cpp +7 -0
- data/tests/cpp/rucodegen/impl/conn_params.rb +14 -0
- data/tests/cpp/rucodegen/impl/h/conn_params.hpp +10 -0
- data/tests/cpp/rucodegen/prj.rb +17 -0
- data/tests/cpp/textfile_unittest/build.rb +8 -0
- data/tests/cpp/textfile_unittest/etalons/out_0.txt +0 -0
- data/tests/cpp/textfile_unittest/etalons/out_1.txt +1 -0
- data/tests/cpp/textfile_unittest/etalons/out_128.txt +128 -0
- data/tests/cpp/textfile_unittest/main.cpp +89 -0
- data/tests/cpp/textfile_unittest/prj.rb +8 -0
- data/tests/cpp/textfile_unittest/prj.ut.rb +18 -0
- data/tests/cpp/toolset_name.rb +6 -0
- data/tests/cpp/vc_cleanup/cout.log +72 -0
- data/tests/cpp/vc_cleanup/dll_hi.cpp +5 -0
- data/tests/cpp/vc_cleanup/exe_hi.cpp +10 -0
- data/tests/cpp/vc_cleanup/lib_hi.cpp +5 -0
- data/tests/cpp/vc_cleanup/prj_dll_no_implib.rb +10 -0
- data/tests/cpp/vc_cleanup/prj_dll_no_implib_simple_target_root.rb +11 -0
- data/tests/cpp/vc_cleanup/prj_dll_with_implib.rb +11 -0
- data/tests/cpp/vc_cleanup/prj_dll_with_implib_simple_target_root.rb +14 -0
- data/tests/cpp/vc_cleanup/prj_exe_no_implib.rb +10 -0
- data/tests/cpp/vc_cleanup/prj_exe_no_implib_simple_target_root.rb +11 -0
- data/tests/cpp/vc_cleanup/prj_lib.rb +10 -0
- data/tests/cpp/vc_cleanup/prj_lib_with_simple_target_root.rb +11 -0
- data/tests/cpp/vc_cleanup/tc_vc_cleanup.rb +60 -0
- data/tests/mxx_ru/change_default_value/ignoring_by_build_root/build.rb +8 -0
- data/tests/mxx_ru/change_default_value/ignoring_by_build_root/child_1.rb +5 -0
- data/tests/mxx_ru/change_default_value/ignoring_by_child_1/build.rb +7 -0
- data/tests/mxx_ru/change_default_value/ignoring_by_child_1/child_1.rb +5 -0
- data/tests/mxx_ru/change_default_value/ignoring_by_child_1/child_2.rb +5 -0
- data/tests/mxx_ru/change_default_value/ok/build.rb +8 -0
- data/tests/mxx_ru/change_default_value/ok/child_1.rb +8 -0
- data/tests/mxx_ru/tc_makestyle_generator.rb +117 -0
- data/tests/mxx_ru/vc8/tc_actual_manifest.rb +230 -0
- data/tests/mxx_ru/vc8/tc_append_mt_commands.rb +104 -0
- data/tests/mxx_ru/vc8/tc_default_manifest.rb +17 -0
- data/tests/mxx_ru/vc8/tc_define_manifest.rb +173 -0
- data/tests/mxx_ru/vc8/tc_drop_default_manifest.rb +16 -0
- data/tests/mxx_ru/vc8/tc_invalid_params.rb +81 -0
- data/tests/mxx_ru/vc8/ts_vc8.rb +10 -0
- data/tests/qt/aclock/aclock.cpp +148 -0
- data/tests/qt/aclock/aclock.h +45 -0
- data/tests/qt/aclock/main.cpp +28 -0
- data/tests/qt/aclock/prj.rb +21 -0
- data/tests/qt/iconview/main.cpp +76 -0
- data/tests/qt/iconview/prj.rb +21 -0
- data/tests/qt/toplevel/main.cpp +9 -0
- data/tests/qt/toplevel/options.ui +587 -0
- data/tests/qt/toplevel/options.ui.h +98 -0
- data/tests/qt/toplevel/prj.rb +21 -0
- metadata +241 -0
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
#--
|
|
2
|
+
# Copyright (c) 1996-2004, Yauheni Akhotnikau
|
|
3
|
+
# Copyright (c) 2004-2006, JSC Intervale
|
|
4
|
+
# Copyright (c) 2006, The Mxx_ru Project
|
|
5
|
+
# All rights reserved.
|
|
6
|
+
#
|
|
7
|
+
# Redistribution and use in source and binary forms, with or without modification,
|
|
8
|
+
# are permitted provided that the following conditions are met:
|
|
9
|
+
#
|
|
10
|
+
# 1. Redistributions of source code must retain the above copyright notice,
|
|
11
|
+
# this list of conditions and the following disclaimer.
|
|
12
|
+
# 2. Redistributions in binary form must reproduce the above copyright notice,
|
|
13
|
+
# this list of conditions and the following disclaimer in the documentation
|
|
14
|
+
# and/or other materials provided with the distribution.
|
|
15
|
+
# 3. The name of the author may not be used to endorse or promote products derived
|
|
16
|
+
# from this software without specific prior written permission.
|
|
17
|
+
#
|
|
18
|
+
# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
|
|
19
|
+
# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
|
|
20
|
+
# AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE
|
|
21
|
+
# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
|
22
|
+
# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
|
23
|
+
# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
|
24
|
+
# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
|
|
25
|
+
# NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
|
|
26
|
+
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
27
|
+
#++
|
|
28
|
+
|
|
29
|
+
require 'mxx_ru/cpp/toolsets/gcc_family'
|
|
30
|
+
|
|
31
|
+
module Mxx_ru
|
|
32
|
+
module Cpp
|
|
33
|
+
module Toolsets
|
|
34
|
+
|
|
35
|
+
# Toolset implemetation for GCC compiler for Linux.
|
|
36
|
+
class Gcc_linux < Mxx_ru::Cpp::Toolsets::Gcc_family
|
|
37
|
+
public
|
|
38
|
+
def initialize( a_name = "gcc" )
|
|
39
|
+
super( a_name )
|
|
40
|
+
|
|
41
|
+
setup_tag( GCC_PORT_TAG, GCC_PORT_UNIX )
|
|
42
|
+
setup_tag( "host_os", "unix" )
|
|
43
|
+
setup_tag( "target_os", "unix" )
|
|
44
|
+
setup_tag( "unix_port", "linux" )
|
|
45
|
+
end
|
|
46
|
+
|
|
47
|
+
def setup_mandatory_options( target )
|
|
48
|
+
super( target )
|
|
49
|
+
|
|
50
|
+
target.linker_option( "-L/usr/lib" )
|
|
51
|
+
end
|
|
52
|
+
end # class Gcc_linux
|
|
53
|
+
|
|
54
|
+
end # module Toolsets
|
|
55
|
+
|
|
56
|
+
end # module Cpp
|
|
57
|
+
|
|
58
|
+
end # module Mxx_ru
|
|
59
|
+
|
|
60
|
+
Mxx_ru::Cpp::setup_toolset( Mxx_ru::Cpp::Toolsets::Gcc_linux.new )
|
|
@@ -0,0 +1,144 @@
|
|
|
1
|
+
#--
|
|
2
|
+
# Copyright (c) 1996-2004, Yauheni Akhotnikau
|
|
3
|
+
# Copyright (c) 2004-2006, JSC Intervale
|
|
4
|
+
# Copyright (c) 2006, The Mxx_ru Project
|
|
5
|
+
# All rights reserved.
|
|
6
|
+
#
|
|
7
|
+
# Redistribution and use in source and binary forms, with or without modification,
|
|
8
|
+
# are permitted provided that the following conditions are met:
|
|
9
|
+
#
|
|
10
|
+
# 1. Redistributions of source code must retain the above copyright notice,
|
|
11
|
+
# this list of conditions and the following disclaimer.
|
|
12
|
+
# 2. Redistributions in binary form must reproduce the above copyright notice,
|
|
13
|
+
# this list of conditions and the following disclaimer in the documentation
|
|
14
|
+
# and/or other materials provided with the distribution.
|
|
15
|
+
# 3. The name of the author may not be used to endorse or promote products derived
|
|
16
|
+
# from this software without specific prior written permission.
|
|
17
|
+
#
|
|
18
|
+
# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
|
|
19
|
+
# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
|
|
20
|
+
# AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE
|
|
21
|
+
# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
|
22
|
+
# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
|
23
|
+
# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
|
24
|
+
# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
|
|
25
|
+
# NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
|
|
26
|
+
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
27
|
+
#++
|
|
28
|
+
|
|
29
|
+
require 'mxx_ru/cpp/toolsets/gcc_family'
|
|
30
|
+
|
|
31
|
+
module Mxx_ru
|
|
32
|
+
module Cpp
|
|
33
|
+
module Toolsets
|
|
34
|
+
|
|
35
|
+
# Toolset implemetation for GCC compiler for Win32.
|
|
36
|
+
# This class is a base class for both MinGW and Cygwin
|
|
37
|
+
class Gcc_mingw < Gcc_mswin_family
|
|
38
|
+
public
|
|
39
|
+
|
|
40
|
+
def initialize( a_name = "gcc" )
|
|
41
|
+
super( a_name )
|
|
42
|
+
|
|
43
|
+
setup_tag( GCC_PORT_TAG, GCC_PORT_MINGW )
|
|
44
|
+
setup_tag( "host_os", "mswin" )
|
|
45
|
+
setup_tag( "target_os", "mswin" )
|
|
46
|
+
end
|
|
47
|
+
|
|
48
|
+
# ���������� ��� ����������� ��������.
|
|
49
|
+
def rc_name
|
|
50
|
+
return "windres"
|
|
51
|
+
end
|
|
52
|
+
|
|
53
|
+
# See description at Mxx_ru::Cpp::Toolset#setup_mandatory_options.
|
|
54
|
+
#
|
|
55
|
+
# ������������� ��������� ����������� ��������.
|
|
56
|
+
#
|
|
57
|
+
# ���������� ����������� ����� � ����������� �� screen_mode.
|
|
58
|
+
def setup_mandatory_options( target )
|
|
59
|
+
super( target )
|
|
60
|
+
|
|
61
|
+
if SCREEN_WINDOW == target.mxx_screen_mode
|
|
62
|
+
target.compiler_option( "-mwindows" )
|
|
63
|
+
else
|
|
64
|
+
target.linker_option( "-mconsole" )
|
|
65
|
+
end
|
|
66
|
+
|
|
67
|
+
# ��� defines � ��� include_path ������ ���������������� � ��
|
|
68
|
+
# ���������� ��������.
|
|
69
|
+
target.mxx_all_defines.each { |d|
|
|
70
|
+
target.mswin_rc_option( "-D " + d )
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
target.mxx_all_include_paths.each { |p|
|
|
74
|
+
target.mswin_rc_option( "--include-dir=" + p )
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
# ��� ����������� �������� ����� ������������ ��� � ���� �����.
|
|
78
|
+
target.mxx_all_mswin_rc_defines.each { |d|
|
|
79
|
+
target.mswin_rc_option( "-D " + d )
|
|
80
|
+
}
|
|
81
|
+
target.mxx_all_mswin_rc_include_paths.each { |p|
|
|
82
|
+
target.mswin_rc_option( "--include-dir=" + p )
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
end
|
|
86
|
+
|
|
87
|
+
# See description at Mxx_ru::Cpp::Toolset#mswin_res_file_name.
|
|
88
|
+
def mswin_res_file_name( source_name )
|
|
89
|
+
return source_name + ".res.o"
|
|
90
|
+
end
|
|
91
|
+
|
|
92
|
+
# See description at Mxx_ru::Cpp::Toolset#make_mswin_res_command_lines.
|
|
93
|
+
def make_mswin_res_command_lines(
|
|
94
|
+
res_name,
|
|
95
|
+
rc_file,
|
|
96
|
+
rc_options,
|
|
97
|
+
target )
|
|
98
|
+
|
|
99
|
+
return [ "#{rc_name} " +
|
|
100
|
+
"#{rc_options.join(' ')} " +
|
|
101
|
+
"-o #{res_name} #{rc_file}" ]
|
|
102
|
+
end
|
|
103
|
+
|
|
104
|
+
# See description at
|
|
105
|
+
#Mxx_ru::Cpp::Toolsets::Gcc_family#port_specific_dll_link_options.
|
|
106
|
+
#
|
|
107
|
+
# ���� ���� mswin-res-����, �� ����������� � ���������� �������.
|
|
108
|
+
def port_specific_dll_link_options(
|
|
109
|
+
a_dll_name, a_dll_info, a_linker_lists, a_target )
|
|
110
|
+
|
|
111
|
+
r = super( a_dll_name, a_dll_info, a_linker_lists, a_target )
|
|
112
|
+
if a_linker_lists.resources.size
|
|
113
|
+
r = a_linker_lists.resources.join( " " ) + " " + r
|
|
114
|
+
end
|
|
115
|
+
|
|
116
|
+
return r
|
|
117
|
+
end
|
|
118
|
+
|
|
119
|
+
# ���������� ������, ������� �������� ������������� ��� �����
|
|
120
|
+
# ����� ������� ��� �������� EXE.
|
|
121
|
+
#
|
|
122
|
+
# ��� ��������� ���������� ���������� make_exe_command_lines.
|
|
123
|
+
#
|
|
124
|
+
# � ������� ������ ���������� ������ ������.
|
|
125
|
+
def port_specific_exe_link_options(
|
|
126
|
+
a_exe_name, a_exe_info, a_linker_lists, a_target )
|
|
127
|
+
|
|
128
|
+
r = super( a_exe_name, a_exe_info, a_linker_lists, a_target )
|
|
129
|
+
if a_linker_lists.resources.size
|
|
130
|
+
r = a_linker_lists.resources.join( " " ) + " " + r
|
|
131
|
+
end
|
|
132
|
+
|
|
133
|
+
return r
|
|
134
|
+
end
|
|
135
|
+
|
|
136
|
+
end # class Gcc_mingw
|
|
137
|
+
|
|
138
|
+
end # module Toolsets
|
|
139
|
+
|
|
140
|
+
end # module Cpp
|
|
141
|
+
|
|
142
|
+
end # module Mxx_ru
|
|
143
|
+
|
|
144
|
+
Mxx_ru::Cpp::setup_toolset( Mxx_ru::Cpp::Toolsets::Gcc_mingw.new )
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
#--
|
|
2
|
+
# Copyright (c) 1996-2004, Yauheni Akhotnikau
|
|
3
|
+
# Copyright (c) 2004-2006, JSC Intervale
|
|
4
|
+
# Copyright (c) 2006, The Mxx_ru Project
|
|
5
|
+
# All rights reserved.
|
|
6
|
+
#
|
|
7
|
+
# Redistribution and use in source and binary forms, with or without modification,
|
|
8
|
+
# are permitted provided that the following conditions are met:
|
|
9
|
+
#
|
|
10
|
+
# 1. Redistributions of source code must retain the above copyright notice,
|
|
11
|
+
# this list of conditions and the following disclaimer.
|
|
12
|
+
# 2. Redistributions in binary form must reproduce the above copyright notice,
|
|
13
|
+
# this list of conditions and the following disclaimer in the documentation
|
|
14
|
+
# and/or other materials provided with the distribution.
|
|
15
|
+
# 3. The name of the author may not be used to endorse or promote products derived
|
|
16
|
+
# from this software without specific prior written permission.
|
|
17
|
+
#
|
|
18
|
+
# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
|
|
19
|
+
# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
|
|
20
|
+
# AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE
|
|
21
|
+
# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
|
22
|
+
# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
|
23
|
+
# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
|
24
|
+
# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
|
|
25
|
+
# NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
|
|
26
|
+
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
27
|
+
#++
|
|
28
|
+
|
|
29
|
+
require 'mxx_ru/cpp/toolsets/gcc_family'
|
|
30
|
+
|
|
31
|
+
module Mxx_ru
|
|
32
|
+
module Cpp
|
|
33
|
+
module Toolsets
|
|
34
|
+
|
|
35
|
+
# Toolset implemetation for GCC port on SPARC Solaris.
|
|
36
|
+
class Gcc_sparc_solaris < Mxx_ru::Cpp::Toolsets::Gcc_family
|
|
37
|
+
public
|
|
38
|
+
def initialize( a_name = "gcc" )
|
|
39
|
+
super( a_name )
|
|
40
|
+
|
|
41
|
+
setup_tag( GCC_PORT_TAG, GCC_PORT_UNIX )
|
|
42
|
+
setup_tag( "host_os", "unix" )
|
|
43
|
+
setup_tag( "target_os", "unix" )
|
|
44
|
+
setup_tag( "unix_port", "solaris" )
|
|
45
|
+
setup_tag( "arch", "sparc" )
|
|
46
|
+
end
|
|
47
|
+
|
|
48
|
+
def setup_mandatory_options( target )
|
|
49
|
+
super( target )
|
|
50
|
+
|
|
51
|
+
target.linker_option( "-L/usr/lib" )
|
|
52
|
+
end
|
|
53
|
+
|
|
54
|
+
# See description at
|
|
55
|
+
#Mxx_ru::Cpp::Toolsets::Gcc_family#port_specific_dll_link_options.
|
|
56
|
+
#
|
|
57
|
+
# -mimpure-text linker option is added.
|
|
58
|
+
def port_specific_dll_link_options(
|
|
59
|
+
a_dll_name, a_dll_info, a_linker_lists, a_target )
|
|
60
|
+
|
|
61
|
+
r = super( a_dll_name, a_dll_info, a_linker_lists, a_target ) +
|
|
62
|
+
" -mimpure-text"
|
|
63
|
+
|
|
64
|
+
return r
|
|
65
|
+
end
|
|
66
|
+
|
|
67
|
+
# Return string containing port-specific linker option for EXE linking.
|
|
68
|
+
#
|
|
69
|
+
# -mimpure-text linker option is added.
|
|
70
|
+
def port_specific_exe_link_options(
|
|
71
|
+
a_exe_name, a_exe_info, a_linker_lists, a_target )
|
|
72
|
+
|
|
73
|
+
r = super( a_exe_name, a_exe_info, a_linker_lists, a_target ) +
|
|
74
|
+
" -mimpure-text"
|
|
75
|
+
|
|
76
|
+
return r
|
|
77
|
+
end
|
|
78
|
+
|
|
79
|
+
end # class Gcc_sparc_solaris
|
|
80
|
+
|
|
81
|
+
end # module Toolsets
|
|
82
|
+
|
|
83
|
+
end # module Cpp
|
|
84
|
+
|
|
85
|
+
end # module Mxx_ru
|
|
86
|
+
|
|
87
|
+
Mxx_ru::Cpp::setup_toolset( Mxx_ru::Cpp::Toolsets::Gcc_sparc_solaris.new )
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
#--
|
|
2
|
+
# Copyright (c) 1996-2004, Yauheni Akhotnikau
|
|
3
|
+
# Copyright (c) 2004-2006, JSC Intervale
|
|
4
|
+
# Copyright (c) 2006, The Mxx_ru Project
|
|
5
|
+
# All rights reserved.
|
|
6
|
+
#
|
|
7
|
+
# Redistribution and use in source and binary forms, with or without modification,
|
|
8
|
+
# are permitted provided that the following conditions are met:
|
|
9
|
+
#
|
|
10
|
+
# 1. Redistributions of source code must retain the above copyright notice,
|
|
11
|
+
# this list of conditions and the following disclaimer.
|
|
12
|
+
# 2. Redistributions in binary form must reproduce the above copyright notice,
|
|
13
|
+
# this list of conditions and the following disclaimer in the documentation
|
|
14
|
+
# and/or other materials provided with the distribution.
|
|
15
|
+
# 3. The name of the author may not be used to endorse or promote products derived
|
|
16
|
+
# from this software without specific prior written permission.
|
|
17
|
+
#
|
|
18
|
+
# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
|
|
19
|
+
# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
|
|
20
|
+
# AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE
|
|
21
|
+
# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
|
22
|
+
# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
|
23
|
+
# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
|
24
|
+
# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
|
|
25
|
+
# NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
|
|
26
|
+
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
27
|
+
#++
|
|
28
|
+
|
|
29
|
+
require 'mxx_ru/cpp/toolsets/vc_family'
|
|
30
|
+
|
|
31
|
+
module Mxx_ru
|
|
32
|
+
module Cpp
|
|
33
|
+
module Toolsets
|
|
34
|
+
|
|
35
|
+
# Toolset implemetation for Visual C++ 7.*
|
|
36
|
+
class Vc7 < Mxx_ru::Cpp::Toolsets::Vc_family
|
|
37
|
+
public
|
|
38
|
+
def initialize( a_name = "vc" )
|
|
39
|
+
super( a_name )
|
|
40
|
+
|
|
41
|
+
setup_tag( "ver_hi", "7" )
|
|
42
|
+
setup_tag( "ver_lo", "1" )
|
|
43
|
+
end
|
|
44
|
+
|
|
45
|
+
def setup_mandatory_options( target )
|
|
46
|
+
if RUNTIME_DEBUG == target.mxx_runtime_mode
|
|
47
|
+
target.compiler_option( "-Yd" )
|
|
48
|
+
end
|
|
49
|
+
|
|
50
|
+
super( target )
|
|
51
|
+
end
|
|
52
|
+
|
|
53
|
+
end # class Vc7
|
|
54
|
+
|
|
55
|
+
end # module Toolsets
|
|
56
|
+
|
|
57
|
+
end # module Cpp
|
|
58
|
+
|
|
59
|
+
end # module Mxx_ru
|
|
60
|
+
|
|
61
|
+
Mxx_ru::Cpp::setup_toolset( Mxx_ru::Cpp::Toolsets::Vc7.new )
|
|
62
|
+
|