Mxx_ru 1.3.1 → 1.3.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (177) hide show
  1. data/COPYING +26 -26
  2. data/NEWS +107 -107
  3. data/README +21 -21
  4. data/Rakefile +56 -56
  5. data/examples/exe_and_lib/prj.rb +11 -11
  6. data/examples/exe_and_lib/say.rb +7 -7
  7. data/examples/exe_dll_lib/inout.rb +18 -18
  8. data/examples/exe_dll_lib/prj.rb +11 -11
  9. data/examples/exe_dll_lib/say.rb +9 -9
  10. data/examples/exe_dll_lib_2/build.rb +10 -10
  11. data/examples/exe_dll_lib_2/inout/prj.rb +16 -16
  12. data/examples/exe_dll_lib_2/main/prj.rb +9 -9
  13. data/examples/exe_dll_lib_2/say/prj.rb +8 -8
  14. data/examples/simple_exe/prj.rb +7 -7
  15. data/lib/mxx_ru/abstract_target.rb +335 -335
  16. data/lib/mxx_ru/binary_library.rb +106 -106
  17. data/lib/mxx_ru/binary_target.rb +173 -173
  18. data/lib/mxx_ru/binary_unittest.rb +143 -143
  19. data/lib/mxx_ru/compat.rb +33 -33
  20. data/lib/mxx_ru/cpp.rb +38 -38
  21. data/lib/mxx_ru/cpp/analyzer.rb +237 -237
  22. data/lib/mxx_ru/cpp/composite.rb +118 -118
  23. data/lib/mxx_ru/cpp/detect_toolset.rb +122 -122
  24. data/lib/mxx_ru/cpp/mode.rb +90 -90
  25. data/lib/mxx_ru/cpp/obj_placement.rb +330 -330
  26. data/lib/mxx_ru/cpp/obj_placements/custom_subdir.rb +155 -155
  27. data/lib/mxx_ru/cpp/qt.rb +366 -366
  28. data/lib/mxx_ru/cpp/rucodegen.rb +157 -157
  29. data/lib/mxx_ru/cpp/source_file.rb +79 -79
  30. data/lib/mxx_ru/cpp/target.rb +1523 -1523
  31. data/lib/mxx_ru/cpp/toolset.rb +1087 -1087
  32. data/lib/mxx_ru/cpp/toolsets/bcc_win32_5.rb +53 -53
  33. data/lib/mxx_ru/cpp/toolsets/bcc_win32_family.rb +460 -460
  34. data/lib/mxx_ru/cpp/toolsets/c89_etk_nsk.rb +59 -59
  35. data/lib/mxx_ru/cpp/toolsets/c89_nsk.rb +59 -59
  36. data/lib/mxx_ru/cpp/toolsets/c89_nsk_family.rb +277 -277
  37. data/lib/mxx_ru/cpp/toolsets/gcc_cygwin.rb +58 -58
  38. data/lib/mxx_ru/cpp/toolsets/gcc_family.rb +420 -420
  39. data/lib/mxx_ru/cpp/toolsets/gcc_linux.rb +64 -64
  40. data/lib/mxx_ru/cpp/toolsets/gcc_mingw.rb +149 -150
  41. data/lib/mxx_ru/cpp/toolsets/gcc_sparc_solaris.rb +91 -91
  42. data/lib/mxx_ru/cpp/toolsets/gcc_unix_family.rb +103 -103
  43. data/lib/mxx_ru/cpp/toolsets/vc7.rb +62 -62
  44. data/lib/mxx_ru/cpp/toolsets/vc8.rb +455 -455
  45. data/lib/mxx_ru/cpp/toolsets/vc_family.rb +448 -448
  46. data/lib/mxx_ru/ex.rb +165 -165
  47. data/lib/mxx_ru/makestyle_generator.rb +146 -146
  48. data/lib/mxx_ru/textfile_unittest.rb +303 -303
  49. data/lib/mxx_ru/util.rb +340 -340
  50. data/tests/c/pcre/chartables.c +183 -183
  51. data/tests/c/pcre/config.h +99 -99
  52. data/tests/c/pcre/dftables.c +167 -167
  53. data/tests/c/pcre/get.c +349 -349
  54. data/tests/c/pcre/internal.h +677 -677
  55. data/tests/c/pcre/maketables.c +140 -140
  56. data/tests/c/pcre/pcre.c +8304 -8304
  57. data/tests/c/pcre/pcre.h +193 -193
  58. data/tests/c/pcre/pcre.rb +14 -14
  59. data/tests/c/pcre/pcredemo.c +316 -316
  60. data/tests/c/pcre/pcregrep.c +642 -642
  61. data/tests/c/pcre/pcreposix.c +305 -305
  62. data/tests/c/pcre/pcreposix.h +88 -88
  63. data/tests/c/pcre/pcretest.c +1483 -1483
  64. data/tests/c/pcre/perltest +211 -211
  65. data/tests/c/pcre/printint.c +360 -360
  66. data/tests/c/pcre/study.c +472 -472
  67. data/tests/cpp/cpp_sources_glob/build.rb +7 -7
  68. data/tests/cpp/cpp_sources_glob/some/module/prj.rb +10 -10
  69. data/tests/cpp/cpp_sources_glob/tc_cpp_sources_glob.rb +18 -18
  70. data/tests/cpp/mswin_res_dll/build.rb +14 -14
  71. data/tests/cpp/mswin_res_dll/dll.cpp +17 -17
  72. data/tests/cpp/mswin_res_dll/dll.rb +29 -29
  73. data/tests/cpp/mswin_res_dll/dll.rc +48 -48
  74. data/tests/cpp/mswin_res_dll/h/dll.hpp +8 -8
  75. data/tests/cpp/mswin_res_dll/h/res.h +3 -3
  76. data/tests/cpp/mswin_res_dll/main.cpp +13 -13
  77. data/tests/cpp/mswin_res_dll/main.rb +19 -19
  78. data/tests/cpp/mswin_res_dll/o/dll.o +0 -0
  79. data/tests/cpp/mswin_res_dll/tc_mswin_res_dll.rb +18 -18
  80. data/tests/cpp/mswin_res_exe/build.rb +23 -23
  81. data/tests/cpp/mswin_res_exe/h/res.h +3 -3
  82. data/tests/cpp/mswin_res_exe/main.cpp +17 -17
  83. data/tests/cpp/mswin_res_exe/main.rc +48 -48
  84. data/tests/cpp/mswin_res_exe/o/main.o +0 -0
  85. data/tests/cpp/mswin_res_exe/tc_mswin_res_exe.rb +18 -18
  86. data/tests/cpp/rucodegen.embedded/host_config.cpp +32 -32
  87. data/tests/cpp/rucodegen.embedded/impl/conn_params.cpp +7 -7
  88. data/tests/cpp/rucodegen.embedded/impl/conn_params.rb +14 -14
  89. data/tests/cpp/rucodegen.embedded/impl/h/conn_params.hpp +10 -10
  90. data/tests/cpp/rucodegen.embedded/prj.rb +16 -16
  91. data/tests/cpp/rucodegen.embedded/tc_rucodegen.rb +18 -18
  92. data/tests/cpp/rucodegen/host_config.cpp +20 -20
  93. data/tests/cpp/rucodegen/host_config.rb +14 -14
  94. data/tests/cpp/rucodegen/impl/conn_params.cpp +7 -7
  95. data/tests/cpp/rucodegen/impl/conn_params.rb +14 -14
  96. data/tests/cpp/rucodegen/impl/h/conn_params.hpp +10 -10
  97. data/tests/cpp/rucodegen/prj.rb +16 -16
  98. data/tests/cpp/rucodegen/tc_rucodegen.rb +18 -18
  99. data/tests/cpp/textfile_unittest/build.rb +8 -8
  100. data/tests/cpp/textfile_unittest/etalons/out_1.txt +1 -1
  101. data/tests/cpp/textfile_unittest/etalons/out_128.txt +128 -128
  102. data/tests/cpp/textfile_unittest/main.cpp +89 -89
  103. data/tests/cpp/textfile_unittest/prj.rb +8 -8
  104. data/tests/cpp/textfile_unittest/prj.ut.rb +18 -18
  105. data/tests/cpp/textfile_unittest/tc_textfile_unittest.rb +18 -18
  106. data/tests/cpp/toolset_name.rb +6 -6
  107. data/tests/cpp/vc_cleanup/prj_dll_no_implib.rb +10 -10
  108. data/tests/cpp/vc_cleanup/prj_dll_no_implib_simple_target_root.rb +11 -11
  109. data/tests/cpp/vc_cleanup/prj_dll_with_implib.rb +11 -11
  110. data/tests/cpp/vc_cleanup/prj_dll_with_implib_simple_target_root.rb +14 -14
  111. data/tests/cpp/vc_cleanup/prj_exe_no_implib.rb +10 -10
  112. data/tests/cpp/vc_cleanup/prj_exe_no_implib_simple_target_root.rb +11 -11
  113. data/tests/cpp/vc_cleanup/prj_lib.rb +10 -10
  114. data/tests/cpp/vc_cleanup/prj_lib_with_simple_target_root.rb +11 -11
  115. data/tests/cpp/vc_cleanup/tc_vc_cleanup.rb +23 -23
  116. data/tests/mxx_ru/binary_library/tc_binary_library.rb +57 -57
  117. data/tests/mxx_ru/binary_library/tc_binary_target_lib_methods.rb +114 -114
  118. data/tests/mxx_ru/change_default_value/ignoring_by_build_root/build.rb +8 -8
  119. data/tests/mxx_ru/change_default_value/ignoring_by_build_root/child_1.rb +5 -5
  120. data/tests/mxx_ru/change_default_value/ignoring_by_child_1/build.rb +7 -7
  121. data/tests/mxx_ru/change_default_value/ignoring_by_child_1/child_1.rb +5 -5
  122. data/tests/mxx_ru/change_default_value/ignoring_by_child_1/child_2.rb +5 -5
  123. data/tests/mxx_ru/change_default_value/ok/build.rb +8 -8
  124. data/tests/mxx_ru/change_default_value/ok/child_1.rb +8 -8
  125. data/tests/mxx_ru/lib_path/build.rb +8 -8
  126. data/tests/mxx_ru/lib_path/bye.rb +8 -8
  127. data/tests/mxx_ru/lib_path/hi.rb +8 -8
  128. data/tests/mxx_ru/lib_path/main.rb +12 -12
  129. data/tests/mxx_ru/lib_path/tc_lib_path.rb +18 -18
  130. data/tests/mxx_ru/obj_placements/tc_custom_subdir.rb +58 -58
  131. data/tests/mxx_ru/opt_lib_ext/build.rb +7 -7
  132. data/tests/mxx_ru/opt_lib_ext/hi.rb +7 -7
  133. data/tests/mxx_ru/opt_lib_ext/tc_opt_lib_ext.rb +18 -18
  134. data/tests/mxx_ru/opt_lib_ext/test-no-ext.rb +9 -9
  135. data/tests/mxx_ru/opt_lib_ext/test-with-ext.rb +13 -13
  136. data/tests/mxx_ru/plural_form_methods/tc.rb +72 -72
  137. data/tests/mxx_ru/qt_gen/tc_uic_result_subdir.rb +76 -76
  138. data/tests/mxx_ru/target_ext/prj_dll.rb +8 -8
  139. data/tests/mxx_ru/target_ext/prj_exe.rb +8 -8
  140. data/tests/mxx_ru/target_ext/prj_lib.rb +8 -8
  141. data/tests/mxx_ru/target_ext/tc_target_ext.rb +24 -24
  142. data/tests/mxx_ru/tc_makestyle_generator.rb +117 -117
  143. data/tests/mxx_ru/vc8/tc_actual_manifest.rb +230 -230
  144. data/tests/mxx_ru/vc8/tc_append_mt_commands.rb +104 -104
  145. data/tests/mxx_ru/vc8/tc_default_manifest.rb +17 -17
  146. data/tests/mxx_ru/vc8/tc_define_manifest.rb +173 -173
  147. data/tests/mxx_ru/vc8/tc_drop_default_manifest.rb +16 -16
  148. data/tests/mxx_ru/vc8/tc_invalid_params.rb +81 -81
  149. data/tests/mxx_ru/vc8/ts_vc8.rb +10 -10
  150. data/tests/qt/aclock/aclock.cpp +148 -148
  151. data/tests/qt/aclock/aclock.h +45 -45
  152. data/tests/qt/aclock/main.cpp +28 -28
  153. data/tests/qt/aclock/prj.rb +21 -21
  154. data/tests/qt/iconview/main.cpp +76 -76
  155. data/tests/qt/iconview/prj.rb +21 -21
  156. data/tests/qt/toplevel/main.cpp +9 -9
  157. data/tests/qt/toplevel/options.ui +587 -587
  158. data/tests/qt/toplevel/prj.rb +22 -22
  159. data/tests/test_with_compilation.rb +110 -110
  160. data/tests/unix/lib_linking_mode/a_shared.rb +7 -7
  161. data/tests/unix/lib_linking_mode/a_static.rb +7 -7
  162. data/tests/unix/lib_linking_mode/etalon/shared.txt +2 -2
  163. data/tests/unix/lib_linking_mode/etalon/static.txt +2 -2
  164. data/tests/unix/lib_linking_mode/main_conflict.rb +12 -12
  165. data/tests/unix/lib_linking_mode/main_conflict_2.rb +11 -11
  166. data/tests/unix/lib_linking_mode/main_shared.rb +9 -9
  167. data/tests/unix/lib_linking_mode/main_shared.ut.rb +11 -11
  168. data/tests/unix/lib_linking_mode/main_shared_2.rb +10 -10
  169. data/tests/unix/lib_linking_mode/main_shared_2.ut.rb +11 -11
  170. data/tests/unix/lib_linking_mode/main_static.rb +9 -9
  171. data/tests/unix/lib_linking_mode/main_static.ut.rb +11 -11
  172. data/tests/unix/lib_linking_mode/main_static_2.rb +10 -10
  173. data/tests/unix/lib_linking_mode/main_static_2.ut.rb +11 -11
  174. data/tests/unix/lib_linking_mode/tc_conflicted_build.rb +18 -18
  175. data/tests/unix/lib_linking_mode/tc_normal_build.rb +18 -18
  176. data/tests/unix/lib_order/tc_normal_build.rb +16 -16
  177. metadata +216 -205
