Forcing mkmf to use static libraries instead of dynamic ones

I'm building a C extension on Mac OS X and I notice that the Makefile
created by mkmf prefers dynamic libraries over static ones.

For example, given this line in my extconf.rb file:

  have_library('antlr3c', 'antlr3ParserNew')

And these installed libraries:

  libantlr3c.a
  libantlr3c.dylib
  libantlr3c.la

The Makefile always choose s the "dylib" version... I can force it to
choose the static version and link statically to it by deleting or
moving the other libraries, but I'd like to know: is there a way to
explicitly specify my preference for the static version of the library
in my extconf.rb file?

Cheers,
Wincent

Hi,

At Sat, 9 Jun 2007 23:20:13 +0900,
Wincent Colaiuta wrote in [ruby-talk:254934]:

The Makefile always choose s the "dylib" version... I can force it to
choose the static version and link statically to it by deleting or
moving the other libraries, but I'd like to know: is there a way to
explicitly specify my preference for the static version of the library
in my extconf.rb file?

How can you tell your compiler and/or linker to use the static
version, even if the dylib version is also available?

···

--
Nobu Nakada