From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 19838 invoked by alias); 26 Mar 2005 17:48:25 -0000 Mailing-List: contact gdb-patches-help@sources.redhat.com; run by ezmlm Precedence: bulk List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sources.redhat.com Received: (qmail 19798 invoked from network); 26 Mar 2005 17:48:22 -0000 Received: from unknown (HELO cgf.cx) (66.30.17.189) by sourceware.org with SMTP; 26 Mar 2005 17:48:22 -0000 Received: by cgf.cx (Postfix, from userid 201) id 906D713C1F8; Sat, 26 Mar 2005 12:48:21 -0500 (EST) Date: Sat, 26 Mar 2005 17:48:00 -0000 From: Christopher Faylor To: Mark Mitchell , gdb-patches@sources.redhat.com Subject: Re: PATCH: Windows sockets Message-ID: <20050326174821.GA12793@trixie.casa.cgf.cx> Mail-Followup-To: Mark Mitchell , gdb-patches@sources.redhat.com References: <200503260127.j2Q1R59a022152@sethra.codesourcery.com> <200503260845.j2Q8jlLC019248@elgar.sibelius.xs4all.nl> <42459E07.9020201@codesourcery.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <42459E07.9020201@codesourcery.com> User-Agent: Mutt/1.5.6i X-SW-Source: 2005-03/txt/msg00344.txt.bz2 On Sat, Mar 26, 2005 at 09:38:15AM -0800, Mark Mitchell wrote: >Thanks for the quick review. > >> Here is a sumary of the changes in this patch: >> >> 1. Link with -lws2_32 on MinGW so we can use sockets. >> >>Can't you just use a standard autoconf check to check for that library >>instead of hardcoding it to be linked in on MinGW? > >I could do that -- but I didn't because there are Windows configurations >that do not want to use Winsock. For example, we don't want to link in >this library on Cygwin; we just want to let the Cygwin DLL take care of >things. > >> 2. In defs.h, define WINAPI so that source files know whether they are >> supposed to use the Windows API. >> >>This is bad. Yet another #ifdef WINDHOOS when we really are trying to >>get rid of those. > >This is the same problem as above; I could autoconf things for Windows, >but those autoconf tests would fire under Cygwin as well. I guess you could only check for the existence of ws2_32 when the host is mingw, but that seems sort of redundant given that there is a preprocessor test which precisely tells what needs to be done. While I'm normally a big fan of using conditionals like "HAVE_WINSOCK", it doesn't seem like it makes the code any clearer to use these types of conditionals in this case unless we really anticipate that there will be another OS out there with some of the pecularities os Windows but not all of them. One observation is that maybe you could do something like: #if defined (__WIN32__) && !defined (__CYGWIN__) # define MINGW #endif and use #ifdef MINGW where appropriate. cgf