Hi,

At Mon, 8 Jul 2002 07:45:21 +0900,
Sean Chittenden wrote:
> > This could be me over looking something, but in mkmf.rb, there is no
> > reliable way to test for an external binary, such as net-snmp-config,
> > which contains much of the linking/compiling information.  Anyway, the
> > attached implements have_bin() and find_bin() methods.  Comments?  -sc

I guess it's better to use CONFIG["EXEEXT"] and
CONFIG["PATH_SEPARATOR"].

> Index: lib/mkmf.rb
> ===================================================================
> RCS file: /src/ruby/lib/mkmf.rb,v
> retrieving revision 1.87
> diff -u -r1.87 mkmf.rb
> --- lib/mkmf.rb	2002/06/28 14:42:46	1.87
> +++ lib/mkmf.rb	2002/07/07 22:42:25
> @@ -351,6 +351,42 @@
>    return true
>  end
>  
> +def have_bin(bin)
> +  printf "checking for %s... ", bin
> +  STDOUT.flush
> +
  +  bin += CONFIG['EXEEXT']
  +  for dir in ENV['PATH'].split(CONFIG['PATH_SEPARATOR'])
> +    file = File.join(dir, bin)
> +    if FileTest.executable?(file)
> +      print "yes\n"
> +      return true
> +    else
> +      next
> +    end
> +  end
> +  print "no\n"
> +  return false
> +end
> +
> +def find_bin(bin)
> +  printf "checking for %s... ", bin
> +  STDOUT.flush
> +
  +  bin += CONFIG['EXEEXT']
  +  for dir in ENV['PATH'].split(CONFIG['PATH_SEPARATOR'])
> +    file = File.join(dir, bin)
> +    if FileTest.executable?(file)
> +      print "yes\n"
> +      return file
> +    else
> +      next
> +    end
> +  end
> +  print "no\n"
> +  return nil
> +end
> +
>  def arg_config(config, default=nil)
>    $configure_args.fetch(config, default)
>  end