Add comments/todos.
authorAndrey Mokhov <andrey.mokhov@gmail.com>
Sat, 26 Sep 2015 21:56:01 +0000 (22:56 +0100)
committerAndrey Mokhov <andrey.mokhov@gmail.com>
Sat, 26 Sep 2015 21:56:01 +0000 (22:56 +0100)
doc/meeting-25-September-2015.txt
src/Settings/Builders/Alex.hs
src/Stage.hs
src/Target.hs

index dde2e45..166c3d8 100644 (file)
@@ -14,11 +14,12 @@ Done:
 * Improve complexity when searching for module files (40x)\r
 \r
 Todo:                                   Target:\r
-* Build utils, rts                      October\r
+* Build utils, rts & put in GHC tree    October\r
 * Better dependencies (.hs-incl etc.)   November\r
 * Support command line options          December\r
-* Validate                              November-December (GHC 8.0?)\r
+* Validate                              November-December\r
 * Documentation                         December-January\r
+* Journal paper + provenance                   December-February\r
 \r
 Notes:\r
 * Zero build: under 7 seconds\r
@@ -26,6 +27,14 @@ Notes:
 * Limited parallelism: ghc-cabal/ghc-pkg not thread-safe, ghc fails on > 4 cores\r
 * Codebase growing: 50 files\r
 \r
+Things to do:\r
+-- Use OrderOnly for ordering ghc-cabal's\r
+-- Fix parallel invokations of ghc-cabal\r
+-- 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!\r
+-- Rename files -> outputs, sources -> inputs\r
+-- Start separating general bits from GHC bits. A separate package for Args maybe\r
+-- Look up Bazel and Buck\r
+-- Decompose args into builder-specific and package-specific\r
 \r
 2. Seemingly dead-code\r
 ----------------------\r
@@ -46,7 +55,7 @@ ifeq "$(TargetOS_CPP)" "irix"
     @echo "#endif"                                            >> $@\r
 endif\r
 \r
-But IRIX_MAJOR is never set anywhere in the build system. Dead code?\r
+But IRIX_MAJOR is never set anywhere in the build system. Dead code? YES\r
 \r
 \r
 3. Command line options\r
@@ -56,6 +65,12 @@ Discuss the need for command line options, e.g. 'make GhcDebugged=YES'. Do we ne
 \r
 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?\r
 \r
+-- Try to support these first:\r
+* EXTRA_HC_OPTS = file "asd" ? arg ".."\r
+* EXTRA_CC_OPTS \r
+* GhcDebugged = True\r
+* make 2\r
+\r
 \r
 4. Better names for build stages\r
 --------------------------------\r
@@ -79,3 +94,5 @@ Stage3 -> Selftest
   build system' is overly verbose. Calling it 'shake' is confusing.\r
 \r
 * I haven't thought about any names yet, just checking whether we want to. \r
+\r
+-- Use mk2
\ No newline at end of file
index 1e0f87b..257fd58 100644 (file)
@@ -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 ]
index edddb6f..e0a6124 100644 (file)
@@ -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
index 8e2a44e..257a896 100644 (file)
@@ -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)