aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorfiddlosopher <fiddlosopher@788f1e2b-df1e-0410-8736-df70ead52e1b>2008-07-31 06:35:46 +0000
committerfiddlosopher <fiddlosopher@788f1e2b-df1e-0410-8736-df70ead52e1b>2008-07-31 06:35:46 +0000
commit2751608d9bd59d8f23e557ed716205df8c4f503a (patch)
treee9f5f9f47d001eba7c8175bf40f4f5b3b06e7199
parent57df7f5eb6c7d9e258ffc017380efd3b3422add9 (diff)
downloadpandoc-2751608d9bd59d8f23e557ed716205df8c4f503a.tar.gz
Use CPP to simplify build procedure for Highlighting.hs module.
This is no longer built by Setup.hs in the pre-configure phase. git-svn-id: https://pandoc.googlecode.com/svn/trunk@1339 788f1e2b-df1e-0410-8736-df70ead52e1b
-rw-r--r--Setup.hs9
-rw-r--r--Text/Pandoc/Highlighting.hs (renamed from templates/Highlighting.yes.hs)16
-rw-r--r--pandoc.cabal1
-rw-r--r--templates/Highlighting.no.hs42
4 files changed, 15 insertions, 53 deletions
diff --git a/Setup.hs b/Setup.hs
index 25960bcc4..9d671feae 100644
--- a/Setup.hs
+++ b/Setup.hs
@@ -22,14 +22,6 @@ myPostConf _ configFlags pkgDescription buildInfo = do
fillAsciiMathMLTemplate
fillS5WriterTemplate
fillDefaultHeadersTemplate
- let deps = packageDeps buildInfo
- let highlighting = any (\id -> pkgName id == "highlighting-kate") deps
- let highlightingModule = if highlighting
- then combine "templates" "Highlighting.yes.hs"
- else combine "templates" "Highlighting.no.hs"
- copyFile highlightingModule $ joinPath ["Text", "Pandoc", "Highlighting.hs"]
- putStrLn $ " Text/Pandoc/Highlighting.hs [" ++
- (if highlighting then "with" else "without") ++ " syntax highlighting support]"
-- Fill templateFile with data in dataFiles and write to outputFile.
fillTemplate :: [FilePath] -> FilePath -> FilePath -> IO ()
@@ -61,7 +53,6 @@ myPostClean _ _ _ _ = do
putStrLn "Removing source files generated from templates:"
removeGeneratedFile $ joinPath [pandocPath, "ASCIIMathML.hs"]
removeGeneratedFile $ joinPath [pandocPath, "DefaultHeaders.hs"]
- removeGeneratedFile $ joinPath [pandocPath, "Highlighting.hs"]
removeGeneratedFile $ joinPath [pandocPath, "Writers", "S5.hs"]
-- Remove file and print message.
diff --git a/templates/Highlighting.yes.hs b/Text/Pandoc/Highlighting.hs
index 12d7f2c53..6fcb9cb8b 100644
--- a/templates/Highlighting.yes.hs
+++ b/Text/Pandoc/Highlighting.hs
@@ -1,3 +1,4 @@
+{-# LANGUAGE CPP #-}
{-
Copyright (C) 2008 John MacFarlane <jgm@berkeley.edu>
@@ -29,12 +30,13 @@ Exports functions for syntax highlighting.
-}
module Text.Pandoc.Highlighting ( languages, highlightHtml, defaultHighlightingCss ) where
-import Text.Highlighting.Kate ( languages, highlightAs, formatAsXHtml, FormatOption (..), defaultHighlightingCss )
import Text.XHtml
+import Text.Pandoc.Definition
+#ifdef HIGHLIGHTING
+import Text.Highlighting.Kate ( languages, highlightAs, formatAsXHtml, FormatOption (..), defaultHighlightingCss )
import Data.List (find, lookup)
import Data.Maybe (fromMaybe)
import Data.Char (toLower)
-import Text.Pandoc.Definition
highlightHtml :: Attr -> String -> Either String Html
highlightHtml (_, classes, keyvals) rawCode =
@@ -50,3 +52,13 @@ highlightHtml (_, classes, keyvals) rawCode =
Left err -> Left err
Right hl -> Right $ formatAsXHtml fmtOpts lang hl
+#else
+defaultHighlightingCss :: String
+defaultHighlightingCss = ""
+
+languages :: [String]
+languages = []
+
+highlightHtml :: Attr -> String -> Either String Html
+highlightHtml _ _ = Left "Pandoc was not compiled with support for highlighting"
+#endif
diff --git a/pandoc.cabal b/pandoc.cabal
index 911252e11..ae4ff12c5 100644
--- a/pandoc.cabal
+++ b/pandoc.cabal
@@ -47,6 +47,7 @@ Library
Build-Depends: base < 3
if flag(highlighting)
Build-depends: highlighting-kate
+ cpp-options: -DHIGHLIGHTING
Build-Depends: parsec < 3, xhtml, mtl, network, filepath
Hs-Source-Dirs: .
Exposed-Modules: Text.Pandoc,
diff --git a/templates/Highlighting.no.hs b/templates/Highlighting.no.hs
deleted file mode 100644
index f6b2427ba..000000000
--- a/templates/Highlighting.no.hs
+++ /dev/null
@@ -1,42 +0,0 @@
-{-
-Copyright (C) 2008 John MacFarlane <jgm@berkeley.edu>
-
-This program is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program; if not, write to the Free Software
-Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
--}
-
-{- |
- Module : Text.Pandoc.Highlighting
- Copyright : Copyright (C) 2008 John MacFarlane
- License : GNU GPL, version 2 or above
-
- Maintainer : John MacFarlane <jgm@berkeley.edu>
- Stability : alpha
- Portability : portable
-
-Exports functions for syntax highlighting.
--}
-
-module Text.Pandoc.Highlighting ( languages, highlightHtml, defaultHighlightingCss ) where
-import Text.XHtml
-import Text.Pandoc.Definition
-
-defaultHighlightingCss :: String
-defaultHighlightingCss = ""
-
-languages :: [String]
-languages = []
-
-highlightHtml :: Attr -> String -> Either String Html
-highlightHtml _ _ = Left "Pandoc was not compiled with support for highlighting"