summaryrefslogtreecommitdiff
path: root/ext/extmk.rb
AgeCommit message (Collapse)Author
2024-05-23merge revision(s) ae8990aef098410ecc2b5f48fea9d7d171a3c5f6:Hiroshi SHIBATA
Alias init functions The extension library has each initialization function named "Init_" + basename. If multiple extensions have the same base name (such as cgi/escape and erb/escape), the same function will be registered for both names. To fix this conflict, rename the initialization functions under sub directories using using parent names, when statically linking. --- ext/extmk.rb | 16 +++++++++++++++- template/extinit.c.tmpl | 2 +- 2 files changed, 16 insertions(+), 2 deletions(-)
2022-10-21merge revision(s) 9de11fe796e8caca2d87650278028eb95c1e09a0:nagachika
Quiet if the target is already linked the same source --- ext/extmk.rb | 2 +- tool/ln_sr.rb | 6 ++++++ 2 files changed, 7 insertions(+), 1 deletion(-)
2022-10-21merge revision(s) e5e6b87e265b95620821f7abac56b5ab90d4c1fd:nagachika
Create temporary file exclusively and clean --- ext/extmk.rb | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-)
2022-10-21merge revision(s) 6af7212004c0b98f09350b53a032f94f3a1e666c:nagachika
Make extensions under `Gem.extension_api_version` directory --- ext/extmk.rb | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)
2022-10-21merge revision(s) c093e7d64545640c8f2e7bb3eb24e3f9e24fb1c5:nagachika
Avoid to symlink under symlink --- ext/extmk.rb | 2 +- tool/ln_sr.rb | 21 ++++++++++++++------- 2 files changed, 15 insertions(+), 8 deletions(-)
2022-10-21merge revision(s) 78d2be69b500e4552e0e75fdefd26606a0506009:nagachika
Move copying/linking extra files to Makefile so removed by `clean` --- ext/extmk.rb | 81 ++++++++++++++++++++++++----------------- tool/ln_sr.rb | 113 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 161 insertions(+), 33 deletions(-) create mode 100755 tool/ln_sr.rb
2022-10-21merge revision(s) ed8c21bbd5071b52d0d0612eadbdad8fe192e974:nagachika
Ensure symlinks to bundled gem with exts have parent dir When configuring with `--disable-rpath` and `--static-linked-ext` (e.g. building for WASI), `extmk.rb` doesn't build exts under bundled gems, and `.bundle/gems/#{gemname}-#{ver}` are not created due to no call of `extmake`. b2491783986084770f6f97552f27b868622730cf starts creating symlink at `.bundle/gems/#{gemname}-#{ver}/lib`, but the parent dir is not created, so configuration aginst debug and rbs gems were failed. --- ext/extmk.rb | 1 + 1 file changed, 1 insertion(+)
2022-10-21merge revision(s) dcbb94d5b9b4a7d0bfde5ba9a5da1ada643a31b7:nagachika
Move timestamps directory for bundled gems --- ext/extmk.rb | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-)
2022-10-16merge revision(s) d7afaf21f2edfac8a606891868a3c4a7025267bd:nagachika
Move the target directory of bundled gems like as rubygems --- ext/extmk.rb | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-)
2022-10-16merge revision(s) db3d111c1d1e90b400f1e737ded6a4e4bdf2cec8:nagachika
Bundled gems are expanded under `.bundle/gems` now --- ext/extmk.rb | 13 +++++++------ template/exts.mk.tmpl | 2 +- 2 files changed, 8 insertions(+), 7 deletions(-)
2022-10-15merge revision(s) b2491783986084770f6f97552f27b868622730cf:nagachika
Install gems `lib` directory to build path --- ext/extmk.rb | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+)
2022-10-15merge revision(s) a2c66f52f402cb58372e271226f3341065561e53:nagachika
Make dependency-free gemspec files The default gems have not been installed yet in the build directory, bundled gems depending on them can not work. As those dependencies should be usable there even without rubygems, make temporary gemspec files without the dependencies, and use them in the build directory. --- ext/extmk.rb | 11 +++++++++++ tool/gem-unpack.rb | 4 ++++ 2 files changed, 15 insertions(+)
2022-09-04Backport https://github.com/ruby/ruby/pull/6193Hiroshi SHIBATA
Co-authored-by: Yuta Saito <kateinoigakukun@gmail.com>
2020-12-29transcode-tblgen.rb: make silent a little when just -vNobuyoshi Nakada
Notes: Merged: https://github.com/ruby/ruby/pull/4011
2019-11-19Configure static extensions only if in chargeNobuyoshi Nakada
Get rid of races in parallel configuration when using the ext/Setup file.
2019-09-19Revert "DEBUG: dump mkmf.log"Nobuyoshi Nakada
This reverts commit 69e209a3450bd6b281dcad1d96a34e9cab184845. The debug has finishted.
2019-09-19Removed mkmf.log dump in MakefileNobuyoshi Nakada
2019-09-19DEBUG: dump mkmf.logNobuyoshi Nakada
2019-07-15catch up e8ddbc0239.Koichi Sasada
2018-12-01Let sub-directory exts depend on their parent extmrkn
* ext/extmk.rb: Let sub-directory exts depend on their parent ext. * template/exts.mk.tmpl: ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66117 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-03-25extmk.rb: get rid of shadowing outer local variablenobu
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@62912 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-01-07extmk.rb: exclude recursivelynobu
* ext/extmk.rb: exclude extension libraries recursively. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@61643 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-04-21ext/extmk.rb: colorize notes [Feature #13302]nobu
* common.mk (build-ext): pass variables to colorize. * ext/extmk.rb: colorize notes with tool/colorize.rb. * tool/colorize.rb: extract from tool/generic_erb.rb. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@58426 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-04-21exts.mk: refine notes [Feature #13302]nobu
* ext/extmk.rb: split notes into header and footer, which are common, from bodies which are unique for each extensions. * template/exts.mk.tmpl: now each notes are not one line, should not unique. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@58425 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-04-20extmk.rb: fail for mandatory librariesnobu
* ext/extmk.rb: fail if a mandatory extension library failed to configure. [ruby-core:80759] [Feature #13302] * template/exts.mk.tmpl: move `exit` at the end. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@58412 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-04-19extmk.rb: improve message printed when configuring extensions failsrhe
Point to the mkmf.log if configuring an extension fails so that people can find and fix the culprit easily. [ruby-core:80131] [Feature #13302] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@58404 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-03-07suppress warning: shadowing outer local variable - enaruse
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57796 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-02-28clean gemsnobu
* Makefile.in (clean-ext): clean gem directories too. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57743 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-02-10extmk.rb: split notesnobu
* ext/extmk.rb: split notes and echo per lines, for multiple lines messages. [ruby-core:79475] [Bug #13200] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57590 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-01-28extmk.rb: remove clean and install modenobu
* ext/extmk.rb (parse_args): remove clean and install mode, now configure mode only. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57449 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-01-28extmk.rb: remove direct build modenobu
* ext/extmk.rb (parse_args): --command-output is now mandatory. remove direct build mode. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57448 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-01-28exts.mk.tmpl: ruby namesnobu
* template/exts.mk.tmpl: extract configured ruby names. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57444 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-01-27extmk.rb: fix for static-linked-extnobu
* ext/extmk.rb (extmake): fix up r57424 for static-linked-ext. separate maybestatic argument from basedir which is given always now. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57441 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-01-26Parallel gem configurationnobu
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57424 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-01-23Parallel ext configurationnobu
* ext/configure-ext.mk: configure each directories underneath ext in parallel. * template/exts.mk.tmpl: then collect the results. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57401 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-01-23extinit.c.tmpl: drop after dotnobu
* template/extinit.c.tmpl: drop rest from the first dot in the base name of a feature is ignored since r30464. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57398 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-01-23extmk.rb: EXTINITS to sub makenobu
* ext/extmk.rb: pass EXTINITS to sub make. if the template for extinit.c is modified after extinit.c got compiled, extinit.c will be re-generated together with ruby. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57396 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-01-22template/extinit.c.tmplnobu
* template/extinit.c.tmpl: separate from ext/extmk.rb. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57395 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-01-20extmk.rb: ignore generated sourcesnobu
* ext/extmk.rb (extract_makefile): ignore generated source files not to reconfigure when in-place build. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57385 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-11-18extmk.rb: removed compiled? method [ci skip]nobu
* ext/extmk.rb (compiled?): removed. * ext/win32/extconf.rb: try to install libraries regardless fiddle. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56822 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-09-24install extra librariesnobu
* ext/extmk.rb (extract_makefile, extmake, configuration): store extra libraries to be installed. * tool/rbinstall.rb (ext-arch): install extra libraries. * ext/zlib/extconf.rb: install zlib if built. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56230 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-09-04extmk.rb: no ext, no build_completenobu
* ext/extmk.rb (create_makefile): touch gem.build_complete only if building an extension library. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56067 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-09-04extmk.rb: fix gem.build_complete locationnobu
* ext/extmk.rb (timestamp_file): make build_complete file at the toplevel of the gem directory without target_prefix. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56066 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-09-04extmk.rb: expand target_prefixnobu
* ext/extmk.rb (timestamp_file): should expand target_prefix in timestamp file name. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56065 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-09-04extmk.rb: append target_prefixnobu
* ext/extmk.rb (timestamp_file, create_makefile): should append target_prefix as RUBYARCHDIR does. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56064 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-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-31extmk.rb: build_completenobu
* ext/extmk.rb (create_makefile): make gem.build_complete file under TARGET_SO_DIR and install it only when the gem build succeeded. [ruby-core:77057] [Bug #12681] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56048 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