diff --git a/README.md b/README.md
--- a/README.md
+++ b/README.md
@@ -1,1 +1,3 @@
 # Choice: a solution to boolean blindness
+
+[![Build Status](https://travis-ci.org/mboes/choice.svg?branch=master)](https://travis-ci.org/mboes/choice)
diff --git a/choice.cabal b/choice.cabal
--- a/choice.cabal
+++ b/choice.cabal
@@ -1,5 +1,5 @@
 name:                choice
-version:             0.1.0.0
+version:             0.1.1.0
 synopsis:            A solution to boolean blindness.
 description:         Please see README.md.
 homepage:            https://github.com/mboes/choice#readme
diff --git a/src/Data/Choice.hs b/src/Data/Choice.hs
--- a/src/Data/Choice.hs
+++ b/src/Data/Choice.hs
@@ -31,6 +31,7 @@
 -- no need to ensure that constructor names are unique, nor to pollute the
 -- precious constructor namespace in a large module with many flags.
 
+{-# LANGUAGE CPP #-}
 {-# LANGUAGE DataKinds #-}
 {-# LANGUAGE FlexibleInstances #-}
 {-# LANGUAGE MagicHash #-}
@@ -38,7 +39,9 @@
 {-# LANGUAGE PatternSynonyms #-}
 {-# LANGUAGE TypeFamilies #-}
 
+#if __GLASGOW_HASKELL__ >= 800
 {-# OPTIONS_GHC -fno-warn-missing-pattern-synonym-signatures #-}
+#endif
 
 module Data.Choice
   ( Choice
@@ -57,7 +60,9 @@
   , Label(..)
   ) where
 
+#if MIN_VERSION_base(4,9,0)
 import GHC.OverloadedLabels (IsLabel(..))
+#endif
 import GHC.TypeLits (Symbol)
 
 -- $label-export
@@ -68,8 +73,10 @@
 -- | A synonym for 'Data.Proxy.Proxy'.
 data Label (a :: Symbol) = Label deriving (Eq, Ord, Show)
 
+#if MIN_VERSION_base(4,9,0)
 instance x ~ x' => IsLabel x (Label x') where
   fromLabel _ = Label
+#endif
 
 -- | A labeled boolean choice.
 data Choice (a :: Symbol)
