Mxx_ru 1.4.8 → 1.4.9
Sign up to get free protection for your applications and to get access to all the features.
- data/THANKS +1 -0
- data/lib/mxx_ru/cpp/qt4details.rb +46 -0
- data/lib/mxx_ru/cpp/toolsets/gcc_darwin.rb +72 -0
- data/lib/mxx_ru/cpp/toolsets/gcc_family.rb +11 -2
- data/lib/mxx_ru/cpp/toolsets/gcc_unix_family.rb +1 -1
- data/lib/mxx_ru/version.rb +1 -1
- data/tests/cpp/lib_from_lib_dependecies/a.cpp +3 -3
- data/tests/cpp/lib_from_lib_dependecies/a.rb +1 -1
- data/tests/cpp/lib_from_lib_dependecies/b.rb +1 -1
- data/tests/mxx_ru/lib_collection/a.rb +1 -1
- data/tests/mxx_ru/lib_collection/b.rb +1 -1
- data/tests/mxx_ru/lib_collection/c.rb +1 -1
- data/tests/mxx_ru/lib_collection/d.rb +1 -1
- data/tests/mxx_ru/lib_collection/e.rb +1 -1
- data/tests/mxx_ru/lib_collection/f.rb +1 -1
- data/tests/mxx_ru/lib_collection/g.rb +1 -1
- data/tests/unix/lib_order/a.rb +1 -1
- data/tests/unix/lib_order/b.rb +1 -1
- data/tests/unix/lib_order/c.rb +1 -1
- data/tests/unix/lib_order/d.rb +1 -1
- data/tests/unix/lib_order/main.rb +4 -5
- metadata +3 -2
data/THANKS
CHANGED
@@ -206,6 +206,22 @@ module Cpp
|
|
206
206
|
# More exact: a.qrc -> a.rcc
|
207
207
|
attr_reader :qt_qrc2rcc_files
|
208
208
|
|
209
|
+
# File list for translations.
|
210
|
+
#
|
211
|
+
attr_reader :qt_ts_files
|
212
|
+
|
213
|
+
# List of options for lupdate utility.
|
214
|
+
#
|
215
|
+
# Default value: [ '-noobsolete', '-silent' ]
|
216
|
+
#
|
217
|
+
attr_accessor :lupdate_options
|
218
|
+
|
219
|
+
# Name of lupdate tool.
|
220
|
+
#
|
221
|
+
# Default value: lupdate.
|
222
|
+
#
|
223
|
+
attr_accessor :lupdate_name
|
224
|
+
|
209
225
|
# Target, generator is created for.
|
210
226
|
attr :target
|
211
227
|
|
@@ -220,6 +236,8 @@ module Cpp
|
|
220
236
|
@moc_result_subdir = nil
|
221
237
|
@uic_result_subdir = nil
|
222
238
|
@qrc_result_subdir = nil
|
239
|
+
@lupdate_name = 'lupdate'
|
240
|
+
@lupdate_options = [ '-noobsolete', '-silent' ]
|
223
241
|
|
224
242
|
# If uic_result_subdir not nil than we must add
|
225
243
|
# uic_result_subdir into
|
@@ -231,6 +249,7 @@ module Cpp
|
|
231
249
|
@qt_ui_files = []
|
232
250
|
@qt_qrc2cpp_files = []
|
233
251
|
@qt_qrc2rcc_files = []
|
252
|
+
@qt_ts_files = []
|
234
253
|
|
235
254
|
defines_to_set = a_defines.flatten
|
236
255
|
defines_to_set.each { |d| a_target.define( d ) }
|
@@ -293,6 +312,14 @@ module Cpp
|
|
293
312
|
a_modules.each { |m| use_module( m ) }
|
294
313
|
end
|
295
314
|
|
315
|
+
# Add translation file.
|
316
|
+
#
|
317
|
+
# a_file -- name of .ts-file.
|
318
|
+
#
|
319
|
+
def ts( a_name )
|
320
|
+
@qt_ts_files << a_name
|
321
|
+
end
|
322
|
+
|
296
323
|
# Perform files generation.
|
297
324
|
def build( a_target )
|
298
325
|
build_from_ui( a_target )
|
@@ -300,6 +327,7 @@ module Cpp
|
|
300
327
|
build_from_qrc2rcc( a_target )
|
301
328
|
build_from_h( a_target )
|
302
329
|
build_from_cpp( a_target )
|
330
|
+
build_translations( a_target )
|
303
331
|
end
|
304
332
|
|
305
333
|
# Perform generated files cleanup.
|
@@ -519,6 +547,24 @@ module Cpp
|
|
519
547
|
}
|
520
548
|
end
|
521
549
|
|
550
|
+
# Perform .ts-files building.
|
551
|
+
#
|
552
|
+
def build_translations( a_target )
|
553
|
+
return if 0 == @qt_ts_files.size
|
554
|
+
|
555
|
+
project_path = File.dirname( a_target.prj_alias )
|
556
|
+
@qt_ts_files.each do |ts_file|
|
557
|
+
full_ts_file_name = File.join( project_path, ts_file )
|
558
|
+
MxxRu::Util::ensure_path_exists( File.dirname( full_ts_file_name ) )
|
559
|
+
|
560
|
+
MxxRu::AbstractTarget::run(
|
561
|
+
[ "#{lupdate_name} #{lupdate_options.join(' ')} " +
|
562
|
+
"#{project_path} -ts #{full_ts_file_name}" ],
|
563
|
+
[ full_ts_file_name ],
|
564
|
+
"building translation file #{full_ts_file_name}" )
|
565
|
+
end
|
566
|
+
end
|
567
|
+
|
522
568
|
# Formatting file name, which is generated from cpp file by moc tool
|
523
569
|
def moc_from_cpp( a_cpp_file, a_target )
|
524
570
|
path = make_moc_result_path_for( File.dirname( a_cpp_file ) )
|
@@ -0,0 +1,72 @@
|
|
1
|
+
#--
|
2
|
+
# Copyright (c) 1996-2004, Yauheni Akhotnikau
|
3
|
+
# Copyright (c) 2004-2006, JSC Intervale
|
4
|
+
# Copyright (c) 2006-2009, The Mxx_ru Project
|
5
|
+
# All rights reserved.
|
6
|
+
#
|
7
|
+
# Redistribution and use in source and binary forms, with or without modification,
|
8
|
+
# are permitted provided that the following conditions are met:
|
9
|
+
#
|
10
|
+
# 1. Redistributions of source code must retain the above copyright notice,
|
11
|
+
# this list of conditions and the following disclaimer.
|
12
|
+
# 2. Redistributions in binary form must reproduce the above copyright notice,
|
13
|
+
# this list of conditions and the following disclaimer in the documentation
|
14
|
+
# and/or other materials provided with the distribution.
|
15
|
+
# 3. The name of the author may not be used to endorse or promote products derived
|
16
|
+
# from this software without specific prior written permission.
|
17
|
+
#
|
18
|
+
# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
|
19
|
+
# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
|
20
|
+
# AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE
|
21
|
+
# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
22
|
+
# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
23
|
+
# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
24
|
+
# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
|
25
|
+
# NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
|
26
|
+
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
27
|
+
#++
|
28
|
+
|
29
|
+
require 'mxx_ru/cpp/toolsets/gcc_unix_family'
|
30
|
+
|
31
|
+
module MxxRu
|
32
|
+
module Cpp
|
33
|
+
module Toolsets
|
34
|
+
|
35
|
+
# Toolset implemetation for GCC compiler for MacOS X (Darwin).
|
36
|
+
class GccDarwin < GccFamily
|
37
|
+
public
|
38
|
+
def initialize( a_name = "gcc" )
|
39
|
+
super( a_name )
|
40
|
+
|
41
|
+
setup_tag( GCC_PORT_TAG, GCC_PORT_UNIX )
|
42
|
+
setup_tag( "host_os", "unix" )
|
43
|
+
setup_tag( "target_os", "unix" )
|
44
|
+
setup_tag( "unix_port", "darwin" )
|
45
|
+
end
|
46
|
+
|
47
|
+
def setup_mandatory_options( target )
|
48
|
+
super( target )
|
49
|
+
|
50
|
+
if target.target_type.name == DllTargetType::TYPE
|
51
|
+
target.linker_option( "-prebind" )
|
52
|
+
target.linker_option( "-dynamiclib" )
|
53
|
+
target.linker_option( "-single_module" )
|
54
|
+
elsif target.target_type.name == ExeTargetType::TYPE
|
55
|
+
target.linker_option( "-prebind" )
|
56
|
+
end
|
57
|
+
end
|
58
|
+
|
59
|
+
# There ins't any bracket on MacOS X.
|
60
|
+
def enclose_linker_include_lib_options_into_brackes( options )
|
61
|
+
options
|
62
|
+
end
|
63
|
+
end # class GccDarwin
|
64
|
+
|
65
|
+
end # module Toolsets
|
66
|
+
|
67
|
+
end # module Cpp
|
68
|
+
|
69
|
+
end # module MxxRu
|
70
|
+
|
71
|
+
MxxRu::Cpp::setup_toolset( MxxRu::Cpp::Toolsets::GccDarwin.new )
|
72
|
+
|
@@ -1,7 +1,7 @@
|
|
1
1
|
#--
|
2
2
|
# Copyright (c) 1996-2004, Yauheni Akhotnikau
|
3
3
|
# Copyright (c) 2004-2006, JSC Intervale
|
4
|
-
# Copyright (c) 2006-
|
4
|
+
# Copyright (c) 2006-2009, The Mxx_ru Project
|
5
5
|
# All rights reserved.
|
6
6
|
#
|
7
7
|
# Redistribution and use in source and binary forms, with or without modification,
|
@@ -279,7 +279,16 @@ module MxxRu
|
|
279
279
|
all_libs = libs.inject( '' ) { |r, l|
|
280
280
|
r << '-l' << port_specific_lib_name_checker( l.name ) << ' '
|
281
281
|
}
|
282
|
-
|
282
|
+
enclose_linker_include_lib_options_into_brackes( all_libs )
|
283
|
+
end
|
284
|
+
|
285
|
+
# Enclose library list into brackets if necessary.
|
286
|
+
#
|
287
|
+
# For example, on Linux -Wl,--start-group and -Wl,--end-group
|
288
|
+
# should be used around library list.
|
289
|
+
#
|
290
|
+
def enclose_linker_include_lib_options_into_brackes( options )
|
291
|
+
"-Wl,--start-group #{options} -Wl,--end-group "
|
283
292
|
end
|
284
293
|
|
285
294
|
# Return string containing port-specific linker option for DLL linking.
|
@@ -61,7 +61,7 @@ class GccUnixFamily < GccFamily
|
|
61
61
|
r << '-l' << port_specific_lib_name_checker( l.name ) << ' '
|
62
62
|
}
|
63
63
|
all_libs << switch_to_default_lib_mode_if_needed( current_lib_type )
|
64
|
-
|
64
|
+
enclose_linker_include_lib_options_into_brackes( all_libs )
|
65
65
|
end
|
66
66
|
|
67
67
|
# Return default library linking mode for current platform.
|
data/lib/mxx_ru/version.rb
CHANGED
@@ -1,3 +1,3 @@
|
|
1
|
-
#include <cstdio>
|
2
|
-
|
3
|
-
void A() { std::printf( "A2\n" ); }
|
1
|
+
#include <cstdio>
|
2
|
+
|
3
|
+
void A() { std::printf( "A2\n" ); }
|
data/tests/unix/lib_order/a.rb
CHANGED
data/tests/unix/lib_order/b.rb
CHANGED
data/tests/unix/lib_order/c.rb
CHANGED
data/tests/unix/lib_order/d.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: Mxx_ru
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.4.
|
4
|
+
version: 1.4.9
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- The Mxx_ru Project
|
@@ -9,7 +9,7 @@ autorequire:
|
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
11
|
|
12
|
-
date: 2009-
|
12
|
+
date: 2009-03-06 00:00:00 +03:00
|
13
13
|
default_executable:
|
14
14
|
dependencies: []
|
15
15
|
|
@@ -348,6 +348,7 @@ files:
|
|
348
348
|
- lib/mxx_ru/cpp/toolsets/c89_nsk.rb
|
349
349
|
- lib/mxx_ru/cpp/toolsets/c89_nsk_family.rb
|
350
350
|
- lib/mxx_ru/cpp/toolsets/gcc_cygwin.rb
|
351
|
+
- lib/mxx_ru/cpp/toolsets/gcc_darwin.rb
|
351
352
|
- lib/mxx_ru/cpp/toolsets/gcc_family.rb
|
352
353
|
- lib/mxx_ru/cpp/toolsets/gcc_linux.rb
|
353
354
|
- lib/mxx_ru/cpp/toolsets/gcc_mingw.rb
|