Sha256: 07548062be0c419d6f74ead7b01f6a169f9a99f50b6b774263968f6e49a7fbc1

Contents?: true

Size: 1.09 KB

Versions: 6

Compression:

Stored size: 1.09 KB

Contents

# frozen_string_literal: true

require "rubygems"

# Write a dummy Makefile on Windows because we use the pure Ruby implementation there
if Gem.win_platform?
  require "devkit" if RUBY_PLATFORM.include?("mingw")
  File.write("Makefile", "all install::\n")
  File.write("nio4r_ext.so", "")
  exit
end

require "mkmf"

have_header("unistd.h")

$defs << "-DEV_USE_LINUXAIO"     if have_header("linux/aio_abi.h")
$defs << "-DEV_USE_IOURING"      if have_header("linux/io_uring.h")
$defs << "-DEV_USE_SELECT"       if have_header("sys/select.h")
$defs << "-DEV_USE_POLL"         if have_type("port_event_t", "poll.h")
$defs << "-DEV_USE_EPOLL"        if have_header("sys/epoll.h")
$defs << "-DEV_USE_KQUEUE"       if have_header("sys/event.h") && have_header("sys/queue.h")
$defs << "-DEV_USE_PORT"         if have_type("port_event_t", "port.h")
$defs << "-DHAVE_SYS_RESOURCE_H" if have_header("sys/resource.h")

$defs << "-DEV_STANDALONE" # prevent libev from assuming "config.h" exists

CONFIG["optflags"] << " -fno-strict-aliasing" unless RUBY_PLATFORM =~ /mswin/

dir_config "nio4r_ext"
create_makefile "nio4r_ext"

Version data entries

6 entries across 6 versions & 2 rubygems

Version Path
tdiary-5.1.6 vendor/bundle/ruby/2.7.0/gems/tdiary-5.1.5/vendor/bundle/ruby/3.0.0/gems/nio4r-2.5.5/ext/nio4r/extconf.rb
nio4r-2.5.6-java ext/nio4r/extconf.rb
nio4r-2.5.6 ext/nio4r/extconf.rb
tdiary-5.1.5 vendor/bundle/ruby/3.0.0/gems/nio4r-2.5.5/ext/nio4r/extconf.rb
nio4r-2.5.5-java ext/nio4r/extconf.rb
nio4r-2.5.5 ext/nio4r/extconf.rb