File: hadrian-unreg-template-haskell

package info (click to toggle)
ghc 9.10.3-1~exp3
  • links: PTS, VCS
  • area: main
  • in suites: experimental
  • size: 168,908 kB
  • sloc: haskell: 713,548; ansic: 84,223; cpp: 30,255; javascript: 9,003; sh: 7,870; fortran: 3,527; python: 3,228; asm: 2,523; makefile: 2,326; yacc: 1,570; lisp: 532; xml: 196; perl: 111; csh: 2
file content (22 lines) | stat: -rw-r--r-- 981 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
commit 702f7964373d9ffb1d550ee714bd723d8bb0c1a3
Author: Matthew Pickering <matthewtpickering@gmail.com>
Date:   Mon Apr 29 12:13:00 2024 +0100

    Make interface files and object files depend on inplace .conf file
    
    A potential fix for #24737

Index: b/hadrian/src/Rules/Compile.hs
===================================================================
--- a/hadrian/src/Rules/Compile.hs
+++ b/hadrian/src/Rules/Compile.hs
@@ -218,6 +218,9 @@ compileHsObjectAndHi rs objpath = do
   ctxPath <- contextPath ctx
   (src, deps) <- lookupDependencies (ctxPath -/- ".dependencies") objpath
   need (src:deps)
+  -- The .conf file is needed when template-haskell is implicitly added as a dependency
+  -- when a module in the template-haskell package is compiled. (See #24737)
+  when  (isLibrary (C.package ctx)) (need . (:[]) =<< pkgConfFile ctx)
 
   -- The .dependencies file lists indicating inputs. ghc will
   -- generally read more *.hi and *.hi-boot files (direct inputs).