Change remaining uses of cTargetOS to platformOS
authorIan Lynagh <igloo@earth.li>
Sun, 8 May 2011 12:41:12 +0000 (13:41 +0100)
committerIan Lynagh <igloo@earth.li>
Sun, 8 May 2011 12:41:12 +0000 (13:41 +0100)
And remove cTargetOS/cTargetPlatform.

compiler/ghc.mk
compiler/main/DriverPipeline.hs
configure.ac

index 55ebb84..2254332 100644 (file)
@@ -49,8 +49,6 @@ compiler/stage%/build/Config.hs : mk/config.mk mk/project.mk | $$(dir $$@)/.
        @echo '{-# LANGUAGE CPP #-}'                                        >> $@
        @echo 'module Config where'                                         >> $@
        @echo                                                               >> $@
-       @echo 'import Distribution.System'                                  >> $@
-       @echo                                                               >> $@
        @echo '#include "ghc_boot_platform.h"'                              >> $@
        @echo                                                               >> $@
        @echo 'cBuildPlatformString :: String'                              >> $@
@@ -60,94 +58,6 @@ compiler/stage%/build/Config.hs : mk/config.mk mk/project.mk | $$(dir $$@)/.
        @echo 'cTargetPlatformString :: String'                             >> $@
        @echo 'cTargetPlatformString = TargetPlatform_NAME'                 >> $@
        @echo                                                               >> $@
-# Sync this with checkArch in configure.ac
-       @echo 'cTargetArch :: Arch'                                         >> $@
-       @echo '#if i386_TARGET_ARCH'                                        >> $@
-       @echo 'cTargetArch = I386'                                          >> $@
-       @echo '#elif x86_64_TARGET_ARCH'                                    >> $@
-       @echo 'cTargetArch = X86_64'                                        >> $@
-       @echo '#elif powerpc_TARGET_ARCH'                                   >> $@
-       @echo 'cTargetArch = PPC'                                           >> $@
-       @echo '#elif powerpc64_TARGET_ARCH'                                 >> $@
-       @echo 'cTargetArch = PPC64'                                         >> $@
-       @echo '#elif sparc_TARGET_ARCH || sparc64_TARGET_ARCH'              >> $@
-       @echo 'cTargetArch = Sparc'                                         >> $@
-       @echo '#elif arm_TARGET_ARCH'                                       >> $@
-       @echo 'cTargetArch = Arm'                                           >> $@
-       @echo '#elif mips_TARGET_ARCH || mipseb_TARGET_ARCH || mipsel_TARGET_ARCH' >> $@
-       @echo 'cTargetArch = Mips'                                          >> $@
-       @echo '#elif 0'                                                     >> $@
-       @echo 'cTargetArch = SH'                                            >> $@
-       @echo '#elif ia64_TARGET_ARCH'                                      >> $@
-       @echo 'cTargetArch = IA64'                                          >> $@
-       @echo '#elif s390_TARGET_ARCH'                                      >> $@
-       @echo 'cTargetArch = S390'                                          >> $@
-       @echo '#elif alpha_TARGET_ARCH'                                     >> $@
-       @echo 'cTargetArch = Alpha'                                         >> $@
-       @echo '#elif hppa_TARGET_ARCH || hppa1_1_TARGET_ARCH'               >> $@
-       @echo 'cTargetArch = Hppa'                                          >> $@
-       @echo '#elif rs6000_TARGET_ARCH'                                    >> $@
-       @echo 'cTargetArch = Rs6000'                                        >> $@
-       @echo '#elif m68k_TARGET_ARCH'                                      >> $@
-       @echo 'cTargetArch = M68k'                                          >> $@
-       @echo '#elif vax_TARGET_ARCH'                                       >> $@
-       @echo 'cTargetArch = Vax'                                           >> $@
-       @echo '#else'                                                       >> $@
-       @echo '#error Unknown target arch'                                  >> $@
-       @echo '#endif'                                                      >> $@
-       @echo                                                               >> $@
-# Sync this with checkOS in configure.ac
-       @echo 'cTargetOS :: OS'                                             >> $@
-       @echo '#if linux_TARGET_OS'                                         >> $@
-       @echo 'cTargetOS = Linux'                                           >> $@
-       @echo '#elif freebsd_TARGET_OS'                                     >> $@
-       @echo 'cTargetOS = FreeBSD'                                         >> $@
-       @echo '#elif netbsd_TARGET_OS'                                      >> $@
-       @echo 'cTargetOS = NetBSD'                                          >> $@
-       @echo '#elif openbsd_TARGET_OS'                                     >> $@
-       @echo 'cTargetOS = OpenBSD'                                         >> $@
-       @echo '#elif dragonfly_TARGET_OS'                                   >> $@
-       @echo 'cTargetOS = OtherOS "dragonfly"'                             >> $@
-       @echo '#elif osf1_TARGET_OS'                                        >> $@
-       @echo 'cTargetOS = OtherOS "osf"'                                   >> $@
-       @echo '#elif osf3_TARGET_OS'                                        >> $@
-       @echo 'cTargetOS = OtherOS "osf"'                                   >> $@
-       @echo '#elif hpux_TARGET_OS'                                        >> $@
-       @echo 'cTargetOS = HPUX'                                            >> $@
-       @echo '#elif linuxaout_TARGET_OS'                                   >> $@
-       @echo 'cTargetOS = Linux'                                           >> $@
-       @echo '#elif kfreebsdgnu_TARGET_OS'                                 >> $@
-       @echo 'cTargetOS = OtherOS "kfreebsdgnu"'                           >> $@
-       @echo '#elif freebsd2_TARGET_OS'                                    >> $@
-       @echo 'cTargetOS = FreeBSD'                                         >> $@
-       @echo '#elif solaris2_TARGET_OS'                                    >> $@
-       @echo 'cTargetOS = Solaris'                                         >> $@
-       @echo '#elif cygwin32_TARGET_OS'                                    >> $@
-       @echo 'cTargetOS = Windows'                                         >> $@
-       @echo '#elif mingw32_TARGET_OS'                                     >> $@
-       @echo 'cTargetOS = Windows'                                         >> $@
-       @echo '#elif darwin_TARGET_OS'                                      >> $@
-       @echo 'cTargetOS = OSX'                                             >> $@
-       @echo '#elif gnu_TARGET_OS'                                         >> $@
-       @echo 'cTargetOS = OtherOS "gnu"'                                   >> $@
-       @echo '#elif nextstep2_TARGET_OS'                                   >> $@
-       @echo 'cTargetOS = OtherOS "nextstep"'                              >> $@
-       @echo '#elif nextstep3_TARGET_OS'                                   >> $@
-       @echo 'cTargetOS = OtherOS "nextstep"'                              >> $@
-       @echo '#elif sunos4_TARGET_OS'                                      >> $@
-       @echo 'cTargetOS = Solaris'                                         >> $@
-       @echo '#elif ultrix_TARGET_OS'                                      >> $@
-       @echo 'cTargetOS = OtherOS "ultrix"'                                >> $@
-       @echo '#elif irix_TARGET_OS'                                        >> $@
-       @echo 'cTargetOS = IRIX'                                            >> $@
-       @echo '#elif aix_TARGET_OS'                                         >> $@
-       @echo 'cTargetOS = AIX'                                             >> $@
-       @echo '#elif haiku_TARGET_OS'                                       >> $@
-       @echo 'cTargetOS = OtherOS "haiku"'                                 >> $@
-       @echo '#else'                                                       >> $@
-       @echo '#error Unknown target OS'                                    >> $@
-       @echo '#endif'                                                      >> $@
-       @echo                                                               >> $@
        @echo 'cProjectName          :: String'                             >> $@
        @echo 'cProjectName          = "$(ProjectName)"'                    >> $@
        @echo 'cProjectVersion       :: String'                             >> $@
