Mailing-List: contact cygwin-developers-help AT sourceware DOT cygnus DOT com; run by ezmlm List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-developers-owner AT sources DOT redhat DOT com Delivered-To: mailing list cygwin-developers AT sources DOT redhat DOT com Subject: RE: [jjohnstn AT cygnus DOT com: Re: cygwin/newlib types patchs] Date: Wed, 28 Mar 2001 14:55:30 +1000 MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Message-ID: X-MimeOLE: Produced By Microsoft Exchange V6.0.4417.0 content-class: urn:content-classes:message Thread-Topic: [jjohnstn AT cygnus DOT com: Re: cygwin/newlib types patchs] Thread-Index: AcC3Ogw0d/VXt6QtRhaEvhGdAlSVVQAAAg2w From: "Robert Collins" To: Content-Transfer-Encoding: 8bit X-MIME-Autoconverted: from quoted-printable to 8bit by delorie.com id AAA15699 > -----Original Message----- > From: Christopher Faylor [mailto:cgf AT redhat DOT com] > Sent: Wednesday, March 28, 2001 1:56 PM > To: Robert Collins > Cc: cygwin-developers AT cygwin DOT com > Subject: Re: [jjohnstn AT cygnus DOT com: Re: cygwin/newlib types patchs] > > > On Wed, Mar 28, 2001 at 01:46:15PM +1000, Robert Collins wrote: > >> What is cygwin-dependent? Doesn't it make sense to keep > everything in > >> one place, even if you have to "#ifdef __CYGWIN__"? > > > >No. The cygwin-classes and internals aren't newlib specific. The > >external interfaces are newlib-specific. As an example, if > Mumit picks > >up his glibc port, the cygwin-classes will stay the same, > but the glibc > >externals will be needed. Hopefully those external > interfaces are posix > >standard and there's no difference :] > > Can you give me an example? > > cgf > (Btw, I've redirected this to cygwin-developers) > Easily. We use class pthread { ... } within cygwin. That's accessible from several files, so it's in an include. The API uses pthread_t everywhere. When building cygwin we want typedef class pthread pthread_t; when building userland applications we want typedef void * pthread_t; If a different libc is ever used, the userland defines will (should) be the same - they are posix derived. The cygwin "kernel" defines should follow cygwin1.dll, not libc. Rob