Mxx_ru 1.3.2 → 1.4.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/Rakefile +4 -3
- data/bin/mxxrugen +197 -0
- data/lib/mxx_ru/cmd_line_option_processor.rb +126 -0
- data/lib/mxx_ru/cpp.rb +1 -0
- data/lib/mxx_ru/cpp/composite.rb +2 -12
- data/lib/mxx_ru/cpp/lib_collection.rb +96 -0
- data/lib/mxx_ru/cpp/mode.rb +72 -10
- data/lib/mxx_ru/cpp/target.rb +85 -136
- data/lib/mxx_ru/cpp/toolset.rb +96 -9
- data/lib/mxx_ru/cpp/toolsets/bcc_win32_family.rb +5 -5
- data/lib/mxx_ru/cpp/toolsets/c89_nsk_family.rb +5 -5
- data/lib/mxx_ru/cpp/toolsets/gcc_family.rb +5 -5
- data/lib/mxx_ru/cpp/toolsets/gcc_mingw.rb +2 -2
- data/lib/mxx_ru/cpp/toolsets/vc8.rb +6 -1
- data/lib/mxx_ru/cpp/toolsets/vc_family.rb +4 -4
- data/lib/mxx_ru/generators/bin-unittest/g.rb +200 -0
- data/lib/mxx_ru/generators/bin-unittest/template.erb +16 -0
- data/lib/mxx_ru/generators/cpp-composite/g.rb +37 -0
- data/lib/mxx_ru/generators/cpp-dll/g.rb +37 -0
- data/lib/mxx_ru/generators/cpp-exe/g.rb +37 -0
- data/lib/mxx_ru/generators/cpp-lib-collection/g.rb +37 -0
- data/lib/mxx_ru/generators/cpp-lib/g.rb +37 -0
- data/lib/mxx_ru/generators/impl/cpp/generation.rb +291 -0
- data/lib/mxx_ru/generators/impl/cpp/template.erb +27 -0
- data/lib/mxx_ru/generators/impl/std_receiver.rb +80 -0
- data/lib/mxx_ru/util.rb +110 -22
- data/lib/mxx_ru/version.rb +38 -0
- data/tests/mxx_ru/generators/cpp/tc_generator.rb +34 -0
- data/tests/mxx_ru/generators/cpp/tc_options.rb +79 -0
- data/tests/mxx_ru/generators/cpp/tc_template_params.rb +45 -0
- data/tests/mxx_ru/lib_collection/a.cpp +8 -0
- data/tests/mxx_ru/lib_collection/a.hpp +8 -0
- data/tests/mxx_ru/lib_collection/a.rb +8 -0
- data/tests/mxx_ru/lib_collection/b.cpp +8 -0
- data/tests/mxx_ru/lib_collection/b.hpp +8 -0
- data/tests/mxx_ru/lib_collection/b.rb +8 -0
- data/tests/mxx_ru/lib_collection/c.cpp +8 -0
- data/tests/mxx_ru/lib_collection/c.hpp +8 -0
- data/tests/mxx_ru/lib_collection/c.rb +8 -0
- data/tests/mxx_ru/lib_collection/collection_a_b.rb +7 -0
- data/tests/mxx_ru/lib_collection/collection_c_d.rb +7 -0
- data/tests/mxx_ru/lib_collection/collection_c_d_e.rb +7 -0
- data/tests/mxx_ru/lib_collection/collection_f.rb +6 -0
- data/tests/mxx_ru/lib_collection/collection_i.rb +6 -0
- data/tests/mxx_ru/lib_collection/d.cpp +8 -0
- data/tests/mxx_ru/lib_collection/d.hpp +8 -0
- data/tests/mxx_ru/lib_collection/d.rb +8 -0
- data/tests/mxx_ru/lib_collection/e.cpp +8 -0
- data/tests/mxx_ru/lib_collection/e.hpp +8 -0
- data/tests/mxx_ru/lib_collection/e.rb +8 -0
- data/tests/mxx_ru/lib_collection/f.cpp +8 -0
- data/tests/mxx_ru/lib_collection/f.hpp +8 -0
- data/tests/mxx_ru/lib_collection/f.rb +7 -0
- data/tests/mxx_ru/lib_collection/g.cpp +8 -0
- data/tests/mxx_ru/lib_collection/g.hpp +8 -0
- data/tests/mxx_ru/lib_collection/g.rb +7 -0
- data/tests/mxx_ru/lib_collection/i.cpp +10 -0
- data/tests/mxx_ru/lib_collection/i.hpp +16 -0
- data/tests/mxx_ru/lib_collection/i.rb +17 -0
- data/tests/mxx_ru/lib_collection/main.cpp +18 -0
- data/tests/mxx_ru/lib_collection/main.rb +12 -0
- data/tests/mxx_ru/lib_collection/tc_lib_collection.rb +17 -0
- data/tests/mxx_ru/toolset/tc_tag_search.rb +68 -0
- data/tests/test_with_compilation.rb +1 -1
- metadata +67 -14
- data/tests/cpp/mswin_res_dll/o/dll.o +0 -0
- data/tests/cpp/mswin_res_exe/o/main.o +0 -0
@@ -44,27 +44,27 @@ module MxxRu
|
|
44
44
|
|
45
45
|
# Returns compiler name.
|
46
46
|
def compiler_name
|
47
|
-
|
47
|
+
tag( COMPILER_NAME_TAG, "bcc32" )
|
48
48
|
end
|
49
49
|
|
50
50
|
# Returns linker name.
|
51
51
|
def linker_name
|
52
|
-
|
52
|
+
tag( LINKER_NAME_TAG, "ilink32" )
|
53
53
|
end
|
54
54
|
|
55
55
|
# Returns librarian name.
|
56
56
|
def librarian_name
|
57
|
-
|
57
|
+
tag( LIBRARIAN_NAME_TAG, "tlib" )
|
58
58
|
end
|
59
59
|
|
60
60
|
# Returns resource compiler name.
|
61
61
|
def rc_name
|
62
|
-
|
62
|
+
tag( RC_NAME_TAG, "brc32" )
|
63
63
|
end
|
64
64
|
|
65
65
|
# Returns the name of import library creator.
|
66
66
|
def import_librarian_name
|
67
|
-
|
67
|
+
tag( IMPORT_LIBRARIAN_NAME_TAG, "implib" )
|
68
68
|
end
|
69
69
|
|
70
70
|
# See description at MxxRu::Cpp::Toolset#setup_mandatory_options.
|
@@ -45,22 +45,22 @@ module MxxRu
|
|
45
45
|
|
46
46
|
# Returns C compiler name
|
47
47
|
def c_compiler_name
|
48
|
-
|
48
|
+
tag( [ C_COMPILER_NAME_TAG, COMPILER_NAME_TAG ], "c89" )
|
49
49
|
end
|
50
50
|
|
51
51
|
# Returns C++ compiler name.
|
52
52
|
def cpp_compiler_name
|
53
|
-
|
53
|
+
tag( [ CPP_COMPILER_NAME_TAG, COMPILER_NAME_TAG ], "c89" )
|
54
54
|
end
|
55
55
|
|
56
56
|
# Returns linker name.
|
57
57
|
def linker_name
|
58
|
-
|
58
|
+
tag( LINKER_NAME_TAG, "c89" )
|
59
59
|
end
|
60
60
|
|
61
61
|
# Returns librarian name.
|
62
62
|
def librarian_name
|
63
|
-
|
63
|
+
tag( LIBRARIAN_NAME_TAG, "ar" )
|
64
64
|
end
|
65
65
|
|
66
66
|
# See description at MxxRu::Cpp::Toolset#setup_mandatory_options.
|
@@ -230,7 +230,7 @@ module MxxRu
|
|
230
230
|
|
231
231
|
# And all required libraries.
|
232
232
|
a_target.mxx_required_prjs.each { |d|
|
233
|
-
if
|
233
|
+
if Toolset::has_linkable_dependecies?( d )
|
234
234
|
result.add_libs( d.mxx_required_libs )
|
235
235
|
result.add_lib_paths( d.mxx_required_lib_paths )
|
236
236
|
end
|
@@ -51,22 +51,22 @@ module MxxRu
|
|
51
51
|
|
52
52
|
# Returns C compiler name.
|
53
53
|
def c_compiler_name
|
54
|
-
|
54
|
+
tag( [ C_COMPILER_NAME_TAG, COMPILER_NAME_TAG ], "gcc" )
|
55
55
|
end
|
56
56
|
|
57
57
|
# Returns C++ compiler name.
|
58
58
|
def cpp_compiler_name
|
59
|
-
|
59
|
+
tag( [ CPP_COMPILER_NAME_TAG, COMPILER_NAME_TAG ], "g++" )
|
60
60
|
end
|
61
61
|
|
62
62
|
# Returns linker name.
|
63
63
|
def linker_name
|
64
|
-
|
64
|
+
tag( LINKER_NAME_TAG, "g++" )
|
65
65
|
end
|
66
66
|
|
67
67
|
# Returns librarian name.
|
68
68
|
def librarian_name
|
69
|
-
|
69
|
+
tag( LIBRARIAN_NAME_TAG, "ar" )
|
70
70
|
end
|
71
71
|
|
72
72
|
# See description at MxxRu::Cpp::Toolset#setup_mandatory_options.
|
@@ -234,7 +234,7 @@ module MxxRu
|
|
234
234
|
|
235
235
|
# And all required libraries.
|
236
236
|
a_target.mxx_required_prjs.each { |d|
|
237
|
-
if
|
237
|
+
if Toolset::has_linkable_dependecies?( d )
|
238
238
|
result.add_libs( d.mxx_required_libs )
|
239
239
|
result.add_lib_paths( d.mxx_required_lib_paths )
|
240
240
|
end
|
@@ -47,7 +47,7 @@ module MxxRu
|
|
47
47
|
|
48
48
|
# Returns resource compiler name.
|
49
49
|
def rc_name
|
50
|
-
|
50
|
+
tag( RC_NAME_TAG, "windres" )
|
51
51
|
end
|
52
52
|
|
53
53
|
# See description at MxxRu::Cpp::Toolset#setup_mandatory_options.
|
@@ -59,7 +59,7 @@ module MxxRu
|
|
59
59
|
super( target )
|
60
60
|
|
61
61
|
if SCREEN_WINDOW == target.mxx_screen_mode
|
62
|
-
target.
|
62
|
+
target.linker_option( "-mwindows" )
|
63
63
|
else
|
64
64
|
target.linker_option( "-mconsole" )
|
65
65
|
end
|
@@ -65,6 +65,11 @@ module MxxRu
|
|
65
65
|
# [_ver_lo_] low version number. Value: 0.
|
66
66
|
class Vc8 < MxxRu::Cpp::Toolsets::VcFamily
|
67
67
|
|
68
|
+
# Tag name for a custom manifest tool name.
|
69
|
+
#
|
70
|
+
# Since v.1.4.0
|
71
|
+
MT_NAME_TAG = 'mt_name'
|
72
|
+
|
68
73
|
# Actual manifest description.
|
69
74
|
class ActualManifest
|
70
75
|
attr_reader :manifest_file
|
@@ -397,7 +402,7 @@ module MxxRu
|
|
397
402
|
|
398
403
|
# Name of manifest tool executable
|
399
404
|
def mt_name
|
400
|
-
"mt"
|
405
|
+
tag( MT_NAME_TAG, "mt" )
|
401
406
|
end
|
402
407
|
|
403
408
|
# Checking manifest params validity.
|
@@ -44,22 +44,22 @@ module MxxRu
|
|
44
44
|
|
45
45
|
# Returns compiler name.
|
46
46
|
def compiler_name
|
47
|
-
return "cl"
|
47
|
+
return tag( COMPILER_NAME_TAG, "cl" )
|
48
48
|
end
|
49
49
|
|
50
50
|
# Returns linker name.
|
51
51
|
def linker_name
|
52
|
-
return "link"
|
52
|
+
return tag( LINKER_NAME_TAG, "link" )
|
53
53
|
end
|
54
54
|
|
55
55
|
# Returns librarian name.
|
56
56
|
def librarian_name
|
57
|
-
return "lib"
|
57
|
+
return tag( LIBRARIAN_NAME_TAG, "lib" )
|
58
58
|
end
|
59
59
|
|
60
60
|
# Returns resource compiler name.
|
61
61
|
def rc_name
|
62
|
-
return "rc"
|
62
|
+
return tag( RC_NAME_TAG, "rc" )
|
63
63
|
end
|
64
64
|
|
65
65
|
# See description at MxxRu::Cpp::Toolset#setup_mandatory_options.
|
@@ -0,0 +1,200 @@
|
|
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
|
+
# Since v.1.4.0
|
30
|
+
#
|
31
|
+
# Implementation of project's stabs generation for binary unit test projects.
|
32
|
+
|
33
|
+
require 'erb'
|
34
|
+
require 'optparse'
|
35
|
+
|
36
|
+
require 'mxx_ru/generators/impl/std_receiver'
|
37
|
+
|
38
|
+
module MxxRu
|
39
|
+
|
40
|
+
module Generators
|
41
|
+
|
42
|
+
module BinaryUnittest
|
43
|
+
|
44
|
+
# Class for storing command-line arguments as options.
|
45
|
+
#
|
46
|
+
# Usage:
|
47
|
+
# options = Options.parse( args, banner )
|
48
|
+
#
|
49
|
+
class Options
|
50
|
+
# Project path (name of project directory in cmd-line). nil if missing.
|
51
|
+
attr_accessor :project_path
|
52
|
+
# Name of output file (-o, --output-file). nil if missing.
|
53
|
+
attr_accessor :output_file
|
54
|
+
|
55
|
+
# Parsing command-line arguments and returning Options instance.
|
56
|
+
#
|
57
|
+
# Calls exit(1) if --help present in _args_.
|
58
|
+
#
|
59
|
+
def Options.parse( args, banner )
|
60
|
+
parser = OptionParser.new
|
61
|
+
|
62
|
+
result = Options.new
|
63
|
+
|
64
|
+
parser.banner = banner
|
65
|
+
|
66
|
+
parser.on( '-o', '--output-file FILE', 'Output file name' ) do |p|
|
67
|
+
result.output_file = p
|
68
|
+
end
|
69
|
+
|
70
|
+
parser.on_tail( '-h', '--help', 'Show this message' ) do
|
71
|
+
puts parser
|
72
|
+
exit(1)
|
73
|
+
end
|
74
|
+
|
75
|
+
parser.order!( args ) do |noarg|
|
76
|
+
# Any non-options is considered as project path name.
|
77
|
+
result.project_path = noarg
|
78
|
+
end
|
79
|
+
|
80
|
+
result
|
81
|
+
end
|
82
|
+
end # class Options
|
83
|
+
|
84
|
+
# Class to be used in ERb template generation.
|
85
|
+
#
|
86
|
+
# Usage:
|
87
|
+
# template_params = TemplateParams.new( target_type, options )
|
88
|
+
# template = ERb.new( IO.read( some_template_file ) )
|
89
|
+
# result = template.generate( template.get_binding )
|
90
|
+
#
|
91
|
+
class TemplateParams
|
92
|
+
# For a case when project_path is undetectable.
|
93
|
+
YOUR_PROJECT_PATH = 'your project path'
|
94
|
+
# For a case when output_file is undetectable.
|
95
|
+
DEFAULT_UNITTEST_PROJECT = 'prj.ut.rb'
|
96
|
+
|
97
|
+
# Path name.
|
98
|
+
attr_reader :path_name
|
99
|
+
# Name of unit test project file.
|
100
|
+
attr_reader :unittest_project
|
101
|
+
|
102
|
+
# Param target_type must be present in @@setup_target_functions.
|
103
|
+
def initialize( options )
|
104
|
+
@path_name = try_detect_path_name( options )
|
105
|
+
@unittest_project = try_detect_unittest_project( options )
|
106
|
+
end
|
107
|
+
|
108
|
+
# Returns binding to use in ERb generation.
|
109
|
+
def get_binding
|
110
|
+
binding
|
111
|
+
end
|
112
|
+
|
113
|
+
private
|
114
|
+
# Try to setup name of path_name from options.
|
115
|
+
#
|
116
|
+
# If project_path specified target name is gotten from it.
|
117
|
+
# Otherwise if --output-file specified then name is constructed from it.
|
118
|
+
# Otherwise value 'your project path' is used.
|
119
|
+
#
|
120
|
+
def try_detect_path_name( options )
|
121
|
+
if options.project_path
|
122
|
+
options.project_path
|
123
|
+
elsif options.output_file
|
124
|
+
File.dirname( options.output_file )
|
125
|
+
else
|
126
|
+
YOUR_PROJECT_PATH
|
127
|
+
end
|
128
|
+
end
|
129
|
+
|
130
|
+
# Try to setup name of unit test project file from options.
|
131
|
+
#
|
132
|
+
# If --output-file specified then its value used.
|
133
|
+
# Otherwise value 'prj.ut.rb' is used.
|
134
|
+
#
|
135
|
+
def try_detect_unittest_project( options )
|
136
|
+
options.output_file ?
|
137
|
+
File.basename( options.output_file ) :
|
138
|
+
DEFAULT_UNITTEST_PROJECT
|
139
|
+
end
|
140
|
+
|
141
|
+
end # class TemplateParams
|
142
|
+
|
143
|
+
# Main class for code generation of binary unit test projects.
|
144
|
+
#
|
145
|
+
# Usage:
|
146
|
+
# receiver = StdReceiver.new
|
147
|
+
# generator = Generator.new( args, receiver )
|
148
|
+
# generator.run
|
149
|
+
#
|
150
|
+
class Generator
|
151
|
+
def initialize( args, receiver )
|
152
|
+
@args = args
|
153
|
+
@receiver = receiver
|
154
|
+
end
|
155
|
+
|
156
|
+
def run
|
157
|
+
options = Options.parse( @args,
|
158
|
+
"Stubs for binary unit test projects generator\n\n" +
|
159
|
+
"Usage:\n" +
|
160
|
+
"mxxrugen [<mxxrugen-options>] bin-unittest [<options>]\n\n" )
|
161
|
+
result = do_generation( options )
|
162
|
+
@receiver.receive( result, options.output_file )
|
163
|
+
end
|
164
|
+
|
165
|
+
private
|
166
|
+
# Performs main generation actions.
|
167
|
+
#
|
168
|
+
# Returns generation result as String.
|
169
|
+
def do_generation( options )
|
170
|
+
template = IO.read( File.join( File.dirname( __FILE__ ), 'template.erb' ) )
|
171
|
+
generator = ERB.new( template )
|
172
|
+
|
173
|
+
params = TemplateParams.new( options )
|
174
|
+
generator.result( params.get_binding ).gsub( /\n\n\n+/, "\n\n" )
|
175
|
+
end
|
176
|
+
end
|
177
|
+
|
178
|
+
# Helper method for generation.
|
179
|
+
#
|
180
|
+
# Usage:
|
181
|
+
# # For using StdReceiver.
|
182
|
+
# generate_for( ARGV )
|
183
|
+
#
|
184
|
+
# # For using custom Receiver.
|
185
|
+
# generate_for( ARGV, CustomReceiver.new )
|
186
|
+
#
|
187
|
+
def BinaryUnittest.generate_for( args, receiver = nil )
|
188
|
+
generator = Generator.new( args,
|
189
|
+
receiver ? receiver : MxxRu::Generators::Impl::StdReceiver.new )
|
190
|
+
generator.run
|
191
|
+
end
|
192
|
+
|
193
|
+
end # module BinaryUnittest
|
194
|
+
|
195
|
+
end # module Generators
|
196
|
+
|
197
|
+
end # module MxxRu
|
198
|
+
|
199
|
+
MxxRu::Generators::BinaryUnittest::generate_for( ARGV )
|
200
|
+
|
@@ -0,0 +1,16 @@
|
|
1
|
+
require 'rubygems'
|
2
|
+
|
3
|
+
gem 'Mxx_ru', '>= 1.3.0'
|
4
|
+
|
5
|
+
require 'mxx_ru/binary_unittest'
|
6
|
+
|
7
|
+
# Set path to your unit test projet here.
|
8
|
+
path = '<%= path_name %>'
|
9
|
+
|
10
|
+
MxxRu::setup_target(
|
11
|
+
MxxRu::BinaryUnittestTarget.new(
|
12
|
+
# Set name of your unit test project here.
|
13
|
+
"#{path}/<%= unittest_project %>",
|
14
|
+
# Set name of your project to be tested here.
|
15
|
+
"#{path}/prj.rb" ) )
|
16
|
+
|
@@ -0,0 +1,37 @@
|
|
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
|
+
# Since v.1.4.0
|
30
|
+
#
|
31
|
+
# Generator for MxxRu::Cpp::composite_target stub.
|
32
|
+
|
33
|
+
require 'mxx_ru/generators/impl/cpp/generation'
|
34
|
+
|
35
|
+
MODULE = MxxRu::Generators::Impl::Cpp
|
36
|
+
MODULE::generate_for( MODULE::COMPOSITE, ARGV )
|
37
|
+
|
@@ -0,0 +1,37 @@
|
|
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
|
+
# Since v.1.4.0
|
30
|
+
#
|
31
|
+
# Generator for MxxRu::Cpp::dll_target stub.
|
32
|
+
|
33
|
+
require 'mxx_ru/generators/impl/cpp/generation'
|
34
|
+
|
35
|
+
MODULE = MxxRu::Generators::Impl::Cpp
|
36
|
+
MODULE::generate_for( MODULE::DLL, ARGV )
|
37
|
+
|