diff --git a/System/Locale/SetLocale.hsc b/System/Locale/SetLocale.hsc
--- a/System/Locale/SetLocale.hsc
+++ b/System/Locale/SetLocale.hsc
@@ -14,7 +14,6 @@
 #include <locale.h>
 
 import Data.Typeable
-import Data.Maybe
 import Foreign.C
 import Foreign.Ptr
 
@@ -31,7 +30,11 @@
 categoryToCInt LC_ALL = #const LC_ALL
 categoryToCInt LC_COLLATE = #const LC_COLLATE
 categoryToCInt LC_CTYPE = #const LC_CTYPE
+#ifdef LC_MESSAGES
 categoryToCInt LC_MESSAGES = #const LC_MESSAGES
+#else
+categoryToCInt LC_MESSAGES = -1
+#endif
 categoryToCInt LC_MONETARY = #const LC_MONETARY
 categoryToCInt LC_NUMERIC = #const LC_NUMERIC
 categoryToCInt LC_TIME = #const LC_TIME
@@ -39,6 +42,9 @@
 foreign import ccall "locale.h setlocale" c_setlocale :: CInt -> CString -> IO (CString)
 
 setLocale :: Category -> Maybe String -> IO (Maybe String)
+#ifndef LC_MESSAGES
+setLocale LC_MESSAGES _ = return Nothing
+#endif
 setLocale c Nothing = c_setlocale (categoryToCInt c) nullPtr >>= checkReturn
 setLocale c (Just locale) = (withCString locale $ c_setlocale $ categoryToCInt c)
                             >>= checkReturn
diff --git a/setlocale.cabal b/setlocale.cabal
--- a/setlocale.cabal
+++ b/setlocale.cabal
@@ -1,8 +1,6 @@
--- Initial setlocale.cabal generated by cabal init.  For further 
--- documentation, see http://haskell.org/cabal/users-guide/
-
 name:                setlocale
-version:             1.0.0.1
+-- Version numbers of the form a.b.c.d.1 are development versions.
+version:             1.0.0.2
 synopsis:            Haskell bindings to setlocale
 -- description:         
 license:             BSD3
@@ -19,7 +17,7 @@
   exposed-modules:     System.Locale.SetLocale
   -- other-modules:       
   other-extensions:    DeriveDataTypeable, ForeignFunctionInterface
-  build-depends:       base >=4.6 && <4.8
+  build-depends:       base >=4.6 && <4.8.1
   -- hs-source-dirs:      
   build-tools:         hsc2hs
-  default-language:    Haskell98
+  default-language:    Haskell2010
