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

1493 Коммитов

Автор SHA1 Сообщение Дата
akr d03315d84a * configure.in (dirfd): Check function.
* dir.c (dir_fileno): New method.
  [ruby-dev:48265] [Feature #9880]



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47387 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-09-04 15:54:04 +00:00
akr f20d51b0ad * process.c (has_privilege): New function.
(retry_fork_async_signal_safe): Don't use vfork() for privileged
  process.

* configure.in (getresuid): Check function.
  (getresgid): Ditto.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47386 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-09-04 14:56:03 +00:00
akr 93a7bf4b17 * configure.in: Use AC_FUNC_FORK.
* io.c: Use HAVE_WORKING_FORK instead of HAVE_FORK.

* process.c: Ditto.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47361 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-09-02 22:51:03 +00:00
nobu 86c72d1a9c configure.in: quote defun names
* configure.in (RUBY_TRY_CFLAGS, RUBY_TRY_LDFLAGS),
  (RUBY_CHECK_BUILTIN_SETJMP, RUBY_SETJMP_TYPE),
  (RUBY_STACK_GROW_DIRECTION): quote defun names, for some
  versions of autoconf possibly.  [ruby-core:64473] [Bug #10156]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47226 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-08-20 08:27:05 +00:00
nobu 89901cc760 configure.in: [Bug #8409]
* configure.in: check if prefix is same as the cwd, not only same
  path name.  also use AC_MSG_ERROR to bail out.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47152 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-08-12 08:29:56 +00:00
hsbt 3486904f4e * configure.in: ignored working directory same as prefix value.
[ruby-core:54999] [Bug #8409]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47151 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-08-12 05:25:47 +00:00
nobu b6d23e450b configure.in: fix jemalloc check
* configure.in (jemalloc): check with JEMALLOC_MANGLE if not found
  without the mangling.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47131 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-08-11 01:40:23 +00:00
nobu c7bc925b9b configure.in: remove spaces followed by tabs
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47130 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-08-11 01:40:20 +00:00
nobu f5e2b68a7d configure.in: remove SSE options
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47129 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-08-10 04:48:12 +00:00
nobu ac574fe862 configure.in: duplicated linker flags
* configure.in (with_jemalloc): get rid of duplicated linker flags,
  as AC_CHECK_LIB adds it.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47127 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-08-10 03:31:37 +00:00
nobu 6528ad0971 defines.h: PACKED_STRUCT_UNALIGNED
* include/ruby/defines.h (PACKED_STRUCT_UNALIGNED): move from
  configure.in for universal binary.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46914 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-07-23 14:50:02 +00:00
nobu 3f21aa5d38 configure.in: missing comma
* configure.in (posix_fadvise): fix missing comma separating
  blocks.  [ruby-core:62968] [Bug #9914]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46913 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-07-23 14:50:00 +00:00
nobu ce4cfec88a configure.in: with-destdir
* configure.in: add --with-destdir option which sets default
  destination directory to install.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46857 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-07-18 01:47:01 +00:00
nobu 5e14a4c4b3 configure.in: exit with failure
* configure.in (rb_cv_broken_backtrace): exit with failure
  normally, no needs to abort.  [ruby-core:63678] [Bug #10008]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46796 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-07-13 01:56:27 +00:00
nobu c2b0992156 configure.in: fix static-linked-ext
* configure.in (--with-static-linked-ext): fix for extensions to
  be linked statically.
* Makefile.in, common.mk: use ENCSTATIC for enc directory.
* ext/extmk.rb: supply dependencies of statically linked extension
  libraries.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46666 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-07-03 03:40:24 +00:00
nobu 08580181ac configure.in: extract date at build time
* Makefile.in, configure.in (Makefile): extract RUBY_RELEASE_DATE from
  version.h at each build time.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46454 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-06-16 20:23:23 +00:00
nobu dfd8c5d402 thread.c: fix for non-scalar pthread_t
* configure.in (rb_cv_scalar_pthread_t): pthread_t is not required
  to be a scalar type.
* thread.c (fill_thread_id_string, thread_id_str): dump pthread_t
  in hexadecimal form if it is not a scalar type, assume it can be
  represented in a pointer form otherwise.  based on the patch by
  Rei Odaira at [ruby-core:62867].  [ruby-core:62857] [Bug #9884]
* thread_pthread.c (Init_native_thread, thread_start_func_1),
  (native_thread_create): set thread_id_str if needed.
* vm_core.h (rb_thread_t): add thread_id_string if needed.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46406 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-06-11 08:38:09 +00:00
nobu 8a2dc6f1dd configure.in: disable posix_fadvise
* configure.in (posix_fadvise): disable use of posix_fadvise
  itself on 32-bit AIX.  [ruby-core:62968] [Bug #9914]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46384 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-06-08 15:04:29 +00:00
nobu a4d7e42888 version.c: show malloc_conf
* configure.in (jemalloc): check for the header regardless drop-in
  libjemalloc is found, for `malloc_conf` declaration.
* version.c (ruby_show_version): show `malloc_conf` if set.
  [Feature #9113]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46355 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-06-05 05:36:28 +00:00
nobu 6ab08d2e8d configure.in, missing.h: jemalloc mangling
* configure.in (with-jemalloc): also check for header, for ABIs
  which JEMALLOC_MANGLE is needed, i.e., Mach-O and PE-COFF
  platforms.  [ruby-core:62939] [Feature #9113]
* include/ruby/missing.h: include alternative malloc header to
  replace memory management functions.
* dln.c, io.c, parse.y, st.c: undef malloc family before
  re-definition to suppress warnings.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46354 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-06-05 05:16:46 +00:00
normal 22d8480e99 configure.in: add --with-jemalloc option
* configure.in: add --with-jemalloc option
  [ruby-core:62912]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46349 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-06-04 19:34:03 +00:00
nobu 4532872340 configure.in: remove rb_cv_typeof
* configure.in (rb_cv_typeof): no longer needed because of
  AC_C_TYPEOF.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46284 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-05-31 14:48:11 +00:00
shyouhei e00ac16763 * thread.c (rb_thread_atfork_internal): My compiler complains
about this variable being used before initialized. I looked at
  the code and expanded the macro and turned out it was actually
  USED for pointer arithmetic, not dereferenced.  So this was
  never a serious bug.  But is annoying indeed to see warnings
  every time.  I added `=0` and all went healthy.

* configure.in: Also, I found that the problematic macro expansion
  only happens when we lack __typeof__ C extension, which shall
  not be the case of my compiler.  I added AC_CTYPEOF to kick ass.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46278 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-05-31 12:24:28 +00:00
nobu c65ef1539b configure.in: fix messages
* configure.in (RUBY_FUNC_ATTRIBUTE): show the attribute name in
  the message if the macro name is not given.  fix up r45608.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46222 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-05-29 00:58:21 +00:00
nobu fc0920e36d configure.in: do not disable ucontext.h
* configure.in (ac_cv_func_{getcontext,setcontext}): do not
  disable ucontext.h entirely, but disable use of functions only.
  `ucontext_t` is necessary in the signal handler now.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46114 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-05-25 11:31:52 +00:00
naruse 6b4f9210b0 * file.c (stat_birthtime): add birthtime support [Feature #9647]
* file.c (rb_stat_birthtime): add File::Stat.birthtime

* file.c (rb_file_s_birthtime): add File.birthtime

* file.c (rb_file_birthtime): add File#birthtime

* configure.in: check struct stat.st_birthtimespec.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46047 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-05-22 11:49:22 +00:00
naruse a999657e7e sys/param.h is used by linux
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46046 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-05-22 11:17:34 +00:00
naruse 210f863906 revert File::Statfs [Feature #9772]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46042 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-05-22 10:39:48 +00:00
nobu 003710957b configure.in: Info.plist workaround
* configure.in: workaround for Info.plist to get rid of `dsymutil`
  crash by wrong files in parent directories.
  [ruby-core:62594] [Bug #9840]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46032 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-05-21 02:42:33 +00:00
nobu 5d6ed9081e configure.in: rb_cv_atan2_inf_c99
* configure.in (rb_cv_atan2_inf_c99): set `no` if atan2f and
  atan2l are not available, and quote the result.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45998 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-05-18 08:31:34 +00:00
akr 63fee73500 * configure.in: Check nextafter() availability.
* include/ruby/missing.h (nextafter): New optional declaration.

* missing/nextafter.c: New file.

* numeric.c: Float#next_float and Float#prev_float implemented.

   [ruby-core:62562] [Feature #9834]



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45982 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-05-18 00:37:10 +00:00
nobu 59cb82c52c configure.in: disable install-capi by default
* configure.in (install-capi): do not install C API documents by
  default.  [ruby-core:62557]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45973 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-05-17 07:48:25 +00:00
shirosaki a7ebfe4b71 configure.in: enable SSE2 on mingw
* configure.in: enable SSE2 on mingw. target='i386-pc-mingw32'.
  [ruby-core:62095] [Bug #8358]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45954 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-05-15 12:31:36 +00:00
nobu f0fc13aaea configure.in: check atan2
* configure.in (rb_cv_atan2_inf_c99): check whether runtime atan2
  handles Inf as C99.  ruby-core:62536] [Bug #9831]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45930 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-05-12 14:57:17 +00:00
akr b063dd016c * configure.in: Invoke AC_REPLACE_FUNCS for each function.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45926 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-05-12 11:33:39 +00:00
nobu c6e9e4110e configure.in: check typeof
* configure.in (rb_cv_typeof): check typeof extension for ccan
  headers.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45916 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-05-11 00:33:45 +00:00
nobu 9ee25c70df configure.in: check for setjmp type with CCDLFLAGS
* configure.in (RUBY_SETJMP_TYPE): check for setjmp type after
  CCDLFLAGS is appended to CFLAGS, since __builtin_setjmp can be
  affected.  [ruby-core:62469] [Bug #9818]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45885 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-05-09 05:27:07 +00:00
naruse 97cd982a3e * configure.in: OpenBSD needs to include sys/param.h before include
sys/mount.h. [ruby-dev:48167]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45873 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-05-08 01:57:05 +00:00
nobu 7a6ebecf9e math.c: C99-like atan2
* math.c (math_atan2): return values like as expected by C99 if
  both two arguments are infinity.  based on the patch by cremno
  phobia <cremno AT mail.ru> in [ruby-core:62310].  [Feature #9799]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45805 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-05-04 01:23:01 +00:00
ngoto 09f51c56d8 * file.c (HAVE_STRUCT_STATVFS_F_BASETYPE): File::Statfs#fstypename
is supported on AIX, HP-UX, and Solaris, by using the value of
  struct statvfs.f_basetype.
* configure.in (HAVE_STRUCT_STATVFS_F_BASETYPE): check struct
  statvfs.f_basetype which is available on AIX, HP-UX, and Solaris.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45790 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-05-02 15:24:04 +00:00
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
nobu 6215756228 configure.in: extra quotes
* configure.in: remove extra quotes in message.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44877 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-02-07 06:14:06 +00:00
nobu e224ab088d configure.in: use C99
* configure.in: ISO9899:1999 is necessary for strtoll() on FreeBSD
  10, (and may be possibly other platforms).

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44876 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-02-07 06:13:19 +00:00
shugo f1e4777d45 * configure.in: use $@ instead of $(.TARGET) because .TARGET is not
supported by GNU make.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44756 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-01-30 05:47:15 +00:00
glass bddde8eee3 * io.c (io_binwrite): use writev(2) to avoid double write if available.
* configure.in: check writev(2)

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44618 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-01-15 11:37:23 +00:00
nobu b5faf430cc configure.in: -mstackrealign
* configure.in: -mstackrealign is necessary for -msse2 working.
  [ruby-core:54716] [Bug #8349]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44539 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-01-09 11:49:23 +00:00
nobu 40967a5c0b configure.in: use SSE2
* configure.in: use SSE2 instructions to drop unexpected precisions on
  other than mingw.  [ruby-core:59472] [Bug #8358]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44538 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-01-09 11:46:26 +00:00
nobu c5bab032f6 configure.in: fix rpath flag
* configure.in (RPATHFLAG): use -rpath if -R is not available.

* configure.in (LIBRUBY_RPATHFLAGS): use RPATHFLAG instead of
  hardcoded -R option.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44506 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-01-05 12:35:44 +00:00
nobu 006e66b668 numeric.c: isfinite
* numeric.c (flo_is_finite_p): prefer C99 standard isfinite() than
  deprecated finite().

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44505 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-01-05 12:33:42 +00:00
nobu 368aa6e3d5 configure.in: deprecated-declarations
* configure.in: make deprecated declarations error.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44504 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-01-05 12:33:40 +00:00
nobu 41d42a5937 configure.in: LDFLAGS and DLDFLAGS for opt-dir
* configure.in: reset LDFLAGS and DLDFLAGS for opt-dir again after
  LIBPATHFLAG and RPATHFLAG are set.  [ruby-dev:47868] [Bug #9317]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44476 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-01-01 09:19:37 +00:00
nobu dd6834b054 configure.in: use SSE2
* configure.in: use SSE2 instructions for drop unexpected
  precisions.  [ruby-core:54738] [Bug #8358]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44474 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-01-01 02:12:38 +00:00
nobu 58a7cdaaf0 win32/win32.c: mingw jungle
* configure.in: let mingw do something black-magic, and check if
  _gmtime64_s() is available actually.
* win32/win32.c (gmtime_s, localtime_s): use _gmtime64_s() and
  _localtime64_s() if available, not depending on very confusing
  mingw variants macros.  based on the patch by phasis68 (Heesob
  Park) at [ruby-core:58764].  [ruby-core:58391] [Bug #9119]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44406 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-12-25 04:00:59 +00:00
nobu b0381a4b1f configure.in: use RUBY_APPEND_OPTIONS
* configure.in: DLDFLAGS is defined in --with-opt-dir handler, so
  ${DLDFLAGS=} does not work now.  use RUBY_APPEND_OPTIONS instead.
  [ruby-dev:47855] [Bug #9256]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44297 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-12-20 07:00:56 +00:00
nobu 804151d199 configure.in: remove options from comments
* configure.in (RUBY_APPEND_OPTION, RUBY_APPEND_OPTIONS),
  (RUBY_PREPEND_OPTION, RUBY_PREPEND_OPTIONS): remove option
  lists, which can be multiple lines, from generated comments.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44296 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-12-20 07:00:08 +00:00
naruse f10068dc44 * configure.in (AC_ARG_WITH): use withval directly.
fix failure on FreeBSD.
  http://fb32.rubyci.org/~chkbuild/ruby-trunk/log/20131217T070301Z.diff.html.gz

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44295 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-12-20 05:51:12 +00:00
nobu 8859ff1d09 configure.in: add $CPPFLAGS
* configure.in (RUBY_DTRACE_POSTPROCESS): $CPPFLAGS is also needed
  to compile.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44259 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-12-17 05:52:05 +00:00
nobu 2f346cb1d5 configure.in: use $DTRACE
* configure.in (RUBY_DTRACE_POSTPROCESS): use configured $DTRACE
  instead of dtrace directly.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44258 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-12-17 05:52:03 +00:00
nobu ef9ea0482d configure.in: move opt-dir option
* configure.in (opt-dir): move so that it can affect in configure
  not only after rbconfig.rb.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44257 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-12-17 05:29:17 +00:00
nobu 7a24660960 Makefile.in, configure.in: cppflags
* Makefile.in, configure.in (cppflags): allow setting cppflags from
  the confiugre command line.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44255 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-12-17 04:32:51 +00:00
tmm1 7c51c8fd17 configure.in: build probes with systemtap's dtrace wrapper
* configure.in (RUBY_DTRACE_POSTPROCESS): Fix compatibility with
  systemtap on linux. stap requires `dtrace -G` post-processing, but
  the dtrace compatibility wrapper is very strict about probes.d
  syntax.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44254 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-12-17 02:03:09 +00:00
nobu 36e9f58ddf configure.in: unexpand exec_prefix in rubylibprefix
* configure.in (rubylibprefix): replace exec_prefix as well as
  bindir and libdir.  a patch by kimuraw (Wataru Kimura) at
  [ruby-dev:47852].  [Bug #9160]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44205 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-12-14 07:26:52 +00:00
nobu b7c6db94ae gc.c: use malloc_size
* configure.in: check malloc_size() available on BSD.
* gc.c: use malloc_size() with malloc/malloc.h on BSD.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43983 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-12-03 14:48:20 +00:00
glass b426e1b1fa * st.c (st_keys): define st_keys(). it writes each key to buffer.
* hash.c (rb_hash_keys): use st_keys() for performance improvement
  if st_data_t and VALUE are compatible.

* st.h: define macro ST_DATA_COMPATIBLE_P() to predicate whether
  st_data_t and passed type are compatible.

* configure.in: check existence of builtin function to use in
  ST_DATA_COMPATIBLE_P().

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43885 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-11-27 16:07:10 +00:00
glass 0791c940ad * ruby_atomic.h: use __atomic builtin functions supported by GCC.
__sync family are legacy functions now and it is recommended
  that new code use the __atomic functions.
  http://gcc.gnu.org/onlinedocs/gcc/_005f_005fatomic-Builtins.html

* configure.in: check existence of __atomic functions.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43851 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-11-26 02:45:53 +00:00
glass b25a6494cc * internal.h: use __builtin_bswap16() if possible.
* configure.in: check existence of __builtin_bswap16().

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43831 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-11-24 16:03:22 +00:00
naruse 215a7da2a6 * gc.c: fix build failure on FreeBSD introduced by r43763.
malloc_usable_size() is defined by malloc_np.h on FreeBSD.

* configure.in: check malloc.h and malloc_np.h.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43769 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-11-22 00:05:34 +00:00
nobu 1a2997b299 gc.c: malloc_usable_size
* gc.c (malloc_usable_size): use _msize() on Windows.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43762 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-11-21 09:52:09 +00:00
nobu 4305eb8e6c gc.c: malloc_usable_size
* gc.c (vm_xrealloc, vm_xfree): use malloc_usable_size() to obtain old
  size if available.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43760 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-11-21 09:49:05 +00:00
nobu b9294f226b configure.in: --with-os-version-style
* configure.in (--with-os-version-style): option to transform target
  OS version string.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43726 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-11-19 14:38:52 +00:00
akr e7ec3dad90 * configure.in (LOCALTIME_OVERFLOW_PROBLEM): Define it for cross
compiling.
  [ruby-core:58391] [Bug #9119] Reported by Luis Lavena.
  Analyzed by Heesob Park.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43713 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-11-18 22:24:52 +00:00
nobu eba3d83f4e configure.in: -Werror=division-by-zero
* configure.in (warnflags): make division-by-zero error for
  RUBY_CONST_ASSERT macro.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43704 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-11-18 04:04:41 +00:00
sorah 7cbdb708e9 * configure.in: Use $LIBS for base of $SOLIBS, also in darwin
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43697 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-11-16 21:36:54 +00:00
nobu 3636f8c0f5 configure.in: check CFLAGS and LDFLAGS
* configure.in: check if the given CFLAGS and LDFLAGS are working, and
  bail out early if not.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43382 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-10-22 03:11:20 +00:00
nobu d66c5768ca win32.c: check by module handles
* win32/win32.c (console_emulator_p): check by comparison between
  module handle of WriteConsoleW and kernel32.dll.
* configure.in, win32/Makefile.sub, win32/setup.mak: no longer need
  psapi.lib.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43331 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-10-17 08:11:21 +00:00
nobu 380e40af96 configure.in: fix for non-GNU-make
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43329 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-10-17 05:40:57 +00:00
nobu 23932b91a9 configure.in: fix FIRSTMAKEFILE config
* configure.in (FIRSTMAKEFILE): AC_CONFIG_FILES needs the file
  arguments separating by a colon literally.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43324 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-10-17 02:56:22 +00:00
nobu 3bb86ae462 cont.c: split conditions
* cont.c (FIBER_USE_NATIVE): split long conditions.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43181 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-10-07 13:45:31 +00:00
nobu 9e3eb50212 configure.in: add mingw FIBER_USE_NATIVE
* configure.in (FIBER_USE_NATIVE): add mingw condition.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43180 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-10-07 13:19:02 +00:00
nobu 4549879579 configure.in: move FIBER_USE_NATIVE conditions
* configure.in, win32/Makefile.sub (FIBER_USE_NATIVE): move conditions
  from cont.c

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43179 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-10-07 12:03:58 +00:00
nobu 886e3bb1df win32.c: disable console colorizing
* win32/win32.c (console_emulator_p, constat_handle): disable built-in
  console colorizing when console-emulator-like DLL is injected.
  [Feature #8201]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43131 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-10-03 09:20:51 +00:00
nobu 3eef1b54ef configure.in: RUNRUBY_COMMAND
* configure.in, Makefile.in (RUNRUBY_COMMAND): separate from RUNRUBY,
  to use options for runruby.rb.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43093 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-09-30 07:07:06 +00:00
nobu e6a317bf6c configure.in: size_t must be unsigned
* configure.in (RUBY_CHECK_SIGNEDNESS): macro to check signedness of a
  type.
* configure.in (size_t): must be unsigned.
  [ruby-core:57149] [Feature #8890]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42921 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-09-12 13:40:06 +00:00
nobu 5397a25634 configure.in: fix cross-compiling installation failure
* configure.in (RUNRUBY): append -- only after runruby.rb, not
  cross-compiling baseruby, so that $(RUN_OPT) can be command line
  options.  [ruby-dev:47703] [Bug #8893]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42910 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-09-11 08:30:48 +00:00
akr f43d9e22f6 * configure.in: Define ac_cv_func_clock_getres to yes for mingw*.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42861 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-09-06 13:49:55 +00:00
mrkn 301cb9ca99 * configure.in (with_gmp): set with_gmp no if it is empty.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42842 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-09-05 03:50:07 +00:00
nobu fdf04ce67e configure.in: libruby needs gmp
* configure.in (SOLIBS): LIBRUBY_SO also needs linking with gmp, to
  run worker processes in test-all on non-ELF platforms.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42817 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-09-04 02:11:38 +00:00
akr 23da5a785e * process.c (rb_clock_getres): New method.
(timetick2dblnum_reciprocal): New function.

* configure.in: Check clock_getres.

[ruby-core:56780] [Feature #8809] accepted at
DevelopersMeeting20130831Japan
https://bugs.ruby-lang.org/projects/ruby/wiki/DevelopersMeeting20130831Japan



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42744 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-08-31 13:21:48 +00:00
akr 83a0709174 * bignum.c: Use GMP to accelerate big Bignum multiplication.
(bary_mul_gmp): New function.
  (bary_mul): Use bary_mul_gmp.
  (bigsq): Use different threshold with GMP.

* configure.in: Detect GMP.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42743 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-08-31 12:17:18 +00:00
nobu e6ece12201 configure.in: check for sys/pstat.h
* configure.in (sys/pstat.h): fix missing header check for
  missing/setproctitle.c on HP-UX.  [ruby-core:56644] [Bug #8792]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42713 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-08-28 02:25:04 +00:00
nobu 5784aaf15d configure.in: clock_t
* configure.in (clock_t): needs time.h.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42670 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-08-23 13:07:59 +00:00
akr 3873e09cad * process.c (unsigned_clock_t): Defined.
(rb_clock_gettime): Consider clock_t overflow for
  ISO_C_CLOCK_BASED_CLOCK_PROCESS_CPUTIME_ID.

* configure.in: Check the size of clock_t.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42651 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-08-22 11:19:49 +00:00
akr 2df40d4d18 * configure.in: Define ac_cv_func_clock_gettime to yes for mingw*.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42627 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-08-19 16:20:40 +00:00
nobu a3b4296369 configure.in: clock_gettime
* configure.in (clock_gettime): should not overwrite cache variable
  with different condtion.  otherwise -lrt is not linked and the link
  fails, after reconfig.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42616 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-08-19 04:03:22 +00:00
akr 5da36600a1 * configure.in: Revert r42604. It causes linking librt on systems
with newer glibc uselessly.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42606 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-08-18 05:26:47 +00:00
nobu e7ad242663 configure.in: clock_gettime
* configure.in (clock_gettime): need to check with -lrt prior to check
  for the function only.  otherwise -lrt is not linked and the link
  fails, when ac_cv_func_clock_gettime is cached as yes.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42604 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-08-18 03:41:56 +00:00
akr 93bb48995c * process.c (rb_clock_gettime): New method.
This is accepted in the meeting:
  https://bugs.ruby-lang.org/projects/ruby/wiki/DevelopersMeeting20130809
  This method is accepted as a CRuby feature.
  I.e. Other Ruby implementations don't need to implement it.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42504 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-08-11 02:59:30 +00:00
akr 55b6fff737 * configure.in: Revert r42458.
It removes the HAVE_CLOCK_GETTIME from config.h.
  http://www.rubyist.net/~akr/chkbuild/debian/ruby-trunk/log/20130809T044800Z.diff.html.gz



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42494 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-08-10 16:59:58 +00:00
nobu 6e563a4ecc configure.in: CoreFoundation framework option
* configure.in (XLDFLAGS, LIBRUBYARG_STATIC): CoreFoundation framework
  option is now needed always, regardless enable-shared.
  [ruby-core:56467] [Bug #8759]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42472 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-08-09 13:51:13 +00:00
nobu f67c1b0a12 configure.in: clock_gettime
* configure.in: use the result of AC_CHECK_LIB(rt, clock_gettime) as
  clock_gettime.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42458 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-08-09 04:42:44 +00:00
nobu c04f402f0f file.c: normalize Form C
* file.c (rb_str_normalize_ospath): normalize to Normalization Form C
  using CFString.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42457 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-08-09 03:06:53 +00:00
glass 867876ab9b * string.c (rb_str_rindex): performance improvement by using
memrchr(3).

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42269 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-07-31 08:47:13 +00:00
akr 028d67b924 Fix a typo.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42056 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-07-19 03:06:12 +00:00
glass 13a1fd6d82 * configure.in: revert r42008. strcasecmp() uses the current locale.
* include/ruby/ruby.h: ditto.

* st.c (st_strcasecmp): ditto.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42009 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-07-16 12:49:01 +00:00
glass a0d9bd4445 * configure.in: check strcasecmp().
* include/ruby/ruby.h: use strcasecmp() as st_strcasecmp() if it
  exists.

* st.c (st_strcasecmp): define the function only if strcasecmp()
  doesn't exist.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42008 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-07-16 12:13:19 +00:00
akr 150b265502 * bignum.c (nlz16): Use __builtin_clz if possible.
(nlz32): Use __builtin_clz or __builtin_clzl if possible.
  (nlz64): Use __builtin_clzl or __builtin_clzll if possible.
  (nlz128): Use __builtin_clzll if possible.

* configure.in: Check __builtin_clz, __builtin_clzl and
  __builtin_clzll.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41976 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-07-15 01:49:32 +00:00
akr 508669b6da * bignum.c (power_cache_get_power): Use bitsize insteadof ceil_log2.
(ones): Removed.
  (next_pow2): Removed.
  (floor_log2): Removed.
  (ceil_log2): Removed.

* configure.in (__builtin_popcountl): Don't check.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41974 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-07-15 00:46:00 +00:00
akr 240f3056aa * configure.in: Check __builtin_popcountl, __builtin_bswap32 and
__builtin_bswap64.

* internal.h (swap32): Use the configure result for the condition to
  use __builtin_bswap32.
  (swap64): Use the configure result for the condition to use
  __builtin_bswap64.

* bignum.c (ones): Use the configure result for the condition to use
  __builtin_popcountl.
  (bary_unpack_internal): Use appropriate types for swap argument.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41963 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-07-14 14:28:33 +00:00
nobu 2114ad42da configure.in: check exit statuses
* configure.in (RUBY_DTRACE_POSTPROCESS): check exit statuses of
  commands.  [Bug #8606]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41816 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-07-07 02:01:27 +00:00
nobu 2b5f033cb5 configure.in: correctly tests dtrace -G in version 1.11
* configure.in (RUBY_DTRACE_POSTPROCESS): dtrace version SUN D 1.11
  introduces a check in the dtrace compiler to ensure that probes
  actually exist. If there are no probes, then the -G step will
  fail. As this test is only being used to determine whether -G is
  necessary (for instance, on OSX it is not), adding a real probe to
  the conftest allows it to succeed on newer versions of dtrace.
  Patch by Eric Saxby <sax AT livinginthepast.org> at
  [ruby-core:55826].  [Fix GH-351], [Bug #8606].

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41815 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-07-07 02:01:07 +00:00
akr 1a6a65f16b * configure.in: Check __int128.
* include/ruby/defines.h (BDIGIT_DBL): Use uint128_t if it is available.
  (BDIGIT): Use uint64_t if uint128_t is available.
  (SIZEOF_BDIGITS): Defined for above case.
  (BDIGIT_DBL_SIGNED): Ditto.
  (PRI_BDIGIT_PREFIX): Ditto.

* include/ruby/ruby.h (PRI_64_PREFIX): Defined.

* bignum.c (rb_big_pow): Don't use BITSPERDIG for the condition which
  rb_big_pow returns Float or Bignum.

[ruby-dev:47413] [Feature #8509]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41379 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-06-18 09:46:01 +00:00
nobu 632ed84cf1 * configure.in: download missing config files.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41297 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-06-14 05:10:17 +00:00
nobu f28ec8da8c no alternate value expansion
* configure.in (opt-dir), tool/ifchange: get rid of "alternate value"
  expansion for legacy sh.  [ruby-dev:47420] [Bug #8524]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41280 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-06-13 12:30:24 +00:00
nobu 5713c59531 win32.c: NET_LUID
* configure.in: check for NET_LUID.  header macro varies across
  complier versions.
* win32/win32.c: use configured macro.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41163 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-06-08 05:17:04 +00:00
nobu 147775ac2b use NUM2SIZET and SIZET2NUM
* configure.in: revert r41106.  size_t may not be unsigned

* bignum.c (rb_absint_size_in_word, rb_int_export, rb_int_import): use
  NUM2SIZET() and SIZET2NUM() already defined in ruby/ruby.h.

* ext/-test-/bignum/export.c (rb_int_export_m): ditto.

* ext/-test-/bignum/import.c (rb_int_import_m): ditto.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41130 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-06-07 02:41:45 +00:00
akr 9fea8758e9 * configure.in: Invoke RUBY_REPLACE_TYPE for size_t.
Don't invoke RUBY_CHECK_PRINTF_PREFIX for size_t to avoid conflict
  with RUBY_REPLACE_TYPE.

* internal.h (rb_absint_size): Declared.
  (rb_absint_size_in_word): Ditto.
  (rb_int_export): Ditto.

* bignum.c (rb_absint_size): New function.
  (rb_absint_size_in_word): Ditto.
  (int_export_fill_dd): Ditto.
  (int_export_take_lowbits): Ditto.
  (rb_int_export): Ditto.

* pack.c (pack_pack): Use rb_int_export for BER compressed integer.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41106 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-06-06 11:57:35 +00:00
kosaki 523bd6737e * configure.in: removes AC_CHECK_FUNCS(readdir_r). readdir_r()
is only used from dir.c and it doesn't need readdir_r().
* configure.in (SIZEOF_STRUCT_DIRENT_TOO_SMALL): remvoed. It is
  only used for readdir_r.
* dir.c: removes NAME_MAX_FOR_STRUCT_DIRENT. It is not right way
  to detect maximum length of path len. POSIX require to use
  fpathconf(). IOW, it might have lead to make a vulnerability
  using stack smashing. Moreover, readdir() works enough for our
  usage.
* dir.c (READDIR): removes an implementation which uses
  readdir_r() and parenthesize in a macro body correctly.
* dir.c (dir_read): removes IF_HAVE_READDIR_R(DEFINE_STRUCT_DIRENT
  entry), it is used only for readdir_r().
* dir.c (dir_each): ditto.
* dir.c (glob_helper): ditto.

* dir.c (READDIR): removes entry and dp argument.
* dir.c (dir_read): adjust for the above change.
* dir.c (dir_each): ditto.
* dir.c (glob_helper): ditto.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41042 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-06-02 22:38:11 +00:00
nobu 58bec3e2cb configure.in: HAVE_ATTRIBUTE_FUNCTION_ALIAS
* configure.in (HAVE_ATTRIBUTE_FUNCTION_ALIAS): define to tell if
  alias attribute is available.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40998 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-05-31 07:36:19 +00:00
nobu d3298468d0 configure.in: no runtime path to -L
* configure.in (LIBRUBY_RPATHFLAGS): do not append -L option with
  runtime library directory if cross compiling, but only -R option.
  runtime path makes no sense on the host system.  [ruby-dev:47363]
  [Bug #8443]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40907 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-05-24 02:04:27 +00:00
nobu 9c0ff0c1c8 configure.in: setjmpex
* configure.in (setjmp-type): check if setjmpex() is really available.
  workaround for i686-w64-mingw32 which declares it but lacks its
  definition.
* include/ruby/defines.h: include setjmpex.h only if also setjmpex()
  is available.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40814 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-05-18 16:40:10 +00:00
nobu 344db69c45 configure.in: setjmpex
* configure.in (setjmp-type): use setjmpex() on w64-mingw32 to get rid
  of -Wclobbered warnings.
* include/ruby/defines.h: include setjmpex.h here becase setjmp.h is
  included from win32.h via intrin.h, winnt.h, and so on.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40813 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-05-18 14:57:59 +00:00
akr fbe45fdfa2 * configure.in: Consider error messages to find out version option of
C compiler.
  The C compiler of Sun Studio C emits "Warning: Option -qversion
  passed to ld, if ld is invoked, ignored otherwise" and exit
  successfully.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40796 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-05-17 09:10:16 +00:00
nobu 49d37e6edc verconf.h: fix for default prefix
* configure.in, template/verconf.h.in (RUBY_EXEC_PREFIX): fix for
  default prefix.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40782 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-05-16 07:15:48 +00:00
nobu 434f0abd02 verconf.h.in: template for verconf.h
* template/verconf.h.in: generate verconf.h from the template and
  rbconfig.rb.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40779 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-05-16 04:13:40 +00:00
nobu 1ad7cbbf64 configure.in: move RUBY_PLATFORM to config.h
* configure.in (RUBY_PLATFORM): move to config.h as needed by
  version.c.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40763 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-05-15 08:56:28 +00:00
nobu b38e3f953c configure.in: shvar_to_cpp in ruby
* configure.in: save configured load path values into verconf.in.
* common.mk (verconf.h): create from verconf.in with shvar_to_cpp.rb.
* tool/shvar_to_cpp.rb: turn shell variables into C macros.
  [Bug #7959]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40758 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-05-15 07:58:28 +00:00
nobu 4425e21343 configure.in: escape
* configure.in (unexpand_shvar): escape $.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40756 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-05-15 07:52:53 +00:00
usa cb3fcdcdc3 * win32/win32.c, include/ruby/win32.h (getipaddrs): [experimental]
emulate getipaddrs(3) on Unix.

* win32/Makefile.sub, configure.in (LIBS): need iphlpapi.lib for above
  function.

* include/ruby/win32.h (socketpair): rb_w32_socketpair() doesn't
  substitute for any function, so use non-prefixed name.

* ext/socket/extconf.rb (socketpair); follow above change.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40693 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-05-13 11:29:32 +00:00
kosaki 6591e26eb2 * configure.in: removes 'ac_cv_func_fseeko=yes' form MinGW
specific definitions.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40669 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-05-12 08:53:40 +00:00
kosaki 96ffcf557b * file.c (rb_file_s_truncate): use correct type. chsize takes
a long.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40668 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-05-12 08:42:30 +00:00
kosaki 82330e919b * configure.in: removes AC_CHECK_FUNCS(setitimer) because it's
unsed.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40666 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-05-12 08:42:09 +00:00
kosaki 3f6b5aa2f8 * configure.in: removes AC_CHECK_FUNCS(pause) because it's unused.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40665 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-05-12 08:41:57 +00:00
kosaki 59a3943a67 * configure.in: abort if gettimeofday doesn't exist.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40663 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-05-12 08:41:36 +00:00
kosaki 05628d3b6d * configure.in: removes AC_CHECK_FUNC(ftruncate64).
* configure.in: adds RUBY_REPLACE_TYPE(off_t) for creating
  NUM2OFFT.
* file.c (rb_file_truncate): use correct type. chsize() take
  a long.
* include/ruby/ruby.h (NUM2OFFT): use a definition created by
  a configure script by default.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40662 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-05-12 08:41:24 +00:00
kosaki e79f790798 * configure.in: removes AC_CHECK_FUNC(fseeko, fseeko64, ftello,
ftello64). They are not used from anywhere.

* win32/win32.c (fseeko): removes.
* win32/win32.c (rb_w32_ftello): removes.
* include/ruby/win32.h: removes declarations of rb_w32_ftello and
  rb_w32_fseeko.
* win32/Makefile.sub: removes '#define HAVE_FTELLO 1'.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40661 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-05-12 08:41:12 +00:00
kosaki 2d0c7e37bf * configure.in: remove AC_CHECK_FUNC(close). It is not used from
anywhere.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40660 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-05-12 08:40:59 +00:00
kosaki f15d3ff927 * configure.in: adds comments for setjmp check.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40659 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-05-12 08:40:47 +00:00
kosaki a79cccb5c6 * configure.in: move clock_gettime() check into regular place.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40658 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-05-12 08:40:35 +00:00
kosaki 7776ca930b * configure.in: add getenv() declaration check.
* dln_find.c: add HAVE_DECL_GETENV test.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40657 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-05-12 08:40:24 +00:00
kosaki fa5db01644 * configure.in: sorts AC_CHECK_FUNCS()s as alphabetical order.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40656 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-05-12 08:40:12 +00:00
akr 980bf275fa * configure.in: Move library checks into "Checks for libraries." part.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40633 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-05-10 11:24:06 +00:00
akr 695ad02d1b * configure.in: Reformat arguments of AC_CHECK_HEADERS and
AC_CHECK_FUNCS to track modifications easily.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40632 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-05-10 10:33:18 +00:00
akr 093beeda90 * configure.in: Don't link librt if clock_gettime is available in
the main C library.
  glibc 2.17 moves clock_* from librt to the main C library.
  http://sourceware.org/ml/libc-announce/2012/msg00001.html



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40631 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-05-10 03:01:51 +00:00
akr 18646d74dd * configure.in: Check socket library again. shutdown() is used in
io.c.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40618 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-05-08 19:57:37 +00:00
akr 86d5a05c47 Update a comment.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40617 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-05-08 16:55:59 +00:00
akr 6d313a387a * configure.in: Don't check socketpair. socketpair is not used in
ruby command itself.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40616 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-05-08 16:52:16 +00:00
akr 6359460610 Add a comment.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40611 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-05-08 12:39:38 +00:00
nobu 13bd7afc6e configure.in: default LINK_SO
* configure.in: should not strip newline at the beginning for the
  default link command.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40582 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-05-05 06:54:32 +00:00
nobu 38ea534c34 configure.in: keep POSTLINK
* configure.in: keep POSTLINK in LINK_SO macro till rbconfig.rb.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40581 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-05-05 04:37:48 +00:00
akr d7b32fb4c1 * configure.in: Fix a typo. Should check endgrent() instead of
endgrnam().


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40503 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-04-27 17:48:28 +00:00
akr 1a67580eb5 * process.c (obj2gid): Don't call endgrnam() if not exist.
Bionic (Android's libc) don't have endgrnam().

* configure.in: Check endgrnam function.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40501 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-04-27 15:38:36 +00:00
akr 6d2662d45a add comments.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40477 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-04-26 08:45:02 +00:00
akr 66938f38a3 dd comment about AC_FUNC_SETPGRP.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40474 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-04-26 03:51:01 +00:00
nobu 2667cb2d98 configure.in: RUBY_RM_RECURSIVE
* configure.in (RUBY_RM_RECURSIVE): this hack is needed by only
  autoconf 2.69 or earlier on darwin.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40454 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-04-24 17:23:36 +00:00
akr 4ddce7a68b * configure.in: Check mblen().
* eval_intern.h (CharNext): Don't use mblen() is not available.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40442 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-04-24 12:52:26 +00:00
charliesome e9679c9ad4 * configure.in: Revert using sigsetjmp by default due to performance
problems on some systems (eg. older Linux)

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40403 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-04-21 14:23:48 +00:00
charliesome c032cf6efe * configure.in: Use sigsetjmp by default so jumping out of signal
handlers properly restores the signal mask and SS_ONSTACK flag.
  [ruby-core:54175] [Bug #8254]

* configure.in: Manually check for presence of sigsetjmp. It is not a
  function on some systems, so AC_CHECK_FUNCS cannot be used.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40402 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-04-21 12:35:23 +00:00
nobu 526ffc53e9 configure.in: -g and -fstack-protector flags can't work
together on SmartOS
* configure.in (stack_protector): control use of -fstack-protector.
* configure.in (debugflags): let -fstack-protector precede and disable
  debugflags, because they can't work together on SmartOS.  [Bug #8268]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40364 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-04-19 02:37:06 +00:00
akr 1f32d09523 * include/ruby/defines.h: Simplify the logic to include sys/select.h.
This fixes a compilation error on Haiku (gcc2 and gcc4).

* configure.in: Use shared linker as $(CC) for Haiku.
  This fixes a build error on Haiku (gcc2).



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40172 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-04-07 02:00:46 +00:00
ngoto f70a7cd20f * configure.in (AC_CHECK_HEADERS): atomic.h for Solaris atomic_ops.
* ruby_atomic.h: Skip using Solaris10 atomic_ops on Solaris 9 or earlier if atomic.h is not available. [ruby-dev:47229] [Bug #8228]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40163 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-04-06 15:00:44 +00:00
nobu 23335c78d3 configure.in: gcc_major
* configure.in: use gcc_major value.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40132 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-04-05 14:08:27 +00:00
nobu b493f30a42 configure.in: no -Wextra-token on gcc 3
* configure.in (warnflags): -Wextra-tokens is same as -Wextra and
  let -Wno- options ignored on gcc 3.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40131 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-04-05 14:08:21 +00:00
nobu 647dc4fd49 configure.in: -Werror=extra-tokens
* configure.in (warnflags): bail out at extra tokens, instead
  continuing with lots of warnings.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40130 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-04-05 12:34:43 +00:00
nobu 7862695406 configure.in: no -include options
* configure.in (XCFLAGS): stop including missing.h by command line
  option, as the header seems included necessary places already.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40123 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-04-05 10:29:42 +00:00
nobu bff997e02b defines.h: RUBY_SYMBOL_EXPORT_{BEGIN,END}
* include/ruby/defines.h (RUBY_SYMBOL_EXPORT_{BEGIN,END}): visibility
  control macros.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40122 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-04-05 10:29:38 +00:00
nobu ecb9b98774 configure.in: prereq 2.67
* configure.in: skip autoconf 2.64 and 2.66, 2.67 seems short-lived
  but stick on it for Debian Squeeze.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40034 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-04-01 09:41:42 +00:00
nobu 3962655994 configure.in: clang check
* configure.in: should not use AC_COMPILE_IFELSE before
  AC_USE_SYSTEM_EXTENSIONS.  [Bug #8192]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40031 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-04-01 05:41:27 +00:00
nobu 90e8a9b4bd configure.in: clang check
* configure.in: check clang version by predefined macro values.
  [Bug #8192]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40030 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-04-01 05:22:57 +00:00
ayumin 6a23960f3f * configure.in: use 'test' instead quadrigraph.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40028 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-03-31 23:16:19 +00:00
ayumin ec61b0794a * configure.in: use quadrigraph to put '[' or ']'. [Bug #8192]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40027 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-03-31 22:19:55 +00:00
naruse 45334da911 Fix build failure introduced by previous commit
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40026 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-03-31 19:24:08 +00:00
naruse a6b625c538 * configure.in: kick old clang. [ruby-dev:47204] [Bug #8192]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40025 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-03-31 19:18:41 +00:00
nobu b5583577d4 thread.c: TYPEOF_TIMEVAL_TV_SEC
* configure.in (TYPEOF_TIMEVAL_TV_SEC): check for x64-mingw, where
  timeval.tv_sec is not time_t.

* thread.c (double2timeval): use TYPEOF_TIMEVAL_TV_SEC to get rid of
  overflow.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40012 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-03-30 21:08:42 +00:00
nobu 7b2c7b620c internal.h: use SIGNEDNESS_OF_TIME_T
* configure.in (RUBY_REPLACE_TYPE): define SIGNEDNESS_OF_type same as
  check_signedness of mkmf.rb.
* internal.h (TIMET_MAX, TIMET_MIN, TIMET_MAX_PLUS_ONE): use
  SIGNEDNESS_OF_TIME_T.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39956 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-03-26 20:15:44 +00:00
nobu 81cb1f6394 compiler version
* common.mk (showflags): show the compiler version.

* configure.in (CC_VERSION): compiler with version option.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39873 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-03-22 07:57:09 +00:00
mrkn 357b8c06c3 * configure.in: set ac_cv_prog_cxx if CXX is supplied.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39815 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-03-18 17:15:43 +00:00
mrkn 5ef1525b5e * configure.in: Fix c++ compiler auto-selection not only for
Darwin 11.x, but also the other versions of Darwin.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39814 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-03-18 16:22:15 +00:00
naruse aa24857f12 * vm_dump.c (backtrace): on darwin use custom backtrace() to trace
beyond _sigtramp. darwin's backtrace can't trace beyond signal
  trampoline with sigaltstack.

* configure.in: check execinfo.h on darwin.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39808 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-03-18 04:31:59 +00:00
nobu cab124776e mingw build fix
* configure.in: struct timeval is defined in winsock2.h on mingw.

* include/ruby/missing.h: include time.h for time_t, and sys/time.h
  for timeval and timespec.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39777 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-03-16 07:28:32 +00:00
kosaki 798ff850e4 * configure.in: check struct timeval exist or not.
* include/ruby/missing.h (struct timeval): check HAVE_STRUCT_TIMEVAL
  properly. and don't include sys/time.h if struct timeval exist.

* file.c: include sys/time.h explicitly.
* random.c: ditto.
* thread_pthread.c: ditto.
* time.c: ditto.
* ext/date/date_strftime.c: ditto.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39772 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-03-16 05:06:47 +00:00
kosaki 2e544471ae * configure.in (_FORTIFY_SOURCE): added a few comments.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39771 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-03-16 05:06:32 +00:00
nobu 844c04f462 configure.in, file.c: RUBY_FUNCTION_NAME_STRING
* configure.in (rb_cv_function_name_string): macro for function name
  string predefined identifier, __func__ in C99, or __FUNCTION__ in
  gcc.
* file.c (rb_sys_fail_path): use RUBY_FUNCTION_NAME_STRING.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39754 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-03-14 07:59:16 +00:00
nobu 120e2219f3 configure.in: fix for old shells
* configure.in (rm, shvar_to_cpp, unexpand_shvar): local is not
  available on old shells.
* configure.in (shvar_to_cpp): escape quotes for old shells.
  [Bug #7959] [Bug #8071]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39741 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-03-13 04:06:47 +00:00
nobu 0230ff7020 configure.in: note to remove a hack
* configure.in (rm): note to remove this hack when AC_PREREQ(2.70) or
  later.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39648 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-03-09 00:17:51 +00:00
nobu d415f2abac configure.in: suppress error messages
* configure.in: suppress error messages, rm: cannot remove
  'conftest.dSYM', from AC_EGREP_CPP with CFLAGS=-g on Darwin.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39636 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-03-08 05:24:26 +00:00
nobu 0af37bf0c5 configure.in: fix unexpand_shvar
* configure.in (unexpand_shvar): remove guarding quotes at last.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39614 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-03-06 10:22:29 +00:00
nobu 6332415800 GNUmakefile.in: new template
* template/GNUmakefile.in: split from configure.in.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39613 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-03-06 06:30:08 +00:00
eban 9a1d5b04cd * configure.in(AC_DISABLE_OPTION_CHECKING): avoid warning "WARNING: Unrecognized options: --with-PACKAGE".
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39537 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-02-28 12:35:56 +00:00
nobu 2e3fc1f064 configure.in: escape double-quotes
* configure.in (unexpand_shvar): escape double-quotes in backquotes in
  double-quotes for some shells.  [Bug #7959]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39525 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-02-27 05:24:01 +00:00
nobu 54c9163f25 configure.in: remove no longer used variable
* configure.in (unexpand_shvar): remove variable which is no longer
  used since r39506.  [Bug #7959]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39514 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-02-27 01:16:08 +00:00
nobu a4ccd46d31 configure.in: non-portable shell behavior
* configure.in (unexpand_shvar): get rid of non-portable shell
  behavior on OpenBSD, so no extra quotes.  [Bug #7959]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39506 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-02-26 06:04:22 +00:00
nobu 5919370363 configure.in: find Setup file automatically
* configure.in (setup): find Setup file from target_os 1. by
  suffix (e.g. Setup.nacl, Setup.atheos), 2. by "platform"
  option (e.g. Setup.nt, Setup.emx), and 3. default Setup.  And
  Setup.dj had been removed.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39486 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-02-25 04:12:45 +00:00
knu 6487abea6c Fix ksh/bash-ism.
* configure.in (unexpand_shvar): Use the numeric comparison
  operator instead of '==' which is a ksh extention. [Bug #7941]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39481 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-02-25 02:09:07 +00:00
nobu cc367fb326 configure.in: quite conftest
* configure.in (rb_cv_broken_backtrace): suppress extra output from
  conftest.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39367 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-02-22 00:05:51 +00:00
nobu 74016f1842 ruby.c: fix for multiarch library
* ruby.c (ruby_init_loadpath_safe): try two levels upper for stripping
  libdir name.  [Bug #7874]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39348 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-02-21 03:45:07 +00:00
nobu 739c8ffcee configure.in: expand libdir_basename
* configure.in (libdir_basename): expand with multiarch in configure,
  not to defer the expansion till ruby.pc.in and mkmf.rb.  [Bug #7874]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39347 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-02-21 03:42:25 +00:00
nobu 22b51faf7e configure.in: libdir_basename for -rpath and -install_name
* configure.in (libdir_basename): also -rpath and -install_name flags
  are affected when libruby directory changes.  [Bug #7874]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39345 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-02-21 00:51:11 +00:00
nobu 52911974f8 configure.in: target_os suffix
* configure.in (target_os): do not strip -gnu suffix on Linux if
  --target is given explicitly.  [Bug #7874]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39334 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-02-20 09:02:28 +00:00
nobu 67ab6e3d9b configure.in: adjust libdirname
* configure.in (libdirname): adjust library path name which libruby
  files will be installed.  [Bug #7874]
* tool/rbinstall.rb (libdir): ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39333 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-02-20 09:01:17 +00:00
naruse 0b261c379b * vm_dump: FreeBSD ports' libexecinfo's backtrace(3) can't trace
beyond signal trampoline, and as described in r38342 it can't
  trace on -O because it see stack frame pointers.
  libunwind unw_backtrace see dwarf information in the binary
  and it works with -O (without frame pointers).

* configure.in: remove r38342's hack and check libunwind.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39302 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-02-18 21:21:02 +00:00
naruse e233ca15e0 * configure.in: check whether backtrace(3) works well or not.
* vm_dump.c: set HAVE_BACKTRACE 0 if BROKEN_BACKTRACE.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39301 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-02-18 21:20:59 +00:00
nobu e8c57cd850 configure.in: unexpand exec_prefix
* configure.in (exec_prefix): unexpand after RUBY_EXEC_PREFIX is set.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39298 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-02-18 01:49:14 +00:00
nobu 46cdc66f84 version.c: move ruby_exec_prefix
* version.c (ruby_exec_prefix): move all path configuration stuffs.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39296 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-02-18 01:11:58 +00:00
nobu f8530342f4 configure.in: unexpand_shvar
* configure.in (unexpand_shvar): regularize a shell variable by
  unexpanding shell variables in it.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39294 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-02-18 01:09:56 +00:00
naruse c4d4107486 Revert r39289
* "configure.in: unexpand_shvar"
it breaks $LOAD_PATH.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39293 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-02-17 12:46:45 +00:00
nobu c9283b5c5d * configure.in: remove debug print.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39291 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-02-17 09:41:31 +00:00
nobu 17b898e182 configure.in: unexpand_shvar
* configure.in (unexpand_shvar): regularize a shell variable by
  unexpanding shell variables in it.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39289 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-02-17 07:57:43 +00:00
knu b38334e2ec Properly reflect --with-opt-dir to LIBRUBY_DLDFLAGS on all platforms.
* configure.in (LIBRUBY_DLDFLAGS): Fix a bug where --with-opt-dir
  options given were not reflected to LIBRUBY_DLDFLAGS on many
  platforms including Linux and other GNU-based systems, NetBSD,
  AIX and BeOS.




git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39281 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-02-16 11:52:12 +00:00
nobu bb7e19c8e9 configure.in: don't substitute exec_prefix itself
* configure.in (shvar_to_cpp): do not substitute exec_prefix itself
  with RUBY_EXEC_PREFIX, which cause recursive definition.
  [ruby-core:52296] [Bug #7860]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39273 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-02-16 04:40:17 +00:00
nobu 62711da253 configure.in: unexpand exec_prefix etc
* configure.in: unexpand arch sitearch and exec_prefix values, so
  directly specified bindir, libdir, rubyprefix, etc can be properly
  substituted.  [ruby-core:52296] [Bug #7860]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39267 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-02-16 03:45:53 +00:00
akr d6d0e85320 * configure.in, ext/socket/extconf.rb: test netinet/in_systm.h in
ext/socket/extconf.rb instead of configure.in.

  Originally, netinet/in_systm.h is included for NextStep, OpenStep,
  and Rhapsody.  [ruby-core:1596]



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39263 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-02-15 23:46:44 +00:00
akr 899ba99b90 * configure.in: don't test xti.h here.
* ext/socket/extconf.rb: test xti.h here.

  Originally, xti.h is included for IRIX [ruby-core:14447].



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39262 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-02-15 22:59:40 +00:00
knu aeac90e6c5 Fix CFLAGS and CXXFLAGS in RbConfig::CONFIG on FreeBSD and NetBSD/amd64.
* configure.in: Fix a bug introduced in r38342 that the cflagspat
  substitution is messed up by the way CFLAGS and optflags are
  modified, which affected FreeBSD and NetBSD/amd64 when
  configured to use libexecinfo.  This bug resulted in CFLAGS and
  CXXFLAGS in RbConfig::CONFIG having warnflags expanded in them,
  forcing third-party C/C++ extensions to follow what warnflags
  demands, like ANSI/ISO-C90 conformance.  ref [Bug #7101]




git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39255 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-02-15 13:25:28 +00:00
nobu 4e5d0cee76 configure.in: no Werror
* configure.in (warnflags): disable -Werror by default unless
  development.  [ruby-core:52131] [Bug #7830]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39221 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-02-13 08:56:42 +00:00
nobu 9f2e85a33c configure.in: Werror-implicit-function-declaration
* configure.in (warnflags): -Werror-implicit-function-declaration
  haven't been used as-is, but always replaced with -Werror= or -W.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39214 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-02-13 01:34:35 +00:00
akr 17df736379 add ML ref.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39206 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-02-11 16:40:47 +00:00
akr cbacc5d501 * configure.in: enable rb_cv_page_size_log test for MirOS BSD.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39205 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-02-11 14:26:01 +00:00
akr c586d820c8 * configure.in: use -pthread on mirbsd*.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39204 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-02-11 11:07:32 +00:00
akr a378fa0d10 * configure.in: add SOLIBS and LIBRUBY_SO definition for mirbsd*.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39203 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-02-11 07:08:41 +00:00
nobu 0d46721033 configure.in: sitearch
* configure.in (rubysitearchprefix): sitearchdir and vendorarchdir
  should use sitearch, not arch.  [ruby-dev:46964] [Bug #7823]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39202 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-02-11 04:17:22 +00:00
akr f882c4c5e0 * configure.in: move OS specific header/function knowledge before
automatic header tests.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39200 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-02-11 03:33:11 +00:00
akr 0a8fc937ca * configure.in: move the test for -march=i486 just after
RUBY_UNIVERSAL_ARCH/RUBY_DEFAULT_ARCH.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39198 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-02-11 02:06:47 +00:00
nobu 817dff033f configure.in: escape
* configure.in (configure_args): escape $ for Makefile.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39176 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-02-09 14:50:03 +00:00
akr c38f3cd906 * configure.in: move header files check to the beginning of
"header and library section".
  test rlim_t with sys/types.h and sys/time.h for MirOS BSD.
  sys/types.h and sys/time.h is gurded by #ifdef and the above move
  is required for this change.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39174 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-02-09 13:13:01 +00:00
nobu c4544321cb configure.in: empty version
* configure.in, version.c: prevent duplicated load paths by empty
  version string, it does not work right now.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39171 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-02-09 08:46:02 +00:00
nobu 8a91512692 configure.in: fix help message
* configure.in: fix arch parameters in help message.  [Bug #7804]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39170 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-02-09 08:38:46 +00:00
akr 01e7ec0137 fix the previous commit.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39163 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-02-08 14:30:10 +00:00
akr 513bfb29ea * configure.in: change CFLAGS temporally to test
ARCH_FLAG="-march=i486".



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39162 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-02-08 14:26:13 +00:00
akr 89ae338e97 * configure.in: don't define ARCH_FLAG="-march=i486" if it causes
compilation problem.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39160 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-02-08 12:20:27 +00:00
akr 8f5f89452d * configure.in: define linker for shared library on MirOS BSD.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39135 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-02-07 13:02:31 +00:00
nobu 834fd50ae2 configure.in: multiarch option
* configure.in (multiarch): add option to move architecture dependent
  directories.  [Feature #6111]
* template/ruby.pc.in: add arch dependent paths.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39109 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-02-06 08:33:03 +00:00
nobu 67db06ba97 configure.in: arch dependent header directory options
* configure.in (rubyarchhdrdir, sitearchhdrdir, vendorarchhdrdir): add
  options to customize architecture dependent header directories.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39108 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-02-06 08:32:58 +00:00
nobu 29c214e4a0 configure.in: arch dependent library directory options
* configure.in (rubyarchprefix, sitearchdir, vendorarchdir): add
  options to customize architecture dependent library directories.
* template/ruby.pc.in, tool/mkconfig.rb, tool/rbinstall.rb: use
  configured values.
* tool/mkconfig.rb: expand rubyarchdir to extract prefix.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39107 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-02-06 08:32:53 +00:00
nobu d32b122996 configure.in: RUBY_VERSION_NAME
* configure.in (RUBY_VERSION_NAME), template/ruby.pc.in: add
  substitution and define.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39106 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-02-06 08:32:48 +00:00
nobu 85aae4c658 configure.in: architecture name
* configure.in, version.c: parametric architecture name for paths.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39105 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-02-06 08:32:43 +00:00
nobu a8795e3527 configure.in: shvar_to_cpp
* configure.in (shvar_to_cpp): convert sh variable references
  by replacing with string literal forms in cpp.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39104 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-02-06 08:32:38 +00:00
nobu 6f9bbca2df configure.in: clang temporary files
* configure.in: clang leaves temporary files when interrupted by
  SIGPIPE if input is not stdin.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38877 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-01-18 09:14:11 +00:00
yugui c9f5a8f3f2 * bootstraptest/test_io.c: add a test for [ruby-dev:46834].
* io.c (rb_cloexec_fcntl_dupfd) Use an emulation with dup(2) when
  fcntl(2) and/or F_DUPFD is unavailable.
  Suggested by akr.

* configure.in (HAVE_FCNTL): NativeClient does not provide fcntl(2).

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38713 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-01-06 09:48:00 +00:00
yugui ea9301bd2b * common.mk (yes-btest): btest depends on also $(arch)-fake.rb and
rbconfig.rb on building for NativeClient.

* Makefile.in (fake): Avoid generating $(arch)-fake.rb unless cross
  compiling.

* configure.in (CROSS_COMPILING): New substitution.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38692 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-01-04 09:04:58 +00:00
yugui 6efba755da Fix failures on btest for NativeClient.
* bootstraptest/runner.rb (nacl?): New method to distinguish NaCl
  corss build.

* bootstraptest/test_io.rb: Skip unsupported operations.

* bootstraptest/test_literal.rb: ditto.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38684 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-01-03 15:39:15 +00:00
yugui 6837b808cd * configure.in (OBJCOPY): Fixes build error for NativeClient.
Avoid disabling OBJCOPY for NativeClient.

* thread_pthread.c (rb_reserved_fd_p): USE_SLEEPY_TIMER_THREAD is
  always defined.  Fixes compilation error for NativeClient.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38677 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-01-03 05:46:29 +00:00
charliesome c56eee05c6 * configure.in: use 4 argument form of AC_CHECK_HEADERS to force
autoconf to use compiler's result

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38660 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-30 03:11:17 +00:00
nobu 2eb92b143a configure.in: AC_CHECK_HEADERS
* configure.in (crt_externs.h): use standard macro AC_CHECK_HEADERS.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38645 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-29 01:10:41 +00:00
charliesome af35f2a61d * configure.in: check for the whether crt_externs.h is present when compiling
for darwin (this header is missing in the iOS SDK)
* eval_intern.h: check HAVE_CRT_EXTERNS_H before including crt_externs.h, if
  not defined, include missing/crt_externs.h instead
* hash.c: ditto
* missing/setproctitle.c: ditto
* missing/crt_externs.h: declare _NSGetEnviron() function and define environ
  for iOS

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38644 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-28 14:23:25 +00:00
kosaki 495f72ed38 * configure.in: enable -fPIE when checking -pie for fixing
OpenBSD build error. Patch by George Koehler. Thank you!
  [Bug #7606] [ruby-core:51082]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38619 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-26 03:00:13 +00:00
nobu 2ed40d3b57 * configure.in (NULLCMD): check in loop.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38394 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-15 01:39:49 +00:00
nobu 67c599a5d2 * configure.in (GNUmakefile): remove -jN option from submake.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38393 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-15 01:39:47 +00:00
drbrain 40f89c17e6 * configure.in (HAVE_GCC_ATOMIC_BUILTINS): Set -march=i486 to enable
__sync_val_compare_and_swap.  Patch by KOSAKI Motohiro.
  [ruby-trunk - Bug #7485]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38386 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-14 21:18:00 +00:00
naruse 486795d951 * configure.in: add -fno-omit-frame-pointer if libexecinfo is used.
At least on FreeBSD ruby will crash on getting C backtrace
  when it is compiled with other than -O0.

* vm_dump.c: enable backtrace on FreeBSD even if with optimizations.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38342 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-12 07:36:32 +00:00
nobu 2b8485bc89 configure.in, mkmf.rb: sign extensions
* configure.in (codesign): check identifier at link time, not
  configure time.

* lib/mkmf.rb (LINK_SO): sign extensions too.  replace empty line with
  default command.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38289 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-10 04:18:13 +00:00
naruse 013521e557 * configure.in: fix r37294: run only on i[3-6]86-linux.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37926 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-28 06:45:25 +00:00