Mxx_ru 1.3.1 → 1.3.2

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.
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
data/COPYING CHANGED
@@ -1,26 +1,26 @@
1
- Copyright (c) 1996-2004, Yauheni Akhotnikau
2
- Copyright (c) 2004-2006, JSC Intervale
3
- Copyright (c) 2006 The Mxx_ru Project
4
- All rights reserved.
5
-
6
- Redistribution and use in source and binary forms, with or without modification,
7
- are permitted provided that the following conditions are met:
8
-
9
- 1. Redistributions of source code must retain the above copyright notice, this
10
- list of conditions and the following disclaimer.
11
- 2. Redistributions in binary form must reproduce the above copyright notice,
12
- this list of conditions and the following disclaimer in the documentation
13
- and/or other materials provided with the distribution.
14
- 3. The name of the author may not be used to endorse or promote products
15
- derived from this software without specific prior written permission.
16
-
17
- THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
18
- WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
19
- MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
20
- EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
21
- EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
22
- OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
23
- INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
24
- CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
25
- IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY
26
- OF SUCH DAMAGE.
1
+ Copyright (c) 1996-2004, Yauheni Akhotnikau
2
+ Copyright (c) 2004-2006, JSC Intervale
3
+ Copyright (c) 2006 The Mxx_ru Project
4
+ All rights reserved.
5
+
6
+ Redistribution and use in source and binary forms, with or without modification,
7
+ are permitted provided that the following conditions are met:
8
+
9
+ 1. Redistributions of source code must retain the above copyright notice, this
10
+ list of conditions and the following disclaimer.
11
+ 2. Redistributions in binary form must reproduce the above copyright notice,
12
+ this list of conditions and the following disclaimer in the documentation
13
+ and/or other materials provided with the distribution.
14
+ 3. The name of the author may not be used to endorse or promote products
15
+ derived from this software without specific prior written permission.
16
+
17
+ THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
18
+ WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
19
+ MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
20
+ EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
21
+ EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
22
+ OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
23
+ INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
24
+ CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
25
+ IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY
26
+ OF SUCH DAMAGE.
data/NEWS CHANGED
@@ -1,107 +1,107 @@
1
- Changes in Mxx_ru
2
-
3
- 1.3.0 version (2006.05.15)
4
-
5
- New command line argument --mxx-rebuild.
6
-
7
- Added support for RuCodeGen 0.2.0.
8
-
9
- New methods Mxx_ru::BinaryTarget#lib_static, Mxx_ru::BinaryTarget#lib_shared.
10
- For now, they only make sense for Unix and GCC toolsets.
11
-
12
- New method QtGen#uic_result_subdir for specifying custom path to store
13
- uic results.
14
-
15
- Qt support improvement: Now, during a building of *.cpp file from *.ui,
16
- short form of *.hpp file name is specified in '-i' argument in order to get
17
- correct include definition.
18
- (e.g. 'some_header.hpp' instead of 'src/module/some_header.hpp').
19
-
20
- Task 'test' is added into Rakefile for unit test automation. Some tests
21
- converted into unit-tests. Special mix-in TestWithCompilation (in
22
- tests/test_with_compilation.rb) added for this purpose.
23
-
24
- New Methods BinaryTarget#lib_path, BinaryTarget#lib_paths.
25
-
26
- Improvement: under mswin no longer necessary to specify library name with
27
- '.lib' extension. This extension automatically added by Visual C++ toolset
28
- if needed.
29
-
30
- Method Mxx_ru::Cpp::Target#target_ext and possibility for changing default
31
- target extension added.
32
-
33
- Added 'option extraction mode' for C/C++ targets (command-line argument
34
- '--mxx-cpp-extract-options' and its processing in Mxx_ru::Cpp::Target).
35
-
36
- New class for controlling ObjPlacement for C/C++ targets
37
- Mxx_ru::Cpp::CustomSubdirObjPlacement added.
38
-
39
- Refactoring: names of all classes converted into standard Ruby convention.
40
-
41
- 1.2.0 version (2006.04.15)
42
-
43
- Added command-line arguments --mxx-brief-show, --mxx-brief-hide and
44
- method Mxx_ru.enable_show_brief for controlling brief description of
45
- executed commands.
46
-
47
- Argument prj_alias for composite_target, exe_target, lib_target and
48
- dll_target now optional. If it omitted than Mxx_ru try detect prj_alias form
49
- Kernel#caller result (assume what call to *_target method was made directly
50
- in project file).
51
-
52
- Added methods Abstract_target#required_prjs, Cpp::Target#c_sources,
53
- Cpp::Target#cpp_sources those accept Enumerable (plural form for
54
- corresponding singular analogs). New methods can accept result of Dir.glob().
55
-
56
- Some fixes for MinGW C++, Borland C++ compilers.
57
-
58
- 1.1.0 version (2006.02..2006.04)
59
-
60
- Documentation and commentaries are translated to english.
61
-
62
- Simplified MXX_RU_CPP_TOOLSET environment value setup.
63
-
64
- composite_target, dll_target, lib_target, exe_target methods are
65
- added, which allows to simplify description of common C++ projects.
66
-
67
- An ability to change default values for such parameters as
68
- runtime_mode, rtti_mode, rtl_mode, threading_mode was added.
69
-
70
- Fixed clean operations for Visual C++:
71
- - if .exp file is exists for current target, then
72
- corresponding .lib and .exp files are removed;
73
- - the way PDB files created was changed to create individual PDB file
74
- for each target, which is removed during a clean operation.
75
-
76
- VC++ 8.0 support was added, including manifests support.
77
-
78
- Mxx_ru is transformed to RubyGem.
79
-
80
- 1.0.12 version (2005.11.17)
81
-
82
- Support of RuCodeGen for C++ projects was added.
83
- See Mxx_ru::Cpp::RuCodeGen class for details.
84
-
85
- 1.0.10 version (2005.08.04)
86
-
87
- mxx_ru/cpp/toolsets/gcc_sparc_solaris.rb file was added to support
88
- GNU C++ compiler on Solaris platform.
89
-
90
- 1.0.9 version (2005.07.12)
91
-
92
- Bug, slowing down the work with projects containing large amount of
93
- DLL's on unix platforms was fixed.
94
-
95
- Added --mxx-cpp-no-depends-analyzer option, which turns off
96
- scanning of C++ files for dependencies.
97
-
98
- 1.0.7 version (2005.04.01)
99
-
100
- Added Mxx_ru::Makestyle_generator class.
101
-
102
- 1.0.6 version (2004.11.26)
103
-
104
- Bug, slowing down the work with projects conaining deep dependencies
105
- between each other was fixed. Problem was because of increase of
106
- intercalls to get values of spreadable options. Now, spreadable option
107
- values are cached and recalculated only on change.
1
+ Changes in Mxx_ru
2
+
3
+ 1.3.0 version (2006.05.15)
4
+
5
+ New command line argument --mxx-rebuild.
6
+
7
+ Added support for RuCodeGen 0.2.0.
8
+
9
+ New methods Mxx_ru::BinaryTarget#lib_static, Mxx_ru::BinaryTarget#lib_shared.
10
+ For now, they only make sense for Unix and GCC toolsets.
11
+
12
+ New method QtGen#uic_result_subdir for specifying custom path to store
13
+ uic results.
14
+
15
+ Qt support improvement: Now, during a building of *.cpp file from *.ui,
16
+ short form of *.hpp file name is specified in '-i' argument in order to get
17
+ correct include definition.
18
+ (e.g. 'some_header.hpp' instead of 'src/module/some_header.hpp').
19
+
20
+ Task 'test' is added into Rakefile for unit test automation. Some tests
21
+ converted into unit-tests. Special mix-in TestWithCompilation (in
22
+ tests/test_with_compilation.rb) added for this purpose.
23
+
24
+ New Methods BinaryTarget#lib_path, BinaryTarget#lib_paths.
25
+
26
+ Improvement: under mswin no longer necessary to specify library name with
27
+ '.lib' extension. This extension automatically added by Visual C++ toolset
28
+ if needed.
29
+
30
+ Method Mxx_ru::Cpp::Target#target_ext and possibility for changing default
31
+ target extension added.
32
+
33
+ Added 'option extraction mode' for C/C++ targets (command-line argument
34
+ '--mxx-cpp-extract-options' and its processing in Mxx_ru::Cpp::Target).
35
+
36
+ New class for controlling ObjPlacement for C/C++ targets
37
+ Mxx_ru::Cpp::CustomSubdirObjPlacement added.
38
+
39
+ Refactoring: names of all classes converted into standard Ruby convention.
40
+
41
+ 1.2.0 version (2006.04.15)
42
+
43
+ Added command-line arguments --mxx-brief-show, --mxx-brief-hide and
44
+ method Mxx_ru.enable_show_brief for controlling brief description of
45
+ executed commands.
46
+
47
+ Argument prj_alias for composite_target, exe_target, lib_target and
48
+ dll_target now optional. If it omitted than Mxx_ru try detect prj_alias form
49
+ Kernel#caller result (assume what call to *_target method was made directly
50
+ in project file).
51
+
52
+ Added methods Abstract_target#required_prjs, Cpp::Target#c_sources,
53
+ Cpp::Target#cpp_sources those accept Enumerable (plural form for
54
+ corresponding singular analogs). New methods can accept result of Dir.glob().
55
+
56
+ Some fixes for MinGW C++, Borland C++ compilers.
57
+
58
+ 1.1.0 version (2006.02..2006.04)
59
+
60
+ Documentation and commentaries are translated to english.
61
+
62
+ Simplified MXX_RU_CPP_TOOLSET environment value setup.
63
+
64
+ composite_target, dll_target, lib_target, exe_target methods are
65
+ added, which allows to simplify description of common C++ projects.
66
+
67
+ An ability to change default values for such parameters as
68
+ runtime_mode, rtti_mode, rtl_mode, threading_mode was added.
69
+
70
+ Fixed clean operations for Visual C++:
71
+ - if .exp file is exists for current target, then
72
+ corresponding .lib and .exp files are removed;
73
+ - the way PDB files created was changed to create individual PDB file
74
+ for each target, which is removed during a clean operation.
75
+
76
+ VC++ 8.0 support was added, including manifests support.
77
+
78
+ Mxx_ru is transformed to RubyGem.
79
+
80
+ 1.0.12 version (2005.11.17)
81
+
82
+ Support of RuCodeGen for C++ projects was added.
83
+ See Mxx_ru::Cpp::RuCodeGen class for details.
84
+
85
+ 1.0.10 version (2005.08.04)
86
+
87
+ mxx_ru/cpp/toolsets/gcc_sparc_solaris.rb file was added to support
88
+ GNU C++ compiler on Solaris platform.
89
+
90
+ 1.0.9 version (2005.07.12)
91
+
92
+ Bug, slowing down the work with projects containing large amount of
93
+ DLL's on unix platforms was fixed.
94
+
95
+ Added --mxx-cpp-no-depends-analyzer option, which turns off
96
+ scanning of C++ files for dependencies.
97
+
98
+ 1.0.7 version (2005.04.01)
99
+
100
+ Added Mxx_ru::Makestyle_generator class.
101
+
102
+ 1.0.6 version (2004.11.26)
103
+
104
+ Bug, slowing down the work with projects conaining deep dependencies
105
+ between each other was fixed. Problem was because of increase of
106
+ intercalls to get values of spreadable options. Now, spreadable option
107
+ values are cached and recalculated only on change.
data/README CHANGED
@@ -1,21 +1,21 @@
1
- Copyright (c) 1996-2005, Yauheni Akhotnikau
2
-
3
- Copyright (c) 2004-2006, JSC Intervale
4
-
5
- Copyright (c) 2006 The Mxx_ru Project
6
-
7
- All rights reserved.
8
-
9
- Mxx_ru (Make++ on Ruby) is a cross-platform build tool.
10
- It's intended for C/C++ languages in general, but it's easy to extend
11
- for handling other languages. It allows to use one project file to compile
12
- the project on platforms like Windows, Unix (Linux, *BSD), HP NonStop, etc, using
13
- a compilers such as Visual C++, GNU C++, Borland C++, c89, etc.
14
-
15
- Originally mxx_ru was developed by Intervale company (http://intervale.ru).
16
- Later, Intervale company released Mxx_ru as an Open Source project
17
- and now Mxx_ru is developed by a group of developers, interested in Mxx_ru
18
- evolution.
19
-
20
- Latest versions of mxx_ru and it's documentation (including installation and setup
21
- instruction) is available at http://www.rubyforge.org/projects/mxx-ru.
1
+ Copyright (c) 1996-2005, Yauheni Akhotnikau
2
+
3
+ Copyright (c) 2004-2006, JSC Intervale
4
+
5
+ Copyright (c) 2006 The Mxx_ru Project
6
+
7
+ All rights reserved.
8
+
9
+ Mxx_ru (Make++ on Ruby) is a cross-platform build tool.
10
+ It's intended for C/C++ languages in general, but it's easy to extend
11
+ for handling other languages. It allows to use one project file to compile
12
+ the project on platforms like Windows, Unix (Linux, *BSD), HP NonStop, etc, using
13
+ a compilers such as Visual C++, GNU C++, Borland C++, c89, etc.
14
+
15
+ Originally mxx_ru was developed by Intervale company (http://intervale.ru).
16
+ Later, Intervale company released Mxx_ru as an Open Source project
17
+ and now Mxx_ru is developed by a group of developers, interested in Mxx_ru
18
+ evolution.
19
+
20
+ Latest versions of mxx_ru and it's documentation (including installation and setup
21
+ instruction) is available at http://www.rubyforge.org/projects/mxx-ru.
data/Rakefile CHANGED
@@ -1,56 +1,56 @@
1
- require 'rubygems'
2
- Gem::manage_gems
3
-
4
- require 'rake/gempackagetask'
5
- require 'rake/testtask'
6
-
7
- spec = Gem::Specification.new do |s|
8
- s.name = "Mxx_ru"
9
- s.version = '1.3.1'
10
- s.author = "The Mxx_ru Project"
11
- s.email = "eao197@yahoo.com"
12
- s.homepage = "http://www.rubyforge.com/projects/mxx-ru"
13
- s.platform = Gem::Platform::RUBY
14
- s.summary = "Mxx_ru (Make++ on Ruby) is a cross-platform build tool"
15
- s.files = FileList[ "{bin,tests,lib,docs,examples}/**/*" ].
16
- exclude( "rdoc" ).to_a + [ "THANKS" ]
17
- s.require_path = "lib"
18
- # s.autorequire = "rucodegen"
19
- # s.test_file = "tests/ts_rucodegen.rb"
20
- s.has_rdoc = true
21
- s.rdoc_options = [ '-S', '--main', 'README' ]
22
- s.extra_rdoc_files = [ "README", "Rakefile", "COPYING", "NEWS" ] + FileList[ "docs/**/*" ].to_a
23
- end
24
-
25
- gem = Rake::GemPackageTask.new( spec ) do |pkg|
26
- pkg.need_zip = true
27
- pkg.need_tar = true
28
- end
29
-
30
- test = Rake::TestTask.new do |t|
31
- test_files = FileList[ 'tests/**/{tc,ts}*.rb' ]
32
-
33
- # Visual C++ 8.0 specific files must be excluded when working with
34
- # another compiler.
35
- test_files = test_files.delete_if { |n| /\/vc8/ =~ n } unless
36
- /(mxx_ru\/cpp\/toolsets\/){0,1}vc8/ =~ ENV[ 'MXX_RU_CPP_TOOLSET' ]
37
-
38
- # Visual C++ specific files must be excluded when working with
39
- # another compiler.
40
- test_files = test_files.delete_if { |n| /\/vc/ =~ n } unless
41
- /(mxx_ru\/cpp\/toolsets\/){0,1}vc\d/ =~ ENV[ 'MXX_RU_CPP_TOOLSET' ]
42
-
43
- # MSWin specific files must be excluded if not Windows platform.
44
- test_files = test_files.delete_if { |n| /mswin/ =~ n } unless
45
- /^mswin/ =~ Config::CONFIG[ 'host_os' ]
46
-
47
- # Unix specific files must be excluded on Windows platform.
48
- test_files = test_files.delete_if { |n| /unix/ =~ n } if
49
- /^mswin/ =~ Config::CONFIG[ 'host_os' ]
50
-
51
- t.test_files = test_files
52
- t.verbose = true
53
- end
54
-
55
- task :default => [ gem.package_dir + "/" + gem.name + "-" + gem.version.version + ".gem" ]
56
-
1
+ require 'rubygems'
2
+ Gem::manage_gems
3
+
4
+ require 'rake/gempackagetask'
5
+ require 'rake/testtask'
6
+
7
+ spec = Gem::Specification.new do |s|
8
+ s.name = "Mxx_ru"
9
+ s.version = '1.3.2'
10
+ s.author = "The Mxx_ru Project"
11
+ s.email = "eao197@yahoo.com"
12
+ s.homepage = "http://www.rubyforge.com/projects/mxx-ru"
13
+ s.platform = Gem::Platform::RUBY
14
+ s.summary = "Mxx_ru (Make++ on Ruby) is a cross-platform build tool"
15
+ s.files = FileList[ "{bin,tests,lib,docs,examples}/**/*" ].
16
+ exclude( "rdoc" ).to_a + [ "THANKS" ]
17
+ s.require_path = "lib"
18
+ # s.autorequire = "rucodegen"
19
+ # s.test_file = "tests/ts_rucodegen.rb"
20
+ s.has_rdoc = true
21
+ s.rdoc_options = [ '-S', '--main', 'README' ]
22
+ s.extra_rdoc_files = [ "README", "Rakefile", "COPYING", "NEWS" ] + FileList[ "docs/**/*" ].to_a
23
+ end
24
+
25
+ gem = Rake::GemPackageTask.new( spec ) do |pkg|
26
+ pkg.need_zip = true
27
+ pkg.need_tar = true
28
+ end
29
+
30
+ test = Rake::TestTask.new do |t|
31
+ test_files = FileList[ 'tests/**/{tc,ts}*.rb' ]
32
+
33
+ # Visual C++ 8.0 specific files must be excluded when working with
34
+ # another compiler.
35
+ test_files = test_files.delete_if { |n| /\/vc8/ =~ n } unless
36
+ /(mxx_ru\/cpp\/toolsets\/){0,1}vc8/ =~ ENV[ 'MXX_RU_CPP_TOOLSET' ]
37
+
38
+ # Visual C++ specific files must be excluded when working with
39
+ # another compiler.
40
+ test_files = test_files.delete_if { |n| /\/vc/ =~ n } unless
41
+ /(mxx_ru\/cpp\/toolsets\/){0,1}vc\d/ =~ ENV[ 'MXX_RU_CPP_TOOLSET' ]
42
+
43
+ # MSWin specific files must be excluded if not Windows platform.
44
+ test_files = test_files.delete_if { |n| /mswin/ =~ n } unless
45
+ /^mswin/ =~ Config::CONFIG[ 'host_os' ]
46
+
47
+ # Unix specific files must be excluded on Windows platform.
48
+ test_files = test_files.delete_if { |n| /unix/ =~ n } if
49
+ /^mswin/ =~ Config::CONFIG[ 'host_os' ]
50
+
51
+ t.test_files = test_files
52
+ t.verbose = true
53
+ end
54
+
55
+ task :default => [ gem.package_dir + "/" + gem.name + "-" + gem.version.version + ".gem" ]
56
+
@@ -1,11 +1,11 @@
1
- require 'mxx_ru/cpp'
2
-
3
- Mxx_ru::Cpp::exe_target( "prj.rb" ) {
4
- target( "exe_and_lib" )
5
-
6
- required_prj( "say.rb" )
7
-
8
- include_path( "." )
9
-
10
- cpp_source( "main.cpp" )
11
- }
1
+ require 'mxx_ru/cpp'
2
+
3
+ Mxx_ru::Cpp::exe_target( "prj.rb" ) {
4
+ target( "exe_and_lib" )
5
+
6
+ required_prj( "say.rb" )
7
+
8
+ include_path( "." )
9
+
10
+ cpp_source( "main.cpp" )
11
+ }
@@ -1,7 +1,7 @@
1
- require 'mxx_ru/cpp'
2
-
3
- Mxx_ru::Cpp::lib_target( "say.rb" ) {
4
- target( "say" )
5
-
6
- cpp_source( "say.cpp" )
7
- }
1
+ require 'mxx_ru/cpp'
2
+
3
+ Mxx_ru::Cpp::lib_target( "say.rb" ) {
4
+ target( "say" )
5
+
6
+ cpp_source( "say.cpp" )
7
+ }