summaryrefslogtreecommitdiff
path: root/lib/mkmf.rb
AgeCommit message (Collapse)Author
2019-09-19Added link_command for C++Nobuyoshi Nakada
2019-09-19Separate @have_devel for C++Nobuyoshi Nakada
2019-09-19Look up the language moduleNobuyoshi Nakada
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.
2019-09-18Removed MakeMakefile::CNobuyoshi Nakada
It is exposed to the topleven namespace via included MakeMakefile.
2019-09-18Removed a debug print [ci skip]Nobuyoshi Nakada
2019-09-18[EXPERIMENTAL] MakeMakefile::CXX for C++Nobuyoshi Nakada
2019-07-23Make pkg_config in mkmf include -I cflags in return valueJeremy Evans
This was the historical behavior, it was modified unintentionally by 097c3e9cbbf23718371f08c24b2d2297b039f63f, 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]
2019-05-23Suppress paranoid warnings for external/3rd-party librariesNobuyoshi Nakada
[Feature #15665]
2019-05-08Configure directories for headers and libraries automaticallyNobuyoshi Nakada
[EXPERIMENTAL]
2019-02-08Removed moving toplevel header since r12501nobu
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
2018-12-04Use delete_prefix instead of `sub(/\Afixed-pattern/, '')`kazu
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66189 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-11-07Clear CC_WRAPPER in other than the toplevelnobu
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65611 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-10-26Do not :stopdoc: entire classes/modulesnobu
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
2018-05-11mkmf.rb: set cppflagsngoto
* 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
2018-04-02Improve mkmf error messagenobu
* 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
2018-01-24mkmf.rb: werror on mswinnobu
* lib/mkmf.rb (MakeMakefile#try_ldflags): enable warning checking on mswin, link.exe warns -l options but does not fail. [Bug #13069] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@62024 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-01-22mkmf.rb: ignore linker warningsnobu
* lib/mkmf.rb (try_ldflags): ignore linker warnings. they cause unexpected failures on OpenBSD. [ruby-core:78827] [Bug #13069] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@62007 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-01-02int (*)(void) is incompatible with void*shyouhei
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@61544 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-12-11bccwin is no longer supportedusa
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@61108 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-12-11depend on win32.h on Windowsusa
* 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
2017-02-27mkmf.rb: get rid of error messagesnobu
* 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
2017-02-27mkmf.rb: clean generated filesnobu
* 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
2017-02-27Makefile.in: verify-static-librarynobu
* 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
2017-01-31mkmf.rb: message format stringnobu
* lib/mkmf.rb (checking_for): message needs format string. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57480 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-01-28mkmf.rb: fix script installationnobu
* lib/mkmf.rb (MakeMakefile): fix condition to install script files. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57446 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-09-24fid typos [ci skip]nobu
* fix typos, "a" before "Integer" to "an". [Fix GH-1438] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56225 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-09-18mkmf.rb: fix for bundled gemsnobu
* 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
2016-09-01extmk.rb: fix conflict of timestamp filesnobu
* 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
2016-09-01mkmf.rb: architecture timestamp directoriesnobu
* 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
2016-09-01mkmf.rb: fix up r56053nobu
* 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
2016-09-01extmk.rb: hacks for bundled gemsnobu
* ext/extmk.rb (gems): move dirty hacks for bundled gems from mkmf.rb. * lib/mkmf.rb (create_makefile): yield all configuration strings. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56053 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-09-01no Borland make [ci skip]nobu
* 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
2016-08-31mkmf.rb: fix up r56047nobu
* 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
2016-08-31mkmf.rb: fix up r56047nobu
* 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
2016-08-31mkmf.rb: TARGET_SO_DIRnobu
* 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
2016-08-31mkmf.rb: separate timestamp filesnobu
* 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
2016-08-17mkmf.rb: use TARGET_SOnobu
* lib/mkmf.rb (create_makefile): use TARGET_SO consistently. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@55949 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-07-11* configure.in, lib/mkmf.rb, win32/Makefile.sub (CSRCFLAG): make theusa
compiler option replacable in Makefile. * win32/Makefile.sub (OUTFLAG, COUTFLAG): ditto. * win32/Makeile.sub, win32/setup.mak (CC): should not append `-nologo` option forcely. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@55638 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-07-06Local header dependenciesnobu
* 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
2016-06-03mkmf.rb: sort lists of source and object filesnobu
* 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
2016-05-14lib/mkmf.rb: use xsystem to pkg-config --existsnobu
* 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
2016-05-11mkmf.rb: fix conflict in have_librarynobu
* 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
2016-03-24mkmf: Unquote directory stringsnobu
* 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
2016-02-14mkmf.rb: Do not modify caller stringsnobu
* 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
2016-01-17* configure.in: improve ICC (Intel C Compiler) support.naruse
* 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
2016-01-07Additional fix of r53450naruse
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53451 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-01-07mkmf.rb: fix for ODE makenobu
* 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
2016-01-07mkmf.rb: library installation messagesnobu
* 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
2015-12-16remove duplicated frozen_string_literal magic commentnaruse
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53151 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-12-16Add frozen_string_literal: false for all filesnaruse
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