hoppy-runtime 0.4.0 → 0.5.0
raw patch · 2 files changed
+33/−5 lines, 2 filesPVP ok
version bump matches the API change (PVP)
API changes (from Hackage documentation)
Files
- hoppy-runtime.cabal +1/−1
- src/Foreign/Hoppy/Setup.hs +32/−4
hoppy-runtime.cabal view
@@ -1,5 +1,5 @@ name: hoppy-runtime-version: 0.4.0+version: 0.5.0 synopsis: C++ FFI generator - Runtime support homepage: http://khumba.net/projects/hoppy license: Apache-2.0
src/Foreign/Hoppy/Setup.hs view
@@ -38,10 +38,10 @@ -- main = -- cppMain $ -- ProjectConfig--- { generatorExecutableName = "foobar-generator"--- , cppPackageName = "foobar-cpp"--- , cppSourcesDir = "cpp"--- , hsSourcesDir = "src"+-- { generatorExecutableName = \"foobar-generator\"+-- , cppPackageName = \"foobar-cpp\"+-- , cppSourcesDir = \"cpp\"+-- , hsSourcesDir = \"src\" -- } -- @ --@@ -78,6 +78,7 @@ import Distribution.Simple.LocalBuildInfo ( LocalBuildInfo, absoluteInstallDirs,+ buildDir, installedPkgs, libdir, withPrograms,@@ -101,6 +102,7 @@ ) import Distribution.Simple.Setup ( CopyDest (CopyTo, NoCopyDest),+ RegisterFlags, buildVerbosity, cleanVerbosity, configVerbosity,@@ -110,6 +112,8 @@ fromFlagOrDefault, installDistPref, installVerbosity,+ regInPlace,+ regVerbosity, ) import Distribution.Simple.UserHooks ( UserHooks (@@ -118,11 +122,13 @@ cleanHook, copyHook, instHook,+ regHook, postConf, preBuild, preCopy, preInst, preReg,+ preRepl, preTest ), )@@ -206,6 +212,11 @@ flagToMaybe $ installDistPref flags cppInstall verbosity pkgDesc localBuildInfo dest + , regHook = \pkgDesc localBuildInfo hooks flags -> do+ regHook simpleUserHooks pkgDesc localBuildInfo hooks flags+ let verbosity = fromFlagOrDefault normal $ regVerbosity flags+ cppRegister verbosity pkgDesc localBuildInfo flags+ , cleanHook = \pkgDesc z hooks flags -> do cleanHook simpleUserHooks pkgDesc z hooks flags let verbosity = fromFlagOrDefault normal $ cleanVerbosity flags@@ -266,6 +277,22 @@ createDirectoryIfMissing True libDir runDbProgram verbosity makeProgram programDb ["install", "libdir=" ++ libDir] +cppRegister :: Verbosity -> PackageDescription -> LocalBuildInfo -> RegisterFlags -> IO ()+cppRegister verbosity _pkgDesc localBuildInfo flags = do+ hasMakefile <- doesFileExist "Makefile"+ unless hasMakefile $+#if MIN_VERSION_Cabal(2,0,0)+ die' verbosity+#else+ die+#endif+ "No Makefile found."+ when (fromFlagOrDefault False (regInPlace flags)) $ do+ let programDb = withPrograms localBuildInfo+ libDir = buildDir localBuildInfo+ createDirectoryIfMissing True libDir+ runDbProgram verbosity makeProgram programDb ["install", "libdir=" ++ libDir]+ cppClean :: ProjectConfig -> Verbosity -> IO () cppClean project verbosity = do removeGeneratedFiles Cpp project verbosity@@ -334,6 +361,7 @@ , preCopy = \_ _ -> addLibDir -- Not sure if necessary, but doesn't hurt. , preInst = \_ _ -> addLibDir -- Not sure if necessary, but doesn't hurt. , preReg = \_ _ -> addLibDir -- Necessary.+ , preRepl = \_ _ -> addLibDir -- Necessary. , cleanHook = \pkgDesc z hooks flags -> do cleanHook simpleUserHooks pkgDesc z hooks flags