diff --git a/fficxx.cabal b/fficxx.cabal
--- a/fficxx.cabal
+++ b/fficxx.cabal
@@ -1,5 +1,5 @@
 Name:           fficxx
-Version:        0.3
+Version:        0.3.1
 Synopsis:       automatic C++ binding generation
 Description:    automatic C++ binding generation
 License:        BSD3
diff --git a/lib/FFICXX/Generate/Code/Cabal.hs b/lib/FFICXX/Generate/Code/Cabal.hs
--- a/lib/FFICXX/Generate/Code/Cabal.hs
+++ b/lib/FFICXX/Generate/Code/Cabal.hs
@@ -113,6 +113,7 @@
   \Build-Type:  $buildtype\n\
   \cabal-version:  >=1.10\n\
   \Extra-source-files:\n\
+  \$extraFiles\n\
   \$csrcFiles\n\
   \\n\
   \$sourcerepository\n\
@@ -149,6 +150,7 @@
       cih = pcfg_classImportHeaders pkgconfig
       tmods = pcfg_templateClassModules pkgconfig
       tcih = pcfg_templateClassImportHeaders pkgconfig
+      extrafiles = cabalattr_extrafiles cabalattr
       txt = subst cabalTemplate
               (context ([ ("licenseField", "license: " <> license)
                           | Just license <- [cabalattr_license cabalattr] ] <>
@@ -166,6 +168,7 @@
                         , ("sourcerepository","")
                         , ("ccOptions","-std=c++14")
                         , ("deps", "")
+                        , ("extraFiles", concatMap (\x -> cabalIndentation <> x <> "\n") extrafiles)
                         , ("csrcFiles", genCsrcFiles (tih,classmodules))
                         , ("includeFiles", genIncludeFiles (cabal_pkgname cabal) (cih,tcih) )
                         , ("cppFiles", genCppFiles (tih,classmodules))
diff --git a/lib/FFICXX/Generate/Type/Class.hs b/lib/FFICXX/Generate/Type/Class.hs
--- a/lib/FFICXX/Generate/Type/Class.hs
+++ b/lib/FFICXX/Generate/Type/Class.hs
@@ -483,6 +483,7 @@
                             , cabalattr_licensefile      :: Maybe String
                             , cabalattr_extraincludedirs :: [FilePath]
                             , cabalattr_extralibdirs     :: [FilePath]
+                            , cabalattr_extrafiles       :: [FilePath]
                             }
 
 instance Default CabalAttr where
@@ -490,6 +491,7 @@
                     , cabalattr_licensefile      = Nothing
                     , cabalattr_extraincludedirs = []
                     , cabalattr_extralibdirs     = []
+                    , cabalattr_extrafiles       = []
                     }
 
 data Class = Class { class_cabal :: Cabal
diff --git a/sample/snappy-generator/SnappyGen.hs b/sample/snappy-generator/SnappyGen.hs
--- a/sample/snappy-generator/SnappyGen.hs
+++ b/sample/snappy-generator/SnappyGen.hs
@@ -81,6 +81,7 @@
     , cabalattr_licensefile = Just "LICENSE"
     , cabalattr_extraincludedirs = []
     , cabalattr_extralibdirs = []
+    , cabalattr_extrafiles = []
     }
 
 main :: IO ()
