| Age | Commit message (Collapse) | Author |
|
c26057ebafb23b063190d31d5b4d19a0e0a1306c: [Backport #21779]
[Bug #21779] Uniquify `InitVM` functions as well as `Init`
Avoid possible name conflict when `--with-static-linked-ext`.
[Bug #21779] Do not export InitVM functions
Fix ruby/io-console#105.
|
|
[Bug #21546] Make the generated pc file relocatable
|
|
2fe8b9cd3d308d754f3d33a948dfb1dd782a10dc: [Backport #21327]
digest.so needs ruby/digest.h which is installed by build-ext
Copy to path with the base name
|
|
This reverts commit 5bb946228550c7f171c27725860b153a675404f3.
Fixes https://bugs.ruby-lang.org/issues/20072
|
|
|
|
This reverts commit 1d5598fe0d3470e7cab06a756d40a9221fcd501b.
|
|
During the build, Ruby has special logic to serialize its own builtin
module to disk using the binary iseq format during the build (I assume
for speed so it doesn't have to parse builtin every time it starts
up).
However, since iseq format is architecture-specific, when building on
x86_64 for universal x86_64 + arm64, the serialized builtin module is
written with the x86_64 architecture of the build machine, which fails
this check whenever ruby imports the builtin module on arm64:
https://github.com/ruby/ruby/blob/1fdaa0666086529b3aae2d509a2e71c4247c3a12/compile.c#L13243
Thankfully, there's logic to disable this feature for cross-compiled builds:
https://github.com/ruby/ruby/blob/1fdaa0666086529b3aae2d509a2e71c4247c3a12/builtin.c#L6
This disables the iseq logic for universal builds as well.
Fixes [Bug #18286]
|
|
Not to affect other tools invoked as child processes.
|
|
On some platforms, such as FreeBSD and Oracle Linux, symbols defined
in the crt0 setup routine are exported from shared libraries. So
ignore the symbols that would be exported even in an empty shared
library.
|
|
It does not need to be an absolute path.
|
|
|
|
`$(MAINLIBS)` should be included in `$(LIBRUBYARG)` in cases it is
needed.
Notes:
Merged: https://github.com/ruby/ruby/pull/8233
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/8224
|
|
|
|
|
|
`$(MAINLIBS)` should include `$(LIBS)` already.
|
|
Notes:
Merged-By: k0kubun <takashikkbn@gmail.com>
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/8040
|
|
Add yarp to common.mk and windows builds to enable us to run yarp
correctly with CI.
Notes:
Merged: https://github.com/ruby/ruby/pull/7964
|
|
https://bugs.ruby-lang.org/issues/19637
Co-authored-by: Nobuyoshi Nakada <nobu@ruby-lang.org>
Notes:
Merged: https://github.com/ruby/ruby/pull/7798
Merged-By: yui-knk <spiketeika@gmail.com>
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/7643
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/7462
|
|
|
|
|
|
|
|
|
|
RJIT doesn't need this.
Notes:
Merged-By: k0kubun <takashikkbn@gmail.com>
|
|
This instructs make to delete target files if the recipe fails midway, like
when make itself is interrupted. This is mostly for development since it
protects against corrupt builds that need a `make clean` to repair. Release
builds normally don't fail mid-recipe.
GNU make and BSD make support this.
From GNU make's manual:
> This is almost always what you want make to do, but it is not historical
> practice; so for compatibility, you must explicitly request it.
See https://innolitics.com/articles/make-delete-on-error/
Notes:
Merged: https://github.com/ruby/ruby/pull/5745
Merged-By: XrXr
|
|
|
|
Rust 1.58.0 unfortunately doesn't provide facilities to control symbol
visibility/presence, but we care about controlling the list of
symbols exported from libruby-static.a and libruby.so.
This commit uses `ld -r` to make a single object out of rustc's
staticlib output, libyjit.a. This moves libyjit.a out of MAINLIBS and adds
libyjit.o into COMMONOBJS, which obviates the code for merging libyjit.a
into libruby-static.a. The odd appearance of libyjit.a in SOLIBS is also
gone.
To filter out symbols we do not want to export on ELF platforms, we use
objcopy after the partial link. On darwin, we supply a symbol list to
the linker which takes care of hiding unprefixed symbols.
[Bug #19255]
Co-authored-by: Nobuyoshi Nakada <nobu@ruby-lang.org>
Notes:
Merged: https://github.com/ruby/ruby/pull/7115
|
|
|
|
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/7137
|
|
Since `REVISION_H` is defined in common.mk which is appended or
included after Makefile.in, it was undefined yet at the point of the
dependency.
|
|
|
|
|
|
|
|
There's no mjit_compile.inc, so no need to use this prefix anymore.
|
|
|
|
>fgrep: warning: fgrep is obsolescent; using ggrep -F
Notes:
Merged: https://github.com/ruby/ruby/pull/6586
|
|
This make variable is very useful for daily build.
Notes:
Merged: https://github.com/ruby/ruby/pull/6433
Merged-By: nobu <nobu@ruby-lang.org>
|
|
as suggested by nobu. We don't really need to generate this for Windows,
but using common.mk whenever possible would probably make maintenance
easier.
Notes:
Merged: https://github.com/ruby/ruby/pull/6398
|
|
and leverage that to preserve the directory structure under tool/ruby_vm/views
|
|
This reverts commit 62ec621f8c7457374d1f08aec97138ac1b7bdf2a.
will revisit this once fixing non-MJIT targets
|
|
for nested target directories
|
|
|
|
When the build is running with a base ruby then generating `x64-ucrt-ruby320.rc`
could fail due to a missing dependency to `x64-mingw-ucrt-fake.rb`.
This commit adds this dependency.
A failing build looks like so:
```
generating x64-mingw-ucrt-fake.rb
generating x64-ucrt-ruby320.rc
../snapshot-master/win32/resource.rb:in `require': cannot load such file -- ./x64-mingw-ucrt-fake (LoadError)
make: *** [GNUmakefile:57: x64-ucrt-ruby320.rc] Error 1
make: *** Waiting for unfinished jobs....
linking miniruby.exe
x64-mingw-ucrt-fake.rb updated
```
Notes:
Merged: https://github.com/ruby/ruby/pull/6347
|
|
|
|
|
|
Notes:
Merged-By: k0kubun <takashikkbn@gmail.com>
|