Mingw64 and Cygwin: header and libs layout

Charles Wilson cygwin@cwilson.fastmail.fm
Fri Mar 16 17:20:00 GMT 2012


On 3/13/2012 10:00 AM, Corinna Vinschen wrote:
> - Either keep the files in /usr/{include,lib,lib64}/w32api, which requires
>   to duplicate the files as it is done today,

I don't think it's THAT big a burden for (Chris S.|Joy Y.) to create two
different packages for (mingw32|mingw64-platform).  But I could be
wrong...obviously Chris and Jon's opinions should have a major impact on
this decision.

> My stance is that we should give up the unnecessary duplication of the
> files.  Then the question is just, where to install the shared platform
> files so that they are accessible from all affected compilers, the Cygwin
> GCCs as well as the Mingw64 GCCs.  IMO /usr/share is the right place
> for everything which is shared between multiple packages. 

Err, well -- technically /usr/share is for platform-independent files. I
*guess* you could say that, in the realm of cygwin|mingw32|mingw64, the
platform headers and libs are (supposed to be) "platform independent" --
within that small realm of platforms.

But...not really appropriate for, say, solaris or linux, right?  So a
strict interpretation says they should not go into /usr/share/.

Platform-dependent files, even headers, tend to go into /usr/lib under
some subdirectory (think /usr/lib/gcc/*/include/ -- or
./usr/lib/glib/include, /usr/lib/perl5/*/CORE/*.h, etc.

So, I could see
  /usr/lib/platform/include/*.h
  /usr/lib/platform/[lib/ ?]/*.a
  /usr/lib64/platform/include/*.h
  /usr/lib64/platform/[lib/ ?]/*.a
or somesuch.

>> Could Dave Korn weigh in on this?
> 
> Yes, that would be helpful, probably.

Yep.

--
Chuck



More information about the Cygwin-apps mailing list