From 5ea0b727d016df9686a3122b67b699c69a60b57e Mon Sep 17 00:00:00 2001 From: Jakob Rath <git@jakobrath.eu> Date: Tue, 26 Nov 2013 18:20:02 +0100 Subject: [PATCH] Don't use C extensions (JRuby compatibility). --- src/bindings/ruby/.gitignore | 2 -- src/bindings/ruby/Gemfile | 3 --- src/bindings/ruby/README.md | 6 +----- src/bindings/ruby/Rakefile | 8 -------- src/bindings/ruby/ext/hammer_ext/extconf.rb | 9 --------- src/bindings/ruby/ext/hammer_ext/hammer_ext.c | 6 ------ src/bindings/ruby/ext/hammer_ext/hammer_ext.h | 6 ------ src/bindings/ruby/ext/hammer_ext/token_type.c | 20 ------------------- src/bindings/ruby/ext/hammer_ext/token_type.h | 6 ------ src/bindings/ruby/lib/hammer.rb | 1 - 10 files changed, 1 insertion(+), 66 deletions(-) delete mode 100644 src/bindings/ruby/Rakefile delete mode 100644 src/bindings/ruby/ext/hammer_ext/extconf.rb delete mode 100644 src/bindings/ruby/ext/hammer_ext/hammer_ext.c delete mode 100644 src/bindings/ruby/ext/hammer_ext/hammer_ext.h delete mode 100644 src/bindings/ruby/ext/hammer_ext/token_type.c delete mode 100644 src/bindings/ruby/ext/hammer_ext/token_type.h diff --git a/src/bindings/ruby/.gitignore b/src/bindings/ruby/.gitignore index 0f57d625..66f8ed35 100644 --- a/src/bindings/ruby/.gitignore +++ b/src/bindings/ruby/.gitignore @@ -1,3 +1 @@ -/tmp/ -/lib/hammer/hammer_ext.bundle /Gemfile.lock diff --git a/src/bindings/ruby/Gemfile b/src/bindings/ruby/Gemfile index 96ca0895..9e7a9bec 100644 --- a/src/bindings/ruby/Gemfile +++ b/src/bindings/ruby/Gemfile @@ -2,9 +2,6 @@ source 'https://rubygems.org' gemspec -gem 'rake' -gem 'rake-compiler' - group :test do # ... end diff --git a/src/bindings/ruby/README.md b/src/bindings/ruby/README.md index 1876fc73..e69a504a 100644 --- a/src/bindings/ruby/README.md +++ b/src/bindings/ruby/README.md @@ -7,8 +7,6 @@ Ruby bindings for [hammer](https://github.com/UpstandingHackers/hammer), a parsi * I called the gem `hammer-parser`, since there already is a [gem named `hammer`](https://rubygems.org/gems/hammer). -* C extension not really needed at the moment, if we don't mind hardcoding the token types in the ruby code. - ## Development @@ -16,9 +14,7 @@ Ruby bindings for [hammer](https://github.com/UpstandingHackers/hammer), a parsi 2. Run `bundle install` to install dependencies. -3. Run `rake compile` to compile the C extension. - -4. Run `irb -I ./lib -r hammer` to open `irb` with hammer loaded. +3. Run `irb -I ./lib -r hammer` to open `irb` with hammer loaded. ## Installation diff --git a/src/bindings/ruby/Rakefile b/src/bindings/ruby/Rakefile deleted file mode 100644 index 646654da..00000000 --- a/src/bindings/ruby/Rakefile +++ /dev/null @@ -1,8 +0,0 @@ -require 'rake/extensiontask' - -#spec = Gem::Specification.load('hammer-parser-ruby.gemspec') -#Rake::ExtensionTask.new('hammer_ext', spec) - -Rake::ExtensionTask.new 'hammer_ext' do |ext| - ext.lib_dir = 'lib/hammer' -end diff --git a/src/bindings/ruby/ext/hammer_ext/extconf.rb b/src/bindings/ruby/ext/hammer_ext/extconf.rb deleted file mode 100644 index d5158a70..00000000 --- a/src/bindings/ruby/ext/hammer_ext/extconf.rb +++ /dev/null @@ -1,9 +0,0 @@ -require 'mkmf' - -extension_name = 'hammer_ext' -dir_config extension_name - -abort 'ERROR: missing hammer library' unless have_library 'hammer' -abort 'ERROR: missing hammer.h' unless have_header 'hammer.h' - -create_makefile extension_name diff --git a/src/bindings/ruby/ext/hammer_ext/hammer_ext.c b/src/bindings/ruby/ext/hammer_ext/hammer_ext.c deleted file mode 100644 index 6b461c6e..00000000 --- a/src/bindings/ruby/ext/hammer_ext/hammer_ext.c +++ /dev/null @@ -1,6 +0,0 @@ -#include "token_type.h" - -void Init_hammer_ext(void) -{ - Init_token_type(); -} diff --git a/src/bindings/ruby/ext/hammer_ext/hammer_ext.h b/src/bindings/ruby/ext/hammer_ext/hammer_ext.h deleted file mode 100644 index 98fc2dad..00000000 --- a/src/bindings/ruby/ext/hammer_ext/hammer_ext.h +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef HAMMER_EXT__H -#define HAMMER_EXT__H - -// ... - -#endif diff --git a/src/bindings/ruby/ext/hammer_ext/token_type.c b/src/bindings/ruby/ext/hammer_ext/token_type.c deleted file mode 100644 index a154d7ed..00000000 --- a/src/bindings/ruby/ext/hammer_ext/token_type.c +++ /dev/null @@ -1,20 +0,0 @@ -#include <ruby.h> -#include <hammer.h> - -#include "token_type.h" - -#define DefineHammerInternalConst(name) rb_define_const(mHammerInternal, #name, INT2FIX(name)); - -void Init_token_type(void) -{ - VALUE mHammer = rb_define_module("Hammer"); - VALUE mHammerInternal = rb_define_module_under(mHammer, "Internal"); - - DefineHammerInternalConst(TT_NONE); - DefineHammerInternalConst(TT_BYTES); - DefineHammerInternalConst(TT_SINT); - DefineHammerInternalConst(TT_UINT); - DefineHammerInternalConst(TT_SEQUENCE); - DefineHammerInternalConst(TT_ERR); - DefineHammerInternalConst(TT_USER); -} diff --git a/src/bindings/ruby/ext/hammer_ext/token_type.h b/src/bindings/ruby/ext/hammer_ext/token_type.h deleted file mode 100644 index 5652ce6b..00000000 --- a/src/bindings/ruby/ext/hammer_ext/token_type.h +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef HAMMER_EXT_TOKEN_TYPE__H -#define HAMMER_EXT_TOKEN_TYPE__H - -void Init_token_type(void); - -#endif diff --git a/src/bindings/ruby/lib/hammer.rb b/src/bindings/ruby/lib/hammer.rb index 4b86690c..2032b36a 100644 --- a/src/bindings/ruby/lib/hammer.rb +++ b/src/bindings/ruby/lib/hammer.rb @@ -1,4 +1,3 @@ -require 'hammer/hammer_ext' require 'hammer/internal' require 'hammer/parser' require 'hammer/parser_builder' -- GitLab