
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 On 8/29/10 08:05 , Ivan Lazar Miljenovic wrote:
On 29 August 2010 21:46, Andrew Coppin
wrote: a) No standard place to find C include files. b) No standard place to find libraries. c) No standard way to find if common open source libraries are installed and where.
As best as I can tell, the Unix Standard Way(tm) to do this kind of thing is to put files into "well known" locations so that they can be easily found. (The fact that tools like autoconf need to exist tells you something about how tricky this can be.)
No, autoconf has nothing to do with where the "well known" locations are. It's having to deal with different versions, etc. of libraries.
Not entirely true; it also deals (or used to deal) with the fact that you may have stuff in /opt/SUNWsft (Solaris), /opt/kde (SuSE), /usr/local, /opt/local (MacPorts), /sw (Fink), etc. Then again, that's what pkg-config deals with these days, leaving autoconf to deal with different APIs/ABIs (different versions, different build options) as long as the software you're building is up to date.
Regardless, you'd think Cabal could provide some way to make it "easy" to state where the files it needs actually are. Currently it does not.
Well, it uses ghc-pkg to record where the various libraries, etc. are. Otherwise, it could be that none of the Cabal developers are really that familiar with the "best practices" of developing Windows software (and clobbering the registry whilst your at it).
Note that Cabal is no better at tracking location of non-Haskell resources on Unix. (In fact, isn't that what started this topic?)
By the way, is it possible to have a globally installed library in Windows (for C, etc.) that can be used no matter which IDE or editor you use? Or does each IDE manage all that on its own?
DLLs can be put into C:\WINDOWS\SYSTEM32 or equivalent (e.g. Windows NT liked to install itself in C:\WINNT instead of C:\WINDOWS). LIB files are less standard and I'm under the impression that every IDE uses its own notion of where to put them (and may not use the registry in a non-opaque way). BTW, if there *is* some standard registry tree that can be used for this, it should be possible to provide a Windows version of pkg-config that would hide most of this. Replacing autoconf is harder, though it might be possible to work from configure.in (or even configure.am when automake is involved). - -- brandon s. allbery [linux,solaris,freebsd,perl] allbery@kf8nh.com system administrator [openafs,heimdal,too many hats] allbery@ece.cmu.edu electrical and computer engineering, carnegie mellon university KF8NH -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.10 (Darwin) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/ iEYEARECAAYFAkx6k60ACgkQIn7hlCsL25UeugCdGEYqFmU0GstywKpFaTwDTGHn 1+cAoNNz8A7sM/XM2GCQdeFSTY/ML5hY =eK9N -----END PGP SIGNATURE-----