@@ -1,64 +1,64 @@
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_unix_family'
30
-
31
- module MxxRu
32
- module Cpp
33
- module Toolsets
34
-
35
- # Toolset implemetation for GCC compiler for Linux.
36
- class GccLinux < GccUnixFamily
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 GccLinux
53
-
54
- # For compatibility with previous versions.
55
- Gcc_linux = GccLinux
56
-
57
- end # module Toolsets
58
-
59
- end # module Cpp
60
-
61
- end # module MxxRu
62
-
63
- MxxRu::Cpp::setup_toolset( MxxRu::Cpp::Toolsets::GccLinux.new )
64
-
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_unix_family'
30
+
31
+ module MxxRu
32
+ module Cpp
33
+ module Toolsets
34
+
35
+ # Toolset implemetation for GCC compiler for Linux.
36
+ class GccLinux < GccUnixFamily
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 GccLinux
53
+
54
+ # For compatibility with previous versions.
55
+ Gcc_linux = GccLinux
56
+
57
+ end # module Toolsets
58
+
59
+ end # module Cpp
60
+
61
+ end # module MxxRu
62
+
63
+ MxxRu::Cpp::setup_toolset( MxxRu::Cpp::Toolsets::GccLinux.new )
64
+
@@ -1,150 +1,149 @@
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 MxxRu
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 GccMingw < GccMswinFamily
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 MxxRu::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
- if THREADING_MULTI == target.mxx_threading_mode
68
- target.compiler_option( "-mthreads" )
69
- end
70
-
71
- # ��� defines ��� include_path ������ ���������������� ��
72
- # ���������� ��������.
73
- target.mxx_all_defines.each { |d|
74
- target.mswin_rc_option( "-D " + d )
75
- }
76
-
77
- target.mxx_all_include_paths.each { |p|
78
- target.mswin_rc_option( "--include-dir=" + p )
79
- }
80
-
81
- # ��� ����������� �������� ����� ������������ ��� � ���� �����.
82
- target.mxx_all_mswin_rc_defines.each { |d|
83
- target.mswin_rc_option( "-D " + d )
84
- }
85
- target.mxx_all_mswin_rc_include_paths.each { |p|
86
- target.mswin_rc_option( "--include-dir=" + p )
87
- }
88
-
89
- end
90
-
91
- # See description at MxxRu::Cpp::Toolset#mswin_res_file_name.
92
- def mswin_res_file_name( source_name )
93
- return source_name + ".res.o"
94
- end
95
-
96
- # See description at MxxRu::Cpp::Toolset#make_mswin_res_command_lines.
97
- def make_mswin_res_command_lines(
98
- res_name,
99
- rc_file,
100
- rc_options,
101
- target )
102
-
103
- return [ "#{rc_name} " +
104
- "#{rc_options.join(' ')} " +
105
- "-o #{res_name} #{rc_file}" ]
106
- end
107
-
108
- # See description at
109
- # MxxRu::Cpp::Toolsets::GccFamily#port_specific_dll_link_options.
110
- #
111
- # If mswin-res file exists than it added to linker options.
112
- def port_specific_dll_link_options(
113
- a_dll_name, a_dll_info, a_linker_lists, a_target )
114
-
115
- r = super( a_dll_name, a_dll_info, a_linker_lists, a_target )
116
- if a_linker_lists.resources.size
117
- r = a_linker_lists.resources.join( " " ) + " " + r
118
- end
119
-
120
- return r
121
- end
122
-
123
- # See description at
124
- # MxxRu::Cpp::Toolsets::GccFamily#port_specific_exe_link_options.
125
- #
126
- # If mswin-res file exists than it added to linker options.
127
- def port_specific_exe_link_options(
128
- a_exe_name, a_exe_info, a_linker_lists, a_target )
129
-
130
- r = super( a_exe_name, a_exe_info, a_linker_lists, a_target )
131
- if a_linker_lists.resources.size
132
- r = a_linker_lists.resources.join( " " ) + " " + r
133
- end
134
-
135
- return r
136
- end
137
-
138
- end # class GccMingw
139
-
140
- # For compatibility with previous versions.
141
- Gcc_mingw = GccMingw
142
-
143
- end # module Toolsets
144
-
145
- end # module Cpp
146
-
147
- end # module MxxRu
148
-
149
- MxxRu::Cpp::setup_toolset( MxxRu::Cpp::Toolsets::GccMingw.new )
150
-
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 MxxRu
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 GccMingw < GccMswinFamily
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
+ # Returns resource compiler name.
49
+ def rc_name
50
+ return "windres"
51
+ end
52
+
53
+ # See description at MxxRu::Cpp::Toolset#setup_mandatory_options.
54
+ #
55
+ # Setups resource compiler parameters.
56
+ #
57
+ # Required options are set up based on 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
+ if THREADING_MULTI == target.mxx_threading_mode
68
+ target.compiler_option( "-mthreads" )
69
+ end
70
+
71
+ # All defines and all include_path should be distributed to resource compiler.
72
+ target.mxx_all_defines.each { |d|
73
+ target.mswin_rc_option( "-D " + d )
74
+ }
75
+
76
+ target.mxx_all_include_paths.each { |p|
77
+ target.mswin_rc_option( "--include-dir=" + p )
78
+ }
79
+
80
+ # Personal resource compiler options.
81
+ target.mxx_all_mswin_rc_defines.each { |d|
82
+ target.mswin_rc_option( "-D " + d )
83
+ }
84
+ target.mxx_all_mswin_rc_include_paths.each { |p|
85
+ target.mswin_rc_option( "--include-dir=" + p )
86
+ }
87
+
88
+ end
89
+
90
+ # See description at MxxRu::Cpp::Toolset#mswin_res_file_name.
91
+ def mswin_res_file_name( source_name )
92
+ return source_name + ".res.o"
93
+ end
94
+
95
+ # See description at MxxRu::Cpp::Toolset#make_mswin_res_command_lines.
96
+ def make_mswin_res_command_lines(
97
+ res_name,
98
+ rc_file,
99
+ rc_options,
100
+ target )
101
+
102
+ return [ "#{rc_name} " +
103
+ "#{rc_options.join(' ')} " +
104
+ "-o #{res_name} #{rc_file}" ]
105
+ end
106
+
107
+ # See description at
108
+ # MxxRu::Cpp::Toolsets::GccFamily#port_specific_dll_link_options.
109
+ #
110
+ # If mswin-res file exists than it added to linker options.
111
+ def port_specific_dll_link_options(
112
+ a_dll_name, a_dll_info, a_linker_lists, a_target )
113
+
114
+ r = super( a_dll_name, a_dll_info, a_linker_lists, a_target )
115
+ if a_linker_lists.resources.size
116
+ r = a_linker_lists.resources.join( " " ) + " " + r
117
+ end
118
+
119
+ return r
120
+ end
121
+
122
+ # See description at
123
+ # MxxRu::Cpp::Toolsets::GccFamily#port_specific_exe_link_options.
124
+ #
125
+ # If mswin-res file exists than it added to linker options.
126
+ def port_specific_exe_link_options(
127
+ a_exe_name, a_exe_info, a_linker_lists, a_target )
128
+
129
+ r = super( a_exe_name, a_exe_info, a_linker_lists, a_target )
130
+ if a_linker_lists.resources.size
131
+ r = a_linker_lists.resources.join( " " ) + " " + r
132
+ end
133
+
134
+ return r
135
+ end
136
+
137
+ end # class GccMingw
138
+
139
+ # For compatibility with previous versions.
140
+ Gcc_mingw = GccMingw
141
+
142
+ end # module Toolsets
143
+
144
+ end # module Cpp
145
+
146
+ end # module MxxRu
147
+
148
+ MxxRu::Cpp::setup_toolset( MxxRu::Cpp::Toolsets::GccMingw.new )
149
+
@@ -1,91 +1,91 @@
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_unix_family'
30
-
31
- module MxxRu
32
- module Cpp
33
- module Toolsets
34
-
35
- # Toolset implemetation for GCC port on SPARC Solaris.
36
- class GccSparcSolaris < GccUnixFamily
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
- #MxxRu::Cpp::Toolsets::GccFamily#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 GccSparcSolaris
80
-
81
- # For compatibility with previous versions.
82
- Gcc_sparc_solaris = GccSparcSolaris
83
-
84
- end # module Toolsets
85
-
86
- end # module Cpp
87
-
88
- end # module MxxRu
89
-
90
- MxxRu::Cpp::setup_toolset( MxxRu::Cpp::Toolsets::GccSparcSolaris.new )
91
-
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_unix_family'
30
+
31
+ module MxxRu
32
+ module Cpp
33
+ module Toolsets
34
+
35
+ # Toolset implemetation for GCC port on SPARC Solaris.
36
+ class GccSparcSolaris < GccUnixFamily
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
+ #MxxRu::Cpp::Toolsets::GccFamily#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 GccSparcSolaris
80
+
81
+ # For compatibility with previous versions.
82
+ Gcc_sparc_solaris = GccSparcSolaris
83
+
84
+ end # module Toolsets
85
+
86
+ end # module Cpp
87
+
88
+ end # module MxxRu
89
+
90
+ MxxRu::Cpp::setup_toolset( MxxRu::Cpp::Toolsets::GccSparcSolaris.new )
91
+