Sha256: 6be669710c5e2503033f6db164b6a3aaa4514884993fe57c53c974f10d023cfb

Contents?: true

Size: 1.99 KB

Versions: 2

Compression:

Stored size: 1.99 KB

Contents

require 'mkmf'

dir_config('sctp')

unless have_header('netinet/sctp.h')
  os = IO.readlines('/etc/os-release').first.split('=').last
  msg = "\nSCTP HEADERS NOT FOUND. PLEASE INSTALL THEM FIRST LIKE SO:\n\n"

  if os =~ /red|fedora|centos/i
    msg << "#####################################################################################\n"
    msg << "# dnf install lksctp-tools                                                          #\n"
    msg << "# dnf install kernel-modules-extra                                                  #\n"
    msg << "#                                                                                   #\n"
    msg << "# sed -e '/blacklist sctp/s/^b/#b/g' -i /etc/modprobe.d/sctp-blacklist.conf         #\n"
    msg << "# sed -e '/blacklist sctp/s/^b/#b/g' -i /etc/modprobe.d/sctp_diag-blacklist.conf    #\n"
    msg << "#                                                                                   #\n"
    msg << "# sudo systemctl restart systemd-modules-load.service                               #\n"
    msg << "#####################################################################################\n"
  else
    msg << "sudo apt-get install libsctp-dev lksctp-tools\n\n"
  end

  warn msg
  exit
end

header = 'netinet/sctp.h'

have_library('sctp')

have_header('sys/param.h')

have_func('sctp_sendv', header)
have_func('sctp_recvv', header)

have_struct_member('struct sctp_event_subscribe', 'sctp_send_failure_event', header)
have_struct_member('struct sctp_event_subscribe', 'sctp_stream_reset_event', header)
have_struct_member('struct sctp_event_subscribe', 'sctp_assoc_reset_event', header)
have_struct_member('struct sctp_event_subscribe', 'sctp_stream_change_event', header)
have_struct_member('struct sctp_event_subscribe', 'sctp_send_failure_event_event', header)

have_struct_member('struct sctp_send_failed_event', 'ssfe_length', header)

have_struct_member('union sctp_notification', 'sn_auth_event', header)

have_const('SCTP_EMPTY', header)

create_makefile('sctp/socket')

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
sctp-socket-0.1.3 ext/sctp/extconf.rb
sctp-socket-0.1.2 ext/sctp/extconf.rb