build system issues
claus.reinke at talk21.com
Sat May 30 08:22:17 EDT 2009
> Just to check I wasn't talking nonsense about this I just tried building
> ghc with the bootstrapping ghc, alex and happy installed in dirs
> containing spaces.
> I needed to add a few quotes in aclocal.m4 and configure.ac to get
> configure to go through and a few more to get the build going. It
> eventually stopped when it actually called alex, because, guess what...
The last time I tried this was in the old build system, with hscolour:
Back then, changing configure.ac got the build going, but the quotes
were lost again later on.. (and appeared with differing levels of quotes
in different places, even in the snippet I included - perhaps the new build
system is less brittle wrt quoting?).
> the binary install of alex isn't relocatable! :-) It hard codes "C:
> \Haskell\alex-2.3.1" as the location to find its data files. Now
> arguably that's also Cabal's fault. Making relocatable packages on
> Windows requires some special steps.
Unless the program explicitly refers to an absolute path, the
generated executable ought to be relocatable (either the data dir
should be local and relative to the executable, and moved with it,
or global and with an absolute path that doesn't change if the
executable is moved).
> Anyway, I'm convinced it's quite possible to make the changes though
> it's a slightly tiresome way to spend the hour or two probably necessary
> to do them all.
Which is why tools should not be installed in paths with spaces,
and configure should check that they aren't, until -if ever- the build
can work with such paths ("impractical/not worth the effort/not done"
having more weight than "possible";-)
More information about the Cvs-ghc