Merge remote-tracking branch 'upstream/master' into sockeye
authorDaniel Schwyn <schwyda@student.ethz.ch>
Mon, 24 Jul 2017 08:27:44 +0000 (10:27 +0200)
committerDaniel Schwyn <schwyda@student.ethz.ch>
Mon, 24 Jul 2017 08:27:58 +0000 (10:27 +0200)
Signed-off-by: Daniel Schwyn <schwyda@student.ethz.ch>

1  2 
hake/RuleDefs.hs
usr/skb/Hakefile

diff --combined hake/RuleDefs.hs
@@@ -123,8 -123,6 +123,6 @@@ kernelIncludes arch = [ NoDep BuildTre
                      "/kernel/include",
                      "/include",
                      "/include/arch" </> archFamily arch,
-                     "/lib/newlib/newlib/libc/include",
-                     "/include/c",
                      "/include/target" </> archFamily arch]]
                   ++ kernelOptIncludes arch
  
@@@ -780,28 -778,6 +778,28 @@@ skateGenSchemas opts schema 
        ]]
  
  
 +--
 +-- Build SKB facts from Sockeye file
 +--
 +sockeyeProgLoc = In InstallTree "tools" "/bin/sockeye"
 +sockeyeSocFileLoc d = In SrcTree "src" ("/socs" </> (d ++ ".soc"))
 +sockeyeFactFilePath d = "/sockeyefacts" </> (d ++ ".pl")
 +sockeyeFactFileLoc d = In BuildTree "" $ sockeyeFactFilePath d
 +
 +sockeye :: String -> HRule
 +sockeye net = 
 +    let
 +        factFile = sockeyeFactFilePath net
 +        depFile = dependFilePath factFile
 +    in Rules
 +        [ Rule
 +            [ sockeyeProgLoc
 +            , Str "-o", Out "" factFile
 +            , Str "-d", Out "" depFile
 +            , sockeyeSocFileLoc net
 +            ]
 +        , Include (Out "" depFile)
 +        ]
  
  --
  -- Build a Fugu library
@@@ -1107,7 -1083,9 +1105,9 @@@ appGetOptionsForArch arch args 
      (options arch) { extraIncludes =
                           [ NoDep SrcTree "src" a | a <- Args.addIncludes args]
                           ++
-                          [ NoDep BuildTree arch a | a <- Args.addGeneratedIncludes args],
+                          [ NoDep BuildTree arch a | a <- Args.addGeneratedIncludes args]
+                          ++
+                          [ NoDep SrcTree "src" ("/include" </> l) | l <- Args.addLibraries args ],
                       optIncludes = (optIncludes $ options arch) \\
                           [ NoDep SrcTree "src" i | i <- Args.omitIncludes args ],
                       optFlags = (optFlags $ options arch) \\
@@@ -1238,7 -1216,9 +1238,9 @@@ libraryBuildFn tdb tf args 
  
  libGetOptionsForArch arch args =
      (options arch) { extraIncludes =
-                          [ NoDep SrcTree "src" a | a <- Args.addIncludes args],
+                          [ NoDep SrcTree "src" a | a <- Args.addIncludes args]
+                          ++
+                          [ NoDep SrcTree "src" ("/include" </> l) | l <- Args.addLibraries args ],
                       optIncludes = (optIncludes $ options arch) \\
                           [ NoDep SrcTree "src" i | i <- Args.omitIncludes args ],
                       optFlags = (optFlags $ options arch) \\
@@@ -1292,10 -1272,6 +1294,6 @@@ liblwip_deps          = LibDeps $ [ Lib
  libnetQmng_deps       = LibDeps $ [ LibDep x | x <- deps ]
      where deps = ["net_queue_manager"]
  libnfs_deps           = LibDeps $ [ LibDep "nfs", liblwip_deps]
- libssh_deps           = LibDeps [ libposixcompat_deps, libopenbsdcompat_deps,
-                                   LibDep "zlib", LibDep "crypto", LibDep "ssh" ]
- libopenbsdcompat_deps = LibDeps [ libposixcompat_deps, LibDep "crypto",
-                                   LibDep "openbsdcompat" ]
  
  -- we need to make vfs more modular to make this actually useful
  data VFSModules = VFS_RamFS | VFS_NFS | VFS_BlockdevFS | VFS_FAT
@@@ -1329,17 -1305,13 +1327,13 @@@ str2dep  st
      | str == "vfs_noblockdev"= libvfs_deps_noblockdev str
      | str == "lwip"          = liblwip_deps
      | str == "netQmng"       = libnetQmng_deps
-     | str == "ssh"           = libssh_deps
-     | str == "openbsdcompat" = libopenbsdcompat_deps
      | otherwise              = LibDep str
  
  -- get library depdencies
  --   we need a specific order for the .a, so we define a total order
  libDeps :: [String] -> [String]
  libDeps xs = [x | (LibDep x) <- (sortBy xcmp) . nub . flat $ map str2dep xs ]
-     where xord = [ "ssh"
-                   , "openbsdcompat"
-                   , "crypto"
+     where xord = [  "crypto"
                    , "zlib"
                    , "posixcompat"
                    , "term_server"
diff --combined usr/skb/Hakefile
@@@ -12,7 -12,6 +12,7 @@@
  
  let ramfs_files = find inDir "programs" ".pl" ++
                    find inDir ("programs" </> "platforms") ".pl"
 +    sockeyeFiles = [ "omap44xx" ]
      ramdisk = "/skb_ramfs.cpio.gz"
      args arch = application {
                          target = "skb",
@@@ -30,7 -29,7 +30,7 @@@
                                                   "icsolver", "vfs_ramfs",
                                                   "posixcompat", "hashtable", "pcre", 
                                                   "octopus_server", "octopus_parser", "skb",
-                                                  "bench", "dmalloc", "lwip" ],
+                                                  "bench", "lwip" ],
                         architectures = [ arch ]
                  }
  in
@@@ -38,6 -37,5 +38,6 @@@
      Rule ( [ Str "bash",
               In SrcTree "src" "skripts/mkcpio",
               NoDep SrcTree "src" "", Out "root" ramdisk]
 -             ++ [ In SrcTree "src" f | f <- ramfs_files ] )
 +             ++ [ In SrcTree "src" f | f <- ramfs_files ]
 +             ++ [ In BuildTree "" (sockeyeFactFilePath f) | f <- sockeyeFiles ] )
    ]