mirror of
https://github.com/GrammaticalFramework/gf-core.git
synced 2026-05-22 09:32:53 -06:00
Bump version requirements to base>=4.6, Cabal>=1.20
Cabal>=1.20 allows control over parallelism when compiling grammars from Setup.hs and WebSetup.hs. base>=4.6 allows conditional compilation with CPP to be eliminated from a few modules. base-4.6 corresponds to GHC 7.6.3, which is what you get in Debian 8 (aka jessie, aka oldstable) from 2015.
This commit is contained in:
@@ -98,14 +98,13 @@ execute command args =
|
|||||||
showArg arg = if ' ' `elem` arg then "'" ++ arg ++ "'" else arg
|
showArg arg = if ' ' `elem` arg then "'" ++ arg ++ "'" else arg
|
||||||
|
|
||||||
-- | This function is used to enable parallel compilation of the RGL and
|
-- | This function is used to enable parallel compilation of the RGL and
|
||||||
-- example grammars, but it is commented out by default
|
-- example grammars
|
||||||
-- to avoid casing problems for developers using Cabal<1.20
|
|
||||||
numJobs flags =
|
numJobs flags =
|
||||||
if null n
|
if null n
|
||||||
then ["-j","+RTS","-A20M","-N","-RTS"]
|
then ["-j","+RTS","-A20M","-N","-RTS"]
|
||||||
else ["-j="++n,"+RTS","-A20M","-N"++n,"-RTS"]
|
else ["-j="++n,"+RTS","-A20M","-N"++n,"-RTS"]
|
||||||
where
|
where
|
||||||
-- buildNumJobs is only available in Cabal>=1.20
|
-- buildNumJobs is only available in Cabal>=1.20
|
||||||
n = {-case buildNumJobs flags of
|
n = case buildNumJobs flags of
|
||||||
Flag mn | mn/=Just 1-> maybe "" show mn
|
Flag mn | mn/=Just 1-> maybe "" show mn
|
||||||
_ ->-} ""
|
_ -> ""
|
||||||
|
|||||||
8
gf.cabal
8
gf.cabal
@@ -1,7 +1,7 @@
|
|||||||
name: gf
|
name: gf
|
||||||
version: 3.9
|
version: 3.9-git
|
||||||
|
|
||||||
cabal-version: >= 1.10
|
cabal-version: >= 1.20
|
||||||
build-type: Custom
|
build-type: Custom
|
||||||
license: OtherLicense
|
license: OtherLicense
|
||||||
license-file: LICENSE
|
license-file: LICENSE
|
||||||
@@ -57,6 +57,7 @@ flag interrupt
|
|||||||
flag server
|
flag server
|
||||||
Description: Include --server mode
|
Description: Include --server mode
|
||||||
Default: True
|
Default: True
|
||||||
|
|
||||||
flag network-uri
|
flag network-uri
|
||||||
description: Get Network.URI from the network-uri package
|
description: Get Network.URI from the network-uri package
|
||||||
default: True
|
default: True
|
||||||
@@ -68,6 +69,7 @@ flag network-uri
|
|||||||
flag custom-binary
|
flag custom-binary
|
||||||
Description: Use a customised version of the binary package
|
Description: Use a customised version of the binary package
|
||||||
Default: True
|
Default: True
|
||||||
|
Manual: True
|
||||||
|
|
||||||
flag c-runtime
|
flag c-runtime
|
||||||
Description: Include functionality from the C run-time library (which must be installed already)
|
Description: Include functionality from the C run-time library (which must be installed already)
|
||||||
@@ -75,7 +77,7 @@ flag c-runtime
|
|||||||
|
|
||||||
Library
|
Library
|
||||||
default-language: Haskell2010
|
default-language: Haskell2010
|
||||||
build-depends: base >= 4.5 && <5,
|
build-depends: base >= 4.6 && <5,
|
||||||
array,
|
array,
|
||||||
containers,
|
containers,
|
||||||
bytestring,
|
bytestring,
|
||||||
|
|||||||
@@ -1,13 +1,7 @@
|
|||||||
-- | Isolate backwards incompatible library changes to 'catch' and 'try'
|
-- | Backwards compatible 'catch' and 'try'
|
||||||
{-# LANGUAGE CPP #-}
|
|
||||||
module GF.System.Catch where
|
module GF.System.Catch where
|
||||||
import qualified System.IO.Error as S
|
import qualified System.IO.Error as S
|
||||||
|
|
||||||
-- ** Backwards compatible try and catch
|
-- ** Backwards compatible try and catch
|
||||||
#if MIN_VERSION_base(4,4,0)
|
|
||||||
catch = S.catchIOError
|
catch = S.catchIOError
|
||||||
try = S.tryIOError
|
try = S.tryIOError
|
||||||
#else
|
|
||||||
catch = S.catch
|
|
||||||
try = S.try
|
|
||||||
#endif
|
|
||||||
|
|||||||
@@ -1,7 +1,6 @@
|
|||||||
{-# LANGUAGE CPP,ForeignFunctionInterface #-}
|
{-# LANGUAGE ForeignFunctionInterface #-}
|
||||||
-- | A variant of 'Control.Concurrent.setNumCapabilities' that automatically
|
-- | A variant of 'Control.Concurrent.setNumCapabilities' that automatically
|
||||||
-- detects the number of processors in the system, and is available
|
-- detects the number of processors in the system.
|
||||||
-- even when compiling with GHC<7.6.
|
|
||||||
module GF.System.Concurrency(
|
module GF.System.Concurrency(
|
||||||
-- * Controlling parallelism
|
-- * Controlling parallelism
|
||||||
setNumCapabilities,getNumberOfProcessors) where
|
setNumCapabilities,getNumberOfProcessors) where
|
||||||
@@ -16,13 +15,8 @@ import Foreign.C.Types(CInt(..))
|
|||||||
-- hasn't already been set with @+RTS -N/n/ -RTS@.
|
-- hasn't already been set with @+RTS -N/n/ -RTS@.
|
||||||
setNumCapabilities opt_n =
|
setNumCapabilities opt_n =
|
||||||
do n <- maybe getNumberOfProcessors return opt_n
|
do n <- maybe getNumberOfProcessors return opt_n
|
||||||
#if MIN_VERSION_base(4,6,0)
|
|
||||||
C.setNumCapabilities n
|
C.setNumCapabilities n
|
||||||
return True
|
return True
|
||||||
#else
|
|
||||||
n_now <- C.getNumCapabilities
|
|
||||||
return (n==n_now)
|
|
||||||
#endif
|
|
||||||
|
|
||||||
-- | Returns the number of processors in the system.
|
-- | Returns the number of processors in the system.
|
||||||
getNumberOfProcessors = fmap fromEnum c_getNumberOfProcessors
|
getNumberOfProcessors = fmap fromEnum c_getNumberOfProcessors
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
{-# LANGUAGE CPP, BangPatterns #-}
|
{-# LANGUAGE BangPatterns #-}
|
||||||
module PGF.Optimize
|
module PGF.Optimize
|
||||||
( optimizePGF
|
( optimizePGF
|
||||||
, updateProductionIndices
|
, updateProductionIndices
|
||||||
@@ -11,11 +11,7 @@ import PGF.Macros
|
|||||||
import Data.List (mapAccumL)
|
import Data.List (mapAccumL)
|
||||||
import Data.Array.IArray
|
import Data.Array.IArray
|
||||||
import Data.Array.MArray
|
import Data.Array.MArray
|
||||||
#if MIN_VERSION_base(4,6,0)
|
|
||||||
import Data.Array.Unsafe as U(unsafeFreeze)
|
import Data.Array.Unsafe as U(unsafeFreeze)
|
||||||
#else
|
|
||||||
import Data.Array.ST as U(unsafeFreeze)
|
|
||||||
#endif
|
|
||||||
import Data.Array.ST
|
import Data.Array.ST
|
||||||
import Data.Array.Unboxed
|
import Data.Array.Unboxed
|
||||||
import qualified Data.Map as Map
|
import qualified Data.Map as Map
|
||||||
|
|||||||
Reference in New Issue
Block a user