Look up language module with `MakeMakefile.[]`, insted of a
accessing constant under that module directly, to get rid of
expose the constant to the toplevel inadvertently.
This was the historical behavior, it was modified unintentionally
by 097c3e9cbb, which started storing
these flags in a different global variable.
Also, include the incflags when logging, and document that the
method modifies $INCFLAGS.
Fixes [Bug #10651]
Moving public headers was 12-years ago, no depend files would
expect ruby.h in the top source directory now.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@67033 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
It disables cross-references to the classes/modules, even if those
are defined in other places. I suspect this is not an intentional
behavior, however make a workaround for the time being.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65380 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* ext/mkmf.rb (configuration): set the default cppflags, which is
referred from the default CPPFLAGS, for extension libraries.
This fixes build failure of ext/zlib on Solaris 10.
[Bug #14746] [ruby-dev:50539]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63398 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* lib/mkmf.rb: Improve the error message when ruby.h is missing,
to suggest installing separate packages. [Feature #14656]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63061 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* lib/mkmf.rb (depend_rules): all objs should depend on win32.h on Windows.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@61107 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* lib/mkmf.rb (create_makefile): add TARGET_SO to CLEANLIBS only
when the extension library will be build, to get rid of trying
to remove $(TARGET_SO_DIR).
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57727 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* lib/mkmf.rb (try_link0): remove generated files other than the
executable file.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57723 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Makefile.in (verify-static-library): separate from LIBRUBY_A.
no check every times by default.
* lib/mkmf.rb (try_link): remove debugging symbol directory after
linking, instead of try_do.
* lib/mkmf.rb (try_link): bccwin32 support has been removed long
ago.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57722 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* lib/mkmf.rb (install_dirs): enable extout in RUBYARCHDIR only
when extmk.
* lib/mkmf.rb (create_makefile): ditto for TIMESTAMP_DIR.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56180 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* ext/extmk.rb (timestamp_file): move extmk.rb specific tricks
from lib/mkmf.rb. keep RUBYCOMMONDIR prefix not to conflict
with a timestamp file in the toplevel.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56057 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* lib/mkmf.rb (timestamp_file): substitute TARGET_SO_DIR with
RUBYARCHDIR seprately from other normal paths, to make timestamp
files for architecture dependent directories separately. and
remove RUBYCOMMONDIR prefix.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56056 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* lib/mkmf.rb (timestamp_file): TARGET_SO_DIR is defaulted to
RUBYARCHDIR but different for each extension libraries.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56054 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* ext/extmk.rb: remove Borland make support. Borland C++ has not
been supported since years ago.
* lib/mkmf.rb: ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56051 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* lib/mkmf.rb (create_makefile): install to $(RUBYARCHDIR) other
than bundled extension libraries.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56050 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* lib/mkmf.rb (create_makefile): TARGET_SO_DIR should not be the
root directory when sodir is empty.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56049 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* ext/extmk.rb: move TARGET_SO_DIR stuffs to mkmf.rb.
* lib/mkmf.rb (create_makefile): create target shared object files
under $(TARGET_SO_DIR) which is $sodir if it is defined with
$extout. [ruby-core:77058] [Bug #12681]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56047 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* lib/mkmf.rb (timestamp_file): separate timestamp files for each
architectures.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56046 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* lib/mkmf.rb (create_makefile): store $headers in LOCAL_HDRS for
depend files.
* ext/digest/digest_conf.rb (digest_conf): add implementation
specific headers to $header.
* ext/digest/{md5,rmd160,sha1,sha2}/depend: add LOCAL_HDRS to the
dependencies.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@55588 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* lib/mkmf.rb (create_makefile): sort lists of source and object
files in generated Makefile, unless given by extconf.rb.
[Fix GH-1367]
Without sorting the list of object files explicitely, its order is
indeterministic, because readdir() is also not deterministic.
When the list of object files varies between builds, they are
linked in a different order, which results in an unreproducible
build.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@55265 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* lib/mkmf.rb (pkg_config): use xsystem consistently to set up
library path environment variable as well as latter pkg-config
calls. [ruby-dev:49619] [Bug #12379]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54999 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* lib/mkmf.rb (try_func): get rid of conflict of declarations of
main(). checking local symbol reference does not make sense.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54982 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* lib/mkmf.rb (find_executable0): On Windows, it is actually valid
to surround individual PATH directory entries with double
quotes. Remove these before joining the path as otherwise the
literal quotes would become part of the path, resulting in the
executable not to be found. [Fix GH-1305]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54255 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* lib/mkmf.rb (with_{cpp,c,ld}flags): copy caller strings not to
be modified, in append_{cpp,c,ld}flags respectively.
[Fix GH-1246]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53821 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* configure.in (CXX): The name of icc's c++ compiler is `icpc`.
* configure.in (warnings): Add `-diag-disable=2259` to suppress
noisy warnings: "non-pointer conversion from "..." to "..." may
lose significant bits".
* configure.in (optflags): Add `-fp-model precise` like -fno-fast-math.
* lib/mkmf.rb: icc supports -Werror=division-by-zero
and -Werror=deprecated-declarations, but doesn't support
-Wdivision-by-zero and -Wdeprecated-declarations.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53566 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* lib/mkmf.rb (create_makefile): get rid of placing @ at the
beginning of replacement, which is the loop expansion mechanism
from the OSF Development Environment (ODE) make. fix failures
with bmake by r53448.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53450 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* lib/mkmf.rb (configuration, dummy_makefile, create_makefile):
show library installation messages only when any files need to
be updated.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53448 b2dd03c8-39d4-4d8f-98ff-823fe69b080e