From b8b3b4142762686b0eec58bd2bf9645c9ebca559 Mon Sep 17 00:00:00 2001 From: Mikhail Glushenkov Date: Fri, 23 Nov 2018 19:58:18 +0000 Subject: [PATCH] Documentation update. [ci skip] --- Cabal/doc/nix-local-build.rst | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/Cabal/doc/nix-local-build.rst b/Cabal/doc/nix-local-build.rst index 3d4e6a0fe..7a7e5d841 100644 --- a/Cabal/doc/nix-local-build.rst +++ b/Cabal/doc/nix-local-build.rst @@ -180,7 +180,7 @@ version of cabal-install: executable or test suite named ``pexe``, it would be located at ``dist-newstyle/build/p-0.1/build/pexe/pexe``. -- In cabal-install-2.0 and above, the dist directory for a package ``p-0.1`` +- In cabal-install-2.0, the dist directory for a package ``p-0.1`` defining a library built with GHC 8.0.1 on 64-bit Linux is ``dist-newstyle/build/x86_64-linux/ghc-8.0.1/p-0.1``. When per-component builds are enabled (any non-Custom package), a @@ -191,6 +191,17 @@ version of cabal-install: ``dist-newstyle/build/x86_64-linux/ghc-8.0.1/p-0.1/c/pexe/build/pexe/pexe`` (you can see why we want this to be an implementation detail!) +- In cabal-install-2.2 and above, the ``/c/`` part of the above path + is replaced with one of ``/l/``, ``/x/``, ``/f/``, ``/t/``, or + ``/b/``, depending on the type of component (sublibrary, + executable, foreign library, test suite, or benchmark + respectively). So the full path to an executable named ``pexe`` + compiled with GHC 8.0.1 on a 64-bit Linux is now + ``dist-newstyle/build/x86_64-linux/ghc-8.0.1/p-0.1/x/pexe/build/pexe/pexe``; + for a benchmark named ``pbench`` it now is + ``dist-newstyle/build/x86_64-linux/ghc-8.0.1/p-0.1/b/pbench/build/pbench/pbench``; + + The paths are a bit longer in 2.0 and above but the benefit is that you can transparently have multiple builds with different versions of GHC. We plan to add the ability to create aliases for certain build -- GitLab