autobuild 1.4.0 → 1.4.1
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 +1 -1
- data/lib/autobuild.rb +1 -1
- data/lib/autobuild/environment.rb +1 -1
- data/lib/autobuild/package.rb +2 -2
- data/lib/autobuild/packages/orogen.rb +43 -19
- metadata +1 -1
    
        data/Rakefile
    CHANGED
    
    
    
        data/lib/autobuild.rb
    CHANGED
    
    
    
        data/lib/autobuild/package.rb
    CHANGED
    
    | @@ -255,7 +255,7 @@ module Autobuild | |
| 255 255 | 
             
                    # and installed.
         | 
| 256 256 | 
             
            	def depends_on(*packages)
         | 
| 257 257 | 
             
            	    packages.each do |p|
         | 
| 258 | 
            -
            		p = p. | 
| 258 | 
            +
            		p = p.to_str
         | 
| 259 259 | 
             
            		next if p == name
         | 
| 260 260 | 
             
            		unless Package[p]
         | 
| 261 261 | 
             
            		    raise ConfigException.new(name), "package #{p} not defined"
         | 
| @@ -271,7 +271,7 @@ module Autobuild | |
| 271 271 | 
             
                    # listed in +packages+ are aliases for this package.
         | 
| 272 272 | 
             
            	def provides(*packages)
         | 
| 273 273 | 
             
            	    packages.each do |p|
         | 
| 274 | 
            -
            		p = p. | 
| 274 | 
            +
            		p = p.to_str
         | 
| 275 275 | 
             
            		next if p == name
         | 
| 276 276 | 
             
            		@@provides[p] = self 
         | 
| 277 277 | 
             
            		task p => name
         | 
| @@ -49,23 +49,16 @@ module Autobuild | |
| 49 49 | 
             
                        end
         | 
| 50 50 | 
             
                    end
         | 
| 51 51 |  | 
| 52 | 
            -
                    def self.orocos_target
         | 
| 53 | 
            -
                        user_target = ENV['OROCOS_TARGET']
         | 
| 54 | 
            -
                        if @orocos_target
         | 
| 55 | 
            -
                            @orocos_target.dup
         | 
| 56 | 
            -
                        elsif user_target && !user_target.empty?
         | 
| 57 | 
            -
                            user_target
         | 
| 58 | 
            -
                        else
         | 
| 59 | 
            -
                            'gnulinux'
         | 
| 60 | 
            -
                        end
         | 
| 61 | 
            -
                    end
         | 
| 62 | 
            -
             | 
| 63 52 | 
             
                    attr_reader :project_name, :dependencies, :provides
         | 
| 64 | 
            -
                    def self.load(file)
         | 
| 65 | 
            -
                        FakeOrogenEnvironment.new.load(file)
         | 
| 53 | 
            +
                    def self.load(pkg, file)
         | 
| 54 | 
            +
                        FakeOrogenEnvironment.new(pkg).load(file)
         | 
| 66 55 | 
             
                    end
         | 
| 67 56 |  | 
| 68 | 
            -
                     | 
| 57 | 
            +
                    # The Autobuild::Orogen instance we are working for
         | 
| 58 | 
            +
                    attr_reader :pkg
         | 
| 59 | 
            +
             | 
| 60 | 
            +
                    def initialize(pkg)
         | 
| 61 | 
            +
                        @pkg = pkg
         | 
| 69 62 | 
             
                        @dependencies = Array.new
         | 
| 70 63 | 
             
                        @provides = Array.new
         | 
| 71 64 | 
             
                    end
         | 
| @@ -84,12 +77,12 @@ module Autobuild | |
| 84 77 | 
             
                        nil
         | 
| 85 78 | 
             
                    end
         | 
| 86 79 | 
             
                    def using_toolkit(*names)
         | 
