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

1265 Коммитов

Автор SHA1 Сообщение Дата
yugui f65e5121e2 Fix PNaCl configure/link errors.
* configure.in (nacl_cv_cpu_nick): fix typo in PNaCl.
  (XCFLAGS) Add -isystem flag to pnacl and nacl-newlib
  (CXX): added

* nacl/GNUmakefile.in (CXX): Added
  (PPROGRAM): Use clang++ instead of clang because libnacl_io
  depends on c++ std lib.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48095 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-10-22 12:19:21 +00:00
yugui 165221441c Enable nacl_io in pepper-ruby.
* configure.in (XCFLAGS): Add include path for NaCl libraries.
  (XLDFLAGS): ditto.
  (NACL_LIB_PATH): new stubstitution

* nacl/nacl-config.rb: support NACL_LIB_PATH

* nacl/package.rb: ditto.

* nacl/pepper_main.c: replace old implementations with nacl_io.

* nacl/GNUmakefile.in: link nacl_io to pepper_ruby

* ruby.c (rb_load_file): remove __attribute__((weak)) because the old
  override hack was replaced with nacl_io.

* file.c (rb_file_load_ok): ditto.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48078 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-10-21 15:23:21 +00:00
nobu 42ca978656 common.mk: UNICODE_FILES
* common.mk (UNICODE_FILES): revert the rule that Unicode data
  files depend on downloader target, and add missing dependency of
  lib/unicode_normalize/tables.rb

* common.mk (after-configure): removed as srcdir should be
  read-only after update.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48075 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-10-21 13:48:16 +00:00
nobu 4ae67d876a common.mk: after-configure
* common.mk (after-configure): update Unicode files after
  configure run.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48069 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-10-21 05:17:32 +00:00
nobu b394356579 * configure.in: download unicode files beofre build.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48064 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-10-21 01:04:37 +00:00
nobu 80de9591c9 configure.in: downloader needs BASERUBY
* configure.in: try downloader only if BASERUBY is working.  use
  tarballs to build without BASERUBY.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48040 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-10-20 03:42:38 +00:00
akr 7d9e04de49 * ext/etc/etc.c (etc_nprocessors_affinity): use sched_getaffinity
for getting precious number of available cpus.

