summaryrefslogtreecommitdiff
path: root/configure.ac
AgeCommit message (Collapse)Author
7 daysFail if the Ruby specified with `--with-baseruby` is too oldNobuyoshi Nakada
If the baseruby is explicitly specified, fail because the option is not accepted if it does not meet the requirements. If the option is not specified, just display the warning and continue, in the hope that it is not needed. Follow up GH-15809
8 daysSupport customizable rustc_flags for rustc builds.Jarek Prokop
Add `rustc_flags` option for configure that appends to RUSTC_FLAGS flags used when compiling with rustc for customizable build flags. It appends to existing defaults in RUSTC_FLAGS. Co-authored-by: Alan Wu <XrXr@users.noreply.github.com>
8 daysShow a more verbose message if BASERUBY is too oldMatt Valentine-House
2025-12-14[Bug #21779] Do not export InitVM functionsNobuyoshi Nakada
Fix ruby/io-console#105.
2025-12-11ZJIT: s/checking possible to build ZJIT/checking prerequisites for ZJIT/Alan Wu
Reads better to me: > checking prerequisites for ZJIT... yes
2025-12-11Tune AS_CASE indentation style and remove `[*]` for default caseAlan Wu
There are many indentation styles for AS_CASE in this file but no one uses `[*]` for the default case.
2025-12-11Remove an excess closing bracketNobuyoshi Nakada
2025-12-10JITs: Drop cargo and use just rustc for release combo buildAlan Wu
So we don't expose builders to network flakiness which cannot be worked around using cargo's --offline flag.
2025-12-05ZJIT: Build by default when build environment allowsAlan Wu
"Default" means when `--enable-zjit` is absent from `./configure` arguments.
2025-12-05ZJIT: configure.ac: Look for GNU make when detecting build environmentAlan Wu
Building ZJIT requires GNU make at the moment. To get access to `$gnumake`, lift the `make` flavour detection up to the environment section, before the JIT section runs.
2025-12-05ZJIT: configure.ac logic to detect suitable build environmentAlan Wu
This runs the detection, but does nothing with the result. * Fixed version requirement in messages -- ZJIT requires >= 1.85 unlike YJIT. * New: Detect when rust 1.85 is available, and neither --enable-yjit nor --enable-zjit is passed to ./configure, include both YJIT and ZJIT in the build
2025-11-30Set DESTDIR if relative loadingNobuyoshi Nakada
When relative loading, `prefix` makes no sense actually. Use the given (or default) path as `DESTDIR` instead. This change affects only when the relative loading is enabled and the destdir is not given, and does not change the final installation path, but makes the configuration options simpler a little.
2025-11-26Reset the cache variable before retryingNobuyoshi Nakada
2025-11-25Try libatomic only if necessaryNobuyoshi Nakada
2025-11-25Reapply "Fix stdatomic case in `rbimpl_atomic_u64_fetch_add`"Nobuyoshi Nakada
This reverts commit 8a68dc7bdd3d1c97677a6633a4f2b5e524c492ae.
2025-11-24Revert "Fix stdatomic case in `rbimpl_atomic_u64_fetch_add`" (#15311)Max Bernstein
This reverts commit d3b6f835d565ec1590059773fc87589ddf8adc37. This broke the Docker builds and presumably also 32-bit machines that don't already have libatomic installed.
2025-11-22Fix stdatomic case in `rbimpl_atomic_u64_fetch_add`Nobuyoshi Nakada
On some platoforms, 64bit atomic operations need the dedicated helper library.
2025-11-19Win32: Allow some mingw implemeations to use old msvcrtNobuyoshi Nakada
2025-11-19Win32: Drop support for older than MSVC 12.0/_MSC_VER 1800Nobuyoshi Nakada
Visual C++ 2013 (12.0): - _MSC_VER: 1800 - MSVCRT_VERSION: 120
2025-11-19Win32: Drop support for older than MSVC 9.0/_MSC_VER 1500Nobuyoshi Nakada
Visual C++ 2008 (9.0): - _MSC_VER: 1500 - MSVCRT_VERSION: 90
2025-11-19Win32: Drop support for older than MSVC 8.0/_MSC_VER 1400Nobuyoshi Nakada
Visual C++ 2005 (8.0): - _MSC_VER: 1400 - MSVCRT_VERSION: 80
2025-10-17Disable shorten-64-to-32 warning on IL32LLP64Nobuyoshi Nakada
Disable the shorten-64-to-32 warning for now, because it currently generates a lot of warnings on platforms where `sizeof(void*)` is larger than `sizeof(long)`. TODO: Replace `long` with `ptrdiff_t` or something in the all sources.
2025-10-17win32: OBJCOPY is not needed on Windows in favor of def fileNobuyoshi Nakada
2025-10-17configure.ac: Update caches for functions defined in win32.cNobuyoshi Nakada
2025-09-17Revert "Already git 2.32 is expected in doc/contributing/building_ruby.md"Nobuyoshi Nakada
This reverts commit fbc7e935761d892ba6c031256ccbb914963e4ce1. Failures with "GCC 8" and "clang 12". ``` /github/workspace/src/tool/lib/vcs.rb:57:in `system': Command failed with status (pid 7385 exit 128): ["git", "config", "--global", "--add", "safe.directory", "/github/workspace/src"] (RuntimeError) ```
2025-09-17Already git 2.32 is expected in doc/contributing/building_ruby.mdNobuyoshi Nakada
2025-09-16ZJIT: Debug mechanism to verify leafness for `gen_prepare_call_with_gc` (#14553)André Luiz Tiago Soares
* functional debug mechanism; small refactor * make all tests pass * clean up implementation of debug mechanism for gen_prepare_call_with_gc * revert unnecessary change to gen_object_alloc * make ObjectAlloc non-leaf * fix merge error; reintroduce accidentally deleted counter * remove outdated comment * changes as per review comments * make set_stack_canary more stable * add todo comment to specialize object_alloc * revert whitespace changes * create gen_prepare_leaf_call_with_gc helper * fix spacing
2025-09-16Suppress verification messagesNobuyoshi Nakada
`log.showSignature` configuration and `--no-show-signature` option was added at git 2.10.0.
2025-09-16Reject git command that does not accept `-C` optionNobuyoshi Nakada
2025-09-11ZJIT: Move jit.rs to ruby.rs and create a shared crate `jit`Aiden Fox Ivey
* ruby.rs should hold the main entrypoint to YJIT and ZJIT * The crate jit will hold code shared between them
2025-09-03Remove obsolete option `--enable-mathn`Nobuyoshi Nakada
The code has been removed already, and the latest mathn is refactored to use refinements.
2025-08-28Abandon `ruby` target on the others than GNU makeNobuyoshi Nakada
The default non-transformed name, `ruby` target was added for the case of `--program-transform-name` and similars, but it was occasionally added even when no such option is used.
2025-08-21Drop a workaround for CentOS 6Nobuyoshi Nakada
`RUBY_CXX_DEPRECATED` is overridden using `RBIMPL_ATTR_DEPRECATED` in include/ruby/backward/2/attributes.h already.
2025-08-20`cd` using the physical directory from symlinked build directoryNobuyoshi Nakada
2025-08-19Gererate prism source files dependencies from template.rbNobuyoshi Nakada
Update included file list automatically.
2025-08-18Gererate prism source files dependencies from template.rbNobuyoshi Nakada
2025-07-29ZJIT: Add --zjit-stats (#14034)Takashi Kokubun
2025-07-25Split autogenerated dependency to depend file from common.mkHiroshi SHIBATA
2025-07-24Disable TSAN for rb_gc_mark_machine_contextJohn Hawthorn
Previously this was listed as a suppression, but we actually want this permanently unsanitized. This should be faster and more reliable since TASN won't have to match against symbolicated backtraces.
2025-07-17Revert "Suppress occasional autoconf warnings"Nobuyoshi Nakada
This reverts commit 32bfb61d349b49ddedb7d34d9e434063324aafcc, that requires autoconf 2.70's improved whitespace handling. It is too early for some platforms yet. Fix GH-13910
2025-07-16ZJIT: Have `make zjit-test` use the same Cargo features as minirubyAlan Wu
This is so that e.g. building with `--enable-zjit=dev` will test with the disassembly feature. It makes more sense, saves on build time and reveals that `backend::arm64::tests::sp_movements_are_single_instruction` was in fact failing with the `disasm` feature.
2025-07-16Suppress occasional autoconf warningsNobuyoshi Nakada
``` configure.ac:2803: warning: AC_CHECK_FUNCS(\ ): you should use literals ../autoconf-2.72/lib/autoconf/functions.m4:117: AC_CHECK_FUNCS is expanded from... ../autoconf-2.72/lib/m4sugar/m4sh.m4:697: AS_IF is expanded from... ```
2025-06-04Check for 64bit atomic operationsNobuyoshi Nakada
May not be supported on some 32bit architectures. ``` /usr/lib/gcc-cross/m68k-linux-gnu/14/../../../../m68k-linux-gnu/bin/ld: ../../libruby-static.a(vm.o): in function `rbimpl_atomic_u64_set_relaxed': /home/ubuntu/build/ruby/master/m68k-linux/../src/ruby_atomic.h:60:(.text+0x2468): undefined reference to `__atomic_store_8' /usr/lib/gcc-cross/m68k-linux-gnu/14/../../../../m68k-linux-gnu/bin/ld: ../../libruby-static.a(vm.o): in function `rbimpl_atomic_u64_load_relaxed': /home/ubuntu/build/ruby/master/m68k-linux/../src/ruby_atomic.h:43:(.text+0x2950): undefined reference to `__atomic_load_8' ``` Notes: Merged: https://github.com/ruby/ruby/pull/13509
2025-05-28ZJIT: Add --enable-zjit=dev_nodebug (#13456)Takashi Kokubun
Notes: Merged-By: k0kubun <takashikkbn@gmail.com>
2025-05-20Silence error messages of `cd` to non-existent opt directoriesNobuyoshi Nakada
2025-05-19ZJIT: Propagate disasm feature to ZJIT and YJIT (#13372)Takashi Kokubun
Co-authored-by: Alan Wu <alansi.xingwu@shopify.com> Notes: Merged-By: k0kubun <takashikkbn@gmail.com>
2025-05-15YJIT: ZJIT: Allow both JITs in the same buildAlan Wu
This commit allows building YJIT and ZJIT simultaneously, a "combo build". Previously, `./configure --enable-yjit --enable-zjit` failed. At runtime, though, only one of the two can be enabled at a time. Add a root Cargo workspace that contains both the yjit and zjit crate. The common Rust build integration mechanisms are factored out into defs/jit.mk. Combo YJIT+ZJIT dev builds are supported; if either JIT uses `--enable-*=dev`, both of them are built in dev mode. The combo build requires Cargo, but building one JIT at a time with only rustc in release build remains supported. Notes: Merged: https://github.com/ruby/ruby/pull/13262
2025-05-12Detect `clock_gettime` and `clock_getres` for winpthreadsNobuyoshi Nakada
Notes: Merged: https://github.com/ruby/ruby/pull/13304
2025-05-02YJIT: ZJIT: Share identical glue functionsAlan Wu
Working towards having YJIT and ZJIT in the same build, we need to deduplicate some glue code that would otherwise cause name collision. Add jit.c for this and build it for YJIT and ZJIT builds. Update bindgen to look at jit.c; some shuffling of functions in the output, but the set of functions shouldn't have changed. Notes: Merged: https://github.com/ruby/ruby/pull/13229
2025-04-18Enable YJIT by defaultTakashi Kokubun
Notes: Merged: https://github.com/ruby/ruby/pull/13131