diff options
-rw-r--r-- | ChangeLog | 8 | ||||
-rw-r--r-- | configure.in | 5 | ||||
-rw-r--r-- | include/ruby/missing.h | 2 | ||||
-rw-r--r-- | include/ruby/ruby.h | 2 |
4 files changed, 14 insertions, 3 deletions
@@ -1,3 +1,11 @@ +Mon Jul 26 11:51:01 2010 NARUSE, Yui <naruse@ruby-lang.org> + + * configure.in: define BROKEN_CLOSE on FreeBSD. + This fixes build failure on MSVC. [ruby-core:31481] + + * include/ruby/ruby.h, include/ruby/missing.h: + use BROKEN_CLOSE for replacing close(2). + Mon Jul 26 09:51:20 2010 Nobuyoshi Nakada <nobu@ruby-lang.org> * vm.c (rb_thread_mark): mark only self of normal iseqs, not diff --git a/configure.in b/configure.in index ebc62821ac..fd6a094cea 100644 --- a/configure.in +++ b/configure.in @@ -1155,7 +1155,10 @@ main() rb_cv_broken_glibc_ia64_erfc=no)]) AS_CASE([$rb_cv_broken_glibc_ia64_erfc],[yes],[ac_cv_func_erf=no]) -AS_CASE(["$target_os"],[freebsd],[],[AC_REPLACE_FUNCS(close)]) +AS_CASE(["$target_os"],[freebsd],[],[ + AC_DEFINE(BROKEN_CLOSE) + AC_REPLACE_FUNCS(close) + ]) AC_REPLACE_FUNCS(dup2 memmove strerror\ strchr strstr crypt flock\ isnan finite isinf hypot acosh erf tgamma lgamma_r cbrt \ diff --git a/include/ruby/missing.h b/include/ruby/missing.h index 327e0a847d..8e4ffae72a 100644 --- a/include/ruby/missing.h +++ b/include/ruby/missing.h @@ -175,7 +175,7 @@ RUBY_EXTERN int signbit(double x); RUBY_EXTERN int ffs(int); #endif -#ifndef HAVE_CLOSE +#ifdef BROKEN_CLOSE #include <sys/types.h> #include <sys/socket.h> RUBY_EXTERN int ruby_getpeername(int, struct sockaddr *, socklen_t *); diff --git a/include/ruby/ruby.h b/include/ruby/ruby.h index c01d617ba3..11e3bb819a 100644 --- a/include/ruby/ruby.h +++ b/include/ruby/ruby.h @@ -1440,7 +1440,7 @@ int ruby_vsnprintf(char *str, size_t n, char const *fmt, va_list ap); #define snprintf ruby_snprintf #define vsnprintf ruby_vsnprintf -#ifdef __FreeBSD__ +#ifdef BROKEN_CLOSE #undef getpeername #define getpeername ruby_getpeername #undef getsockname |