mkmf-lite 0.7.4 → 0.7.5
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/CHANGES.md +4 -0
- data/lib/mkmf/lite.rb +25 -1
- data/mkmf-lite.gemspec +1 -1
- data/spec/mkmf_lite_spec.rb +1 -1
- data.tar.gz.sig +0 -0
- metadata +1 -1
- 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: 3d3876fab22593f1d61c44718bc4fa4a582ce639230745ebed95c61b99a2a164
|
|
4
|
+
data.tar.gz: 74188f32f661c473e575412c095ea7cdd78493af4a25bfbde1934bad604b04ec
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 30e2efbd8e802dbcf0237a9a5a514e7f39218702a0713ae7868135b06b9052e43be975e4a4ca9e347135f437ff1d48bbeaf8692d7d76db523b76f26aaaf1072d
|
|
7
|
+
data.tar.gz: d7c9e01c1cdcb5f8ad94a7a2a82c16c143f2e4140da64a78c7f399a69e15830270b99c290c0844577cd738a136266490fa1cec5e376e45d50e80c4d8ad2448ca
|
checksums.yaml.gz.sig
CHANGED
|
Binary file
|
data/CHANGES.md
CHANGED
data/lib/mkmf/lite.rb
CHANGED
|
@@ -16,7 +16,7 @@ module Mkmf
|
|
|
16
16
|
extend Memoist
|
|
17
17
|
|
|
18
18
|
# The version of the mkmf-lite library
|
|
19
|
-
MKMF_LITE_VERSION = '0.7.
|
|
19
|
+
MKMF_LITE_VERSION = '0.7.5'
|
|
20
20
|
|
|
21
21
|
private
|
|
22
22
|
|
|
@@ -73,6 +73,22 @@ module Mkmf
|
|
|
73
73
|
|
|
74
74
|
memoize :cpp_libraries
|
|
75
75
|
|
|
76
|
+
def cpp_library_paths
|
|
77
|
+
paths = []
|
|
78
|
+
|
|
79
|
+
# Add Homebrew library paths on macOS
|
|
80
|
+
if RbConfig::CONFIG['host_os'].match?(/darwin/)
|
|
81
|
+
# Apple Silicon Macs
|
|
82
|
+
paths << '-L/opt/homebrew/lib' if File.directory?('/opt/homebrew/lib')
|
|
83
|
+
# Intel Macs
|
|
84
|
+
paths << '-L/usr/local/lib' if File.directory?('/usr/local/lib')
|
|
85
|
+
end
|
|
86
|
+
|
|
87
|
+
paths.empty? ? nil : paths.join(' ')
|
|
88
|
+
end
|
|
89
|
+
|
|
90
|
+
memoize :cpp_library_paths
|
|
91
|
+
|
|
76
92
|
public
|
|
77
93
|
|
|
78
94
|
# Check for the presence of the given +header+ file. You may optionally
|
|
@@ -117,7 +133,14 @@ module Mkmf
|
|
|
117
133
|
#
|
|
118
134
|
# Returns true if the library can be linked, or false otherwise.
|
|
119
135
|
#
|
|
136
|
+
# Note: The library name should not include the 'lib' prefix or file
|
|
137
|
+
# extension. For example, use 'xerces-c' not 'libxerces-c' or 'libxerces-c.dylib'.
|
|
138
|
+
# However, if the 'lib' prefix is provided, it will be automatically stripped.
|
|
139
|
+
#
|
|
120
140
|
def have_library(library, function = nil, headers = [])
|
|
141
|
+
# Strip 'lib' prefix if present (e.g., 'libxerces-c' -> 'xerces-c')
|
|
142
|
+
library = library.sub(/^lib/, '') unless windows_with_cl_compiler?
|
|
143
|
+
|
|
121
144
|
headers = get_header_string(headers)
|
|
122
145
|
erb = ERB.new(read_template('have_library.erb'))
|
|
123
146
|
code = erb.result(binding)
|
|
@@ -224,6 +247,7 @@ module Mkmf
|
|
|
224
247
|
def build_compile_command(command_options = nil, library_options = nil)
|
|
225
248
|
command_parts = [cpp_command]
|
|
226
249
|
command_parts << command_options if command_options
|
|
250
|
+
command_parts << cpp_library_paths if cpp_library_paths
|
|
227
251
|
command_parts << cpp_libraries if cpp_libraries
|
|
228
252
|
command_parts << cpp_defs
|
|
229
253
|
command_parts << cpp_out_file
|
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.7.
|
|
6
|
+
spec.version = '0.7.5'
|
|
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
|
@@ -20,7 +20,7 @@ RSpec.describe Mkmf::Lite do
|
|
|
20
20
|
|
|
21
21
|
describe 'constants' do
|
|
22
22
|
example 'version information' do
|
|
23
|
-
expect(described_class::MKMF_LITE_VERSION).to eq('0.7.
|
|
23
|
+
expect(described_class::MKMF_LITE_VERSION).to eq('0.7.5')
|
|
24
24
|
expect(described_class::MKMF_LITE_VERSION).to be_frozen
|
|
25
25
|
end
|
|
26
26
|
end
|
data.tar.gz.sig
CHANGED
|
Binary file
|
metadata
CHANGED
metadata.gz.sig
CHANGED
|
Binary file
|