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.
- data/COPYING +26 -26
- data/NEWS +107 -107
- data/README +21 -21
- data/Rakefile +56 -56
- data/examples/exe_and_lib/prj.rb +11 -11
- data/examples/exe_and_lib/say.rb +7 -7
- data/examples/exe_dll_lib/inout.rb +18 -18
- data/examples/exe_dll_lib/prj.rb +11 -11
- data/examples/exe_dll_lib/say.rb +9 -9
- data/examples/exe_dll_lib_2/build.rb +10 -10
- data/examples/exe_dll_lib_2/inout/prj.rb +16 -16
- data/examples/exe_dll_lib_2/main/prj.rb +9 -9
- data/examples/exe_dll_lib_2/say/prj.rb +8 -8
- data/examples/simple_exe/prj.rb +7 -7
- data/lib/mxx_ru/abstract_target.rb +335 -335
- data/lib/mxx_ru/binary_library.rb +106 -106
- data/lib/mxx_ru/binary_target.rb +173 -173
- data/lib/mxx_ru/binary_unittest.rb +143 -143
- data/lib/mxx_ru/compat.rb +33 -33
- data/lib/mxx_ru/cpp.rb +38 -38
- data/lib/mxx_ru/cpp/analyzer.rb +237 -237
- data/lib/mxx_ru/cpp/composite.rb +118 -118
- data/lib/mxx_ru/cpp/detect_toolset.rb +122 -122
- data/lib/mxx_ru/cpp/mode.rb +90 -90
- data/lib/mxx_ru/cpp/obj_placement.rb +330 -330
- data/lib/mxx_ru/cpp/obj_placements/custom_subdir.rb +155 -155
- data/lib/mxx_ru/cpp/qt.rb +366 -366
- data/lib/mxx_ru/cpp/rucodegen.rb +157 -157
- data/lib/mxx_ru/cpp/source_file.rb +79 -79
- data/lib/mxx_ru/cpp/target.rb +1523 -1523
- data/lib/mxx_ru/cpp/toolset.rb +1087 -1087
- data/lib/mxx_ru/cpp/toolsets/bcc_win32_5.rb +53 -53
- data/lib/mxx_ru/cpp/toolsets/bcc_win32_family.rb +460 -460
- data/lib/mxx_ru/cpp/toolsets/c89_etk_nsk.rb +59 -59
- data/lib/mxx_ru/cpp/toolsets/c89_nsk.rb +59 -59
- data/lib/mxx_ru/cpp/toolsets/c89_nsk_family.rb +277 -277
- data/lib/mxx_ru/cpp/toolsets/gcc_cygwin.rb +58 -58
- data/lib/mxx_ru/cpp/toolsets/gcc_family.rb +420 -420
- data/lib/mxx_ru/cpp/toolsets/gcc_linux.rb +64 -64
- data/lib/mxx_ru/cpp/toolsets/gcc_mingw.rb +149 -150
- data/lib/mxx_ru/cpp/toolsets/gcc_sparc_solaris.rb +91 -91
- data/lib/mxx_ru/cpp/toolsets/gcc_unix_family.rb +103 -103
- data/lib/mxx_ru/cpp/toolsets/vc7.rb +62 -62
- data/lib/mxx_ru/cpp/toolsets/vc8.rb +455 -455
- data/lib/mxx_ru/cpp/toolsets/vc_family.rb +448 -448
- data/lib/mxx_ru/ex.rb +165 -165
- data/lib/mxx_ru/makestyle_generator.rb +146 -146
- data/lib/mxx_ru/textfile_unittest.rb +303 -303
- data/lib/mxx_ru/util.rb +340 -340
- data/tests/c/pcre/chartables.c +183 -183
- data/tests/c/pcre/config.h +99 -99
- data/tests/c/pcre/dftables.c +167 -167
- data/tests/c/pcre/get.c +349 -349
- data/tests/c/pcre/internal.h +677 -677
- data/tests/c/pcre/maketables.c +140 -140
- data/tests/c/pcre/pcre.c +8304 -8304
- data/tests/c/pcre/pcre.h +193 -193
- data/tests/c/pcre/pcre.rb +14 -14
- data/tests/c/pcre/pcredemo.c +316 -316
- data/tests/c/pcre/pcregrep.c +642 -642
- data/tests/c/pcre/pcreposix.c +305 -305
- data/tests/c/pcre/pcreposix.h +88 -88
- data/tests/c/pcre/pcretest.c +1483 -1483
- data/tests/c/pcre/perltest +211 -211
- data/tests/c/pcre/printint.c +360 -360
- data/tests/c/pcre/study.c +472 -472
- data/tests/cpp/cpp_sources_glob/build.rb +7 -7
- data/tests/cpp/cpp_sources_glob/some/module/prj.rb +10 -10
- data/tests/cpp/cpp_sources_glob/tc_cpp_sources_glob.rb +18 -18
- data/tests/cpp/mswin_res_dll/build.rb +14 -14
- data/tests/cpp/mswin_res_dll/dll.cpp +17 -17
- data/tests/cpp/mswin_res_dll/dll.rb +29 -29
- data/tests/cpp/mswin_res_dll/dll.rc +48 -48
- data/tests/cpp/mswin_res_dll/h/dll.hpp +8 -8
- data/tests/cpp/mswin_res_dll/h/res.h +3 -3
- data/tests/cpp/mswin_res_dll/main.cpp +13 -13
- data/tests/cpp/mswin_res_dll/main.rb +19 -19
- data/tests/cpp/mswin_res_dll/o/dll.o +0 -0
- data/tests/cpp/mswin_res_dll/tc_mswin_res_dll.rb +18 -18
- data/tests/cpp/mswin_res_exe/build.rb +23 -23
- data/tests/cpp/mswin_res_exe/h/res.h +3 -3
- data/tests/cpp/mswin_res_exe/main.cpp +17 -17
- data/tests/cpp/mswin_res_exe/main.rc +48 -48
- data/tests/cpp/mswin_res_exe/o/main.o +0 -0
- data/tests/cpp/mswin_res_exe/tc_mswin_res_exe.rb +18 -18
- data/tests/cpp/rucodegen.embedded/host_config.cpp +32 -32
- data/tests/cpp/rucodegen.embedded/impl/conn_params.cpp +7 -7
- data/tests/cpp/rucodegen.embedded/impl/conn_params.rb +14 -14
- data/tests/cpp/rucodegen.embedded/impl/h/conn_params.hpp +10 -10
- data/tests/cpp/rucodegen.embedded/prj.rb +16 -16
- data/tests/cpp/rucodegen.embedded/tc_rucodegen.rb +18 -18
- data/tests/cpp/rucodegen/host_config.cpp +20 -20
- data/tests/cpp/rucodegen/host_config.rb +14 -14
- data/tests/cpp/rucodegen/impl/conn_params.cpp +7 -7
- data/tests/cpp/rucodegen/impl/conn_params.rb +14 -14
- data/tests/cpp/rucodegen/impl/h/conn_params.hpp +10 -10
- data/tests/cpp/rucodegen/prj.rb +16 -16
- data/tests/cpp/rucodegen/tc_rucodegen.rb +18 -18
- data/tests/cpp/textfile_unittest/build.rb +8 -8
- data/tests/cpp/textfile_unittest/etalons/out_1.txt +1 -1
- data/tests/cpp/textfile_unittest/etalons/out_128.txt +128 -128
- data/tests/cpp/textfile_unittest/main.cpp +89 -89
- data/tests/cpp/textfile_unittest/prj.rb +8 -8
- data/tests/cpp/textfile_unittest/prj.ut.rb +18 -18
- data/tests/cpp/textfile_unittest/tc_textfile_unittest.rb +18 -18
- data/tests/cpp/toolset_name.rb +6 -6
- data/tests/cpp/vc_cleanup/prj_dll_no_implib.rb +10 -10
- data/tests/cpp/vc_cleanup/prj_dll_no_implib_simple_target_root.rb +11 -11
- data/tests/cpp/vc_cleanup/prj_dll_with_implib.rb +11 -11
- data/tests/cpp/vc_cleanup/prj_dll_with_implib_simple_target_root.rb +14 -14
- data/tests/cpp/vc_cleanup/prj_exe_no_implib.rb +10 -10
- data/tests/cpp/vc_cleanup/prj_exe_no_implib_simple_target_root.rb +11 -11
- data/tests/cpp/vc_cleanup/prj_lib.rb +10 -10
- data/tests/cpp/vc_cleanup/prj_lib_with_simple_target_root.rb +11 -11
- data/tests/cpp/vc_cleanup/tc_vc_cleanup.rb +23 -23
- data/tests/mxx_ru/binary_library/tc_binary_library.rb +57 -57
- data/tests/mxx_ru/binary_library/tc_binary_target_lib_methods.rb +114 -114
- data/tests/mxx_ru/change_default_value/ignoring_by_build_root/build.rb +8 -8
- data/tests/mxx_ru/change_default_value/ignoring_by_build_root/child_1.rb +5 -5
- data/tests/mxx_ru/change_default_value/ignoring_by_child_1/build.rb +7 -7
- data/tests/mxx_ru/change_default_value/ignoring_by_child_1/child_1.rb +5 -5
- data/tests/mxx_ru/change_default_value/ignoring_by_child_1/child_2.rb +5 -5
- data/tests/mxx_ru/change_default_value/ok/build.rb +8 -8
- data/tests/mxx_ru/change_default_value/ok/child_1.rb +8 -8
- data/tests/mxx_ru/lib_path/build.rb +8 -8
- data/tests/mxx_ru/lib_path/bye.rb +8 -8
- data/tests/mxx_ru/lib_path/hi.rb +8 -8
- data/tests/mxx_ru/lib_path/main.rb +12 -12
- data/tests/mxx_ru/lib_path/tc_lib_path.rb +18 -18
- data/tests/mxx_ru/obj_placements/tc_custom_subdir.rb +58 -58
- data/tests/mxx_ru/opt_lib_ext/build.rb +7 -7
- data/tests/mxx_ru/opt_lib_ext/hi.rb +7 -7
- data/tests/mxx_ru/opt_lib_ext/tc_opt_lib_ext.rb +18 -18
- data/tests/mxx_ru/opt_lib_ext/test-no-ext.rb +9 -9
- data/tests/mxx_ru/opt_lib_ext/test-with-ext.rb +13 -13
- data/tests/mxx_ru/plural_form_methods/tc.rb +72 -72
- data/tests/mxx_ru/qt_gen/tc_uic_result_subdir.rb +76 -76
- data/tests/mxx_ru/target_ext/prj_dll.rb +8 -8
- data/tests/mxx_ru/target_ext/prj_exe.rb +8 -8
- data/tests/mxx_ru/target_ext/prj_lib.rb +8 -8
- data/tests/mxx_ru/target_ext/tc_target_ext.rb +24 -24
- data/tests/mxx_ru/tc_makestyle_generator.rb +117 -117
- data/tests/mxx_ru/vc8/tc_actual_manifest.rb +230 -230
- data/tests/mxx_ru/vc8/tc_append_mt_commands.rb +104 -104
- data/tests/mxx_ru/vc8/tc_default_manifest.rb +17 -17
- data/tests/mxx_ru/vc8/tc_define_manifest.rb +173 -173
- data/tests/mxx_ru/vc8/tc_drop_default_manifest.rb +16 -16
- data/tests/mxx_ru/vc8/tc_invalid_params.rb +81 -81
- data/tests/mxx_ru/vc8/ts_vc8.rb +10 -10
- data/tests/qt/aclock/aclock.cpp +148 -148
- data/tests/qt/aclock/aclock.h +45 -45
- data/tests/qt/aclock/main.cpp +28 -28
- data/tests/qt/aclock/prj.rb +21 -21
- data/tests/qt/iconview/main.cpp +76 -76
- data/tests/qt/iconview/prj.rb +21 -21
- data/tests/qt/toplevel/main.cpp +9 -9
- data/tests/qt/toplevel/options.ui +587 -587
- data/tests/qt/toplevel/prj.rb +22 -22
- data/tests/test_with_compilation.rb +110 -110
- data/tests/unix/lib_linking_mode/a_shared.rb +7 -7
- data/tests/unix/lib_linking_mode/a_static.rb +7 -7
- data/tests/unix/lib_linking_mode/etalon/shared.txt +2 -2
- data/tests/unix/lib_linking_mode/etalon/static.txt +2 -2
- data/tests/unix/lib_linking_mode/main_conflict.rb +12 -12
- data/tests/unix/lib_linking_mode/main_conflict_2.rb +11 -11
- data/tests/unix/lib_linking_mode/main_shared.rb +9 -9
- data/tests/unix/lib_linking_mode/main_shared.ut.rb +11 -11
- data/tests/unix/lib_linking_mode/main_shared_2.rb +10 -10
- data/tests/unix/lib_linking_mode/main_shared_2.ut.rb +11 -11
- data/tests/unix/lib_linking_mode/main_static.rb +9 -9
- data/tests/unix/lib_linking_mode/main_static.ut.rb +11 -11
- data/tests/unix/lib_linking_mode/main_static_2.rb +10 -10
- data/tests/unix/lib_linking_mode/main_static_2.ut.rb +11 -11
- data/tests/unix/lib_linking_mode/tc_conflicted_build.rb +18 -18
- data/tests/unix/lib_linking_mode/tc_normal_build.rb +18 -18
- data/tests/unix/lib_order/tc_normal_build.rb +16 -16
- 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.
|
|
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
|
+
|
data/examples/exe_and_lib/prj.rb
CHANGED
|
@@ -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
|
+
}
|
data/examples/exe_and_lib/say.rb
CHANGED
|
@@ -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
|
+
}
|