1. 08 Dec, 2011 1 commit
  2. 27 Nov, 2011 2 commits
  3. 25 Nov, 2011 1 commit
  4. 02 Nov, 2011 1 commit
  5. 19 Oct, 2011 5 commits
  6. 07 Oct, 2011 1 commit
    • dmp's avatar
      Add autoconf support to detect an LLVM-based C compiler · 6247b59e
      dmp authored
      This patch adds support to the autoconf scripts to detect
      when we are using a C compiler that uses an LLVM back end.
      An LLVM back end does not support all of the extensions use
      by GCC, so we need to perform some conditional compilation
      in the runtime, particularly for handling thread local
      storage and global register variables.
      
      The changes here will set the CC_LLVM_BACKEND in the
      autoconf scripts if we detect an llvm-based compiler. We use
      this variable to define the llvm_CC_FLAVOR variable that we
      can use in the runtime code to conditionally compile for
      LLVM.
      6247b59e
  7. 01 Oct, 2011 1 commit
    • Ian Lynagh's avatar
      Fix bindist finding gcc on OS X; fixes trac #5397 · 651cd996
      Ian Lynagh authored
      $TargetOS_CPP wasn't getting defined in a bindist, which meant the
      code to use gcc-4.2 instead of gcc on OS X wasn't working. Now fixed,
      by moving some of configure.ac's code into the shared aclocal.m4.
      651cd996
  8. 06 Sep, 2011 1 commit
  9. 05 Aug, 2011 1 commit
  10. 02 Aug, 2011 3 commits
  11. 26 Jun, 2011 1 commit
    • Sergei Trofimovich's avatar
      The patch fixes recognition of 'softfloat' targets as valid: · 690f7ec4
      Sergei Trofimovich authored
      
          ghc $ ./configure --build=armv5tel-softfloat-linux-gnueabi \
                            --host=armv5tel-softfloat-linux-gnueabi \
                            --target=armv5tel-softfloat-linux-gnueabi
          checking for gfind... no
          checking for find... /usr/bin/find
          checking for sort... /usr/bin/sort
          checking for GHC version date... inferred 7.1.20110626
          checking for ghc... /usr/bin/ghc
          checking version of ghc... 7.0.4
          checking build system type... armv5tel-softfloat-linux-gnueabi
          checking host system type... armv5tel-softfloat-linux-gnueabi
          checking target system type... armv5tel-softfloat-linux-gnueabi
          Unknown vendor softfloat
      Signed-off-by: default avatarSergei Trofimovich <slyfox@gentoo.org>
      690f7ec4
  12. 25 Jun, 2011 1 commit
    • Ian Lynagh's avatar
      Fix gcc 4.6 warnings; fixes #5176 · 0a6f26f6
      Ian Lynagh authored
      Based on a patch from David Terei.
      
      Some parts are a little ugly (e.g. defining things that only ASSERTs
      use only when DEBUG is defined), so we might want to tweak things a
      little.
      
      I've also turned off -Werror for didn't-inline warnings, as we now
      get a few such warnings.
      0a6f26f6
  13. 23 Jun, 2011 1 commit
  14. 22 Jun, 2011 1 commit
  15. 06 Jun, 2011 1 commit
  16. 05 May, 2011 1 commit
  17. 29 Apr, 2011 2 commits
  18. 23 Apr, 2011 2 commits
  19. 22 Apr, 2011 4 commits
  20. 20 Apr, 2011 1 commit
  21. 13 Apr, 2011 1 commit
  22. 12 Apr, 2011 1 commit
    • Simon Marlow's avatar
      Change the way module initialisation is done (#3252, #4417) · a52ff761
      Simon Marlow authored
      Previously the code generator generated small code fragments labelled
      with __stginit_M for each module M, and these performed whatever
      initialisation was necessary for that module and recursively invoked
      the initialisation functions for imported modules.  This appraoch had
      drawbacks:
      
       - FFI users had to call hs_add_root() to ensure the correct
         initialisation routines were called.  This is a non-standard,
         and ugly, API.
      
       - unless we were using -split-objs, the __stginit dependencies would
         entail linking the whole transitive closure of modules imported,
         whether they were actually used or not.  In an extreme case (#4387,
         #4417), a module from GHC might be imported for use in Template
         Haskell or an annotation, and that would force the whole of GHC to
         be needlessly linked into the final executable.
      
      So now instead we do our initialisation with C functions marked with
      __attribute__((constructor)), which are automatically invoked at
      program startup time (or DSO load-time).  The C initialisers are
      emitted into the stub.c file.  This means that every time we compile
      with -prof or -hpc, we now get a stub file, but thanks to #3687 that
      is now invisible to the user.
      
      There are some refactorings in the RTS (particularly for HPC) to
      handle the fact that initialisers now get run earlier than they did
      before.
      
      The __stginit symbols are still generated, and the hs_add_root()
      function still exists (but does nothing), for backwards compatibility.
      a52ff761
  23. 04 Apr, 2011 1 commit
  24. 13 Mar, 2011 1 commit
  25. 01 Mar, 2011 1 commit
    • Sergei Trofimovich's avatar
      configure: triplet: accept i486 CPU (and more), more vendors and OSes · c00ea87f
      Sergei Trofimovich authored
      Gentoo has interesting ports:
      
        - freebsd with following triplet:
              ./configure --build=i686-gentoo-freebsd8 --host=i686-gentoo-freebsd8 --host=i686-gentoo-freebsd8
          should be recognized as 'i386-unknown-freebsd'
        - 'pc' vendor along with non-'i386' is very common:
              ./configure --build=i486-pc-linux-gnu --i486-pc-linux-gnu --host=i486-pc-linux-gnu
              ./configure --build=i686-pc-linux-gnu --i686-pc-linux-gnu --host=i686-pc-linux-gnu
          should be recognized as 'i386-unknown-linux'
      
      Patch adds:
      
        - 'pc' vendor                 (maps to 'unknown')
        - 'gentoo' vendor             (maps to 'unknown')
        - 'i486', 'i586', 'i686' CPUs (maps to 'i386')
        - 'freebsd8' OS               (maps to 'freebsd')
      c00ea87f
  26. 11 Feb, 2011 1 commit
    • Ian Lynagh's avatar
      Fix platform detection in bindists · 650d6440
      Ian Lynagh authored
      In a bindist, we generate files like the hsc2hs wrapper.
      This means we need to have the right values for the variables like
      CONF_GCC_LINKER_OPTS_STAGE1 which in turn means we need to know what
      platform we're on.
      650d6440
  27. 24 Jan, 2011 1 commit
  28. 17 Jan, 2011 1 commit