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
data/COPYING
ADDED
|
@@ -0,0 +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.
|
data/NEWS
ADDED
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
Changes in Mxx_ru
|
|
2
|
+
|
|
3
|
+
1.1.0 version (2006.02..2006.04)
|
|
4
|
+
|
|
5
|
+
Documentation and commentaries are translated to english.
|
|
6
|
+
|
|
7
|
+
Simplified MXX_RU_CPP_TOOLSET environment value setup.
|
|
8
|
+
|
|
9
|
+
composite_target, dll_target, lib_target, exe_target methods are
|
|
10
|
+
added, which allows to simplify description of common C++ projects.
|
|
11
|
+
|
|
12
|
+
An ability to change default values for such parameters as
|
|
13
|
+
runtime_mode, rtti_mode, rtl_mode, threading_mode was added.
|
|
14
|
+
|
|
15
|
+
Fixed clean operations for Visual C++:
|
|
16
|
+
- if .exp file is exists for current target, then
|
|
17
|
+
corresponding .lib and .exp files are removed;
|
|
18
|
+
- the way PDB files created was changed to create individual PDB file
|
|
19
|
+
for each target, which is removed during a clean operation.
|
|
20
|
+
|
|
21
|
+
VC++ 8.0 support was added, including manifests support.
|
|
22
|
+
|
|
23
|
+
Mxx_ru is transformed to RubyGem.
|
|
24
|
+
|
|
25
|
+
1.0.12 version (2005.11.17)
|
|
26
|
+
|
|
27
|
+
Support of RuCodeGen for C++ projects was added.
|
|
28
|
+
See Mxx_ru::Cpp::RuCodeGen class for details.
|
|
29
|
+
|
|
30
|
+
1.0.10 version (2005.08.04)
|
|
31
|
+
|
|
32
|
+
mxx_ru/cpp/toolsets/gcc_sparc_solaris.rb file was added to support
|
|
33
|
+
GNU C++ compiler on Solaris platform.
|
|
34
|
+
|
|
35
|
+
1.0.9 version (2005.07.12)
|
|
36
|
+
|
|
37
|
+
Bug, slowing down the work with projects containing large amount of
|
|
38
|
+
DLL's on unix platforms was fixed.
|
|
39
|
+
|
|
40
|
+
Added --mxx-cpp-no-depends-analyzer option, which turns off
|
|
41
|
+
scanning of C++ files for dependencies.
|
|
42
|
+
|
|
43
|
+
1.0.7 version (2005.04.01)
|
|
44
|
+
|
|
45
|
+
Added Mxx_ru::Makestyle_generator class.
|
|
46
|
+
|
|
47
|
+
1.0.6 version (2004.11.26)
|
|
48
|
+
|
|
49
|
+
Bug, slowing down the work with projects conaining deep dependencies
|
|
50
|
+
between each other was fixed. Problem was because of increase of
|
|
51
|
+
intercalls to get values of spreadable options. Now, spreadable option
|
|
52
|
+
values are cached and recalculated only on change.
|
data/README
ADDED
|
@@ -0,0 +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.
|
data/Rakefile
ADDED
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
require 'rubygems'
|
|
2
|
+
Gem::manage_gems
|
|
3
|
+
|
|
4
|
+
require 'rake/gempackagetask'
|
|
5
|
+
|
|
6
|
+
PKG_NAME =
|
|
7
|
+
RKG_VERSION = '1.1.0'
|
|
8
|
+
|
|
9
|
+
spec = Gem::Specification.new do |s|
|
|
10
|
+
s.name = "Mxx_ru"
|
|
11
|
+
s.version = "1.1.0"
|
|
12
|
+
s.author = "The Mxx_ru Project"
|
|
13
|
+
s.email = "eao197@yahoo.com"
|
|
14
|
+
s.homepage = "http://www.rubyforge.com/projects/mxx-ru"
|
|
15
|
+
s.platform = Gem::Platform::RUBY
|
|
16
|
+
s.summary = "Mxx_ru (Make++ on Ruby) is a cross-platform build tool"
|
|
17
|
+
s.files = FileList[ "{bin,tests,lib,docs,examples}/**/*" ].
|
|
18
|
+
exclude( "rdoc" ).to_a
|
|
19
|
+
s.require_path = "lib"
|
|
20
|
+
# s.autorequire = "rucodegen"
|
|
21
|
+
# s.test_file = "tests/ts_rucodegen.rb"
|
|
22
|
+
s.has_rdoc = true
|
|
23
|
+
s.rdoc_options = [ '-S', '--main', 'README' ]
|
|
24
|
+
s.extra_rdoc_files = [ "README", "Rakefile", "COPYING", "NEWS" ] + FileList[ "docs/**/*" ].to_a
|
|
25
|
+
end
|
|
26
|
+
|
|
27
|
+
gem = Rake::GemPackageTask.new( spec ) do |pkg|
|
|
28
|
+
pkg.need_zip = true
|
|
29
|
+
pkg.need_tar = true
|
|
30
|
+
end
|
|
31
|
+
|
|
32
|
+
task :default => [ gem.package_dir + "/" + gem.name + "-" + gem.version.version + ".gem" ]
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
#if !defined( _INOUT_HPP_ )
|
|
2
|
+
#define _INOUT_HPP_
|
|
3
|
+
|
|
4
|
+
#include <string>
|
|
5
|
+
|
|
6
|
+
#if defined( INOUT_MSWIN )
|
|
7
|
+
#if defined( INOUT_PRJ )
|
|
8
|
+
#define INOUT_TYPE __declspec(dllexport)
|
|
9
|
+
#else
|
|
10
|
+
#define INOUT_TYPE __declspec(dllimport)
|
|
11
|
+
#endif
|
|
12
|
+
#else
|
|
13
|
+
#define INOUT_TYPE
|
|
14
|
+
#endif
|
|
15
|
+
|
|
16
|
+
class INOUT_TYPE inout_t
|
|
17
|
+
{
|
|
18
|
+
public :
|
|
19
|
+
inout_t( const std::string & method );
|
|
20
|
+
~inout_t();
|
|
21
|
+
|
|
22
|
+
private :
|
|
23
|
+
std::string m_method;
|
|
24
|
+
};
|
|
25
|
+
|
|
26
|
+
#endif
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
require 'mxx_ru/cpp'
|
|
2
|
+
|
|
3
|
+
Mxx_ru::Cpp::dll_target( "inout.rb" ) {
|
|
4
|
+
target( "inout" )
|
|
5
|
+
implib_path( "." )
|
|
6
|
+
|
|
7
|
+
required_prj( "say.rb" )
|
|
8
|
+
|
|
9
|
+
include_path( "." )
|
|
10
|
+
|
|
11
|
+
define( "INOUT_PRJ" )
|
|
12
|
+
|
|
13
|
+
if "mswin" == toolset.tag( "target_os" )
|
|
14
|
+
define( "INOUT_MSWIN" )
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
cpp_source( "inout.cpp" )
|
|
18
|
+
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
#include <iostream>
|
|
2
|
+
|
|
3
|
+
#include <inout.hpp>
|
|
4
|
+
|
|
5
|
+
void
|
|
6
|
+
some_func()
|
|
7
|
+
{
|
|
8
|
+
inout_t braces( "some_func" );
|
|
9
|
+
|
|
10
|
+
std::cout << "Some functionality..." << std::endl;
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
int
|
|
14
|
+
main()
|
|
15
|
+
{
|
|
16
|
+
inout_t braces( "main" );
|
|
17
|
+
|
|
18
|
+
std::cout << "Exe, dll, lib main..." << std::endl;
|
|
19
|
+
|
|
20
|
+
some_func();
|
|
21
|
+
|
|
22
|
+
return 0;
|
|
23
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
#include <say.hpp>
|
|
2
|
+
|
|
3
|
+
void
|
|
4
|
+
say_hello( std::ostream & to, const std::string & where )
|
|
5
|
+
{
|
|
6
|
+
to << where << ": Hello!" << std::endl;
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
void
|
|
10
|
+
say_bye( std::ostream & to, const std::string & where )
|
|
11
|
+
{
|
|
12
|
+
to << where << ": Bye!" << std::endl;
|
|
13
|
+
}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
#if !defined( _INOUT_HPP_ )
|
|
2
|
+
#define _INOUT_HPP_
|
|
3
|
+
|
|
4
|
+
#include <string>
|
|
5
|
+
|
|
6
|
+
#if defined( INOUT_MSWIN )
|
|
7
|
+
#if defined( INOUT_PRJ )
|
|
8
|
+
#define INOUT_TYPE __declspec(dllexport)
|
|
9
|
+
#else
|
|
10
|
+
#define INOUT_TYPE __declspec(dllimport)
|
|
11
|
+
#endif
|
|
12
|
+
#else
|
|
13
|
+
#define INOUT_TYPE
|
|
14
|
+
#endif
|
|
15
|
+
|
|
16
|
+
class INOUT_TYPE inout_t
|
|
17
|
+
{
|
|
18
|
+
public :
|
|
19
|
+
inout_t( const std::string & method );
|
|
20
|
+
~inout_t();
|
|
21
|
+
|
|
22
|
+
private :
|
|
23
|
+
std::string m_method;
|
|
24
|
+
};
|
|
25
|
+
|
|
26
|
+
#endif
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
require 'mxx_ru/cpp'
|
|
2
|
+
|
|
3
|
+
Mxx_ru::Cpp::dll_target( "inout/prj.rb" ) {
|
|
4
|
+
target( "inout" )
|
|
5
|
+
implib_path( "lib" )
|
|
6
|
+
|
|
7
|
+
required_prj( "say/prj.rb" )
|
|
8
|
+
|
|
9
|
+
define( "INOUT_PRJ" )
|
|
10
|
+
|
|
11
|
+
if "mswin" == toolset.tag( "target_os" )
|
|
12
|
+
define( "INOUT_MSWIN" )
|
|
13
|
+
end
|
|
14
|
+
|
|
15
|
+
cpp_source( "inout.cpp" )
|
|
16
|
+
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
#include <iostream>
|
|
2
|
+
|
|
3
|
+
#include <inout/inout.hpp>
|
|
4
|
+
|
|
5
|
+
void
|
|
6
|
+
some_func()
|
|
7
|
+
{
|
|
8
|
+
inout_t braces( "some_func" );
|
|
9
|
+
|
|
10
|
+
std::cout << "Some functionality..." << std::endl;
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
int
|
|
14
|
+
main()
|
|
15
|
+
{
|
|
16
|
+
inout_t braces( "main" );
|
|
17
|
+
|
|
18
|
+
std::cout << "Exe, dll, lib main..." << std::endl;
|
|
19
|
+
|
|
20
|
+
some_func();
|
|
21
|
+
|
|
22
|
+
return 0;
|
|
23
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
#include <say/say.hpp>
|
|
2
|
+
|
|
3
|
+
void
|
|
4
|
+
say_hello( std::ostream & to, const std::string & where )
|
|
5
|
+
{
|
|
6
|
+
to << where << ": Hello!" << std::endl;
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
void
|
|
10
|
+
say_bye( std::ostream & to, const std::string & where )
|
|
11
|
+
{
|
|
12
|
+
to << where << ": Bye!" << std::endl;
|
|
13
|
+
}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
#include <iostream>
|
|
2
|
+
#include <string>
|
|
3
|
+
|
|
4
|
+
void
|
|
5
|
+
say_hello( std::ostream & to )
|
|
6
|
+
{
|
|
7
|
+
to << "Hello!" << std::endl;
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
void
|
|
11
|
+
say_bye( std::ostream & to )
|
|
12
|
+
{
|
|
13
|
+
to << "Bye!" << std::endl;
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
int
|
|
17
|
+
main()
|
|
18
|
+
{
|
|
19
|
+
say_hello( std::cout );
|
|
20
|
+
|
|
21
|
+
std::cout << "Simple exe main..." << std::endl;
|
|
22
|
+
|
|
23
|
+
say_bye( std::cout );
|
|
24
|
+
|
|
25
|
+
return 0;
|
|
26
|
+
}
|