Commit graph

1084 commits

Author SHA1 Message Date
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