diff options
-rw-r--r-- | package.yaml | 1 | ||||
-rw-r--r-- | src/Build.hs | 6 |
2 files changed, 6 insertions, 1 deletions
diff --git a/package.yaml b/package.yaml index ece47c9..7cf11c6 100644 --- a/package.yaml +++ b/package.yaml @@ -25,6 +25,7 @@ dependencies: - directory - extra - filepath +- MissingH - optparse-applicative - process - shake diff --git a/src/Build.hs b/src/Build.hs index ce1f161..96b58ab 100644 --- a/src/Build.hs +++ b/src/Build.hs @@ -15,6 +15,7 @@ import Data.Char ( isAsciiLower import Data.List ( intercalate , isSuffixOf ) +import Data.List.Utils (replace) import qualified Data.Map as Map import Data.Maybe ( fromMaybe , mapMaybe @@ -385,7 +386,7 @@ buildWithScript script projectDirectory buildDirectory compiler flags libraryNam absoluteLibraryDirectories <- mapM makeAbsolute otherLibraryDirectories setEnv "FC" compiler setEnv "FFLAGS" (intercalate " " flags) - setEnv "BUILD_DIR" absoluteBuildDirectory + setEnv "BUILD_DIR" (escapeColon absoluteBuildDirectory) setEnv "INCLUDE_DIRS" (intercalate " " absoluteLibraryDirectories) let archiveFile = absoluteBuildDirectory </> "lib" ++ libraryName <.> "a" withCurrentDirectory @@ -401,3 +402,6 @@ isMakefile script | script == "Makefile" = True | script == "makefile" = True | ".mk" `isSuffixOf` script = True | otherwise = False + +escapeColon :: String -> String +escapeColon = replace ":" "\\:" |