diff --git a/gtk2hs-buildtools.cabal b/gtk2hs-buildtools.cabal
--- a/gtk2hs-buildtools.cabal
+++ b/gtk2hs-buildtools.cabal
@@ -1,5 +1,5 @@
 Name:   gtk2hs-buildtools
-Version:        0.13.5.3
+Version:        0.13.5.4
 License:        GPL-2
 License-file:   COPYING
 Copyright:      (c) 2001-2010 The Gtk2Hs Team
diff --git a/src/Gtk2HsSetup.hs b/src/Gtk2HsSetup.hs
--- a/src/Gtk2HsSetup.hs
+++ b/src/Gtk2HsSetup.hs
@@ -11,7 +11,11 @@
   ) where
 
 import Data.Maybe (mapMaybe)
+#if MIN_VERSION_Cabal(2,4,0)
 import Distribution.Pretty (prettyShow)
+#else
+import Distribution.Simple.LocalBuildInfo (getComponentLocalBuildInfo)
+#endif
 import Distribution.Simple
 import Distribution.Simple.PreProcess
 import Distribution.InstalledPackageInfo ( importDirs,
@@ -192,6 +196,7 @@
            "Package contains no library to register:" (packageId pkg_descr)
   where verbosity = fromFlag (regVerbosity flags)
 
+#if MIN_VERSION_Cabal(2,4,0)
 getComponentLocalBuildInfo :: LocalBuildInfo -> LBI.ComponentName -> ComponentLocalBuildInfo
 getComponentLocalBuildInfo lbi cname =
     case LBI.componentNameCLBIs lbi cname of
@@ -203,6 +208,7 @@
           error $ "internal error: the component name " ++ show cname
                ++ "is ambiguous.  Refers to: "
                ++ intercalate ", " (map (prettyShow . LBI.componentUnitId) clbis)
+#endif
 
 register :: PackageDescription -> LocalBuildInfo
          -> RegisterFlags -- ^Install in the user's database?; verbose
