diff --git a/README.md b/README.md
--- a/README.md
+++ b/README.md
@@ -2,6 +2,7 @@
 
 [![Build Status](https://travis-ci.org/vmchale/atspkg.svg?branch=master)](https://travis-ci.org/vmchale/atspkg)
 [![Hackage](https://img.shields.io/hackage/v/ats-pkg.svg)](http://hackage.haskell.org/package/ats-pkg)
+[![Dependencies of latest version on Hackage](https://img.shields.io/hackage-deps/v/ats-pkg.svg)](https://hackage.haskell.org/package/ats-pkg)
 
 This is a build system for ATS written in Haskell and configured with Dhall. It
 is not fully working, but the configuration format is now stable.
@@ -100,6 +101,7 @@
 [here](https://github.com/vmchale/atspkg/blob/master/ats-pkg/EXAMPLES.md).
 
 ## Global Configuration
+
 
 `atspkg` is configured via a file in `~/.config/atspkg/config.dhall`. You can
 set a custom package set as follows:
diff --git a/Setup.hs b/Setup.hs
--- a/Setup.hs
+++ b/Setup.hs
@@ -1,13 +1,14 @@
 {-# OPTIONS_GHC -Wall -Wincomplete-uni-patterns -Wincomplete-record-updates -Wcompat #-}
 
 import           Data.Bool                       (bool)
+import           Data.Foldable                   (fold)
 import           Distribution.CommandLine
 import           Distribution.PackageDescription
 import           Distribution.Simple
 import           Distribution.Simple.Setup
 
 installActions :: IO ()
-installActions = sequence_
+installActions = fold
     [ writeManpages "man/atspkg.1" "atspkg.1"
     , writeTheFuck
     , writeBashCompletions "atspkg"
diff --git a/ats-pkg.cabal b/ats-pkg.cabal
--- a/ats-pkg.cabal
+++ b/ats-pkg.cabal
@@ -1,12 +1,12 @@
 cabal-version: 1.18
 name: ats-pkg
-version: 2.10.2.0
+version: 2.10.2.2
 license: BSD3
 license-file: LICENSE
 copyright: Copyright: (c) 2018 Vanessa McHale
 maintainer: vamchale@gmail.com
 author: Vanessa McHale
-homepage: https://github.com/vmchale/atspkg#readme
+homepage: https://github.com/vmchale/atspkg/tree/master/ats-pkg#readme
 bug-reports: https://github.com/vmchale/atspkg/issues
 synopsis: A build tool for ATS
 description:
diff --git a/src/Language/ATS/Package/Build/C.hs b/src/Language/ATS/Package/Build/C.hs
--- a/src/Language/ATS/Package/Build/C.hs
+++ b/src/Language/ATS/Package/Build/C.hs
@@ -37,14 +37,19 @@
           -> IO ()
 clibSetup v cc' lib' p = do
 
+    -- TODO autogen.sh
+
     -- Find configure script and make it executable
     subdirs <- allSubdirs p
     configurePath <- findFile (p:subdirs) "configure"
+    -- autogenPath <- findFile (p:subdirs) "autogen.sh"
     cmakeLists <- findFile (p:subdirs) "CMakeLists.txt"
     fold (setFileMode <$> configurePath <*> pure ownerModes)
+    -- fold (setFileMode <$> autogenPath <*> pure ownerModes)
     makeExecutable "install-sh" (p:subdirs)
     makeExecutable "mkinstalldirs" (p:subdirs)
     makeExecutable "rellns-sh" (p:subdirs)
+    makeExecutable "shtool" (p:subdirs)
 
     -- CC="gcc" CFLAGS="-shared-libgcc -O2" ./glibc-2.27/configure --prefix="$HOME/.atspkg"
     -- Set environment variables for configure script
@@ -58,6 +63,11 @@
 cmake v prefixPath (Just cfgLists) _ _ = do
     let p = takeDirectory cfgLists
     silentCreateProcess v ((proc "cmake" ["-DCMAKE_INSTALL_PREFIX:PATH=" ++ prefixPath, p]) { cwd = Just p })
+
+autogen :: Verbosity -> FilePath -> String -> FilePath -> IO ()
+autogen v autogenPath lib' _ =
+    putStrLn ("generating " ++ lib' ++ "...") >>
+    silentCreateProcess v ((proc autogenPath mempty) { cwd = Just (takeDirectory autogenPath) })
 
 configure :: Verbosity -> FilePath -> FilePath -> Maybe [(String, String)] -> String -> FilePath -> IO ()
 configure v prefixPath configurePath procEnv lib' p =
