diff --git a/ChangeLog b/ChangeLog index e614097a1a..0f204143ab 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,19 @@ +Wed Jul 30 09:31:55 2003 Nobuyoshi Nakada + + * configure.in (os2-emx): renamed from os2_emx, add flags to + CFLAGS and LDFLAGS, and remove lib prefix. [ruby-dev:20993] + + * file.c (rb_file_s_rename): retry with removing new file on + DOSISH. [ruby-dev:21007] + + * ext/socket/extconf.rb (sendmsg, recvmsg): check functions. + + * ext/socket/socket.c (unix_send_io, unix_recv_io): raise + NotImplementedError unless system calls are available. + + * ext/socket/socket.c (sock_initialize): rename from sock_init() + to get rid of conflict with OS/2 socket library. + Wed Jul 30 02:37:12 2003 Yukihiro Matsumoto * marshal.c (w_object): if object responds to 'marshal_dump', diff --git a/configure.in b/configure.in index 11fb1a65ed..ad200de61f 100644 --- a/configure.in +++ b/configure.in @@ -288,7 +288,7 @@ mingw*) LIBS="-lwsock32 $LIBS" ac_cv_func_telldir=yes ac_cv_lib_crypt_crypt=no ;; -os2_emx*) LIBS="-lm $LIBS" +os2-emx*) LIBS="-lm $LIBS" ac_cv_lib_dir_opendir=no;; msdosdjgpp*) LIBS="-lm $LIBS" ac_cv_func_getpgrp_void=yes;; @@ -866,6 +866,8 @@ if test "$with_dln_a_out" != yes; then hiuxmpp) LDSHARED='ld -r' ;; atheos*) LDSHARED="$CC -shared" rb_cv_dlopen=yes ;; + os2-emx*) LDFLAGS="$LDFLAGS -Zbsd-signals" + ;; *) LDSHARED='ld' ;; esac AC_MSG_RESULT($rb_cv_dlopen) @@ -913,7 +915,7 @@ else AC_DEFINE(DLEXT, ".bundle");; darwin*) DLEXT=bundle AC_DEFINE(DLEXT, ".bundle");; - os2_emx*) DLEXT=dll + os2-emx*) DLEXT=dll AC_DEFINE(DLEXT, ".dll");; cygwin*|mingw*) DLEXT=so AC_DEFINE(DLEXT, ".so") @@ -1006,7 +1008,7 @@ rb_cv_missing_fconvert=yes, rb_cv_missing_fconvert=no, rb_cv_missing_fconvert=no setup=Setup.x68 ;; dnl OS/2 environment w/ Autoconf 2.1x for EMX - os2_emx) + os2-emx) AC_LIBOBJ([os2]) setup=Setup.emx ;; @@ -1046,7 +1048,7 @@ LIBRUBYARG='$(LIBRUBYARG_STATIC)' SOLIBS= case "$target_os" in - cygwin*|mingw*|beos*|openstep*|nextstep*|rhapsody*|darwin*|os2_emx*) + cygwin*|mingw*|beos*|openstep*|nextstep*|rhapsody*|darwin*|os2-emx*) DLDLIBS="" ;; *) @@ -1167,8 +1169,11 @@ case "$target_os" in darwin*) CFLAGS="$CFLAGS -pipe" ;; - os2_emx) - CFLAGS="$CFLAGS -DOS2" + os2-emx) + CFLAGS="$CFLAGS -DOS2 -Zmts" + LIBRUBY_A=`echo $LIBRUBY_A | sed 's/^lib//'` + LIBRUBY_SO=`echo $LIBRUBY_SO | sed 's/^lib//'` + LIBRUBY_ALIASES=`for i in $LIBRUBY_ALIASES; do echo "$i"; done | sed 's/^lib//'` ;; osf*) if test "$GCC" != "yes" ; then @@ -1279,7 +1284,7 @@ case "$target_os" in ;; esac case "$target_os" in - cygwin*|mingw*|*djgpp*|os2_emx*) + cygwin*|mingw*|*djgpp*|os2-emx*) RUBY_LIB_PREFIX="/lib/ruby" ;; *) @@ -1294,7 +1299,7 @@ AC_ARG_WITH(sitedir, [sitedir='${prefix}/lib/ruby/site_ruby']) SITE_DIR="`eval \"echo ${sitedir}\"`" case "$target_os" in - cygwin*|mingw*|*djgpp*|os2_emx*) + cygwin*|mingw*|*djgpp*|os2-emx*) RUBY_SITE_LIB_PATH="`expr "$SITE_DIR" : "$prefix\(/.*\)"`" || RUBY_SITE_LIB_PATH="$SITE_DIR";; *) diff --git a/ext/socket/extconf.rb b/ext/socket/extconf.rb index f72ac2ba42..45e596700c 100644 --- a/ext/socket/extconf.rb +++ b/ext/socket/extconf.rb @@ -194,8 +194,10 @@ end have_header("netinet/tcp.h") if not /cygwin/ =~ RUBY_PLATFORM # for cygwin 1.1.5 have_header("netinet/udp.h") -have_struct_member('struct msghdr', 'msg_control', header=['sys/types.h', 'sys/socket.h']) -have_struct_member('struct msghdr', 'msg_accrights', header=['sys/types.h', 'sys/socket.h']) +if have_func("sendmsg") or have_func("recvmsg") + have_struct_member('struct msghdr', 'msg_control', header=['sys/types.h', 'sys/socket.h']) + have_struct_member('struct msghdr', 'msg_accrights', header=['sys/types.h', 'sys/socket.h']) +end $getaddr_info_ok = false if !enable_config("wide-getaddrinfo", false) and try_run(<