Default prefix for Cabal on Windows
simonmar at microsoft.com
Tue Jun 21 07:14:04 EDT 2005
On 17 June 2005 17:19, Ross Paterson wrote:
> On Thu, Jun 16, 2005 at 04:46:18PM +0100, Simon Marlow wrote:
>>> Simon Marlow wrote:
>>>> Ok, so $(ProgramFiles) is determined by the registry. Taking into
>>>> account comments so far, I think we have:
>>>> prefix = $(ProgramFiles)\Haskell\$(PackageName)-$(Version)
>>>> libdir = $(prefix)\$(Compiler)-$(Version)
>>>> bindir = $(prefix)\bin
>>>> these are only defaults - users & packagers are free to change
>> Slight modification after Brian's comments: if the package is an
>> executable, then
>> prefix = $(ProgramFiles)\$(PackageName)-$(Version)
>> (i.e. only libraries on under $(ProgramFiles)\Haskell).
> The default value of $(prefix) under Unix recently silently changed
> from /usr/local to /usr/local/$(Compiler)-$(Version). I'm not sure
> that's the right thing: it's incompatible with the FHS and with
> autoconf, and puts executables in a place that's not on my path.
I've fixed that, and made the changes above. However, I think $(libdir)
and $(bindir) should be configurable as options to ./setup configure
(weren't we going to do that at one stage?).
The story is now:
prefix | is_excutable = $(ProgramFiles)\$(PackageId)
| is_library = $(ProgramFiles)\Haskell\$(PackageId)
libdir = $(prefix)\$(CompilerId)
bindir = $(prefix)\bin
prefix = "/usr/local"
libdir = $(prefix)/$(PackageId)/$(CompilerId)
bindir = $(prefix)/bin
This is ok for the default prefix, but not great if you want to set
prefix to /opt/pkg-1.0, for example - that's why we need to be able to
set libdir independently.
More information about the Libraries