Граф коммитов

1440 Коммитов

Автор SHA1 Сообщение Дата
usa 5e1ee25ad8 * configure.in, lib/mkmf.rb, win32/Makefile.sub (CSRCFLAG): make the
compiler option replacable in Makefile.

* win32/Makefile.sub (OUTFLAG, COUTFLAG): ditto.

* win32/Makeile.sub, win32/setup.mak (CC): should not append `-nologo`
  option forcely.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@55638 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-07-11 16:30:03 +00:00
naruse 37c32dc6d1 * process.c: define sig_t if not exist.
at least Solaris 10 and 11 doesn't have sig_t.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@55571 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-07-04 04:57:27 +00:00
nobu 3674064bf2 RUBY_USE_SETJMPEX
* configure.in, include/ruby/defines.h (RUBY_USE_SETJMPEX):
  include setjmpex.h only when using setjmpex() for RUBY_SETJMP.
  the header of mingw32 overrides setjmp() by setjmpex().

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@55471 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-06-20 15:22:04 +00:00
mrkn 3cb77c4b03 configure.in: Fix the timing to detect the appropriate C++ compiler in OS X
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@55284 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-06-05 13:09:43 +00:00
nobu 40c3c3ec6c crypt.h: remove initialized
* missing/crypt.h (struct crypt_data): remove unnecessary member
  "initialized".
* missing/crypt.c (des_setkey_r): nothing to be initialized in
  crypt_data.
* configure.in (struct crypt_data): check for "initialized" in
  struct crypt_data, which may be only in glibc, and isn't on AIX
  at least.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@55272 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-06-04 01:54:54 +00:00
nobu 07efd9171a revert r55246
* configure.in: no longer workaround crypt_r by r55247.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@55248 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-06-01 10:42:45 +00:00
naruse 8b823e95e5 workaround: don't check crypt_r
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@55246 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-06-01 10:05:55 +00:00
nobu a8bfa9bdf1 use system crypt
* configure.in: revert r55237.  replace crypt, not crypt_r, and
  check if crypt is broken more.
* missing/crypt.c: move crypt_r.c
* string.c (rb_str_crypt): use crypt_r if provided by the system.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@55245 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-06-01 06:58:21 +00:00
nobu 3c31685e11 use crypt_r
* string.c (rb_str_crypt): use reentrant crypt_r.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@55237 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-06-01 00:48:08 +00:00
nobu b1d28feffb configure.in: merge ruby_cflags to XCFLAGS
* configure.in (XCFLAGS): merge flags only for ruby itself from
  ruby_cflags.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@55148 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-05-24 15:21:53 +00:00
