Sha256: c2ab40ac56e405da71ab3f8e0a35a0a3b2b31a6333009ac382779470a16b2dce

Contents?: true

Size: 1.65 KB

Versions: 1

Compression:

Stored size: 1.65 KB

Contents

== Summary
  A light version of mkmf designed for use within programs.

== Installation
  gem install mkmf-lite

== Prerequisites
  A C compiler somewhere on your system.

== Synopsis
  require 'mkmf/lite'

  class System
    extend Mkmf::Lite

    HAVE_PW_NAME = have_struct_member('struct passwd', 'pw_name', 'pwd.h')

    def some_method
      if HAVE_PW_NAME
        # Do something
      end
    end
  end

== Description
  The mkmf library that ships as part of the Ruby standard library is not
  meant for use as an internal library. It's strictly designed for building
  C extensions. It's huge, its methods sit in a global namespace, it contains
  many methods you don't care about, and it emits stuff to $stdout that cannot
  easily be disabled. Also, the source code is monstrous.

  The mkmf-lite library is a module, it's small, and it's designed to be mixed
  into classes. It contains a handful of methods that, most likely, will be
  used in conjunction with FFI. Also, the source code is quite readable.

  It does not package C extensions, nor generate a log file or a Makefile. It
  does, however, require that you have a C compiler somewhere on your system.

== Known Issues
  You may see this warning from JRuby 1.4.x and earlier:

  warning: Useless use of a variable in void context.

  You can ignore these (or, upgrade your Jruby).

== License
  Apache-2.0

== Copyright
  (C) 2010-2019 Daniel J. Berger
  All Rights Reserved

== Warranty
  This library is provided "as is" and without any express or
  implied warranties, including, without limitation, the implied
  warranties of merchantability and fitness for a particular purpose.

== Author
  Daniel Berger

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
mkmf-lite-0.3.0 README