diff --git a/FModExRaw.cabal b/FModExRaw.cabal
--- a/FModExRaw.cabal
+++ b/FModExRaw.cabal
@@ -10,7 +10,7 @@
 -- PVP summary:      +-+------- breaking API changes
 --                   | | +----- non-breaking API additions
 --                   | | | +--- code changes with no API change
-version:             0.1.0.1
+version:             0.1.0.2
 
 -- A short (one-line) description of the package.
 synopsis:            The Haskell FModEx raw API.
@@ -18,8 +18,6 @@
 -- A longer description of the package.
 description:         Haskell FModEx raw API. It’s a 1:1 Haskell binding over the famous C API.
 
-                     For now, I use version 0.0.* for uncomplete API binding. The complete API will be released just in time.
-
 -- URL for the project homepage or repository.
 homepage:            https://github.com/skypers/hsFModEx
 
@@ -49,6 +47,9 @@
 library
   -- Compilation line
   ghc-options:       -Wall
+  -- Conditional compilation
+  if os(linux)
+    cpp-options:       -DFMODEX_PLATFORM_LINUX
   -- Extra libraries
   extra-libraries:   fmodex
   -- Modules exported by the library.
@@ -60,6 +61,8 @@
                      , Sound.FModEx.Raw.Core.Types
                      , Sound.FModEx.Raw.DSP
                      , Sound.FModEx.Raw.DSP.Types
+                     , Sound.FModEx.Raw.Errors
+                     , Sound.FModEx.Raw.Errors.Functions
                      , Sound.FModEx.Raw.Linux
                      , Sound.FModEx.Raw.Linux.Types
                      , Sound.FModEx.Raw.Memory
@@ -67,11 +70,6 @@
                      , Sound.FModEx.Raw.Output
                      , Sound.FModEx.Raw.Output.Types
   
-  -- Modules conditionnally exported by the library
-  if !os(linux)
-    exposed-modules:   Sound.FModEx.Raw.Errors
-                     , Sound.FModEx.Raw.Errors.Functions
-  
   -- Modules included in this library but not exported.
   -- other-modules:       
   
@@ -80,4 +78,3 @@
   
   -- Extra tools (e.g. alex, hsc2hs, ...) needed to build the source.
   build-tools:         hsc2hs
-  
diff --git a/Sound/FModEx/Raw.hs b/Sound/FModEx/Raw.hs
--- a/Sound/FModEx/Raw.hs
+++ b/Sound/FModEx/Raw.hs
@@ -1,3 +1,5 @@
+{-# LANGUAGE CPP #-}
+
 {- |
 Module      :  Sound.FModEx.Raw
 Description :  FModEx library Haskell raw binding
@@ -18,7 +20,9 @@
 import Sound.FModEx.Raw.Codec as X
 import Sound.FModEx.Raw.Core as X
 import Sound.FModEx.Raw.DSP as X
+#ifndef FMODEX_PLATFORM_LINUX
 import Sound.FModEx.Raw.Errors as X
+#endif
 import Sound.FModEx.Raw.Linux as X
 import Sound.FModEx.Raw.Memory as X
 import Sound.FModEx.Raw.Output as X
diff --git a/Sound/FModEx/Raw/Core/Functions.hsc b/Sound/FModEx/Raw/Core/Functions.hsc
--- a/Sound/FModEx/Raw/Core/Functions.hsc
+++ b/Sound/FModEx/Raw/Core/Functions.hsc
@@ -21,7 +21,7 @@
 import Sound.FModEx.Raw.Codec.Types
 import Sound.FModEx.Raw.Core.Types
 import Sound.FModEx.Raw.DSP.Types
-import Sound.FModEx.Raw.Memory.Types
+--import Sound.FModEx.Raw.Memory.Types
 
 -- macro, TODO
 -- // #define FMOD_64BIT_ADD(_hi1, _lo1, _hi2, _lo2) _hi1 += ((_hi2) + ((((_lo1) + (_lo2)) < (_lo1)) ? 1 : 0)); (_lo1) += (_lo2);
diff --git a/Sound/FModEx/Raw/Errors.hs b/Sound/FModEx/Raw/Errors.hs
--- a/Sound/FModEx/Raw/Errors.hs
+++ b/Sound/FModEx/Raw/Errors.hs
@@ -1,3 +1,5 @@
+{-# LANGUAGE CPP #-}
+
 {- |
 Module      :  Sound.FModEx.Raw.Errors
 Description :  Errors FModEx library Haskell raw binding
@@ -12,7 +14,12 @@
 -}
 
 module Sound.FModEx.Raw.Errors (
+#ifndef FMODEX_PLATFORM_LINUX
     module X
   ) where
 
 import Sound.FModEx.Raw.Errors.Functions as X
+
+#else
+  ) where
+#endif
diff --git a/Sound/FModEx/Raw/Errors/Functions.hsc b/Sound/FModEx/Raw/Errors/Functions.hsc
--- a/Sound/FModEx/Raw/Errors/Functions.hsc
+++ b/Sound/FModEx/Raw/Errors/Functions.hsc
@@ -15,8 +15,13 @@
 
 module Sound.FModEx.Raw.Errors.Functions where
 
+#ifndef FMODEX_PLATFORM_LINUX
+
 import Foreign.C.String
 import Foreign.C.Types
 import Sound.FModEx.Raw.Core.Types
+import System.Info (os)
 
 foreign import ccall "FMOD_ErrorString" fmod_ErrorString :: FModResult -> CString
+
+#endif
