extconf-task 0.0.1 → 0.0.2

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