Hi,

At Tue, 3 Apr 2007 23:14:17 +0900,
Daniel Berger wrote in [ruby-core:10850]:
> >> I wasn't completely sure if pkg_config was meant for public
> >> use or not. If so, I leave it for someone else to document
> >> more thoroughly.
> > 
> > Yes, and macro_defined?, checking_for, scalar_ptr_type?,
> > scalar_type? and Logging are too.
> 
> Are you sure about all of these?

It depends on how you define "internal use" here.
These methods are for particular use, in extconf.rb.

> The macro_defined? method does not look like it's meant to be used 
> directly. It's wrapped by the have_macro method which wraps the 
> macro_defined? method and emits a "checking for" message to boot.

Formerly, there was macro_defined? only, but have_macro didn't
exist.

> The checking_for method does not appear to have any use beyond emitting 
> a message for the various have_x and find_x methods. I cannot envision 
> using it directly. Do you?

Any library specific tests can use it to emit and log a
message.  In other hand, if an extension author wants not to
emit it, it isn't enforced.

> I wasn't sure about scalar_type?, scalar_ptr_type? or what_type?. The 
> what_type? method is the only one of the three with a 'checking_for' 
> hook, which leads me to believe it's the only one of the three we should 
> publish. However, I'm somewhat confused as to its usage. It doesn't seem 
> to modify the generated Makefile in any case. Any insight you can offer 
> here would be appreciated.

They were made for ext/etc, to check compatible types of pid_t
and gid_t, but those checks are moved into configure.in now.

> As for the Logging module, I've never used directly, nor have I ever 
> seen anyone who did. But, I'll leave it to you to document as you see 
> fit. :)

When the author wants to log some extra information.

-- 
Nobu Nakada