autobuild 1.5.3 → 1.5.4
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/Changes.txt +4 -0
- data/lib/autobuild.rb +1 -1
- data/lib/autobuild/packages/autotools.rb +42 -21
- data/lib/autobuild/packages/cmake.rb +7 -6
- data/lib/autobuild/packages/orogen.rb +7 -1
- metadata +3 -3
data/Changes.txt
CHANGED
data/lib/autobuild.rb
CHANGED
@@ -85,6 +85,23 @@ module Autobuild
|
|
85
85
|
nil
|
86
86
|
end
|
87
87
|
|
88
|
+
def prepare_for_forced_build
|
89
|
+
autodetect_needed_stages
|
90
|
+
if using[:autoconf]
|
91
|
+
FileUtils.rm_f File.join(srcdir, 'configure')
|
92
|
+
end
|
93
|
+
|
94
|
+
if using[:automake]
|
95
|
+
Find.find(srcdir) do |path|
|
96
|
+
if File.basename(path) == "Makefile.in"
|
97
|
+
FileUtils.rm_f path
|
98
|
+
end
|
99
|
+
end
|
100
|
+
end
|
101
|
+
|
102
|
+
FileUtils.rm_f configurestamp
|
103
|
+
end
|
104
|
+
|
88
105
|
def prepare
|
89
106
|
super
|
90
107
|
|
@@ -113,6 +130,26 @@ module Autobuild
|
|
113
130
|
end
|
114
131
|
|
115
132
|
private
|
133
|
+
def autodetect_needed_stages
|
134
|
+
# Autodetect autoconf/aclocal/automake
|
135
|
+
#
|
136
|
+
# Let the user disable the use of autoconf explicitely by using 'false'.
|
137
|
+
# 'nil' means autodetection
|
138
|
+
if using[:autoconf].nil?
|
139
|
+
if File.file?(File.join(srcdir, 'configure.in')) || File.file?(File.join(srcdir, 'configure.ac'))
|
140
|
+
using[:autoconf] = true
|
141
|
+
end
|
142
|
+
end
|
143
|
+
using[:aclocal] = using[:autoconf] if using[:aclocal].nil?
|
144
|
+
if using[:automake].nil?
|
145
|
+
using[:automake] = File.exists?(File.join(srcdir, 'Makefile.am'))
|
146
|
+
end
|
147
|
+
|
148
|
+
if using[:libtool].nil?
|
149
|
+
using[:libtool] = File.exists?(File.join(srcdir, 'ltmain.sh'))
|
150
|
+
end
|
151
|
+
end
|
152
|
+
|
116
153
|
# Adds a target to rebuild the autotools environment
|
117
154
|
def create_regen_target(confsource = nil)
|
118
155
|
conffile = "#{srcdir}/configure"
|
@@ -130,31 +167,15 @@ module Autobuild
|
|
130
167
|
using[:autogen] = %w{autogen autogen.sh}.find { |f| File.exists?(f) }
|
131
168
|
end
|
132
169
|
|
170
|
+
autodetect_needed_stages
|
171
|
+
|
133
172
|
progress "generating build system for %s"
|
173
|
+
if using[:libtool]
|
174
|
+
Subprocess.run(self, 'configure', Autobuild.tool('libtoolize'), '--copy')
|
175
|
+
end
|
134
176
|
if using[:autogen]
|
135
177
|
Subprocess.run(self, 'configure', File.expand_path(using[:autogen]))
|
136
178
|
else
|
137
|
-
# Autodetect autoconf/aclocal/automake
|
138
|
-
#
|
139
|
-
# Let the user disable the use of autoconf explicitely by using 'false'.
|
140
|
-
# 'nil' means autodetection
|
141
|
-
if using[:autoconf].nil?
|
142
|
-
if File.file?(File.join(srcdir, 'configure.in')) || File.file?(File.join(srcdir, 'configure.ac'))
|
143
|
-
using[:autoconf] = true
|
144
|
-
end
|
145
|
-
end
|
146
|
-
using[:aclocal] = using[:autoconf] if using[:aclocal].nil?
|
147
|
-
if using[:automake].nil?
|
148
|
-
using[:automake] = File.exists?(File.join(srcdir, 'Makefile.am'))
|
149
|
-
end
|
150
|
-
|
151
|
-
if using[:libtool].nil?
|
152
|
-
using[:libtool] = File.exists?(File.join(srcdir, 'ltmain.sh'))
|
153
|
-
end
|
154
|
-
if using[:libtool]
|
155
|
-
Subprocess.run(self, 'configure', Autobuild.tool('libtoolize'), '--copy')
|
156
|
-
end
|
157
|
-
|
158
179
|
[ :aclocal, :autoconf, :autoheader, :automake ].each do |tool|
|
159
180
|
if tool_flag = using[tool]
|
160
181
|
tool_program = if tool_flag.respond_to?(:to_str)
|
@@ -44,7 +44,8 @@ module Autobuild
|
|
44
44
|
end
|
45
45
|
end
|
46
46
|
|
47
|
-
def
|
47
|
+
def cmake_cache; File.join(builddir, "CMakeCache.txt") end
|
48
|
+
def configurestamp; cmake_cache end
|
48
49
|
|
49
50
|
def initialize(options)
|
50
51
|
@defines = Hash.new
|
@@ -105,13 +106,13 @@ module Autobuild
|
|
105
106
|
#
|
106
107
|
# Delete the CMakeCache to force reconfiguration
|
107
108
|
if !File.exists?( File.join(builddir, 'Makefile') )
|
108
|
-
FileUtils.rm_f
|
109
|
+
FileUtils.rm_f cmake_cache
|
109
110
|
end
|
110
111
|
|
111
|
-
if File.exists?(
|
112
|
+
if File.exists?(cmake_cache)
|
112
113
|
all_defines = defines.dup
|
113
114
|
all_defines['CMAKE_INSTALL_PREFIX'] = prefix
|
114
|
-
cache = File.read(
|
115
|
+
cache = File.read(cmake_cache)
|
115
116
|
did_change = all_defines.any? do |name, value|
|
116
117
|
cache_line = cache.each_line.find do |line|
|
117
118
|
line =~ /^#{name}:/
|
@@ -131,7 +132,7 @@ module Autobuild
|
|
131
132
|
if Autobuild.debug
|
132
133
|
puts "CMake configuration changed, forcing a reconfigure"
|
133
134
|
end
|
134
|
-
FileUtils.rm_f
|
135
|
+
FileUtils.rm_f cmake_cache
|
135
136
|
end
|
136
137
|
end
|
137
138
|
|
@@ -150,7 +151,7 @@ module Autobuild
|
|
150
151
|
|
151
152
|
progress "generating and configuring build system for %s"
|
152
153
|
if full_reconfigures?
|
153
|
-
FileUtils.rm_f
|
154
|
+
FileUtils.rm_f cmake_cache
|
154
155
|
end
|
155
156
|
Subprocess.run(self, 'configure', *command)
|
156
157
|
end
|
@@ -136,6 +136,7 @@ module Autobuild
|
|
136
136
|
class Orogen < CMake
|
137
137
|
class << self
|
138
138
|
attr_accessor :corba
|
139
|
+
attr_accessor :extended_states
|
139
140
|
end
|
140
141
|
|
141
142
|
@orocos_target = nil
|
@@ -187,9 +188,13 @@ module Autobuild
|
|
187
188
|
@corba || (@corba.nil? && Orogen.corba)
|
188
189
|
end
|
189
190
|
|
191
|
+
attr_writer :extended_states
|
192
|
+
def extended_states
|
193
|
+
@extended_states || (@extended_states.nil? && Orogen.extended_states)
|
194
|
+
end
|
195
|
+
|
190
196
|
attr_accessor :orogen_file
|
191
197
|
def initialize(*args, &config)
|
192
|
-
@corba = Orogen.corba
|
193
198
|
super
|
194
199
|
|
195
200
|
@orocos_target = nil
|
@@ -266,6 +271,7 @@ module Autobuild
|
|
266
271
|
def regen
|
267
272
|
cmdline = [guess_ruby_name, self.class.orogen_bin]
|
268
273
|
cmdline << '--corba' if corba
|
274
|
+
cmdline << '--extended-states' if extended_states
|
269
275
|
cmdline << orogen_file
|
270
276
|
|
271
277
|
progress "generating oroGen project %s"
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: autobuild
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.5.
|
4
|
+
version: 1.5.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Sylvain Joyeux
|
@@ -9,7 +9,7 @@ autorequire:
|
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
11
|
|
12
|
-
date: 2010-
|
12
|
+
date: 2010-03-01 00:00:00 +01:00
|
13
13
|
default_executable:
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
@@ -70,7 +70,7 @@ dependencies:
|
|
70
70
|
requirements:
|
71
71
|
- - ">="
|
72
72
|
- !ruby/object:Gem::Version
|
73
|
-
version: 0.
|
73
|
+
version: 0.2.1
|
74
74
|
version:
|
75
75
|
- !ruby/object:Gem::Dependency
|
76
76
|
name: hoe
|