Sha256: 67b35be4ee47542e5ea88a2a49a684eccf60640cce7973759be038b05572245d

Contents?: true

Size: 1.6 KB

Versions: 2

Compression:

Stored size: 1.6 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

2 entries across 2 versions & 1 rubygems

Version Path
mkmf-lite-0.3.2 README.rdoc
mkmf-lite-0.3.1 README.rdoc