rakeoe 0.0.6 → 0.0.7
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.
- checksums.yaml +4 -4
- data/README.md +1 -1
- data/lib/rakeoe/lib.rb +4 -2
- data/lib/rakeoe/toolchain.rb +5 -3
- data/lib/rakeoe/version.rb +1 -1
- metadata +2 -2
    
        checksums.yaml
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            ---
         | 
| 2 2 | 
             
            SHA1:
         | 
| 3 | 
            -
              metadata.gz:  | 
| 4 | 
            -
              data.tar.gz:  | 
| 3 | 
            +
              metadata.gz: ff8600a75f67ce19ddd87476e7cbbd4f15df6fe9
         | 
| 4 | 
            +
              data.tar.gz: 8199dc6180e67b9e054a5d3aece5881944b1f55f
         | 
| 5 5 | 
             
            SHA512:
         | 
| 6 | 
            -
              metadata.gz:  | 
| 7 | 
            -
              data.tar.gz:  | 
| 6 | 
            +
              metadata.gz: a457a0c7f3d4077267f45440e3cae9c5bb7a38da56df25ba1832160f613efd07b3da1b15ab38467613fa5c72ce18e50accd107db57a69989295508ef0eea3366
         | 
| 7 | 
            +
              data.tar.gz: 484f0b0c74a3060b2afe89659395971f2336a66669943f02ae370a996678dc5ee81100f6c04582ccee1c83e570908539540f7e1620774bd4c6e79b7e7ef9df62
         | 
    
        data/README.md
    CHANGED
    
    | @@ -11,7 +11,7 @@ Though it's possible to override defaults, tweak library specific platform flags | |
| 11 11 | 
             
            <br/>
         | 
| 12 12 | 
             
            RakeOE uses OpenEmbedded / Yocto environment files to automatically pick up all appropriate paths and flags for the given build platform. In this way it supports cross compilation in whatever target platform the cross compiler builds. But it's also possible and encouraged to use it for native host development.<br/>
         | 
| 13 13 | 
             
            <br/>
         | 
