ffi-compiler 0.1.2 → 0.1.3

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 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