diff --git a/src/Graphics/Xournal/Render/BBoxMapPDF.hs b/src/Graphics/Xournal/Render/BBoxMapPDF.hs
--- a/src/Graphics/Xournal/Render/BBoxMapPDF.hs
+++ b/src/Graphics/Xournal/Render/BBoxMapPDF.hs
@@ -1,4 +1,4 @@
-{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE OverloadedStrings, CPP #-}
 
 module Graphics.Xournal.Render.BBoxMapPDF where
 
@@ -11,7 +11,9 @@
 
 import Data.ByteString hiding (putStrLn, empty)
 import qualified Data.ByteString.Char8 as C hiding (empty)
+#ifdef POPPLER
 import qualified Graphics.UI.Gtk.Poppler.Document as Poppler
+#endif
 
 import Graphics.Rendering.Cairo
 
@@ -21,8 +23,12 @@
               }
   | BkgPDFPDF { bkgpdf_domain :: Maybe ByteString
               , bkgpdf_filename :: Maybe ByteString
-              , bkgpdf_pageno :: Int 
+              , bkgpdf_pageno :: Int
+#ifdef POPPLER 
               , bkgpdf_popplerpage :: Maybe Poppler.Page 
+#else 
+              , bkgpdf_popplerpage :: Maybe ()
+#endif
               , bkgpdf_cairosurface :: Maybe Surface
               } 
 
@@ -48,7 +54,6 @@
 bkgPDFFromBkg :: Background -> BackgroundPDFDrawable
 bkgPDFFromBkg (Background _t c s) = BkgPDFSolid c s
 bkgPDFFromBkg (BackgroundPdf _t md mf pn) = BkgPDFPDF md mf pn Nothing Nothing
-
 
   
 emptyTXournalBBoxMapPDF :: TXournalBBoxMapPDF