* ext/etc/etc.c (etc_nprocessors): use etc_nprocessors_affinity if
  possible.

  [Feature #10267] etc-nprocessors-kosaki2.patch



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47939 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-10-15 09:41:25 +00:00
yugui 57bc5eaf2f Fixes build failures on Portable Native Client.
Note: Some of the fixes are for newlib in general but not NaCl-specific.

* include/ruby/intern.h (rb_fd_select): declare struct timeval, or the
  struct gets local to the function in C99.

* file.c (#include): add nacl/stat.h for PNaCl.
  (utimes): added a declaration for PNaCl.
  (stat_atimespec): stat::st_atimensec is long long but
  timespec::tv_nsec is long in PNaCl.
  (stat_mtimespec, stat_ctimespec): ditto.
  (rb_group_member): disable getgroups unless HAVE_GETGROUPS.
  (eaccess): unify the fallback to generic defined(USE_GETEUID).

* io.c: include sys/time.h for struct timeval.
  (rb_close_before_exec): nothing we can do if F_GETFD is not
  available.
  (ioctl): pnacl newlib actually doesn't have ioctl.

* process.c (maxgroups): it is used iff
   defined(_SC_NGROUPS_MAX) || defined(NGROUPS_MAX) but not
   defined(HAVE_GETGROUPS) || defined(HAVE_SETGROUPS).
  (obj2gid): fail unless the object is a Fixnum if getgrnam is not
  available.
  (disable_child_handler_fork_child): sigaction is not available in
  PNaCl newlib.

* configure.in (warnflags, strict_warnflags): avoid -ansi for strlcpy.
  (rb_cv_gcc_atomic_builtins): also check
  __atomic_or_etch because it is used in ruby_atomic.h.
  (rb_cv_gcc_sync_builtins): ditto.
  (HAVE_GETGRNAM): added.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47882 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-10-11 13:33:14 +00:00
nobu 81ce0e3853 configure.in: fix typo
* configure.in: remove extra right-bracket.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47876 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-10-11 03:57:46 +00:00
yugui 377ad103a1 Support build for Portable Native Client outside of naclports tree.
* configure.in (RUBY_NACL): automatically locate pnacl-clang.
  (RUBY_PLATFORM): pnacl instead of le32-nacl.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47875 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-10-11 03:35:18 +00:00
yugui 69ac654c90 Merges a patch form naclports.
* configure.in (RUBY_NACL and others): Supports PNaCl.
* dln.c: replace the old hacky dynamic loading over HTTP with nacl_io.
* file.c: tenatively use access(2) instead of eaccess.
  (rb_file_load_ok): weaken with attribute but not by postprocess.
* io.c (socket.h): now NaCl has socket.h
  (flock): disable here instead of nacl/ioctl.h
* nacl/GNUmakefile.in (CC, LD, NM, AR, AS, RANLIB, OBJDUMP, OBJCOPY):
  respect path to them if they are absolute.
  This helps naclports to build ruby in their source tree.
  (PROGRAM_NMF, .SUFFIXES): support .pnexe for PNaCl.
  (ruby.o, file.o): move the hack to attributes in ruby.c and file.c
* nacl/ioctl.h: removed. move the hack to io.c.
* nacl/nacl-config.rb: support arm, pnacl and others.
* nacl/pepper_main.c: support build in a naclports tree.
* ruby.c (rb_load_file): weaken with attribute but not by postprocess.

The patch is by sbc@google.com and the Native Client Authors.
It is available at:
* 873ca4910a/ports/ruby/nacl.patch

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47872 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-10-11 02:11:53 +00:00
nobu 97d3b04c9b ruby/ruby.h: fix for older gcc
* configure.in (__builtin_choose_expr_constant_p): in gcc 4.8 or
  earlier, __builtin_choose_expr() does not consider
  __builtin_constant_p(variable) a constant expression.

* include/ruby/ruby.h (RUBY_SAFE_LEVEL_CHECK): fix for older gcc.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47867 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-10-10 14:20:20 +00:00
nobu c88c049ed1 mkmf.rb: translate to assembler
* lib/mkmf.rb (create_makefile): add rules to translate to
  assembler sources.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47843 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-10-08 01:38:32 +00:00
nobu aabdfeaca3 configure.in: remove arch options from CXXFLAGS
* configure.in (RUBY_UNIVERSAL_ARCH): remove arch options from
  CXXFLAGS, not only CFLAGS.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47827 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-10-07 02:28:13 +00:00
nobu 9b6a8da0eb configure.in: off_t for struct stat.st_size
* configure.in (struct stat.st_size): prefer off_t over int, long,
  and so on.  inspired by
  http://www.opensource.apple.com/source/ruby/ruby-104/patches/config.h.ed

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47825 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-10-07 01:48:18 +00:00
nobu 14ae8f6373 configure.in: fix quoting brackets
* configure.in (RUBY_UNIVERSAL_ARCH): fix missing quoting
  brackets.  incorporated from
  http://www.opensource.apple.com/source/ruby/ruby-104/patches/configure.diff

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47823 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-10-07 01:37:41 +00:00
odaira 01a7a62d2b configure.in: Fix typo. [Bug #9914]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47819 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-10-06 09:45:25 +00:00
nobu 1c01280d17 downloader.rb
* configure.in: use tool/downloader.rb directly.

* tool/get-config_files: no longer used.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47726 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-09-28 11:27:22 +00:00
nobu a179d0d242 configure.in: use ac_cv_func_vfork
* configure.in (ac_cv_func_vfork): ac_cv_func_vfork_works is
  overridden always.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47442 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-09-07 02:04:16 +00:00
nobu ed0a7d4627 process.c: disable vfork on OS X
* process.c (retry_fork_async_signal_safe): revert r47439 but
  disable use of vfork on OS X instead, as it cause hang-up at
  test_process.rb:test_deadlock_by_signal_at_forking with parallel
  test.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47441 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-09-07 01:57:44 +00:00
nobu e81a0d8f36 process.c: vfork may not work with pthread
* process.c (retry_fork_async_signal_safe): vfork may not work
  with pthread always even if fork works with it.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47439 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-09-07 01:10:43 +00:00
akr 82d85fe441 * configure.in: Check sys/id.h, getuidx and getgidx for AIX.
* process.c (getresuid): Defined for AIX.
  (getresgid): Ditto
  AIX don't have getresuid/getresgid but getuidx/getgidx.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47397 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-09-05 03:43:28 +00:00
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