Sha256: 8d2c38af29bc464bb52c834e52b00e7d8f1b104cfa1b3a385f94fa69d39cecd4

Contents?: true

Size: 1.17 KB

Versions: 3

Compression:

Stored size: 1.17 KB

Contents

require 'mkmf'

def using_system_libraries?
  arg_config('--use-system-libraries', !!ENV['DS9_USE_SYSTEM_LIBRARIES'])
end

dir_config('ds9')

if using_system_libraries?
  if with_config("static")
    ldflags = pkg_config 'libnghttp2', 'libs-only-L'

    archive = File.join ldflags.sub(/^-L/, ''), 'libnghttp2.a'
    if File.exist? archive
      $LDFLAGS << " #{archive}"
    else
      raise "couldn't find archive"
    end
  else
    pkg_config 'libnghttp2'
  end
else
  message "Building nghttp2\n"
  require 'rubygems'
  require 'mini_portile2'
  recipe = MiniPortile.new('nghttp2', 'v1.34.0')
  recipe.configure_options = recipe.configure_options + ['--with-pic']

  recipe.files << {
    url: 'https://github.com/nghttp2/nghttp2/releases/download/v1.34.0/nghttp2-1.34.0.tar.gz',
    sha1: '2d0ad93a254a7a6e6c737f2fd2e10e4810a41f74',
  }
  recipe.cook

  # `recipe.activate` uses invalid path for this package.
  $LIBPATH = ["#{recipe.path}/lib"] + $LIBPATH
  $CPPFLAGS << " -I#{recipe.path}/include"
  $LIBS << " -lstdc++"
end

abort 'nghttp2/nghttp2.h not found' unless have_header('nghttp2/nghttp2.h')
abort 'libnghttp2 not found' unless have_library('nghttp2')

create_makefile 'ds9'

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
ds9-1.4.0 ext/ds9/extconf.rb
ds9-1.3.3 ext/ds9/extconf.rb
ds9-1.3.2 ext/ds9/extconf.rb