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

1461 Коммитов

Автор SHA1 Сообщение Дата
nobu c49060b1d9 Reapply r57093,r57094,r57097 "dtrace build fixes on FreeBSD"
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57104 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-12-17 07:48:58 +00:00
nobu 6f40689356 Reapply r57092 "configure.in: repeated checks"
Needs DTRACE_OBJ when "$rb_cv_prog_dtrace_g" = rebuild, too.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57103 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-12-17 07:48:57 +00:00
nobu 860b42cf5a Revert r57092 "configure.in: repeated checks"
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57102 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-12-17 05:27:05 +00:00
naruse ccdaec2fe8 Revert r57093,r57094,r57097 "dtrace build fixes on FreeBSD"
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57101 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-12-17 05:14:14 +00:00
nobu d4ff516f33 configure.in: fix r57093
* configure.in (RUBY_DTRACE_AVAILABLE): try -xnolibs first.
  [ruby-core:78676] [Bug #13041]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57097 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-12-17 00:01:42 +00:00
nobu 681c22eb09 garbage space [ci skip]
* configure.in (RUBY_DTRACE_AVAILABLE): remove a garbage space.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57094 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-12-16 12:28:19 +00:00
nobu 756895dd0e dtrace build fixes on FreeBSD
* configure.in (RUBY_DTRACE_AVAILABLE, RUBY_DTRACE_POSTPROCESS):
  incorporate dtrace build fix on FreeBSD, dtrace needs -xnolibs
  in a jail.  [ruby-core:78676] [Bug #13041]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57093 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-12-16 12:16:33 +00:00
nobu e341a6724e configure.in: repeated checks
* configure.in (enable_dtrace): reduce repeated
  RUBY_DTRACE_AVAILABLE checks.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57092 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-12-16 11:59:57 +00:00
nobu 6b1e24eaa5 configure.in: no crypt.h on FreeBSD 12
* configure.in (crypt.h): crypt_r() was added in FreeBSD 12.0 but
  is declared in unistd.h.  [ruby-core:78664] [Bug #13038]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57090 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-12-16 03:30:26 +00:00
knu 673a6ad970 Reverse compatibility_version and current_version for Darwin
The `compatibility_version` should have an API version and the
`current_version` should have a program version of Ruby, but they have
been reversed and the binary compatibility has never worked.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56905 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-11-27 10:08:00 +00:00
nobu 708f1e74b7 configure.in: compressed debug section option
* configure.in: make compressed debug section optional.
  [ruby-core:78121] [Bug #12934]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56812 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-11-16 06:07:55 +00:00
shugo 53938555eb * configure.in (-Wno-maybe-uninitialized): gcc 6 also shows the same
warnings as described in r49410.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56632 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-11-06 06:58:25 +00:00
naruse 825e191296 * configure.in (-Wimplicit-fallthrough): gcc7 introduces case
fall through warnings but it is too noisy.
  https://gcc.gnu.org/bugzilla/show_bug.cgi?id=7652

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56603 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-11-05 15:05:30 +00:00
naruse 25728a1963 * configure.in: Add compiler version message into rbconfig
as RbConfig::CONFIG['CC_VERSION_MESSAGE']. [Feature #12896]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56556 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-11-04 06:37:09 +00:00
nobu 6c7024f6f4 file.c: include sys/sysmacros.h
* file.c: include sys/sysmacros.h for ArchLinux which deprecated
  use of major() and minor() in sys/types.h.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56549 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-11-03 06:02:16 +00:00
nobu 1e63aafe77 configure.in: no round in x64-mingw
* configure.in (ac_cv_func_round): round(3) in x86_64-w64-mingw32
  is not accurate in an edge case.  [ruby-core:77794] [Bug #12878]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56534 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-10-31 16:31:12 +00:00
nobu 5caaef7ad9 configure.in: fallback DLDFLAGS to LDFLAGS
* configure.in (DLDFLAGS): fallback to LDFLAGS.
  [ruby-core:72444] [Bug #11863]
* configure.in (LIBRUBY_DLDFLAGS): fallback to DLDFLAGS.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56472 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-10-22 01:28:30 +00:00
nobu 5ccf58eb32 configure.in: fix RUBY_{APPEND/PREPEND}_OPTION
* configure.in (RUBY_APPEND_OPTION, RUBY_PREPEND_OPTION): expand
  the option to be appended/prepended when matching, as well as
  RUBY_APPEND_OPTIONS and  RUBY_PREPEND_OPTIONS.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56471 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-10-22 01:27:04 +00:00
nobu a40d95c48f configure.in: compress debug sections
* configure.in (DLDFLAGS): append --compress-debug-sections=zlib
  if available, which reduces the size of LIBRUBY_SO by half or
  more.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56445 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-10-18 07:36:42 +00:00
nobu 9bd2490785 install-static-library option [ci skip]
* configure.in (install-static-library): add option to enable/
  disable to install static ruby library.  defaulted to "no" if
  enable-shared.  [Feature #12845]
* tool/rbinstall.rb (local-arch-lib): respect the option.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56434 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-10-17 07:17:07 +00:00
shyouhei 2fc5210f31 * internal.h (WARN_UNUSED_RESULT): moved to configure.in, to
actually check its availability rather to check GCC's version.

	* configure.in (WARN_UNUSED_RESULT): moved to here.

	* configure.in (RUBY_FUNC_ATTRIBUTE): change function declaration
	  to return int rather than void, because it makes no sense for a
	  warn_unused_result attributed function to return void.

	  Funny thing however is that it also makes no sense for noreturn
	  attributed function to return int.  So there is a fundamental
	  conflict between them.  While I tested this, I confirmed both
	  GCC 6 and Clang 3.8 prefers int over void to correctly detect
	  necessary attributes under this setup.  Maybe subject to change
	  in future.

	* internal.h (UNINITIALIZED_VAR): renamed to MAYBE_UNUSED, then
	  moved to configure.in for the same reason we move
	  WARN_UNUSED_RESULT.

	* configure.in (MAYBE_UNUSED): moved to here.

	* internal.h (__has_attribute): deleted, because it has no use now.

	* string.c (rb_str_enumerate_lines): refactor macro rename.

	* string.c (rb_str_enumerate_bytes): ditto.

	* string.c (rb_str_enumerate_chars): ditto.

	* string.c (rb_str_enumerate_codepoints): ditto.

	* thread.c (do_select): ditto.

	* vm_backtrace.c (rb_debug_inspector_open): ditto.

	* vsnprintf.c (BSD_vfprintf): ditto.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56169 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-09-16 06:15:55 +00:00
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