nobu.nokada / softhome.net wrote in message news:<200410230024.i9N0OYCf032575 / sharui.nakada.niregi.kanuma.tochigi.jp>...
> 
> 
> All platforms can't always compile all libraries.  extmk.rb
> doesn't know if you failed to compile it or just don't want.

But then surely the makefile for that platform should not include the
lib in the compilation at all.

Either way, as/if the computer cannot tell, to me that's more a reason
to at least warn the user about it, instead of silently not doing
anything and let him find the problem after everything is installed.

This is not a problem with extmk.rb, btw, but with the extconf.rb of
the lib.  In case of zlib, a simple change like:

if %w'z libz zlib'.find {|z| have_library(z, 'deflateReset')} and
    have_header('zlib.h') then
.....
else
  puts "Warning: zlib will not be compiled.  "
  puts "         zlib1.7 or later not found in LIB path"
  puts "         and/or zlib.h not in INCLUDE path."  
end

would do the trick.  Albeit I would argue that something like not
compiling zlib should really result in aborting the compilation all
together.
I'd just use this approach for things such as libs that are "optional"
in the ruby distribution.  "optional" being a relatively subjective
matter (it could be argued that once a lib becomes part of the
standard library, it should not be considered optional anymore...
unless until a better lib supercedes it).
zlib to me does not qualify as optional as many other important
modules depend on it (rubygems, etc).