* 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
When you change this to true, you may need to add more tests.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53141 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* beos: Drop support for BeOS now that Haiku is stable.
[Fix GH-1112]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52731 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* lib/mkmf.rb (configuration): remove unnecessary variables,
top_srcdir is defined above, builddir is not used.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51757 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
LDFLAGS during configure, observed on Solaris with GCC 4.6.
[Bug #11245]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50815 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* lib/mkmf.rb ($configure_args): store macro assigments as-is, not
only in option style. e.g., ruby extconf.rb optflags=-O0
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50804 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* lib/mkmf.rb (pkg_config): split --libs if --libs-only-l option
is not available. patch in [ruby-core:69428] by Hans Mackowiak.
[ruby-core:69421] [Bug #11201]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50717 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* lib/mkmf.rb (xsystem): assume all warnings go to stderr but not
stdout. cl.exe always prints input file names.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50233 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* lib/mkmf.rb (try_cppflags): set werror flag as same as cflags
and ldflags.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50216 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* lib/mkmf.rb (try_compile): pass the given werror flag to try_do
to check if stderr is empty.
* lib/mkmf.rb (try_cflags, try_ldflags): default werror to true.
* win32/Makefile.sub (WERRORFLAG): remove useless option. VC does
not make warnings of unknown command option an error.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50215 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* lib/mkmf.rb (try_cppflags, try_cflags, try_ldflags): get rid of
interference by modifying global variables in have_devel? method.
[ruby-core:67962] [Bug #10821]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49482 b2dd03c8-39d4-4d8f-98ff-823fe69b080e