summaryrefslogtreecommitdiff
path: root/autoconf
Commit message (Collapse)AuthorAge
* Introduce line editor library.Peter Collingbourne2014-01-31
| | | | | | | | | | | | | | | | | | | | | | | | | | | 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 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@200595 91177308-0d34-0410-b5e6-96231b3b80d8
* Use a heavier hammer when --enable-libcpp is passed to bypass the testsChandler Carruth2014-01-15
| | | | | | | | | | | | | | 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! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@199334 91177308-0d34-0410-b5e6-96231b3b80d8
* Sink the autoconf check for sufficiently modern host toolchain below theChandler Carruth2014-01-15
| | | | | | | | | | 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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@199325 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix a bug in r199313 where I failed to restore CXXFLAGS. Doh! NotChandler Carruth2014-01-15
| | | | | | *quite* ready to just slam C++11 on by default. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@199314 91177308-0d34-0410-b5e6-96231b3b80d8
* Add a check to configure that the libstdc++ selected by Clang isn'tChandler Carruth2014-01-15
| | | | | | | | | | | | | | | | 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). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@199313 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove the last weird subproject, 'privbracket'.Chandler Carruth2014-01-14
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@199183 91177308-0d34-0410-b5e6-96231b3b80d8
* Add checks to configure for sufficiently modern host compilers. ThisChandler Carruth2014-01-14
| | | | | | | | | | | requires Clang 3.1 or GCC 4.7. If the compiler isn't Clang or GCC, we don't try to do any sanity checking, but this give us at least a reasonable baseline of modern compilers. Also, I'm not claiming that this is the best way to do compiler version tests. I'm happy for anyone to suggest better ways of doing this test. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@199182 91177308-0d34-0410-b5e6-96231b3b80d8
* Ok, really, for the last time, llvm-gcc is dead Jim.Chandler Carruth2014-01-14
| | | | | | | | | Also, so is stacker, llvm-tv, etc. Wow. But will someone please fess up to what projects/privbracket is and why our autoconf build supports it? git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@199179 91177308-0d34-0410-b5e6-96231b3b80d8
* llvm-gcc is dead. REALLY. IT'S DEAD JIM.Chandler Carruth2014-01-14
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@199178 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove the test for endianness in configure.ac and regenerate.Eric Christopher2014-01-09
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@198825 91177308-0d34-0410-b5e6-96231b3b80d8
* Update the copyright credits -- Happy new year 2014!NAKAMURA Takumi2014-01-01
| | | | | | FIXME: Dragonegg may be updated at non-trivial changes. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@198274 91177308-0d34-0410-b5e6-96231b3b80d8
* Update to reflect the next release.Bill Wendling2013-11-20
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@195235 91177308-0d34-0410-b5e6-96231b3b80d8
* [autoconf] Prune "runtime" stuff in configure, corresponding to r191835.NAKAMURA Takumi2013-11-11
| | | | | | | config.status: executing runtime/Makefile commands autoconf/install-sh: runtime/Makefile does not exist. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@194376 91177308-0d34-0410-b5e6-96231b3b80d8
* Update so that it uses the `-V' command line option and supports Python 3.x.Bill Wendling2013-10-12
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@192527 91177308-0d34-0410-b5e6-96231b3b80d8
* Revert "Revert "Windows: Add support for unicode command lines""David Majnemer2013-10-07
| | | | | | | | This reverts commit r192070 which reverted r192069, I forgot to regenerate the configure scripts. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@192079 91177308-0d34-0410-b5e6-96231b3b80d8
* Revert "Windows: Add support for unicode command lines"David Majnemer2013-10-06
| | | | | | | | This is causing MinGW bots to fail. This reverts commit r192069. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@192070 91177308-0d34-0410-b5e6-96231b3b80d8
* Windows: Add support for unicode command linesDavid Majnemer2013-10-06
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | Summary: The MSVCRT deliberately sends main() code-page specific characters. This isn't too useful to LLVM as we end up converting the arguments to UTF-16 and subsequently attempt to use the result as, for example, a file name. Instead, we need to have the ability to access the Unicode command line and transform it to UTF-8. This has the distinct advantage over using the MSVC-specific wmain() function as our entry point because: - It doesn't work on cygwin. - It only work on MinGW with caveats and only then on certain versions. - We get to keep our entry point as main(). :) N.B. This patch includes fixes to other parts of lib/Support/Windows s.t. we would be able to take advantage of getting the Unicode paths. E.G. clang spawning clang -cc1 would want to give it Unicode arguments. Reviewers: aaron.ballman, Bigcheese, rnk, ruiu Reviewed By: rnk CC: llvm-commits, ygao Differential Revision: http://llvm-reviews.chandlerc.com/D1834 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@192069 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove error output from configure if CFLAGS is set (r174313).Patrik Hagglund2013-09-24
| | | | | | This fixes PR16724. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@191289 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix for executing AutoRegen.sh. Revert a part of r187209.Patrik Hagglund2013-09-13
| | | | | | | | | | | | | | | | | Since r187209, which modified ltdl.m4, I was unable to execute AutoRegen.sh, getting: ../configure:10779: error: possibly undefined macro: AC_LTDL_FUNC_ARGZ This commit re-adds AC_LTDL_FUNC_ARGZ to ltdl.m4, as a quick fix. For me, this corresponds to the configure file currently checked in. (However, the ltdl library seems to be unused since r74924 in 2009, except for the use of the LTDL_SHLIB_EXT macro in bugpoint(?). Therefore, the right solution seems to try to get rid of the local ltdl.m4 file, specified by autoconf/README.TXT.) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@190677 91177308-0d34-0410-b5e6-96231b3b80d8
* [conf] Add config variable to disable crash related overrides.Daniel Dunbar2013-08-30
| | | | | | | | | | | | | | | | | | | | | - 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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@189694 91177308-0d34-0410-b5e6-96231b3b80d8
* Autoconf: The Clang ARC migrator now depends on the static analyzer.Jordan Rose2013-08-22
| | | | | | | | | I don't actually have a version of autoconf so I edited configure directly as well. It's copy-pasted so I think there was little margin for error. See also Clang-side dependency graph changes. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@189026 91177308-0d34-0410-b5e6-96231b3b80d8
* Recognize NetBSD's terminfo implementation.Joerg Sonnenberger2013-08-17
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@188606 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove all checking for the various terminfo headers (term.h andChandler Carruth2013-08-12
| | | | | | | | | | | | | | | | 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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@188165 91177308-0d34-0410-b5e6-96231b3b80d8
* Target a minimal terminfo library rather than necessarily a full cursesChandler Carruth2013-08-12
| | | | | | | | | | | | | | | | | | | | 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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@188160 91177308-0d34-0410-b5e6-96231b3b80d8
* Add support for linking against a curses library when available andChandler Carruth2013-08-07
| | | | | | | | | | | | | | | | | | | | | | | | | | | 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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@187874 91177308-0d34-0410-b5e6-96231b3b80d8
* Link with -rdynamic instead of -Wl,-export-dynamic.Bob Wilson2013-08-02
| | | | | | | | | | | | | | | Recent versions of the OS X linker support this but follow the existing OS X linker convention of using an underscore in the option name, i.e., -export_dynamic. Rather than changing our configure scripts to check for that alternate spelling, it is simpler to just use the compiler's -rdynamic option and let it deal with translating that to the appropriate linker option. One potential disadvantage of this approach is that the compiler will typically ignore -rdynamic on platforms where it is not supported, so the HAVE_LINK_EXPORT_DYNAMIC in config.h will not necessarily show whether that option has any effect or not. I don't see any in-tree uses of that macro, so I'm assuming it is OK. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@187686 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove dead or useless header checks from cmake and autoconfReid Kleckner2013-07-26
| | | | | | | | | | 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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@187209 91177308-0d34-0410-b5e6-96231b3b80d8
* [PowerPC] Support powerpc64le as a syntax-checking target.Bill Schmidt2013-07-26
| | | | | | | | | | | | | | | | | | | | | | | | This patch provides basic support for powerpc64le as an LLVM target. However, use of this target will not actually generate little-endian code. Instead, use of the target will cause the correct little-endian built-in defines to be generated, so that code that tests for __LITTLE_ENDIAN__, for example, will be correctly parsed for syntax-only testing. Code generation will otherwise be the same as powerpc64 (big-endian), for now. The patch leaves open the possibility of creating a little-endian PowerPC64 back end, but there is no immediate intent to create such a thing. The LLVM portions of this patch simply add ppc64le coverage everywhere that ppc64 coverage currently exists. There is nothing of any import worth testing until such time as little-endian code generation is implemented. In the corresponding Clang patch, there is a new test case variant to ensure that correct built-in defines for little-endian code are generated. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@187179 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove the mblaze backend from llvm.Rafael Espindola2013-07-25
| | | | | | Approval in here http://lists.cs.uiuc.edu/pipermail/llvmdev/2013-July/064169.html git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@187145 91177308-0d34-0410-b5e6-96231b3b80d8
* No ',' between programs.Eric Christopher2013-07-08
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@185867 91177308-0d34-0410-b5e6-96231b3b80d8
* Find xdot or xdot.py.Matt Arsenault2013-07-08
| | | | | | Ubuntu installs this as xdot, so finding xdot.py would fail. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@185860 91177308-0d34-0410-b5e6-96231b3b80d8
* Reapply r185601 with a fix for the cmake build.Eric Christopher2013-07-04
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@185605 91177308-0d34-0410-b5e6-96231b3b80d8
* Temporarily revert 185601 as it caused cmake build regressions.Eric Christopher2013-07-04
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@185603 91177308-0d34-0410-b5e6-96231b3b80d8
* Add support for futimens for platforms that don't support futimes.Eric Christopher2013-07-04
| | | | | | Patch by pashev.igor. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@185601 91177308-0d34-0410-b5e6-96231b3b80d8
* The build system is currently miss-identifying GNU/kFreeBSD as FreeBSD.Sylvestre Ledru2013-07-01
| | | | | | | | | | | | | | | | | | | This kind of simplification is sometimes useful, but in general it's not correct. As GNU/kFreeBSD is an hybrid system, for kernel-related issues we want to match the build definitions used for FreeBSD, whereas for userland-related issues we want to match the definitions used for other systems with Glibc. The current modification adjusts the build system so that they can be distinguished, and explicitly adds GNU/kFreeBSD to the build checks in which it belongs. Fixes bug #16444. Patch by Robert Millan in the context of Debian. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@185311 91177308-0d34-0410-b5e6-96231b3b80d8
* Add an autoconf option for turning on -gsplit-dwarf by defaultEric Christopher2013-06-25
| | | | | | | | | | | | | when building llvm. This saves quite a bit of time and space when linking. Please report any problems via bugzilla. Caveats: a) This will only work on linux b) This requires a fairly new binutils c) This requires a fairly new gdb git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@184808 91177308-0d34-0410-b5e6-96231b3b80d8
* Don't define LTDL_SHLIBPATH_VAR.Rafael Espindola2013-06-11
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@183771 91177308-0d34-0410-b5e6-96231b3b80d8
* Don't define LLVM_LIBDIR, it is not used anymore.Rafael Espindola2013-06-11
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@183769 91177308-0d34-0410-b5e6-96231b3b80d8
* Make R600 non-experimental.Rafael Espindola2013-05-22
| | | | | | | The r600 backend has been in tree for some time now. Marking it as non-experimental to avoid accidental breakage. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@182442 91177308-0d34-0410-b5e6-96231b3b80d8
* We're in 3.4 land now.Bill Wendling2013-05-07
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@181350 91177308-0d34-0410-b5e6-96231b3b80d8
* [SystemZ] Add to --enable-targets=allUlrich Weigand2013-05-06
| | | | | | | | | | | This patch finally enables the SystemZ target in the default build (with --enable-targets=all). Patch by Richard Sandiford. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@181209 91177308-0d34-0410-b5e6-96231b3b80d8
* [SystemZ] Add configure bitsUlrich Weigand2013-05-06
| | | | | | | | | | | | 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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@181208 91177308-0d34-0410-b5e6-96231b3b80d8
* Allow host triple to be correctly overridden in CMake buildsTim Northover2013-05-04
| | | | | | | | | | | The intended semantics mirror autoconf, where the user is able to specify a host triple, but if it's left to the build system then "config.guess" is invoked for the default. This also renames the LLVM_HOSTTRIPLE define to LLVM_HOST_TRIPLE to fit in with the style of the surrounding defines. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@181112 91177308-0d34-0410-b5e6-96231b3b80d8
* Autoconf: Compile cxxabi.h in C++ mode.Benjamin Kramer2013-05-03
| | | | | | Should fix PR15877. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@181026 91177308-0d34-0410-b5e6-96231b3b80d8
* Only use cxxabi.h's demangler, if it is actually available.Joerg Sonnenberger2013-04-27
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@180684 91177308-0d34-0410-b5e6-96231b3b80d8
* Add basic zlib support to LLVM. This would allow to use ↵Alexey Samsonov2013-04-23
| | | | | | compression/uncompression in selected LLVM tools. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@180083 91177308-0d34-0410-b5e6-96231b3b80d8
* Add AArch64 into $llvm_cv_target_arch in configure, reviewed by Tim ↵Jia Liu2013-04-22
| | | | | | Northover & Eric Christopher git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@180025 91177308-0d34-0410-b5e6-96231b3b80d8
* Refine fenv.h handling: check if the desired macros exist, before usingJoerg Sonnenberger2013-03-25
| | | | | | | | it. NetBSD/ARM and TILE-Gx are examples for platforms that have an unusable fenv.h and this avoids the need for a blacklist. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@177865 91177308-0d34-0410-b5e6-96231b3b80d8
* Turn anonymous type in anonymous union warning back on after cleaning upEric Christopher2013-03-15
| | | | | | issues. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@177136 91177308-0d34-0410-b5e6-96231b3b80d8
* configure: remove workaround for gcc's -Wno-maybe-uninitializedDmitri Gribenko2013-02-13
| | | | | | | | Since r174770 gcc version check is not needed because CXX_FLAG_CHECK implements the workaround itself. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175080 91177308-0d34-0410-b5e6-96231b3b80d8