Sha256: 565edb1d69dff1078e4377f89aa6e6ddf6f6eeeb158d0435c55ad158e7d0ae17

Contents?: true

Size: 1.22 KB

Versions: 4

Compression:

Stored size: 1.22 KB

Contents

# Copyright (c) 2020 Contrast Security, Inc. See https://www.contrastsecurity.com/enduser-terms-0317a for more details.
# frozen_string_literal: true

require 'mkmf'
require_relative '../lib/contrast/agent/version'

def name
  $TO_MAKE
end

def make!
  create_makefile "#{ name }/#{ name }"
end

def ext_path
  # __dir__ is relative to the file you're reading.
  # this file you're reading is presently within $APP_ROOT/ext/.
  __dir__
end

def rpath_root
  if (/darwin/ =~ RUBY_PLATFORM).nil?
    '\$${ORIGIN}'
  else
    '@loader_path'
  end
end

def funchook_rpath!
  options = " -Wl,-rpath,#{ rpath_root }/../../shared_libraries"
  raise unless try_link('int main() {return 0;}', options)

  $LDFLAGS << options
  $LDFLAGS << " -L#{ __dir__ }/../shared_libraries"

  find_header('funchook.h', ext_path)
  have_header('funchook.h')

  find_library('funchook', 'funchook_create', '../shared_libraries')
  find_library('funchook', 'funchook_install')
  find_library('funchook', 'funchook_prepare')
  have_library('funchook', 'funchook_create')
  have_library('funchook', 'funchook_install')
  have_library('funchook', 'funchook_prepare')
end

require_relative './build_funchook'

# default make pathway, here for convenience
funchook_rpath!
make!

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
contrast-agent-3.12.2 ext/extconf_common.rb
contrast-agent-3.12.1 ext/extconf_common.rb
contrast-agent-3.12.0 ext/extconf_common.rb
contrast-agent-3.11.0 ext/extconf_common.rb