Skip to content
  1. Mar 12, 2014
    • Rafael Espindola's avatar
      Remove projects/sample. · 730df071
      Rafael Espindola authored
      As an example that was not actually being used, it suffered from a slow bitrot.
      
      The two main issues with it were that it had no cmake support and
      included a copy of the autoconf directory. The reality is that
      autoconf is not easily composable. The lack of composabilty is why we
      have clang options in llvm's configure. Suggesting that users include
      a copy of autoconf/ in their projects seems a bad idea.
      
      We are also in the process of switching to cmake, so pushing autoconf
      to new project is probably not what we want.
      
      llvm-svn: 203728
      730df071
  2. Mar 10, 2014
  3. Mar 03, 2014
    • Tom Stellard's avatar
      Add patch level to llvm version in CMake and Autoconf · e6ba81da
      Tom Stellard authored
      The shared library generated by autoconf will now be called
      libLLVM-$(VERSION_MAJOR).$(VERSION_MINOR).$(VERSION_PATCH)$(VERSION_SUFFIX).so
      and a symlink named
      libLLVM-$(VERSION_MAJOR).$(VERSION_MINOR)$(VERSION_SUFFIX).so will
      also be created in the install directory.
      
      llvm-svn: 202720
      e6ba81da
  4. Mar 01, 2014
    • Chandler Carruth's avatar
      [C++11] Replace autoconf --enable-cxx11 with --enable-cxx1y. The · bbae512c
      Chandler Carruth authored
      baseline is now C++11, and we unconditionally add -std=c++11 to the
      flags.
      
      This has the dim potential to break some non-GNU-compatible compiler (in
      terms of -std flags) using the makefiles, but those makefiles are
      littered with GNU-style compile flags so it would be very surprising to
      me for it to actually happen in practice. As always, do let me know if
      there is a toolchain you're using where this doesn't work, and I'll be
      watching the bots.
      
      llvm-svn: 202569
      bbae512c
  5. Feb 28, 2014
  6. Feb 09, 2014
  7. Feb 05, 2014
    • Todd Fiala's avatar
      Fix configure to find arc4random via header files. · 4ccfe392
      Todd Fiala authored
      ISSUE:
      
      On Ubuntu 12.04 LTS, arc4random is provided by libbsd.so, which is a
      transitive dependency of libedit. If a system had libedit on it that
      was implemented in terms of libbsd.so, then the arc4random test,
      previously implemented as a linker test, would succeed with -ledit.
      However, on Ubuntu this would also require a #include <bsd/stdlib.h>.
      This caused a build breakage on configure-based Ubuntu 12.04 with
      libedit installed.
      
      FIX:
      
      This fix changes configure to test for arc4random by searching for it
      in the standard header files. On Ubuntu 12.04, this test now properly
      fails to find arc4random as it is not defined in the default header
      locations. It also tweaks the #define names to match the output of the
      header check command, which is slightly different than the linker
      function check #defines.
      
      I tested the following scenarios:
      
      (1) Ubuntu 12.04 without the libedit package [did not find arc4random,
      as expected]
      
      (2) Ubuntu 12.04 with libedit package [properly did not find
      arc4random, as expected]
      
      (3) Ubuntu 12.04 with most recent libedit, custom built, and not
      dependent on libbsd.so [properly did not find arc4random, as
      expected].
      
      (4) FreeBSD 10.0B1 [properly found arc4random, as expected]
      
      llvm-svn: 200819
      4ccfe392
  8. Feb 01, 2014
    • Peter Collingbourne's avatar
      Introduce line editor library. · c7d437c1
      Peter Collingbourne authored
      This library will be used by clang-query. I can imagine LLDB becoming another
      client of this library, so I think LLVM is a sensible place for it to live.
      It wraps libedit, and adds tab completion support.
      
      The code is loosely based on the line editor bits in LLDB, with a few
      improvements:
      
       - Polymorphism for retrieving the list of tab completions, based on
         the concept pattern from the new pass manager.
      
       - Tab completion doesn't corrupt terminal output if the input covers
         multiple lines. Unfortunately this can only be done in a truly horrible
         way, as far as I can tell. But since the alternative is to implement our
         own line editor (which I don't think LLVM should be in the business of
         doing, at least for now) I think it may be acceptable.
      
       - Includes a fallback for the case where the user doesn't have libedit
         installed.
      
      Note that this uses C stdio, mainly because libedit also uses C stdio.
      
      Differential Revision: http://llvm-reviews.chandlerc.com/D2200
      
      llvm-svn: 200595
      c7d437c1
  9. Jan 15, 2014
    • Chandler Carruth's avatar
      Use a heavier hammer when --enable-libcpp is passed to bypass the tests · eba44ea5
      Chandler Carruth authored
      which catch buggy versions of libstdc++. While libc++ would pass them,
      we don't actually update the state in the configure script to use libc++
      when we pass --enable-libcpp, the logic for that is in the
      Makefiles. So just completely skip the library test when that configure
      flag is passed.
      
      Hopefully this will be enough to fix the darwin bots at last, and thanks
      to Duncan Smith for getting things set up so I can watch the bots myself
      on lab.llvm.org and see any failures!
      
      llvm-svn: 199334
      eba44ea5
    • Chandler Carruth's avatar
      Sink the autoconf check for sufficiently modern host toolchain below the · 7206eaef
      Chandler Carruth authored
      enable flag that selects the C++ standard library to use with the host
      toolchain. Otherwise we end up testing the wrong config.
      
      I'm not really happy about this placement, but its pragmatic and should
      unblock the Apple builders.
      
      llvm-svn: 199325
      7206eaef
    • Chandler Carruth's avatar
      Fix a bug in r199313 where I failed to restore CXXFLAGS. Doh! Not · 577322a0
      Chandler Carruth authored
      *quite* ready to just slam C++11 on by default.
      
      llvm-svn: 199314
      577322a0
    • Chandler Carruth's avatar
      Add a check to configure that the libstdc++ selected by Clang isn't · f8c6ccf8
      Chandler Carruth authored
      libstdc++v4.6. This is quite hard to test directly, so we test for it by
      checking a known missing feature in that version that was added in v4.7.
      
      This should prevent users from upgrading Clang but not GCC and hosting
      with a too-old GCC's libstdc++ and getting strange and hard to debug
      errors when we switch to C++11 by default.
      
      Also, switch several of the macros I introduced to use AC_LANG_SOURCE
      rather than AC_LANG_PROGRAM as we don't need configure's help writing
      our main function (and we don't need such a function at all for most of
      the tests).
      
      llvm-svn: 199313
      f8c6ccf8
  10. Jan 14, 2014
  11. Jan 09, 2014
  12. Jan 01, 2014
  13. Nov 20, 2013
  14. Nov 11, 2013
  15. Oct 12, 2013
  16. Oct 07, 2013
  17. Sep 24, 2013
  18. Aug 30, 2013
    • Daniel Dunbar's avatar
      [conf] Add config variable to disable crash related overrides. · eb6c708d
      Daniel Dunbar authored
       - We do some nasty things w.r.t. installing or overriding signal handlers in
         order to improve our crash recovery support or interaction with crash
         reporting software, and those things are not necessarily appropriate when
         LLVM is being linked into a client application that has its own ideas about
         how to do things. This gives those clients a way to disable that handling at
         build time.
      
       - Currently, the code this guards is all Apple specific, but other platforms
         might have the same concerns so I went for a more generic configure
         name. Someone who is more familiar with library embedding on Windows can
         handle choosing which of the Windows/Signals.inc behaviors might make sense
         to go under this flag.
      
       - This also fixes the proper autoconf'ing of ENABLE_BACKTRACES. The code
         expects it to be undefined when disabled, but the autoconf check was just
         defining it to 0.
      
      llvm-svn: 189694
      eb6c708d
  19. Aug 22, 2013
  20. Aug 17, 2013
  21. 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
  22. 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
  23. Aug 03, 2013
  24. Jul 26, 2013
  25. Jul 25, 2013
  26. Jul 08, 2013
  27. Jul 04, 2013
Loading