X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=ghc%2Fcompiler%2Fmain%2FDriverFlags.hs;h=4c110c0b4e21cc5950a8ff1da487ada392fc61d8;hb=1a4238bccc8be8a71f8ebec15f25d8edf8d084ad;hp=982b8233f0d98fb227de5b1137143093f9def5d8;hpb=34a10d6614fa3546b360fc13b5386b1d86848190;p=ghc-hetmet.git diff --git a/ghc/compiler/main/DriverFlags.hs b/ghc/compiler/main/DriverFlags.hs index 982b823..4c110c0 100644 --- a/ghc/compiler/main/DriverFlags.hs +++ b/ghc/compiler/main/DriverFlags.hs @@ -1,5 +1,5 @@ ----------------------------------------------------------------------------- --- $Id: DriverFlags.hs,v 1.106 2002/11/20 09:37:48 simonpj Exp $ +-- $Id: DriverFlags.hs,v 1.110 2003/01/09 11:39:20 simonmar Exp $ -- -- Driver flags -- @@ -261,7 +261,7 @@ static_flags = ------- Libraries --------------------------------------------------- , ( "L" , Prefix (addToDirList v_Library_paths) ) - , ( "l" , Prefix (add v_Cmdline_libraries) ) + , ( "l" , AnySuffix (\s -> add v_Opt_l s >> add v_Opt_dll s) ) #ifdef darwin_TARGET_OS ------- Frameworks -------------------------------------------------- @@ -277,6 +277,8 @@ static_flags = , ( "syslib" , HasArg (addPackage) ) -- for compatibility w/ old vsns ------- Specific phases -------------------------------------------- + , ( "pgmL" , HasArg setPgmL ) + , ( "pgmP" , HasArg setPgmP ) , ( "pgmP" , HasArg setPgmP ) , ( "pgmF" , HasArg setPgmF ) , ( "pgmc" , HasArg setPgmc ) @@ -294,6 +296,7 @@ static_flags = , ( "optdll" , HasArg (add v_Opt_dll) ) ----- Linker -------------------------------------------------------- + , ( "no-link" , NoArg (writeIORef v_NoLink True) ) , ( "static" , NoArg (writeIORef v_Static True) ) , ( "dynamic" , NoArg (writeIORef v_Static False) ) , ( "rdynamic" , NoArg (return ()) ) -- ignored for compat w/ gcc @@ -578,7 +581,15 @@ machdepCCOpts return ( [ if sta then "-DDONT_WANT_WIN32_DLL_SUPPORT" else "" -- , if suffixMatch "mingw32" cTARGETPLATFORM then "-mno-cygwin" else "" ], - [ "-fno-defer-pop", "-fomit-frame-pointer", + [ "-fno-defer-pop", +#ifdef HAVE_GCC_MNO_OMIT_LFPTR + -- Some gccs are configured with + -- -momit-leaf-frame-pointer on by default, and it + -- apparently takes precedence over + -- -fomit-frame-pointer, so we disable it first here. + "-mno-omit-leaf-frame-pointer", +#endif + "-fomit-frame-pointer", -- we want -fno-builtin, because when gcc inlines -- built-in functions like memcpy() it tends to -- run out of registers, requiring -monly-n-regs