summaryrefslogtreecommitdiffstats
path: root/llvm/configure
Commit message (Collapse)AuthorAgeFilesLines
* [C++11] Replace autoconf --enable-cxx11 with --enable-cxx1y. TheChandler Carruth2014-03-011-11/+11
| | | | | | | | | | | | | | 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
* [C++11] Switch autoconf and make to use C++11 by default. Now both buildChandler Carruth2014-02-281-2/+2
| | | | | | | | | | systems have the default as C++11, but retain the ability to build with C++98. Again, please restrain your enthusiasm a bit in case this needs to be reverted. =] llvm-svn: 202546
* Drop libtool from llvm.Rafael Espindola2014-02-281-3301/+56
| | | | | | | We were only using it so find the shared library extension and nm. There are simpler ways to do those things :-) llvm-svn: 202524
* With rpaths being set correctly, SHLIBPATH_VAR is not needed anymore.Rafael Espindola2014-02-281-8/+3
| | | | llvm-svn: 202510
* Add version, arch, system libs, and targets to Makefile.configNAKAMURA Takumi2014-02-091-14/+62
| | | | | | | | | | Teach autoconf/configure.ac to AC_SUBST several additional values in Makefile.config to make them available to Makefile code. These will be useful to generate CMake package modules from the Makefile build. Contributed by Brad King. llvm-svn: 201052
* Fix configure to find arc4random via header files.Todd Fiala2014-02-051-2/+88
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Introduce line editor library.Peter Collingbourne2014-01-311-1/+122
| | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Use a heavier hammer when --enable-libcpp is passed to bypass the testsChandler Carruth2014-01-151-7/+9
| | | | | | | | | | | | | | 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
* Sink the autoconf check for sufficiently modern host toolchain below theChandler Carruth2014-01-151-260/+260
| | | | | | | | | | 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
* Fix a bug in r199313 where I failed to restore CXXFLAGS. Doh! NotChandler Carruth2014-01-151-1/+2
| | | | | | *quite* ready to just slam C++11 on by default. llvm-svn: 199314
* Add a check to configure that the libstdc++ selected by Clang isn'tChandler Carruth2014-01-151-33/+87
| | | | | | | | | | | | | | | | 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
* Remove the last weird subproject, 'privbracket'.Chandler Carruth2014-01-141-4/+1
| | | | llvm-svn: 199183
* Add checks to configure for sufficiently modern host compilers. ThisChandler Carruth2014-01-141-1/+332
| | | | | | | | | | | 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. llvm-svn: 199182
* Ok, really, for the last time, llvm-gcc is dead Jim.Chandler Carruth2014-01-141-24/+2
| | | | | | | | | 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? llvm-svn: 199179
* llvm-gcc is dead. REALLY. IT'S DEAD JIM.Chandler Carruth2014-01-141-4/+4
| | | | llvm-svn: 199178
* Remove the test for endianness in configure.ac and regenerate.Eric Christopher2014-01-091-740/+457
| | | | llvm-svn: 198825
* Update the copyright credits -- Happy new year 2014!NAKAMURA Takumi2014-01-011-3/+3
| | | | | FIXME: Dragonegg may be updated at non-trivial changes. llvm-svn: 198274
* Update to reflect the next release.Bill Wendling2013-11-201-17/+13
| | | | llvm-svn: 195235
* [autoconf] Prune "runtime" stuff in configure, corresponding to r191835.NAKAMURA Takumi2013-11-111-6/+0
| | | | | | | config.status: executing runtime/Makefile commands autoconf/install-sh: runtime/Makefile does not exist. llvm-svn: 194376
* Update so that it uses the `-V' command line option and supports Python 3.x.Bill Wendling2013-10-121-3/+4
| | | | llvm-svn: 192527
* Revert "Revert "Windows: Add support for unicode command lines""David Majnemer2013-10-071-0/+81
| | | | | | | This reverts commit r192070 which reverted r192069, I forgot to regenerate the configure scripts. llvm-svn: 192079
* Remove error output from configure if CFLAGS is set (r174313).Patrik Hagglund2013-09-241-2/+2
| | | | | | This fixes PR16724. llvm-svn: 191289
* [conf] Add config variable to disable crash related overrides.Daniel Dunbar2013-08-301-20/+37
| | | | | | | | | | | | | | | | | | | | | - 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
* configure: Regenerate corresponding to r189026.NAKAMURA Takumi2013-08-221-1/+2
| | | | llvm-svn: 189031
* Autoconf: The Clang ARC migrator now depends on the static analyzer.Jordan Rose2013-08-221-2/+8
| | | | | | | | | 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. llvm-svn: 189026
* Recognize NetBSD's terminfo implementation.Joerg Sonnenberger2013-08-171-1/+1
| | | | llvm-svn: 188606
* Remove all checking for the various terminfo headers (term.h andChandler Carruth2013-08-121-177/+0
| | | | | | | | | | | | | | | | 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
* Target a minimal terminfo library rather than necessarily a full cursesChandler Carruth2013-08-121-27/+28
| | | | | | | | | | | | | | | | | | | | 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
* Add support for linking against a curses library when available andChandler Carruth2013-08-071-1/+299
| | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Regenerate with changes for -rdynamic.Bob Wilson2013-08-021-4/+4
| | | | llvm-svn: 187687
* Regenerate.Eric Christopher2013-07-261-632/+6
| | | | llvm-svn: 187217
* Remove the mblaze backend from llvm.Rafael Espindola2013-07-251-8/+2
| | | | | | Approval in here http://lists.cs.uiuc.edu/pipermail/llvmdev/2013-July/064169.html llvm-svn: 187145
* No ',' between programs.Eric Christopher2013-07-081-1/+1
| | | | llvm-svn: 185867
* Find xdot or xdot.py.Matt Arsenault2013-07-081-18/+23
| | | | | | Ubuntu installs this as xdot, so finding xdot.py would fail. llvm-svn: 185860
* Reapply r185601 with a fix for the cmake build.Eric Christopher2013-07-041-1/+112
| | | | llvm-svn: 185605
* Temporarily revert 185601 as it caused cmake build regressions.Eric Christopher2013-07-041-112/+1
| | | | llvm-svn: 185603
* Add support for futimens for platforms that don't support futimes.Eric Christopher2013-07-041-1/+112
| | | | | | Patch by pashev.igor. llvm-svn: 185601
* The build system is currently miss-identifying GNU/kFreeBSD as FreeBSD.Sylvestre Ledru2013-07-011-2/+9
| | | | | | | | | | | | | | | | | 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. llvm-svn: 185311
* Add an autoconf option for turning on -gsplit-dwarf by defaultEric Christopher2013-06-251-4/+26
| | | | | | | | | | | | | 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 llvm-svn: 184808
* Don't define LTDL_SHLIBPATH_VAR.Rafael Espindola2013-06-111-20/+1
| | | | llvm-svn: 183771
* Don't define LLVM_LIBDIR, it is not used anymore.Rafael Espindola2013-06-111-13/+4
| | | | llvm-svn: 183769
* Make R600 non-experimental.Rafael Espindola2013-05-221-3/+5
| | | | | | | The r600 backend has been in tree for some time now. Marking it as non-experimental to avoid accidental breakage. llvm-svn: 182442
* Regenerate configure.Rafael Espindola2013-05-211-1/+1
| | | | llvm-svn: 182401
* We're in 3.4 land now.Bill Wendling2013-05-071-9/+9
| | | | llvm-svn: 181350
* [SystemZ] Add to --enable-targets=allUlrich Weigand2013-05-061-1/+1
| | | | | | | | | This patch finally enables the SystemZ target in the default build (with --enable-targets=all). Patch by Richard Sandiford. llvm-svn: 181209
* [SystemZ] Add configure bitsUlrich Weigand2013-05-061-2/+8
| | | | | | | | | | 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
* Allow host triple to be correctly overridden in CMake buildsTim Northover2013-05-041-1/+1
| | | | | | | | | | | 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. llvm-svn: 181112
* Autoconf: Compile cxxabi.h in C++ mode.Benjamin Kramer2013-05-031-5/+444
| | | | | | Should fix PR15877. llvm-svn: 181026
* Regen.Eric Christopher2013-04-271-0/+1
| | | | llvm-svn: 180685
* Only use cxxabi.h's demangler, if it is actually available.Joerg Sonnenberger2013-04-271-1/+1
| | | | llvm-svn: 180684
OpenPOWER on IntegriCloud