| 14 | 
            -
            The toolchain has to be [gcc](http://gcc.gnu.org/) compatible at the moment, i.e. has to implement the **-dumpmachine**, **-MM**, **-MF** and **- | 
| 14 | 
            +
            The toolchain has to be [gcc](http://gcc.gnu.org/) and GNU ld compatible at the moment, i.e. has to implement the **-dumpmachine**, **-MM**, **-MF**, **-MT** and **-Wl,--start-group** options among others.
         | 
| 15 15 |  | 
| 16 16 | 
             
            ## Acknowledgements
         | 
| 17 17 |  | 
    
        data/lib/rakeoe/lib.rb
    CHANGED
    
    | @@ -35,9 +35,11 @@ module RakeOE | |
| 35 35 | 
             
                  task name => [binary]
         | 
| 36 36 |  | 
| 37 37 | 
             
                  file binary => paths_of_local_libs + deps + objs do
         | 
| 38 | 
            +
                    prj_libs = search_libs(settings)
         | 
| 38 39 | 
             
                    tc.lib(:objects => objs,
         | 
| 39 | 
            -
             | 
| 40 | 
            -
             | 
| 40 | 
            +
                           :lib => binary,
         | 
| 41 | 
            +
                           :libs => prj_libs[:all],
         | 
| 42 | 
            +
                           :settings => @settings)
         | 
| 41 43 | 
             
                  end
         | 
| 42 44 |  | 
| 43 45 | 
             
                  if test_objs.any? && (tc.config.test_fw.size > 0)
         | 
    
        data/lib/rakeoe/toolchain.rb
    CHANGED
    
    | @@ -218,7 +218,7 @@ class Toolchain | |
| 218 218 | 
             
                  @settings['CFLAGS'] += ' -fPIC'
         | 
| 219 219 | 
             
                end
         | 
| 220 220 | 
             
                # !! don't change order of the following string components without care !!
         | 
| 221 | 
            -
                @settings['LDFLAGS'] = @settings['LDFLAGS'] + " -L #{@settings['LIB_OUT']} #{@settings['SYS_LFLAGS']} -Wl,--start-group"
         | 
| 221 | 
            +
                @settings['LDFLAGS'] = @settings['LDFLAGS'] + " -L #{@settings['LIB_OUT']} #{@settings['SYS_LFLAGS']} -Wl,--no-as-needed -Wl,--start-group"
         | 
| 222 222 | 
             
              end
         | 
| 223 223 |  | 
| 224 224 | 
             
              # Executes the command
         | 
| @@ -294,6 +294,7 @@ class Toolchain | |
| 294 294 | 
             
              # @return [String]      Linker line
         | 
| 295 295 | 
             
              #
         | 
| 296 296 | 
             
              def linker_line_for(libs)
         | 
| 297 | 
            +
                return '' if (libs.nil? || libs.empty?)
         | 
| 297 298 | 
             
                libs.map do |lib|
         | 
| 298 299 | 
             
                  settings = platform_settings_for(lib)
         | 
| 299 300 | 
             
                  if settings[:LDFLAGS].nil?
         | 
| @@ -415,8 +416,9 @@ class Toolchain | |
| 415 416 | 
             
              # @option params [Hash]   :settings project specific settings
         | 
| 416 417 | 
             
              #
         | 
| 417 418 | 
             
              def lib(params = {})
         | 
| 418 | 
            -
                ldflags   = params[:settings]['ADD_LDFLAGS']
         | 
| 419 | 
            +
                ldflags   = params[:settings]['ADD_LDFLAGS'] + ' ' + @settings['LDFLAGS']
         | 
| 419 420 | 
             
                objs      = params[:objects].join(' ')
         | 
| 421 | 
            +
                libs      = linker_line_for(params[:libs])
         | 
| 420 422 | 
             
                extension = File.extname(params[:lib])
         | 
| 421 423 |  | 
| 422 424 | 
             
                case extension
         | 
| @@ -425,7 +427,7 @@ class Toolchain | |
| 425 427 | 
             
                    # if archive hasn't changed
         | 
| 426 428 | 
             
                    sh "#{@settings['AR']} curv #{params[:lib]} #{objs} && #{@settings['TOUCH']} #{params[:lib]}"
         | 
| 427 429 | 
             
                  when '.so'
         | 
| 428 | 
            -
                    sh "#{@settings['CXX']} -shared  #{ldflags} #{objs} -o #{params[:lib]}"
         | 
| 430 | 
            +
                    sh "#{@settings['CXX']} -shared  #{ldflags} #{libs} #{objs} -o #{params[:lib]}"
         | 
| 429 431 | 
             
                  else
         | 
| 430 432 | 
             
                    raise "unsupported library extension (#{extension})!"
         | 
| 431 433 | 
             
                end
         | 
    
        data/lib/rakeoe/version.rb
    CHANGED
    
    
    
        metadata
    CHANGED
    
    | @@ -1,14 +1,14 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification
         | 
| 2 2 | 
             
            name: rakeoe
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version
         | 
| 4 | 
            -
              version: 0.0. | 
| 4 | 
            +
              version: 0.0.7
         | 
| 5 5 | 
             
            platform: ruby
         | 
| 6 6 | 
             
            authors:
         | 
| 7 7 | 
             
            - Daniel Schnell
         | 
| 8 8 | 
             
            autorequire: 
         | 
| 9 9 | 
             
            bindir: bin
         | 
| 10 10 | 
             
            cert_chain: []
         | 
| 11 | 
            -
            date: 2014-05- | 
| 11 | 
            +
            date: 2014-05-13 00:00:00.000000000 Z
         | 
| 12 12 | 
             
            dependencies:
         | 
| 13 13 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 14 14 | 
             
              name: bundler
         |