[commit: ghc] wip/nfs-locking: Add comments/todos. (5e0734b)

git at git.haskell.org git at git.haskell.org
Fri Oct 27 00:09:47 UTC 2017


Repository : ssh://git@git.haskell.org/ghc

On branch  : wip/nfs-locking
Link       : http://ghc.haskell.org/trac/ghc/changeset/5e0734bc2bfafc15e6b2de692a5b1f22a73217ec/ghc

>---------------------------------------------------------------

commit 5e0734bc2bfafc15e6b2de692a5b1f22a73217ec
Author: Andrey Mokhov <andrey.mokhov at gmail.com>
Date:   Sat Sep 26 22:56:01 2015 +0100

    Add comments/todos.


>---------------------------------------------------------------

5e0734bc2bfafc15e6b2de692a5b1f22a73217ec
 doc/meeting-25-September-2015.txt | 23 ++++++++++++++++++++---
 src/Settings/Builders/Alex.hs     |  7 +++++++
 src/Stage.hs                      |  1 +
 src/Target.hs                     |  4 ++--
 4 files changed, 30 insertions(+), 5 deletions(-)

diff --git a/doc/meeting-25-September-2015.txt b/doc/meeting-25-September-2015.txt
index dde2e45..166c3d8 100644
--- a/doc/meeting-25-September-2015.txt
+++ b/doc/meeting-25-September-2015.txt
@@ -14,11 +14,12 @@ Done:
 * Improve complexity when searching for module files (40x)
 
 Todo:                                   Target:
-* Build utils, rts                      October
+* Build utils, rts & put in GHC tree    October
 * Better dependencies (.hs-incl etc.)   November
 * Support command line options          December
-* Validate                              November-December (GHC 8.0?)
+* Validate                              November-December
 * Documentation                         December-January
+* Journal paper + provenance			December-February
 
 Notes:
 * Zero build: under 7 seconds
@@ -26,6 +27,14 @@ Notes:
 * Limited parallelism: ghc-cabal/ghc-pkg not thread-safe, ghc fails on > 4 cores
 * Codebase growing: 50 files
 
+Things to do:
+-- Use OrderOnly for ordering ghc-cabal's
+-- Fix parallel invokations of ghc-cabal
+-- Fix GHC -M to handle .hs-incl (--make already knows how to do that) instead of writing a new parser. Maybe already done -- find a flag!
+-- Rename files -> outputs, sources -> inputs
+-- Start separating general bits from GHC bits. A separate package for Args maybe
+-- Look up Bazel and Buck
+-- Decompose args into builder-specific and package-specific
 
 2. Seemingly dead-code
 ----------------------
@@ -46,7 +55,7 @@ ifeq "$(TargetOS_CPP)" "irix"
     @echo "#endif"                                            >> $@
 endif
 
-But IRIX_MAJOR is never set anywhere in the build system. Dead code?
+But IRIX_MAJOR is never set anywhere in the build system. Dead code? YES
 
 
 3. Command line options
@@ -56,6 +65,12 @@ Discuss the need for command line options, e.g. 'make GhcDebugged=YES'. Do we ne
 
 Settings.User is fairly readable, so perhaps some options may be changeable only by editing this file and recompiling the build system (typically takes negligible time compared to building). This will simplify things. Can we come up with a must-have list for command line options?
 
+-- Try to support these first:
+* EXTRA_HC_OPTS = file "asd" ? arg ".."
+* EXTRA_CC_OPTS 
+* GhcDebugged = True
+* make 2
+
 
 4. Better names for build stages
 --------------------------------
@@ -79,3 +94,5 @@ Stage3 -> Selftest
   build system' is overly verbose. Calling it 'shake' is confusing.
 
 * I haven't thought about any names yet, just checking whether we want to. 
+
+-- Use mk2
\ No newline at end of file
diff --git a/src/Settings/Builders/Alex.hs b/src/Settings/Builders/Alex.hs
index 1e0f87b..257fd58 100644
--- a/src/Settings/Builders/Alex.hs
+++ b/src/Settings/Builders/Alex.hs
@@ -12,3 +12,10 @@ alexArgs = builder Alex ? do
             , package compiler ? arg "--latin1"
             , arg src
             , arg "-o", arg file ]
+
+-- TODO:
+-- compilierArgs = package compiler ? builder Alex ? arg "awe"
+
+-- args = mconcat
+--     [ alexArgs
+--     , compilerArgs ]
diff --git a/src/Stage.hs b/src/Stage.hs
index edddb6f..e0a6124 100644
--- a/src/Stage.hs
+++ b/src/Stage.hs
@@ -5,6 +5,7 @@ import Base
 import GHC.Generics (Generic)
 
 -- TODO: rename to something more meaningful, e.g. 'Stage0' -> 'Boot'.
+-- TODO: explain stages
 data Stage = Stage0 | Stage1 | Stage2 | Stage3 deriving (Eq, Enum, Generic)
 
 instance Show Stage where
diff --git a/src/Target.hs b/src/Target.hs
index 8e2a44e..257a896 100644
--- a/src/Target.hs
+++ b/src/Target.hs
@@ -22,8 +22,8 @@ data Target = Target
         package :: Package,
         builder :: Builder,
         way     :: Way,
-        sources :: [FilePath],
-        files   :: [FilePath]
+        sources :: [FilePath], -- input
+        files   :: [FilePath]  -- output
      }
      deriving (Show, Eq, Generic)
 



More information about the ghc-commits mailing list