Skip to content
  1. Aug 26, 2013
  2. Aug 24, 2013
  3. Aug 17, 2013
  4. Aug 12, 2013
    • Chandler Carruth's avatar
      Remove all checking for the various terminfo headers (term.h and · 91219858
      Chandler Carruth authored
      curses.h). Finding these headers is next to impossible. For example, on
      Debian systems libtinfo-dev provides the terminfo reading library we
      want, but *not* term.h. For the header, you have to use libncurses-dev.
      And libncursesw-dev provides a *different* term.h in a different
      location!
      
      These headers aren't worth it. We want two functions the signatures of
      which are clearly spec'ed in sys-v and other documentation. Just declare
      them ourselves and call them. This should fix some debian builders and
      provide better support for "minimal" debian systems that do want color
      autodetection.
      
      llvm-svn: 188165
      91219858
    • Chandler Carruth's avatar
      Target a minimal terminfo library rather than necessarily a full curses · f11f1e43
      Chandler Carruth authored
      library for color support detection. This still will use a curses
      library if that is all we have available on the system. This change
      tries to use a smaller subset of the curses library, specifically the
      subset that is on some systems split off into a separate library. For
      example, if you install ncurses configured --with-tinfo, a 'libtinfo' is
      install that provides just the terminfo querying functionality. That
      library is now used instead of curses when it is available.
      
      This happens to fix a build error on systems with that library because
      when we tried to link ncurses into the binary, we didn't pull tinfo in
      as well. =]
      
      It should also provide an easy path for supporting the NetBSD
      libterminfo library, but as I don't have access to a NetBSD system I'm
      leaving adding that support to those folks.
      
      llvm-svn: 188160
      f11f1e43
  5. Aug 07, 2013
    • Chandler Carruth's avatar
      Add support for linking against a curses library when available and · cad7e5e0
      Chandler Carruth authored
      using it to detect whether or not a terminal supports colors. This
      replaces a particularly egregious hack that merely compared the TERM
      environment variable to "dumb". That doesn't really translate to
      a reasonable experience for users that have actually ensured their
      terminal's capabilities are accurately reflected.
      
      This makes testing a terminal for color support somewhat more expensive,
      but it is called very rarely anyways. The important fast path when the
      output is being piped somewhere is already in place.
      
      The global lock may seem excessive, but the spec for calling into curses
      is *terrible*. The whole library is terrible, and I spent quite a bit of
      time looking for a better way of doing this before convincing myself
      that this was the fundamentally correct way to behave. The damage of the
      curses library is very narrowly confined, and we continue to use raw
      escape codes for actually manipulating the colors which is a much sane
      system than directly using curses here (IMO).
      
      If this causes trouble for folks, please let me know. I've tested it on
      Linux and will watch the bots carefully. I've also worked to account for
      the variances of curses interfaces that I could finde documentation for,
      but that may not have been sufficient.
      
      llvm-svn: 187874
      cad7e5e0
    • Reid Kleckner's avatar
      Check for _strtoi64 in the cmake build if strtoll is missing · a3ae94e8
      Reid Kleckner authored
      Previously this check was guarded by MSVC, which doesn't distinguish
      between the compiler and the headers/library.  This enables clang to
      compile more of LLVM on Windows with Microsoft headers.
      
      Remove some unused macros while I'm here: error_t and LTDL stuff.
      
      llvm-svn: 187839
      a3ae94e8
  6. Jul 26, 2013
    • Reid Kleckner's avatar
      Remove dead or useless header checks from cmake and autoconf · 37f69de1
      Reid Kleckner authored
      On Windows, this improves clean cmake configuration time on my
      workstation from 1m58s to 1m32s, which is pretty significant.  There's
      probably more that can be done here, but this is the low hanging fruit.
      
      Eric volunteered to regenerate ./configure for me.
      
      llvm-svn: 187209
      37f69de1
  7. Jul 08, 2013
  8. Jul 04, 2013
  9. Jun 26, 2013
  10. Jun 11, 2013
  11. May 06, 2013
    • Ulrich Weigand's avatar
      · 1ceebf6e
      Ulrich Weigand authored
      [SystemZ] Add configure bits
      
      This patch wires up the SystemZ target in configure, so that it can now be
      built using --enable-targets=systemz.   It is not yet included in the default
      build (--enable-targets=all); this will be done by a follow-up patch.
      
      Patch by Richard Sandiford.
      
      llvm-svn: 181208
      1ceebf6e
  12. May 04, 2013
  13. May 03, 2013
  14. Apr 28, 2013
  15. Apr 23, 2013
  16. Mar 25, 2013
  17. Feb 09, 2013
    • Jordan Rose's avatar
      CMake: Use check_symbol_exists instead of check_cxx_symbol_exists. · cea01ee9
      Jordan Rose authored
      check_cxx_symbol_exists requires CMake 2.8.6, so even though I
      recommended it to Owen it's probably better to stay away for now.
      This check is not technically correct because we're checking <math.h>
      but then using <cmath> in the actual code, but if we run into problems we
      can do the same sort of dance as isinf() and isnan() where we check /both/
      headers and then write a wrapper header around them.
      
      llvm-svn: 174773
      cea01ee9
  18. Feb 07, 2013
  19. Feb 04, 2013
    • Edwin Vane's avatar
      Turn off uninitialized-use warnings for gcc in cmake build · a9c5bb3f
      Edwin Vane authored
      Added support to the cmake build to turn off uninitialized use warnings
      for gcc. This cleans the build up somewhat.
      
      Used logic simpler than found in autoconf by making use of the fact that
      although gcc won't complain about unsupported -Wno-* flags it *will*
      complain about unsupported -W flags.
      
      Reviewers: gribozavr, doug.gregor, chandlerc
      llvm-svn: 174299
      a9c5bb3f
  20. Jan 31, 2013
  21. Jan 05, 2013
    • Chandler Carruth's avatar
      Add time getters to the process interface for requesting the elapsed · ef7f968e
      Chandler Carruth authored
      wall time, user time, and system time since a process started.
      
      For walltime, we currently use TimeValue's interface and a global
      initializer to compute a close approximation of total process runtime.
      
      For user time, this adds support for an somewhat more precise timing
      mechanism -- clock_gettime with the CLOCK_PROCESS_CPUTIME_ID clock
      selected.
      
      For system time, we have to do a full getrusage call to extract the
      system time from the OS. This is expensive but unavoidable.
      
      In passing, clean up the implementation of the old APIs and fix some
      latent bugs in the Windows code. This might have manifested on Windows
      ARM systems or other systems with strange 64-bit integer behavior.
      
      The old API for this both user time and system time simultaneously from
      a single getrusage call. While this results in fewer system calls, it
      also results in a lower precision user time and if only user time is
      desired, it introduces a higher overhead. It may be worthwhile to switch
      some of the pass timers to not track system time and directly track user
      and wall time. The old API also tracked walltime in a confusing way --
      it just set it to the current walltime rather than providing any measure
      of wall time since the process started the way buth user and system time
      are tracked. The new API is more consistent here.
      
      The plan is to eventually implement these methods for a *child* process
      by using the wait3(2) system call to populate an rusage struct
      representing the whole subprocess execution. That way, after waiting on
      a child process its stats will become accurate and cheap to query.
      
      llvm-svn: 171551
      ef7f968e
  22. Dec 14, 2012
  23. Sep 04, 2012
  24. Sep 01, 2012
  25. Aug 20, 2012
    • Sebastian Pop's avatar
      enable cross compilation with cmake · faeca292
      Sebastian Pop authored
      This patch allows us to use cmake to specify a cross compiler: target different
      than host. In particular, it moves LLVM_DEFAULT_TARGET_TRIPLE and TARGET_TRIPLE
      variables from cmake/config-ix.cmake to the toplevel CMakeLists.txt to make them
      available at configure time.
      
      Here is the command line that I have used to test my patches to create a Hexagon
      cross compiler hosted on x86:
      
      $ cmake -G Ninja -D LLVM_TARGETS_TO_BUILD:STRING=Hexagon -D TARGET_TRIPLE:STRING=hexagon-unknown-linux-gnu -D LLVM_DEFAULT_TARGET_TRIPLE:STRING=hexagon-unknown-linux-gnu -D LLVM_TARGET_ARCH:STRING=hexagon-unknown-linux-gnu ..
      $ ninja check
      
      llvm-svn: 162219
      faeca292
    • Sebastian Pop's avatar
      enable Hexagon target from cmake · 8f4aec43
      Sebastian Pop authored
      The patch adds a missing case for the Hexagon target in cmake/config-ix.cmake.
      
      llvm-svn: 162218
      8f4aec43
  26. Aug 08, 2012
    • Sebastian Pop's avatar
      revert my previous patch · 82622dc3
      Sebastian Pop authored
      llvm-svn: 161505
      82622dc3
    • Sebastian Pop's avatar
      enable Hexagon target from cmake · 7e9da1d4
      Sebastian Pop authored
      This patch allows us to use cmake to specify a cross compiler for Hexagon.
      
      In particular, the patch adds a missing case for the target Hexagon in
      cmake/config-ix.cmake, and it moves LLVM_DEFAULT_TARGET_TRIPLE and TARGET_TRIPLE
      variables from cmake/config-ix.cmake to the toplevel CMakeLists.txt to make them
      available at configure time. Here is the command line that I have used to test
      my patches:
      
      $ cmake -G Ninja -D BUILD_SHARED_LIBS:BOOL=ON -D LLVM_TARGETS_TO_BUILD:STRING=Hexagon -D TARGET_TRIPLE:STRING=hexagon-unknown-linux-gnu -D LLVM_DEFAULT_TARGET_TRIPLE:STRING=hexagon-unknown-linux-gnu -D LLVM_TARGET_ARCH:STRING=hexagon-unknown-linux-gnu -D LLVM_ENABLE_PIC:BOOL=OFF ..
      $ ninja check
      
      llvm-svn: 161504
      7e9da1d4
  27. Jul 22, 2012
  28. May 05, 2012
  29. May 03, 2012
Loading