summaryrefslogtreecommitdiff
path: root/configure.ac
AgeCommit message (Collapse)Author
2023-10-17merge revision(s) ↵U.Nakamura
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(-)
2023-06-26merge revision(s) 038f9ade3c4d965415e4956561975454cf9eeb21: [Backport #19585]U.Nakamura
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(+)
2023-03-21merge revision(s) 96d1acfdf6c6b42f2029f44d5b5920961d6efa92: [Backport #19161]nagachika
[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(-)
2022-11-24merge revision(s) 3071a727e081f754e71a9abed8dd19e36bacc785:v3_1_3nagachika
Add a comment about confusing code [ci skip] --- configure.ac | 1 + 1 file changed, 1 insertion(+)
2022-10-21merge revision(s) 6f5305e0d2b4711b186ece8160716c7f9439ea8d:nagachika
Exclude LIBPATHENV wrapper from PREP --- common.mk | 4 ++-- configure.ac | 2 +- template/Makefile.in | 2 ++ 3 files changed, 5 insertions(+), 3 deletions(-)
2022-10-21merge revision(s) 019cbded90ade76fdb87d02bd4d444724429fc92:nagachika
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(-)
2022-10-19merge revision(s) 1f91dcdab3b530dde93fa29fba8bf60683cd8056:nagachika
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(-)
2022-10-18merge revision(s) a01271c1c46079cb6f7f32051f1253cf3d9bca6b:nagachika
BOOTSTRAPRUBY needs fake.rb when cross-compiling --- configure.ac | 1 + 1 file changed, 1 insertion(+)
2022-10-18merge revision(s) 7c67d0fd79a3cffe857587fa3cf576b611023840:nagachika
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(-)
2022-10-18merge revision(s) 21a5da3c4c803987c48bc9ca588948c50715631a:nagachika
Check if MSys shell can run a command with a drive letter --- configure.ac | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-)
2022-10-16merge revision(s) ee6cc2502664ac46edc61868d8954b626bb48e53:nagachika
Remove wrong dollar --- configure.ac | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
2022-10-01[Bug #19005] dynamic_lookup linker option in external librariesNobuyoshi Nakada
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.
2022-10-01-undefined dynamic_lookup is obsoleteNobuyoshi Nakada
2022-09-25merge revision(s) ↵nagachika
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(-)
2022-09-04Backport https://github.com/ruby/ruby/pull/6193Hiroshi SHIBATA
Co-authored-by: Yuta Saito <kateinoigakukun@gmail.com>
2022-06-18merge revision(s) 222203297966f312109e8eaa2520f2cf2f59c09d: [Backport #18672]nagachika
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(-)
2021-12-24configure.in: unexpand exec_prefix in includedirNobuyoshi Nakada
Replace `exec_prefix` in includedir as well as bindir, libdir, and so on. [Bug #18373] Notes: Merged: https://github.com/ruby/ruby/pull/5318
2021-12-07Move -ljemalloc to DLDLIBS [Bug #18391]Nobuyoshi Nakada
Set the alternative memory management library only as a platform specific library, without other libraries. Notes: Merged: https://github.com/ruby/ruby/pull/5223
2021-11-30Delete #if line during checking madvise() on SolarisNaohisa Goto
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.)
2021-11-30Enable load-relative on SolarisNobuyoshi Nakada
2021-11-30Cache wheather madvise declaration is needed on SolarisNobuyoshi Nakada
2021-11-30Fix conflicting declaration on SolarisNobuyoshi Nakada
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); | ^~~~~~~ ```
2021-11-30Workaround for implicit declaration of function 'madvise' on SolarisNaohisa Goto
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.
2021-11-03configure.ac: don't use shutdown on emscriptenYusuke Endoh
... to absorb a change on Ubuntu 21.10
2021-10-30Split thread-model config into another ac fileYuta Saito
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
2021-10-27Check old-style definitionsNobuyoshi Nakada
Notes: Merged: https://github.com/ruby/ruby/pull/5034
2021-10-20Mention YJIT in Capstone autoconf checkAlan Wu
2021-10-20conditionally add libcapstoneAaron Patterson
2021-10-20Directly link libcapstone for easier developmentAaron Patterson
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`
2021-10-18haiku configure fix (again).David CARLIER
Notes: Merged: https://github.com/ruby/ruby/pull/4980
2021-10-17haiku build update stack overflow check in libroot (haiku's libc) nowDavid CARLIER
Notes: Merged: https://github.com/ruby/ruby/pull/4978
2021-10-08Do not allow configuration where neither static or shared library is installedJeremy Evans
Fixes [Bug #18000] Notes: Merged: https://github.com/ruby/ruby/pull/4737
2021-10-02[Win32] Prefer Cryptography Next Generation APINobuyoshi Nakada
[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
2021-10-01Checks for CPU specific header on universal buildNobuyoshi Nakada
Notes: Merged: https://github.com/ruby/ruby/pull/4921
2021-10-01Define ACTION-IF-UNIVERSAL of `AC_C_BIGENDIAN` [Bug #18156]Nobuyoshi Nakada
As we do not use config.h.in, just define the helper macro instead.
2021-09-30Needs `AC_PROG_CC`Nobuyoshi Nakada
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
2021-09-20MINGW-UCRT: Set CONFIG['arch'] and RUBY_PLATFORM to "x64-mingw-ucrt"Lars Kanis
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
2021-09-20MINGW: More permissive pattern matching for coroutinextkoba (Tee KOBAYASHI)
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
2021-09-20MINGW: set rb_cv_msvcrt=ucrt and RT_VER=140 when UCRT is usedxtkoba (Tee KOBAYASHI)
Notes: Merged: https://github.com/ruby/ruby/pull/4599
2021-09-13coroutine enables assembly version for dragonflybsd.DC
Notes: Merged: https://github.com/ruby/ruby/pull/4823
2021-09-10Remove stale DLEXT2Nobuyoshi Nakada
Actually disabled at 181a3a2af5df88d145b73a060d51fe437c8c4ad4 in 2004, it has remained in config.status and been carried over to rbconfig.rb.
2021-08-29Make ruby.pc from makeNobuyoshi Nakada
Expand variables undefined in configure.ac, RUBY_RELEASE_DATE and so on.
2021-08-29Move DEFFILE to EXTDLDFLAGSNobuyoshi Nakada
So that it is no longer needed in ruby.pc.in.
2021-08-27Use C99-defined signbit macroNobuyoshi Nakada
Notes: Merged: https://github.com/ruby/ruby/pull/4783
2021-08-27Use C99-defined macros to classify a floating-point numberNobuyoshi Nakada
Notes: Merged: https://github.com/ruby/ruby/pull/4783
2021-08-24netbsd coroutine uses assembly instead and little build fix.David Carlier
Notes: Merged: https://github.com/ruby/ruby/pull/4762
2021-08-16Fix COROUTINE_SRC on emscriptenNobuyoshi Nakada
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
2021-08-16coroutine use asm version for handful of architectures for freebsd.DC
Notes: Merged: https://github.com/ruby/ruby/pull/4744
2021-07-07Shared libruby also needs MAINLIBS for jemallocNobuyoshi Nakada
Notes: Merged: https://github.com/ruby/ruby/pull/4632
2021-07-07Refactor --with-jemalloc optionNobuyoshi Nakada
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