Add Ruby native extension "libkernaux"

This commit is contained in:
Alex Kotov 2022-01-18 18:03:19 +05:00
parent e3707f0cd3
commit a43dd799e4
Signed by: kotovalexarian
GPG Key ID: 553C0EBBEB5D5F08
6 changed files with 29 additions and 3 deletions

View File

@ -1,5 +1,6 @@
*.gem
*.rbc
*.so
/.byebug_history
/.config/

View File

@ -52,6 +52,15 @@ rescue LoadError
nil
end
begin
require 'rake/extensiontask'
Rake::ExtensionTask.new 'libkernaux' do |ext|
ext.lib_dir = 'lib/kernaux'
end
rescue LoadError
nil
end
desc 'Open development console'
task :console do
sh 'bundle', 'exec', File.expand_path(File.join('bin', 'console'), __dir__)

View File

@ -0,0 +1,5 @@
# frozen_string_literal: true
require 'mkmf'
create_makefile 'kernaux/libkernaux'

View File

@ -0,0 +1,5 @@
#include <ruby.h>
void Init_libkernaux()
{
}

View File

@ -37,9 +37,12 @@ Gem::Specification.new do |spec|
spec.executables = spec.files.grep(%r{\Aexe/}) { |f| File.basename f }
spec.add_development_dependency 'bundler', '~> 2.2'
spec.add_development_dependency 'pry', '~> 0.14'
spec.add_development_dependency 'rake', '~> 13.0'
spec.extensions << 'ext/libkernaux/extconf.rb'
spec.add_development_dependency 'bundler', '~> 2.2'
spec.add_development_dependency 'pry', '~> 0.14'
spec.add_development_dependency 'rake', '~> 13.0'
spec.add_development_dependency 'rake-compiler', '~> 1.1'
spec.add_development_dependency 'rspec', '~> 3.10'
spec.add_development_dependency 'rubocop', '~> 1.25'
spec.add_development_dependency 'rubocop-performance', '~> 1.13'

View File

@ -7,3 +7,6 @@ require_relative 'kernaux/version'
#
module KernAux
end
# Native extension
require_relative 'kernaux/libkernaux'