diff --git a/src/Graphics/Xournal/Render/PDFBackground.hs b/src/Graphics/Xournal/Render/PDFBackground.hs
--- a/src/Graphics/Xournal/Render/PDFBackground.hs
+++ b/src/Graphics/Xournal/Render/PDFBackground.hs
@@ -1,6 +1,6 @@
 {-# LANGUAGE ExistentialQuantification, OverloadedStrings, 
              FlexibleInstances, FlexibleContexts,  
-             TypeFamilies #-}
+             TypeFamilies, CPP #-}
 
 module Graphics.Xournal.Render.PDFBackground where
 
@@ -16,16 +16,21 @@
 import Graphics.Xournal.Render.Generic
 import Graphics.Xournal.Render.Type
 
-
+#ifdef POPPLER
 import qualified Graphics.UI.Gtk.Poppler.Document as Poppler
 import qualified Graphics.UI.Gtk.Poppler.Page as PopplerPage
+#endif
 
 import Graphics.Rendering.Cairo
 
   
 data Context = Context { ctxt_domain :: ByteString
                        , ctxt_filename :: ByteString 
+#ifdef POPPLER
                        , ctxt_doc :: Maybe Poppler.Document
+#else 
+                       , ctxt_doc :: Maybe ()
+#endif
                        }
 
 
@@ -51,6 +56,7 @@
             -> StateT (Maybe Context) IO BackgroundPDFDrawable
 mkBkgPDF bkg = do  
   let bkgpdf = bkgPDFFromBkg bkg
+#ifdef POPPLER
   case bkgpdf of 
     BkgPDFSolid _ _ -> return bkgpdf 
     BkgPDFPDF md mf pn _ _ -> do 
@@ -62,6 +68,7 @@
               liftIO $ putStrLn "hey"
               mdoc <- popplerGetDocFromFile f
               put $ Just (Context d f mdoc)
+
               case mdoc of 
                 Just doc -> do  
                   (mpg,msfc) <- popplerGetPageFromDoc doc pn 
@@ -73,14 +80,20 @@
               popplerGetPageFromDoc doc pn
             Nothing -> return (Nothing,Nothing) 
           return $ BkgPDFPDF md mf pn mpage msfc
-            
+#else 
+  return $ bkgpdf
+#endif
+
+
+#ifdef POPPLER            
 popplerGetDocFromFile :: (MonadIO m) => 
                          ByteString -> m (Maybe Poppler.Document)
 popplerGetDocFromFile fp = 
   liftIO $ Poppler.documentNewFromFile 
              (C.unpack ("file://localhost" `mappend` fp)) Nothing 
-             
-             
+#endif
+
+#ifdef POPPLER             
 popplerGetPageFromDoc :: (MonadIO m) => 
                          Poppler.Document -> Int -> m (Maybe Poppler.Page, Maybe Surface)
 popplerGetPageFromDoc doc pn = do   
@@ -96,7 +109,7 @@
     fill
     PopplerPage.pageRender pg
   return (Just pg, Just sfc)
-
+#endif
 
 cairoRenderBackgroundPDFDrawable :: (BackgroundPDFDrawable,Dimension) 
                                     -> Render ()
@@ -110,8 +123,9 @@
       setSourceRGBA 1 1 1 1
       rectangle 0 0 w h 
       fill
+#ifdef POPPLER
       PopplerPage.pageRender pg
-    
+#endif    
   
 
 
diff --git a/xournal-render.cabal b/xournal-render.cabal
--- a/xournal-render.cabal
+++ b/xournal-render.cabal
@@ -1,5 +1,5 @@
 Name:		xournal-render
-Version:	0.3
+Version:	0.3.0.0
 Synopsis:       Xournal file renderer
 Description: 	Rendering library using cairo for xournal file format
 License: 	BSD3
@@ -14,23 +14,34 @@
   type: git
   location: http://www.github.com/wavewave/xournal-render
 
-
+Flag Poppler
+  Description: Enable poppler support
+  Default:     True
 
 Library
   hs-source-dirs: src
   ghc-options: 	-Wall -O2 -threaded -funbox-strict-fields -fno-warn-unused-do-bind
   ghc-prof-options: -caf-all -auto-all
-  Build-Depends: 
-                 base == 4.*, 
-                 mtl == 2.*, 
-                 containers == 0.4.*, 
-                 cairo == 0.12.*, 
-                 strict == 0.3.*, 
-                 bytestring == 0.9.*,
-                 poppler == 0.12.*, 
-                 fclabels == 1.0.*, 
-                 xournal-types == 0.1.* 
-                 -- xournal-parser >= 0.2.0.999 && < 0.3, 
+  if flag(poppler)
+    Build-Depends: base == 4.*, 
+                   mtl == 2.*, 
+                   containers == 0.4.*, 
+                   cairo == 0.12.*, 
+                   strict == 0.3.*, 
+                   bytestring == 0.9.*,
+                   poppler == 0.12.*, 
+                   fclabels == 1.0.*, 
+                   xournal-types == 0.1.* 
+  else
+    Build-Depends: base == 4.*, 
+                   mtl == 2.*, 
+                   containers == 0.4.*, 
+                   cairo == 0.12.*, 
+                   strict == 0.3.*, 
+                   bytestring == 0.9.*,
+                   fclabels == 1.0.*, 
+                   xournal-types == 0.1.* 
+
   Exposed-Modules: 
                    Graphics.Xournal.Render.Simple
                    Graphics.Xournal.Render.BBox
@@ -39,8 +50,8 @@
                    Graphics.Xournal.Render.BBoxMapPDF
                    Graphics.Xournal.Render.HitTest
                    Graphics.Xournal.Render.Type
----                   Graphics.Xournal.Type.Map
---                  Graphics.Xournal.Type.Select
---                   Graphics.Xournal.Type.Generic
+
+  if flag(poppler) 
+    cpp-options: -DPOPPLER
                   
 
