diff options
author | yugui <yugui@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2014-10-11 02:11:53 +0000 |
---|---|---|
committer | yugui <yugui@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2014-10-11 02:11:53 +0000 |
commit | 69ac654c90178dce12c3365afbc03447a0fccf78 (patch) | |
tree | 390fb7f7cd6f0888e0c321b8049f0471dd2ca205 /io.c | |
parent | f21431e574b1b27e47d19ff40ce2997783d310e3 (diff) | |
download | ruby-69ac654c90178dce12c3365afbc03447a0fccf78.tar.gz |
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:
* https://chromium.googlesource.com/external/naclports.git/+/873ca4910a5f9d4206306aacb4ed79c587c6a5f3/ports/ruby/nacl.patch
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47872 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'io.c')
-rw-r--r-- | io.c | 15 |
1 files changed, 9 insertions, 6 deletions
@@ -32,9 +32,7 @@ #if defined HAVE_NET_SOCKET_H # include <net/socket.h> #elif defined HAVE_SYS_SOCKET_H -# ifndef __native_client__ -# include <sys/socket.h> -# endif +# include <sys/socket.h> #endif #if defined(__BOW__) || defined(__CYGWIN__) || defined(_WIN32) || defined(__EMX__) || defined(__BEOS__) || defined(__HAIKU__) @@ -53,9 +51,6 @@ #if defined(HAVE_SYS_IOCTL_H) && !defined(_WIN32) #include <sys/ioctl.h> #endif -#if defined(__native_client__) && defined(NACL_NEWLIB) -# include "nacl/ioctl.h" -#endif #if defined(HAVE_FCNTL_H) || defined(_WIN32) #include <fcntl.h> #elif defined(HAVE_SYS_FCNTL_H) @@ -8947,6 +8942,14 @@ typedef long fcntl_arg_t; typedef int fcntl_arg_t; #endif +#if defined __native_client__ && !defined __GLIBC__ +// struct flock is currently missing the NaCl newlib headers +// TODO(sbc): remove this once it gets added. +#undef F_GETLK +#undef F_SETLK +#undef F_SETLKW +#endif + static long fcntl_narg_len(int cmd) { |