extconf-task 0.0.1 → 0.0.2

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: 584483e82be4c29dd0421aac96560867d34a9967
4
- data.tar.gz: f9342753b1c3736a5335f2051a9c9f907cc99ca2
3
+ metadata.gz: 53e64a0c6474afb09e0b27996e4a9eaa4ed97d65
4
+ data.tar.gz: 8e40f989d8293af8670f6409dfe0af54858b4ef4
5
5
  SHA512:
6
- metadata.gz: 96a2c4fa6e53cbfc5cce1bbed0cf0a76d92e026dbbb226785c9fd1796723b84ea6397c0f5fc43fff858f6c8eb3606f1386ad50062566eb81d63d81e80f32c280
7
- data.tar.gz: 0481c84bc4bbc69ccf4410435ae1d28756ef18567673d075ff8bd83e6a764829d76fb44735f84d58ef2dfc42727d4cce5331be81ecb312dd118084c1daf8fb9a
6
+ metadata.gz: 743eade3664b44dbb43b3e738b131653254d685756d21d1c955046ed9f490b5e5e0c0a36fd19d14c98eef724fb32ab4801282f04e9e4a525577171fab0241c71
7
+ data.tar.gz: 2a60912145974a56177286e0b9f68d3fe45c88822d6b993bb245af68c0fd0b0ba8b1506e4967ccdf184859b5fdc53e3e19dd085e747cf2664d0ec0bf404d4d6d
data/README.md CHANGED
@@ -1,4 +1,4 @@
1
- # Extconf::Task
1
+ # ExtconfTask
2
2
 
3
3
  Tiny rake tasks to manage extconf.rb.
4
4
 
@@ -27,6 +27,17 @@ Then, we can use some tasks, which are displayed by the following command;
27
27
 
28
28
  rake -T
29
29
 
30
+ ## Utility methods
31
+
32
+ extconf-task includes utility methods to be used in extconf.rb.
33
+
34
+ The method "find\_header\_in\_gem" provides search direcories of a gem package for a header file.
35
+ The following code is the example of extconf.rb to find "ruby_mpfr.h" from directories of gem "ruby-mpfr".
36
+
37
+ require "extconf_task/mkmf_utils"
38
+
39
+ find_header_in_gem("ruby_mpfr.h", "ruby-mpfr")
40
+
30
41
  ## Contributing
31
42
 
32
43
  1. Fork it
@@ -0,0 +1,25 @@
1
+ require "mkmf"
2
+
3
+ # @param [String] header Header name
4
+ # @param [String] gem_name Name of target gem
5
+ # @param [Array] paths_from_gem_root Paths from gem root to search header. If paths_from_gem_root is empty, this method automatically search all subdirectories of target gem
6
+ def find_header_in_gem(header, gem_name, *paths_from_gem_root)
7
+ header_dirs = nil
8
+ begin
9
+ require "rubygems"
10
+ spec = Gem::Specification.find_by_name(gem_name)
11
+ if paths_from_gem_root.empty?
12
+ if header_path = Dir.glob(File.join(spec.full_gem_path, "**", header)).first
13
+ header_dirs = [File.dirname(header_path)]
14
+ else
15
+ return false
16
+ end
17
+ else
18
+ header_dirs = paths_from_gem_root.map do |path|
19
+ File.join(spec.full_gem_path, path)
20
+ end
21
+ end
22
+ rescue LoadError
23
+ end
24
+ find_header(header, *header_dirs)
25
+ end
@@ -1,3 +1,3 @@
1
1
  module ExtconfTaskVersion
2
- VERSION = "0.0.1"
2
+ VERSION = "0.0.2"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: extconf-task
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 0.0.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Takayuki YAMAGUCHI
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2013-08-25 00:00:00.000000000 Z
11
+ date: 2013-08-26 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -52,6 +52,7 @@ files:
52
52
  - Rakefile
53
53
  - extconf-task.gemspec
54
54
  - lib/extconf_task.rb
55
+ - lib/extconf_task/mkmf_utils.rb
55
56
  - lib/extconf_task/version.rb
56
57
  homepage: https://github.com/ytaka/extconf-task
57
58
  licenses: