aboutsummaryrefslogtreecommitdiffstats
path: root/configure.ac
Commit message (Collapse)AuthorAgeFilesLines
...
* Limit coroutine implementations to Linux.samuel2018-11-201-2/+2
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65865 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Expose dependency between cont.c and coroutine implementation.samuel2018-11-201-2/+5
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65863 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Initial effort to support 32-bit Linux.samuel2018-11-201-0/+5
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65847 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Better support for amd64 platformssamuel2018-11-201-6/+12
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65835 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Native implementation of coroutines to improve performance of fiberssamuel2018-11-201-0/+6
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65834 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Check -fcf-protectionnobu2018-11-201-2/+1
| | | | | | | * configure.ac: Check if CFLAGS actually includes -fcf-protection instead of checking if the flag is valid by RUBY_TRY_CFLAGS. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65819 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* configure.ac: avoid crashing MJIT with -fcf-protectionk0kubun2018-11-191-0/+6
| | | | | | | | by avoiding using __builtin_longjmp, like r64983. [Bug #15307] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65815 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* ruby.c: do not surface MJIT to userk0kubun2018-11-191-4/+4
| | | | | | | | | | | In some places, both JIT and MJIT are being used, but it could be confusing for new comers. We're not explaining MJIT on NEWS file or release notes as well. So we consider MJIT as an internal term of implementation like YARV. configure.ac: ditto git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65810 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* configure.ac: rename extra_warning as extra_warnflagsnobu2018-11-191-3/+3
| | | | | | | Adjusted to warnflags variable. This variable will have flags for warnings, but not a warning itself. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65806 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* configure.ac: respect extra_warnflags if givennobu2018-11-191-4/+3
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65805 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* -Wno-unused-value [ci skip]shyouhei2018-11-191-0/+1
| | | | | | | | Without this option clang outputs tons of warnings, which are annoying. See https://travis-ci.org/ruby/ruby/jobs/456553420#L1817 git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65795 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* sort lines [ci skip]shyouhei2018-11-191-20/+22
| | | | | | | ... for aethetic reasons. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65794 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Remove unused default value of MJIT_CC [ci skip]kazu2018-11-091-1/+1
| | | | | | because always set `MJIT_CC` at `: ${MJIT_CC=$CC}` git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65645 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Clear CC_WRAPPER in other than the toplevelnobu2018-11-071-0/+1
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65611 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Convert MJIT_CC to Windows path on msys toonobu2018-11-071-2/+2
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65607 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* vm_backtrace.c: pos can be zeroshyouhei2018-11-071-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (lldb) target create "./miniruby" Current executable set to './miniruby' (x86_64). (lldb) settings set -- target.run-args "-e0" (lldb) run Process 97005 launched: './miniruby' (x86_64) ./miniruby(rb_print_backtrace+0x15) [0x10024f7d5] vm_dump.c:715 ./miniruby(rb_vm_get_sourceline+0x85) [0x10024c4f5] vm_backtrace.c:43 ./miniruby(rb_vm_make_binding+0x146) [0x100236976] vm.c:941 ./miniruby(Init_VM+0x592) [0x100249f02] vm.c:3091 ./miniruby(rb_call_inits+0xc2) [0x1000c5a72] inits.c:58 ./miniruby(ruby_setup+0xcb) [0x100098c6b] eval.c:74 ./miniruby(ruby_init+0x9) [0x100098c99] eval.c:91 ./miniruby(main+0x4d) [0x10025ddbd] addr2line.c:246 Process 97005 stopped * thread #1: tid = 0x639bb, 0x000000010024c4f5 miniruby`rb_vm_get_sourceline(cfp=<unavailable>) + 133 at vm_backtrace.c:44, queue = 'com.apple.main-thread', stop reason = EXC_BAD_INSTRUCTION (code=EXC_I386_INVOP, subcode=0x0) frame #0: 0x000000010024c4f5 miniruby`rb_vm_get_sourceline(cfp=<unavailable>) + 133 at vm_backtrace.c:44 41 else { 42 /* SDR() is not possible; that causes infinite loop. */ 43 rb_print_backtrace(); -> 44 __builtin_trap(); 45 } 46 #endif 47 return rb_iseq_line_no(iseq, pos); (lldb) git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65598 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Fix build_os:host_os pairnobu2018-11-061-1/+1
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65586 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Expand MJIT_CC in configurenobu2018-11-061-2/+10
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65577 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* adopt sanitizer APIshyouhei2018-11-061-0/+2
| | | | | | | | These APIs are much like <valgrind/memcheck.h>. Use them to fine-grain annotate the usage of our memory. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65573 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* configure.ac: insert DLDSHAREDnobu2018-11-061-2/+3
| | | | | | | | * configure.ac (DLDSHARED): `.dylib` (created by `-dynamiclib`) and `.bundle` (created by `-dynamic -bundle`) on macOS are different. `LIBRUBY_LDSHARED` should be the former always. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65561 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* gc.c: move ASAN check to configureshyouhei2018-11-061-0/+3
| | | | | | | | | | | | | | Availability of attributes are checked in configure these days, rather than compiler macros. Also __attribute__((no_address_safety_analysis)) is considered deprecated in both GCC and Clang. Use the current best practice if available. See also: https://gcc.gnu.org/onlinedocs/gcc/Common-Function-Attributes.html https://clang.llvm.org/docs/AddressSanitizer.html git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65558 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Respect explicitly given MJIT_CCnobu2018-11-051-1/+1
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65545 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* MJIT_CC should not use CC_WRAPPERnobu2018-11-041-0/+1
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65535 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Makefile.in: use CC_WRAPPERnobu2018-11-031-5/+6
| | | | | | | | | | * Makefile.in (CC_WRAPPER): use the wrapper to suppress warnings by Apple's broken packages when linking in the toplevel directory. * configure.ac (CC_WRAPPER): separate from CC. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65521 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* configure.ac: set CC_WRAPPER by checking messagenobu2018-11-031-5/+4
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65520 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* rename configure option `--disable-mjit` to `--disable-mjit-support`ko12018-10-201-7/+7
| | | | | | | | | | | | | | | | | | | | * configure.ac: rename configure option `--disable-mjit` to `--disable-mjit-support` because `--disable-mjit` is ambiguous that runtime MJIT default enable option or supporting MJIT features. `ENABLE_MJIT` is also renamed to `MJIT_SUPPORT` * Makefile.in: catch up this fix. * common.mk: ditto. * test/ruby/test_jit.rb: ditto. * win32/Makefile.sub: catch up this fix on mswin. * tool/mkconfig.rb: fix to pass `MJIT_SUPPORT` key. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65217 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* add disabling MJIT features option.ko12018-10-201-5/+11
| | | | | | | | | | | | | | | | | | | | * configure.ac: introduce new configure option `--enable-mjit` and `--disable-mjit`. Default is "enable". `--disable-mjit` disables all of MJIT features so that `ruby --jit` can't enable MJIT. This option affect a macro `USE_MJIT`. This change remove `--enable/disable-install-mjit-header` option. * Makefile.in: introduce the `ENABLE_MJIT` variable. * common.mk: use `ENABLE_MJIT` option. * internal.h: respect `USE_MJIT`. Same as other *.c, *.h. * test/ruby/test_jit.rb: check `ENABLE_MJIT` key of rbconfg.rb. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65204 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Support Mach-O on backtrace with DWARFnaruse2018-10-201-0/+5
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65202 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* configure.ac: add --disable-install-mjit-headerk0kubun2018-10-191-0/+6
| | | | | | | | | | | and substitute INSTALL_MJIT_HEADER. This would be convenient as a workaround for user if we found a platform that can't compile Ruby after Ruby 2.6.0 release. common.mk: Install MJIT header only when INSTALL_MJIT_HEADER Makefile.in: ditto win32/Makefile.sub: ditto git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65171 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* configure.ac: do not overwrite -std=shyouhei2018-10-181-0/+4
| | | | | | | | | Set -std=gnu99 only when no such compiler flag(s) are set in any compiler-related environment variables. This enables users to specify something more modern, say, -std=c11. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65154 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* detect clang++shyouhei2018-10-151-1/+1
| | | | | | | | Given $CC is clang-* in this case branch the sed should match against clang, not gcc. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65082 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Pass cflags given to configure to mjitnobu2018-10-151-0/+1
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65081 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Define PRIdPTR etcnobu2018-10-131-0/+3
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65064 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * configure.ac: do not use __builtin_longjmp on ppc64* Linuxodaira2018-10-091-0/+8
| | | | | | because it causes a segmentation fault with MJIT git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64983 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Use cd -Pnobu2018-10-031-1/+1
| | | | | | | Setting PWD in the process does not let `cd` traverse symlinks in /bin/sh on macOS. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64906 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* support --with-arch=x86_64hshyouhei2018-10-031-1/+1
| | | | | | | | | | | | | Recent apple machines describe themselves being x86_64h. That architecture is somehow supported by their C compiler and at least by recent clang. However config.sub does not know that fact so making universal binary targeting it is rejected by the program. Why not skip the check by config.sub. [fix GH-1971] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64905 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* move GCC version check from marshal.c to configure.acshyouhei2018-09-271-0/+4
| | | | | | | I think it should be done in configure git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64862 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* configure.ac: prepend the wrapper after CPP is setnobu2018-09-211-12/+15
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64809 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Remove -Wno-parentheses flag.nobu2018-09-211-1/+1
| | | | | | | | [Fix GH-1958] From: Jun Aruga <jaruga@redhat.com> git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64806 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* darwin-cc: hide ld warningsnobu2018-09-211-4/+19
| | | | | | | | | * tool/darwin-cc: ld in Apple's recent Xcode warns text-based stub files, which are probably caused by Apple's broken package. hide such (and architecture deprecation) warnings during configuration to pass TRY_LDFLAGS. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64802 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Ignore Xcode linker warningsnobu2018-09-201-0/+5
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64793 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Make qsort_r() flavor detecting work if qsort_r() is a macronobu2018-09-131-2/+2
| | | | | | | | | | | | | | | | | | On FreeBSD we're going to switch to the GNU-ish version of qsort_r(). POSIX is also considering standardizing that one. To prevent faulty calls, we have a macro in place to throw a compiler error if a BSD-style qsort_r() call is performed on a patched system. Such an approach tends to be permitted by POSIX. The configure check we have in Ruby would fail if qsort_r() is a function macro. Add parentheses around it to prevent macro expansion and force the declaration of a prototype. [Fix GH-1954] From: Ed Schouten <ed@nuxi.nl> git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64732 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* deduce versioned tools from CCnobu2018-09-121-3/+11
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64694 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Fix a typokazu2018-09-091-1/+1
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64664 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* util.c: qsort_s in C11nobu2018-09-091-1/+1
| | | | | | | | | | | | | * configure.ac: macro for C11 to use qsort_s. * util.c (ruby_qsort): fix for C11 qsort_s. the comparison function for MSVCRT qsort_s is compatible with BSD qsort_r, but not with C11 qsort_s, in spite of its name. note that mingw defines __STDC_VERSION__ but uses qsort_s in MSVCRT, so the MSVCRT block needs to preced the C11 block. [ruby-core:88899] [Bug #15091] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64661 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* configure.ac: -fstack-protector-strongnobu2018-09-021-7/+10
| | | | | | | * configure.ac: use -fstack-protector-strong if available instead of -fstack-protector conditionally. [ruby-core:88788] [Misc #15053] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64614 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* random.c: SecRandomCopyBytesnobu2018-08-311-0/+8
| | | | | | | * random.c (fill_random_bytes_syscall): use SecRandomCopyBytes in Security framework on macOS 10.7 or later. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64596 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* configure.ac: printf prifix for int64_tnobu2018-08-271-0/+3
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64551 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* thread_pthread.c: use eventfd instead of pipe on Linuxnormal2018-08-241-0/+2
| | | | | | | | | | | Based on r64478, any regular user creating more than 1024 pipes on Linux will end up with tiny pipes with only a single page capacity. So avoid wasting user resources and use lighter eventfd on Linux. [ruby-core:88563] [Misc #15011] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64527 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* configure.ac: LIBPATHENV on macOSnobu2018-08-161-1/+1
| | | | | | | | * configure.ac (LIBPATHENV): use DYLD_FALLBACK_LIBRARY_PATH instead of DYLD_LIBRARY_PATH on macOS, to honor runtime paths embedded in the binaries. [ruby-core:88487] [Bug #14992] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64392 b2dd03c8-39d4-4d8f-98ff-823fe69b080e