| Age | Commit message (Collapse) | Author |
|
bcb3247072e6973d0f6b50ca5fed238d5824bd28,fe0225ff4d5af8b1f54009727b39d0d9b821eea3: [Backport #19778]
[Bug #19778] Pass additional include options to INCFLAGS in common.mk
---
common.mk | 2 +-
configure.ac | 1 +
template/Makefile.in | 1 +
3 files changed, 3 insertions(+), 1 deletion(-)
[Bug #19778] Add `-I` options for opt-dir to `$INCFLAGS`
These options have been separated from `$CFLAGS` already in the
other places.
---
configure.ac | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
|
|
Use tools appropriate with CC
To get rid of mysterious errors such as:
```
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/nm: error: libruby.3.3-static.a(/): The end of the file was unexpectedly encountered
```
and
```
ld: warning: ignoring file ../../libruby.3.3-static.a, building for macOS-x86_64 but attempting to link with file built for macOS-x86_64
Undefined symbols for architecture x86_64:
"_rb_rational_num", referenced from:
```
---
configure.ac | 6 ++++++
1 file changed, 6 insertions(+)
|
|
[Bug #19161] Check for TLS usability
On all platforms using GCC, even other than darwin.
---
configure.ac | 13 +++++++------
1 file changed, 7 insertions(+), 6 deletions(-)
|
|
Add a comment about confusing code [ci skip]
---
configure.ac | 1 +
1 file changed, 1 insertion(+)
|
|
Exclude LIBPATHENV wrapper from PREP
---
common.mk | 4 ++--
configure.ac | 2 +-
template/Makefile.in | 2 ++
3 files changed, 5 insertions(+), 3 deletions(-)
|
|
mkmf: Add a configure option to set verbose mode (V=1 or 0) in
mkmf.rb.
Note this change is only for `configure.ac`, not for Windows using
`win32/configure.bat`.
```
$ ./configure --help | grep mkmf
--enable-mkmf-verbose enable verbose in mkmf
```
Run the following command to enable the mkmf verbose mode.
```
$ ./configure --enable-mkmf-verbose
$ grep MKMF_VERBOSE config.status
S["MKMF_VERBOSE"]="1"
```
In this mkmf verbose mode, when compiling a native extension, the
`rake compile` prints the compiling commands such as
"gcc -I. <...> path/to/file" instead of "compiling path/to/file".
```
$ git clone https://github.com/deivid-rodriguez/byebug.git
$ cd byebug
$ bundle install --standalone
$ bundle exec rake compile
...
gcc -I. <...> path/to/file
...
```
---
configure.ac | 7 +++++++
lib/mkmf.rb | 3 ++-
2 files changed, 9 insertions(+), 1 deletion(-)
|
|
Define BOOTSTRAPRUBY from HAVE_BASERUBY
---
common.mk | 1 +
configure.ac | 8 --------
template/Makefile.in | 7 +++++--
win32/Makefile.sub | 6 ++++--
4 files changed, 10 insertions(+), 12 deletions(-)
|
|
BOOTSTRAPRUBY needs fake.rb when cross-compiling
---
configure.ac | 1 +
1 file changed, 1 insertion(+)
|
|
Make sources by BASERUBY if available instead of miniruby
---
common.mk | 25 +++++++++++++++----------
configure.ac | 6 +++++-
cygwin/GNUmakefile.in | 4 ++--
template/Makefile.in | 2 +-
win32/Makefile.sub | 10 ++++++++--
5 files changed, 31 insertions(+), 16 deletions(-)
|
|
Check if MSys shell can run a command with a drive letter
---
configure.ac | 10 ++++++++--
1 file changed, 8 insertions(+), 2 deletions(-)
|
|
Remove wrong dollar
---
configure.ac | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
|
|
The warning against `-undefined dynamic_lookup` is just a warning yet,
and many gems seem to pay no attention to warnings. Until it fails
actually, keep it as a migration path, except for standard extension
libraries and bundled extension gems.
|
|
|
|
e2b47b832f53b2fd0626774a573a22c15a933c64,f512df73986c74e2f4bd65ca642879a0618da213,2e25b85a7e4268676fcdf17b5975c2fd60066ce1: [Backport #19014]
configure.ac: Manage OPT_DIR better (#6367)
* Check rpath flag earlier
* Manage OPT_DIR at once
---
configure.ac | 97 +++++++++++++++++++++++++++---------------------------------
1 file changed, 43 insertions(+), 54 deletions(-)
configure.ac: Add --with-gmp-dir (#6366)
Add the `--with-gmp-dir` to specify the prefix directory of GMP.
The`--without-gmp` option is preserved for convenience. It can
be used to force to reject using GMP even if the `--with-gmp-dir`
option is specified.
---
configure.ac | 14 +++++++++-----
1 file changed, 9 insertions(+), 5 deletions(-)
configure.ac: Apply suggestions from code review in #6366
Co-authored-by: Nobuyoshi Nakada <nobu@ruby-lang.org>
---
configure.ac | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
|
|
Co-authored-by: Yuta Saito <kateinoigakukun@gmail.com>
|
|
Remove dependency on libcapstone
We have received reports of build failures due to this configuration
check modifying compile flags. Since only YJIT devs use this library
we can remove it to make Ruby easier to build for users.
See: https://github.com/rbenv/ruby-build/discussions/1933
---
configure.ac | 9 ---------
1 file changed, 9 deletions(-)
|
|
Replace `exec_prefix` in includedir as well as bindir, libdir, and
so on. [Bug #18373]
Notes:
Merged: https://github.com/ruby/ruby/pull/5318
|
|
Set the alternative memory management library only as a platform
specific library, without other libraries.
Notes:
Merged: https://github.com/ruby/ruby/pull/5223
|
|
The madvise() declaration should always be compiled on Solaris
to check whether the declaration is good on the environment.
For the purpose, the #if line is unnecessary.
(There was also a trivial typo that the #if was not closed
by #endif and the check always failed with preprocessor error.)
|
|
|
|
|
|
SunC
```
"cont.c", line 24: identifier redeclared: madvise
current : function(pointer to char, unsigned int, int) returning int
previous: function(pointer to void, unsigned int, int) returning int : "/usr/include/sys/mman.h", line 232
```
GCC
```
cont.c:24:12: error: conflicting types for 'madvise'
24 | extern int madvise(caddr_t, size_t, int);
| ^~~~~~~
In file included from cont.c:16:
/usr/include/sys/mman.h:232:12: note: previous declaration of 'madvise' was here
232 | extern int madvise(void *, size_t, int);
| ^~~~~~~
```
|
|
On Solaris, madvise(3C) is NOT defined for SUS (XPG4v2) or later,
but MADV_* macros are defined when __EXTENSIONS__ is defined.
This may cause compile error on Solaris 10 with GCC when
"-Werror=implicit-function-declaration" and "-D_XOPEN_SOURCE=600"
are added by configure.
|
|
... to absorb a change on Ubuntu 21.10
|
|
This is a first step to allow the thread-model implementation to be
switched by configure's option
Notes:
Merged: https://github.com/ruby/ruby/pull/5043
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/5034
|
|
|
|
|
|
This lets us use libcapstone directly from miniruby so we don't need a
Ruby Gem to to dev work.
Example usage:
```ruby
def foo(x)
if x < 1
"wow"
else
"neat"
end
end
iseq = RubyVM::InstructionSequence.of(method(:foo))
puts UJIT.disasm(iseq)
100.times { foo 1 }
puts UJIT.disasm(iseq)
```
Then in the terminal
```
$ ./miniruby test.rb
== disasm: #<ISeq:foo@test.rb:1 (1,0)-(7,3)> (catch: FALSE)
local table (size: 1, argc: 1 [opts: 0, rest: -1, post: 0, block: -1, kw: -1@-1, kwrest: -1])
[ 1] x@0<Arg>
0000 getlocal_WC_0 x@0 ( 2)[LiCa]
0002 putobject_INT2FIX_1_
0003 opt_lt <calldata!mid:<, argc:1, ARGS_SIMPLE>
0005 branchunless 10
0007 putstring "wow" ( 3)[Li]
0009 leave ( 7)[Re]
0010 putstring "neat" ( 5)[Li]
0012 leave ( 7)[Re]
== ISEQ RANGE: 10 -> 10 ========================================================
0x0: movabs rax, 0x7fe816e2d1a0
0xa: mov qword ptr [rdi], rax
0xd: mov r8, rax
0x10: mov r9, rax
0x13: mov r11, r12
0x16: jmp qword ptr [rax]
== ISEQ RANGE: 0 -> 7 ==========================================================
0x0: mov rax, qword ptr [rdi + 0x20]
0x4: mov rax, qword ptr [rax - 0x18]
0x8: mov qword ptr [rdx], rax
0xb: mov qword ptr [rdx + 8], 3
0x13: movabs rax, 0x7fe817808200
0x1d: test byte ptr [rax + 0x3e6], 1
0x24: jne 0x3ffff7b
0x2a: test byte ptr [rdx], 1
0x2d: je 0x3ffff7b
0x33: test byte ptr [rdx + 8], 1
0x37: je 0x3ffff7b
0x3d: mov rax, qword ptr [rdx]
0x40: cmp rax, qword ptr [rdx + 8]
0x44: movabs rax, 0
0x4e: movabs rcx, 0x14
0x58: cmovl rax, rcx
0x5c: mov qword ptr [rdx], rax
0x5f: test qword ptr [rdx], -9
0x66: jne 0x3ffffd5
```
Make sure to `brew install pkg-config capstone`
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/4980
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/4978
|
|
Fixes [Bug #18000]
Notes:
Merged: https://github.com/ruby/ruby/pull/4737
|
|
[BCryptGenRandom] is available since Windows Vista / Windows
Server 2008.
Regarding [CryptGenRandom]:
> This API is deprecated. New and existing software should start
> using Cryptography Next Generation APIs. Microsoft may remove
> this API in future releases.
[BCryptGenRandom]: https://docs.microsoft.com/en-us/windows/win32/api/bcrypt/nf-bcrypt-bcryptgenrandom
[CryptGenRandom]: https://docs.microsoft.com/en-us/windows/win32/api/wincrypt/nf-wincrypt-cryptgenrandom
Notes:
Merged: https://github.com/ruby/ruby/pull/4924
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/4921
|
|
As we do not use config.h.in, just define the helper macro
instead.
|
|
Although `AC_PROG_CC_C99` has been obsolete, `AC_PROG_CC` is not
and the latter is necessary not to make C++ compiler mandatory.
Notes:
Merged: https://github.com/ruby/ruby/pull/4914
|
|
This allows easy differentiation between ABI incompatible platforms like MSWIN64 and MSVCRT-based MINGW32.
This also implicates a distinct rubygem platform which is also "x64-mingw-ucrt".
Although the term "mingw32" is the OS-part for 64 bit systems as well, the "32" is misleading and confusing for many users.
Therefore the new platform string drops the "32" from the OS part to just "mingw".
This conforms to the common practice of windows platform testing per RUBY_PLATFORM=~/mswin|mingw/ .
Notes:
Merged: https://github.com/ruby/ruby/pull/4599
|
|
Pattern matching for target_os in configure script should be permissive if we consider suffixing something onto "mingw32".
Notes:
Merged: https://github.com/ruby/ruby/pull/4599
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/4599
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/4823
|
|
Actually disabled at 181a3a2af5df88d145b73a060d51fe437c8c4ad4 in
2004, it has remained in config.status and been carried over to
rbconfig.rb.
|
|
Expand variables undefined in configure.ac, RUBY_RELEASE_DATE and
so on.
|
|
So that it is no longer needed in ruby.pc.in.
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/4783
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/4783
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/4762
|
|
Select the C source if exists, otherwise the assembler source,
instead of selecting by the coroutine type.
Notes:
Merged: https://github.com/ruby/ruby/pull/4745
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/4744
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/4632
|
|
Find jemalloc header first, then using the found header, try [with
mangle, without mangle] x [no more additional libraries, adding
jemalloc] combination.
Notes:
Merged: https://github.com/ruby/ruby/pull/4632
|