Skip to content

Commit

Permalink
* configure.in, win32/Makefile.sub (LIBS, COMMON_HEADERS): use
Browse files Browse the repository at this point in the history
  winsock2 on mswin32/mingw.

* ext/socket/extconf.rb: ditto.

* win32/win32.c (StartSockets): ditto.

* win32/win32.h: ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@7942 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
  • Loading branch information
unak committed Feb 10, 2005
1 parent 0de2877 commit a32bc08
Show file tree
Hide file tree
Showing 6 changed files with 22 additions and 20 deletions.
11 changes: 11 additions & 0 deletions ChangeLog
Original file line number Diff line number Diff line change
@@ -1,3 +1,14 @@
Thu Feb 10 13:52:42 2005 NAKAMURA Usaku <[email protected]>

* configure.in, win32/Makefile.sub (LIBS, COMMON_HEADERS): use
winsock2 on mswin32/mingw.

* ext/socket/extconf.rb: ditto.

* win32/win32.c (StartSockets): ditto.

* win32/win32.h: ditto.

Thu Feb 10 12:09:16 2005 Nobuyoshi Nakada <[email protected]>

* ext/extmk.rb (extract_makefile): default to true if not compiled
Expand Down
4 changes: 2 additions & 2 deletions configure.in
Original file line number Diff line number Diff line change
Expand Up @@ -286,7 +286,7 @@ cygwin*) rb_cv_have_daylight=no
ac_cv_func__setjmp=no
ac_cv_func_setitimer=no
;;
mingw*) LIBS="-lshell32 -lwsock32 $LIBS"
mingw*) LIBS="-lshell32 -lws2_32 $LIBS"
ac_cv_header_a_out_h=no
ac_cv_header_pwd_h=no
ac_cv_header_utime_h=no
Expand Down Expand Up @@ -1299,7 +1299,7 @@ case "$target_os" in
AC_LIBOBJ([win32])
COMMON_LIBS=m
COMMON_MACROS="WIN32_LEAN_AND_MEAN="
COMMON_HEADERS="windows.h winsock.h"
COMMON_HEADERS="winsock2.h windows.h"
;;
esac
XCFLAGS="$XCFLAGS"
Expand Down
9 changes: 2 additions & 7 deletions ext/socket/extconf.rb
Original file line number Diff line number Diff line change
@@ -1,14 +1,10 @@
require 'mkmf'

case RUBY_PLATFORM
when /bccwin32/
when /(ms|bcc)win32|mingw/
test_func = "WSACleanup"
have_library("ws2_32", "WSACleanup")
have_func("closesocket")
when /mswin32|mingw/
test_func = "WSACleanup"
have_library("wsock32", "WSACleanup")
have_func("closesocket")
when /cygwin/
test_func = "socket"
when /beos/
Expand Down Expand Up @@ -108,8 +104,7 @@

# doug's fix, NOW add -Dss_family... only if required!
doug = proc {have_struct_member("struct sockaddr_storage", "ss_family", headers)}
if /mswin32|mingw/ !~ RUBY_PLATFORM and
(doug[] or
if (doug[] or
with_cppflags($CPPFLAGS + " -Dss_family=__ss_family -Dss_len=__ss_len", &doug))
$defs[-1] = "-DHAVE_SOCKADDR_STORAGE"
end
Expand Down
2 changes: 1 addition & 1 deletion win32/Makefile.sub
Original file line number Diff line number Diff line change
Expand Up @@ -126,7 +126,7 @@ RFLAGS = -r
!if !defined(EXTLIBS)
EXTLIBS =
!endif
LIBS = oldnames.lib user32.lib advapi32.lib shell32.lib wsock32.lib $(EXTLIBS)
LIBS = oldnames.lib user32.lib advapi32.lib shell32.lib ws2_32.lib $(EXTLIBS)
MISSING = acosh.obj crypt.obj erf.obj win32.obj

ARFLAGS = -machine:$(MACHINE) -out:
Expand Down
14 changes: 5 additions & 9 deletions win32/win32.c
Original file line number Diff line number Diff line change
Expand Up @@ -1972,21 +1972,17 @@ StartSockets(void)
{
WORD version;
WSADATA retdata;
int ret;
int iSockOpt;

//
// initalize the winsock interface and insure that it's
// cleaned up at exit.
//
version = MAKEWORD(1, 1);
if (ret = WSAStartup(version, &retdata))
version = MAKEWORD(2, 0);
if (WSAStartup(version, &retdata))
rb_fatal ("Unable to locate winsock library!\n");
if (LOBYTE(retdata.wVersion) != 1)
rb_fatal("could not find version 1 of winsock dll\n");

if (HIBYTE(retdata.wVersion) != 1)
rb_fatal("could not find version 1 of winsock dll\n");
if (LOBYTE(retdata.wVersion) != 2)
rb_fatal("could not find version 2 of winsock dll\n");

atexit((void (*)(void)) WSACleanup);

Expand Down Expand Up @@ -3658,7 +3654,7 @@ rb_w32_fopen(const char *path, const char *mode)
}

FILE *
rb_w32_fdopen(int handle, char *type)
rb_w32_fdopen(int handle, const char *type)
{
FILE *f = (errno = 0, _fdopen(handle, type));
if (f == NULL && errno == 0) {
Expand Down
2 changes: 1 addition & 1 deletion win32/win32.h
Original file line number Diff line number Diff line change
Expand Up @@ -22,8 +22,8 @@
// There is function-name conflitct, so we rename it
#if !defined(IN) && !defined(FLOAT)
#define OpenFile WINAPI_OpenFile
#include <winsock2.h>
#include <windows.h>
#include <winsock.h>
#undef OpenFile
#endif

Expand Down

0 comments on commit a32bc08

Please sign in to comment.