diff --git a/Cabal-syntax/src/Distribution/CabalSpecVersion.hs b/Cabal-syntax/src/Distribution/CabalSpecVersion.hs index a81e8921a949e1af6226f7d8b1a27033865c6e26..2e6cbc2b19deb240a006cfb3b0051b1325cabaa2 100644 --- a/Cabal-syntax/src/Distribution/CabalSpecVersion.hs +++ b/Cabal-syntax/src/Distribution/CabalSpecVersion.hs @@ -35,6 +35,7 @@ data CabalSpecVersion | -- 3.10: no changes CabalSpecV3_12 | CabalSpecV3_14 + | CabalSpecV3_16 deriving (Eq, Ord, Show, Read, Enum, Bounded, Data, Generic) instance Binary CabalSpecVersion @@ -45,6 +46,7 @@ instance NFData CabalSpecVersion where rnf = genericRnf -- -- @since 3.0.0.0 showCabalSpecVersion :: CabalSpecVersion -> String +showCabalSpecVersion CabalSpecV3_16 = "3.16" showCabalSpecVersion CabalSpecV3_14 = "3.14" showCabalSpecVersion CabalSpecV3_12 = "3.12" showCabalSpecVersion CabalSpecV3_8 = "3.8" @@ -67,13 +69,14 @@ showCabalSpecVersion CabalSpecV1_2 = "1.2" showCabalSpecVersion CabalSpecV1_0 = "1.0" cabalSpecLatest :: CabalSpecVersion -cabalSpecLatest = CabalSpecV3_14 +cabalSpecLatest = CabalSpecV3_16 -- | Parse 'CabalSpecVersion' from version digits. -- -- It may fail if for recent versions the version is not exact. cabalSpecFromVersionDigits :: [Int] -> Maybe CabalSpecVersion cabalSpecFromVersionDigits v + | v == [3, 16] = Just CabalSpecV3_16 | v == [3, 14] = Just CabalSpecV3_14 | v == [3, 12] = Just CabalSpecV3_12 | v == [3, 8] = Just CabalSpecV3_8 @@ -98,6 +101,7 @@ cabalSpecFromVersionDigits v -- | @since 3.4.0.0 cabalSpecToVersionDigits :: CabalSpecVersion -> [Int] +cabalSpecToVersionDigits CabalSpecV3_16 = [3, 16] cabalSpecToVersionDigits CabalSpecV3_14 = [3, 14] cabalSpecToVersionDigits CabalSpecV3_12 = [3, 12] cabalSpecToVersionDigits CabalSpecV3_8 = [3, 8] diff --git a/Cabal-syntax/src/Distribution/PackageDescription/FieldGrammar.hs b/Cabal-syntax/src/Distribution/PackageDescription/FieldGrammar.hs index 49db03ee3c16be67b7e8adbc0a5ce7e1b9be292c..0b04b446c046347dd100f22def39d3e52d6939b4 100644 --- a/Cabal-syntax/src/Distribution/PackageDescription/FieldGrammar.hs +++ b/Cabal-syntax/src/Distribution/PackageDescription/FieldGrammar.hs @@ -621,6 +621,8 @@ buildInfoFieldGrammar = <*> monoidalFieldAla "cc-options" (alaList' NoCommaFSep Token') L.ccOptions <*> monoidalFieldAla "cxx-options" (alaList' NoCommaFSep Token') L.cxxOptions ^^^ availableSince CabalSpecV2_2 [] + <*> monoidalFieldAla "jspp-options" (alaList' NoCommaFSep Token') L.jsppOptions + ^^^ availableSince CabalSpecV3_16 [] <*> monoidalFieldAla "ld-options" (alaList' NoCommaFSep Token') L.ldOptions <*> monoidalFieldAla "hsc2hs-options" (alaList' NoCommaFSep Token') L.hsc2hsOptions ^^^ availableSince CabalSpecV3_6 [] diff --git a/Cabal-syntax/src/Distribution/Types/BuildInfo.hs b/Cabal-syntax/src/Distribution/Types/BuildInfo.hs index 2d7a5edeae11e9ac47980ede1b9a412149d22a33..e68fcbc5c22ece82b721132b05438ad64c6c1a79 100644 --- a/Cabal-syntax/src/Distribution/Types/BuildInfo.hs +++ b/Cabal-syntax/src/Distribution/Types/BuildInfo.hs @@ -61,6 +61,8 @@ data BuildInfo = BuildInfo -- ^ options for C compiler , cxxOptions :: [String] -- ^ options for C++ compiler + , jsppOptions :: [String] + -- ^ options for pre-processing JavaScript code @since 3.16.0.0 , ldOptions :: [String] -- ^ options for linker , hsc2hsOptions :: [String] @@ -161,6 +163,7 @@ instance Monoid BuildInfo where , cmmOptions = [] , ccOptions = [] , cxxOptions = [] + , jsppOptions = [] , ldOptions = [] , hsc2hsOptions = [] , pkgconfigDepends = [] @@ -214,6 +217,7 @@ instance Semigroup BuildInfo where , cmmOptions = combine cmmOptions , ccOptions = combine ccOptions , cxxOptions = combine cxxOptions + , jsppOptions = combine jsppOptions , ldOptions = combine ldOptions , hsc2hsOptions = combine hsc2hsOptions , pkgconfigDepends = combine pkgconfigDepends diff --git a/Cabal-syntax/src/Distribution/Types/BuildInfo/Lens.hs b/Cabal-syntax/src/Distribution/Types/BuildInfo/Lens.hs index ac99f3c65a57837bf0e9fe25af19e4814db556c3..72a24caa73494f3aff0bf913a23dcf752e9ce239 100644 --- a/Cabal-syntax/src/Distribution/Types/BuildInfo/Lens.hs +++ b/Cabal-syntax/src/Distribution/Types/BuildInfo/Lens.hs @@ -59,6 +59,10 @@ class HasBuildInfo a where cxxOptions = buildInfo . cxxOptions {-# INLINE cxxOptions #-} + jsppOptions :: Lens' a [String] + jsppOptions = buildInfo . jsppOptions + {-# INLINE jsppOptions #-} + ldOptions :: Lens' a [String] ldOptions = buildInfo . ldOptions {-# INLINE ldOptions #-} @@ -243,6 +247,9 @@ instance HasBuildInfo BuildInfo where cxxOptions f s = fmap (\x -> s{T.cxxOptions = x}) (f (T.cxxOptions s)) {-# INLINE cxxOptions #-} + jsppOptions f s = fmap (\x -> s{T.jsppOptions = x}) (f (T.jsppOptions s)) + {-# INLINE jsppOptions #-} + ldOptions f s = fmap (\x -> s{T.ldOptions = x}) (f (T.ldOptions s)) {-# INLINE ldOptions #-} diff --git a/Cabal-tests/tests/ParserTests/regressions/Octree-0.5.expr b/Cabal-tests/tests/ParserTests/regressions/Octree-0.5.expr index 04f54ea5d931cacb40459845bfc7081a53b6dd1a..634b27b882860c0b5357dd515dba9217ad0e34c7 100644 --- a/Cabal-tests/tests/ParserTests/regressions/Octree-0.5.expr +++ b/Cabal-tests/tests/ParserTests/regressions/Octree-0.5.expr @@ -86,6 +86,7 @@ GenericPackageDescription { buildTools = [], buildToolDepends = [], cppOptions = [], + jsppOptions = [], asmOptions = [], cmmOptions = [], ccOptions = [], @@ -198,6 +199,7 @@ GenericPackageDescription { buildTools = [], buildToolDepends = [], cppOptions = [], + jsppOptions = [], asmOptions = [], cmmOptions = [], ccOptions = [], @@ -301,6 +303,7 @@ GenericPackageDescription { buildTools = [], buildToolDepends = [], cppOptions = [], + jsppOptions = [], asmOptions = [], cmmOptions = [], ccOptions = [], diff --git a/Cabal-tests/tests/ParserTests/regressions/anynone.expr b/Cabal-tests/tests/ParserTests/regressions/anynone.expr index 919f554180ae3a0814996d4f7c85b33a6d3afe06..927605d605841f37151fd58ab8f710785be5467c 100644 --- a/Cabal-tests/tests/ParserTests/regressions/anynone.expr +++ b/Cabal-tests/tests/ParserTests/regressions/anynone.expr @@ -52,6 +52,7 @@ GenericPackageDescription { buildTools = [], buildToolDepends = [], cppOptions = [], + jsppOptions = [], asmOptions = [], cmmOptions = [], ccOptions = [], diff --git a/Cabal-tests/tests/ParserTests/regressions/big-version.expr b/Cabal-tests/tests/ParserTests/regressions/big-version.expr index c219ac952411aa7d792e1dff1ca207f0bd1d72a0..4d3659e45920285f6d18d8822b42a47da428060b 100644 --- a/Cabal-tests/tests/ParserTests/regressions/big-version.expr +++ b/Cabal-tests/tests/ParserTests/regressions/big-version.expr @@ -53,6 +53,7 @@ GenericPackageDescription { buildTools = [], buildToolDepends = [], cppOptions = [], + jsppOptions = [], asmOptions = [], cmmOptions = [], ccOptions = [], diff --git a/Cabal-tests/tests/ParserTests/regressions/common-conditional.expr b/Cabal-tests/tests/ParserTests/regressions/common-conditional.expr index 8969ff6f5fa79eff703f414735ceb3b8f770c79c..41e0fd5377ab1da09b105f94958d8eaf4c22d3c4 100644 --- a/Cabal-tests/tests/ParserTests/regressions/common-conditional.expr +++ b/Cabal-tests/tests/ParserTests/regressions/common-conditional.expr @@ -69,6 +69,7 @@ GenericPackageDescription { buildTools = [], buildToolDepends = [], cppOptions = [], + jsppOptions = [], asmOptions = [], cmmOptions = [], ccOptions = [], @@ -147,6 +148,7 @@ GenericPackageDescription { buildTools = [], buildToolDepends = [], cppOptions = [], + jsppOptions = [], asmOptions = [], cmmOptions = [], ccOptions = [], @@ -240,6 +242,7 @@ GenericPackageDescription { buildTools = [], buildToolDepends = [], cppOptions = [], + jsppOptions = [], asmOptions = [], cmmOptions = [], ccOptions = [], @@ -320,6 +323,7 @@ GenericPackageDescription { buildTools = [], buildToolDepends = [], cppOptions = [], + jsppOptions = [], asmOptions = [], cmmOptions = [], ccOptions = [], @@ -398,6 +402,7 @@ GenericPackageDescription { buildTools = [], buildToolDepends = [], cppOptions = [], + jsppOptions = [], asmOptions = [], cmmOptions = [], ccOptions = [], @@ -469,6 +474,7 @@ GenericPackageDescription { buildTools = [], buildToolDepends = [], cppOptions = [], + jsppOptions = [], asmOptions = [], cmmOptions = [], ccOptions = [], @@ -563,6 +569,7 @@ GenericPackageDescription { buildTools = [], buildToolDepends = [], cppOptions = [], + jsppOptions = [], asmOptions = [], cmmOptions = [], ccOptions = [], @@ -642,6 +649,7 @@ GenericPackageDescription { buildTools = [], buildToolDepends = [], cppOptions = [], + jsppOptions = [], asmOptions = [], cmmOptions = [], ccOptions = [], diff --git a/Cabal-tests/tests/ParserTests/regressions/common.expr b/Cabal-tests/tests/ParserTests/regressions/common.expr index e39820ec833b5d7be35c7471f3f90ab20fd61a23..e8c766460f2a04c4a84873ccc81ed2ce832e77f0 100644 --- a/Cabal-tests/tests/ParserTests/regressions/common.expr +++ b/Cabal-tests/tests/ParserTests/regressions/common.expr @@ -67,6 +67,7 @@ GenericPackageDescription { buildTools = [], buildToolDepends = [], cppOptions = [], + jsppOptions = [], asmOptions = [], cmmOptions = [], ccOptions = [], @@ -146,6 +147,7 @@ GenericPackageDescription { buildTools = [], buildToolDepends = [], cppOptions = [], + jsppOptions = [], asmOptions = [], cmmOptions = [], ccOptions = [], diff --git a/Cabal-tests/tests/ParserTests/regressions/common2.expr b/Cabal-tests/tests/ParserTests/regressions/common2.expr index ae85c83ea2b39ffdaf1ac8bf5a9a435b404df885..af882207fc45b87d7f4758030c4fe99f60b7a0e3 100644 --- a/Cabal-tests/tests/ParserTests/regressions/common2.expr +++ b/Cabal-tests/tests/ParserTests/regressions/common2.expr @@ -63,6 +63,7 @@ GenericPackageDescription { buildTools = [], buildToolDepends = [], cppOptions = [], + jsppOptions = [], asmOptions = [], cmmOptions = [], ccOptions = [], @@ -165,6 +166,7 @@ GenericPackageDescription { buildTools = [], buildToolDepends = [], cppOptions = [], + jsppOptions = [], asmOptions = [], cmmOptions = [], ccOptions = [], @@ -246,6 +248,7 @@ GenericPackageDescription { buildTools = [], buildToolDepends = [], cppOptions = [], + jsppOptions = [], asmOptions = [], cmmOptions = [], ccOptions = [], @@ -350,6 +353,7 @@ GenericPackageDescription { buildTools = [], buildToolDepends = [], cppOptions = [], + jsppOptions = [], asmOptions = [], cmmOptions = [], ccOptions = [], @@ -428,6 +432,7 @@ GenericPackageDescription { buildTools = [], buildToolDepends = [], cppOptions = [], + jsppOptions = [], asmOptions = [], cmmOptions = [], ccOptions = [], @@ -530,6 +535,7 @@ GenericPackageDescription { buildTools = [], buildToolDepends = [], cppOptions = [], + jsppOptions = [], asmOptions = [], cmmOptions = [], ccOptions = [], @@ -609,6 +615,7 @@ GenericPackageDescription { buildTools = [], buildToolDepends = [], cppOptions = [], + jsppOptions = [], asmOptions = [], cmmOptions = [], ccOptions = [], @@ -688,6 +695,7 @@ GenericPackageDescription { buildTools = [], buildToolDepends = [], cppOptions = [], + jsppOptions = [], asmOptions = [], cmmOptions = [], ccOptions = [], diff --git a/Cabal-tests/tests/ParserTests/regressions/common3.expr b/Cabal-tests/tests/ParserTests/regressions/common3.expr index 5436936b3a214f49c809deaff0c8fb3d9db477f9..be783c4cab68ad8f730ef096e4de4991764bf62e 100644 --- a/Cabal-tests/tests/ParserTests/regressions/common3.expr +++ b/Cabal-tests/tests/ParserTests/regressions/common3.expr @@ -67,6 +67,7 @@ GenericPackageDescription { buildTools = [], buildToolDepends = [], cppOptions = [], + jsppOptions = [], asmOptions = [], cmmOptions = [], ccOptions = [], @@ -146,6 +147,7 @@ GenericPackageDescription { buildTools = [], buildToolDepends = [], cppOptions = [], + jsppOptions = [], asmOptions = [], cmmOptions = [], ccOptions = [], diff --git a/Cabal-tests/tests/ParserTests/regressions/elif.expr b/Cabal-tests/tests/ParserTests/regressions/elif.expr index 5bf616b7c15d5d84081e5489bc80d7b9aae81a18..e04821eaaefd52cbf33056ada0bf7694769c1f9c 100644 --- a/Cabal-tests/tests/ParserTests/regressions/elif.expr +++ b/Cabal-tests/tests/ParserTests/regressions/elif.expr @@ -62,6 +62,7 @@ GenericPackageDescription { buildTools = [], buildToolDepends = [], cppOptions = [], + jsppOptions = [], asmOptions = [], cmmOptions = [], ccOptions = [], @@ -132,6 +133,7 @@ GenericPackageDescription { buildTools = [], buildToolDepends = [], cppOptions = [], + jsppOptions = [], asmOptions = [], cmmOptions = [], ccOptions = [], diff --git a/Cabal-tests/tests/ParserTests/regressions/elif2.expr b/Cabal-tests/tests/ParserTests/regressions/elif2.expr index f0ecd6bb1111428ba06c849e3f1f8c7f6761437e..88eb02d59d7507c2bbd001d7126eee530c81d9ea 100644 --- a/Cabal-tests/tests/ParserTests/regressions/elif2.expr +++ b/Cabal-tests/tests/ParserTests/regressions/elif2.expr @@ -62,6 +62,7 @@ GenericPackageDescription { buildTools = [], buildToolDepends = [], cppOptions = [], + jsppOptions = [], asmOptions = [], cmmOptions = [], ccOptions = [], @@ -132,6 +133,7 @@ GenericPackageDescription { buildTools = [], buildToolDepends = [], cppOptions = [], + jsppOptions = [], asmOptions = [], cmmOptions = [], ccOptions = [], @@ -207,6 +209,7 @@ GenericPackageDescription { buildTools = [], buildToolDepends = [], cppOptions = [], + jsppOptions = [], asmOptions = [], cmmOptions = [], ccOptions = [], @@ -276,6 +279,7 @@ GenericPackageDescription { buildTools = [], buildToolDepends = [], cppOptions = [], + jsppOptions = [], asmOptions = [], cmmOptions = [], ccOptions = [], @@ -351,6 +355,7 @@ GenericPackageDescription { buildTools = [], buildToolDepends = [], cppOptions = [], + jsppOptions = [], asmOptions = [], cmmOptions = [], ccOptions = [], diff --git a/Cabal-tests/tests/ParserTests/regressions/encoding-0.8.expr b/Cabal-tests/tests/ParserTests/regressions/encoding-0.8.expr index 4e45a86b8c4edbe493082f7b5210e3736568d54e..02c4a4222c7127b821a263f43b5e435987a4098e 100644 --- a/Cabal-tests/tests/ParserTests/regressions/encoding-0.8.expr +++ b/Cabal-tests/tests/ParserTests/regressions/encoding-0.8.expr @@ -67,6 +67,7 @@ GenericPackageDescription { buildTools = [], buildToolDepends = [], cppOptions = [], + jsppOptions = [], asmOptions = [], cmmOptions = [], ccOptions = [], diff --git a/Cabal-tests/tests/ParserTests/regressions/generics-sop.expr b/Cabal-tests/tests/ParserTests/regressions/generics-sop.expr index 60be619bd16985cb87575c794d9c55695c521c67..a7cdf1a430079d1b5407c7689772a596b98f119f 100644 --- a/Cabal-tests/tests/ParserTests/regressions/generics-sop.expr +++ b/Cabal-tests/tests/ParserTests/regressions/generics-sop.expr @@ -163,6 +163,7 @@ GenericPackageDescription { buildTools = [], buildToolDepends = [], cppOptions = [], + jsppOptions = [], asmOptions = [], cmmOptions = [], ccOptions = [], @@ -333,6 +334,7 @@ GenericPackageDescription { buildTools = [], buildToolDepends = [], cppOptions = [], + jsppOptions = [], asmOptions = [], cmmOptions = [], ccOptions = [], @@ -419,6 +421,7 @@ GenericPackageDescription { buildTools = [], buildToolDepends = [], cppOptions = [], + jsppOptions = [], asmOptions = [], cmmOptions = [], ccOptions = [], @@ -523,6 +526,7 @@ GenericPackageDescription { buildTools = [], buildToolDepends = [], cppOptions = [], + jsppOptions = [], asmOptions = [], cmmOptions = [], ccOptions = [], @@ -595,6 +599,7 @@ GenericPackageDescription { buildTools = [], buildToolDepends = [], cppOptions = [], + jsppOptions = [], asmOptions = [], cmmOptions = [], ccOptions = [], @@ -668,6 +673,7 @@ GenericPackageDescription { buildTools = [], buildToolDepends = [], cppOptions = [], + jsppOptions = [], asmOptions = [], cmmOptions = [], ccOptions = [], @@ -765,6 +771,7 @@ GenericPackageDescription { buildTools = [], buildToolDepends = [], cppOptions = [], + jsppOptions = [], asmOptions = [], cmmOptions = [], ccOptions = [], diff --git a/Cabal-tests/tests/ParserTests/regressions/hasktorch.expr b/Cabal-tests/tests/ParserTests/regressions/hasktorch.expr index 7eea76ce8c15a5cfe422a87f0445555d2cfb755c..9dfa089a3d5f653c7d7a425b476dccc56c1ee76e 100644 --- a/Cabal-tests/tests/ParserTests/regressions/hasktorch.expr +++ b/Cabal-tests/tests/ParserTests/regressions/hasktorch.expr @@ -268,6 +268,7 @@ GenericPackageDescription { buildTools = [], buildToolDepends = [], cppOptions = [], + jsppOptions = [], asmOptions = [], cmmOptions = [], ccOptions = [], @@ -602,6 +603,7 @@ GenericPackageDescription { buildTools = [], buildToolDepends = [], cppOptions = [], + jsppOptions = [], asmOptions = [], cmmOptions = [], ccOptions = [], @@ -846,6 +848,7 @@ GenericPackageDescription { buildTools = [], buildToolDepends = [], cppOptions = [], + jsppOptions = [], asmOptions = [], cmmOptions = [], ccOptions = [], @@ -1048,6 +1051,7 @@ GenericPackageDescription { buildTools = [], buildToolDepends = [], cppOptions = [], + jsppOptions = [], asmOptions = [], cmmOptions = [], ccOptions = [], @@ -1387,6 +1391,7 @@ GenericPackageDescription { buildTools = [], buildToolDepends = [], cppOptions = [], + jsppOptions = [], asmOptions = [], cmmOptions = [], ccOptions = [], @@ -2708,6 +2713,7 @@ GenericPackageDescription { buildTools = [], buildToolDepends = [], cppOptions = [], + jsppOptions = [], asmOptions = [], cmmOptions = [], ccOptions = [], @@ -2799,6 +2805,7 @@ GenericPackageDescription { buildTools = [], buildToolDepends = [], cppOptions = [], + jsppOptions = [], asmOptions = [], cmmOptions = [], ccOptions = [], @@ -5027,6 +5034,7 @@ GenericPackageDescription { cppOptions = [ "-DCUDA", "-DHASKTORCH_INTERNAL_CUDA"], + jsppOptions = [], asmOptions = [], cmmOptions = [], ccOptions = [], @@ -6398,6 +6406,7 @@ GenericPackageDescription { buildTools = [], buildToolDepends = [], cppOptions = [], + jsppOptions = [], asmOptions = [], cmmOptions = [], ccOptions = [], @@ -6490,6 +6499,7 @@ GenericPackageDescription { buildTools = [], buildToolDepends = [], cppOptions = [], + jsppOptions = [], asmOptions = [], cmmOptions = [], ccOptions = [], @@ -8159,6 +8169,7 @@ GenericPackageDescription { buildTools = [], buildToolDepends = [], cppOptions = [], + jsppOptions = [], asmOptions = [], cmmOptions = [], ccOptions = [], @@ -8649,6 +8660,7 @@ GenericPackageDescription { buildTools = [], buildToolDepends = [], cppOptions = [], + jsppOptions = [], asmOptions = [], cmmOptions = [], ccOptions = [], @@ -9414,6 +9426,7 @@ GenericPackageDescription { buildTools = [], buildToolDepends = [], cppOptions = [], + jsppOptions = [], asmOptions = [], cmmOptions = [], ccOptions = [], @@ -9536,6 +9549,7 @@ GenericPackageDescription { buildTools = [], buildToolDepends = [], cppOptions = [], + jsppOptions = [], asmOptions = [], cmmOptions = [], ccOptions = [], @@ -9643,6 +9657,7 @@ GenericPackageDescription { buildTools = [], buildToolDepends = [], cppOptions = [], + jsppOptions = [], asmOptions = [], cmmOptions = [], ccOptions = [], @@ -9750,6 +9765,7 @@ GenericPackageDescription { buildTools = [], buildToolDepends = [], cppOptions = [], + jsppOptions = [], asmOptions = [], cmmOptions = [], ccOptions = [], @@ -9846,6 +9862,7 @@ GenericPackageDescription { buildTools = [], buildToolDepends = [], cppOptions = [], + jsppOptions = [], asmOptions = [], cmmOptions = [], ccOptions = [], @@ -9943,6 +9960,7 @@ GenericPackageDescription { buildTools = [], buildToolDepends = [], cppOptions = [], + jsppOptions = [], asmOptions = [], cmmOptions = [], ccOptions = [], diff --git a/Cabal-tests/tests/ParserTests/regressions/hidden-main-lib.expr b/Cabal-tests/tests/ParserTests/regressions/hidden-main-lib.expr index 3e67f519199f96fbd7350be28e47d391548d6567..553b88dc5953f647d34c191794e76158212c4ef1 100644 --- a/Cabal-tests/tests/ParserTests/regressions/hidden-main-lib.expr +++ b/Cabal-tests/tests/ParserTests/regressions/hidden-main-lib.expr @@ -54,6 +54,7 @@ GenericPackageDescription { buildTools = [], buildToolDepends = [], cppOptions = [], + jsppOptions = [], asmOptions = [], cmmOptions = [], ccOptions = [], diff --git a/Cabal-tests/tests/ParserTests/regressions/indentation.expr b/Cabal-tests/tests/ParserTests/regressions/indentation.expr index ea8c219ca0ad283c1cd4fb061776677619dcbb15..f36a8997717b0be9853abfc1c2b03d4eaf69025f 100644 --- a/Cabal-tests/tests/ParserTests/regressions/indentation.expr +++ b/Cabal-tests/tests/ParserTests/regressions/indentation.expr @@ -63,6 +63,7 @@ GenericPackageDescription { buildTools = [], buildToolDepends = [], cppOptions = [], + jsppOptions = [], asmOptions = [], cmmOptions = [], ccOptions = [], diff --git a/Cabal-tests/tests/ParserTests/regressions/indentation2.expr b/Cabal-tests/tests/ParserTests/regressions/indentation2.expr index f26c9a4e0051e8f5b659fccfac10063c9d084765..11afbcfd5d31af58657effecd4d8a177eef5c74a 100644 --- a/Cabal-tests/tests/ParserTests/regressions/indentation2.expr +++ b/Cabal-tests/tests/ParserTests/regressions/indentation2.expr @@ -56,6 +56,7 @@ GenericPackageDescription { buildTools = [], buildToolDepends = [], cppOptions = [], + jsppOptions = [], asmOptions = [], cmmOptions = [], ccOptions = [], diff --git a/Cabal-tests/tests/ParserTests/regressions/indentation3.expr b/Cabal-tests/tests/ParserTests/regressions/indentation3.expr index 08db6b1fec6bd73261f11e698d6b54ec1c99c5d3..964bad3f9243cb40c3c098415bc048cc2b167926 100644 --- a/Cabal-tests/tests/ParserTests/regressions/indentation3.expr +++ b/Cabal-tests/tests/ParserTests/regressions/indentation3.expr @@ -58,6 +58,7 @@ GenericPackageDescription { buildTools = [], buildToolDepends = [], cppOptions = [], + jsppOptions = [], asmOptions = [], cmmOptions = [], ccOptions = [], diff --git a/Cabal-tests/tests/ParserTests/regressions/issue-5055.expr b/Cabal-tests/tests/ParserTests/regressions/issue-5055.expr index 03fab0246e4a8fd4389c0204c012a23ab01f9acb..996fa26eece84f16e9d1f456384dffea9889cfa1 100644 --- a/Cabal-tests/tests/ParserTests/regressions/issue-5055.expr +++ b/Cabal-tests/tests/ParserTests/regressions/issue-5055.expr @@ -57,6 +57,7 @@ GenericPackageDescription { buildTools = [], buildToolDepends = [], cppOptions = [], + jsppOptions = [], asmOptions = [], cmmOptions = [], ccOptions = [], @@ -142,6 +143,7 @@ GenericPackageDescription { buildTools = [], buildToolDepends = [], cppOptions = [], + jsppOptions = [], asmOptions = [], cmmOptions = [], ccOptions = [], @@ -229,6 +231,7 @@ GenericPackageDescription { buildTools = [], buildToolDepends = [], cppOptions = [], + jsppOptions = [], asmOptions = [], cmmOptions = [], ccOptions = [], diff --git a/Cabal-tests/tests/ParserTests/regressions/issue-5846.expr b/Cabal-tests/tests/ParserTests/regressions/issue-5846.expr index 0d031503a53eb23fc2ad94775d19228fa6a52286..c3e08359046392018ecfb3e2d3fbdebbcf20634d 100644 --- a/Cabal-tests/tests/ParserTests/regressions/issue-5846.expr +++ b/Cabal-tests/tests/ParserTests/regressions/issue-5846.expr @@ -51,6 +51,7 @@ GenericPackageDescription { buildTools = [], buildToolDepends = [], cppOptions = [], + jsppOptions = [], asmOptions = [], cmmOptions = [], ccOptions = [], diff --git a/Cabal-tests/tests/ParserTests/regressions/issue-6083-a.expr b/Cabal-tests/tests/ParserTests/regressions/issue-6083-a.expr index bbe56f81a5c1997193b0e4da4ad8cd002ec21432..001d3c86515eeecccc00da1ca588cadba46f93b2 100644 --- a/Cabal-tests/tests/ParserTests/regressions/issue-6083-a.expr +++ b/Cabal-tests/tests/ParserTests/regressions/issue-6083-a.expr @@ -51,6 +51,7 @@ GenericPackageDescription { buildTools = [], buildToolDepends = [], cppOptions = [], + jsppOptions = [], asmOptions = [], cmmOptions = [], ccOptions = [], @@ -148,6 +149,7 @@ GenericPackageDescription { buildTools = [], buildToolDepends = [], cppOptions = [], + jsppOptions = [], asmOptions = [], cmmOptions = [], ccOptions = [], @@ -217,6 +219,7 @@ GenericPackageDescription { buildTools = [], buildToolDepends = [], cppOptions = [], + jsppOptions = [], asmOptions = [], cmmOptions = [], ccOptions = [], @@ -299,6 +302,7 @@ GenericPackageDescription { buildTools = [], buildToolDepends = [], cppOptions = [], + jsppOptions = [], asmOptions = [], cmmOptions = [], ccOptions = [], diff --git a/Cabal-tests/tests/ParserTests/regressions/issue-6083-b.expr b/Cabal-tests/tests/ParserTests/regressions/issue-6083-b.expr index 17b9f8319bb97536ddc3250091030344329310f0..ca99e3d554fb01464be477cb54114cb3cf1aefa3 100644 --- a/Cabal-tests/tests/ParserTests/regressions/issue-6083-b.expr +++ b/Cabal-tests/tests/ParserTests/regressions/issue-6083-b.expr @@ -51,6 +51,7 @@ GenericPackageDescription { buildTools = [], buildToolDepends = [], cppOptions = [], + jsppOptions = [], asmOptions = [], cmmOptions = [], ccOptions = [], @@ -148,6 +149,7 @@ GenericPackageDescription { buildTools = [], buildToolDepends = [], cppOptions = [], + jsppOptions = [], asmOptions = [], cmmOptions = [], ccOptions = [], @@ -217,6 +219,7 @@ GenericPackageDescription { buildTools = [], buildToolDepends = [], cppOptions = [], + jsppOptions = [], asmOptions = [], cmmOptions = [], ccOptions = [], @@ -309,6 +312,7 @@ GenericPackageDescription { buildTools = [], buildToolDepends = [], cppOptions = [], + jsppOptions = [], asmOptions = [], cmmOptions = [], ccOptions = [], diff --git a/Cabal-tests/tests/ParserTests/regressions/issue-6083-c.expr b/Cabal-tests/tests/ParserTests/regressions/issue-6083-c.expr index 8db694b738997b856013d2bebe725691748dc8f8..b2f47a1a9387e65b36984cbf63fd7901574e9fa6 100644 --- a/Cabal-tests/tests/ParserTests/regressions/issue-6083-c.expr +++ b/Cabal-tests/tests/ParserTests/regressions/issue-6083-c.expr @@ -51,6 +51,7 @@ GenericPackageDescription { buildTools = [], buildToolDepends = [], cppOptions = [], + jsppOptions = [], asmOptions = [], cmmOptions = [], ccOptions = [], @@ -148,6 +149,7 @@ GenericPackageDescription { buildTools = [], buildToolDepends = [], cppOptions = [], + jsppOptions = [], asmOptions = [], cmmOptions = [], ccOptions = [], diff --git a/Cabal-tests/tests/ParserTests/regressions/issue-6083-pkg-pkg.expr b/Cabal-tests/tests/ParserTests/regressions/issue-6083-pkg-pkg.expr index 26a3c26095999b1f775dc91902f5c09f45951c41..ce7c453e6979a16ffec167425326ade1b48afba0 100644 --- a/Cabal-tests/tests/ParserTests/regressions/issue-6083-pkg-pkg.expr +++ b/Cabal-tests/tests/ParserTests/regressions/issue-6083-pkg-pkg.expr @@ -51,6 +51,7 @@ GenericPackageDescription { buildTools = [], buildToolDepends = [], cppOptions = [], + jsppOptions = [], asmOptions = [], cmmOptions = [], ccOptions = [], diff --git a/Cabal-tests/tests/ParserTests/regressions/issue-774.expr b/Cabal-tests/tests/ParserTests/regressions/issue-774.expr index a9b2fc7bcc37b25a3e11482411222cfcb8ed1b32..4aeb65cb960fa73b7327236c245961bcfcdf0405 100644 --- a/Cabal-tests/tests/ParserTests/regressions/issue-774.expr +++ b/Cabal-tests/tests/ParserTests/regressions/issue-774.expr @@ -61,6 +61,7 @@ GenericPackageDescription { buildTools = [], buildToolDepends = [], cppOptions = [], + jsppOptions = [], asmOptions = [], cmmOptions = [], ccOptions = [], diff --git a/Cabal-tests/tests/ParserTests/regressions/jaeger-flamegraph.expr b/Cabal-tests/tests/ParserTests/regressions/jaeger-flamegraph.expr index fd9b1fa3a28e78653e17749ec7246a88747324c5..b6dc81fee1bd5b69381650aa249b862becb44a7c 100644 --- a/Cabal-tests/tests/ParserTests/regressions/jaeger-flamegraph.expr +++ b/Cabal-tests/tests/ParserTests/regressions/jaeger-flamegraph.expr @@ -93,6 +93,7 @@ GenericPackageDescription { buildTools = [], buildToolDepends = [], cppOptions = [], + jsppOptions = [], asmOptions = [], cmmOptions = [], ccOptions = [], @@ -193,6 +194,7 @@ GenericPackageDescription { buildTools = [], buildToolDepends = [], cppOptions = [], + jsppOptions = [], asmOptions = [], cmmOptions = [], ccOptions = [], @@ -359,6 +361,7 @@ GenericPackageDescription { (MajorBoundVersion (mkVersion [4, 2, 1]))], cppOptions = [], + jsppOptions = [], asmOptions = [], cmmOptions = [], ccOptions = [], diff --git a/Cabal-tests/tests/ParserTests/regressions/leading-comma-2.expr b/Cabal-tests/tests/ParserTests/regressions/leading-comma-2.expr index 37bb5adfea557a8318734068ef4e1188408f6307..3a1d7d5f0754d5374240e50ff7917221aab2635c 100644 --- a/Cabal-tests/tests/ParserTests/regressions/leading-comma-2.expr +++ b/Cabal-tests/tests/ParserTests/regressions/leading-comma-2.expr @@ -61,6 +61,7 @@ GenericPackageDescription { buildTools = [], buildToolDepends = [], cppOptions = [], + jsppOptions = [], asmOptions = [], cmmOptions = [], ccOptions = [], diff --git a/Cabal-tests/tests/ParserTests/regressions/leading-comma.expr b/Cabal-tests/tests/ParserTests/regressions/leading-comma.expr index 6b31a91ecc47382846d4f68fc800828b5e1d5c95..230ebf53136e99b8a5b8cddd15e02aebafae72d9 100644 --- a/Cabal-tests/tests/ParserTests/regressions/leading-comma.expr +++ b/Cabal-tests/tests/ParserTests/regressions/leading-comma.expr @@ -54,6 +54,7 @@ GenericPackageDescription { buildTools = [], buildToolDepends = [], cppOptions = [], + jsppOptions = [], asmOptions = [], cmmOptions = [], ccOptions = [], diff --git a/Cabal-tests/tests/ParserTests/regressions/libpq1.expr b/Cabal-tests/tests/ParserTests/regressions/libpq1.expr index db39305d20f722d2cd23db4a8703eb4008b8d8f8..b331abffcca52c39cd24b587b5ee31cb6c7dd84c 100644 --- a/Cabal-tests/tests/ParserTests/regressions/libpq1.expr +++ b/Cabal-tests/tests/ParserTests/regressions/libpq1.expr @@ -144,6 +144,7 @@ GenericPackageDescription { (mkVersion [0]))], buildToolDepends = [], cppOptions = [], + jsppOptions = [], asmOptions = [], cmmOptions = [], ccOptions = [], @@ -249,6 +250,7 @@ GenericPackageDescription { buildTools = [], buildToolDepends = [], cppOptions = [], + jsppOptions = [], asmOptions = [], cmmOptions = [], ccOptions = [], @@ -335,6 +337,7 @@ GenericPackageDescription { buildTools = [], buildToolDepends = [], cppOptions = [], + jsppOptions = [], asmOptions = [], cmmOptions = [], ccOptions = [], @@ -421,6 +424,7 @@ GenericPackageDescription { buildTools = [], buildToolDepends = [], cppOptions = [], + jsppOptions = [], asmOptions = [], cmmOptions = [], ccOptions = [], @@ -495,6 +499,7 @@ GenericPackageDescription { buildTools = [], buildToolDepends = [], cppOptions = [], + jsppOptions = [], asmOptions = [], cmmOptions = [], ccOptions = [], @@ -564,6 +569,7 @@ GenericPackageDescription { buildTools = [], buildToolDepends = [], cppOptions = [], + jsppOptions = [], asmOptions = [], cmmOptions = [], ccOptions = [], @@ -631,6 +637,7 @@ GenericPackageDescription { buildTools = [], buildToolDepends = [], cppOptions = [], + jsppOptions = [], asmOptions = [], cmmOptions = [], ccOptions = [], @@ -700,6 +707,7 @@ GenericPackageDescription { buildTools = [], buildToolDepends = [], cppOptions = [], + jsppOptions = [], asmOptions = [], cmmOptions = [], ccOptions = [], diff --git a/Cabal-tests/tests/ParserTests/regressions/libpq2.expr b/Cabal-tests/tests/ParserTests/regressions/libpq2.expr index 80b558d0b919ad2074d46593424dd244b6f470ac..9f6a16ada6e9c27ab38fe2efdf8c559983ff83cf 100644 --- a/Cabal-tests/tests/ParserTests/regressions/libpq2.expr +++ b/Cabal-tests/tests/ParserTests/regressions/libpq2.expr @@ -149,6 +149,7 @@ GenericPackageDescription { (OrLaterVersion (mkVersion [0]))], cppOptions = [], + jsppOptions = [], asmOptions = [], cmmOptions = [], ccOptions = [], @@ -254,6 +255,7 @@ GenericPackageDescription { buildTools = [], buildToolDepends = [], cppOptions = [], + jsppOptions = [], asmOptions = [], cmmOptions = [], ccOptions = [], @@ -340,6 +342,7 @@ GenericPackageDescription { buildTools = [], buildToolDepends = [], cppOptions = [], + jsppOptions = [], asmOptions = [], cmmOptions = [], ccOptions = [], @@ -426,6 +429,7 @@ GenericPackageDescription { buildTools = [], buildToolDepends = [], cppOptions = [], + jsppOptions = [], asmOptions = [], cmmOptions = [], ccOptions = [], @@ -497,6 +501,7 @@ GenericPackageDescription { buildTools = [], buildToolDepends = [], cppOptions = [], + jsppOptions = [], asmOptions = [], cmmOptions = [], ccOptions = [], @@ -566,6 +571,7 @@ GenericPackageDescription { buildTools = [], buildToolDepends = [], cppOptions = [], + jsppOptions = [], asmOptions = [], cmmOptions = [], ccOptions = [], @@ -633,6 +639,7 @@ GenericPackageDescription { buildTools = [], buildToolDepends = [], cppOptions = [], + jsppOptions = [], asmOptions = [], cmmOptions = [], ccOptions = [], @@ -702,6 +709,7 @@ GenericPackageDescription { buildTools = [], buildToolDepends = [], cppOptions = [], + jsppOptions = [], asmOptions = [], cmmOptions = [], ccOptions = [], diff --git a/Cabal-tests/tests/ParserTests/regressions/mixin-1.expr b/Cabal-tests/tests/ParserTests/regressions/mixin-1.expr index b8372437dd625906d41df033f4587a3c01ab01f0..0a13766046899eec58ff55f81438a668b2efa5f9 100644 --- a/Cabal-tests/tests/ParserTests/regressions/mixin-1.expr +++ b/Cabal-tests/tests/ParserTests/regressions/mixin-1.expr @@ -55,6 +55,7 @@ GenericPackageDescription { buildTools = [], buildToolDepends = [], cppOptions = [], + jsppOptions = [], asmOptions = [], cmmOptions = [], ccOptions = [], diff --git a/Cabal-tests/tests/ParserTests/regressions/mixin-2.expr b/Cabal-tests/tests/ParserTests/regressions/mixin-2.expr index a4d3459be3d394d8b945885bf6b8d28c571819c9..6c2239df825240694b05c3f7e403dfe3ff5e7693 100644 --- a/Cabal-tests/tests/ParserTests/regressions/mixin-2.expr +++ b/Cabal-tests/tests/ParserTests/regressions/mixin-2.expr @@ -55,6 +55,7 @@ GenericPackageDescription { buildTools = [], buildToolDepends = [], cppOptions = [], + jsppOptions = [], asmOptions = [], cmmOptions = [], ccOptions = [], diff --git a/Cabal-tests/tests/ParserTests/regressions/mixin-3.expr b/Cabal-tests/tests/ParserTests/regressions/mixin-3.expr index 2b1d37c79e94b6df45ffd754335a282c4de56fdd..a4a94aac32ce064642eef1aec39833527d77b716 100644 --- a/Cabal-tests/tests/ParserTests/regressions/mixin-3.expr +++ b/Cabal-tests/tests/ParserTests/regressions/mixin-3.expr @@ -55,6 +55,7 @@ GenericPackageDescription { buildTools = [], buildToolDepends = [], cppOptions = [], + jsppOptions = [], asmOptions = [], cmmOptions = [], ccOptions = [], diff --git a/Cabal-tests/tests/ParserTests/regressions/monad-param.expr b/Cabal-tests/tests/ParserTests/regressions/monad-param.expr index aaeb1af1044352bae99650793cf20ba3cd2d0fdd..db28c928ddb1a2f585959c53ae0cc36c89270fb0 100644 --- a/Cabal-tests/tests/ParserTests/regressions/monad-param.expr +++ b/Cabal-tests/tests/ParserTests/regressions/monad-param.expr @@ -63,6 +63,7 @@ GenericPackageDescription { buildTools = [], buildToolDepends = [], cppOptions = [], + jsppOptions = [], asmOptions = [], cmmOptions = [], ccOptions = [], diff --git a/Cabal-tests/tests/ParserTests/regressions/multiple-libs-2.expr b/Cabal-tests/tests/ParserTests/regressions/multiple-libs-2.expr index dc6371bc75c041b09af787d27257e7f2d5c54218..d2f1efdd913692a783087b769d52be975766a601 100644 --- a/Cabal-tests/tests/ParserTests/regressions/multiple-libs-2.expr +++ b/Cabal-tests/tests/ParserTests/regressions/multiple-libs-2.expr @@ -54,6 +54,7 @@ GenericPackageDescription { buildTools = [], buildToolDepends = [], cppOptions = [], + jsppOptions = [], asmOptions = [], cmmOptions = [], ccOptions = [], @@ -134,6 +135,7 @@ GenericPackageDescription { buildTools = [], buildToolDepends = [], cppOptions = [], + jsppOptions = [], asmOptions = [], cmmOptions = [], ccOptions = [], diff --git a/Cabal-tests/tests/ParserTests/regressions/noVersion.expr b/Cabal-tests/tests/ParserTests/regressions/noVersion.expr index 0d5bf636569a09c6c36aa1aee269dd03731045a9..838f87733eb30abb001a277170f5742faf8731a6 100644 --- a/Cabal-tests/tests/ParserTests/regressions/noVersion.expr +++ b/Cabal-tests/tests/ParserTests/regressions/noVersion.expr @@ -54,6 +54,7 @@ GenericPackageDescription { buildTools = [], buildToolDepends = [], cppOptions = [], + jsppOptions = [], asmOptions = [], cmmOptions = [], ccOptions = [], diff --git a/Cabal-tests/tests/ParserTests/regressions/nothing-unicode.expr b/Cabal-tests/tests/ParserTests/regressions/nothing-unicode.expr index f6a8c64a5667634237c4697210a287f2cdd6c3aa..ccfe4421c7b00747bb13c45ca496219281b55c38 100644 --- a/Cabal-tests/tests/ParserTests/regressions/nothing-unicode.expr +++ b/Cabal-tests/tests/ParserTests/regressions/nothing-unicode.expr @@ -69,6 +69,7 @@ GenericPackageDescription { buildTools = [], buildToolDepends = [], cppOptions = [], + jsppOptions = [], asmOptions = [], cmmOptions = [], ccOptions = [], @@ -139,6 +140,7 @@ GenericPackageDescription { buildTools = [], buildToolDepends = [], cppOptions = [], + jsppOptions = [], asmOptions = [], cmmOptions = [], ccOptions = [], diff --git a/Cabal-tests/tests/ParserTests/regressions/shake.expr b/Cabal-tests/tests/ParserTests/regressions/shake.expr index 560c38e1dc48f242b5d2948fd8fbd947459983d3..5be08b040648c73d05f46c16ac9237c471ecd140 100644 --- a/Cabal-tests/tests/ParserTests/regressions/shake.expr +++ b/Cabal-tests/tests/ParserTests/regressions/shake.expr @@ -189,6 +189,7 @@ GenericPackageDescription { buildTools = [], buildToolDepends = [], cppOptions = [], + jsppOptions = [], asmOptions = [], cmmOptions = [], ccOptions = [], @@ -479,6 +480,7 @@ GenericPackageDescription { buildTools = [], buildToolDepends = [], cppOptions = ["-DPORTABLE"], + jsppOptions = [], asmOptions = [], cmmOptions = [], ccOptions = [], @@ -548,6 +550,7 @@ GenericPackageDescription { buildTools = [], buildToolDepends = [], cppOptions = [], + jsppOptions = [], asmOptions = [], cmmOptions = [], ccOptions = [], @@ -624,6 +627,7 @@ GenericPackageDescription { buildTools = [], buildToolDepends = [], cppOptions = [], + jsppOptions = [], asmOptions = [], cmmOptions = [], ccOptions = [], @@ -693,6 +697,7 @@ GenericPackageDescription { buildTools = [], buildToolDepends = [], cppOptions = [], + jsppOptions = [], asmOptions = [], cmmOptions = [], ccOptions = [], @@ -773,6 +778,7 @@ GenericPackageDescription { buildTools = [], buildToolDepends = [], cppOptions = [], + jsppOptions = [], asmOptions = [], cmmOptions = [], ccOptions = [], @@ -851,6 +857,7 @@ GenericPackageDescription { buildTools = [], buildToolDepends = [], cppOptions = [], + jsppOptions = [], asmOptions = [], cmmOptions = [], ccOptions = [], @@ -1176,6 +1183,7 @@ GenericPackageDescription { buildTools = [], buildToolDepends = [], cppOptions = [], + jsppOptions = [], asmOptions = [], cmmOptions = [], ccOptions = [], @@ -1245,6 +1253,7 @@ GenericPackageDescription { buildTools = [], buildToolDepends = [], cppOptions = ["-DPORTABLE"], + jsppOptions = [], asmOptions = [], cmmOptions = [], ccOptions = [], @@ -1311,6 +1320,7 @@ GenericPackageDescription { buildTools = [], buildToolDepends = [], cppOptions = [], + jsppOptions = [], asmOptions = [], cmmOptions = [], ccOptions = [], @@ -1384,6 +1394,7 @@ GenericPackageDescription { buildTools = [], buildToolDepends = [], cppOptions = [], + jsppOptions = [], asmOptions = [], cmmOptions = [], ccOptions = [], @@ -1450,6 +1461,7 @@ GenericPackageDescription { buildTools = [], buildToolDepends = [], cppOptions = [], + jsppOptions = [], asmOptions = [], cmmOptions = [], ccOptions = [], @@ -1527,6 +1539,7 @@ GenericPackageDescription { buildTools = [], buildToolDepends = [], cppOptions = [], + jsppOptions = [], asmOptions = [], cmmOptions = [], ccOptions = [], @@ -1604,6 +1617,7 @@ GenericPackageDescription { buildTools = [], buildToolDepends = [], cppOptions = [], + jsppOptions = [], asmOptions = [], cmmOptions = [], ccOptions = [], @@ -1978,6 +1992,7 @@ GenericPackageDescription { buildTools = [], buildToolDepends = [], cppOptions = [], + jsppOptions = [], asmOptions = [], cmmOptions = [], ccOptions = [], @@ -2049,6 +2064,7 @@ GenericPackageDescription { buildTools = [], buildToolDepends = [], cppOptions = [], + jsppOptions = [], asmOptions = [], cmmOptions = [], ccOptions = [], @@ -2120,6 +2136,7 @@ GenericPackageDescription { buildTools = [], buildToolDepends = [], cppOptions = ["-DPORTABLE"], + jsppOptions = [], asmOptions = [], cmmOptions = [], ccOptions = [], @@ -2190,6 +2207,7 @@ GenericPackageDescription { buildTools = [], buildToolDepends = [], cppOptions = [], + jsppOptions = [], asmOptions = [], cmmOptions = [], ccOptions = [], @@ -2267,6 +2285,7 @@ GenericPackageDescription { buildTools = [], buildToolDepends = [], cppOptions = [], + jsppOptions = [], asmOptions = [], cmmOptions = [], ccOptions = [], @@ -2337,6 +2356,7 @@ GenericPackageDescription { buildTools = [], buildToolDepends = [], cppOptions = [], + jsppOptions = [], asmOptions = [], cmmOptions = [], ccOptions = [], @@ -2418,6 +2438,7 @@ GenericPackageDescription { buildTools = [], buildToolDepends = [], cppOptions = [], + jsppOptions = [], asmOptions = [], cmmOptions = [], ccOptions = [], diff --git a/Cabal-tests/tests/ParserTests/regressions/spdx-1.expr b/Cabal-tests/tests/ParserTests/regressions/spdx-1.expr index 24f0aff227a83b5c09aafdbb8b7aa297af38d7f0..88500d2d36563b3e96e590fcbf0a9f87b0f87e6a 100644 --- a/Cabal-tests/tests/ParserTests/regressions/spdx-1.expr +++ b/Cabal-tests/tests/ParserTests/regressions/spdx-1.expr @@ -52,6 +52,7 @@ GenericPackageDescription { buildTools = [], buildToolDepends = [], cppOptions = [], + jsppOptions = [], asmOptions = [], cmmOptions = [], ccOptions = [], diff --git a/Cabal-tests/tests/ParserTests/regressions/spdx-2.expr b/Cabal-tests/tests/ParserTests/regressions/spdx-2.expr index 992486c3be5fad22cb882764865b86924839fea2..9cd00ea1103f5caf2ee09bb12896739e5ce8a562 100644 --- a/Cabal-tests/tests/ParserTests/regressions/spdx-2.expr +++ b/Cabal-tests/tests/ParserTests/regressions/spdx-2.expr @@ -56,6 +56,7 @@ GenericPackageDescription { buildTools = [], buildToolDepends = [], cppOptions = [], + jsppOptions = [], asmOptions = [], cmmOptions = [], ccOptions = [], diff --git a/Cabal-tests/tests/ParserTests/regressions/spdx-3.expr b/Cabal-tests/tests/ParserTests/regressions/spdx-3.expr index f38e0b24b306c78b0f66596004c64b903e4340ce..e8b2eca8989688add0174d4a53a6639cf7d01f41 100644 --- a/Cabal-tests/tests/ParserTests/regressions/spdx-3.expr +++ b/Cabal-tests/tests/ParserTests/regressions/spdx-3.expr @@ -56,6 +56,7 @@ GenericPackageDescription { buildTools = [], buildToolDepends = [], cppOptions = [], + jsppOptions = [], asmOptions = [], cmmOptions = [], ccOptions = [], diff --git a/Cabal-tests/tests/ParserTests/regressions/th-lift-instances.expr b/Cabal-tests/tests/ParserTests/regressions/th-lift-instances.expr index fa6fd5ee3086f01731b4c3cc638cf3f1be8dc33b..2db686aa40fed9f8f4ce048857a9cd72e5d88e00 100644 --- a/Cabal-tests/tests/ParserTests/regressions/th-lift-instances.expr +++ b/Cabal-tests/tests/ParserTests/regressions/th-lift-instances.expr @@ -81,6 +81,7 @@ GenericPackageDescription { buildTools = [], buildToolDepends = [], cppOptions = [], + jsppOptions = [], asmOptions = [], cmmOptions = [], ccOptions = [], @@ -253,6 +254,7 @@ GenericPackageDescription { buildTools = [], buildToolDepends = [], cppOptions = [], + jsppOptions = [], asmOptions = [], cmmOptions = [], ccOptions = [], @@ -433,6 +435,7 @@ GenericPackageDescription { buildTools = [], buildToolDepends = [], cppOptions = [], + jsppOptions = [], asmOptions = [], cmmOptions = [], ccOptions = [], @@ -541,6 +544,7 @@ GenericPackageDescription { buildTools = [], buildToolDepends = [], cppOptions = [], + jsppOptions = [], asmOptions = [], cmmOptions = [], ccOptions = [], diff --git a/Cabal-tests/tests/ParserTests/regressions/version-sets.expr b/Cabal-tests/tests/ParserTests/regressions/version-sets.expr index 8983fa4ea73623d8ae0085fbdcbdae2d330a8541..c086ae618aa1edb69658eef438f7fae1a48f30ed 100644 --- a/Cabal-tests/tests/ParserTests/regressions/version-sets.expr +++ b/Cabal-tests/tests/ParserTests/regressions/version-sets.expr @@ -78,6 +78,7 @@ GenericPackageDescription { buildTools = [], buildToolDepends = [], cppOptions = [], + jsppOptions = [], asmOptions = [], cmmOptions = [], ccOptions = [], diff --git a/Cabal-tests/tests/ParserTests/regressions/wl-pprint-indef.expr b/Cabal-tests/tests/ParserTests/regressions/wl-pprint-indef.expr index a8b4fa3c604a3bb978ca2702d476f29f3eeec635..e4e6a457a3d587b11f80b8cbc8a60f5ce55a9cac 100644 --- a/Cabal-tests/tests/ParserTests/regressions/wl-pprint-indef.expr +++ b/Cabal-tests/tests/ParserTests/regressions/wl-pprint-indef.expr @@ -72,6 +72,7 @@ GenericPackageDescription { buildTools = [], buildToolDepends = [], cppOptions = [], + jsppOptions = [], asmOptions = [], cmmOptions = [], ccOptions = [], @@ -160,6 +161,7 @@ GenericPackageDescription { buildTools = [], buildToolDepends = [], cppOptions = [], + jsppOptions = [], asmOptions = [], cmmOptions = [], ccOptions = [], diff --git a/Cabal-tests/tests/UnitTests/Distribution/Utils/Structured.hs b/Cabal-tests/tests/UnitTests/Distribution/Utils/Structured.hs index e572eb1d4fc04e30f64bf0fe38c4e7692714addd..bfde4536823c20325da506cf6fbef5048c06ca3d 100644 --- a/Cabal-tests/tests/UnitTests/Distribution/Utils/Structured.hs +++ b/Cabal-tests/tests/UnitTests/Distribution/Utils/Structured.hs @@ -29,8 +29,8 @@ md5Check proxy md5Int = structureHash proxy @?= md5FromInteger md5Int md5CheckGenericPackageDescription :: Proxy GenericPackageDescription -> Assertion md5CheckGenericPackageDescription proxy = md5Check proxy - 0xe95038393adbd46b119188757a3a2b63 + 0x42685b0be2909b20bfcd2f32c503ec7b md5CheckLocalBuildInfo :: Proxy LocalBuildInfo -> Assertion md5CheckLocalBuildInfo proxy = md5Check proxy - 0x364f8e404df9ada84ea3b4e3b3084a10 + 0x3d5f7afb3f2f9d8a8ea0e9487a74a006 diff --git a/Cabal/src/Distribution/PackageDescription/Check/Target.hs b/Cabal/src/Distribution/PackageDescription/Check/Target.hs index 9e23b0af91742b7147c4202c4ec63ad662532c30..ee0fff7ca846a1a7a6fd1ba05be2275d9f9e4a3d 100644 --- a/Cabal/src/Distribution/PackageDescription/Check/Target.hs +++ b/Cabal/src/Distribution/PackageDescription/Check/Target.hs @@ -814,6 +814,7 @@ checkBuildInfoOptions t bi = do checkCLikeOptions LangC "cc-options" (ccOptions bi) ldOpts checkCLikeOptions LangCPlusPlus "cxx-options" (cxxOptions bi) ldOpts checkCPPOptions (cppOptions bi) + checkJSPOptions (jsppOptions bi) -- | Checks GHC options for commonly misused or non-portable flags. checkGHCOptions @@ -904,6 +905,12 @@ checkGHCOptions title t opts = do ( [(flag, flag) | flag@('-' : 'D' : _) <- ghcNoRts] ++ [(flag, flag) | flag@('-' : 'U' : _) <- ghcNoRts] ) + checkAlternatives + title + "jspp-options" + ( [(flag, flag) | flag@('-' : 'D' : _) <- ghcNoRts] + ++ [(flag, flag) | flag@('-' : 'U' : _) <- ghcNoRts] + ) checkAlternatives title "include-dirs" @@ -1093,3 +1100,20 @@ checkCPPOptions opts = do (PackageBuildWarning (COptCPP opt)) ) opts + +checkJSPOptions + :: Monad m + => [String] -- Options in String form. + -> CheckM m () +checkJSPOptions opts = do + checkAlternatives + "jspp-options" + "include-dirs" + [(flag, dir) | flag@('-' : 'I' : dir) <- opts] + mapM_ + ( \opt -> + checkP + (not $ any (`isPrefixOf` opt) ["-D", "-U", "-I"]) + (PackageBuildWarning (OptJSPP opt)) + ) + opts diff --git a/Cabal/src/Distribution/PackageDescription/Check/Warning.hs b/Cabal/src/Distribution/PackageDescription/Check/Warning.hs index 897137bda2bd874773c32a3b365921d172536350..3ff5430eac7bb2de29e048699c21a12b979460a5 100644 --- a/Cabal/src/Distribution/PackageDescription/Check/Warning.hs +++ b/Cabal/src/Distribution/PackageDescription/Check/Warning.hs @@ -214,6 +214,7 @@ data CheckExplanation | OptWithRts String | COptONumber String WarnLang | COptCPP String + | OptJSPP String | OptAlternatives String String [(String, String)] | RelativeOutside String FilePath | AbsolutePath String FilePath @@ -380,6 +381,7 @@ data CheckExplanationID | CIOptWithRts | CICOptONumber | CICOptCPP + | CIOptJSPP | CIOptAlternatives | CIRelativeOutside | CIAbsolutePath @@ -525,6 +527,7 @@ checkExplanationId (OptRts{}) = CIOptRts checkExplanationId (OptWithRts{}) = CIOptWithRts checkExplanationId (COptONumber{}) = CICOptONumber checkExplanationId (COptCPP{}) = CICOptCPP +checkExplanationId (OptJSPP{}) = CIOptJSPP checkExplanationId (OptAlternatives{}) = CIOptAlternatives checkExplanationId (RelativeOutside{}) = CIRelativeOutside checkExplanationId (AbsolutePath{}) = CIAbsolutePath @@ -677,6 +680,7 @@ ppCheckExplanationId CIOptRts = "option-rtsopts" ppCheckExplanationId CIOptWithRts = "option-with-rtsopts" ppCheckExplanationId CICOptONumber = "option-opt-c" ppCheckExplanationId CICOptCPP = "cpp-options" +ppCheckExplanationId CIOptJSPP = "jspp-options" ppCheckExplanationId CIOptAlternatives = "misplaced-c-opt" ppCheckExplanationId CIRelativeOutside = "relative-path-outside" ppCheckExplanationId CIAbsolutePath = "absolute-path" @@ -1086,6 +1090,8 @@ ppExplanation (COptONumber prefix label) = ++ " --disable-optimization flag." ppExplanation (COptCPP opt) = "'cpp-options: " ++ opt ++ "' is not a portable C-preprocessor flag." +ppExplanation (OptJSPP opt) = + "'jspp-options: " ++ opt ++ "' is not a portable JavaScript-preprocessor flag." ppExplanation (OptAlternatives badField goodField flags) = "Instead of " ++ quote (badField ++ ": " ++ unwords badFlags) diff --git a/Cabal/src/Distribution/Simple/GHC/Internal.hs b/Cabal/src/Distribution/Simple/GHC/Internal.hs index 121e34549cbc1c3d612e289c7d36f4b0cd1ab8f9..9e252d7c889caf23ce3b167b4515f3921cb7c02c 100644 --- a/Cabal/src/Distribution/Simple/GHC/Internal.hs +++ b/Cabal/src/Distribution/Simple/GHC/Internal.hs @@ -505,6 +505,7 @@ componentJsGhcOptions verbosity lbi bi clbi odir filename = ghcOptVerbosity = toFlag (min verbosity normal) , ghcOptMode = toFlag GhcModeCompile , ghcOptInputFiles = toNubListR [filename] + , ghcOptJSppOptions = jsppOptions bi , ghcOptCppIncludePath = includePaths lbi bi clbi odir , ghcOptHideAllPackages = toFlag True , ghcOptPackageDBs = withPackageDB lbi @@ -568,6 +569,7 @@ componentGhcOptions verbosity lbi bi clbi odir = ++ [autogenPackageModulesDir lbi] , ghcOptCppIncludePath = includePaths lbi bi clbi odir , ghcOptCppOptions = cppOptions bi + , ghcOptJSppOptions = jsppOptions bi , ghcOptCppIncludes = toNubListR $ [coerceSymbolicPath (autogenComponentModulesDir lbi clbi </> makeRelativePathEx cppHeaderName)] diff --git a/Cabal/src/Distribution/Simple/Program/GHC.hs b/Cabal/src/Distribution/Simple/Program/GHC.hs index 8613653cba6970874d83cf4a0e4d4103c525746f..41ac96119ac149b415860a82b0968ae82ad0da26 100644 --- a/Cabal/src/Distribution/Simple/Program/GHC.hs +++ b/Cabal/src/Distribution/Simple/Program/GHC.hs @@ -505,6 +505,8 @@ data GhcOptions = GhcOptions -- ^ Options to pass through to the Assembler. , ghcOptCppOptions :: [String] -- ^ Options to pass through to CPP; the @ghc -optP@ flag. + , ghcOptJSppOptions :: [String] + -- ^ Options to pass through to CPP; the @ghc -optJSP@ flag. @since 3.16.0.0 , ghcOptCppIncludePath :: NubListR (SymbolicPath Pkg (Dir Include)) -- ^ Search path for CPP includes like header files; the @ghc -I@ flag. , ghcOptCppIncludes :: NubListR (SymbolicPath Pkg File) @@ -856,6 +858,7 @@ renderGhcOptions comp _platform@(Platform _arch os) opts ["-I" ++ u dir | dir <- flags ghcOptCppIncludePath] , ["-optP" ++ opt | opt <- ghcOptCppOptions opts] + , ["-optJSP" ++ opt | opt <- ghcOptJSppOptions opts] , concat [ ["-optP-include", "-optP" ++ u inc] | inc <- flags ghcOptCppIncludes diff --git a/cabal-testsuite/PackageTests/Check/ConfiguredPackage/JSPPOptions/JSPPNotPortable/cabal.out b/cabal-testsuite/PackageTests/Check/ConfiguredPackage/JSPPOptions/JSPPNotPortable/cabal.out new file mode 100644 index 0000000000000000000000000000000000000000..a40cb90cb459361c219cdedbb1993ca1618dcb1d --- /dev/null +++ b/cabal-testsuite/PackageTests/Check/ConfiguredPackage/JSPPOptions/JSPPNotPortable/cabal.out @@ -0,0 +1,4 @@ +# cabal check +The following errors are likely to affect your build negatively: +Error: [jspp-options] 'jspp-options: -Q' is not a portable JavaScript-preprocessor flag. +Error: Hackage would reject this package. diff --git a/cabal-testsuite/PackageTests/Check/ConfiguredPackage/JSPPOptions/JSPPNotPortable/cabal.test.hs b/cabal-testsuite/PackageTests/Check/ConfiguredPackage/JSPPOptions/JSPPNotPortable/cabal.test.hs new file mode 100644 index 0000000000000000000000000000000000000000..44c64c6f35aa33bf6d2baac60d66799ae452dcf5 --- /dev/null +++ b/cabal-testsuite/PackageTests/Check/ConfiguredPackage/JSPPOptions/JSPPNotPortable/cabal.test.hs @@ -0,0 +1,5 @@ +import Test.Cabal.Prelude + +-- `jspp-options`, do not use use non portable flags. +main = cabalTest $ + fails $ cabal "check" [] diff --git a/cabal-testsuite/PackageTests/Check/ConfiguredPackage/JSPPOptions/JSPPNotPortable/pkg.cabal b/cabal-testsuite/PackageTests/Check/ConfiguredPackage/JSPPOptions/JSPPNotPortable/pkg.cabal new file mode 100644 index 0000000000000000000000000000000000000000..9dd54ff16bcab1169f5fde91a958df304331a42c --- /dev/null +++ b/cabal-testsuite/PackageTests/Check/ConfiguredPackage/JSPPOptions/JSPPNotPortable/pkg.cabal @@ -0,0 +1,14 @@ +cabal-version: 3.16 +name: pkg +synopsis: synopsis +description: description +version: 0 +category: example +maintainer: none@example.com +license: GPL-3.0-or-later + +library + exposed-modules: Module + default-language: Haskell2010 + if arch(JavaScript) + jspp-options: -Q diff --git a/cabal-testsuite/PackageTests/JS/JSPPOptions/cabal.project b/cabal-testsuite/PackageTests/JS/JSPPOptions/cabal.project new file mode 100644 index 0000000000000000000000000000000000000000..e6fdbadb4398bc0e333947b5fb8021778310d943 --- /dev/null +++ b/cabal-testsuite/PackageTests/JS/JSPPOptions/cabal.project @@ -0,0 +1 @@ +packages: . diff --git a/cabal-testsuite/PackageTests/JS/JSPPOptions/demo/Main.hs b/cabal-testsuite/PackageTests/JS/JSPPOptions/demo/Main.hs new file mode 100644 index 0000000000000000000000000000000000000000..19e67f001f818de846a203847e47e0621725345a --- /dev/null +++ b/cabal-testsuite/PackageTests/JS/JSPPOptions/demo/Main.hs @@ -0,0 +1,6 @@ +module Main where + +import Lib + +main :: IO () +main = foo diff --git a/cabal-testsuite/PackageTests/JS/JSPPOptions/js-arch.test.hs b/cabal-testsuite/PackageTests/JS/JSPPOptions/js-arch.test.hs new file mode 100644 index 0000000000000000000000000000000000000000..c7df6e8e98623e12a6cd425c387964a9484cba4e --- /dev/null +++ b/cabal-testsuite/PackageTests/JS/JSPPOptions/js-arch.test.hs @@ -0,0 +1,9 @@ +import Test.Cabal.Prelude + +main = do + skipUnlessJavaScript + skipIfWindows "" + setupAndCabalTest $ do + skipUnlessGhcVersion ">= 9.12" + res <- cabal' "v2-run" ["demo"] + assertOutputContains "Hello definition!" res diff --git a/cabal-testsuite/PackageTests/JS/JSPPOptions/jsbits/lib.js b/cabal-testsuite/PackageTests/JS/JSPPOptions/jsbits/lib.js new file mode 100644 index 0000000000000000000000000000000000000000..b3b8beb78fb4abe2e337ecb6d1b8ceaaacd1811d --- /dev/null +++ b/cabal-testsuite/PackageTests/JS/JSPPOptions/jsbits/lib.js @@ -0,0 +1,9 @@ +//#OPTIONS: CPP + +function foo() { +#ifdef PRINT_DEF + console.log("Hello definition!"); +#else + console.log("Hello!"); +#endif +} diff --git a/cabal-testsuite/PackageTests/JS/JSPPOptions/jsppoptions.cabal b/cabal-testsuite/PackageTests/JS/JSPPOptions/jsppoptions.cabal new file mode 100644 index 0000000000000000000000000000000000000000..15883ab6b6223d922ae7fb1bc5782583e06bd673 --- /dev/null +++ b/cabal-testsuite/PackageTests/JS/JSPPOptions/jsppoptions.cabal @@ -0,0 +1,19 @@ +cabal-version: 3.16 +name: jsppoptions +version: 0 +build-type: Simple + +library + default-language: Haskell2010 + js-sources: jsbits/lib.js + if arch(JavaScript) + jspp-options: -DPRINT_DEF + hs-source-dirs: src + exposed-modules: Lib + build-depends: base + +executable demo + default-language: Haskell2010 + main-is: Main.hs + hs-source-dirs: demo + build-depends: base, jsppoptions diff --git a/cabal-testsuite/PackageTests/JS/JSPPOptions/other-arch.out b/cabal-testsuite/PackageTests/JS/JSPPOptions/other-arch.out new file mode 100644 index 0000000000000000000000000000000000000000..fcf3a48349b401139765b5b4fc0b4a0b980732e9 --- /dev/null +++ b/cabal-testsuite/PackageTests/JS/JSPPOptions/other-arch.out @@ -0,0 +1,14 @@ +# cabal v2-run +Configuration is affected by the following files: +- cabal.project +Resolving dependencies... +Build profile: -w ghc-<GHCVER> -O1 +In order, the following will be built: + - jsppoptions-0 (lib) (first run) + - jsppoptions-0 (exe:demo) (first run) +Configuring library for jsppoptions-0... +Preprocessing library for jsppoptions-0... +Building library for jsppoptions-0... +Configuring executable 'demo' for jsppoptions-0... +Preprocessing executable 'demo' for jsppoptions-0... +Building executable 'demo' for jsppoptions-0... diff --git a/cabal-testsuite/PackageTests/JS/JSPPOptions/other-arch.test.hs b/cabal-testsuite/PackageTests/JS/JSPPOptions/other-arch.test.hs new file mode 100644 index 0000000000000000000000000000000000000000..5f1f0caa20b2b1166d254dbb85c692ccbb26d048 --- /dev/null +++ b/cabal-testsuite/PackageTests/JS/JSPPOptions/other-arch.test.hs @@ -0,0 +1,8 @@ +import Test.Cabal.Prelude + +main = do + skipIfJavaScript + cabalTest $ do + -- Ensure the field `js-sources` does not raise issues + res <- cabal' "v2-run" ["demo"] + assertOutputContains "Not JS foo" res diff --git a/cabal-testsuite/PackageTests/JS/JSPPOptions/src/Lib.hs b/cabal-testsuite/PackageTests/JS/JSPPOptions/src/Lib.hs new file mode 100644 index 0000000000000000000000000000000000000000..5cd25eb2f87391e79f5fabb8813e1d6ff907008b --- /dev/null +++ b/cabal-testsuite/PackageTests/JS/JSPPOptions/src/Lib.hs @@ -0,0 +1,9 @@ +{-# LANGUAGE CPP #-} +module Lib where + +#if defined(javascript_HOST_ARCH) +foreign import javascript foo :: IO () +#else +foo :: IO () +foo = putStrLn "Not JS foo" +#endif diff --git a/changelog.d/pr-10967.md b/changelog.d/pr-10967.md new file mode 100644 index 0000000000000000000000000000000000000000..96d59d6de363e3758506a87d92c4aa323a727288 --- /dev/null +++ b/changelog.d/pr-10967.md @@ -0,0 +1,13 @@ +--- +synopsis: Adding JavaScript Preprocessor Support +packages: [Cabal, Cabal-syntax] +prs: 10967 +--- + +Adding new syntax jspp-options that would support the -optJSP preprocessor flag for js sources. + +``` + js-sources: jsbits/lib.js + jspp-options: -DYOUR_FLAG +``` + diff --git a/doc/buildinfo-fields-reference.rst b/doc/buildinfo-fields-reference.rst index b1bb35d6d6ccef75ac0d16e388dfc3b9f9fb8b8d..21ad93188fcb827b2112e51409b2989abc285ec3 100644 --- a/doc/buildinfo-fields-reference.rst +++ b/doc/buildinfo-fields-reference.rst @@ -485,6 +485,14 @@ js-sources .. math:: \mathrm{commalist}\left\{ \mathop{\mathit{hs\text{-}string}}\mid{{[\mathop{\mathord{``}\mathtt{\ }\mathord{"}}\mathop{\mathord{``}\mathtt{\text{,}}\mathord{"}}]^c}}^+_{} \right\} +jspp-options + * Monoidal field + * Available since ``cabal-version: 3.16``. + * Documentation of :pkg-field:`library:jspp-options` + + .. math:: + {\left\{ \mathop{\mathit{hs\text{-}string}}\mid{{[\mathop{\mathord{``}\mathtt{\ }\mathord{"}}]^c}}^+_{} \right\}}^\ast_{\bullet} + ld-options * Monoidal field * Documentation of :pkg-field:`library:ld-options` diff --git a/doc/cabal-commands.rst b/doc/cabal-commands.rst index 22f1a9089a6a2a9ab865f9f28e5bd942cdb99232..9ad5e71687571bb0dd3987e691054760a09f3b75 100644 --- a/doc/cabal-commands.rst +++ b/doc/cabal-commands.rst @@ -1405,6 +1405,7 @@ A list of all warnings with their constructor: - ``option-with-rtsopts``: unnecessary ``-with-rtsopts``. - ``option-opt-c``: unnecessary ``-O[n]`` in C code. - ``cpp-options``: unportable ``-cpp-options`` flag. +- ``jspp-options``: unportable ``-jspp-options`` flag. - ``misplaced-c-opt``: C-like options in wrong cabal field. - ``relative-path-outside``: relative path outside of source tree. - ``absolute-path``: absolute path where not allowed. diff --git a/doc/cabal-package-description-file.rst b/doc/cabal-package-description-file.rst index d1b5d3971adc95c7dda72bc89d365752ac2e55ef..5b52ed212f097280b841e925c0f98e40dfe50673 100644 --- a/doc/cabal-package-description-file.rst +++ b/doc/cabal-package-description-file.rst @@ -1992,6 +1992,11 @@ system-dependent values for these fields. arguments are compiler-dependent, this field is more useful with the setup described in the section on `system-dependent parameters`_. +.. pkg-field:: jspp-options: token list + + Command-line arguments for pre-processing JS code. Applies to pre-processed + Haskell source like .js. Flags here will be passed as ``-optJSP`` flags to GHC. + .. pkg-field:: cpp-options: token list Command-line arguments for pre-processing Haskell code. Applies to diff --git a/editors/vim/syntax/cabal.vim b/editors/vim/syntax/cabal.vim index 2e578307a7ecf50842c139f448f25277096574bd..3d2600253e5b39e0e4293101a487182840388ca9 100644 --- a/editors/vim/syntax/cabal.vim +++ b/editors/vim/syntax/cabal.vim @@ -65,6 +65,7 @@ syn keyword cabalFieldName contained \ cmm-options \ cmm-sources \ copyright + \ jspp-options \ cpp-options \ cxx-options \ cxx-sources