ffi-compiler 0.1.2 → 0.1.3

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 1cdb05a319935e697b444c6c5a10174a09d394d2
4
- data.tar.gz: c8f173b996c9db0735db8193508029d079b6d649
3
+ metadata.gz: 87b97ccecbaf39ef45a53f9337e6ecade626e876
4
+ data.tar.gz: a24d4e75bc369faf590da123fe91b281f85cda09
5
5
  SHA512:
6
- metadata.gz: 963dd03a9a2e64f770fe7716233e361e8ce492284314a5757adce2de48bee0aed10107de7e29a13121188119bde6e88dd7d2c52d2ae6b9ed55c5657da4ab85af
7
- data.tar.gz: 5e0940d5b492b909a19a927791df4b53b890384d3741cef6ea61253f2a5d17c4cee30931e1056e51dab305cde4c53d1a561710a704aa82a1b49f8627f6d33fe8
6
+ metadata.gz: f8359cadf2f988f7099fd167a657af27ce8b1ebfb57bf459a84ef48ce6dda08c66b38ccd138e8e04fff954daeedd7bf8fe8cbe96958f41c114e8615ce7e11331
7
+ data.tar.gz: de1f3dbd908f0144c19ba89d290e6a6d39e35c35686eba25784c045536b0b5ecc71ecd865411c5b4564b74f0c956bb4660d663b3672092a9e9fb786bc8929a54
data/Rakefile CHANGED
@@ -1,12 +1,6 @@
1
1
  require 'rubygems'
2
- require 'rubygems/package_task'
2
+ require 'rubygems/tasks'
3
3
 
4
- def gem_spec
5
- @gem_spec ||= Gem::Specification.load('ffi-compiler.gemspec')
6
- end
7
-
8
- Gem::PackageTask.new(gem_spec) do |pkg|
9
- pkg.need_zip = true
10
- pkg.need_tar = true
11
- pkg.package_dir = 'pkg'
4
+ Gem::Tasks.new do |t|
5
+ t.scm.tag.format = '%s'
12
6
  end
@@ -1,6 +1,6 @@
1
1
  Gem::Specification.new do |s|
2
2
  s.name = 'ffi-compiler'
3
- s.version = '0.1.2'
3
+ s.version = '0.1.3'
4
4
  s.author = 'Wayne Meissner'
5
5
  s.email = 'wmeissner@gmail.com'
6
6
  s.homepage = 'http://wiki.github.com/ffi/ffi'
@@ -13,4 +13,5 @@ Gem::Specification.new do |s|
13
13
  s.add_dependency 'rake'
14
14
  s.add_dependency 'ffi', '>= 1.0.0'
15
15
  s.add_development_dependency 'rspec'
16
+ s.add_development_dependency 'rubygems-tasks'
16
17
  end
@@ -123,6 +123,9 @@ module FFI
123
123
  CLEAN.include(obj_file)
124
124
  end
125
125
 
126
+ # create all the directories for the output files
127
+ obj_files.map { |f| File.dirname(f) }.sort.uniq.map { |d| directory d }
128
+
126
129
  desc "Build dynamic library"
127
130
  file lib_name => obj_files do |t|
128
131
  sh "#{ld} #{so_flags} -o #{t.name} #{t.prerequisites.join(' ')} #{ld_flags} #{libs}"
@@ -0,0 +1,14 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <module type="RUBY_MODULE" version="4">
3
+ <component name="NewModuleRootManager" inherit-compiler-output="true">
4
+ <exclude-output />
5
+ <content url="file://$MODULE_DIR$">
6
+ <sourceFolder url="file://$MODULE_DIR$" isTestSource="false" />
7
+ </content>
8
+ <orderEntry type="jdk" jdkName="RVM: ruby-1.9.3-p392" jdkType="RUBY_SDK" />
9
+ <orderEntry type="sourceFolder" forTests="false" />
10
+ <orderEntry type="library" scope="PROVIDED" name="ffi (v1.4.0, RVM: ruby-1.9.3-p392) [gem]" level="application" />
11
+ <orderEntry type="library" scope="PROVIDED" name="rake (v10.0.3, RVM: ruby-1.9.3-p392) [gem]" level="application" />
12
+ </component>
13
+ </module>
14
+
@@ -8,7 +8,7 @@ module FFI
8
8
  def self.find(name, start_path = nil)
9
9
  library = Platform.system.map_library_name(name)
10
10
  root = false
11
- Pathname.new(start_path || File.dirname(caller[0].split(/:/)[0])).ascend do |path|
11
+ Pathname.new(start_path || caller_path(caller[0])).ascend do |path|
12
12
  Dir.glob("#{path}/**/{#{FFI::Platform::ARCH}-#{FFI::Platform::OS}/#{library},#{library}}") do |f|
13
13
  return f
14
14
  end
@@ -20,6 +20,17 @@ module FFI
20
20
  end
21
21
  raise LoadError.new("cannot find '#{name}' library")
22
22
  end
23
+
24
+ def self.caller_path(line = caller[0])
25
+ if FFI::Platform::OS == 'windows'
26
+ drive = line[0..1]
27
+ path = line[2..-1].split(/:/)[0]
28
+ full_path = drive + path
29
+ else
30
+ full_path = line.split(/:/)[0]
31
+ end
32
+ File.dirname full_path
33
+ end
23
34
  end
24
35
  end
25
36
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ffi-compiler
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.2
4
+ version: 0.1.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Wayne Meissner
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2013-03-11 00:00:00.000000000 Z
11
+ date: 2013-04-19 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rake
@@ -52,6 +52,20 @@ dependencies:
52
52
  - - '>='
53
53
  - !ruby/object:Gem::Version
54
54
  version: '0'
55
+ - !ruby/object:Gem::Dependency
56
+ name: rubygems-tasks
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - '>='
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
62
+ type: :development
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - '>='
67
+ - !ruby/object:Gem::Version
68
+ version: '0'
55
69
  description: Ruby FFI library
56
70
  email: wmeissner@gmail.com
57
71
  executables: []
@@ -67,6 +81,7 @@ files:
67
81
  - lib/ffi-compiler/exporter.rb
68
82
  - lib/ffi-compiler/fake_ffi/ffi-compiler/loader.rb
69
83
  - lib/ffi-compiler/fake_ffi/ffi.rb
84
+ - lib/ffi-compiler/ffi-compiler.iml
70
85
  - lib/ffi-compiler/loader.rb
71
86
  - lib/ffi-compiler/platform.rb
72
87
  - lib/ffi-compiler/task.rb