aboutsummaryrefslogtreecommitdiffstats
path: root/configure.ac
Commit message (Collapse)AuthorAgeFilesLines
...
* BASERUBY have to be 1.9 or later at least [Bug #16845]Nobuyoshi Nakada2020-05-111-5/+3
| | | | Many tools under tool directory haven't worked with ruby 1.8.
* Fallback MAKE to makeNobuyoshi Nakada2020-05-111-1/+1
|
* Pass MAKE value to configure for non-default name caseNobuyoshi Nakada2020-05-111-1/+1
| | | | GNU make does not export it by default.
* Optimize sin/cosNobuyoshi Nakada2020-05-031-0/+2
| | | | | | | | | GCC/Clang can optimize to calculate `sin(x)` and `cos(x)` at once, when the both are closely called on the same argument. Similar optimization is possible for `__sinpi(x)` and `__cospi(x)` if available, which calculate arguments in radian, i.e. `sin(x*M_PI)` and `cos(x*M_PI)` respectively.
* configure.ac: Automatically add -D__ANDROID_API=ver on AndroidYusuke Endoh2020-04-221-0/+24
|
* Don't require sub-word atomicsAndreas Schwab2020-04-111-2/+2
| | | | | | | | | On some architectures (like RISC-V) sub-word atomics are only available when linking against -latomic, but the configure script doesn't do that, causing the atomic checks to fail and the resulting ruby binary is non-functional. Ruby does not use sub-word atomic operations, rb_atomic_t is defined to unsigned int, so use unsigned int when checking for atomic operations.
* configure: suppress SunPro warning卜部昌平2020-04-101-0/+7
| | | | | | | | To this date there is no way for Oracle developer Studio to suppress warnings about unreachable codes (12.6 manual says it implemented __builtin_unreachable "as a no-op to C++. It might be added to C.") There is no way but globally kill the warning.
* configure: suppress icc warnings卜部昌平2020-04-101-1/+1
| | | | | | | | | | | Every time a pointer to/from VALUE conversion happens, these two warnings are issued: - warning #1684: conversion from pointer to same-sized integral type (potential portability problem) - warning #2312: pointer cast involving 64-bit pointed-to type Thank you, but we are well aware of the "potential portability problem". Let us ignore them all.
* configure: always check for __builtin_unreachable卜部昌平2020-04-101-1/+1
| | | | | Non-gcc compilers tend to have this intrinsic these days (e.g. icc). Better check it regardless of $GCC.
* configure.ac: Skip C++ compiler of Sun OpenStudioYusuke Endoh2020-04-091-0/+5
| | | | | It fails to compile ext/-test-/cxxanyargs/cxxanyargs.cpp. Need work to support it. Contribution is welcome.
* Merge pull request #2991 from shyouhei/ruby.h卜部昌平2020-04-081-3/+10
| | | Split ruby.h
* Use toodir also in configure.acNobuyoshi Nakada2020-04-051-2/+4
|
* Added tooldir variableNobuyoshi Nakada2020-04-051-1/+1
|
* ucontext doesn't exist in a musl-libc env; use native assemblyPaul Jordan2020-04-011-2/+2
|
* Make file names and variable names consistentTakashi Kokubun2020-03-231-3/+3
|
* Moved MJIT_WITHOUT_TABS default to configure.acNobuyoshi Nakada2020-03-241-0/+4
| | | | And then the environment variable.
* Prefer alignas() over _Alignas()Yusuke Endoh2020-02-201-3/+8
| | | | | to allow Intel C++ compiler to read ruby.h. This is similar to 9930481a239fa7182429f3c3942ea033fb9b0320
* support C++ std::nullptr_t卜部昌平2020-01-311-0/+11
| | | | | | | C++ keyword `nullptr` represents a null pointer (note also that NULL is an integer in C++ due to its design flaw). Its type is `std::nullptr_t`, defined in <cstddef> standard header. Why not support it when the backend implementation can take a null pointer as an argument.
* avoid undefined behaviour when n==0卜部昌平2020-01-101-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | ISO/IEC 9899:1999 section 6.5.7 states that "If the value of the right operand is negative or is greater than or equal to the width of the promoted left operand, the behavior is undefined". So we have to take care of such situations. This has not been a problem because contemporary C compilers are extraordinary smart to compile the series of shifts into a single ROTLQ/ROTRQ machine instruction. In contrast to what C says those instructions have fully defined behaviour for all possible inputs. Hence it has been quite difficult to observe the undefined-ness of such situations. But undefined is undefined. We should not rely on such target-specific assumptions. We are fixing the situation by carefully avoiding shifts with out-of- range values. At least GCC since 4.6.3 and Clang since 8.0 can issue the exact same instructions like before the changeset. Also in case of Intel processors, there supposedly be intrinsics named _rotr/_rotl that do exactly what we need. They, in practice, are absent on Clang before 9.x so we cannot blindly use. But we can at least save MSVC. See also: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=57157 https://bugs.llvm.org/show_bug.cgi?id=17332
* modify MJIT_CC only on RUBY_DEBUG=ciKoichi Sasada2020-01-031-1/+2
| | | | Modify MJIT_CC (27fae1d4ad) only on CI environment.
* disable ccache if $CC is in /usr/lib/ccache/$CC.Koichi Sasada2020-01-031-0/+5
| | | | | | | | | | | | | MJIT with ccache has a problem on docker environment, so we need to use original CC (/usr/bin/gcc, for example). Ubuntu system provides /usr/lib/ccache/gcc and so on to use gcc with ccache. It is easy to setup ccache by adding /usr/lib/ccache to $PATH. However we need to use /usr/bin/gcc (and so on) for MJIT_CC. We can specify MJIT_CC option at configure, but specifying them is troublesome. This patch choose original $CC (/usr/bin/gcc, for example) if $CC is /usr/lib/ccache/$CC.
* Use __func__ as rb_cv_function_name_string on OpenBSDJeremy Evans2019-12-281-9/+12
| | | | | | | | | | | | | | The use of RUBY_WERROR_FLAG causes this test to fail on OpenBSD platforms that use the binutils linker (ld.bfd) instead of the llvm linker (ld.lld), due to warnings added to the binutils linker in OpenBSD. Removing the RUBY_WERROR_FLAG would probably also fix it, but that would affect other platforms. This should also be backported to Ruby 2.7. Analysis and similar fix recommended by George Koehler.
* add several __has_something macro卜部昌平2019-12-261-0/+2
| | | | | | | With these macros implemented we can write codes just like we can assume the compiler being clang. MSC_VERSION_SINCE is defined to implement those macros, but turned out to be handy for other places. The -fdeclspec compiler flag is necessary for clang to properly handle __has_declspec().
* Allow more than one major version number in target_osMatt Valentine-House2019-12-131-1/+1
|
* support cross-compilation.Koichi Sasada2019-12-111-0/+1
| | | | | | | | On cross-compilation, compiled binary can no be created because compiled binary should be created by same interpreter (on cross- compilation, host ruby is used to build ruby (BASERUBY)). So that cross-compilation system loads required scripts in text. It is same as miniruby.
* Fixed the inverted conditionNobuyoshi Nakada2019-12-031-1/+1
|
* Wrap statements in AS_IF properlyNobuyoshi Nakada2019-12-031-1/+2
|
* Disable _FORTIFY_SOURCE on mingw for nowNobuyoshi Nakada2019-12-021-0/+11
| | | | It causes a link error due to some `__*_chk` functions on mingw.
* Improve string literal concatenation for C++11Mark Abraham2019-11-061-2/+2
| | | | | | | | | | Downstream C++ projects that compile with C++11 or newer and include the generated config.h file issue compiler warnings. Both C and C++ compilers do string-literal token pasting regardless of whitespace between the tokens to paste. C++ compilers since C++11 require such spaces, to avoid ambiguity with the new style of string literals introduced then. This change fixes such projects without affecting core Ruby.
* Check for nonnull attribute in configureNobuyoshi Nakada2019-10-291-0/+5
|
* Revert "Check for nonnull attribute in configure"卜部昌平2019-10-291-5/+0
| | | | | | This reverts commit 54eb51d72bc43f90b595f0d7ffb5069ebf1a56d9. Windows build failure. See also https://github.com/ruby/ruby/runs/278718805
* Check for nonnull attribute in configureNobuyoshi Nakada2019-10-291-0/+5
|
* show BASERUBY version at configure.Koichi Sasada2019-10-201-0/+3
|
* oops卜部昌平2019-09-101-1/+1
| | | | Silly typo.
* fix CentOS 6 compile error卜部昌平2019-09-101-0/+15
| | | | See also https://rubyci.org/logs/rubyci.s3.amazonaws.com/centos6/ruby-master/log/20190910T003005Z.fail.html.gz
* Default to cc/c++ instead of gcc/g++ on OpenBSDJeremy Evans2019-09-091-2/+6
|
* Stop setting same flags as cflags to cxxflagsNobuyoshi Nakada2019-09-061-6/+6
|
* Check clang++ as CXX when CXX is bare clang without suffixNobuyoshi Nakada2019-09-061-1/+1
|
* Fix the appropriate C++ compiler in OS X selectionKazuhiro NISHIYAMA2019-08-271-5/+5
| | | | | Merge space and slash to character class and add missing `CXX=` before `=g++-4.2` at 5e10cb04e88c8a95ee44f6cad2bdf264e0dff92a
* Refined the appropriate C++ compiler in OS X selectionNobuyoshi Nakada2019-08-261-9/+14
| | | | Allows CC to be prefixed another path or command, e.g., ccache.
* configure.ac: Improve icc_version guessing for non-icc environmentYusuke Endoh2019-08-251-1/+1
| | | | | | | | | | | icc_version was wrongly defined as "__ICC" on non-icc C compiler, which caused a warning: ``` ./configure: line 8211: test: __ICC: integer expression expected ``` This change adds a sed commend to delete "__ICC".
* configure.ac: fix the guess of icc_versionYusuke Endoh2019-08-251-3/+1
| | | | | | | | | The icc_version guessing was accidentally disabled because of 61885c9b7ca8ccdaf53d7c365fbb86bad3294d88; `AC_PROG_CC_C99` changes CC like "icc -std=c99", and `AS_CASE(["x$CC"], [xicc],` does not match. The variable `icc_version` is eventually defined, so the `AS_CASE` is not needed. This change removes the `AS_CASE`.
* Check whether syscall(2) is deprecated by actual warningsNobuyoshi Nakada2019-08-201-1/+7
|
* Check for minimum required OSX version earlierNobuyoshi Nakada2019-08-201-14/+15
|
* Bail out if unsupported old MacOSX is requiredNobuyoshi Nakada2019-08-201-10/+10
|
* Fixed the check for OSX versionNobuyoshi Nakada2019-08-201-5/+5
| | | | | | Should compare minimum required version, and with the particular macro defined for each version. Also made the error messages consistent.
* crash report on mac little updateDavid CARLIER2019-08-191-0/+1
| | | | | | displaying vm info as Linux and FreeBSD. checking libproc as it is present only from 10.5 version. https://github.com/ruby/ruby/pull/2384
* NetBSD native support of explicit_bzero's like feature (#2145)David CARLIER2019-08-171-0/+1
|
* Relaxed target_os matchingNobuyoshi Nakada2019-07-231-5/+5
| | | | | | When target_alias is not empty, `-gnu` suffixed is not stripped. [Bug #16015]
* Improve build process and coroutine implementation selection.Samuel Williams2019-07-181-25/+33
|