Skip to content

Commit a4d380c

Browse files
committed
1 parent 10a743c commit a4d380c

File tree

2 files changed

+15
-11
lines changed

2 files changed

+15
-11
lines changed

ext/extconf.rb

Lines changed: 12 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -10,27 +10,30 @@
1010
fail 'Could not fetch libsass'
1111
end
1212

13+
# Only needed because rake-compiler expects `.bundle` on macOS:
14+
# https://github.com/rake-compiler/rake-compiler/blob/9f15620e7db145d11ae2fc4ba032367903f625e3/features/support/platform_extension_helpers.rb#L5
15+
dl_ext = (RUBY_PLATFORM =~ /darwin/ ? 'bundle' : 'so')
16+
1317
File.write 'Makefile', <<-MAKEFILE
1418
ifndef DESTDIR
15-
LIBSASS_OUT = #{gem_root}/lib/sassc/libsass.so
19+
LIBSASS_OUT = #{gem_root}/lib/sassc/libsass.#{dl_ext}
1620
else
17-
LIBSASS_OUT = $(DESTDIR)$(PREFIX)/libsass.so
21+
LIBSASS_OUT = $(DESTDIR)$(PREFIX)/libsass.#{dl_ext}
1822
endif
1923
2024
SUB_DIR := #{libsass_dir}
21-
SUB_TARGET := lib/libsass.so
2225
23-
libsass.so:#{' clean' if ENV['CLEAN']}
26+
libsass.#{dl_ext}:#{' clean' if ENV['CLEAN']}
2427
$(MAKE) -C '$(SUB_DIR)' lib/libsass.so
25-
cp '$(SUB_DIR)/lib/libsass.so' libsass.so
26-
strip libsass.so
28+
cp '$(SUB_DIR)/lib/libsass.so' libsass.#{dl_ext}
29+
strip -x libsass.#{dl_ext}
2730
28-
install: libsass.so
29-
cp libsass.so '$(LIBSASS_OUT)'
31+
install: libsass.#{dl_ext}
32+
cp libsass.#{dl_ext} '$(LIBSASS_OUT)'
3033
3134
clean:
3235
$(MAKE) -C '$(SUB_DIR)' clean
33-
rm -f '$(LIBSASS_OUT)' libsass.so
36+
rm -f '$(LIBSASS_OUT)' libsass.#{dl_ext}
3437
3538
.PHONY: clean install
3639
MAKEFILE

lib/sassc/native.rb

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,11 +9,12 @@ module Native
99
spec = Gem.loaded_specs["sassc"]
1010
gem_root = spec.gem_dir
1111

12-
ruby_version_so_path = "#{gem_root}/lib/sassc/#{RUBY_VERSION[/\d+.\d+/]}/libsass.so"
12+
dl_ext = (RUBY_PLATFORM =~ /darwin/ ? 'bundle' : 'so')
13+
ruby_version_so_path = "#{gem_root}/lib/sassc/#{RUBY_VERSION[/\d+.\d+/]}/libsass.#{dl_ext}"
1314
if File.exist?(ruby_version_so_path)
1415
ffi_lib ruby_version_so_path
1516
else
16-
ffi_lib "#{gem_root}/lib/sassc/libsass.so"
17+
ffi_lib "#{gem_root}/lib/sassc/libsass.#{dl_ext}"
1718
end
1819

1920
require_relative "native/sass_value"

0 commit comments

Comments
 (0)