| Age | Commit message (Collapse) | Author |
|
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(-)
|
|
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(-)
|
|
Create temporary file exclusively and clean
---
ext/extmk.rb | 9 +++++++--
1 file changed, 7 insertions(+), 2 deletions(-)
|
|
Make extensions under `Gem.extension_api_version` directory
---
ext/extmk.rb | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
|
|
Avoid to symlink under symlink
---
ext/extmk.rb | 2 +-
tool/ln_sr.rb | 21 ++++++++++++++-------
2 files changed, 15 insertions(+), 8 deletions(-)
|
|
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
|
|
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(+)
|
|
Move timestamps directory for bundled gems
---
ext/extmk.rb | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
|
|
Move the target directory of bundled gems like as rubygems
---
ext/extmk.rb | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
|
|
Bundled gems are expanded under `.bundle/gems` now
---
ext/extmk.rb | 13 +++++++------
template/exts.mk.tmpl | 2 +-
2 files changed, 8 insertions(+), 7 deletions(-)
|
|
Install gems `lib` directory to build path
---
ext/extmk.rb | 19 +++++++++++++++++++
1 file changed, 19 insertions(+)
|
|
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(+)
|
|
Co-authored-by: Yuta Saito <kateinoigakukun@gmail.com>
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/4011
|
|
Get rid of races in parallel configuration when using the
ext/Setup file.
|
|
This reverts commit 69e209a3450bd6b281dcad1d96a34e9cab184845.
The debug has finishted.
|
|
|
|
|
|
|
|
* 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
|
|
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@62912 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
* ext/extmk.rb: exclude extension libraries recursively.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@61643 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
* 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
|
|
* 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
|
|
* 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
|
|
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
|
|
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57796 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
* 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
|
|
* 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
|
|
* 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
|
|
* 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
|
|
* 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
|
|
* 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
|
|
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57424 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
* 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
|
|
* 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
|
|
* 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
|
|
* 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
|
|
* 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
|
|
* 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
|
|
* 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
|
|
* 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
|
|
* 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
|
|
* 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
|
|
* 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
|
|
* 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
|
|
* 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
|
|
* 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
|
|
* 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
|
|
* 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
|