| 87 | 
            -
                        names = names.map { |n| "#{n}-toolkit-#{ | 
| 80 | 
            +
                        names = names.map { |n| "#{n}-toolkit-#{pkg.orocos_target}" }
         | 
| 88 81 | 
             
                        @dependencies.concat(names)
         | 
| 89 82 | 
             
                        nil
         | 
| 90 83 | 
             
                    end
         | 
| 91 84 | 
             
                    def using_task_library(*names)
         | 
| 92 | 
            -
                        names = names.map { |n| "#{n}-tasks-#{ | 
| 85 | 
            +
                        names = names.map { |n| "#{n}-tasks-#{pkg.orocos_target}" }
         | 
| 93 86 | 
             
                        @dependencies.concat(names)
         | 
| 94 87 | 
             
                        nil
         | 
| 95 88 | 
             
                    end
         | 
| @@ -136,6 +129,27 @@ module Autobuild | |
| 136 129 | 
             
                        attr_accessor :corba
         | 
| 137 130 | 
             
                    end
         | 
| 138 131 |  | 
| 132 | 
            +
                    @orocos_target = nil
         | 
| 133 | 
            +
                    def self.orocos_target
         | 
| 134 | 
            +
                        user_target = ENV['OROCOS_TARGET']
         | 
| 135 | 
            +
                        if @orocos_target
         | 
| 136 | 
            +
                            @orocos_target.dup
         | 
| 137 | 
            +
                        elsif user_target && !user_target.empty?
         | 
| 138 | 
            +
                            user_target
         | 
| 139 | 
            +
                        else
         | 
| 140 | 
            +
                            'gnulinux'
         | 
| 141 | 
            +
                        end
         | 
| 142 | 
            +
                    end
         | 
| 143 | 
            +
             | 
| 144 | 
            +
                    attr_writer :orocos_target
         | 
| 145 | 
            +
                    def orocos_target
         | 
| 146 | 
            +
                        if @orocos_target.nil?
         | 
| 147 | 
            +
                            Orogen.orocos_target
         | 
| 148 | 
            +
                        else
         | 
| 149 | 
            +
                            @orocos_target
         | 
| 150 | 
            +
                        end
         | 
| 151 | 
            +
                    end
         | 
| 152 | 
            +
             | 
| 139 153 | 
             
                    attr_reader :orogen_spec
         | 
| 140 154 |  | 
| 141 155 | 
             
                    attr_writer :corba
         | 
| @@ -148,6 +162,7 @@ module Autobuild | |
| 148 162 | 
             
                        @corba       = Orogen.corba
         | 
| 149 163 | 
             
                        super
         | 
| 150 164 |  | 
| 165 | 
            +
                        @orocos_target = nil
         | 
| 151 166 | 
             
                        @orogen_file ||= "#{File.basename(name)}.orogen"
         | 
| 152 167 | 
             
                    end
         | 
| 153 168 |  | 
| @@ -162,9 +177,9 @@ module Autobuild | |
| 162 177 | 
             
                    def import
         | 
| 163 178 | 
             
                        super
         | 
| 164 179 |  | 
| 165 | 
            -
                        @orogen_spec = FakeOrogenEnvironment.load(File.join(srcdir, orogen_file))
         | 
| 166 | 
            -
                        provides "pkgconfig/#{orogen_spec.project_name}-toolkit-#{ | 
| 167 | 
            -
                        provides "pkgconfig/#{orogen_spec.project_name}-tasks-#{ | 
| 180 | 
            +
                        @orogen_spec = FakeOrogenEnvironment.load(self, File.join(srcdir, orogen_file))
         | 
| 181 | 
            +
                        provides "pkgconfig/#{orogen_spec.project_name}-toolkit-#{orocos_target}"
         | 
| 182 | 
            +
                        provides "pkgconfig/#{orogen_spec.project_name}-tasks-#{orocos_target}"
         | 
| 168 183 | 
             
                        orogen_spec.provides.each do |name|
         | 
| 169 184 | 
             
                            provides name
         | 
| 170 185 | 
             
                        end
         | 
| @@ -173,6 +188,15 @@ module Autobuild | |
| 173 188 | 
             
                    def prepare
         | 
| 174 189 | 
             
                        super
         | 
| 175 190 |  | 
| 191 | 
            +
                        # Check if someone provides the pkgconfig/orocos-rtt-TARGET package,
         | 
| 192 | 
            +
                        # and if so add it into our dependency list
         | 
| 193 | 
            +
                        if rtt = Autobuild::Package["pkgconfig/orocos-rtt-#{orocos_target}"]
         | 
| 194 | 
            +
                            if Autobuild.verbose
         | 
| 195 | 
            +
                                STDERR.puts "orogen: found #{rtt.name} which provides the RTT"
         | 
| 196 | 
            +
                            end
         | 
| 197 | 
            +
                            depends_on rtt.name
         | 
| 198 | 
            +
                        end
         | 
| 199 | 
            +
             | 
| 176 200 | 
             
                        # If required, load the component's specification and add
         | 
| 177 201 | 
             
                        # dependencies based on the orogen specification.
         | 
| 178 202 | 
             
                        orogen_spec.dependencies.each do |pkg_name|
         |