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(-)
Fix parallel build on MINGW
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
```
---
cygwin/GNUmakefile.in | 4 ++--
template/Makefile.in | 1 +
2 files changed, 3 insertions(+), 2 deletions(-)
Load fake.rb at `BTESTRUBY`
So that `mkmf` checks work from `make run`, and also remove
duplicate `$(MINIRUBYOPT)` which is used in `$(MINIRUBY)`.
---
common.mk | 8 ++++----
template/Makefile.in | 3 +--
template/fake.rb.in | 2 ++
win32/Makefile.sub | 2 +-
4 files changed, 8 insertions(+), 7 deletions(-)
Fix paths of exts.mk to clean
exts.mk files are one level under the top of extension directories.
---
template/exts.mk.tmpl | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
exts.mk.tmpl: propagate MINIRUBY to enc.mk even though invoking from
exts.mk
This is another attempt to fix out-of-src build with
--with-static-linked-ext. The first attempt was
4f1888bda7 but reverted because it broke
out-of-src build from pre-generated sources via `make dist`.
This patch fixes the second trans C source gen, mentioned in the
previous commit message, by passing MINIRUBY as well as when invoking
from common.mk
---
common.mk | 2 +-
template/exts.mk.tmpl | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
Fix race conditions when cleaning extensions
Clean built directories by `make distclean`, and then clean leftover
makefiles for skipped extensions.
---
template/Makefile.in | 4 ++++
1 file changed, 4 insertions(+)
* Rename --jit to --mjit
[Feature #18349]
* Fix a few more --jit references
* Fix MJIT Actions
* More s/jit/mjit/ and re-introduce --disable-jit
* Update NEWS.md
* Fix test_bug_reporter_add
This prevents file-static functions/variables be listed in the CAPI
documents. An entity shall be placed inside of a file that contains
`@file` doxygen comment, in order for it to be documented. [ci skip]
I often feel that C API documents are lacked in C source codes,
especially for static functions. I propose to turn EXTRACT_STATIC = YES
flag of Doxygen to YES, and write document comments for static functions
as much as possible.
* template/Doxyfile.tmpl: EXTRACT_STATIC: YES [Bugs #14037]
I guess we don't want documents for C API of extension libraries? They
are never intended to provide C APIs anyways.
We could revisit this decision later. [ci skip]
Didn't question the current settings. This changeset just re-applied
`doxygen -g` against:
doxygen 1.9.0 (1e72202d8fa0e9d2b3f2a29c88ec4f5790a0a4e2)
[ci skip]