- @echo "Creating $@ ... "
- @echo "module Config where" >>$@
- @echo "cProjectName :: String" >> $@
- @echo "cProjectName = \"$(ProjectName)\"" >> $@
- @echo "cProjectVersion :: String" >> $@
- @echo "cProjectVersion = \"$(ProjectVersion)\"" >> $@
- @echo "cProjectVersionInt :: String" >> $@
- @echo "cProjectVersionInt = \"$(ProjectVersionInt)\"" >> $@
- @echo "cProjectPatchLevel :: String" >> $@
- @echo "cProjectPatchLevel = \"$(ProjectPatchLevel)\"" >> $@
- @echo "cBooterVersion :: String" >> $@
- @echo "cBooterVersion = \"$(GhcVersion)\"" >> $@
- @echo "cStage :: String" >> $@
- @echo "cStage = show (STAGE :: Int)" >> $@
- @echo "cHscIfaceFileVersion :: String" >> $@
- @echo "cHscIfaceFileVersion = \"$(HscIfaceFileVersion)\"" >> $@
- @echo "cSplitObjs :: String" >> $@
- @echo "cSplitObjs = \"$(SupportsSplitObjs)\"" >> $@
- @echo "cGhcWithInterpreter :: String" >> $@
- @echo "cGhcWithInterpreter = \"$(GhcWithInterpreter)\"" >> $@
- @echo "cGhcWithNativeCodeGen :: String" >> $@
- @echo "cGhcWithNativeCodeGen = \"$(GhcWithNativeCodeGen)\"" >> $@
- @echo "cGhcWithSMP :: String" >> $@
- @echo "cGhcWithSMP = \"$(GhcWithSMP)\"" >> $@
- @echo "cGhcRTSWays :: String" >> $@
- @echo "cGhcRTSWays = \"$(GhcRTSWays)\"" >> $@
- @echo "cGhcUnregisterised :: String" >> $@
- @echo "cGhcUnregisterised = \"$(GhcUnregisterised)\"" >> $@
- @echo "cGhcEnableTablesNextToCode :: String" >> $@
- @echo "cGhcEnableTablesNextToCode = \"$(GhcEnableTablesNextToCode)\"" >> $@
- @echo "cLeadingUnderscore :: String" >> $@
- @echo "cLeadingUnderscore = \"$(LeadingUnderscore)\"" >> $@
- @echo "cRAWCPP_FLAGS :: String" >> $@
- @echo "cRAWCPP_FLAGS = \"$(RAWCPP_FLAGS)\"" >> $@
- @echo "cGCC :: String" >> $@
- @echo "cGCC = \"$(WhatGccIsCalled)\"" >> $@
- @echo "cMKDLL :: String" >> $@
- @echo "cMKDLL = \"$(BLD_DLL)\"" >> $@
- @echo "cLdIsGNULd :: String" >> $@
- @echo "cLdIsGNULd = \"$(LdIsGNULd)\"" >> $@
- @echo "cLD_X :: String" >> $@
- @echo "cLD_X = \"$(LD_X)\"" >> $@
- @echo "cGHC_DRIVER_DIR :: String" >> $@
- @echo "cGHC_DRIVER_DIR = \"$(GHC_DRIVER_DIR)\"" >> $@
- @echo "cGHC_TOUCHY_PGM :: String" >> $@
- @echo "cGHC_TOUCHY_PGM = \"$(GHC_TOUCHY_PGM)\"" >> $@
- @echo "cGHC_TOUCHY_DIR :: String" >> $@
- @echo "cGHC_TOUCHY_DIR = \"$(GHC_TOUCHY_DIR)\"" >> $@
- @echo "cGHC_UNLIT_PGM :: String" >> $@
- @echo "cGHC_UNLIT_PGM = \"$(GHC_UNLIT_PGM)\"" >> $@
- @echo "cGHC_UNLIT_DIR :: String" >> $@
- @echo "cGHC_UNLIT_DIR = \"$(GHC_UNLIT_DIR)\"" >> $@
- @echo "cGHC_MANGLER_PGM :: String" >> $@
- @echo "cGHC_MANGLER_PGM = \"$(GHC_MANGLER_PGM)\"" >> $@
- @echo "cGHC_MANGLER_DIR :: String" >> $@
- @echo "cGHC_MANGLER_DIR = \"$(GHC_MANGLER_DIR)\"" >> $@
- @echo "cGHC_SPLIT_PGM :: String" >> $@
- @echo "cGHC_SPLIT_PGM = \"$(GHC_SPLIT_PGM)\"" >> $@
- @echo "cGHC_SPLIT_DIR :: String" >> $@
- @echo "cGHC_SPLIT_DIR = \"$(GHC_SPLIT_DIR)\"" >> $@
- @echo "cGHC_SYSMAN_PGM :: String" >> $@
- @echo "cGHC_SYSMAN_PGM = \"$(GHC_SYSMAN)\"" >> $@
- @echo "cGHC_SYSMAN_DIR :: String" >> $@
- @echo "cGHC_SYSMAN_DIR = \"$(GHC_SYSMAN_DIR)\"" >> $@
- @echo "cGHC_CP :: String" >> $@
- @echo "cGHC_CP = \"$(GHC_CP)\"" >> $@
- @echo "cGHC_PERL :: String" >> $@
- @echo "cGHC_PERL = \"$(GHC_PERL)\"" >> $@
- @echo "cEnableWin32DLLs :: String" >> $@
- @echo "cEnableWin32DLLs = \"$(EnableWin32DLLs)\"" >> $@
- @echo "cCONTEXT_DIFF :: String" >> $@
- @echo "cCONTEXT_DIFF = \"$(CONTEXT_DIFF)\"" >> $@
- @echo "cUSER_WAY_NAMES :: String" >> $@
- @echo "cUSER_WAY_NAMES = \"$(USER_WAY_NAMES)\"" >> $@
- @echo "cUSER_WAY_OPTS :: String" >> $@
- @echo "cUSER_WAY_OPTS = \"$(USER_WAY_OPTS)\"" >> $@
- @echo "cDEFAULT_TMPDIR :: String" >> $@
- @echo "cDEFAULT_TMPDIR = \"$(DEFAULT_TMPDIR)\"" >> $@
- @echo "cRelocatableBuild :: Bool" >> $@
+ @echo 'Creating $@ ... '
+ @echo '{-# LANGUAGE CPP #-}' >> $@
+ @echo 'module Config where' >> $@
+ @echo >> $@
+ @echo 'import Distribution.System' >> $@
+ @echo >> $@
+ @echo '#include "ghc_boot_platform.h"' >> $@
+ @echo >> $@
+ @echo 'cBuildPlatformString :: String' >> $@
+ @echo 'cBuildPlatformString = BuildPlatform_NAME' >> $@
+ @echo 'cHostPlatformString :: String' >> $@
+ @echo 'cHostPlatformString = HostPlatform_NAME' >> $@
+ @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' >> $@
+ @echo 'cProjectVersion = "$(ProjectVersion)"' >> $@
+ @echo 'cProjectVersionInt :: String' >> $@
+ @echo 'cProjectVersionInt = "$(ProjectVersionInt)"' >> $@
+ @echo 'cProjectPatchLevel :: String' >> $@
+ @echo 'cProjectPatchLevel = "$(ProjectPatchLevel)"' >> $@
+ @echo 'cBooterVersion :: String' >> $@
+ @echo 'cBooterVersion = "$(GhcVersion)"' >> $@
+ @echo 'cStage :: String' >> $@
+ @echo 'cStage = show (STAGE :: Int)' >> $@
+ @echo 'cGccLinkerOpts :: [String]' >> $@
+ @echo 'cGccLinkerOpts = words "$(CONF_GCC_LINKER_OPTS_STAGE$*)"' >> $@
+ @echo 'cLdLinkerOpts :: [String]' >> $@
+ @echo 'cLdLinkerOpts = words "$(CONF_LD_LINKER_OPTS_STAGE$*)"' >> $@
+ @echo 'cIntegerLibrary :: String' >> $@
+ @echo 'cIntegerLibrary = "$(INTEGER_LIBRARY)"' >> $@
+ @echo 'cSupportsSplitObjs :: String' >> $@
+ @echo 'cSupportsSplitObjs = "$(SupportsSplitObjs)"' >> $@
+ @echo 'cGhcWithInterpreter :: String' >> $@
+ @echo 'cGhcWithInterpreter = "$(GhcWithInterpreter)"' >> $@
+ @echo 'cGhcWithNativeCodeGen :: String' >> $@
+ @echo 'cGhcWithNativeCodeGen = "$(GhcWithNativeCodeGen)"' >> $@
+ @echo 'cGhcWithSMP :: String' >> $@
+ @echo 'cGhcWithSMP = "$(GhcWithSMP)"' >> $@
+ @echo 'cGhcRTSWays :: String' >> $@
+ @echo 'cGhcRTSWays = "$(GhcRTSWays)"' >> $@
+ @echo 'cGhcUnregisterised :: String' >> $@
+ @echo 'cGhcUnregisterised = "$(GhcUnregisterised)"' >> $@
+ @echo 'cGhcEnableTablesNextToCode :: String' >> $@
+ @echo 'cGhcEnableTablesNextToCode = "$(GhcEnableTablesNextToCode)"' >> $@
+ @echo 'cLeadingUnderscore :: String' >> $@
+ @echo 'cLeadingUnderscore = "$(LeadingUnderscore)"' >> $@
+ @echo 'cRAWCPP_FLAGS :: String' >> $@
+ @echo 'cRAWCPP_FLAGS = "$(RAWCPP_FLAGS)"' >> $@
+ @echo 'cMKDLL :: String' >> $@
+ @echo 'cMKDLL = "$(BLD_DLL)"' >> $@
+ @echo 'cLdIsGNULd :: String' >> $@
+ @echo 'cLdIsGNULd = "$(LdIsGNULd)"' >> $@
+ @echo 'cLdHasBuildId :: String' >> $@
+ @echo 'cLdHasBuildId = "$(LdHasBuildId)"' >> $@
+ @echo 'cLD_X :: String' >> $@
+ @echo 'cLD_X = "$(LD_X)"' >> $@
+ @echo 'cGHC_DRIVER_DIR :: String' >> $@
+ @echo 'cGHC_DRIVER_DIR = "$(GHC_DRIVER_DIR)"' >> $@
+ @echo 'cGHC_TOUCHY_PGM :: String' >> $@
+ @echo 'cGHC_TOUCHY_PGM = "$(GHC_TOUCHY_PGM)"' >> $@
+ @echo 'cGHC_TOUCHY_DIR :: String' >> $@
+ @echo 'cGHC_TOUCHY_DIR = "$(GHC_TOUCHY_DIR)"' >> $@
+ @echo 'cGHC_UNLIT_PGM :: String' >> $@
+ @echo 'cGHC_UNLIT_PGM = "$(GHC_UNLIT_PGM)"' >> $@
+ @echo 'cGHC_UNLIT_DIR :: String' >> $@
+ @echo 'cGHC_UNLIT_DIR = "$(GHC_UNLIT_DIR)"' >> $@
+ @echo 'cGHC_SPLIT_PGM :: String' >> $@
+ @echo 'cGHC_SPLIT_PGM = "$(GHC_SPLIT_PGM)"' >> $@
+ @echo 'cGHC_SPLIT_DIR :: String' >> $@
+ @echo 'cGHC_SPLIT_DIR = "$(GHC_SPLIT_DIR)"' >> $@
+ @echo 'cGHC_SYSMAN_PGM :: String' >> $@
+ @echo 'cGHC_SYSMAN_PGM = "$(GHC_SYSMAN)"' >> $@
+ @echo 'cGHC_SYSMAN_DIR :: String' >> $@
+ @echo 'cGHC_SYSMAN_DIR = "$(GHC_SYSMAN_DIR)"' >> $@
+ @echo 'cDEFAULT_TMPDIR :: String' >> $@
+ @echo 'cDEFAULT_TMPDIR = "$(DEFAULT_TMPDIR)"' >> $@
+ @echo 'cRelocatableBuild :: Bool' >> $@