tools/PascalPreprocessor.hs
branchwebgl
changeset 7961 620331af6b9a
parent 7957 497ec84e0c21
--- a/tools/PascalPreprocessor.hs	Sun Nov 04 02:35:17 2012 +0100
+++ b/tools/PascalPreprocessor.hs	Sun Nov 04 03:04:20 2012 +0100
@@ -22,8 +22,8 @@
     , ("S3D_DISABLED", "")
     ]
 
-preprocess :: String -> String -> IO String
-preprocess inputPath fn = do
+preprocess :: String -> String -> String -> IO String
+preprocess inputPath alternateInputPath fn = do
     r <- runParserT (preprocessFile (inputPath ++ fn)) (initDefines, [True]) "" ""
     case r of
          (Left a) -> do
@@ -79,7 +79,7 @@
         char '"'
         spaces
         char '}'
-        f <- liftIO (readFile (inputPath ++ fn) `catch` error ("File not found: " ++ fn))
+        f <- liftIO (readFile (inputPath ++ fn) `catch` (\exc -> readFile (alternateInputPath ++ fn) `catch` error ("File not found: " ++ fn)))
         c <- getInput
         setInput $ f ++ c
         return ""