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

1203 Коммитов

Автор SHA1 Сообщение Дата
naruse 19fac4432f * configure.in (HAVE_STRUCT_STATFS_F_TYPE): check struct statfs.f_type
to support OpenBSD.

* file.c (statfs_type): use above macro to switch.

* file.c (statfs_inspect): ditto.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45734 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-04-28 12:46:23 +00:00
naruse 559d689ca6 * configure.in: check struct statvfs and struct statvfs.f_fstypename.
* configure.in: on NetBSD fstatfs is obsoleted.

* file.c: support NetBSD for File::Statfs.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45733 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-04-28 09:08:15 +00:00
nobu e4cde46942 configure.in: refine __builtin_unreachable check
* configure.in (rb_cv_func___builtin_unreachable): try with an
  external variable not only by a warning, which might not be
  shown due to the optimization.  [ruby-core:61647] [Bug #9665]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45716 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-04-25 05:56:01 +00:00
naruse b4682ea330 * configure.in: NetBSD's ksh, used by configure, needs escapes.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45715 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-04-25 04:13:56 +00:00
naruse b87df1bf24 * configure.in: correct pthread_setname_np's prototype on NetBSD.
[Bug #9586]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45713 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-04-25 04:06:45 +00:00
nobu c5fef27312 file.c: unpack in binary
* file.c (statfs_fsid): convert with rb_integer_unpack.

* configure.in: fsid_t is no longer used.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45685 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-04-23 04:31:09 +00:00
usa 6f477bcc0e * configure.in, win32/Makefile.sub: fsid_t is defined in include/ruby/win32.h.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45680 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-04-23 02:47:07 +00:00
nobu 0f69c1845a file.c: fsid_t may not be defined
* configure.in: check if fsid_t is defined.

* file.c (statfs_fsid): fsid_t may not be defined, assume long in
  that case.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45678 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-04-23 02:32:17 +00:00
usa 86dc863bd8 * win32/win32.c, include/ruby/win32.h (ustatfs): implementation of
statfs(2) clone. [EXPERIMENTAL]

* file.c (rb_io_statfs): use above function.

* configure.in, win32/Makefile.sub (struct statfs): available.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45672 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-04-22 15:45:00 +00:00
usa 900ede4053 * file.c (rb_io_stafs): use statfs(2) if fstatfs(2) is unavailable.
* configure.in (fstatfs): check it.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45671 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-04-22 14:57:18 +00:00
naruse 035a4e7d72 * file.c: newly added a class File::Statfs. (experimental)
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45661 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-04-22 10:35:57 +00:00
nobu f8d6453704 configure.in: rb_cv_getcwd_malloc
* configure.in (rb_cv_getcwd_malloc): check if getcwd allocates
  buffer if NULL is given [ruby-core:62072] [Bug #9752]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45615 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-04-17 23:50:20 +00:00
nobu 3d69324be3 configure.in: FUNC_MINIMIZED
* configure.in (RUBY_FUNC_ATTRIBUTE): escape double quotes in
  attribute.

* configure.in (FUNC_MINIMIZED): attribute to minimize function
  body.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45608 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-04-17 02:41:39 +00:00
nobu 1edaa6d244 configure.in: no __builtin_setjmp on x64-mingw
* configure.in: get rid of __builtin_setjmp/__builtin_longjmp on
  x64-mingw, which causes SEGV with callcc.
  [ruby-core:61887] [Bug #9710]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45537 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-04-09 04:07:14 +00:00
nobu 9dd0113023 configure.in: get rid of clang fatal error
* configure.in (ac_cv_func___builtin_setjmp): get rid of a bug in
  clang 3.3 and 3.4, which __builtin_setjmp() causes fatal error
  in backend, linker error, or segmentation fault.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45515 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-04-04 02:37:27 +00:00
nobu 5c20b01270 configure.in: restore flags
* configure.in (ac_cv_func___builtin_setjmp): should not skip
  flags restoration in RUBY_WERROR_FLAG by `break`.
  [ruby-dev:48086] [Bug #9698]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45513 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-04-03 22:13:48 +00:00
nobu 80b36a7b1e configure.in: indent
* configure.in (ac_cv_func___builtin_setjmp): adjust indent.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45512 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-04-03 22:13:46 +00:00
nobu 08d40c92a0 configure.in: use the first candidate
* configure.in (ac_cv_func___builtin_setjmp): use the first cast
  which works with __builtin_longjmp().  [Bug #9692]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45509 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-04-02 13:00:31 +00:00
nobu a0237409fa configure.in: fix for clang 5.1 __builtin_longjmp
* configure.in (ac_cv_func___builtin_setjmp): __builtin_longjmp() in
  clang 5.1 uses `void**`, not `jmp_buf`.  [Bug #9692]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45508 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-04-02 12:50:07 +00:00
nobu 4ad0071dc8 configure.in: do not use a variable for longjmp
* configure.in (ac_cv_func___builtin_setjmp): gcc 4.9 disallows a
  variable as the second argument of __builtin_longjmp().
  [ruby-core:61800] [Bug #9692]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45503 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-04-02 08:43:18 +00:00
kanemoto 738c303461 add --disable-pie option to configure
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45419 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-03-26 00:13:36 +00:00
knu cc4271c955 Fix a build problem with clang and --with-opt-dir.
* configure.in: Fix a build problem with clang and --with-opt-dir.
  If ruby is configured with --with-opt-dir=dir when using clang
  as compiler, a warning `clang: warning: argument unused during
  compilation: '-I dir'` is emitted almost every time clang
  compiles a file.  Unfortunately, RUBY_CHECK_PRINTF_PREFIX takes
  any output from the compiler as fatal error, and the check thus
  fails due to the warning.  This is an attempt to fix the problem
  by adding a flag -Qunused-arguments to CFLAGS locally in the
  function to suppress the warning. [ruby-dev:48062] [Bug #9658]
  [Fixes GH-571] https://github.com/ruby/ruby/pull/571

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45378 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-03-21 12:59:08 +00:00
nobu 664ee1a89f configure.in: default os_version_style
* configure.in (os_version_style): get default style from
  `/usr/bin/ruby` if possible.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45352 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-03-17 04:05:32 +00:00
nobu a1bb379726 configure.in: insert a space for non-GCC
* configure.in (DLDFLAGS): insert a space between option and its
  argument for non-GCC compilers.  [ruby-core:61429] [Bug #9624]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45348 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-03-16 04:21:48 +00:00
nobu 47aa0056ab configure.in: fix typo
* configure.in (DLDFLAGS): fix typo, missing comma.
  [ruby-core:61429] [Bug #9624]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45340 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-03-15 02:19:30 +00:00
nobu 1eaddcaffa configure.in: check symbol resolution options
* configure.in (DLDFLAGS): check for each options to control
  symbol resolution.  [ruby-core:61429] [Bug #9624]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45339 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-03-15 02:03:25 +00:00
naruse ef0ce95daf fix typo on previous commit
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45310 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-03-11 01:18:45 +00:00
naruse e30a140d6f fix configure for r45306
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45309 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-03-11 01:02:34 +00:00
naruse be7cc58370 * configure.in: always check dladdr(1).
* addr2line.c (fill_lines): show the line number in C backtrace if
  ruby is built without --enable-shared (PIE) on Linux.
  patch is originally by Shinichiro Hamaji
  https://twitter.com/shinh/status/441957774264504321
  NOTE: ld doesn't insert __executable_start for PIE.
  dladdr(3)'s argument must be a function pointer.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45305 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-03-10 03:20:53 +00:00
nobu debb5e4cb7 configure.in: unquoted
* configure.in (SET_THREAD_NAME): needs unquoted to expand a shell
  variable.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45204 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-02-28 01:52:01 +00:00
nobu 53e7ed077f configure.in: check arguments of pthread_setname_np
* configure.in (SET_THREAD_NAME): check proper arguments of
  pthread_setname_np() and fix definition on BSDs.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45202 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-02-28 00:51:37 +00:00
nobu 6245e02cd3 configure.in: define SET_THREAD_NAME
* configure.in (SET_THREAD_NAME): define according to
  pthread_setname_np variations.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45190 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-02-27 07:10:11 +00:00
nobu 8dda946059 configure.in: check __ARCHITECTURE__ properly
* configure.in (rb_cv_architecture_available): check whether
  __ARCHITECTURE__ is available before replacing CFLAGS.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45186 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-02-27 02:07:40 +00:00
nobu df9199d468 configure.in, win32/Makefile.sub: PACKED_STRUCT with VC
* configure.in (PACKED_STRUCT): check VC pragma too, and make
  function-style macro.

* win32/Makefile.sub (PACKED_STRUCT): enable with VC.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45173 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-02-25 07:00:10 +00:00
nobu 7af1261dc8 configure.in: fix typo
* configure.in (PACKED_STRUCT_UNALIGNED): fix typo.  Intel x86
  cpus are called x86 or i386 etc, not x386.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45172 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-02-25 05:24:03 +00:00
nobu 4b2ac79c15 configure.in: use PACKED_STRUCT_UNALIGNED on x64-mingw
* configure.in (PACKED_STRUCT_UNALIGNED): use on x64-mingw too.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45171 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-02-25 03:38:00 +00:00
normal 131e4bec04 time: only use packed struct on x86*
* configure.in: define PACKED_STRUCT_UNALIGNED for x86*
* timev.h (struct vtm): use PACKED_STRUCT_UNALIGNED
* time.c (struct time_object): ditto
  [Bug #9558] non-x86 cannot safely access unaligned addresses

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45165 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-02-24 11:10:11 +00:00
normal b2f3063cae time: rearrange+pack vtm and time_object structs
struct time_object shrinks from 88 to 46 bytes on my 64-bit system.

* configure.in: use -Wno-packed-bitfield-compat for GCC 4.4+
  use __attribute__((packed)) if available
* timev.h: shrink and pack struct vtm
* time.c: pack struct time_object and adjust/introduce helpers
  [ruby-core:60794]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45155 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-02-24 03:38:14 +00:00
naruse 405a99b8a3 * configure.in: it must see rb_cv_broken_memmem not rb_cv_func_memmem.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45042 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-02-19 02:40:19 +00:00
akr bf6279bc2b * configure.in (FILE_COUNT): Removed. (win32.c defines it in itself.)
(FILE_READPTR): Ditto.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45031 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-02-18 03:13:04 +00:00
akr 7f27543b3b * configure.in (FILE_READEND): Don't detect it because it is not used.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44971 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-02-15 11:49:37 +00:00
nobu bb7ae984f8 configure.in: use pthread_setname_np only if available
* configure.in: check if pthread_setname_np is available.
* thread_pthread.c: pthread_setname_np is not available on old
  Darwins.  [ruby-core:60524] [Bug #9492]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44925 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-02-13 02:06:36 +00:00
glass 6cb5dc55bd * configure.in: revert r44922. I should have used AC_CHECK_FUNCS()
to just define a symbol if the function is available.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44923 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-02-12 16:04:05 +00:00
glass 353fcc27d1 * configure.in: use AC_CHECK_FUNC instead of AC_CHECK_FUNCS
if available.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44922 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-02-12 15:24:33 +00:00
glass d6203c933e * configure.in: fix to undefine HAVE_MEMEM collectlly if it is broken.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44920 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-02-12 15:17:13 +00:00
akr 59c1d04dae * configure.in: Fix compilation error.
https://bugs.ruby-lang.org/issues/8358#note-16



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44896 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-02-09 05:00:57 +00:00
nobu 5659a79453 * configure.in (rb_cv_bsd_qsort_r): ensure 'qsort_r' is not BSD version.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44895 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-02-08 23:56:11 +00:00
naruse 846e046203 * configure.in (rb_cv_gnu_qsort_r): use compile error "conflicting
types for 'qsort_r'" instead of AC_RUN_IFELSE.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44894 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-02-08 20:21:57 +00:00
nobu 85b1671b42 configure.in: Properly detect platform for SSE2 instructions.
* configure.in: add qouting brackets and append wildcard for the
  rest after target_cpu, to properly detect platform for SSE2
  instructions.  [ruby-core:60576] [Bug #8358]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44890 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-02-08 14:40:36 +00:00
glass cd476cd86b * configure.in: check qsort_r(3) and whether it is GNU version.
BSD version has different prototype.

* util.h: use qsort_r() as ruby_qsort() if it is GNU version.

* util.c: define ruby_qsort() if needed.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44889 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-02-08 12:50:28 +00:00