Phyx lonetiger at
Thu Jul 29 14:54:46 EDT 2010

I'm trying to use the Cabal api to preprocess a .cabal file and have it run
the preprocessors.


But preprocessSources takes a PackageDescription (which I get from a
GenericPackageDescription) so this does not contain any information on the
Executables or Libraries in the cabal file.  So nothing gets executed. 


What is the correct way to use it?


For reference, my code is


preprocessPackage :: Context -> String -> IO ()

preprocessPackage env file

  = do info     <- maybeGetPersistBuildConfig configName

       outdated <- case info of

                     Just i  -> safeCheckPersistBuildConfig "dist" file

                     Nothing -> return True

       pkg_info <- case outdated of

                     False -> return $ fromJust info

                     True  -> do new_info <- configurePackage env

                                 writePersistBuildConfig configName new_info

                                 return new_info


       withContext env (\cfg -> preprocessSources (packageDescription cfg)
pkg_info False deafening knownSuffixHandlers)


-------------- next part --------------
An HTML attachment was scrubbed...

More information about the cabal-devel mailing list