xot 0.1.12 → 0.1.19

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.
@@ -1,76 +0,0 @@
1
- # -*- mode: ruby; coding: utf-8 -*-
2
-
3
-
4
- require 'rbconfig'
5
-
6
-
7
- task :ext => 'ext:build'
8
-
9
- %w[clean].each do |t|
10
- task t.intern => "ext:#{t}"
11
- end
12
-
13
-
14
- namespace :ext do
15
-
16
-
17
- rbconf = RbConfig::CONFIG
18
-
19
- mod = MODULE
20
- mods = env :MODULES, [], :array
21
- modname = env :MODNAME, mod.name.downcase
22
- dlname = env :DLNAME, 'native'
23
- dlext = env :DLEXT, rbconf['DLEXT'] || 'so'
24
- extdir = env :EXTDIR, "ext/#{modname}"
25
- libdir = env :LIBDIR, "lib/#{modname}"
26
- ruby = env :RUBY, 'ruby'
27
- make = env :MAKE, 'make'
28
- cxx = env :CXX, rbconf['CXX'] || 'g++'
29
- cppflags = env :CPPFLAGS, rbconf['CPPFLAGS']
30
- cxxflags = env :CXXFLAGS, rbconf['CXXFLAGS']
31
- defs = env :DEFS, [], :array
32
- incdirs = env(:INCDIRS, [], :array) + mods.reverse.map {|m| m.include_dir}
33
-
34
- cppflags = cppflags cppflags, defs, incdirs
35
- cxxflags = cflags cxxflags
36
-
37
- outname = "#{dlname}.#{dlext}"
38
- extout = File.join extdir, outname
39
- libout = File.join libdir, outname
40
-
41
- srcs = FileList["#{extdir}/**/*.cpp"]
42
- libs = FileList["#{libdir}/../lib*.a"]
43
-
44
- extconf = File.join extdir, 'extconf.rb'
45
- makefile = File.join extdir, 'Makefile'
46
- depend = File.join extdir, 'depend.mf'
47
-
48
-
49
- task :build => libout
50
-
51
- task :clean do
52
- sh %( cd #{extdir} && #{make} clean ) if File.exist? makefile
53
- sh %( rm -rf #{makefile} #{depend} #{libout} )
54
- end
55
-
56
- file libout => extout do
57
- sh %( cp #{extout} #{libout} )
58
- end
59
-
60
- file extout => [:lib, makefile] do
61
- sh %( cd #{extdir} && #{make} )
62
- end
63
-
64
- file makefile => [extconf, depend] + libs do
65
- sh %( cd #{extdir} && #{ruby} #{File.basename extconf} )
66
- end
67
-
68
- file depend => srcs do
69
- inc = incdirs.map {|s| " -I#{s}"}.join
70
- src = srcs.map {|cpp| File.basename cpp}.join ' '
71
- dep = File.basename depend
72
- sh %( cd #{extdir} && #{cxx} -M #{cppflags} #{inc} #{src} > #{dep} )
73
- end
74
-
75
-
76
- end# :ext
@@ -1,51 +0,0 @@
1
- # -*- mode: ruby; coding: utf-8 -*-
2
-
3
-
4
- task :gem => 'gem:build'
5
-
6
- %w[clean install uninstall upload].each do |t|
7
- task t.intern => "gem:#{t}"
8
- end
9
-
10
- empty_task :lib, :ext, :rdoc
11
-
12
-
13
- namespace :gem do
14
-
15
-
16
- mod = MODULE
17
- name = env :NAME, MODULE.name.downcase
18
- gem = env :GEM, 'gem'
19
-
20
- gemspec = "#{name}.gemspec"
21
- gemname = env :GEMNAME, name
22
- gemver = env :GEMVERSION, mod.version
23
- gemfile = "#{gemname}-#{gemver}.gem"
24
-
25
-
26
- task :build => gemfile
27
-
28
- task :clean do
29
- sh %( rm -f #{gemfile} )
30
- end
31
-
32
- task :install => gemfile do
33
- sh %( #{gem} install #{gemfile} )
34
- end
35
-
36
- task :uninstall do
37
- sh %( #{gem} uninstall -x --version #{gemver} #{gemname} )
38
- end
39
-
40
- task :test => [:install, :uninstall]
41
-
42
- task :upload => :install do
43
- sh %( #{gem} push #{gemfile} )
44
- end
45
-
46
- file gemfile => [:ext, :rdoc] do
47
- sh %( #{gem} build #{gemspec} )
48
- end
49
-
50
-
51
- end# :gem
@@ -1,92 +0,0 @@
1
- # -*- mode: ruby; coding: utf-8 -*-
2
-
3
-
4
- require 'rbconfig'
5
- require 'rake/loaders/makefile'
6
-
7
-
8
- task :lib => 'lib:build'
9
-
10
- %w[erb clean].each do |t|
11
- task t.intern => "lib:#{t}"
12
- end
13
-
14
-
15
- namespace :lib do
16
-
17
-
18
- rbconf = RbConfig::CONFIG
19
-
20
- mod = MODULE
21
- mods = env :MODULES, [], :array
22
- modname = env :MODNAME, MODULE.name.downcase
23
- incdir = env :INCDIR, 'include'
24
- srcdir = env :SRCDIR, 'src'
25
- libdir = env :LIBDIR, 'lib'
26
- cxx = env :CXX, rbconf['CXX'] || 'g++'
27
- ar = env :AR, rbconf['AR'] || 'ar'
28
- cppflags = env :CPPFLAGS, rbconf['CPPFLAGS']
29
- cxxflags = env :CXXFLAGS, rbconf['CXXFLAGS']
30
- arflags = env :ARFLAGS, 'crs'
31
- defs = env :DEFS, [], :array
32
- incdirs = env(:INCDIRS, [], :array) + mods.reverse.map {|m| m.include_dir}
33
-
34
- cppflags = cppflags cppflags, defs, incdirs
35
- cxxflags = cflags cxxflags
36
-
37
- outname = "lib#{modname}.a"
38
- out = File.join libdir, outname
39
-
40
- erbs = glob *[incdir, srcdir].map {|s| "#{s}/**/*.erb"}
41
- erbs = convertions erbs, {".erb" => ""}
42
- srcs = glob("#{srcdir}/**/*.cpp") | erbs.values.grep(/\.cpp$/)
43
- srcs += glob("#{srcdir}/**/*.mm") if osx? || ios?
44
- srcs = srcs.reject {|s| s =~ %r(/win32/)} unless win32?
45
- srcs = srcs.reject {|s| s =~ %r(/osx/)} unless osx?
46
- srcs = srcs.reject {|s| s =~ %r(/ios/)} unless ios?
47
-
48
- depend = 'depend.mf'
49
- objs = convertions srcs, {".cpp" => ".o", ".mm" => ".o"}
50
- tmps = (objs.values | erbs.values) + [depend]
51
-
52
-
53
- task :build => out
54
-
55
- task :clean do
56
- sh %( rm -rf #{tmps.join " "} #{out} )
57
- end
58
-
59
- task :compile => objs.values
60
-
61
- task :erb => erbs.values
62
-
63
- file out => objs.values do
64
- sh %( #{ar} #{arflags} #{out} #{objs.values.join " "} ) unless objs.values.empty?
65
- end
66
-
67
- file depend => erbs.values do
68
- sh %( #{cxx} -M #{cppflags} #{srcs.join ' '} > #{depend} )
69
- input = open(depend) {|f| f.read}
70
- open(depend, 'w') do |output|
71
- output << input.gsub(/\w+\.o/, srcdir + '/\0')
72
- end
73
- end
74
-
75
- import depend if File.exist? depend
76
-
77
- objs.each do |src, obj|
78
- file obj => [depend, src] + erbs.values do
79
- sh %( #{cxx} -c #{cppflags} #{cxxflags} -o #{obj} #{src} )
80
- end
81
- end
82
-
83
- erbs.each do |erb, out|
84
- file out => erb do
85
- print "#{erb}: compiling to #{out} ..."
86
- compile erb, out
87
- puts "ok"
88
- end
89
- end
90
-
91
-
92
- end# :lib
@@ -1,45 +0,0 @@
1
- # -*- mode: ruby; coding: utf-8 -*-
2
-
3
-
4
- task :app => 'app:build'
5
-
6
- %w[clean run].each do |t|
7
- task t.intern => "app:#{t}"
8
- end
9
-
10
-
11
- namespace :app do
12
-
13
-
14
- mod = MODULE
15
- name = env :NAME, MODULE.name.downcase
16
- bindir = env :BINDIR, 'bin'
17
- ruby = env :RUBY, 'ruby'
18
-
19
- bin = "#{bindir}/#{name}"
20
- appname = name.capitalize
21
- appdir = "#{appname}.app"
22
- appbindir = "#{appdir}/Contents/MacOS"
23
- out = "#{appbindir}/#{name}"
24
-
25
- tmps = [appdir]
26
-
27
-
28
- task :build => out
29
-
30
- task :clean do
31
- sh %( rm -rf #{tmps.join ' '} )
32
- end
33
-
34
- task :run => :app do
35
- sh %( #{ruby} #{bin} )
36
- end
37
-
38
- file out => [bin, appbindir] do
39
- sh %( cp #{bin} #{appbindir} )
40
- end
41
-
42
- directory appbindir
43
-
44
-
45
- end# :app
@@ -1,35 +0,0 @@
1
- # -*- mode: ruby; coding: utf-8 -*-
2
-
3
-
4
- require 'rake/testtask'
5
-
6
-
7
- task :test => 'test:all'
8
-
9
- empty_task :ext
10
-
11
-
12
- namespace :test do
13
-
14
-
15
- alones = env :TESTS_ALONE, []
16
- excludes = env :TESTS_EXCLUDE, []
17
- ruby = env :RUBY, 'ruby'
18
-
19
-
20
- task :all => [:ext, :full, :alones]
21
-
22
- Rake::TestTask.new :full do |t|
23
- t.libs << 'lib'
24
- t.test_files = FileList['test/test_*.rb'] - alones - excludes
25
- t.verbose = true
26
- end
27
-
28
- task :alones do
29
- alones.each do |rb|
30
- next if excludes.include? rb
31
- sh %( #{ruby} #{rb} )
32
- end
33
- end
34
-
35
- end# :test