- have SysTools.FileOption take a prefix that is not to be transformed
(this is to accommodate MS-style cmd-line options of the kind: "/out=foo.obj")
- have users of Finder.mkHomeModuleLocn catch up with recent change to its type.
let (path, basename, ext) = splitFilename3 file
(mod, location)
let (path, basename, ext) = splitFilename3 file
(mod, location)
- <- mkHomeModuleLocn mod_name (path ++ '/':basename) (Just file)
+ <- mkHomeModuleLocn mod_name (path ++ '/':basename) file
src_timestamp
<- case ml_hs_file location of
src_timestamp
<- case ml_hs_file location of
-----------------------------------------------------------------------------
-----------------------------------------------------------------------------
--- $Id: DriverPipeline.hs,v 1.100 2001/08/16 14:43:59 rrt Exp $
SysTools.runUnlit (map SysTools.Option unlit_flags ++
[ SysTools.Option "-h"
, SysTools.Option input_fn
SysTools.runUnlit (map SysTools.Option unlit_flags ++
[ SysTools.Option "-h"
, SysTools.Option input_fn
- , SysTools.FileOption input_fn
- , SysTools.FileOption output_fn
+ , SysTools.FileOption "" input_fn
+ , SysTools.FileOption "" output_fn
])
return (Just output_fn)
])
return (Just output_fn)
++ map SysTools.Option md_c_flags
++ [ SysTools.Option "-x"
, SysTools.Option "c"
++ map SysTools.Option md_c_flags
++ [ SysTools.Option "-x"
, SysTools.Option "c"
- , SysTools.FileOption input_fn
+ , SysTools.FileOption "" input_fn
- , SysTools.FileOption output_fn
+ , SysTools.FileOption "" output_fn
])
return (Just output_fn)
])
return (Just output_fn)
-- build a ModuleLocation to pass to hscMain.
(mod, location')
-- build a ModuleLocation to pass to hscMain.
(mod, location')
- <- mkHomeModuleLocn mod_name basename (Just (basename ++ '.':suff))
+ <- mkHomeModuleLocn mod_name basename (basename ++ '.':suff)
-- take -ohi into account if present
ohi <- readIORef v_Output_hi
-- take -ohi into account if present
ohi <- readIORef v_Output_hi
excessPrecision <- readIORef v_Excess_precision
SysTools.runCc ([ SysTools.Option "-x", SysTools.Option "c"
excessPrecision <- readIORef v_Excess_precision
SysTools.runCc ([ SysTools.Option "-x", SysTools.Option "c"
- , SysTools.FileOption input_fn
+ , SysTools.FileOption "" input_fn
- , SysTools.FileOption output_fn
+ , SysTools.FileOption "" output_fn
]
++ map SysTools.Option (
md_c_flags
]
++ map SysTools.Option (
md_c_flags
else return []
SysTools.runMangle (map SysTools.Option mangler_opts
else return []
SysTools.runMangle (map SysTools.Option mangler_opts
- ++ [ SysTools.FileOption input_fn
- , SysTools.FileOption output_fn
+ ++ [ SysTools.FileOption "" input_fn
+ , SysTools.FileOption "" output_fn
]
++ map SysTools.Option machdep_opts)
return (Just output_fn)
]
++ map SysTools.Option machdep_opts)
return (Just output_fn)
split_s_prefix <- SysTools.newTempName "split"
let n_files_fn = split_s_prefix
split_s_prefix <- SysTools.newTempName "split"
let n_files_fn = split_s_prefix
- SysTools.runSplit [ SysTools.FileOption input_fn
- , SysTools.FileOption split_s_prefix
- , SysTools.FileOption n_files_fn
+ SysTools.runSplit [ SysTools.FileOption "" input_fn
+ , SysTools.FileOption "" split_s_prefix
+ , SysTools.FileOption "" n_files_fn
]
-- Save the number of split files for future references
]
-- Save the number of split files for future references
SysTools.runAs (map SysTools.Option as_opts
++ [ SysTools.Option ("-I" ++ p) | p <- cmdline_include_paths ]
++ [ SysTools.Option "-c"
SysTools.runAs (map SysTools.Option as_opts
++ [ SysTools.Option ("-I" ++ p) | p <- cmdline_include_paths ]
++ [ SysTools.Option "-c"
- , SysTools.FileOption input_fn
+ , SysTools.FileOption "" input_fn
- , SysTools.FileOption output_fn
+ , SysTools.FileOption "" output_fn
])
return (Just output_fn)
])
return (Just output_fn)
SysTools.runAs (map SysTools.Option as_opts ++
[ SysTools.Option "-c"
, SysTools.Option "-o"
SysTools.runAs (map SysTools.Option as_opts ++
[ SysTools.Option "-c"
, SysTools.Option "-o"
- , SysTools.FileOption real_o
- , SysTools.FileOption input_s
+ , SysTools.FileOption "" real_o
+ , SysTools.FileOption "" input_s
])
mapM_ assemble_file [1..n]
])
mapM_ assemble_file [1..n]
++ [ SysTools.Option "--no-add-suffix-to-assembly",
SysTools.Option "mscorlib",
SysTools.Option "-o",
++ [ SysTools.Option "--no-add-suffix-to-assembly",
SysTools.Option "mscorlib",
SysTools.Option "-o",
- SysTools.FileOption output_fn,
- SysTools.FileOption input_fn ])
+ SysTools.FileOption "" output_fn,
+ SysTools.FileOption "" input_fn ])
return (Just output_fn)
-----------------------------------------------------------------------------
return (Just output_fn)
-----------------------------------------------------------------------------
SysTools.runIlasm (map SysTools.Option ilasm_opts
++ [ SysTools.Option "/QUIET",
SysTools.Option "/DLL",
SysTools.runIlasm (map SysTools.Option ilasm_opts
++ [ SysTools.Option "/QUIET",
SysTools.Option "/DLL",
- SysTools.Option ("/OUT="++output_fn),
- SysTools.FileOption input_fn ])
+ SysTools.FileOption "/OUT=" output_fn,
+ SysTools.FileOption "" input_fn ])
return (Just output_fn)
#endif -- ILX
return (Just output_fn)
#endif -- ILX
(md_c_flags, _) <- machdepCCOpts
SysTools.runLink ( [ SysTools.Option verb
, SysTools.Option "-o"
(md_c_flags, _) <- machdepCCOpts
SysTools.runLink ( [ SysTools.Option verb
, SysTools.Option "-o"
- , SysTools.FileOption output_fn
+ , SysTools.FileOption "" output_fn
]
++ map SysTools.Option (
md_c_flags
]
++ map SysTools.Option (
md_c_flags
SysTools.runMkDLL
([ SysTools.Option verb
, SysTools.Option "-o"
SysTools.runMkDLL
([ SysTools.Option verb
, SysTools.Option "-o"
- , SysTools.FileOption output_fn
+ , SysTools.FileOption "" output_fn
]
++ map SysTools.Option (
md_c_flags
]
++ map SysTools.Option (
md_c_flags
-----------------------------------------------------------------------------
-----------------------------------------------------------------------------
--- $Id: SysTools.lhs,v 1.54 2001/08/17 12:43:24 sewardj Exp $
--
-- (c) The University of Glasgow 2001
--
--
-- (c) The University of Glasgow 2001
--
this type gives us a handle on transforming filenames, and filenames only,
to whatever format they're expected to be on a particular platform.]
this type gives us a handle on transforming filenames, and filenames only,
to whatever format they're expected to be on a particular platform.]
+ = FileOption -- an entry that _contains_ filename(s) / filepaths.
+ String -- a non-filepath prefix that shouldn't be transformed (e.g., "/out="
+ String -- the filepath/filename portion
| Option String
showOptions :: [Option] -> String
showOptions ls = unwords (map (quote.showOpt) ls)
where
| Option String
showOptions :: [Option] -> String
showOptions ls = unwords (map (quote.showOpt) ls)
where
- showOpt (FileOption f) = dosifyPath f
+ showOpt (FileOption pre f) = pre ++ dosifyPath f
showOpt (Option s) = s
#if defined(mingw32_TARGET_OS)
showOpt (Option s) = s
#if defined(mingw32_TARGET_OS)
touch :: String -> String -> IO ()
touch purpose arg = do p <- readIORef v_Pgm_T
touch :: String -> String -> IO ()
touch purpose arg = do p <- readIORef v_Pgm_T
- runSomething purpose p [FileOption arg]
+ runSomething purpose p [FileOption "" arg]
copy :: String -> String -> String -> IO ()
copy purpose from to = do
copy :: String -> String -> String -> IO ()
copy purpose from to = do