index aeac000..2719470 100644 (file)
@@ -55,7 +55,6 @@ import Platform
 
 import Exception
 import Data.IORef       ( readIORef )
-import Distribution.System
 import System.Directory
 import System.FilePath
 import System.IO
@@ -1092,7 +1091,7 @@ runPhase cc_phase input_fn dflags
                 -- These symbols are imported into the stub.c file via RtsAPI.h, and the
                 -- way we do the import depends on whether we're currently compiling
                 -- the base package or not.
-                       ++ (if cTargetOS == Windows &&
+                       ++ (if platformOS (targetPlatform dflags) == OSMinGW32 &&
                               thisPackage dflags == basePackageId
                                 then [ "-DCOMPILING_BASE_PACKAGE" ]
                                 else [])
@@ -1329,7 +1328,7 @@ runPhase LlvmLlc input_fn dflags
     return (LlvmMangle, output_fn)
   where
         -- Bug in LLVM at O3 on OSX.
-        llvmOpts = if cTargetOS == OSX
+        llvmOpts = if platformOS (targetPlatform dflags) == OSDarwin
                    then ["-O1", "-O2", "-O2"]
                    else ["-O1", "-O2", "-O3"]
 
@@ -1646,7 +1645,7 @@ linkBinary dflags o_files dep_packages = do
 
                       -- Permit the linker to auto link _symbol to _imp_symbol.
                       -- This lets us link against DLLs without needing an "import library".
-                      ++ (if cTargetOS == Windows
+                      ++ (if platformOS (targetPlatform dflags) == OSMinGW32
                           then ["-Wl,--enable-auto-import"]
                           else [])
 
@@ -1680,13 +1679,13 @@ linkBinary dflags o_files dep_packages = do
 exeFileName :: DynFlags -> FilePath
 exeFileName dflags
   | Just s <- outputFile dflags =
-      if cTargetOS == Windows
+      if platformOS (targetPlatform dflags) == OSMinGW32
       then if null (takeExtension s)
            then s <.> "exe"
            else s
       else s
   | otherwise =
-      if cTargetOS == Windows
+      if platformOS (targetPlatform dflags) == OSMinGW32
       then "main.exe"
       else "a.out"
 
index 67d6b57..2de4d8a 100644 (file)
@@ -242,7 +242,6 @@ case $host in
      ;;
 esac
 
-# Sync this with cTargetArch in compiler/ghc.mk
 checkArch() {
     case $1 in
     alpha|arm|hppa|hppa1_1|i386|ia64|m68k|mips|mipseb|mipsel|powerpc|powerpc64|rs6000|s390|sparc|sparc64|vax|x86_64)
@@ -265,7 +264,6 @@ checkVendor() {
     esac
 }
 
-# Sync this with cTargetOS in compiler/ghc.mk
 checkOS() {
     case $1 in
     linux|freebsd|netbsd|openbsd|dragonfly|osf1|osf3|hpux|linuxaout|kfreebsdgnu|freebsd2|solaris2|cygwin32|mingw32|darwin|gnu|nextstep2|nextstep3|sunos4|ultrix|irix|aix|haiku)