diff --git a/Graphics/UI/Gtk/Layout/Stack.chs b/Graphics/UI/Gtk/Layout/Stack.chs
--- a/Graphics/UI/Gtk/Layout/Stack.chs
+++ b/Graphics/UI/Gtk/Layout/Stack.chs
@@ -51,7 +51,7 @@
 -- @
 
 -- * Types
-#if GTK_CHECK_VERSION(3,10,0)
+#if GTK_CHECK_VERSION(3,12,0)
          Stack
        , castToStack
        , gTypeStack
@@ -72,30 +72,40 @@
        , stackSetVisibleChildName
        , stackGetVisibleChildName
        , stackSetVisibleChildFull
+#if GTK_CHECK_VERSION(3,16,0)
        , stackSetHomogeneous
        , stackGetHomogeneous
        , stackSetHhomogeneous
        , stackGetHhomogeneous
        , stackSetVhomogeneous
        , stackGetVhomogeneous
+#endif
        , stackGetTransitionRunning
+#if GTK_CHECK_VERSION(3,18,0)
        , stackSetInterpolateSize
        , stackGetInterpolateSize
+#endif
 
 -- * Attributes
+#if GTK_CHECK_VERSION(3,16,0)
        , stackHhomogeneous
        , stackHomogeneous
+#endif
+#if GTK_CHECK_VERSION(3,18,0)
        , stackInterpolateSize
+#endif
        , stackTransitionDuration
        , stackTransitionRunning
        , stackTransitionType
+#if GTK_CHECK_VERSION(3,16,0)
        , stackVhomogeneous
+#endif
        , stackVisibleChild
        , stackVisibleChildName
 #endif
 ) where
 
-#if GTK_CHECK_VERSION(3,10,0)
+#if GTK_CHECK_VERSION(3,12,0)
 
 import Control.Monad    (liftM)
 
@@ -265,6 +275,7 @@
       namePtr
       (fromIntegral $ fromEnum transitionType)
 
+#if GTK_CHECK_VERSION(3,16,0)
 -- | Sets the stack to be homogeneous or not. If it is homogeneous,
 -- the stack will request the same size for all its children. If it
 -- isn't, the stack may change size when a different child becomes
