Skip to content

Commit

Permalink
Add -includedirs and -libdirs, and fix usleep warning
Browse files Browse the repository at this point in the history
Ignore-this: 4e1d2aa1dd417eead4d4915a4493f754

darcs-hash:20100105152658-6ac22-37752ee6c6a1dea90dc8466b317f9673c81458cf.gz
  • Loading branch information
eb committed Jan 5, 2010
1 parent 1d2cd50 commit c3e9ebc
Show file tree
Hide file tree
Showing 2 changed files with 18 additions and 0 deletions.
17 changes: 17 additions & 0 deletions Main.lhs
Expand Up @@ -7,6 +7,7 @@
> import Monad

> import Epic.Compiler
> import Paths_epic

> main = do args <- getArgs
> (fns, opts) <- getInput args
Expand Down Expand Up @@ -60,6 +61,7 @@

> getInput :: [String] -> IO ([FilePath],[Option])
> getInput args = do let opts = parseArgs args
> processFlags opts False
> fns <- getFile opts
> if (length fns == 0)
> then do showUsage
Expand All @@ -79,6 +81,8 @@
> | ExtraInc String -- extra files to inlude
> | COpt String -- option to send straight to gcc
> | ExtMain -- external main (i.e. in a .o)
> | CFlags -- output include flags
> | LibFlags -- output linker flags
> deriving Eq

> parseArgs :: [String] -> [Option]
Expand All @@ -90,6 +94,8 @@
> parseArgs ("-o":name:args) = (Output name):(parseArgs args)
> parseArgs ("-h":name:args) = (Header name):(parseArgs args)
> parseArgs ("-i":inc:args) = (ExtraInc inc):(parseArgs args)
> parseArgs ("-includedirs":args) = CFlags:(parseArgs args)
> parseArgs ("-libdirs":args) = LibFlags:(parseArgs args)
> parseArgs (('$':x):args) = (COpt (x ++ concat (map (" "++) args))):[]
> parseArgs (('-':x):args) = (COpt x):(parseArgs args)
> parseArgs (x:args) = (File x):(parseArgs args)
Expand All @@ -116,3 +122,14 @@
> return (x:fns)
> getExtra (_:xs) = getExtra xs
> getExtra [] = return []

> processFlags :: [Option] -> Bool -> IO ()
> processFlags [] True = do putStrLn ""; exitWith ExitSuccess
> processFlags [] False = return ()
> processFlags (LibFlags:xs) _ = do datadir <- getDataDir
> putStr $ "-L"++datadir++"/evm "
> processFlags xs True
> processFlags (CFlags:xs) _ = do datadir <- getDataDir
> putStr $ "-I"++datadir++"/evm "
> processFlags xs True
> processFlags (_:xs) quit = processFlags xs quit
1 change: 1 addition & 0 deletions evm/stdfuns.c
@@ -1,6 +1,7 @@
#include "stdfuns.h"
#include "closure.h"
#include <stdlib.h>
#include <unistd.h>
#include <gmp.h>
#include <string.h>
#include <sys/time.h>
Expand Down

0 comments on commit c3e9ebc

Please sign in to comment.