naruse 80db1d6145 * configure.in (ruby_cflags): separate from optflags [Bug #12409]
-fexcess-precision=standard and -fp-model precise are set to this now.

* configure.in (cflags): use ruby_cflags.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@55142 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-05-24 07:49:25 +00:00
nobu e0a31f4f23 fix missing argument
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@55141 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-05-24 07:28:34 +00:00
nobu 970b092e4c fix __error__ and __warning__ attribute checks
* configure.in (ERRORFUNC, WARNINGFUNC): __error__ and __warning__
  attributes take a parenthesized string literal.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@55140 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-05-24 07:20:55 +00:00
naruse ceea7ecef9 * configure.in (ALWAYS_INLINE): force compilers the function inlined.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@55101 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-05-21 13:24:32 +00:00
nobu 317a3e9296 configure.in: missing macro definition
* configure.in (RUBY_CHECK_SETJMP): fix missing macro definition
  for the configured result.  fix up r55021.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@55093 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-05-21 00:26:31 +00:00
nobu 565241f11f configure.in: declare as NORETURN
* configure.in (RUBY_CHECK_BUILTIN_SETJMP): declare t as NORETURN
  to suppress warnings by -Wsuggest-attribute=noreturn.
  [ruby-core:75510] [Bug #12383]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@55023 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-05-17 02:58:40 +00:00
nobu d077f9c510 configure.in: RUBY_CHECK_SETJMP
* configure.in (RUBY_CHECK_SETJMP): needs the header and proper
  arguments for builtin setjmp functions.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@55021 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-05-17 01:40:20 +00:00
nobu c7d11ee1ba configure.in: revert macro names
* configure.in (FUNC_STDCALL, FUNC_CDECL, FUNC_FASTCALL): set
  macro names explicitly to the old names, which are accidentally
  changed at r54985, for backward compatibilities.
  fiddle also depends on these names to fallback to ANSI names.
  [ruby-core:75494] [Bug #12377]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@55015 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-05-16 04:29:01 +00:00
naruse ac11f944e1 Use HAVE_BUILTIN___BUILTIN_CONSTANT_P
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54986 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-05-12 18:12:46 +00:00
naruse 91e3c8b370 * configurein: use alternative keyword
to avoid macros conflicts with them.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54985 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-05-12 18:12:45 +00:00
nobu be4b1c1e2c util.c: qsort_s
* util.c (ruby_qsort): use qsort_s if available, for Microsoft
  Visual Studio 2005 (msvcr80.dll) and mingw.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54974 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-05-11 08:18:56 +00:00
naruse 518713fd65 * configure.in (-fexcess-precision=standard): before r54895 -std=c99
is specified and it implied -fexcess-precision=standard.
  Now with -std=gnu99, it should be explicitly specified.
  https://gcc.gnu.org/onlinedocs/gcc/Optimize-Options.html

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54967 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-05-10 04:36:33 +00:00
naruse 28f5e12c24 * configure.in: check function attirbute const and pure,
and define CONSTFUNC and PUREFUNC if available.
  Note that I don't add those options as default because
  it still shows many false-positive (it seems not to consider
  longjmp).

* vm_eval.c (stack_check): get rb_thread_t* as an argument
  to avoid duplicate call of GET_THREAD().

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54952 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-05-08 17:44:51 +00:00
naruse f2535e1467 * configure.in: add -Wsuggest-attribute=format and suppress warnings.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54945 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-05-08 00:55:29 +00:00
naruse a6c8e8d15b * configure.in: add -Wsuggest-attribute=noreturn and suppress warnings.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54943 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-05-08 00:55:28 +00:00
naruse 644c36e9a6 * configure.in: add -Werror=implicit-int to avoid missing type of
function declaration.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54942 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-05-08 00:55:28 +00:00
nobu 4a066896af random.c: use arc4random_buf
* random.c (fill_random_bytes_syscall): use arc4random_buf if
  available.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54912 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-05-05 01:49:35 +00:00
naruse 03cbafcf23 * configure.in (warnflags): use -std=gnu99 instead of
-std=iso9899:1999. [Feature #12336]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54895 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-05-03 13:20:50 +00:00
naruse cdef0bc833 * string.c (count_utf8_lead_bytes_with_word): Use __builtin_popcount
only if it can use SSE 4.2 POPCNT whose latency is 3 cycle.

* internal.h (rb_popcount64): use __builtin_popcountll because now
  it is in fast path.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54894 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-05-03 13:14:30 +00:00
naruse 4cf460a7bb * string.c (search_nonascii): unroll and use ntz
* configure.in (__builtin_ctz): check.

* configure.in (__builtin_ctzll): check.

* internal.h (rb_popcount32): defined for ntz_int32.
  it can use __builtin_popcount but this function is not used on
  GCC environment because it uses __builtin_ctz.
  When another function uses this, using __builtin_popcount
  should be re-considered.

* internal.h (rb_popcount64): ditto.

* internal.h (ntz_int32): defined for ntz_intptr.

* internal.h (ntz_int64): defined for ntz_intptr.

* internal.h (ntz_intptr): defined as ntz for uintptr_t.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54854 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-04-30 15:39:02 +00:00
odaira 7a3f794da0 * configure.in (rb_cv_lgamma_r_pm0): check if lgamma_r(+0.0)
returns positive infinity, in addition to lgamma_r(-0.0).
  AIX returns an incorrect result of negative infinity.

* math.c (ruby_lgamma_r): handle +0.0, in addition to -0.0.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54803 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-04-27 20:00:57 +00:00
naruse 173005bb6f * time.c: define _DEFAULT_SOURCE because glibc 2.20 depracates
_BSD_SOURCE.
  https://sourceware.org/glibc/wiki/Release/2.20

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54802 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-04-27 16:15:21 +00:00
nobu 847654a3c8 configure.in: do not create unnecessary verconf.h
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54757 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-04-25 03:45:50 +00:00
odaira 8ea194024a * configure.in: add missing -lm for AIX.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54750 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-04-24 14:32:31 +00:00
nobu 4558e2d1b8 configure.in: move cache variable for AIX round
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54719 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-04-23 00:02:25 +00:00
odaira 35464cab16 * configure.in: don't use the system-provided round(3) on AIX.
In AIX, round(0.49999999999999994) returns 1.0.
  Use round() in numeric.c instead.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54716 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-04-22 16:02:25 +00:00
kazu f6e3f3613a fix typos
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54660 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-04-21 12:16:14 +00:00
nobu 6e8a14dce1 ifchange: ignore unmatch TEST_COLORS
* configure.in: check if succeeded in creating config.h.
* tool/ifchange: ignore failures when TEST_COLORS unmatched. just
  use the default value if expected name is not contained in it.
  [ruby-core:75046] [Bug #12303]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54657 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-04-21 03:14:05 +00:00
nobu 1a88b871d1 configure.in: feature macros on cygwin
* configure.in (cygwin): add feature macros for the declarations
  of eaccess.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54571 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-04-14 01:25:34 +00:00
nobu a86d5d166f configure.in: tabify
* configure.in: tabify spaces after a tab.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54570 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-04-14 01:25:33 +00:00
nobu 6a79276edd configure.in: fix lgamma_r condition
* configure.in (rb_cv_lgamma_r_m0): fix the condition for
  lgamma_r(-0.0).  [Bug #12249]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54503 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-04-06 13:41:33 +00:00
nobu ea736d55f9 configure.in: check lgamma_r(-0.0)
* configure.in (rb_cv_lgamma_r_m0): check if lgamma_r(-0.0)
  returns negative infinity.  [Bug #12249]
* math.c (ruby_lgamma_r): define by the configured result.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54499 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-04-06 05:13:29 +00:00
nobu 69d6e315b5 improve git repository detection
* configure.in (AC_CONFIG_FILES): $srcdir/.git can be a file pointing
  the real git_dir, such as when the git working tree is a "linked
  working tree" (a working tree created by git-worktree). So use
  git-rev-parse --git-dir to check if $srcdir is the top-level of a git
  repository, not just checking if the $srcdir/.git directory does exist
  or not.  [ruby-core:74759] [Bug #12239]
* tool/change_maker.rb: use tool/vcs.rb to detect VCS. This used to have
  its own VCS detection code, while we have tool/vcs.rb.
* tool/vcs.rb (detect): remove code duplication

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54468 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-04-01 05:55:30 +00:00
naruse 9a8b21446e * configure.in (rb_cv_member_struct_tm_tm_gmtoff): For Linux (glibc)
define _BSD_SOURCE for time.h to define struct tm.tm_gmtoff.

* time.c: define _BSD_SOURCE at the top.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54186 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-03-18 19:06:32 +00:00
nobu 0927f83041 configure.in: fold summary
* configure.in: fold long lines in configuration summary

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53966 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-02-28 14:14:44 +00:00
nobu 7b91046b29 configure.in: summary
* configure.in: Add summary to end of configure output.
  [Fix GH-1277]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53965 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-02-28 14:14:42 +00:00
nobu 1a9bc87ab7 configure.in: no leading spaces
* configure.in (cflags, cppflags): remove unnecessary leading
  spaces.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53964 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-02-28 13:54:32 +00:00
nobu 2456239f18 configure.in: fix universal binary
* configure.in (RUBY_CHECK_SIZEOF, RUBY_DEFINT): fix for types
  which are conditionally available depending on architectures
  when universal binary, e.g., __int128.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53807 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-02-11 05:58:16 +00:00
nobu 9323a8db6b configure.in: use quadrigraphs
* configure.in (RUBY_DEFINT): use quadrigraphs instead of bare
  hash signs not to comment out closing parenthesis.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53806 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-02-11 05:32:22 +00:00
naruse 832f275316 * configure.in (RUBY_DEFINT): use Parameter Expansion.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53805 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-02-10 21:29:50 +00:00