432 Commits

Author SHA1 Message Date
Nobuyoshi Nakada
e26e8423b5 Suppress gcc 15 unterminated-string-initialization warnings 2025-07-24 14:39:20 +09:00
nagachika
2fbae07c42 merge revision(s) bcb3247072e6973d0f6b50ca5fed238d5824bd28: [Backport #20500]
[Bug #19778] Pass additional include options to INCFLAGS in common.mk
2024-10-20 14:19:52 +09:00
nagachika
2d686e1019 merge revision(s) ae8990aef098410ecc2b5f48fea9d7d171a3c5f6: [Backport #20183]
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.
2024-05-16 11:36:47 +09:00
nagachika
3960d894d9 merge revision(s) 665b4c5b2a31078d7db0173ad60daad0b463c1fd,642875e474b4e6a13770b1dbbc33d466ba5e0718,54b9b80b84760717aadb8bf67f638785ed895a58,361bce8d2c4c90a01eb3b7365a87dec0d93bb2b6: [Backport #19967]
[Bug #19967] Reset `LIBPATHENV` env after started

	Not to affect other tools invoked as child processes.
	---
	 common.mk            | 3 ++-
	 template/Makefile.in | 3 +++
	 template/fake.rb.in  | 3 +++
	 tool/fake.rb         | 8 ++++++++
	 4 files changed, 16 insertions(+), 1 deletion(-)

	[Bug #19967] Revert "configure.ac: LIBPATHENV on macOS"

	This reverts commit 1961c786aab243b3eb60e7238224e87975d88056.  These
	environment variables should no longer propagate to child processes.
	---
	 configure.ac | 2 +-
	 1 file changed, 1 insertion(+), 1 deletion(-)

	[Bug #19967] Delete real path

	---
	 tool/fake.rb | 3 ++-
	 1 file changed, 2 insertions(+), 1 deletion(-)

	[Bug #19967] Ignore library before build

	---
	 tool/fake.rb | 2 +-
	 1 file changed, 1 insertion(+), 1 deletion(-)
2024-02-25 00:23:21 +09:00
nagachika
9f5c32ce85 merge revision(s) 99162dee7aa478d8a65f028b098bdaa69e1ecad5: [Backport #19751]
[Bug #19751] Remove linemarkers in middle

	---
	 template/fake.rb.in | 1 +
	 1 file changed, 1 insertion(+)
2023-07-29 13:54:10 +09:00
Nobuyoshi Nakada
5716c0f1f8
MSVS lacks touch [ci skip] 2022-12-20 17:53:41 +09:00
Nobuyoshi Nakada
0344283fd3
Fix missing parentheses [ci skip] 2022-12-20 16:07:10 +09:00
Nobuyoshi Nakada
7a976c1060
[Bug #19181] Separate the rule for unicode_normalize/tables.rb timestamp
It should depends on only existing data files (except for the tools),
unless `ALWAYS_UPDATE_UNICODE=yes`.
2022-12-10 13:58:20 +09:00
卜部昌平
940b3170c1 document for commit 5bbba76489628f450949 [ci skip] 2022-12-07 15:09:12 +09:00
Nobuyoshi Nakada
30379e33c3
Handle depend files on nmake 2022-12-05 17:09:49 +09:00
Takashi Kokubun
a1d70f5b12 MJIT: Rename mjit_compile_attr to mjit_sp_inc
There's no mjit_compile.inc, so no need to use this prefix anymore.
2022-11-29 21:45:34 -08:00
Nobuyoshi Nakada
2f7d2662dd
Control non-parallel parts with .WAIT if available 2022-11-13 23:54:43 +09:00
Nobuyoshi Nakada
60f12c7d2e
Fix infinite loop when out-of-place build 2022-11-02 11:33:08 +09:00
Nobuyoshi Nakada
9b462aec4a
Follow up "Rework first_lineno to be int." 2022-10-28 19:33:19 +09:00
Hiroshi SHIBATA
a25c033805 Suppress warning for fgrep
>fgrep: warning: fgrep is obsolescent; using ggrep -F
2022-10-19 21:10:00 +09:00
Nobuyoshi Nakada
dc7d929e54
Extract RUBY_RELEASE_DATE from also revision.h
This make variable is very useful for daily build.
2022-09-25 22:40:05 +09:00
Takashi Kokubun
45ecc30a63 Move mjit/instruction.rb rule to common.mk
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.
2022-09-18 21:16:15 +09:00
Takashi Kokubun
a988fe0b3e
Introduce --basedir to insns2vm.rb
and leverage that to preserve the directory structure under tool/ruby_vm/views
2022-09-18 14:39:53 +09:00
Takashi Kokubun
12023c833f
Revert "Preserve the directory structure under tool/ruby_vm/views"
This reverts commit 62ec621f8c7457374d1f08aec97138ac1b7bdf2a.

will revisit this once fixing non-MJIT targets
2022-09-18 14:21:40 +09:00
Takashi Kokubun
62ec621f8c
Preserve the directory structure under tool/ruby_vm/views
for nested target directories
2022-09-18 14:19:22 +09:00
Takashi Kokubun
0e816e6d30
Demote mjit_instruction.rb from builtin to stdlib 2022-09-18 14:04:20 +09:00
Lars Kanis
518301883e 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
```
2022-09-10 09:32:27 +09:00
Nobuyoshi Nakada
9faa9ced96 Support sub-library in builtin-loader
Previously, it was supported in prelude.c, but has not followed up the
builtin-loader system.
2022-09-09 15:47:24 +09:00
Nobuyoshi Nakada
be56033248
Move RDoc --/++ directives to comments 2022-09-09 14:23:39 +09:00
Nobuyoshi Nakada
a977c66312
Generate token ID indexes in id.def
Separate the logic accross the tables from the template view for
id.h.
2022-09-08 18:18:56 +09:00
Nobuyoshi Nakada
2d57447ae8
Fix missing replacement in 1f91dcdab3b 2022-09-07 19:07:24 +09:00
Nobuyoshi Nakada
1f91dcdab3
Define BOOTSTRAPRUBY from HAVE_BASERUBY 2022-09-07 14:33:25 +09:00
Takashi Kokubun
3767c6a90d
Ruby MJIT (#6028) 2022-09-04 21:53:46 -07:00
Nobuyoshi Nakada
4d469472e2
Debugging snapshot [ci skip] 2022-09-05 13:08:23 +09:00
Nobuyoshi Nakada
1420333455
Fix fake.rb expansion from preprocessed version.h 2022-09-05 11:25:42 +09:00
Nobuyoshi Nakada
68a092a469
Set fake.rb variables by command line arguments
Then fallbacks to preprocessed version.h.
2022-09-05 11:16:20 +09:00
Nobuyoshi Nakada
7c67d0fd79
Make sources by BASERUBY if available instead of miniruby 2022-09-03 19:25:29 +09:00
Nobuyoshi Nakada
6f5305e0d2
Exclude LIBPATHENV wrapper from PREP 2022-09-03 19:20:03 +09:00
Nobuyoshi Nakada
bc5b9be1ee
Move duplicate dependencies 2022-09-03 15:01:05 +09:00
Nobuyoshi Nakada
2b967cd4b7
Let fake.rb allow newlines in expanded strings 2022-08-31 17:56:31 +09:00
Nobuyoshi Nakada
a58a429f8b
Silent configure does not output cached configurations 2022-08-14 14:42:10 +09:00
Nobuyoshi Nakada
32d1ce96e0
Fix race conditions when cleaning extensions
Clean built directories by `make distclean`, and then clean leftover
makefiles for skipped extensions.
2022-08-11 17:45:57 +09:00
Nobuyoshi Nakada
0c9803b0fd
The "gems" build directory was rename as ".bundle" 2022-08-11 17:45:39 +09:00
Nobuyoshi Nakada
26054c7461
Fix paths of exts.mk to clean
exts.mk files are one level under the top of extension directories.
2022-08-11 17:43:46 +09:00
Nobuyoshi Nakada
74d95744bd
Add --enable-devel configure option
Since `RUBY_DEVEL` in cppflags has no effect in the configure script
and makefiles.
2022-08-11 11:34:52 +09:00
Takashi Kokubun
5b21e94beb Expand tabs [ci skip]
[Misc #18891]
2022-07-21 09:42:04 -07:00
Jakub Kulík
31bd79dda3
Add yjit.o to DTRACE_DEPENDENT_OBJS
In principle, we have a DTrace probe in yjit.c, so yjit.o should be
in DTRACE_DEPENDENT_OBJS for DTRACE_REBUILD=yes builds. This commit
adds to the list.

In practice DTRACE_REBUILD=yes implies the system has a Solaris-like
DTrace and YJIT doesn't support those systems. YJIT_OBJ expands to
nothing, and yjit.c isn't compiled.

I tested on OmniOS v11 r151034m with:

    $ ../src/configure --with-out-ext=psych MAKE=gmake AR=ar debugflags=-g
    $ gmake -j

It builds before and after this change.

[Bug #18480]
2022-05-30 18:30:57 -04:00
Nobuyoshi Nakada
11793f897c
Reduce duplicate replacements
Reduce duplicate replacements so that reflect macros in command lines
consitently.  So that reflect macros in command lines.  Others than
`nmake` have no problems with nested expansions.
2022-05-30 12:03:57 +09:00
Nobuyoshi Nakada
cdfb027213
Run find in PATH [ci skip] 2022-05-25 18:26:24 +09:00
Nobuyoshi Nakada
0114c72df0
Clean intermediate files for update-deps [ci skip] 2022-05-25 15:06:47 +09:00
Nobuyoshi Nakada
97c12c5f69 Clean intermediate object files 2022-05-18 14:33:00 +09:00
Nobuyoshi Nakada
9a0f5a8edc Verbose mode on libyjit merge 2022-05-18 14:33:00 +09:00
Nobuyoshi Nakada
9b3ed5a23f Extract YJIT_LIBS directly without copying 2022-05-18 14:33:00 +09:00
Nobuyoshi Nakada
3db8db8a32 AR does not need the absolute path
Still use `find` to get rid of potential ARGV limit overflow, since
rustc-genrated object file names are mangled and very long.
2022-05-18 14:33:00 +09:00
Nobuyoshi Nakada
2411f0ad8c
Set target_os for a7577dbfd3ea53cccf7aaf94208069784ad17791 2022-05-17 12:14:32 +09:00