summaryrefslogtreecommitdiff
path: root/template
AgeCommit message (Collapse)Author
2025-11-08Win: Strip CRs from `cpp` and `nm` outputNobuyoshi Nakada
The combination of mingw tools and cygin/msys2 ruby leaves CRs.
2025-09-14merge revision(s) 7c28fb2fb2544e5fed75ef216c4dd08084b38671: [Backport #21546]nagachika
[Bug #21546] Make the generated pc file relocatable
2025-07-20merge revision(s) b42afa1dbcbb91e89852b3b3bc72484d7f0a5528, ↵nagachika
67b91e780798b80038dbfb39a06831918a75259f, f1f0cc14cc7d3f9be35b203e5583f9224b1e2387, 543e3a1896ae2fe3b5b954f6497d261ab5663a15, ed2806117a0b76e4439ce1a061fae21d9e116d69, 46e4c8673747de96838d2c5dec37446d23d99d88: [Backport #21497] Suppress gcc 15 unterminated-string-initialization warnings Drop an ignored attribute MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit GCC 13.3.0 (Ubuntu 24.04) emits the following warning: ../symbol.c: In function ‘rb_id_attrset’: ../symbol.c:175:9: warning: ‘nonstring’ attribute ignored on objects of type ‘const char[][8]’ [-Wattributes] 175 | RBIMPL_ATTR_NONSTRING() static const char id_types[][8] = { | ^~~~~~~~~~~~~~~~~~~~~ Separate `__has_attribute` from `defined(__has_attribute)` Fix Visual C warnings: ``` regenc.h(121): warning C4067: unexpected tokens following preprocessor directive - expected a newline ``` Cast up `int` instruction code to `VALUE` Fix Visual C warnings: ``` iseq.c(3793): warning C4312: 'type cast': conversion from 'int' to 'void *' of greater size iseq.c(3794): warning C4312: 'type cast': conversion from 'int' to 'void *' of greater size ``` Do not let files depend on a phony target Detect `clock_gettime` and `clock_getres` for winpthreads
2025-05-18merge revision(s) b48b841378f80e16378ceb83f3b78e52df9ae023, ↵nagachika
2fe8b9cd3d308d754f3d33a948dfb1dd782a10dc: [Backport #21327] digest.so needs ruby/digest.h which is installed by build-ext Copy to path with the base name
2024-03-21merge revision(s) ae8990aef098410ecc2b5f48fea9d7d171a3c5f6: [Backport ↵NARUSE, Yui
#20183] (#10310) 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.
2023-12-20Revert "[Bug #19831] Remove duplicate library options"Mikhail Doronin
This reverts commit 5bb946228550c7f171c27725860b153a675404f3. Fixes https://bugs.ruby-lang.org/issues/20072
2023-12-10Move `DOT_WAIT` before including Makefile that is using it [ci skip]Nobuyoshi Nakada
2023-11-09[Bug #18286] Make builtin binary if sharable in universal binariesNobuyoshi Nakada
2023-11-09Revert "Disable iseq-dumped builtin module for universal x86_64/arm64 binaries"Nobuyoshi Nakada
This reverts commit 1d5598fe0d3470e7cab06a756d40a9221fcd501b.
2023-11-09Disable iseq-dumped builtin module for universal x86_64/arm64 binariesBen Hamilton
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]
2023-10-21[Bug #19967] Reset `LIBPATHENV` env after startedNobuyoshi Nakada
Not to affect other tools invoked as child processes.
2023-10-14Ignore symbols even in empty shared libraryNobuyoshi Nakada
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.
2023-09-21Move YARP_BUILD_DIR to common.mkNobuyoshi Nakada
It does not need to be an absolute path.
2023-09-17[Bug #19778] Pass additional include options to INCFLAGS in common.mkNobuyoshi Nakada
2023-08-24Escape non-ascii characters in prelude C commentsNobuyoshi Nakada
Non-ASCII code are often warned by localized compilers. Notes: Merged: https://github.com/ruby/ruby/pull/8276
2023-08-17[Bug #19831] Remove duplicate library optionsNobuyoshi Nakada
`$(MAINLIBS)` should be included in `$(LIBRUBYARG)` in cases it is needed. Notes: Merged: https://github.com/ruby/ruby/pull/8233
2023-08-17RJIT: Remove macros inherited from MJIT but no longer usedNobuyoshi Nakada
Notes: Merged: https://github.com/ruby/ruby/pull/8224
2023-08-14Fix test and precheck order for old GNU MakeNobuyoshi Nakada
2023-08-11Group test-syntax-suggest and leaked-globals [ci skip]Nobuyoshi Nakada
2023-08-11[Bug #19831] Remove duplicate library optionsNobuyoshi Nakada
`$(MAINLIBS)` should include `$(LIBS)` already.
2023-07-27Clean up OPT_STACK_CACHING (#8132)Takashi Kokubun
Notes: Merged-By: k0kubun <takashikkbn@gmail.com>
2023-07-25[Bug #19751] Remove linemarkers in middleNobuyoshi Nakada
Notes: Merged: https://github.com/ruby/ruby/pull/8115
2023-07-21Add comments to id.h and undef finished macrosNobuyoshi Nakada
2023-07-08leaked-globals: check leaked symbols in libruby.so if enable-sharedNobuyoshi Nakada
Notes: Merged: https://github.com/ruby/ruby/pull/8040
2023-07-01[Bug #19728] Auto-generate unicode property docsJanosch Müller
https://bugs.ruby-lang.org/issues/19728 Notes: Merged: https://github.com/ruby/ruby/pull/7944 Merged-By: nobu <nobu@ruby-lang.org>
2023-06-29template/Doxyfile.tmpl: modernise卜部昌平
applied doxygen -g for Doxygen 1.9.7. Notes: Merged: https://github.com/ruby/ruby/pull/7986
2023-06-21[Feature #19741] Add yarp to buildsJemma Issroff
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
2023-06-19Remove `--jobserver-auth` option which varies for each runNobuyoshi Nakada
2023-06-18Fix rb_compile_option_t comments [ci skip]yui-knk
Notes: Merged: https://github.com/ruby/ruby/pull/7954
2023-06-12[Feature #19719] Universal Parseryui-knk
Introduce Universal Parser mode for the parser. This commit includes these changes: * Introduce `UNIVERSAL_PARSER` macro. All of CRuby related functions are passed via `struct rb_parser_config_struct` when this macro is enabled. * Add CI task with 'cppflags=-DUNIVERSAL_PARSER' for ubuntu. Notes: Merged: https://github.com/ruby/ruby/pull/7927
2023-05-12Use Lrama LALR parser generator instead of Bisonv3_3_0_preview1Yuichiro Kaneko
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>
2023-04-13Use RUBY_PROGRAM_VERSION as version in pkg-config file [ci skip]Nobuyoshi Nakada
So that ABI version is not included in it even on the develepment branch.
2023-04-03Check leaked global symbols by defaultNobuyoshi Nakada
Notes: Merged: https://github.com/ruby/ruby/pull/7643
2023-03-08Check loading built-in binariesNobuyoshi Nakada
Notes: Merged: https://github.com/ruby/ruby/pull/7473
2023-03-06s/mjit/rjit/Takashi Kokubun
Notes: Merged: https://github.com/ruby/ruby/pull/7462
2023-03-06s/MJIT/RJIT/Takashi Kokubun
Notes: Merged: https://github.com/ruby/ruby/pull/7462
2023-03-06Remove obsoleted mjit_sp_inc.inc.erbTakashi Kokubun
2023-03-06Remove obsoleted tool/mjit_tabs.rbTakashi Kokubun
2023-03-06Remove obsoleted mjit_config.hTakashi Kokubun
2023-03-06Stop building mjit_build_dir.soTakashi Kokubun
2023-03-06Drop obsoleted MJIT header (#7458)Takashi Kokubun
RJIT doesn't need this. Notes: Merged-By: k0kubun <takashikkbn@gmail.com>
2023-03-02MSWin: Use MESSAGE_BEGIN/MESSAGE_END instead of bare `echo`Nobuyoshi Nakada
To strip enclosing double quotes.
2023-02-06Add .DELETE_ON_ERROR to MakefileAlan Wu
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
2023-01-31Silence dozens of useless warnings from `nm` on macOSNobuyoshi Nakada
2023-01-27YJIT: Fix shared/static library symbol leaksAlan Wu
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
2023-01-23Silence dozens of useless warnings from `ranlib` on macOS [ci skip]Nobuyoshi Nakada
2023-01-21tool/leaked-globals: ignore function typedef [ci skip]Nobuyoshi Nakada
2023-01-18Switch to use gem version of simplecov, not git cloneHiroshi SHIBATA
Notes: Merged: https://github.com/ruby/ruby/pull/7137
2023-01-14Move the dependency of makefiles on revision header [ci skip]Nobuyoshi Nakada
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.
2022-12-20MSVS lacks `touch` [ci skip]Nobuyoshi Nakada