diff --git a/mrbgems/hal-posix-io/mrbgem.rake b/mrbgems/hal-posix-io/mrbgem.rake deleted file mode 100644 index bdd4913d1..000000000 --- a/mrbgems/hal-posix-io/mrbgem.rake +++ /dev/null @@ -1,8 +0,0 @@ -MRuby::Gem::Specification.new('hal-posix-io') do |spec| - spec.license = 'MIT' - spec.author = 'mruby developers' - spec.summary = 'POSIX HAL for mruby-io (Linux, macOS, BSD, Unix)' - - # HAL gem depends on feature gem - brings in mruby-io automatically - spec.add_dependency 'mruby-io', core: 'mruby-io' -end diff --git a/mrbgems/hal-win-io/mrbgem.rake b/mrbgems/hal-win-io/mrbgem.rake deleted file mode 100644 index 5bad6576b..000000000 --- a/mrbgems/hal-win-io/mrbgem.rake +++ /dev/null @@ -1,11 +0,0 @@ -MRuby::Gem::Specification.new('hal-win-io') do |spec| - spec.license = 'MIT' - spec.author = 'mruby developers' - spec.summary = 'Windows HAL for mruby-io (Windows, MinGW)' - - # HAL gem depends on feature gem - brings in mruby-io automatically - spec.add_dependency 'mruby-io', core: 'mruby-io' - - # Link Windows socket library - spec.linker.libraries << "ws2_32" -end diff --git a/mrbgems/mruby-io/mrbgem.rake b/mrbgems/mruby-io/mrbgem.rake index 6663666df..63933c7b1 100644 --- a/mrbgems/mruby-io/mrbgem.rake +++ b/mrbgems/mruby-io/mrbgem.rake @@ -5,30 +5,4 @@ MRuby::Gem::Specification.new('mruby-io') do |spec| spec.build.defines << "HAVE_MRUBY_IO_GEM" spec.add_test_dependency 'mruby-time', core: 'mruby-time' - - # Check if HAL gem is loaded - # HAL gems must be explicitly specified in build config (recommended) or via auto-selection below - spec.build.gems.one? { |g| g.name =~ /^hal-.*-io$/ } or begin - # No HAL found - determine appropriate error message or auto-load - suggested_hal = if spec.for_windows? - 'hal-win-io' - elsif RUBY_PLATFORM =~ /linux|darwin|bsd/ - 'hal-posix-io' - else - nil - end - - if suggested_hal - # Auto-load HAL gem for convenience (for development) - # This works because HAL gems declare dependency on mruby-io - warn "mruby-io: No HAL specified, loading #{suggested_hal} (explicit selection recommended)" - spec.build.gem core: suggested_hal - else - # Unknown platform - fail with helpful message - fail "mruby-io: No HAL available for platform '#{RUBY_PLATFORM}'.\n" \ - "Please specify HAL gem explicitly in your build config:\n" \ - " conf.gem core: 'hal-posix-io' # For Linux/macOS/BSD\n" \ - " conf.gem core: 'hal-win-io' # For Windows" - end - end end diff --git a/mrbgems/hal-posix-io/src/io_hal.c b/mrbgems/mruby-io/ports/posix/io_hal.c similarity index 97% rename from mrbgems/hal-posix-io/src/io_hal.c rename to mrbgems/mruby-io/ports/posix/io_hal.c index 28a3ec5eb..254bc6c6c 100644 --- a/mrbgems/hal-posix-io/src/io_hal.c +++ b/mrbgems/mruby-io/ports/posix/io_hal.c @@ -571,21 +571,3 @@ mrb_hal_io_final(mrb_state *mrb) (void)mrb; /* No special cleanup needed for POSIX */ } - -/* - * Gem initialization - */ - -void -mrb_hal_posix_io_gem_init(mrb_state *mrb) -{ - (void)mrb; - /* HAL interface functions are called by mruby-io gem */ -} - -void -mrb_hal_posix_io_gem_final(mrb_state *mrb) -{ - (void)mrb; - /* Cleanup handled by mrb_hal_io_final called from mruby-io */ -} diff --git a/mrbgems/hal-win-io/src/io_hal.c b/mrbgems/mruby-io/ports/win/io_hal.c similarity index 97% rename from mrbgems/hal-win-io/src/io_hal.c rename to mrbgems/mruby-io/ports/win/io_hal.c index 92a5d7c63..3d6067395 100644 --- a/mrbgems/hal-win-io/src/io_hal.c +++ b/mrbgems/mruby-io/ports/win/io_hal.c @@ -618,21 +618,3 @@ mrb_hal_io_final(mrb_state *mrb) /* Cleanup Winsock */ WSACleanup(); } - -/* - * Gem initialization - */ - -void -mrb_hal_win_io_gem_init(mrb_state *mrb) -{ - (void)mrb; - /* HAL interface functions are called by mruby-io gem */ -} - -void -mrb_hal_win_io_gem_final(mrb_state *mrb) -{ - (void)mrb; - /* Cleanup handled by mrb_hal_io_final called from mruby-io */ -}