mkmf-lite 0.4.2 → 0.5.0
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
- checksums.yaml.gz.sig +0 -0
- data.tar.gz.sig +0 -0
- data/CHANGES.rdoc +3 -0
- data/Gemfile +7 -0
- data/MANIFEST.rdoc +2 -0
- data/lib/mkmf/lite.rb +15 -1
- data/lib/mkmf/templates/check_valueof.erb +8 -0
- data/mkmf-lite.gemspec +1 -1
- data/spec/mkmf_lite_spec.rb +28 -2
- metadata +4 -2
- metadata.gz.sig +0 -0
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 88d355dec9e35c8aeb5f4a8b4d4dd7a9fbcb5cd9b1e0c8bb834c145614da101a
|
4
|
+
data.tar.gz: c17345e5ad9278f73c30cd7ed8b9f71541eae5bd86626de21136dade61948e50
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 66a36e2889bc69802560be194ee77d5f4bde94302efa7f3db16ee60b335ddc7aa6a401ecc9b3486de803f1247b53868baea5b018192ab06211d1f232858d332d
|
7
|
+
data.tar.gz: 0e11e957998ef6870ce0dcfb2ac3440822311cb05912630f3559a1cbe70844fca48e89594d492f694fffc82def4b74e8afe645cfa6b131181da3996d955773bf
|
checksums.yaml.gz.sig
CHANGED
Binary file
|
data.tar.gz.sig
CHANGED
Binary file
|
data/CHANGES.rdoc
CHANGED
data/Gemfile
ADDED
data/MANIFEST.rdoc
CHANGED
@@ -5,6 +5,8 @@
|
|
5
5
|
* mkmf-lite.gemspec
|
6
6
|
* certs/djberg96_pub.pem
|
7
7
|
* lib/mkmf/lite.rb
|
8
|
+
* lib/mkmf/templates/check_sizeof.erb
|
9
|
+
* lib/mkmf/templates/check_valueof.erb
|
8
10
|
* lib/mkmf/templates/have_func.erb
|
9
11
|
* lib/mkmf/templates/have_func_pointer.erb
|
10
12
|
* lib/mkmf/templates/have_header.erb
|
data/lib/mkmf/lite.rb
CHANGED
@@ -7,7 +7,7 @@ require 'ptools'
|
|
7
7
|
module Mkmf
|
8
8
|
module Lite
|
9
9
|
# The version of the mkmf-lite library
|
10
|
-
MKMF_LITE_VERSION = '0.
|
10
|
+
MKMF_LITE_VERSION = '0.5.0'.freeze
|
11
11
|
|
12
12
|
private
|
13
13
|
|
@@ -95,6 +95,20 @@ module Mkmf
|
|
95
95
|
try_to_compile(code)
|
96
96
|
end
|
97
97
|
|
98
|
+
# Returns the value of the given +constant+ (which could also be a macro)
|
99
|
+
# using +headers+, or common headers if no headers are specified.
|
100
|
+
#
|
101
|
+
# If this method fails an error is raised. This could happen if the constant
|
102
|
+
# can't be found and/or the header files do not include the indicated constant.
|
103
|
+
#
|
104
|
+
def check_valueof(constant, headers = [])
|
105
|
+
headers = get_header_string(headers)
|
106
|
+
erb = ERB.new(read_template('check_valueof.erb'))
|
107
|
+
code = erb.result(binding)
|
108
|
+
|
109
|
+
try_to_execute(code)
|
110
|
+
end
|
111
|
+
|
98
112
|
# Returns the sizeof +type+ using +headers+, or common headers if no
|
99
113
|
# headers are specified.
|
100
114
|
#
|
data/mkmf-lite.gemspec
CHANGED
@@ -3,7 +3,7 @@ require 'rubygems'
|
|
3
3
|
Gem::Specification.new do |spec|
|
4
4
|
spec.name = 'mkmf-lite'
|
5
5
|
spec.summary = 'A lighter version of mkmf designed for use as a library'
|
6
|
-
spec.version = '0.
|
6
|
+
spec.version = '0.5.0'
|
7
7
|
spec.author = 'Daniel J. Berger'
|
8
8
|
spec.license = 'Apache-2.0'
|
9
9
|
spec.email = 'djberg96@gmail.com'
|
data/spec/mkmf_lite_spec.rb
CHANGED
@@ -13,10 +13,11 @@ describe Mkmf::Lite do
|
|
13
13
|
let(:st_type) { 'struct stat' }
|
14
14
|
let(:st_member) { 'st_uid' }
|
15
15
|
let(:st_header) { 'sys/stat.h' }
|
16
|
+
let(:constant) { 'EOF' }
|
16
17
|
|
17
18
|
describe "constants" do
|
18
19
|
example "version information" do
|
19
|
-
expect(described_class::MKMF_LITE_VERSION).to eq('0.
|
20
|
+
expect(described_class::MKMF_LITE_VERSION).to eq('0.5.0')
|
20
21
|
expect(described_class::MKMF_LITE_VERSION).to be_frozen
|
21
22
|
end
|
22
23
|
end
|
@@ -82,6 +83,32 @@ describe Mkmf::Lite do
|
|
82
83
|
end
|
83
84
|
end
|
84
85
|
|
86
|
+
context "check_valueof" do
|
87
|
+
example "check_valueof basic functionality" do
|
88
|
+
expect(subject).to respond_to(:check_valueof)
|
89
|
+
expect{ subject.check_sizeof(constant) }.not_to raise_error
|
90
|
+
end
|
91
|
+
|
92
|
+
example "check_valueof requires at least one argument" do
|
93
|
+
expect{ subject.check_valueof }.to raise_error(ArgumentError)
|
94
|
+
end
|
95
|
+
|
96
|
+
example "check_valueof accepts a maximum of two arguments" do
|
97
|
+
expect{ subject.check_valueof(constant, 'stdio.h', 1) }.to raise_error(ArgumentError)
|
98
|
+
end
|
99
|
+
|
100
|
+
example "check_valueof works with one or two arguments" do
|
101
|
+
expect{ subject.check_valueof(constant) }.not_to raise_error
|
102
|
+
expect{ subject.check_valueof(constant, 'stdio.h') }.not_to raise_error
|
103
|
+
end
|
104
|
+
|
105
|
+
example "check_valueof returns an integer value" do
|
106
|
+
value = subject.check_valueof(constant)
|
107
|
+
expect(value).to be_kind_of(Integer)
|
108
|
+
expect(value).to eq(-1)
|
109
|
+
end
|
110
|
+
end
|
111
|
+
|
85
112
|
context "check_sizeof" do
|
86
113
|
example "check_sizeof basic functionality" do
|
87
114
|
expect(subject).to respond_to(:check_sizeof)
|
@@ -90,7 +117,6 @@ describe Mkmf::Lite do
|
|
90
117
|
|
91
118
|
example "check_sizeof requires at least one argument" do
|
92
119
|
expect{ subject.check_sizeof }.to raise_error(ArgumentError)
|
93
|
-
expect{ subject.check_sizeof('struct passwd', 'pw_name', 1) }.to raise_error(ArgumentError)
|
94
120
|
end
|
95
121
|
|
96
122
|
example "check_sizeof accepts a maximum of two arguments" do
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: mkmf-lite
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.5.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Daniel J. Berger
|
@@ -35,7 +35,7 @@ cert_chain:
|
|
35
35
|
ORVCZpRuCPpmC8qmqxUnARDArzucjaclkxjLWvCVHeFa9UP7K3Nl9oTjJNv+7/jM
|
36
36
|
WZs4eecIcUc4tKdHxcAJ0MO/Dkqq7hGaiHpwKY76wQ1+8xAh
|
37
37
|
-----END CERTIFICATE-----
|
38
|
-
date: 2020-
|
38
|
+
date: 2020-12-06 00:00:00.000000000 Z
|
39
39
|
dependencies:
|
40
40
|
- !ruby/object:Gem::Dependency
|
41
41
|
name: ptools
|
@@ -80,6 +80,7 @@ extra_rdoc_files:
|
|
80
80
|
- README.rdoc
|
81
81
|
files:
|
82
82
|
- CHANGES.rdoc
|
83
|
+
- Gemfile
|
83
84
|
- LICENSE
|
84
85
|
- MANIFEST.rdoc
|
85
86
|
- README.rdoc
|
@@ -88,6 +89,7 @@ files:
|
|
88
89
|
- lib/mkmf-lite.rb
|
89
90
|
- lib/mkmf/lite.rb
|
90
91
|
- lib/mkmf/templates/check_sizeof.erb
|
92
|
+
- lib/mkmf/templates/check_valueof.erb
|
91
93
|
- lib/mkmf/templates/have_func.erb
|
92
94
|
- lib/mkmf/templates/have_func_pointer.erb
|
93
95
|
- lib/mkmf/templates/have_header.erb
|
metadata.gz.sig
CHANGED
Binary file
|