Skip to content
  • Thomas Miedema's avatar
    Build system: don't set GhcLibWays explicitly in build.mk.sample (#10536) · 37de4ad7
    Thomas Miedema authored
    We used to have the following in mk/build.mk.sample:
    
      GhcLibWays = $(if $(filter $(DYNAMIC_GHC_PROGRAMS),YES),v dyn,v)
    
    This commit removes that statement for the following reasons:
    
      1) It depends on the variable DYNAMIC_GHC_PROGRAMS, which is set later
         in the file for some BuildFlavours. Although this works because
         `make` does multiple passes when reading Makefiles, it is confusing
         to users [1]. Instead, test for DYNAMIC_GHC_PROGRAMS in
         mk/config.mk.in.
    
      2) Although it looks like that line is about compiling the `dyn` way,
         its purpose is really to not build the `prof` way. This commit
         introduces the variable BUILD_PROF_LIBS, to make this more
         explicit.
    
    This simplifies mk/build.mk.sample and mk/validate-settings.mk.
    
    Note that setting GhcLibWays explicitly still works, and
    DYNAMIC_GHC_PROGRAMS=NO in build.mk does not build the `dyn` way.
    
    [1] https://mail.haskell.org/pipermail/ghc-devs/2014-December/007725.html
    
    Differential Revision: https://phabricator.haskell.org/D1021
    37de4ad7