Ruby-dev summary 18070-18110

Hi all,

This is a summary of ruby-dev ML in these days.

---- ruby-dev #18070-18110 (2002-08-23 … 2002-08-30) -----

[ruby-dev:18073] Re: ERb

Masatoshi SEKI announced that he re-started to develop
erb-2.0, which is going to be in standard library.

 * ERbLight is renamed to ERB.
 * you can load it with "require 'erb'"
 * He considers deleting erbcgi.rb.

[ruby-dev:18109] mkmf.rb and extmk.rb

WATANABE Hirofumi raise the issue of mkmf.rb and extmk.rb.

  • There is no definition of dependency rule between and extmk.rb in Makefile. So if we
    modify, extmk.rb is not updated.

(This problem is pointed out by Kazuhiro NISHIYAMA in
several times.)

There are three solutions:

1) describe dependency rule in Makefile
2) get rid of and use Config::CONFIG["FOO"]
   instead of @FOO@ in extmk.rb.
3) describe dependency rule in,
   but use ext/configsub.rb
   (In other words, stop to use config.status)

He likes 3).
  • mkmf.rb and extmk.rb violate DRY

    It is reasonable to put “require ‘mkmf’” on extmk.rb.

  • install and site-install in mkmf.rb

    Should Install target in Makefile mean site-install?

TAKAHASHI ‘Maki’ Masayoshi E-mail:

[ruby-dev:18109] mkmf.rb and extmk.rb

WATANABE Hirofumi raise the issue of mkmf.rb and extmk.rb.

As long as people are looking at mkmf.rb for other reasons, I’d like to
raise an issue as well. The mkmf.rb code already recognizes “.cxx” as a
valid source extension for C++ source files but the suffix rules that it
writes into the generated Makefile:

	$(CXX) $(CXXFLAGS) $(CPPFLAGS) -c -o $@ $<

assumes that “.cxx” is in make’s default list of known suffixes. For the
version of GNU make that ships with Red Hat Linux 7.3 (make-3.79.1) this
is not the case, and so “make” will fail for this Makefile.

The solution is to add “.cxx” to the list of known suffixes by inserting
a rule for the special target .SUFFIXES, somewhere near the top of the
Makefile, e.g.


I can supply a patch to mkmf.rb if it would help, but I think it’s
fairly self-explanatory. If more background on this stuff is useful,
please see: