summaryrefslogtreecommitdiff
path: root/lib/mkmf.rb
AgeCommit message (Collapse)Author
2023-02-23merge revision(s) 613fca01486e47dee9364a2fd86b5f5e77fe23c8: [Backport #19189]nagachika
[Bug #19189] Fallback to the default "pkg-config" --- lib/mkmf.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
2022-10-21merge revision(s) 7f1ca666424849134990d022266bcd4d6636465f:nagachika
Fallback PKG_CONFIG to the configured pkg-config always --- lib/mkmf.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
2022-10-21merge revision(s) 019cbded90ade76fdb87d02bd4d444724429fc92:nagachika
mkmf: Add a configure option to set verbose mode (V=1 or 0) in mkmf.rb. Note this change is only for `configure.ac`, not for Windows using `win32/configure.bat`. ``` $ ./configure --help | grep mkmf --enable-mkmf-verbose enable verbose in mkmf ``` Run the following command to enable the mkmf verbose mode. ``` $ ./configure --enable-mkmf-verbose $ grep MKMF_VERBOSE config.status S["MKMF_VERBOSE"]="1" ``` In this mkmf verbose mode, when compiling a native extension, the `rake compile` prints the compiling commands such as "gcc -I. <...> path/to/file" instead of "compiling path/to/file". ``` $ git clone https://github.com/deivid-rodriguez/byebug.git $ cd byebug $ bundle install --standalone $ bundle exec rake compile ... gcc -I. <...> path/to/file ... ``` --- configure.ac | 7 +++++++ lib/mkmf.rb | 3 ++- 2 files changed, 9 insertions(+), 1 deletion(-)
2022-10-21merge revision(s) bdb7345ce96c641796909abc2dbdac0d4400ca41:nagachika
Use compiled instead of complied Capitalize creates --- lib/mkmf.rb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)
2022-10-21merge revision(s) 6946263a2994257c6240e52a365700dc573c7ed4:nagachika
[DOC] make internally used classes/methods nodoc Empty class documents are generated even with `:stopdoc:`. --- lib/mkmf.rb | 18 ++++++------------ 1 file changed, 6 insertions(+), 12 deletions(-)
2022-10-21merge revision(s) 7672f6a42390a1a421fb0633e6810a92df7dad7a:nagachika
mkmf: unify duplicate code in pkg_config --- lib/mkmf.rb | 11 +++-------- 1 file changed, 3 insertions(+), 8 deletions(-)
2022-10-21merge revision(s) 329c89bb42bb44467588afc1d41d9f99172dfeb5:nagachika
Make implicit function declaration error [Feature #18615] Enable `-Werror=implicit-function-declaration` by default for building C extensions for early failures. --- lib/mkmf.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
2022-10-21merge revision(s) b90e56e6243f4e6567991bfd2375e1f58b1414a0:nagachika
mkmf: pkg_config accepts multiple options --- lib/mkmf.rb | 48 +++++++++++++++++++++++--------------------- test/mkmf/test_pkg_config.rb | 7 +++++++ 2 files changed, 32 insertions(+), 23 deletions(-)
2022-10-21merge revision(s) 2304cfa4c08a347f4df4915f88fb062cb12e4eeb:nagachika
Document MakeMakefile#append_cflags This method is at least 7 years old and is widely used in the wild. Since we need to support it, let's document it to make it discoverable. Add docs and move it out of the `# :stopdoc:` zone. --- lib/mkmf.rb | 25 +++++++++++++++---------- 1 file changed, 15 insertions(+), 10 deletions(-)
2022-10-01[Bug #19005] dynamic_lookup linker option in external librariesNobuyoshi Nakada
The warning against `-undefined dynamic_lookup` is just a warning yet, and many gems seem to pay no attention to warnings. Until it fails actually, keep it as a migration path, except for standard extension libraries and bundled extension gems.
2022-09-04Backport https://github.com/ruby/ruby/pull/6193Hiroshi SHIBATA
Co-authored-by: Yuta Saito <kateinoigakukun@gmail.com>
2021-12-10Prefer flat_mapNobuyoshi Nakada
2021-11-26mkmf: take `PKG_CONFIG_PATH` from `dir_config` library pathNobuyoshi Nakada
So that version dependent pkg-config files can override files in the default locations. Notes: Merged: https://github.com/ruby/ruby/pull/5182
2021-11-26mkmf: deal with environment variables in MakeMakefile#xpopenNobuyoshi Nakada
Notes: Merged: https://github.com/ruby/ruby/pull/5182
2021-11-26mkmf: MakeMakefile#xpopen may be passed an option hashNobuyoshi Nakada
Notes: Merged: https://github.com/ruby/ruby/pull/5182
2021-10-15Make explicit opening filesNobuyoshi Nakada
2021-10-03Revert "mkmf.rb: try linking at try_var" [Bug #18235]Nobuyoshi Nakada
This reverts commit 524513be399e81bb170ec88aa0d501f33cbde8c3, which can return false positive by existing but unusable symbol, including functions.
2021-09-02Get rid of incompatible-pointer-types-discards-qualifiers warningNobuyoshi Nakada
2021-07-08mkmf.rb: try linking at try_varNobuyoshi Nakada
To check for variables accessible but not declared.
2021-07-03Library arguments to VC are bare file namesNobuyoshi Nakada
2021-07-03Use $ignore_error defined in mkmf.rbNobuyoshi Nakada
2021-06-24Remove also debug symbol directory at clean on macOSNobuyoshi Nakada
2021-06-24Prefer configured command as RM_RFNobuyoshi Nakada
2021-04-11mkmf.rb: convert also arch_hdrdir [Bug #16651]Nobuyoshi Nakada
2021-03-30mkmf: fixed install directories of header files in extension libraries [Bug ↵Nobuyoshi Nakada
#17761] When installing an extension library which provides a header, that header should be installed under site_ruby (or vendor_ruby when "--vendor" option was given to extconf.rb). However, currently this file is about to be installed in the core include directory. Notes: Merged: https://github.com/ruby/ruby/pull/4339 Merged-By: nobu <nobu@ruby-lang.org>
2021-02-20MSys is a variant of CygwinNobuyoshi Nakada
2021-01-19Replace "iff" with "if and only if"Gannon McGibbon
iff means if and only if, but readers without that knowledge might assume this to be a spelling mistake. To me, this seems like exclusionary language that is unnecessary. Simply using "if and only if" instead should suffice. Notes: Merged: https://github.com/ruby/ruby/pull/4035
2021-01-14mkmf.rb: remove exts.mk at distcleanNobuyoshi Nakada
2021-01-02mkmf.rb: always try_compile as try_headerNobuyoshi Nakada
Get rid of "present but cannot be compiled" headers, on some multi-architecture platforms.
2020-12-29transcode-tblgen.rb: make silent a little when just -vNobuyoshi Nakada
Notes: Merged: https://github.com/ruby/ruby/pull/4011
2020-10-27Separate `send` into `public_send` and `__send__`Nobuyoshi Nakada
2020-07-13Make the mkmf methods private in the global [Bug #16896]Nobuyoshi Nakada
2020-04-05Added tooldir variableNobuyoshi Nakada
Notes: Merged: https://github.com/ruby/ruby/pull/3003
2020-03-08Specify explicit separator not to be affected by $;Nobuyoshi Nakada
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