@@ -317,6 +328,7 @@
   liftM toBool $
   {# call stack_get_vhomogeneous #}
     (toStack self)
+#endif
 
 -- | Returns whether the stack is currently in a transition from one
 -- page to another.
@@ -348,6 +360,7 @@
 --------------------
 -- Attributes
 
+#if GTK_CHECK_VERSION(3,16,0)
 -- | True if the stack allocates the same width for all children.
 stackHhomogeneous :: StackClass self => Attr self Bool
 stackHhomogeneous = newAttr
@@ -359,6 +372,7 @@
 stackHomogeneous = newAttr
   stackGetHomogeneous
   stackSetHomogeneous
+#endif
 
 -- | Whether or not the size should smoothly change when changing
 -- between differently sized children.
@@ -384,11 +398,13 @@
   stackGetTransitionType
   stackSetTransitionType
 
+#if GTK_CHECK_VERSION(3,16,0)
 -- | True if the stack allocates the same height for all children.
 stackVhomogeneous :: StackClass self => Attr self Bool
 stackVhomogeneous = newAttr
   stackGetVhomogeneous
   stackSetVhomogeneous
+#endif
 
 -- | The widget currently visible in the stack.
 stackVisibleChild :: StackClass self =>
diff --git a/Setup.hs b/Setup.hs
--- a/Setup.hs
+++ b/Setup.hs
@@ -2,11 +2,7 @@
 -- all Gtk2Hs-specific boilerplate is kept in
 -- gtk2hs-buildtools:Gtk2HsSetup
 --
-import Gtk2HsSetup ( gtk2hsUserHooks, checkGtk2hsBuildtools,
-                     typeGenProgram, signalGenProgram, c2hsLocal)
+import Gtk2HsSetup ( gtk2hsUserHooks )
 import Distribution.Simple ( defaultMainWithHooks )
 
-main = do
-  checkGtk2hsBuildtools [typeGenProgram, signalGenProgram, c2hsLocal]
-  defaultMainWithHooks gtk2hsUserHooks
-
+main = defaultMainWithHooks gtk2hsUserHooks
diff --git a/gtk3.cabal b/gtk3.cabal
--- a/gtk3.cabal
+++ b/gtk3.cabal
@@ -1,5 +1,5 @@
 Name:           gtk3
-Version:        0.14.3
+Version:        0.14.4
 License:        LGPL-2.1
 License-file:   COPYING
 Copyright:      (c) 2001-2010 The Gtk2Hs Team
@@ -131,7 +131,7 @@
 custom-setup
   setup-depends: base >= 4.6,
                  Cabal >= 1.24 && < 1.25,
-                 gtk2hs-buildtools >= 0.13.1.0 && < 0.14
+                 gtk2hs-buildtools >= 0.13.2.0 && < 0.14
 
 Library
         build-depends:  base >= 4 && < 5,
@@ -144,9 +144,6 @@
           build-depends: gio >= 0.13.0 && < 0.14
           cpp-options:    -DHAVE_GIO
 
-        build-tools:    gtk2hsC2hs >= 0.13.13,
-                        gtk2hsHookGenerator, gtk2hsTypeGen
-
         exposed-modules:
           Graphics.UI.Gtk
           Graphics.UI.GtkInternals
@@ -401,7 +398,7 @@
     main-is: ActionMenu.hs
     if !flag(build-demos)
       buildable: False
-    build-depends: gtk3==0.14.3, base, transformers, text
+    build-depends: gtk3==0.14.4, base, transformers, text
 
 Executable gtk2hs-demo-buttonBox
     default-language: Haskell98
@@ -409,7 +406,7 @@
     main-is: ButtonBox.hs
     if !flag(build-demos)
       buildable: False
-    build-depends: gtk3==0.14.3, base, transformers
+    build-depends: gtk3==0.14.4, base, transformers
 
 Executable gtk2hs-demo-carsim
     default-language: Haskell98
@@ -417,7 +414,7 @@
     main-is: CarSim.hs
     if !flag(build-demos)
       buildable: False
-    build-depends: gtk3==0.14.3, base, transformers, time, cairo
+    build-depends: gtk3==0.14.4, base, transformers, time, cairo
 
 Executable gtk2hs-demo-progress
     default-language: Haskell98
@@ -425,7 +422,7 @@
     main-is: Progress.hs
     if !flag(build-demos)
       buildable: False
-    build-depends: gtk3==0.14.3, base, transformers
+    build-depends: gtk3==0.14.4, base, transformers
 
 Executable gtk2hs-demo-progressThreadedRTS
     default-language: Haskell98
@@ -433,7 +430,7 @@
     main-is: ProgressThreadedRTS.hs
     if !flag(build-demos)
       buildable: False
-    build-depends: gtk3==0.14.3, base, transformers
+    build-depends: gtk3==0.14.4, base, transformers
     ghc-options: -threaded
 
 Executable gtk2hs-demo-fastDraw
@@ -442,7 +439,7 @@
     main-is: FastDraw.hs
     if !flag(build-demos)
       buildable: False
-    build-depends: gtk3==0.14.3, base, transformers, array, cairo
+    build-depends: gtk3==0.14.4, base, transformers, array, cairo
 
 Executable gtk2hs-demo-fonts
     default-language: Haskell98
@@ -450,7 +447,7 @@
     main-is: Fonts.hs
     if !flag(build-demos)
       buildable: False
-    build-depends: gtk3==0.14.3, base
+    build-depends: gtk3==0.14.4, base
 
 Executable gtk2hs-demo-builder
     default-language: Haskell98
@@ -458,7 +455,7 @@
     main-is: GtkBuilderTest.hs
     if !flag(build-demos)
       buildable: False
-    build-depends: gtk3==0.14.3, base, transformers
+    build-depends: gtk3==0.14.4, base, transformers
 
 Executable gtk2hs-demo-helloworld
     default-language: Haskell98
@@ -466,7 +463,7 @@
     main-is: World.hs
     if !flag(build-demos)
       buildable: False
-    build-depends: gtk3==0.14.3, base, transformers
+    build-depends: gtk3==0.14.4, base, transformers
 
 Executable gtk2hs-demo-layout
     default-language: Haskell98
@@ -474,7 +471,7 @@
     main-is: Layout.hs
     if !flag(build-demos)
       buildable: False
-    build-depends: gtk3==0.14.3, base, transformers, cairo, text
+    build-depends: gtk3==0.14.4, base, transformers, cairo, text
 
 Executable gtk2hs-demo-menudemo
     default-language: Haskell98
@@ -482,7 +479,7 @@
     main-is: MenuDemo.hs
     if !flag(build-demos)
       buildable: False
-    build-depends: gtk3==0.14.3, base, transformers, text
+    build-depends: gtk3==0.14.4, base, transformers, text
 
 Executable gtk2hs-demo-combodemo
     default-language: Haskell98
@@ -490,7 +487,7 @@
     main-is: ComboDemo.hs
     if !flag(build-demos)
       buildable: False
-    build-depends: gtk3==0.14.3, text, base, transformers
+    build-depends: gtk3==0.14.4, text, base, transformers
 
 Executable gtk2hs-demo-notebook
     default-language: Haskell98
@@ -498,7 +495,7 @@
     main-is: Notebook.hs
     if !flag(build-demos)
       buildable: False
-    build-depends: gtk3==0.14.3, base, transformers, text
+    build-depends: gtk3==0.14.4, base, transformers, text
 
 Executable gtk2hs-demo-statusIcon
     default-language: Haskell98
@@ -506,7 +503,7 @@
     main-is: StatusIcon.hs
     if !flag(build-demos)
       buildable: False
-    build-depends: gtk3==0.14.3, base, transformers
+    build-depends: gtk3==0.14.4, base, transformers
 
 Executable gtk2hs-demo-arabic
     default-language: Haskell98
@@ -514,7 +511,7 @@
     main-is: Arabic.hs
     if !flag(build-demos)
       buildable: False
-    build-depends: gtk3==0.14.3, base, transformers, text
+    build-depends: gtk3==0.14.4, base, transformers, text
 
 Executable gtk2hs-demo-overlay
     default-language: Haskell98
@@ -522,4 +519,4 @@
     main-is: Overlay.hs
     if !flag(build-demos)
       buildable: False
-    build-depends: gtk3==0.14.3, base, transformers
+    build-depends: gtk3==0.14.4, base, transformers
